aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2008-05-06 17:14:15 +0800
committerdes <des@FreeBSD.org>2008-05-06 17:14:15 +0800
commit9926e98df9d754169ced33cba0b9b7d76c0c3432 (patch)
treebc3339c419d60364adb916093a9f1240033081eb
parent50bfb479937f9395060d053c2477d4400b954b40 (diff)
downloadfreebsd-ports-gnome-9926e98df9d754169ced33cba0b9b7d76c0c3432.tar.gz
freebsd-ports-gnome-9926e98df9d754169ced33cba0b9b7d76c0c3432.tar.zst
freebsd-ports-gnome-9926e98df9d754169ced33cba0b9b7d76c0c3432.zip
An additional patch is required to build zsh on FreeBSD releases with
the old ncurses (6.2 and older).
-rw-r--r--shells/zsh/Makefile7
-rw-r--r--shells/zsh/files/extra-patch-ncurses58
2 files changed, 64 insertions, 1 deletions
diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile
index 6b6ae0cd2cdd..7172e8c95c7f 100644
--- a/shells/zsh/Makefile
+++ b/shells/zsh/Makefile
@@ -73,6 +73,11 @@ SHELLS= /etc/shells
.include <bsd.port.pre.mk>
+.if ${OSVERSION} < 602107
+# also needed for early versions of 7.0-CURRENT, but we don't care
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ncurses
+.endif
+
.if defined(WITH_ZSH_PCRE)
CONFIGURE_ARGS+= --enable-pcre
LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre
@@ -104,7 +109,7 @@ CONFIGURE_ARGS+= --enable-multibyte
.endif
.if ${OSVERSION} >= 503000
-EXTRA_PATCHES= ${FILESDIR}/extra-patch-bsdtar
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-bsdtar
.endif
post-patch:
diff --git a/shells/zsh/files/extra-patch-ncurses b/shells/zsh/files/extra-patch-ncurses
new file mode 100644
index 000000000000..f0a1bc2c7f28
--- /dev/null
+++ b/shells/zsh/files/extra-patch-ncurses
@@ -0,0 +1,58 @@
+--- configure.ac.orig 2008-03-28 12:49:32.000000000 +0100
++++ configure.ac 2008-05-05 09:47:30.860369561 +0200
+@@ -669,20 +669,20 @@
+ termcap_curses_order="$ncursesw_test tinfo termcap $ncurses_test curses" ;;
+ esac])dnl
+
+-AH_TEMPLATE([ZSH_CURSES_NEEDS_XOPEN],
+-[Define if the curses libraries need _XOPEN_SOURCE_EXTENDED defined])
+-AC_CACHE_CHECK(if the curses library needs _XOPEN_SOURCE_EXTENDED,
+-zsh_cv_curses_needs_xopen,
++AH_TEMPLATE([ZSH_NO_XOPEN],
++[Define if _XOPEN_SOURCE_EXTENDED should not be defined to avoid clashes])
++AC_CACHE_CHECK(if _XOPEN_SOURCE_EXTENDED should not be defined,
++zsh_cv_no_xopen,
+ [case "$host_os" in
+- *openbsd*)
+- zsh_cv_curses_needs_xopen=no
++ *openbsd*|*freebsd*)
++ zsh_cv_no_xopen=yes
+ ;;
+ *)
+- zsh_cv_curses_needs_xopen=yes
++ zsh_cv_no_xopen=no
+ ;;
+ esac])
+-if test x$zsh_cv_curses_needs_xopen = xyes; then
+- AC_DEFINE(ZSH_CURSES_NEEDS_XOPEN)
++if test x$zsh_cv_no_xopen = xyes; then
++ AC_DEFINE(ZSH_NO_XOPEN)
+ fi
+
+ dnl Check for tigetflag (terminfo) before tgetent (termcap).
+--- Src/system.h.orig 2007-12-14 13:43:33.000000000 +0100
++++ Src/system.h 2008-05-05 09:50:17.333164563 +0200
+@@ -52,9 +52,20 @@
+ # undef HAVE_SYS_UTSNAME_H
+ #endif
+
+-#if defined(ZSH_CURSES_SOURCE) && defined(ZSH_CURSES_NEEDS_XOPEN)
+-#define _XOPEN_SOURCE_EXTENDED 1
+-#endif
++#ifndef ZSH_NO_XOPEN
++# ifdef ZSH_CURSES_SOURCE
++# define _XOPEN_SOURCE_EXTENDED 1
++# else
++# ifdef MULTIBYTE_SUPPORT
++/*
++ * Needed for wcwidth() which is part of XSI.
++ * Various other uses of the interface mean we can't get away with just
++ * _XOPEN_SOURCE.
++ */
++# define _XOPEN_SOURCE_EXTENDED 1
++# endif /* MULTIBYTE_SUPPORT */
++# endif /* ZSH_CURSES_SOURCE */
++#endif /* ZSH_NO_XOPEN */
+
+ /*
+ * Solaris by default zeroes all elements of the tm structure in