diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-libs/ncurses |
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-libs/ncurses')
-rw-r--r-- | sys-libs/ncurses/Manifest | 19 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.7-nongnu.patch | 11 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.8-gfbsd.patch | 24 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-fix-clang-build.patch | 44 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch | 46 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch | 45 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-pkg-config.patch | 26 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-rxvt-unicode-9.15.patch | 191 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch | 35 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch | 24 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-pkg-config.patch | 14 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-rxvt-unicode-9.15.patch | 191 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-ticlib.patch | 15 | ||||
-rw-r--r-- | sys-libs/ncurses/metadata.xml | 17 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r101.ebuild | 201 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-6.0-r1.ebuild | 289 |
16 files changed, 1192 insertions, 0 deletions
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest new file mode 100644 index 000000000000..879da35c871a --- /dev/null +++ b/sys-libs/ncurses/Manifest @@ -0,0 +1,19 @@ +AUX ncurses-5.7-nongnu.patch 361 SHA256 7efcf3daf57d73e348bea1ea7ee77071aef5338631958fd0db595a011570cec4 SHA512 818a3ac1c68c1a11f23471195a32793c5546c5b37a724989cc58f3fad50fd3c8608762efc5d72e986f3c77ccdfbb72f27224f64ef415a96d71924a9f1d3b1b5f WHIRLPOOL a93e22415092ab51f769e42586813c8fed5b502e1dd86d09844f524876ac025ca81399dde483478087bb6241214f85c29a27f8b4ccadc2aec37be99dc7d6da1b +AUX ncurses-5.8-gfbsd.patch 695 SHA256 68c405dcd1b2bbad1d4880d906ba9e02ad62691c63edfb363ad767ee01079e82 SHA512 d4c375107415b7eaf5f8e04b697ef16998855b5f1d745766a14a7e9523d12b24d0841e6559217eccf62535f54e0d240eabaa3da1571964f1bb150b0c0cd102a2 WHIRLPOOL 6c2f865bc22a3932f6f973f7b53c5a50254505c4944c656af95c2399933c31acc5d5536d59fe9fe7c59ef537ce0d39ca19c9d0558e4aaacb7122749a575cadac +AUX ncurses-5.9-fix-clang-build.patch 1291 SHA256 0ffec4dbc7dc4a2356460c2a001b6ffbd8b060ae0afbdf3551a13575c20830d0 SHA512 d911441e2e2e2a752236f1eee42955b43ffabe37e47c337a86562c3708aca1fc2650ce77fe5aa6197eb8e9a67958a4b4db8f4344d22fe15868e25b933b175bb1 WHIRLPOOL d5d363f6d7cdcc350b195066c8183609bd9351a48603acdae2f374af13afb23a7bd05cbac86b13d2162daf5bd895eb5acce4769fce2f0b4b8da2896e00d1f846 +AUX ncurses-5.9-gcc-5.patch 1367 SHA256 6d40c4841e031fbb8b1ea6691b112aabc398d23b20b4458ec0b6eb78c33af88d SHA512 200388ee1e8d8f656620d067e8993f79a50ed1a6ebee41ce8bd32b2a61cbe10c93347e2604229b58299c457640b247261a4d05afe60802dd4cce80d17bc2f10c WHIRLPOOL afe4c3854c2fe8096ffa87b5b7e0076a4814ab90ab463346386e4f3ef24295c5c44ae588b8c3147399505072d8cbbf45b9970bacbffba709500bbbdb43a77bf3 +AUX ncurses-5.9-no-I-usr-include.patch 1431 SHA256 496e5dea489d60078344df651c3c2ea06d3dd083d83add0df60dde9104197154 SHA512 a58aec17e4c2edb3f8ed3f414ec6a89afe9f5fcc7cea898774a1fd7e7e892f9b66b1c2bdc74381dd5e8c9cf6968ad922406974f9ece8b38095b29e32d3ff0805 WHIRLPOOL d390ee0439f89dacaa9b5ea5402fc4e6bcf3d48b4bc77c93ff882fcd93f611f99ebd0ae4ce91eea1bec83b4d0191e0ead3361447448a84fc59496e6295116042 +AUX ncurses-5.9-pkg-config.patch 1022 SHA256 8b32d53c4a94eeb78f39c29b1e66813bdb2fd5225f96ab7c26950f96679b58fb SHA512 a5578a4a6c2a334a77084da21d61d4a9edd7b82f027d7f54ed7be194ace5076fe86dc51ada916388feeb970255bf3bfbb09cd33072b1ef21de0dbaa5ee45fdf6 WHIRLPOOL 9056961c1b617ca3286cc4c528a5b5da821a5472da105d82b56c925034454a600e818265627d2f17dbad5184ecf78ea4d14807838bed789ca01a85f39755b656 +AUX ncurses-5.9-rxvt-unicode-9.15.patch 3804 SHA256 ae684be42600ac3bbbf6e7be61e085524f65d86c20da8c453b10c27516e30b27 SHA512 82c0a9600f6ca8f36bbdce6f11a96906983fc9efd6b5f1e17134e12283e29b16d04f5e66c10edbcb7087cc4cb8fc23ddd065f9b6c8b0bf72ca684b68383e5131 WHIRLPOOL 1e2fe441d97671b84f49388555c351b235a93704fb7fcf13c14343db569cc91f21d75b60eb635c4c1c3ad18778bcb50e5aa63d25583224ed644edff35356dd2c +AUX ncurses-6.0-cppflags-cross.patch 1240 SHA256 1303b209da347a5713386f1bf25af4a07697dedced1ec289a2b706584dc6e3d8 SHA512 db333b400ad23110bff80d86eca39e5656870caa06083b6d7098503fe34a46e387d207b135bf9aa9a0a1f2eca2a9b094f1d189ea8f8a17caaec4fc14b819fcc4 WHIRLPOOL f466db25747c957d549c61fc0690a2493b9a1cc834c9fbf11089c62ba68fb955b317d24b13397c280210d38e995898c0ac038a32d7fcb3fddc23d88d1147a7bf +AUX ncurses-6.0-gfbsd.patch 687 SHA256 675cf7263b2baacf6db6db129aceb3fc7f7a16152f17b1f2a119e07d1226d733 SHA512 706425317e02448a31cdf1d66695292cb17b4cb174008218b0fe9e86ff4367fca5a80ad5eb017e06ad57f9bd75524e38c543618b5eeb6161c5baef15cb8d55ec WHIRLPOOL 7f738210e4f29b9aba30e89e3bd653e01ec9e9fb63cef53f8e3e6abcc84216faf7b2059faabfe7a0bc2d2e8cf2e3e16a98e46b1fda5393cb5c984750db11f3c6 +AUX ncurses-6.0-pkg-config.patch 386 SHA256 1cf7a9d6ba7777c57ad8cd10b6e43df39ce395a3211a568ae564f754ff36bd57 SHA512 8065f50a1d0b2ccd8c8d9b5b6bcf10b07351e2f5e51c17a825057235a63459839771ea249aac7fa50e09c7bacde5179a92f3efe587cf3cf6697ec663faf6caf3 WHIRLPOOL 33f5a7f448d801689c4afe478891ab690d06dc1da569290ab2144cc0d3854fc2f12545b937d18fd1ef734d6e2135f9694318683c1702112d1c05006507a0ef00 +AUX ncurses-6.0-rxvt-unicode-9.15.patch 3759 SHA256 79f2c54b0b52f9d918cd85e786d8ab32b527effaaa8342493086d3000b2fdd26 SHA512 5601446d34421453fb8ed0e7172b4a5230ab4f10a6ded27e6dc52f82f121cb0af510dfc8f60d9ba0d3b9a1d90a8a832c38e24256e394d8ffccbbf12a109e2da4 WHIRLPOOL fdaf16032bb85a5d71598c5ff72a515115e343a498b0f9cb585f7b1b09f5b1d345961306d32a19f98349b982aa2b3018490bc8a85461367bdcc9f9aa3f506326 +AUX ncurses-6.0-ticlib.patch 492 SHA256 c6b42752dfc086b8293066c918c108906f81ee208d2de8177eee1b6085bcb804 SHA512 291ed033118673aed1bc5d3b54730d099dffccad7bbe9cb47275bb216125ef9016225eaccae620fa3b06533b7633061a8029e19c8cb9f73c3e30499f587353d6 WHIRLPOOL 7e750c62ee65b405cbf2c49ccd04ba792bde93ca1991a1e43ca1752fa58a2b4ad6eb8b150931e9afd0993c574059aad85758d2eefc4375e65d37966d503795eb +DIST ncurses-5.9.tar.gz 2826473 SHA256 9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b SHA512 d7c5e54b6d4d8b9211f0006ca8786f7609d180cc1aaebf4f25e7e35e12959779cf66447359a602daed625621ca32b0d910d67aef3eb8b6fdc3c373819a88faa1 WHIRLPOOL 069e98c6392ce9aca960c72a20f1a502387d33a4b237aaeaa95548024ce4d47b129eafbe0288d21c590e725fe71aaca21cacb300f11a660b7234cb39a777672a +DIST ncurses-6.0.tar.gz 3131891 SHA256 f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260 SHA512 9ec194f4783dae6de8c529cac31b5cfbfcfea212c5d47b1f87cd49df013e38f8580a9e7aa1384918df0921b4ba999d5e73eb6d6362cce2d7287e64308b673963 WHIRLPOOL 25bef32a63113f07259e81e2cd34b7065e32b471d190c79d56df6e7187fa0d76ae4585ecb2a5d36b3a3dc4facecc9c928503aa97195344a8594ad031bae41949 +EBUILD ncurses-5.9-r101.ebuild 5384 SHA256 3aa6e035fd49725ea1e6673091e14bb3564b8d154b8e103c5dec384b0924652b SHA512 ecaf855054e211bbc3a098d78fb84112a27aff2a3d0d48d1b7a02355b60e8705161b1b6418535b804f8ca78920c86f4f1b3e24047a7e024df8987f7eecc63429 WHIRLPOOL e5667a9cb2e35f2241220577a0278b4afd5f7a9c91375702b3e23e676d4914cb9ad51c90766ae30dc96542f531085026065c73a04770a38db69dad7da7bc85d8 +EBUILD ncurses-6.0-r1.ebuild 8734 SHA256 ae73f9487d889ea8bf9358d43d4c642822c1bcac20a8733af729ee5042c72226 SHA512 7cf7364394f5e81124ad32fdb8f25dd495f80b5a795c2925921434c1cfdb251064d262de70a9303aeba25f7b17494a95b0e3b7fcc267972696e2c04e3a685666 WHIRLPOOL 1def5549fc435679f047b61fca162b13bd6b3fb968ca5b2e5bcf9bef35d7a8cac3298944dec7e8e5a30417282962a07a4203b0205fb8dd5b1e42d9d816cd33a7 +MISC ChangeLog 13035 SHA256 cf546329392c3598260d6a1db3d5f9b880d81149024813ee325c914b379522b6 SHA512 bbc47854aa5670507199ab0cd9773fe95659a2ca163d6ca589ec80151fdaafba4a984b3b02831cd6175a02f5c8d73f6089687204e54e9f4d1d4676dad824108a WHIRLPOOL cabefef541ec3b409cb9a7da1b3347721b570c95214beb03eb5382f7379465aa93a7e56b629acb8681cbfe63bc8c273eba4b16f0033df33e6febb6204351c40c +MISC ChangeLog-2015 34227 SHA256 c270819f5451e01fb6cf955db5572216a7ff623276e8c2a637c85211301b2fc9 SHA512 276e5b0a59cc7e28d230728a4b6db5e1761893ce68b54e693e37d9f6a0d7e364840648079f7ae862869a25315d90f5ba62dcf575212d008c32273c8a3af02a8c WHIRLPOOL d34b60dc0d336349e0240c6ef01e6258def63970fe2e2ee6efb62a889dfa40c46c6e8b38195f4cf742def6fffe877ba8af110d5569c10aa26a08d9a63e72e507 +MISC metadata.xml 619 SHA256 7a2c714e9010b6a0b3a54556e501f368a531109e7958244fdb1ab51b8a7629f7 SHA512 3f28fd8aee675226f641d72d7437edf4c5840cdac3dca64b6a4c61902d4f4127d86f65acfefb270cba2fcfb0ba9d6ff9d3ca24930825b89c82f0eedc8160f9ef WHIRLPOOL 767d629c08272b2d886bfe9d1c89a28da693e8250bf7ad3b03fd719c379dca2c9fbddbfc102eebad16dbaaa982cc91ca425babb467eabe5c24ce9661bdc35d61 diff --git a/sys-libs/ncurses/files/ncurses-5.7-nongnu.patch b/sys-libs/ncurses/files/ncurses-5.7-nongnu.patch new file mode 100644 index 000000000000..3f4a40520009 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.7-nongnu.patch @@ -0,0 +1,11 @@ +--- ncurses-5.7/ncurses/curses.priv.h ++++ ncurses-5.7/ncurses/curses.priv.h +@@ -1452,6 +1452,8 @@ extern NCURSES_EXPORT(void) _nc_expanded + + /* charable.c */ + #if USE_WIDEC_SUPPORT ++#include <wchar.h> ++ + extern NCURSES_EXPORT(bool) _nc_is_charable(wchar_t); + extern NCURSES_EXPORT(int) _nc_to_char(wint_t); + extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int); diff --git a/sys-libs/ncurses/files/ncurses-5.8-gfbsd.patch b/sys-libs/ncurses/files/ncurses-5.8-gfbsd.patch new file mode 100644 index 000000000000..0200a14462af --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.8-gfbsd.patch @@ -0,0 +1,24 @@ +we'll hijack the freebsd* case that comes later + +--- ncurses-5.6/aclocal.m4 ++++ ncurses-5.6/aclocal.m4 +@@ -3806,7 +3806,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- linux*|gnu*|k*bsd*-gnu) #(vi ++ linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*) #(vi + if test "$DFT_LWR_MODEL" = "shared" ; then + LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" +--- ncurses-5.6/configure ++++ ncurses-5.6/configure +@@ -3806,7 +3806,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- linux*|gnu*|k*bsd*-gnu) #(vi ++ linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*) #(vi + if test "$DFT_LWR_MODEL" = "shared" ; then + LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/sys-libs/ncurses/files/ncurses-5.9-fix-clang-build.patch b/sys-libs/ncurses/files/ncurses-5.9-fix-clang-build.patch new file mode 100644 index 000000000000..0c6ca7acc4fc --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-fix-clang-build.patch @@ -0,0 +1,44 @@ +diff --git a/ncurses-5.9/c++/cursesf.h b/ncurses-5.9/c++/cursesf.h +index 70a30c3..db38063 100644 +--- a/ncurses-5.9/c++/cursesf.h ++++ b/ncurses-5.9/c++/cursesf.h +@@ -677,7 +677,7 @@ protected: + } + + public: +- NCursesUserForm (NCursesFormField Fields[], ++ NCursesUserForm (NCursesFormField* Fields[], + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE, + bool autoDelete_Fields=FALSE) +@@ -686,7 +686,7 @@ public: + set_user (const_cast<void *>(p_UserData)); + }; + +- NCursesUserForm (NCursesFormField Fields[], ++ NCursesUserForm (NCursesFormField* Fields[], + int nlines, + int ncols, + int begin_y = 0, +diff --git a/ncurses-5.9/c++/cursesm.h b/ncurses-5.9/c++/cursesm.h +index d9c2273..2d5b79a 100644 +--- a/ncurses-5.9/c++/cursesm.h ++++ b/ncurses-5.9/c++/cursesm.h +@@ -635,7 +635,7 @@ protected: + } + + public: +- NCursesUserMenu (NCursesMenuItem Items[], ++ NCursesUserMenu (NCursesMenuItem* Items[], + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE, + bool autoDelete_Items=FALSE) +@@ -644,7 +644,7 @@ public: + set_user (const_cast<void *>(p_UserData)); + }; + +- NCursesUserMenu (NCursesMenuItem Items[], ++ NCursesUserMenu (NCursesMenuItem* Items[], + int nlines, + int ncols, + int begin_y = 0, diff --git a/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch b/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch new file mode 100644 index 000000000000..2448229b88e1 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/545114 + +extracted from the upstream change (which had many unrelated commits in one) + +From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001 +From: "Thomas E. Dickey" <dickey@invisible-island.net> +Date: Sun, 7 Dec 2014 03:10:09 +0000 +Subject: [PATCH] ncurses 5.9 - patch 20141206 + ++ modify MKlib_gen.sh to work around change in development version of + gcc introduced here: + https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html + https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html + (reports by Marcus Shawcroft, Maohui Lei). + +diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh +index d8cc3c9..b91398c 100755 +--- a/ncurses/base/MKlib_gen.sh ++++ b/ncurses/base/MKlib_gen.sh +@@ -474,11 +474,22 @@ sed -n -f $ED1 \ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP + ++cat >$ED1 <<EOF ++s/ / /g ++s/^ // ++s/ $// ++s/P_NCURSES_BOOL/NCURSES_BOOL/g ++EOF ++ ++# A patch discussed here: ++# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html ++# introduces spurious #line markers. Work around that by ignoring the system's ++# attempt to define "bool" and using our own symbol here. ++sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2 ++cat $ED2 >$TMP ++ + $preprocessor $TMP 2>/dev/null \ +-| sed \ +- -e 's/ / /g' \ +- -e 's/^ //' \ +- -e 's/_Bool/NCURSES_BOOL/g' \ ++| sed -f $ED1 \ + | $AWK -f $AW2 \ + | sed -f $ED3 \ + | sed \ diff --git a/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch b/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch new file mode 100644 index 000000000000..5c968e76c378 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch @@ -0,0 +1,45 @@ +https://bugs.gentoo.org/522586 + +delete the -I$includedir paths that get added to CPPFLAGS. these are never +needed when building natively or cross-compiling and really get in the way +in both cases (upgrades/cross-compiling/etc...). + +extracted from the upstream change: +http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=9ee3995474454b7d956885e0fe5c8cac2ae25d42#patch5 + +--- a/configure ++++ b/configure +@@ -18596,33 +18596,11 @@ CPPFLAGS="$CPPFLAGS -I. -I../include" + if test "$srcdir" != "."; then + CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include" + fi +-if test "$GCC" != yes; then +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +-elif test "$includedir" != "/usr/include"; then +- if test "$includedir" = '${prefix}/include' ; then +- if test $prefix != /usr ; then +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +- fi +- else +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +- fi +-fi + + ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS" + if test "$srcdir" != "."; then + ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS" + fi +-if test "$GCC" != yes; then +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +-elif test "$includedir" != "/usr/include"; then +- if test "$includedir" = '${prefix}/include' ; then +- if test $prefix != /usr ; then +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +- fi +- else +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +- fi +-fi + + ### Build up pieces for makefile rules + echo "$as_me:18628: checking default library suffix" >&5 diff --git a/sys-libs/ncurses/files/ncurses-5.9-pkg-config.patch b/sys-libs/ncurses/files/ncurses-5.9-pkg-config.patch new file mode 100644 index 000000000000..7c3c04a449f8 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-pkg-config.patch @@ -0,0 +1,26 @@ +disable the $PATH search for the PKG_CONFIG tool. it isn't needed and just +gets in the way when setting to a value that might not yet exist. + +disable the existence test for the PKG_CONFIG_LIBDIR dir. it breaks when you +cross-compile for an ABI that doesn't exist in the root dir (--build). + +--- a/configure ++++ b/configure +@@ -3582,7 +3582,7 @@ fi + esac + + test -z "$PKG_CONFIG" && PKG_CONFIG=none +-if test "$PKG_CONFIG" != none ; then ++if false ; then + + if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +@@ -3626,7 +3626,7 @@ echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C + PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig + fi + PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` +- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then ++ if test -n "$PKG_CONFIG_LIBDIR" ; then + + # Check whether --enable-pc-files or --disable-pc-files was given. + if test "${enable_pc_files+set}" = set; then diff --git a/sys-libs/ncurses/files/ncurses-5.9-rxvt-unicode-9.15.patch b/sys-libs/ncurses/files/ncurses-5.9-rxvt-unicode-9.15.patch new file mode 100644 index 000000000000..b6d1924cbe7e --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-rxvt-unicode-9.15.patch @@ -0,0 +1,191 @@ +Add rxvt-unicode terminfo, required by rxvt-unicode to function properly. + +Providing this in ncurses makes it widely available, much better than having to +install rxvt-unicode everywhere. + +http://bugs.gentoo.org/show_bug.cgi?id=192083 + +This patch uses the updated rxvt-unicode-9.15 terminfo +which includes 256 color support and fixes Gentoo bug 383871 + +http://bugs.gentoo.org/show_bug.cgi?id=383871 + +--- misc/terminfo.src ++++ misc/terminfo.src +@@ -4208,6 +4208,176 @@ + rxvt-16color|xterm with 16 colors like aixterm, + ncv#32, use=ibm+16color, use=rxvt, + ++# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997 ++# Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997 ++# Updated: Marc Lehmann <schmorp@schmorp.de>, 17 Feb 2005 ++# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences ++rxvt-unicode|rxvt-unicode terminal (X Window System), ++ am, ++ bce, ++ eo, ++ km, ++ msgr, ++ xenl, ++ hs, ++ cols#80, ++ it#8, ++ lines#24, ++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C\,D0EhFiG, ++ bel=^G, ++ blink=\E[5m, ++ bold=\E[1m, ++ civis=\E[?25l, ++ clear=\E[H\E[2J, ++ cnorm=\E[?25h, ++ cr=^M, ++ csr=\E[%i%p1%d;%p2%dr, ++ cub=\E[%p1%dD, ++ cub1=^H, ++ cud=\E[%p1%dB, ++ cud1=^J, ++ cuf=\E[%p1%dC, ++ cuf1=\E[C, ++ cup=\E[%i%p1%d;%p2%dH, ++ cuu=\E[%p1%dA, ++ cuu1=\E[A, ++ cvvis=\E[?25h, ++ dch=\E[%p1%dP, ++ dch1=\E[P, ++ dl=\E[%p1%dM, ++ dl1=\E[M, ++ ed=\E[J, ++ el=\E[K, ++ el1=\E[1K, ++ flash=\E[?5h$<20/>\E[?5l, ++ home=\E[H, ++ hpa=\E[%i%p1%dG, ++ ht=^I, ++ hts=\EH, ++ ich=\E[%p1%d@, ++ ich1=\E[@, ++ il=\E[%p1%dL, ++ il1=\E[L, ++ ind=^J, ++ is1=\E[\041p, ++ is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ kDC=\E[3$, ++ kIC=\E[2$, ++ kEND=\E[8$, ++ kHOM=\E[7$, ++ kLFT=\E[d, ++ kNXT=\E[6$, ++ kPRV=\E[5$, ++ kRIT=\E[c, ++ kbs=\177, ++ ka1=\EOw, ++ ka3=\EOy, ++ kb2=\EOu, ++ kc1=\EOq, ++ kc3=\EOs, ++ kcbt=\E[Z, ++ kcub1=\E[D, ++ kcud1=\E[B, ++ kcuf1=\E[C, ++ kcuu1=\E[A, ++ kdch1=\E[3~, ++ kel=\E[8\^, ++ kend=\E[8~, ++ kent=\EOM, ++ kf1=\E[11~, ++ kf10=\E[21~, ++ kf11=\E[23~, ++ kf12=\E[24~, ++ kf13=\E[25~, ++ kf14=\E[26~, ++ kf15=\E[28~, ++ kf16=\E[29~, ++ kf17=\E[31~, ++ kf18=\E[32~, ++ kf19=\E[33~, ++ kf2=\E[12~, ++ kf20=\E[34~, ++ kf3=\E[13~, ++ kf4=\E[14~, ++ kf5=\E[15~, ++ kf6=\E[17~, ++ kf7=\E[18~, ++ kf8=\E[19~, ++ kf9=\E[20~, ++ kfnd=\E[1~, ++ khome=\E[7~, ++ kich1=\E[2~, ++ kmous=\E[M, ++ knp=\E[6~, ++ kpp=\E[5~, ++ kslt=\E[4~, ++ rc=\E8, ++ rev=\E[7m, ++ ri=\EM, ++ rmso=\E[27m, ++ rmul=\E[24m, ++ rs1=\Ec, ++ rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ sgr0=\E[m\E(B, ++ enacs=, ++ smacs=\E(0, ++ rmacs=\E(B, ++ smso=\E[7m, ++ smul=\E[4m, ++ tbc=\E[3g, ++ vpa=\E[%i%p1%dd, ++ colors#88, ++ pairs#7744, ++ btns#5, ++ lm#0, ++ ccc, ++ npc, ++ mc5i, ++ ncv#0, ++ mir, ++ xon, ++ bw, ++ ech=\E[%p1%dX, ++ mc0=\E[i, ++ mc4=\E[4i, ++ mc5=\E[5i, ++ sitm=\E[3m, ++ ritm=\E[23m, ++ smam=\E[?7h, ++ rmam=\E[?7l, ++ smir=\E[4h, ++ rmir=\E[4l, ++ smcup=\E[?1049h, ++ rmcup=\E[r\E[?1049l, ++ smkx=\E=, ++ rmkx=\E>, ++ indn=\E[%p1%dS, ++ rin=\E[%p1%dT, ++ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, ++ op=\E[39;49m, ++ setaf=\E[38;5;%p1%dm, ++ setab=\E[48;5;%p1%dm, ++ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\, ++ sc=\E7, ++ s0ds=\E(B, ++ s1ds=\E(0, ++ s2ds=\E*B, ++ s3ds=\E+B, ++ u6=\E[%i%d;%dR, ++ u7=\E[6n, ++ u8=\E[?1;2c, ++ u9=\E[c, ++ tsl=\E]2;, ++ fsl=\007, ++ dsl=\E]2;\007, ++ ++rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System), ++ colors#256, ++ pairs#32767, ++ use=rxvt-unicode, ++ + # mrxvt 0.5.4 + # + # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which diff --git a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch new file mode 100644 index 000000000000..decdc2677904 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch @@ -0,0 +1,35 @@ +https://bugs.gentoo.org/601426 +https://lists.gnu.org/archive/html/bug-ncurses/2015-02/msg00012.html + +From: John Vogel +Subject: [PATCH] c++ binding missed when cross compiling +Date: Mon, 16 Feb 2015 01:01:48 -0500 + +The configure script hard codes the include dir to the prefix'ed include dir, +when checking if c++ compiler works. This breaks the compiler's built-in search +path. I've included two patches. The first works on the configure.in file, which +requires your autoconf stuff to test and I'm not ready to meddle with at the +moment. The other works directly on the configure file. I've tested the second +one; it should mirror what the first patch tries to achieve and works for me. + +--- a/configure ++++ b/configure +@@ -2938,10 +2938,6 @@ + echo "$as_me:2938: checking if $CXX works" >&5 + echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6 + +- save_CPPFLAGS="$CPPFLAGS" +- eval cf_includedir=${includedir} +- CPPFLAGS="$CPPFLAGS -I${cf_includedir}" +- + cat >conftest.$ac_ext <<_ACEOF + #line 2946 "configure" + #include "confdefs.h" +@@ -2978,7 +2974,6 @@ + cf_cxx_works=no + fi + rm -f conftest.$ac_objext conftest.$ac_ext +- CPPFLAGS="$save_CPPFLAGS" + + echo "$as_me:2983: result: $cf_cxx_works" >&5 + echo "${ECHO_T}$cf_cxx_works" >&6 diff --git a/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch b/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch new file mode 100644 index 000000000000..1403a29c933c --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch @@ -0,0 +1,24 @@ +we'll hijack the freebsd* case that comes later + +--- ncurses-6.0/aclocal.m4 ++++ ncurses-6.0/aclocal.m4 +@@ -5711,7 +5711,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*) + if test "$DFT_LWR_MODEL" = "shared" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" +--- ncurses-6.0/configure ++++ ncurses-6.0/configure +@@ -6188,7 +6188,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*) + if test "$DFT_LWR_MODEL" = "shared" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/sys-libs/ncurses/files/ncurses-6.0-pkg-config.patch b/sys-libs/ncurses/files/ncurses-6.0-pkg-config.patch new file mode 100644 index 000000000000..6808319b9533 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-pkg-config.patch @@ -0,0 +1,14 @@ +disable the $PATH search for the PKG_CONFIG tool. it isn't needed and just +gets in the way when setting to a value that might not yet exist. + +--- ncurses-6.0/configure ++++ ncurses-6.0/configure +@@ -3533,7 +3533,7 @@ + esac + + test -z "$PKG_CONFIG" && PKG_CONFIG=none +-if test "$PKG_CONFIG" != none ; then ++if false ; then + + if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" diff --git a/sys-libs/ncurses/files/ncurses-6.0-rxvt-unicode-9.15.patch b/sys-libs/ncurses/files/ncurses-6.0-rxvt-unicode-9.15.patch new file mode 100644 index 000000000000..af3df941d699 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-rxvt-unicode-9.15.patch @@ -0,0 +1,191 @@ +Add rxvt-unicode terminfo, required by rxvt-unicode to function properly. + +Providing this in ncurses makes it widely available, much better than having to +install rxvt-unicode everywhere. + +http://bugs.gentoo.org/show_bug.cgi?id=192083 + +This patch uses the updated rxvt-unicode-9.15 terminfo +which includes 256 color support and fixes Gentoo bug 383871 + +http://bugs.gentoo.org/show_bug.cgi?id=383871 + +--- ncurses-6.0/misc/terminfo.src ++++ ncurses-6.0/misc/terminfo.src +@@ -5214,6 +5214,176 @@ + rxvt-16color|rxvt with 16 colors like aixterm, + ncv#32, use=ibm+16color, use=rxvt, + ++# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997 ++# Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997 ++# Updated: Marc Lehmann <schmorp@schmorp.de>, 17 Feb 2005 ++# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences ++rxvt-unicode|rxvt-unicode terminal (X Window System), ++ am, ++ bce, ++ eo, ++ km, ++ msgr, ++ xenl, ++ hs, ++ cols#80, ++ it#8, ++ lines#24, ++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C\,D0EhFiG, ++ bel=^G, ++ blink=\E[5m, ++ bold=\E[1m, ++ civis=\E[?25l, ++ clear=\E[H\E[2J, ++ cnorm=\E[?25h, ++ cr=^M, ++ csr=\E[%i%p1%d;%p2%dr, ++ cub=\E[%p1%dD, ++ cub1=^H, ++ cud=\E[%p1%dB, ++ cud1=^J, ++ cuf=\E[%p1%dC, ++ cuf1=\E[C, ++ cup=\E[%i%p1%d;%p2%dH, ++ cuu=\E[%p1%dA, ++ cuu1=\E[A, ++ cvvis=\E[?25h, ++ dch=\E[%p1%dP, ++ dch1=\E[P, ++ dl=\E[%p1%dM, ++ dl1=\E[M, ++ ed=\E[J, ++ el=\E[K, ++ el1=\E[1K, ++ flash=\E[?5h$<20/>\E[?5l, ++ home=\E[H, ++ hpa=\E[%i%p1%dG, ++ ht=^I, ++ hts=\EH, ++ ich=\E[%p1%d@, ++ ich1=\E[@, ++ il=\E[%p1%dL, ++ il1=\E[L, ++ ind=^J, ++ is1=\E[\041p, ++ is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ kDC=\E[3$, ++ kIC=\E[2$, ++ kEND=\E[8$, ++ kHOM=\E[7$, ++ kLFT=\E[d, ++ kNXT=\E[6$, ++ kPRV=\E[5$, ++ kRIT=\E[c, ++ kbs=\177, ++ ka1=\EOw, ++ ka3=\EOy, ++ kb2=\EOu, ++ kc1=\EOq, ++ kc3=\EOs, ++ kcbt=\E[Z, ++ kcub1=\E[D, ++ kcud1=\E[B, ++ kcuf1=\E[C, ++ kcuu1=\E[A, ++ kdch1=\E[3~, ++ kel=\E[8\^, ++ kend=\E[8~, ++ kent=\EOM, ++ kf1=\E[11~, ++ kf10=\E[21~, ++ kf11=\E[23~, ++ kf12=\E[24~, ++ kf13=\E[25~, ++ kf14=\E[26~, ++ kf15=\E[28~, ++ kf16=\E[29~, ++ kf17=\E[31~, ++ kf18=\E[32~, ++ kf19=\E[33~, ++ kf2=\E[12~, ++ kf20=\E[34~, ++ kf3=\E[13~, ++ kf4=\E[14~, ++ kf5=\E[15~, ++ kf6=\E[17~, ++ kf7=\E[18~, ++ kf8=\E[19~, ++ kf9=\E[20~, ++ kfnd=\E[1~, ++ khome=\E[7~, ++ kich1=\E[2~, ++ kmous=\E[M, ++ knp=\E[6~, ++ kpp=\E[5~, ++ kslt=\E[4~, ++ rc=\E8, ++ rev=\E[7m, ++ ri=\EM, ++ rmso=\E[27m, ++ rmul=\E[24m, ++ rs1=\Ec, ++ rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ sgr0=\E[m\E(B, ++ enacs=, ++ smacs=\E(0, ++ rmacs=\E(B, ++ smso=\E[7m, ++ smul=\E[4m, ++ tbc=\E[3g, ++ vpa=\E[%i%p1%dd, ++ colors#88, ++ pairs#7744, ++ btns#5, ++ lm#0, ++ ccc, ++ npc, ++ mc5i, ++ ncv#0, ++ mir, ++ xon, ++ bw, ++ ech=\E[%p1%dX, ++ mc0=\E[i, ++ mc4=\E[4i, ++ mc5=\E[5i, ++ sitm=\E[3m, ++ ritm=\E[23m, ++ smam=\E[?7h, ++ rmam=\E[?7l, ++ smir=\E[4h, ++ rmir=\E[4l, ++ smcup=\E[?1049h, ++ rmcup=\E[r\E[?1049l, ++ smkx=\E=, ++ rmkx=\E>, ++ indn=\E[%p1%dS, ++ rin=\E[%p1%dT, ++ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, ++ op=\E[39;49m, ++ setaf=\E[38;5;%p1%dm, ++ setab=\E[48;5;%p1%dm, ++ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\, ++ sc=\E7, ++ s0ds=\E(B, ++ s1ds=\E(0, ++ s2ds=\E*B, ++ s3ds=\E+B, ++ u6=\E[%i%d;%dR, ++ u7=\E[6n, ++ u8=\E[?1;2c, ++ u9=\E[c, ++ tsl=\E]2;, ++ fsl=\007, ++ dsl=\E]2;\007, ++ ++rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System), ++ colors#256, ++ pairs#32767, ++ use=rxvt-unicode, ++ + #### MRXVT + # mrxvt 0.5.4 + # diff --git a/sys-libs/ncurses/files/ncurses-6.0-ticlib.patch b/sys-libs/ncurses/files/ncurses-6.0-ticlib.patch new file mode 100644 index 000000000000..188e6adff8c7 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-ticlib.patch @@ -0,0 +1,15 @@ +always include ticlib even when progs are disabled + +https://bugs.gentoo.org/557360 + +--- a/configure ++++ b/configure +@@ -21312,7 +21312,7 @@ echo "$as_me:21311: checking for library subsets" >&5 + echo $ECHO_N "checking for library subsets... $ECHO_C" >&6 + LIB_SUBSETS= + +-if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then ++if true; then + LIB_SUBSETS="${LIB_SUBSETS}ticlib" + if test "$with_ticlib" != no ; then + LIB_SUBSETS="${LIB_SUBSETS} " diff --git a/sys-libs/ncurses/metadata.xml b/sys-libs/ncurses/metadata.xml new file mode 100644 index 000000000000..888a6adf6636 --- /dev/null +++ b/sys-libs/ncurses/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> +</maintainer> +<use> + <flag name="ada">Add bindings for the ADA programming language</flag> + <flag name="tinfo"> + Build curses library (libncurses) sep from the low-level terminfo + library (libtinfo) -- usually needed only for binary packages -- but + it is binary compatible in either mode + </flag> + <flag name="trace">Enable test trace() support in ncurses calls</flag> +</use> +</pkgmetadata> diff --git a/sys-libs/ncurses/ncurses-5.9-r101.ebuild b/sys-libs/ncurses/ncurses-5.9-r101.ebuild new file mode 100644 index 000000000000..76b8a76d3a72 --- /dev/null +++ b/sys-libs/ncurses/ncurses-5.9-r101.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# This version is just for the ABI .5 library + +EAPI="5" + +inherit eutils toolchain-funcs multilib-minimal multiprocessing + +MY_PV=${PV:0:3} +MY_P=${PN}-${MY_PV} +DESCRIPTION="console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="5/5" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="gpm tinfo unicode" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# Block the ncurses-5 that installs the same lib. #557472 +RDEPEND="${DEPEND} + !<sys-libs/ncurses-6:0" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}"/${PN}-5.8-gfbsd.patch + "${FILESDIR}"/${PN}-5.7-nongnu.patch + "${FILESDIR}"/${PN}-5.9-rxvt-unicode-9.15.patch #192083 #383871 + "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763 + "${FILESDIR}"/${PN}-5.9-pkg-config.patch + "${FILESDIR}"/${P}-no-I-usr-include.patch #522586 + "${FILESDIR}"/${P}-gcc-5.patch #545114 +) + +src_prepare() { + epatch "${PATCHES[@]}" +} + +src_configure() { + unset TERMINFO #115036 + tc-export_build_env BUILD_{CC,CPP} + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 + + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440 + # Order matters here -- we want unicode/thread versions to come last so that the + # binaries in /usr/bin support both wide and narrow. + # The naming is also important as we use these directly with filenames and when + # checking configure flags. + NCURSES_TARGETS=( + ncurses + $(usex unicode 'ncursesw' '') + ) + + multijob_init + + # When installing ncurses, we have to use a compatible version of tic. + # This comes up when cross-compiling, doing multilib builds, upgrading, + # or installing for the first time. Build a local copy of tic whenever + # the host version isn't available. #249363 #557598 + if ! ROOT=/ has_version "~sys-libs/${P}" ; then + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} -static" \ + multijob_child_init do_configure cross --without-shared --with-normal + fi + multilib-minimal_src_configure + multijob_finish +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + multijob_child_init do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Now the rest of the various standard flags. + --without-hashed-db + --disable-pc-files + --with-shared + --without-hashed-db + --without-ada + --without-cxx + --without-cxx-binding + --without-debug + --without-profile + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-echo + --disable-warnings + --without-assertions + --enable-leaks + --without-expanded + --with-macros + --without-progs + --without-tests + --without-trace + $(use_with tinfo termlib) + + # The chtype/mmask-t settings below are to retain ABI compat + # with ncurses-5.4 so dont change em ! + --with-chtype=long + --with-mmask-t=long + --disable-ext-colors + --disable-ext-mouse + --without-{pthread,reentrant} + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} != "ncurses" ]] ; then + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + else + conf+=( --with-progs ) + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + CONFIG_SHELL=/bin/bash \ + ECONF_SOURCE=${S} \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! ROOT=/ has_version "~sys-libs/${P}" ; then + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + emake "$@" +} + +multilib_src_install() { + local target lib + for target in "${NCURSES_TARGETS[@]}" ; do + cd "${BUILD_DIR}/${target}/lib" || die + for lib in *5.9 ; do + newlib.so "${lib}" "${lib%%.9}" + done + done +} diff --git a/sys-libs/ncurses/ncurses-6.0-r1.ebuild b/sys-libs/ncurses/ncurses-6.0-r1.ebuild new file mode 100644 index 000000000000..2ab63de41d4c --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.0-r1.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit eutils flag-o-matic toolchain-funcs multilib-minimal multiprocessing + +MY_PV=${PV:0:3} +PV_SNAP=${PV:4} +MY_P=${PN}-${MY_PV} +DESCRIPTION="console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# berkdb? ( sys-libs/db )" +# Block the older ncurses that installed all files w/SLOT=5. #557472 +RDEPEND="${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !<x11-terms/rxvt-unicode-9.06-r3 + !<x11-terms/st-0.6-r1 + !app-emulation/emul-linux-x86-baselibs" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}/${PN}-6.0-gfbsd.patch" + "${FILESDIR}/${PN}-5.7-nongnu.patch" + "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871 + "${FILESDIR}/${PN}-6.0-pkg-config.patch" + "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114 + "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360 + "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426 +) + +src_prepare() { + [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh + epatch "${PATCHES[@]}" +} + +src_configure() { + unset TERMINFO #115036 + tc-export_build_env BUILD_{CC,CPP} + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 + + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440 + # Order matters here -- we want unicode/thread versions to come last so that the + # binaries in /usr/bin support both wide and narrow. + # The naming is also important as we use these directly with filenames and when + # checking configure flags. + NCURSES_TARGETS=( + ncurses + $(usex unicode 'ncursesw' '') + $(usex threads 'ncursest' '') + $(use unicode && usex threads 'ncursestw' '') + ) + + multijob_init + + # When installing ncurses, we have to use a compatible version of tic. + # This comes up when cross-compiling, doing multilib builds, upgrading, + # or installing for the first time. Build a local copy of tic whenever + # the host version isn't available. #249363 #557598 + if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then + local lbuildflags="-static" + + # some toolchains don't quite support static linking + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" + case ${CHOST} in + *-darwin*) dbuildflags= ;; + *-aix*) dbuildflags= ;; + esac + echo "int main() {}" | \ + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + multijob_child_init do_configure cross --without-shared --with-normal + fi + multilib-minimal_src_configure + multijob_finish +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + multijob_child_init do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Disabled until #245417 is sorted out. + #$(use_with berkdb hashed-db) + + # ncurses is dumb and doesn't install .pc files unless pkg-config + # is also installed. Force the tests to go our way. Note that it + # doesn't actually use pkg-config ... it just looks for set vars. + --enable-pc-files + --with-pkg-config="$(tc-getPKG_CONFIG)" + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + CONFIG_SHELL=${EPREFIX}/bin/bash \ + ECONF_SOURCE=${S} \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(use tinfo && usex unicode 'tinfow' '') \ + $(usev tinfo) + fi + if ! tc-is-static-only ; then + # Provide a link for -lcurses. + ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die + fi + use static-libs || find "${ED}"/usr/ -name '*.a' -delete + + # Build fails to create this ... + dosym ../share/terminfo /usr/$(get_libdir)/terminfo +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc, bug #37026 + einfo "Installing basic terminfo files in /etc..." + for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \ + xterm xterm-color xterm-xfree86 + do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename $(dirname "${termfile}")) + + if [[ -n ${termfile} ]] ; then + dodir /etc/terminfo/${basedir} + mv ${termfile} "${ED}"/etc/terminfo/${basedir}/ + dosym ../../../../etc/terminfo/${basedir}/${x} \ + /usr/share/terminfo/${basedir}/${x} + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses + doenvd "${T}"/50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + keepdir /usr/share/terminfo #245374 + + cd "${S}" + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + use doc && dohtml -r doc/html/ +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} |