commit:     bf264731ed43482d6d119edd8294fb601874b81d
Author:     Brett A C Sheffield <bacs <AT> librecast <DOT> net>
AuthorDate: Mon Mar  9 13:20:47 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Mar 11 13:42:45 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf264731

sys-libs/ncurses-compat: drop 6.4_p20230401

Security cleanup.

Bug: https://bugs.gentoo.org/904247
Signed-off-by: Brett A C Sheffield <bacs <AT> librecast.net>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/268
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/ncurses-compat/Manifest                   |   1 -
 .../ncurses-compat-6.4_p20230401.ebuild            | 325 ---------------------
 2 files changed, 326 deletions(-)

diff --git a/sys-libs/ncurses-compat/Manifest b/sys-libs/ncurses-compat/Manifest
index eb9c49fe4ca8..d220dfcc55ab 100644
--- a/sys-libs/ncurses-compat/Manifest
+++ b/sys-libs/ncurses-compat/Manifest
@@ -138,6 +138,5 @@ DIST ncurses-6.4-20240414.patch.gz 3007 BLAKE2B 
a4db0635df3b2669ae1ba0057c21f717
 DIST ncurses-6.4-20240414.patch.gz.asc 729 BLAKE2B 
8d579b2724245756947200a3e704c1ae534ba64e6986ad009a5ca9d33145fff82ddae9003a7c6ffe5b64b68f813661440afcac0a1321e5b80113d3ec94e1ea5a
 SHA512 
0976a253d11fb10d52fee1cd2ad38e80b0b531f89efe94a62b9a0e2d69206bd1574140785776c7f6bd19775f6ca446c582da31cd9f51a8b0f12039d1e9695600
 DIST ncurses-6.4.tar.gz 3612591 BLAKE2B 
47fd9c2d27f44fa9942552881a471e5067465dbace40bf68b28998dded0556127a1d8662b96de4de4fd76c1c8b98bdae796036553ab4b05ca9f160839d841ba3
 SHA512 
1c2efff87a82a57e57b0c60023c87bae93f6718114c8f9dc010d4c21119a2f7576d0225dab5f0a227c2cfc6fb6bdbd62728e407f35fce5bf351bb50cf9e0fd34
 DIST ncurses-6.4.tar.gz.sig 438 BLAKE2B 
e6a78b8d0cbce1577205b49b0260394094632cefd95294813c7e4e51a2908e8599a9f24b3b648e42ba16c015fb9424b2a82236f58aac3bf96f5400a50482e44e
 SHA512 
f2a7859725b4d5d62f68006338d56598ac6b38a1448983108906e192f0ec922be287cc89bcc79c1ae49ebc80c967af3dd077427f35ae579b00d445c882414fed
-DIST ncurses-6.4_p20230408-patches.tar.xz 80472 BLAKE2B 
0ba8156ebd4f1691fec7bc1b800ef39ce6a4210573c027dd437919cdcd7c995830116da06c69f31c65923845a4d5c88e974673fac38acce5813f7d6cdc646e3e
 SHA512 
32960e2cc4cd9dc60c38b49f46c5ce2c02179479abb66ca29f63cd06475ae8e26299a78b5f06762d114aefbbca3ba6fbebe7093a58106eeaa40cf500d21633a4
 DIST ncurses-6.4_p20240330-patches.tar.xz 63796 BLAKE2B 
3e6618ba0b37268d10a16cf26c2810e55c17ded97079af3753e34f2d12575f979a2e55cfd308abf783e35e39d4a848b89f435b4886d3633007ccb522b8dc2e51
 SHA512 
1bbf1978f9287f68bf6a8596f06d4d0523564bf3d2f6b3bd9746081a2fa0c76e36862beca62a4157d51cac0df61e456ddb6cacfae10b92344fe80cd752f72c38
 DIST ncurses-6.4_p20240413-patches.tar.xz 63760 BLAKE2B 
6a91d453cca3705ca54b3a6f2ef00250d655168c1697726db4b581a1597cbc143479b8794e176d5e4154c794f99ea33c3fe1eb26605789930fc82649a2da3c93
 SHA512 
59239503a9400e054641428528799aa9c13b12669b31f32b2ff18cb60882698801e04dcdf75ece8357c7a4c3b899a729aa973090ec12a20de72cb80a916878b8

diff --git a/sys-libs/ncurses-compat/ncurses-compat-6.4_p20230401.ebuild 
b/sys-libs/ncurses-compat/ncurses-compat-6.4_p20230401.ebuild
deleted file mode 100644
index efb71bebc292..000000000000
--- a/sys-libs/ncurses-compat/ncurses-compat-6.4_p20230401.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# This version is just for the ABI .5 library.
-# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream
-# provide a configure option (which we use here) for the ABI version.
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
-inherit flag-o-matic toolchain-funcs multilib multilib-minimal verify-sig
-
-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/";
-
-# 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/${MY_PN}/${MY_P}.tar.gz
-       https://invisible-mirror.net/archives/${MY_PN}/${MY_P}.tar.gz
-       verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )
-"
-
-GENTOO_PATCH_DEV=sam
-GENTOO_PATCH_PV=6.4_p20230408
-GENTOO_PATCH_NAME=${MY_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=(
-               20230107
-               20230114
-               20230121
-               20230128
-               20230211
-               20230218
-               20230225
-               20230311
-
-               # Latest patch is just _pN = $(ver_cut 4)
-               $(ver_cut 4)
-       )
-
-       if [[ -z ${PATCH_DATES[@]} ]] ; then
-               SRC_URI+=" 
https://invisible-island.net/archives/${MY_PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz";
-               SRC_URI+=" verify-sig? ( 
https://invisible-island.net/archives/${MY_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/${MY_PN}/${PV/_p*}/${MY_P}-";
-               
upstream_m_url_base="https://invisible-mirror.net/archives/${MY_PN}/${PV/_p*}/${MY_P}-";
-
-               # Prefix each date with the upstream location 
(https://invisible-island.net/archives/${MY_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}/${MY_PN}/${GENTOO_PATCH_NAME}.tar.xz";
-
-LICENSE="MIT"
-# The subslot reflects the SONAME.
-SLOT="5/5"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 
~sparc x86"
-IUSE="gpm +stack-realign tinfo unicode"
-
-DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
-# Block the ncurses-5 that installs the same lib, bug #557472
-RDEPEND="
-       ${DEPEND}
-       !<sys-libs/ncurses-6:0
-       !sys-libs/ncurses:5
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
-
-S="${WORKDIR}/${MY_P}"
-
-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"
-
-       # 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
-               $(usev 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. 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=     ;;
-               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
-       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-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-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
-
-       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 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
-}

Reply via email to