Merge pull request #906 from blanquicet/364_updating_sys-libs_ncurses

Update sys-libs/ncurses to 6.2-r1
This commit is contained in:
Sayan Chowdhury 2021-03-24 15:31:01 +05:30 committed by GitHub
commit 6ac592d0cd
6 changed files with 99 additions and 73 deletions

View File

@ -1 +1 @@
DIST ncurses-6.1.tar.gz 3365395 SHA256 aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 SHA512 e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee WHIRLPOOL ae1af38f8085fd9c80d1695243e2f8f21771db07d3ffe8ecf8c45945481fbac6d597459a86eaeee7d413154d05c2be8baa95077856124fd3584d30f78f26aab3
DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d

View File

@ -1,24 +0,0 @@
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"

View File

@ -1,14 +0,0 @@
https://github.com/tmux/tmux/issues/1264
https://bugs.gentoo.org/651494
--- ncurses-6.1/misc/terminfo.src
+++ ncurses-6.1/misc/terminfo.src
@@ -6260,7 +6260,7 @@
%=%t3%e%p1%d%;m,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
- Ss=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
+ Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,

View File

@ -0,0 +1,40 @@
From be554be06475b36da2f69aabfd873ad55f7ef95c Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Thu, 13 Feb 2020 11:51:09 +0100
Subject: [PATCH] Don't bleed user LDFLAGS into Libs
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
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

View File

@ -14,4 +14,7 @@
</flag>
<flag name="trace">Enable test trace() support in ncurses calls</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:ncurses</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,22 +1,27 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit flag-o-matic toolchain-funcs multilib-minimal
inherit flag-o-matic toolchain-funcs multilib-minimal preserve-libs usr-ldscript
MY_PV=${PV:0:3}
PV_SNAP=${PV:4}
MY_P=${PN}-${MY_PV}
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/"
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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
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 symlink-usr test threads tinfo trace unicode"
RESTRICT="!test? ( test )"
DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
# berkdb? ( sys-libs/db )"
@ -25,10 +30,9 @@ RDEPEND="${DEPEND}
!<=sys-libs/ncurses-5.9-r4:5
!<sys-libs/slang-2.3.2_pre23
!<x11-terms/rxvt-unicode-9.06-r3
!<x11-terms/st-0.6-r1
!app-emulation/emul-linux-x86-baselibs"
!<x11-terms/st-0.6-r1"
S=${WORKDIR}/${MY_P}
S="${WORKDIR}/${MY_P}"
MINIMAL_TERMINFO=(
ansi console dumb linux rxvt rxvt-256color rxvt-unicode rxvt-unicode-256color
@ -37,18 +41,19 @@ MINIMAL_TERMINFO=(
)
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
"${FILESDIR}/${PN}-6.1-st07_terminfo_typo.patch" #651494
"${FILESDIR}/${PN}-6.2-no_user_ldflags_in_libs.patch"
)
src_prepare() {
[[ -n ${PV_SNAP} ]] && eapply "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
if [[ "${PV}" == *_p* ]] ; then
eapply "${WORKDIR}"/${P/_p/-}-patch.sh
fi
default
}
@ -73,14 +78,14 @@ src_configure() {
# 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
if ! 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= ;;
*-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
esac
echo "int main() {}" | \
$(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
@ -106,12 +111,14 @@ multilib_src_configure() {
}
do_configure() {
# Flatcar: Also allow writes to /dev/ptmx, which sometimes
# causes the sandbox to fail Jenkins builds.
addwrite /dev/ptmx
local target=$1
shift
mkdir "${BUILD_DIR}/${target}"
mkdir "${BUILD_DIR}/${target}" || die
cd "${BUILD_DIR}/${target}" || die
local conf=(
@ -197,10 +204,19 @@ do_configure() {
src_compile() {
# See comments in src_configure.
if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
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
}
@ -228,7 +244,7 @@ do_compile() {
# 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
rm -f misc/pc-files || die
emake "$@"
}
@ -255,29 +271,34 @@ multilib_src_install() {
fi
# Build fails to create this ...
dosym ../share/terminfo /usr/$(get_libdir)/terminfo
# -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() {
# Flatcar: Add a symlink-usr USE flag for keeping a minimal
# set of terminfo files in /usr/share/terminfo.
if ! use symlink-usr ; then
# We need the basic terminfo files in /etc, bug #37026
# We need the basic terminfo files in /etc for embedded/recovery. #37026
einfo "Installing basic terminfo files in /etc..."
local x
for x in "${MINIMAL_TERMINFO[@]}"
do
for x in "${MINIMAL_TERMINFO[@]}"; do
local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
local basedir=$(basename $(dirname "${termfile}"))
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}
dodir "/etc/terminfo/${basedir}"
mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
dosym "../../../../etc/terminfo/${basedir}/${x}" \
"/usr/share/terminfo/${basedir}/${x}"
fi
done
echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses
doenvd "${T}"/50ncurses
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
@ -290,11 +311,11 @@ multilib_src_install_all() {
find "${D}"/usr/share/terminfo -type d -empty -delete || die
fi
cd "${S}"
cd "${S}" || die
dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
if use doc ; then
docinto html
dohtml -r doc/html/
dodoc -r doc/html/
fi
}