diff options
author | Peter Wemm <peter@FreeBSD.org> | 2003-01-11 23:45:20 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2003-01-11 23:45:20 +0000 |
commit | ec2320a569b9f09303abfa7f1235ce572a994189 (patch) | |
tree | b63710bc4bae6b66aded9ccb23b53b38f44071d7 /shells/zsh | |
parent | Use cdparanoia as default ripper in audio/abcde (diff) |
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.
Notes
Notes:
svn path=/head/; revision=72926
Diffstat (limited to 'shells/zsh')
-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 241ae461623d..62778c2df5de 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 000000000000..189d6392231c --- /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 * |