diff options
author | peter <peter@FreeBSD.org> | 2003-01-12 07:45:20 +0800 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-01-12 07:45:20 +0800 |
commit | f437c815c33a935f1c225097286b7d30d6fced40 (patch) | |
tree | 62d70ee19c258f152b6717b3a815de3860c1a3b4 | |
parent | 0a3c1b6304663615b60d9424c673e8bb5476a7d1 (diff) | |
download | freebsd-ports-graphics-f437c815c33a935f1c225097286b7d30d6fced40.tar.gz freebsd-ports-graphics-f437c815c33a935f1c225097286b7d30d6fced40.tar.zst freebsd-ports-graphics-f437c815c33a935f1c225097286b7d30d6fced40.zip |
Make zsh not segfault on ia64 due to a generic misconfiguration that
just happens to be fatal there, and a coding botch. The first problem is
that it assumes a termcap interface (which is an emulation on freebsd),
and provides its own terminfo wrappers around termcap.. so that's two
avoidable translation layers... termcap file -> terminfo (libncurses) ->
termcap API emulation (libncurses) -> terminfo (zsh emlulation). zsh
forgot to prototype the tiget* functions (which return pointers) so we
have an integer (implicit declaration) being cast to a pointer which
is fatal. The second problem is that zsh tries to use _mktemp() to get
around the __warn_references in our C library, but also neglects a
prototype there and has the same fatal int/pointer problem.
It is likely all the zsh* ports need these fixes. A test compile on
pluto1.freebsd.org will highlight the problem.
I do not know why the packaging fails for ia64. termcap.so and
terminfo.so are not being built for some reason, this change doesn't
solve that problem.
-rw-r--r-- | shells/zsh/Makefile | 2 | ||||
-rw-r--r-- | shells/zsh/files/patch-Src::utils.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile index 241ae461623..62778c2df5d 100644 --- a/shells/zsh/Makefile +++ b/shells/zsh/Makefile @@ -32,7 +32,7 @@ ZSH_VER= ${PORTVERSION} ZSHFUNC_SUBDIR= share/zsh/${ZSH_VER}/functions GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-zsh-mem --enable-zsh-secure-free --enable-dynamic \ - --enable-maildir-support + --enable-maildir-support --with-curses-terminfo .if !defined(NOPORTDOCS) INSTALL_TARGET= install install.html diff --git a/shells/zsh/files/patch-Src::utils.c b/shells/zsh/files/patch-Src::utils.c new file mode 100644 index 00000000000..189d6392231 --- /dev/null +++ b/shells/zsh/files/patch-Src::utils.c @@ -0,0 +1,8 @@ +--- Src/utils.c.orig Wed Dec 4 19:39:01 2002 ++++ Src/utils.c Wed Dec 4 19:39:18 2002 +@@ -1093,4 +1093,5 @@ + * is unique, for use as a temporary file. */ + ++extern char *_mktemp(char *); + /**/ + mod_export char * |