sys-libs/ncurses: Sync with Gentoo

It's from Gentoo commit 84650f6c96c34b09eb3c2362725c54b5fa6a9dda.
This commit is contained in:
Flatcar Buildbot 2025-04-07 07:12:26 +00:00 committed by Krzesimir Nowak
parent ad8cd10abc
commit 77f2349ee3
2 changed files with 490 additions and 0 deletions

View File

@ -225,6 +225,12 @@ DIST ncurses-6.5-20250301.patch.gz 68821 BLAKE2B 5425c87b29bd21109d725f84d9dd32d
DIST ncurses-6.5-20250301.patch.gz.asc 729 BLAKE2B dc98383dff539f29e095b7815e4809352f717c0096bb006ac4b05065e947b16350cda03f2cbfadf13d9915c049e5b5b6b7c43ef369231525a5fa346d915a6cba SHA512 7290322560a9443b2259f4711d3349cafea3a67a04e80537f0d3f35b4d68c0dff217b004739fbba92e41e290deb866ba00520fd14a6d420a2052cad80eeff31b DIST ncurses-6.5-20250301.patch.gz.asc 729 BLAKE2B dc98383dff539f29e095b7815e4809352f717c0096bb006ac4b05065e947b16350cda03f2cbfadf13d9915c049e5b5b6b7c43ef369231525a5fa346d915a6cba SHA512 7290322560a9443b2259f4711d3349cafea3a67a04e80537f0d3f35b4d68c0dff217b004739fbba92e41e290deb866ba00520fd14a6d420a2052cad80eeff31b
DIST ncurses-6.5-20250308.patch.gz 25507 BLAKE2B ce846a29f11a6026f3c2f470a591b364b98bf39b34ffdf45922234d4e5c3402519ee569fc76bb529afd816b26cb33f518a69dd590dab736719ddbc06f19cab9a SHA512 1ac6c11e364efc09769cc4742b3fe6315c882e17d4b7c5aba81cd10d9fe62d103003b60ed1edd3fc3ed3b003c8bb198b47d25506302bdec493c7dc115ccf1d54 DIST ncurses-6.5-20250308.patch.gz 25507 BLAKE2B ce846a29f11a6026f3c2f470a591b364b98bf39b34ffdf45922234d4e5c3402519ee569fc76bb529afd816b26cb33f518a69dd590dab736719ddbc06f19cab9a SHA512 1ac6c11e364efc09769cc4742b3fe6315c882e17d4b7c5aba81cd10d9fe62d103003b60ed1edd3fc3ed3b003c8bb198b47d25506302bdec493c7dc115ccf1d54
DIST ncurses-6.5-20250308.patch.gz.asc 729 BLAKE2B de715c834df717cd24a5c76a62ae64f8fdbad7ec456b1d8b0c80e404194fb9b5a098889d73e1509527062b82336d8e1c8c9c377c9c30830804918b1ce7c5db51 SHA512 41c3932f3fa6c1fa00213ff384bbb073119ecd3f7e16094d9b98b949e04c6444c5a96e7b747cc250e905a9f45cb2d484824401e0beb29ee65cc3874501216455 DIST ncurses-6.5-20250308.patch.gz.asc 729 BLAKE2B de715c834df717cd24a5c76a62ae64f8fdbad7ec456b1d8b0c80e404194fb9b5a098889d73e1509527062b82336d8e1c8c9c377c9c30830804918b1ce7c5db51 SHA512 41c3932f3fa6c1fa00213ff384bbb073119ecd3f7e16094d9b98b949e04c6444c5a96e7b747cc250e905a9f45cb2d484824401e0beb29ee65cc3874501216455
DIST ncurses-6.5-20250315.patch.gz 24256 BLAKE2B 1cc1d49aa7fa6de72e3c29224e0c2b3cc52ac822a37ac6536cc0cebbeec58756957d30f14834c7db290bfc771bb1f5b904fbd23f4022d9d152f6a852101d95cc SHA512 6c25a2318f89bb462177d22b3718b251a0aa8253e4de386ba329ee6ad6d6096ed700373899ffb3789d6332f3fb5658b98f058904ac8ccc0880a6cec32304b876
DIST ncurses-6.5-20250315.patch.gz.asc 729 BLAKE2B 9c5db62891ed844ea039ad0db6ec6bfabeb4955e2133ff09097dcdbde8bb27f973ca76440ad784d231331b421d3e40237ca84211d812c98924d4dc764d557ef8 SHA512 61327a0ff14c9af35aa89aeaf38280920cb0d53da7b764e956baf8d8f4ed34d517b93be6e64080ab43ffd4d375f75a0c5e2a379ea2530cb7b091f43c567c7dd4
DIST ncurses-6.5-20250322.patch.gz 4987 BLAKE2B 708811bca043891e8c09ef137e0e2cff9a09b2a7d2e9ddcce5b0a1c8822e7e4d34c87d9963f8795b73394cc25b0b7681384d0cd9b8de8efc48e3017965e942b8 SHA512 5342d1571c82a492fc4ed9448c72303871709d37840a96d44be4b4a16254051b44cfb89272e29c1f0b283073ae82ff73e7ee9e2d75ade226957d1da838854456
DIST ncurses-6.5-20250322.patch.gz.asc 729 BLAKE2B bd38bf5ed3c387f5b5726363e3ff58d7f0654a7fab6fa590a7965fd169ca0280832130a338d42692dee72da97afd63b5e738670df37a28f170339de6097e040c SHA512 649b46cbe129f48ac030e79d4f8ddeb3ee1da46af634022f4bf059e3ce31ce02a633f53eda776ac8c49d9ce0c4fdf8d8eabc1e1b22d9205c582d9b9485198e9a
DIST ncurses-6.5-20250329.patch.gz 5288 BLAKE2B 2cb8cbff061fd22badf488db087855287f86fef50c79ca94bb81cf0152bbe266f2406ad62a1eba99ab7c090dd3b01df8964f2b5ae952c0c715da7947687ec00e SHA512 42e88dfe5c862ebb6effd6cf9e3bc79d5ad797b544a0f8891d165e97a4e1ab840efc3782e8fe78327cd030d3c1c9de3ba20a7c68b32ef9910b4530500f605694
DIST ncurses-6.5-20250329.patch.gz.asc 729 BLAKE2B 96517ad803d2b91849119c890b6cf7e42f401c660e992f9b4564d5c6c4e2eab585c2dea85a41e4bd0d54b4434932cbd885d2a393063934e092712b043391c700 SHA512 24afa71c892737b4e0a557e6efa37f3ee65bd341c47ed2015322d8d0575efac0eaa9518e967a2c40e91a3f560d58ea553ed3d089d729dd53671db1abe271bd4d
DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8 DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8
DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092 DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092
DIST ncurses-6.5_p20241109-patches.tar.xz 63676 BLAKE2B 9981b740fcec18cc794074ccc93ae1dbe175e52449af2bddfd10a6fb1d5dfe9b545bd19fce5e601d2d85008425fd5cd6fc33042d7bcc854363b0642b9c880efe SHA512 076d2d39c46cf9236e5e65472e10182da2dffffa936c7567b11e23323d64f9739bb3818d4fdbdd75a14fd3f5b202dcdb7aaa6813afb5e303f81c094339824162 DIST ncurses-6.5_p20241109-patches.tar.xz 63676 BLAKE2B 9981b740fcec18cc794074ccc93ae1dbe175e52449af2bddfd10a6fb1d5dfe9b545bd19fce5e601d2d85008425fd5cd6fc33042d7bcc854363b0642b9c880efe SHA512 076d2d39c46cf9236e5e65472e10182da2dffffa936c7567b11e23323d64f9739bb3818d4fdbdd75a14fd3f5b202dcdb7aaa6813afb5e303f81c094339824162

View File

@ -0,0 +1,484 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream
# provide a configure option for the ABI version.
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig
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/"
# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net
SRC_URI="
mirror://gnu/ncurses/${MY_P}.tar.gz
https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )
"
GENTOO_PATCH_DEV=sam
GENTOO_PATCH_PV=6.5_p20250301
GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches
# Populated below in a loop. Do not add patches manually here.
UPSTREAM_PATCHES=()
if [[ ${PV} == *_p* ]] ; then
# Sometimes, after releases, there's no megapatch available yet.
#
# From upstream README at e.g. https://invisible-island.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."
#
# Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html,
# the patches are considered to be acceptable to use after some testing. They
# are both for development but also bug fixes.
#
# This array should contain a list of all the snapshots since the last
# release if there's no megapatch available yet.
PATCH_DATES=(
20240504
20240511
20240518
20240519
20240525
20240601
20240608
20240615
20240622
20240629
20240706
20240713
20240720
20240727
20240810
20240817
20240824
20240831
20240914
20240922
20240928
20241006
20241019
20241026
20241102
20241109
20241123
20241130
20241207
20241214
20241221
20241228
20250104
20250111
20250118
20250125
20250201
20250208
20250215
20250216
20250222
20250301
20250308
20250315
20250322
# Latest patch is just _pN = $(ver_cut 4)
$(ver_cut 4)
)
if [[ -z ${PATCH_DATES[@]} ]] ; then
SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz"
SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc"
# If we have a rollup patch, use that instead of the individual ones.
UPSTREAM_PATCHES+=( patch.sh )
else
# We use a mirror as well because we've had reports of 403 forbidden for some users.
upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-"
upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-"
# Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P})
mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" )
# Suffix each with .patch.gz
mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" )
mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" )
# Repeat for .patch.gz.asc for verify-sig
SRC_URI+=" ${mangled_patches[@]}"
SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )"
# For all of the URLs, chuck in invisible-island.net too:
SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}"
SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )"
UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" )
unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig
fi
fi
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
# The subslot reflects the SONAME.
SLOT="0/6"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace"
# In 6.5_p20250118, the C++ examples fail to link, but there's no automated
# testsuite anyway. Controlling building examples isn't really what USE=test
# is for. Just restrict them.
RESTRICT="!test? ( test ) test"
# TODO: ncurses allows (and we take advantage of this, even) passing
# the SONAME for dlopen() use, so only the header is needed at build time.
# Maybe we should bundle a copy of gpm.h so we can move gpm to PDEPEND
# which would be far nicer UX-wise.
DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
# Block the older ncurses that installed all files w/SLOT=5, bug #557472
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
!minimal? ( !<x11-terms/ghostty-1.1.0 )
"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
PATCHES=(
"${UPSTREAM_PATCHES[@]/#/${WORKDIR}/${MY_P}-}"
# When rebasing Gentoo's patchset, please use git from a clean
# src_prepare with upstream patches already applied. git am --reject
# the existing patchset and rebase as required. This makes it easier
# to manage future rebasing & adding new patches.
#
# For the same reasons, please include the original configure.in changes,
# NOT just the generated results!
"${WORKDIR}"/${GENTOO_PATCH_NAME}
)
src_unpack() {
# Avoid trying to verify our own patchset tarball, there's no point
if use verify-sig ; then
local file
for file in ${A} ; do
if [[ ${file} == ${MY_P}.tar.gz ]] ; then
verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.sig
else
[[ ${file} == @(*${GENTOO_PATCH_NAME}.tar.xz|*.asc|*.sig) ]] && continue
verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.asc
fi
done
fi
default
}
src_configure() {
# bug #115036
unset TERMINFO
tc-export_build_env BUILD_{CC,CXX,CPP}
# bug #214642
BUILD_CPPFLAGS+=" -D_GNU_SOURCE"
# NCURSES_BOOL confusion, see https://lists.gnu.org/archive/html/bug-ncurses/2024-11/msg00010.html
append-cflags $(test-flags-CC -std=gnu17)
# 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
ncursesw
ncursest
ncursestw
)
# 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. bug #249363, bug #557598
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= ;;
*-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
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}" \
CC=${BUILD_CC} \
CXX=${BUILD_CXX} \
CPP=${BUILD_CPP} \
CHOST=${CBUILD} \
CFLAGS=${BUILD_CFLAGS} \
CXXFLAGS=${BUILD_CXXFLAGS} \
CPPFLAGS=${BUILD_CPPFLAGS} \
LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
do_configure cross --without-shared --with-normal --with-progs --without-ada
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
if [[ ${ABI} == x86 ]] ; then
# For compatibility with older binaries at slight performance cost.
# bug #616402
use stack-realign && append-flags -mstackrealign
fi
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"
# 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
--enable-fvisibility
# (Originally disabled until bug #245417 is sorted out, but now
# just keeping it off for good, given nobody needed it until now
# (2022) and we're trying to phase out bdb.)
--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)
# bug #930806
--disable-setuid-environ
# TODO: Maybe do these for USE=hardened
#--disable-root-access
#--disable-root-environ
--disable-termcap
--enable-symlinks
--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
)
case ${CHOST} in
*-mingw32*)
conf+=( --enable-term-driver )
;;
*)
conf+=( --disable-term-driver )
;;
esac
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
ECONF_SOURCE="${S}" econf "${conf[@]}" "$@"
}
src_compile() {
# See comments in src_configure.
if ! has_version -b "~sys-libs/${P}:0" ; then
BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext)
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
# Don't delete '*.dll.a', needed for linking, bug #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 (bug #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
# Remove obsolete libcurses symlink that is created by the build
# system. Technically, this could be also achieved
# via --disable-overwrite but it also moves headers implicitly,
# and we do not want to do this yet.
# bug #836696
rm "${ED}"/usr/$(get_libdir)/libcurses* || die
}
multilib_src_install_all() {
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
)
if use split-usr ; then
local x
# We need the basic terminfo files in /etc for embedded/recovery, bug #37026
einfo "Installing basic terminfo files in /etc..."
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
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
# bug #245374
keepdir /usr/share/terminfo
elif use minimal ; then
# Keep only the basic terminfo files
find "${ED}"/usr/share/terminfo/ \
\( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \
-type d -empty -delete || die
fi
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
}