From e9d044d4b9b71200a96adfa280848858c0f468c9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Nov 2021 13:10:00 +0000 Subject: gentoo resync : 13.11.2021 --- sys-libs/ncurses/Manifest | 8 +- sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch | 46 --- .../ncurses/files/ncurses-6.0-cppflags-cross.patch | 35 -- .../ncurses-6.2-no_user_ldflags_in_libs.patch | 40 --- sys-libs/ncurses/ncurses-6.2-r1.ebuild | 325 ------------------- sys-libs/ncurses/ncurses-6.3_p20211106.ebuild | 354 +++++++++++++++++++++ 6 files changed, 358 insertions(+), 450 deletions(-) delete mode 100644 sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch delete mode 100644 sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch delete mode 100644 sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch delete mode 100644 sys-libs/ncurses/ncurses-6.2-r1.ebuild create mode 100644 sys-libs/ncurses/ncurses-6.3_p20211106.ebuild (limited to 'sys-libs/ncurses') diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index 5abe0d35bca6..9013b2d69b92 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -1,15 +1,15 @@ AUX ncurses-5.7-nongnu.patch 361 BLAKE2B 9260be98295203137327e37a15480bf96742ec5a62a693af04e929ba7ac8528e2810b267960d7cde5b20e8ee72bb447e34a681b567e74d5e4e9325a3613292c1 SHA512 818a3ac1c68c1a11f23471195a32793c5546c5b37a724989cc58f3fad50fd3c8608762efc5d72e986f3c77ccdfbb72f27224f64ef415a96d71924a9f1d3b1b5f -AUX ncurses-5.9-gcc-5.patch 1367 BLAKE2B ecbf3c307e5543c4f32a4db54f0e7c97ef0e5f68ebef9a974265e4f002a4789f5e3629a68eb455e45f6cc43f7b05a9eb6db6675dc0c9b83d61785fc10d67fb4b SHA512 200388ee1e8d8f656620d067e8993f79a50ed1a6ebee41ce8bd32b2a61cbe10c93347e2604229b58299c457640b247261a4d05afe60802dd4cce80d17bc2f10c -AUX ncurses-6.0-cppflags-cross.patch 1240 BLAKE2B 56fbe4810c28e089a8ceb8fa8c983df744d40573b4fc2488d3f26f40ed77aba2d15da2a006e56217216740e26a295c9ab9c4be78df201514040376a986cf1b30 SHA512 db333b400ad23110bff80d86eca39e5656870caa06083b6d7098503fe34a46e387d207b135bf9aa9a0a1f2eca2a9b094f1d189ea8f8a17caaec4fc14b819fcc4 AUX ncurses-6.0-pkg-config.patch 386 BLAKE2B 27a61878d45aa781291e18a2e18b8e861dd88f523083a54032511ceea2784b5020c500d0d277fe448381a969989d896ca32c46af35ad29f35dace97511dda9eb SHA512 8065f50a1d0b2ccd8c8d9b5b6bcf10b07351e2f5e51c17a825057235a63459839771ea249aac7fa50e09c7bacde5179a92f3efe587cf3cf6697ec663faf6caf3 AUX ncurses-6.0-rxvt-unicode-9.15.patch 3759 BLAKE2B 88e1b6145c5d1afa9d319fdf1bb70967705cc0460fb87cb3897d0e86678b065bc365573859d1cb96ac4209e61a4c43a84cd0cc3b86680e965e3bf404271354ef SHA512 5601446d34421453fb8ed0e7172b4a5230ab4f10a6ded27e6dc52f82f121cb0af510dfc8f60d9ba0d3b9a1d90a8a832c38e24256e394d8ffccbbf12a109e2da4 AUX ncurses-6.0-ticlib.patch 492 BLAKE2B df9e747a773b532aab42def40fa048a08ae4d02b83c78bfb5fd89b70b9b753534769c5c52a0d1adde7447cd25a286fc8b5d9f52f395c6287d7cd568f184242d7 SHA512 291ed033118673aed1bc5d3b54730d099dffccad7bbe9cb47275bb216125ef9016225eaccae620fa3b06533b7633061a8029e19c8cb9f73c3e30499f587353d6 -AUX ncurses-6.2-no_user_ldflags_in_libs.patch 1254 BLAKE2B ccc2cd660bf102b61118f0ca170d079454b47a2eee41f9fb1e2b82dc241233adeb1481221fc25ce15b8c101cab200e5eefffde4ff0fbf102d8acf16fe222c40c SHA512 17e365302c683b7fc59b4ed870738b8ab487b9cc1e074d9629e1963120b6ea69b4c3b47b42c80524630d56e1b27519c6f8451397ae892ad759d1d0f019057418 AUX ncurses-6.2_p20210123-cppflags-cross.patch 1246 BLAKE2B f2e6d5b3f106639435f1901f0a43aaf9ab1cfcc2c295f13cd51120f13bb09ee4e6863aee3e6036b175479235ba8804622ad1ad4e4f181e9ca7ac67ae98ff13f1 SHA512 89a1471bc1dec666a593819b15d778d061fb370fc9786251b0546535cebf46b7ff61579937e64bf35cd15e4b8493e49c74625fb9686bb003935eef017cf449da DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3 DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d +DIST ncurses-6.3-20211026.patch.gz 117363 BLAKE2B 74c6c80271edc3b69d17c891436e48ee0579b3d16dd1bbd42f953be5b6ef07596343abd34f4d508b0cb371c1c0febfec12d65e938739892a617c8b141f599753 SHA512 25a99bc9cb7a18eb8fd16a0f887bae90c2551e0228b077d28f7217e58190f4b19a526350c999922f7394a1b749e834643c1bf5f339248b842717c146a3ec1df4 +DIST ncurses-6.3-20211030.patch.gz 46304 BLAKE2B 6fa0f5223c97dc045117c208b92e75aad61638585506aeed0fa5cd6b215f67d212fc780e527f1281ae77063edb1ef9b3a3671b00d306fe322c3ca1b34c1d4d81 SHA512 90440af3959a17388999f07a3b40f770c5511bceda6a39d4c56f867dc5ae8494e49cfb700eb79e31422ebfd1b1990f6d7912083c688963139446f1e43e9d08c8 +DIST ncurses-6.3-20211106.patch.gz 3995 BLAKE2B fbacfd6bfbf64b2935d47f648bd74c93136ea8d17b51e218b80a24695b52246ce8ec01704a0636692bae72815c8b93dec8573570dfd126b19645ec90926e818a SHA512 799819ed01967387fdca4755ab44401f0dc90306f6f771c894ce6702c929e2ff87f45d3e1c2e683cc32bb01553f3332c3a7591a00b7a4bdff93da25307379bdc DIST ncurses-6.3.tar.gz 3583550 BLAKE2B b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3 SHA512 5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105 -EBUILD ncurses-6.2-r1.ebuild 10032 BLAKE2B 6e814d1fe9745134b9761a810ca4dd71db68e63381e3f4c79a5c6f59391fd2d77207fde68e1a2d756902e3cd68787c34767b8a85ee6fa708d35ec318b9f9698d SHA512 4525783da7a602430d9a5ee346d69f25ce9d9d02222fba57286d3eca66773b149f6191225ffb03fb5f5d5454e29b9122b61a06c54901d9671f301d1cb5ee97c5 EBUILD ncurses-6.2_p20210619.ebuild 9938 BLAKE2B e051c20b6dc781586bbb7de7986983c33c1c74df8599148b23bf7e82754c696bd814b5e95e77e4cf346dcd08c507fa9d2e90898f4f77921379bfa155f9a2d9aa SHA512 dec3574e7afc360b2bb165c923b8ea27edd30269dbab96027ad4966b16f2a80aca8d677afbac01cbd0c215459d84d9c239fb03a684771485d3d9e0be0430cc45 EBUILD ncurses-6.3.ebuild 10059 BLAKE2B 49d54b5c55b66745ad0cb6467a59cad1f3774378ee42cd655d0a94627c5500ea5f045db81f7e774b0afcb966cfaaf8ef106fd081af5a0f83b90ee029ebe2a998 SHA512 5c2388851eb130dcaae8db6f411bfe441a46dc7ca8a5849978edb8d8ea47fb2aa55354ed600c17c01b59acb36c3027bb1c8cb622c8b43e118848de855f3bade6 +EBUILD ncurses-6.3_p20211106.ebuild 10921 BLAKE2B 0ce736bbe7a3d2a11fcca2be97a0fe04167098b95ddb9529487338cb81370e2b171f49e8c850a6ee9e1a0a80ec84fb854eeddaf0904d6eb97b81868474c44bd4 SHA512 15272a24a0dc190b7be5290412f1bd3c009327ca18f41eac281fb5ebe5923482040fc425a7a58b367e3988bdb448a56886e387bb8e00e1d1a61ff333112245cd MISC metadata.xml 785 BLAKE2B e8c25458707dab787caf921aaa2fc4a6f66a1cc2c7bf23a6dda74bb9d990f92de7507fc81c83858fc55937d044e45523b2c22b65f86a4bb74ae463ead9781493 SHA512 ac0255fbb20bab036908eab351bf6798856e1b97c02258df158650e732d8b367df20bd1e0674b427cb4d9832662cb2cc02b4e77e124388e470b2dd116245cfaf diff --git a/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch b/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch deleted file mode 100644 index 2448229b88e1..000000000000 --- a/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch +++ /dev/null @@ -1,46 +0,0 @@ -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" -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 < $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-6.0-cppflags-cross.patch b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch deleted file mode 100644 index decdc2677904..000000000000 --- a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch +++ /dev/null @@ -1,35 +0,0 @@ -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.2-no_user_ldflags_in_libs.patch b/sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch deleted file mode 100644 index 66345b51fe24..000000000000 --- a/sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch +++ /dev/null @@ -1,40 +0,0 @@ -From be554be06475b36da2f69aabfd873ad55f7ef95c Mon Sep 17 00:00:00 2001 -From: Lars Wendler -Date: Thu, 13 Feb 2020 11:51:09 +0100 -Subject: [PATCH] Don't bleed user LDFLAGS into Libs - -Signed-off-by: Lars Wendler ---- - misc/gen-pkgconfig.in | 2 +- - misc/ncurses-config.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in -index 8f00b824..009d2156 100644 ---- a/misc/gen-pkgconfig.in -+++ b/misc/gen-pkgconfig.in -@@ -80,7 +80,7 @@ if [ "$includedir" != "/usr/include" ]; then - fi - - lib_flags= --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@ -+for opt in -L$libdir @LIBS@ - do - case $opt in - -l*) # LIBS is handled specially below -diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in -index 7f8ba697..2f1915cd 100644 ---- a/misc/ncurses-config.in -+++ b/misc/ncurses-config.in -@@ -101,7 +101,7 @@ fi - # There is no portable way to find the list of standard library directories. - # Require a POSIX shell anyway, to keep this simple. - lib_flags= --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS -+for opt in -L$libdir $LIBS - do - case $opt in - -specs*) # ignore linker specs-files which were used to build library --- -2.25.0 - diff --git a/sys-libs/ncurses/ncurses-6.2-r1.ebuild b/sys-libs/ncurses/ncurses-6.2-r1.ebuild deleted file mode 100644 index 6353b40857d9..000000000000 --- a/sys-libs/ncurses/ncurses-6.2-r1.ebuild +++ /dev/null @@ -1,325 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript - -MY_PV="${PV:0:3}" -MY_P="${PN}-${MY_PV}" -DESCRIPTION="console display library" -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" - -if [[ "${PV}" == *_p* ]] ; then - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2" -fi - -LICENSE="MIT" -# The subslot reflects the SONAME. -SLOT="0/6" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode" -RESTRICT="!test? ( test )" - -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 - !& /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}" \ - do_configure cross --without-shared --with-normal --with-progs - fi - multilib-minimal_src_configure -} - -multilib_src_configure() { - local t - for t in "${NCURSES_TARGETS[@]}" ; do - do_configure "${t}" - done -} - -do_configure() { - local target=$1 - shift - - mkdir "${BUILD_DIR}/${target}" || die - 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) - - # Enable installation of .pc files. - --enable-pc-files - # 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) - # Required for building on mingw-w64, and possibly other windows - # platforms, bug #639670 - $(use_enable kernel_Winnt term-driver) - --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) - --disable-stripping - ) - - 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 ! has_version -b "~sys-libs/${P}:0" ; then - # We could possibly merge these two branches but opting to be - # conservative when merging some of the Prefix changes. - - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then - # We make 'tic$(x)' here, for Cygwin having x=".exe". - BUILD_DIR="${WORKDIR}" \ - do_compile cross -C progs all PROGS='tic$(x)' - else - BUILD_DIR="${WORKDIR}" \ - do_compile cross -C progs tic - fi - 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 || die - 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 - # don't delete '*.dll.a', needed for linking #631468 - if ! use static-libs; then - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die - fi - - # Build fails to create this ... - # -FIXME- - # Ugly hackaround for riscv having two parts libdir (#689240) - # Replace this hack with an official solution once we have one... - # -FIXME- - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ - /usr/$(get_libdir)/terminfo -} - -multilib_src_install_all() { -# if ! use berkdb ; then - # We need the basic terminfo files in /etc for embedded/recovery. #37026 - einfo "Installing basic terminfo files in /etc..." - local terms=( - # Dumb/simple values that show up when using the in-kernel VT. - ansi console dumb linux - vt{52,100,102,200,220} - # [u]rxvt users used to be pretty common. Probably should drop this - # since upstream is dead and people are moving away from it. - rxvt{,-unicode}{,-256color} - # xterm users are common, as is terminals re-using/spoofing it. - xterm xterm-{,256}color - # screen is common (and reused by tmux). - screen{,-256color} - screen.xterm-256color - ) - local x - for x in "${terms[@]}"; 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}/" || die - dosym "../../../../etc/terminfo/${basedir}/${x}" \ - "/usr/share/terminfo/${basedir}/${x}" - fi - done -# fi - - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 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}" || die - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc - if use doc ; then - docinto html - dodoc -r doc/html/ - fi -} - -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 -} diff --git a/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild b/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild new file mode 100644 index 000000000000..6c1bee312825 --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild @@ -0,0 +1,354 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz + ftp://ftp.invisible-island.net/${PN}/${MY_P}.tar.gz" + +if [[ "${PV}" == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-mirror.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20211026 + 20211030 + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2 + https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2" + else + patch_date= + for patch_date in "${PATCH_DATES[@]}" ; do + SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz" + SRC_URI+=" https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz" + done + unset patch_date + fi + + #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz" +fi + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace" +RESTRICT="!test? ( test )" + +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 + !& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + 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) + + # Enable installation of .pc files. + --enable-pc-files + # 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) + # Required for building on mingw-w64, and possibly other windows + # platforms, bug #639670 + $(use_enable kernel_Winnt term-driver) + --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) + --disable-stripping + --disable-pkg-ldflags + ) + + 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 ! has_version -b "~sys-libs/${P}:0" ; then + # We could possibly merge these two branches but opting to be + # conservative when merging some of the Prefix changes. + + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then + # We make 'tic$(x)' here, for Cygwin having x=".exe". + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs all PROGS='tic$(x)' + else + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + 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 || die + 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[@]}" \ + $(usex tinfo 'tinfow 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 + # don't delete '*.dll.a', needed for linking #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (#689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc for embedded/recovery. #37026 + einfo "Installing basic terminfo files in /etc..." + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + local x + for x in "${terms[@]}"; 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}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 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}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} -- cgit v1.2.3