An additional patch is required to build zsh on FreeBSD releases with

the old ncurses (6.2 and older).
This commit is contained in:
Dag-Erling Smørgrav 2008-05-06 09:14:15 +00:00
parent 89041b6b2c
commit ffbc104093
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=212718
2 changed files with 64 additions and 1 deletions

View file

@ -73,6 +73,11 @@ SHELLS= /etc/shells
.include <bsd.port.pre.mk> .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) .if defined(WITH_ZSH_PCRE)
CONFIGURE_ARGS+= --enable-pcre CONFIGURE_ARGS+= --enable-pcre
LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre
@ -104,7 +109,7 @@ CONFIGURE_ARGS+= --enable-multibyte
.endif .endif
.if ${OSVERSION} >= 503000 .if ${OSVERSION} >= 503000
EXTRA_PATCHES= ${FILESDIR}/extra-patch-bsdtar EXTRA_PATCHES+= ${FILESDIR}/extra-patch-bsdtar
.endif .endif
post-patch: post-patch:

View file

@ -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