sys-libs/ncurses-compat: Bump to version 6.1_p20190609

Thanks-to: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Closes: https://bugs.gentoo.org/698266
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2019-12-03 13:05:09 +01:00
parent 595ecc917d
commit fd23bd3d18
6 changed files with 484 additions and 0 deletions

View File

@@ -1 +1,3 @@
DIST ncurses-5.9.tar.gz 2826473 BLAKE2B 91101b049a5eb6a2674fb86b5eba56515207f490dc7a6348f3194bbc50649717a26aff7a0df64f67ca318b5f244455cd57e760c65b9e551f6ec65b8c035a6ae1 SHA512 d7c5e54b6d4d8b9211f0006ca8786f7609d180cc1aaebf4f25e7e35e12959779cf66447359a602daed625621ca32b0d910d67aef3eb8b6fdc3c373819a88faa1
DIST ncurses-6.1-20190609-patch.sh.bz2 602174 BLAKE2B 38b1cb1f376b8fdfddc7cf9ed8e10190dd50fc2315f11eaf3a14c0299167c0e6bbd82a3684fa83d6e8fa6d2f02ea14e88ea065f8bb886905d85788bde13731c0 SHA512 efd009f5087a7b16413b94ce37ad19da0df8974be579b742d57bc64e034792ccf03b9967593a0ac5c90522ccfde4b6d23ef763d6fbeb91a5f327f8d7a0970872
DIST ncurses-6.1.tar.gz 3365395 BLAKE2B 1248a5088bc982d0880cb9550b1192457f6f624937c4b66807668c22a608002ba6c38d876986f2c2b9ee46f91d087c88bc0b19920733e4c7ca0ed8e92d9d47de SHA512 e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,227 @@
# Copyright 1999-2019 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 ~sh ~sparc ~x86"
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
!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}
)
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
}