From f91fe1660806f6ac0e103fa3eb339c6d44943dda Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 3 Feb 2026 23:11:07 +0000 Subject: [PATCH 1/4] toolchain-autoconf.eclass: use ${SLOT} for env filename Prereleases for autoconf (and automake) now follow the usual GNU convention of X.Y.90 (etc), so we need to adapt the env filename logic to include SLOT rather than PV, otherwise 2.72.90 "mangles" the same as 2.72. Signed-off-by: Sam James --- eclass/toolchain-autoconf.eclass | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass index 330ec45dd7d1b..f4eda613d2728 100644 --- a/eclass/toolchain-autoconf.eclass +++ b/eclass/toolchain-autoconf.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: toolchain-autoconf.eclass @@ -102,8 +102,9 @@ toolchain-autoconf_src_install() { else rm -f dir || die - local major="$(ver_cut 1)" - local minor="$(ver_cut 2)" + local major="$(ver_cut 1 ${SLOT})" + local minor="$(ver_cut 2 ${SLOT})" + local idx="$((99999-(major*1000+minor)))" newenvd - "${TC_AUTOCONF_ENVPREFIX}${PN}${idx}" <<-EOF INFOPATH="${TC_AUTOCONF_INFOPATH}" From 0cf60bdd8acf4b9712ca5634c78447b1bf1726a8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 3 Feb 2026 23:12:31 +0000 Subject: [PATCH 2/4] dev-build/autoconf: add 2.72.90 (unkeyworded) Note that autoconf now uses the regular GNU prerelease versioning. Bug: https://bugs.gentoo.org/966834 Signed-off-by: Sam James --- dev-build/autoconf/Manifest | 2 + dev-build/autoconf/autoconf-2.72.90.ebuild | 108 +++++++++++++++++++++ dev-build/autoconf/autoconf-9999.ebuild | 26 +++-- 3 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 dev-build/autoconf/autoconf-2.72.90.ebuild diff --git a/dev-build/autoconf/Manifest b/dev-build/autoconf/Manifest index 08c6d1ab3d7f9..7698a4ec3a51f 100644 --- a/dev-build/autoconf/Manifest +++ b/dev-build/autoconf/Manifest @@ -4,5 +4,7 @@ DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7 DIST autoconf-2.69.tar.xz.sig 556 BLAKE2B 07eaae3429f4bbd3ea40b4b366db383d9e322b03def7956f8961a20a6759072e8c327d4723313097f75caba0513928c37270beda8f8b491888fdd47a2ee80ad6 SHA512 e54082e00522463ba7d6b6ea6d700b8799a41177b34e057dd72abbe46219f0ce58674575d60fb106e37deeee8871d4ccfd85746c2d0e096a71eb096ffdb3020c DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0 DIST autoconf-2.71.tar.xz.sig 833 BLAKE2B a2641a0bec3b475874811dd21dc32d34672f4f084ea16d48bd0655df37251be810026c20e35869503e664701edcb64f260b142db671e160a554c2ee982838355 SHA512 83e6bf4504f5d188cad1387ce1f1ce4b14f5ee4961bbfd5c83dd281d724392a95b394079bfaa093eb81129873e668b6ca1eee013a60cfb76edf34454756f6667 +DIST autoconf-2.72.90.tar.xz 1409292 BLAKE2B 1d0a30ba22b25d7298676f40b56541b25906e95dc0381914e8941f8bd716585098efa8295ed3db9b4e234a073af6771f33db9397907d4beeadf5b9460842c9b2 SHA512 f485f10b2917759245dc1d5e7e7b6724d8b626543757853ae9de354a4c14b8ed3a016d1823d9553072fe08634d4fb9e0f5110637622b3c95e0f625b328f96f01 +DIST autoconf-2.72.90.tar.xz.sig 870 BLAKE2B 01eddca0f27ee008f3b833ed2e34040243fab369003a92352fc9b11a419353814604bc12c67ffc699b79752df90ffaab6e148469806ec3948def9d64e174f888 SHA512 87233fe09c17b752b97f68b4a4b159ccc96da89b279fed0a2e5b7fe72989a677d8303da9cc3bad21a6c074baa425120a7bcf289f0c65d1be4e89594449415dcb DIST autoconf-2.72.tar.xz 1389680 BLAKE2B 01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db SHA512 c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17 DIST autoconf-2.72.tar.xz.sig 833 BLAKE2B cc33101c5d2bd28f233e54a2843d3c81dc9729238b0900a8f23ef17b982aa0e0194892c07b1365246b6c9c0ea74becd288ae581ee34d593131b83538c69a6204 SHA512 7a0d350b23cf47c45811ae35928a4fec67ce1f3adb1965904fe6d9a0fad68139df4902662bcf4731a2f809381cae0b265a8f1f57d0a9a39777250a97a3c481d9 diff --git a/dev-build/autoconf/autoconf-2.72.90.ebuild b/dev-build/autoconf/autoconf-2.72.90.ebuild new file mode 100644 index 0000000000000..ec41a181b6638 --- /dev/null +++ b/dev-build/autoconf/autoconf-2.72.90.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_VER 'upstream' in dev-build/autoconf-wrapper +# on new autoconf releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOCONF and _autoconf_atom case statement in autotools.eclass. + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git" + inherit git-r3 + AUTOCONF_SLOT="9999" +else + #PATCH_TARBALL_NAME="${PN}-2.70-patches-01" + + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/zackweinberg.asc + inherit verify-sig + + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz + https://meyering.net/ac/${P}.tar.xz + verify-sig? ( + https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz.sig + mirror://gnu/${PN}/${P}.tar.xz.sig + ) + " + + AUTOCONF_EXTRA_VER=$(ver_cut 3) + if [[ ${AUTOCONF_EXTRA_VER} -ge 90 ]] ; then + # Prereleases get no keywords and their slot bumped up + # e.g. SLOT for 2.72(.90) -> 2.73 + AUTOCONF_SLOT=$(ver_cut 1).$((($(ver_cut 2) + 1))) + else + AUTOCONF_SLOT=$(ver_cut 1-2) + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" +fi + +inherit toolchain-autoconf multiprocessing + +DESCRIPTION="Used to create autoconfiguration files" +HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" + +LICENSE="GPL-3+" +SLOT="${AUTOCONF_SLOT}" + +BDEPEND+=" + >=dev-lang/perl-5.10 + >=sys-devel/m4-1.4.16 +" +RDEPEND=" + ${BDEPEND} + >=dev-build/autoconf-wrapper-20231224 + sys-devel/gnuconfig + !~${CATEGORY}/${P}:2.5 +" +[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3" + +src_prepare() { + if [[ ${PV} == *9999 ]] ; then + # Avoid the "dirty" suffix in the git version by generating it + # before we run later stages which might modify source files. + local ver=$(./build-aux/git-version-gen .tarball-version) + echo "${ver}" > .tarball-version || die + + export WANT_AUTOCONF=2.5 + export WANT_AUTOMAKE=1.17 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + fi + + # usr/bin/libtool is provided by binutils-apple, need gnu libtool + if [[ ${CHOST} == *-darwin* ]] ; then + PATCHES+=( "${FILESDIR}"/${PN}-2.71-darwin.patch ) + fi + + # Save timestamp to avoid later makeinfo call + touch -r doc/{,old_}autoconf.texi || die + + toolchain-autoconf_src_prepare + + # Restore timestamp to avoid makeinfo call + # We already have an up to date autoconf.info page at this point. + touch -r doc/{old_,}autoconf.texi || die +} + +src_test() { + emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" +} + +src_install() { + toolchain-autoconf_src_install + + # dissuade Portage from removing our dir file + touch "${ED}"/usr/share/${P}/info/.keepinfodir || die + + local f + for f in config.{guess,sub} ; do + ln -fs ../../gnuconfig/${f} \ + "${ED}"/usr/share/autoconf-*/build-aux/${f} || die + done +} diff --git a/dev-build/autoconf/autoconf-9999.ebuild b/dev-build/autoconf/autoconf-9999.ebuild index f4d209e67603a..ec41a181b6638 100644 --- a/dev-build/autoconf/autoconf-9999.ebuild +++ b/dev-build/autoconf/autoconf-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,24 +11,30 @@ EAPI=8 if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git" inherit git-r3 + AUTOCONF_SLOT="9999" else - # For _beta handling replace with real version number - MY_PV="${PV}" - MY_P="${PN}-${MY_PV}" #PATCH_TARBALL_NAME="${PN}-2.70-patches-01" VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/zackweinberg.asc inherit verify-sig SRC_URI=" - mirror://gnu/${PN}/${MY_P}.tar.xz - https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz + mirror://gnu/${PN}/${P}.tar.xz + https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz https://meyering.net/ac/${P}.tar.xz - verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig ) + verify-sig? ( + https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz.sig + mirror://gnu/${PN}/${P}.tar.xz.sig + ) " - S="${WORKDIR}"/${MY_P} - if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then + AUTOCONF_EXTRA_VER=$(ver_cut 3) + if [[ ${AUTOCONF_EXTRA_VER} -ge 90 ]] ; then + # Prereleases get no keywords and their slot bumped up + # e.g. SLOT for 2.72(.90) -> 2.73 + AUTOCONF_SLOT=$(ver_cut 1).$((($(ver_cut 2) + 1))) + else + AUTOCONF_SLOT=$(ver_cut 1-2) KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi @@ -41,7 +47,7 @@ DESCRIPTION="Used to create autoconfiguration files" HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" LICENSE="GPL-3+" -SLOT="$(ver_cut 1-2)" +SLOT="${AUTOCONF_SLOT}" BDEPEND+=" >=dev-lang/perl-5.10 From 816ff2527f5f341eb07e686942c46b4a17fdb646 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 3 Feb 2026 23:14:32 +0000 Subject: [PATCH 3/4] sys-libs/glibc: Stabilize 2.41-r10 arm64, #969576 Signed-off-by: Sam James --- sys-libs/glibc/glibc-2.41-r10.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys-libs/glibc/glibc-2.41-r10.ebuild b/sys-libs/glibc/glibc-2.41-r10.ebuild index ddf789a156c1c..eee2586a0759d 100644 --- a/sys-libs/glibc/glibc-2.41-r10.ebuild +++ b/sys-libs/glibc/glibc-2.41-r10.ebuild @@ -41,7 +41,7 @@ HOMEPAGE="https://www.gnu.org/software/libc/" if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi From 913fd61f0ffccb4891538efc36d0c88d7b9d9911 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 3 Feb 2026 22:14:19 +0000 Subject: [PATCH 4/4] toolchain-funcs.eclass: adapt tc-is-lto to non-ELF Closes: https://bugs.gentoo.org/969442 Thanks-to: James McClain Signed-off-by: Sam James --- eclass/toolchain-funcs.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index 3f820c2d8559d..24eba4a4f5728 100644 --- a/eclass/toolchain-funcs.eclass +++ b/eclass/toolchain-funcs.eclass @@ -1,4 +1,4 @@ -# Copyright 2002-2025 Gentoo Authors +# Copyright 2002-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: toolchain-funcs.eclass @@ -1248,7 +1248,7 @@ tc-is-lto() { ;; gcc) $(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<<"" || die - [[ $($(tc-getREADELF) -S "${f}") == *.gnu.lto* ]] && ret=0 + [[ $($(tc-getOBJDUMP) -s "${f}") == *.gnu.lto* ]] && ret=0 ;; esac rm -f "${f}" || die