author | gabriel |
Sat, 22 Mar 2025 12:20:50 +0000 | |
changeset 45 | 87554afe14ee |
parent 44 | dc5b21d4b409 |
child 46 | 09afc3bdda54 |
sys-libs/ncurses-compat/Manifest | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-5.7-nongnu.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-5.9-gcc-5.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-6.0-cppflags-cross.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-6.0-pkg-config.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-6.0-rxvt-unicode-9.15.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/files/ncurses-6.0-ticlib.patch | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/metadata.xml | file | annotate | diff | comparison | revisions | |
sys-libs/ncurses-compat/ncurses-compat-6.2-r1.ebuild | file | annotate | diff | comparison | revisions |
--- a/sys-libs/ncurses-compat/Manifest Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -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 -DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d -EBUILD ncurses-compat-6.2-r1.ebuild 6451 BLAKE2B 4d6a7678513a8a8a2e1be18e182169072699af081205ddfc49427d47d46df1347eefab4e1396cd5e23290a7dc0d46c5459986176b45b06d8521af53beecb4602 SHA512 a5a7719c0f2a484fdb4301f412d893b2113e37f495fc002866b0d1c643fc1ae14c21ffa30d7eaa994faff9c9f523c1db42ceade0268abde59cd829935791e696 -MISC metadata.xml 616 BLAKE2B 71737e4158fdebb8662b2614e5349e01e011f81351764037196dffcd002e154c133dceaa68607c45b237491c34a958827a2c29200ffc2c6f5c7e4b5b5641a158 SHA512 d49c854b01ae7379b6ff3b781ddee6cb89a7b4f10e2a5ff1b1e899b2e70f317f1973744d83527804789663f65e67db055235d188d3132a8d8ef0e922c170ba95
--- a/sys-libs/ncurses-compat/files/ncurses-5.7-nongnu.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- 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);
--- a/sys-libs/ncurses-compat/files/ncurses-5.9-gcc-5.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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" <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 \
--- a/sys-libs/ncurses-compat/files/ncurses-6.0-cppflags-cross.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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
--- a/sys-libs/ncurses-compat/files/ncurses-6.0-pkg-config.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -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"
--- a/sys-libs/ncurses-compat/files/ncurses-6.0-rxvt-unicode-9.15.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,191 +0,0 @@ -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 - #
--- a/sys-libs/ncurses-compat/files/ncurses-6.0-ticlib.patch Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -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} "
--- a/sys-libs/ncurses-compat/metadata.xml Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -<?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="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="versyms"> - Build with versioned symbols - </flag> -</use> -<upstream> - <remote-id type="cpe">cpe:/a:gnu:ncurses</remote-id> -</upstream> -</pkgmetadata>
--- a/sys-libs/ncurses-compat/ncurses-compat-6.2-r1.ebuild Sun Nov 10 12:03:52 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,230 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# This version is just for the ABI .5 library - -EAPI=7 - -inherit flag-o-matic toolchain-funcs multilib-minimal preserve-libs usr-ldscript - -MY_PV="${PV:0:3}" -MY_P="${PN/-compat}-${MY_PV}" -MY_PN="${PN/-compat}" - -DESCRIPTION="console display library (ABI version 5)" -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/ncurses/${PV/_p*}/${MY_PN}-${PV/_p/-}-patch.sh.bz2 - https://invisible-mirror.net/archives/ncurses/${PV/_p*}/${MY_PN}-${PV/_p/-}-patch.sh.bz2" -fi - -LICENSE="MIT" -# The subslot reflects the SONAME. -SLOT="5/5" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="gpm tinfo unicode -versyms" - -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" -# Block the ncurses-5 that installs the same lib. #557472 -RDEPEND="${DEPEND} - !<sys-libs/ncurses-6:0 - !sys-libs/ncurses:5" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/ncurses-5.7-nongnu.patch" - "${FILESDIR}/ncurses-6.0-rxvt-unicode-9.15.patch" #192083 #383871 - "${FILESDIR}/ncurses-6.0-pkg-config.patch" - "${FILESDIR}/ncurses-5.9-gcc-5.patch" #545114 - "${FILESDIR}/ncurses-6.0-ticlib.patch" #557360 - "${FILESDIR}/ncurses-6.0-cppflags-cross.patch" #601426 -) - -src_prepare() { - if [[ "${PV}" == *_p* ]] ; then - eapply "${WORKDIR}/${MY_PN}-${PV/_p/-}-patch.sh" - fi - default -} - -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' '') - ) - - # 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 -b "~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}" \ - do_configure cross --without-shared --with-normal - 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-rel-version=5.9 ?? - --with-abi-version=5 - --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} - - # Buidl versioned symbols, some binaries may want this - $(use_with versyms versioned-syms) - ) - - 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="${EPREFIX}"/bin/bash \ - ECONF_SOURCE="${S}" \ - econf "${conf[@]}" "$@" -} - -src_compile() { - # See comments in src_configure. - if ! ROOT=/ has_version -b "~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 || die - 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 -}