diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2021-04-17 21:30:43 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2021-04-17 21:30:43 +0100 |
commit | 6ef32f28e35c0ab7cf58ad7d11a9530f6447aa7e (patch) | |
tree | cd2700aec60027fbd1c845467c6bd7f59a92b57d /net-ftp | |
parent | gnome-base/gsettings-desktop-schemas: use ${EPYTHON}, not python3 (diff) | |
download | gentoo-6ef32f28e35c0ab7cf58ad7d11a9530f6447aa7e.tar.gz gentoo-6ef32f28e35c0ab7cf58ad7d11a9530f6447aa7e.tar.bz2 gentoo-6ef32f28e35c0ab7cf58ad7d11a9530f6447aa7e.zip |
net-ftp/proftpd: backport USE=-ncurses fix
Reported-by: Toralf Förster
Closes: https://bugs.gentoo.org/777531
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'net-ftp')
-rw-r--r-- | net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch | 269 | ||||
-rw-r--r-- | net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild | 1 |
2 files changed, 270 insertions, 0 deletions
diff --git a/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch b/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch new file mode 100644 index 000000000000..be18a9954590 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch @@ -0,0 +1,269 @@ +https://github.com/proftpd/proftpd/commit/8fc570bc13e771d3ecafe53ab94ada0be2b6646a +https://bugs.gentoo.org/777531 + +From 8fc570bc13e771d3ecafe53ab94ada0be2b6646a Mon Sep 17 00:00:00 2001 +From: TJ Saunders <tj@castaglia.org> +Date: Tue, 23 Mar 2021 19:50:49 -0700 +Subject: [PATCH] Issue #1207: Properly honor the `--disable-curses`, + `--disable-ncurses` configure options. + +--- + configure | 156 +++++++++++++++++++++++++++++++++++++++++++++++---- + configure.in | 39 +++++++++---- + 2 files changed, 172 insertions(+), 23 deletions(-) + +diff --git a/configure b/configure +index 86cf1360e..59df363fa 100755 +--- a/configure ++++ b/configure +@@ -22970,7 +22970,7 @@ $as_echo "#define SETGRENT_VOID 1" >>confdefs.h + fi + + +-if test x"$ac_cv_header_curses_h" = xyes; then ++if test x"$enable_curses" != xno ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcurses" >&5 + $as_echo_n "checking for initscr in -lcurses... " >&6; } + if ${ac_cv_lib_curses_initscr+:} false; then : +@@ -23013,12 +23013,154 @@ if test "x$ac_cv_lib_curses_initscr" = xyes; then : + $as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h + + ++$as_echo "#define PR_USE_CURSES 1" >>confdefs.h ++ ++ + fi + ++ ++ if test x"$enable_nls" = xyes ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfow" >&5 ++$as_echo_n "checking for halfdelay in -ltinfow... " >&6; } ++if ${ac_cv_lib_tinfow_halfdelay+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltinfow $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char halfdelay (); ++int ++main () ++{ ++return halfdelay (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_tinfow_halfdelay=yes ++else ++ ac_cv_lib_tinfow_halfdelay=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS + fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfow_halfdelay" >&5 ++$as_echo "$ac_cv_lib_tinfow_halfdelay" >&6; } ++if test "x$ac_cv_lib_tinfow_halfdelay" = xyes; then : ++ UTILS_LIBS="$UTILS_LIBS -ltinfow" ++ ++$as_echo "#define HAVE_LIBTINFOW 1" >>confdefs.h ++ ++ ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo" >&5 ++$as_echo_n "checking for halfdelay in -ltinfo... " >&6; } ++if ${ac_cv_lib_tinfo_halfdelay+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltinfo $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char halfdelay (); ++int ++main () ++{ ++return halfdelay (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_tinfo_halfdelay=yes ++else ++ ac_cv_lib_tinfo_halfdelay=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_halfdelay" >&5 ++$as_echo "$ac_cv_lib_tinfo_halfdelay" >&6; } ++if test "x$ac_cv_lib_tinfo_halfdelay" = xyes; then : ++ UTILS_LIBS="$UTILS_LIBS -ltinfo" ++ ++$as_echo "#define HAVE_LIBTINFO 1" >>confdefs.h ++ ++ ++fi ++ ++ ++fi ++ ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo" >&5 ++$as_echo_n "checking for halfdelay in -ltinfo... " >&6; } ++if ${ac_cv_lib_tinfo_halfdelay+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltinfo $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char halfdelay (); ++int ++main () ++{ ++return halfdelay (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_tinfo_halfdelay=yes ++else ++ ac_cv_lib_tinfo_halfdelay=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_halfdelay" >&5 ++$as_echo "$ac_cv_lib_tinfo_halfdelay" >&6; } ++if test "x$ac_cv_lib_tinfo_halfdelay" = xyes; then : ++ UTILS_LIBS="$UTILS_LIBS -ltinfo" ++ ++$as_echo "#define HAVE_LIBTINFO 1" >>confdefs.h ++ ++ ++fi ++ ++ fi ++fi ++ ++if test x"$enable_ncurses" != xno ; then ++ pr_have_ncursesw="no" + +-pr_have_ncursesw="no" +-if test x"$ac_cv_header_ncurses_h" = xyes; then + + if test x"$enable_nls" = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 +@@ -23160,15 +23302,7 @@ $as_echo "#define HAVE_LIBNCURSES 1" >>confdefs.h + fi + + fi +-fi + +-if test x"$enable_curses" != xno ; then +- +-$as_echo "#define PR_USE_CURSES 1" >>confdefs.h +- +-fi +- +-if test x"$enable_ncurses" != xno ; then + + if test x"$pr_have_ncursesw" = xyes ; then + +diff --git a/configure.in b/configure.in +index 4bd0f7c19..01ec7863e 100644 +--- a/configure.in ++++ b/configure.in +@@ -2749,17 +2749,38 @@ fi + dnl Custom-rolled macro for checking return type of setgrent(3) + PR_FUNC_SETGRENT_VOID + +-dnl Perform checks for curses/ncurses libraries only if the corresponding +-dnl headers have been found. +-if test x"$ac_cv_header_curses_h" = xyes; then ++if test x"$enable_curses" != xno ; then + AC_CHECK_LIB(curses, initscr, + [ CURSES_LIBS="-lcurses" + AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have curses]) ++ AC_DEFINE(PR_USE_CURSES, 1, [Define if using curses support]) + ]) ++ ++ dnl Check for the libtinfo library, which contains the stdscr symbol, ++ dnl halfdelay curses function on some systems (e.g. Gentoo); see ++ dnl Issue #1207. Note that on some systems, this may need to be libtinfow ++ dnl instead. ++ if test x"$enable_nls" = xyes ; then ++ AC_CHECK_LIB(tinfow, halfdelay, ++ [ UTILS_LIBS="$UTILS_LIBS -ltinfow" ++ AC_DEFINE(HAVE_LIBTINFOW, 1, [Define if you have libtinfow]) ++ ], ++ [ AC_CHECK_LIB(tinfo, halfdelay, ++ [ UTILS_LIBS="$UTILS_LIBS -ltinfo" ++ AC_DEFINE(HAVE_LIBTINFO, 1, [Define if you have libtinfo]) ++ ]) ++ ]) ++ else ++ AC_CHECK_LIB(tinfo, halfdelay, ++ [ UTILS_LIBS="$UTILS_LIBS -ltinfo" ++ AC_DEFINE(HAVE_LIBTINFO, 1, [Define if you have libtinfo]) ++ ]) ++ fi + fi + +-pr_have_ncursesw="no" +-if test x"$ac_cv_header_ncurses_h" = xyes; then ++if test x"$enable_ncurses" != xno ; then ++ pr_have_ncursesw="no" ++ + dnl If NLS support has been enabled, then check for the locale-sensitive + dnl libncursesw library first; if not found, or if no NLS support, then + dnl check for libncurses. +@@ -2776,19 +2797,13 @@ if test x"$ac_cv_header_ncurses_h" = xyes; then + ]) + ]) + +- else ++ else + AC_CHECK_LIB(ncurses, initscr, + [ CURSES_LIBS="-lncurses" + AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have ncurses]) + ]) + fi +-fi +- +-if test x"$enable_curses" != xno ; then +- AC_DEFINE(PR_USE_CURSES, 1, [Define if using curses support]) +-fi + +-if test x"$enable_ncurses" != xno ; then + dnl Check for the libtinfo library, which contains the halfdelay() curses + dnl function on some systems (e.g. OpenSuSE); see Bug#3718. Note that on + dnl some systems, this may need to be libtinfow instead; see Issue #1174. diff --git a/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild b/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild index 17be3df4415b..7ee4c7d73266 100644 --- a/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild +++ b/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild @@ -71,6 +71,7 @@ S="${WORKDIR}/${P/_/}" PATCHES=( "${FILESDIR}"/${PN}-1.3.6-use-trace.patch "${FILESDIR}"/${P}-tinfow-segv.patch + "${FILESDIR}"/${P}-no-ncurses.patch ) RESTRICT=test # Some tests are ran in chroot. Confuse sandbox. |