summaryrefslogtreecommitdiff
path: root/dev-build
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-15 19:18:29 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-15 19:18:29 +0000
commit4c588f061163483deaeecd52e6a5743762d2603e (patch)
treeb350c2c1cadf3ac9598a043421fcaf654b9e2bc7 /dev-build
parentb9d13f23ed10bb803607f6ef67f0df2f078aa70f (diff)
gentoo auto-resync : 15:01:2024 - 19:18:28
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/Manifest.gzbin2381 -> 4049 bytes
-rw-r--r--dev-build/autoconf-archive/Manifest3
-rw-r--r--dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild18
-rw-r--r--dev-build/autoconf-archive/metadata.xml12
-rw-r--r--dev-build/autoconf-dickey/Manifest9
-rw-r--r--dev-build/autoconf-dickey/autoconf-dickey-2.52_p20210509-r1.ebuild46
-rw-r--r--dev-build/autoconf-dickey/autoconf-dickey-2.52_p20221202.ebuild53
-rw-r--r--dev-build/autoconf-dickey/autoconf-dickey-2.52_p20230114.ebuild53
-rw-r--r--dev-build/autoconf-dickey/metadata.xml12
-rw-r--r--dev-build/autoconf-vanilla/Manifest28
-rw-r--r--dev-build/autoconf-vanilla/autoconf-vanilla-2.13.ebuild58
-rw-r--r--dev-build/autoconf-vanilla/autoconf-vanilla-2.69.ebuild95
-rw-r--r--dev-build/autoconf-vanilla/autoconf-vanilla-2.71.ebuild88
-rw-r--r--dev-build/autoconf-vanilla/autoconf-vanilla-2.72.ebuild99
-rw-r--r--dev-build/autoconf-vanilla/autoconf-vanilla-9999.ebuild99
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.13-destdir.patch26
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.13-gentoo.patch36
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.13-perl-5.26.patch12
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.13-test-fixes.patch18
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.61-darwin.patch11
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.69-fix-libtool-test.patch31
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.69-make-tests-bash5-compatible.patch63
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26-2.patch30
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26.patch28
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch35
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.71-conflicts.patch47
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.71-darwin.patch11
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.71-make-4.4.patch25
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.71-time.patch49
-rw-r--r--dev-build/autoconf-vanilla/files/autoconf-2.72-conflicts.patch49
-rw-r--r--dev-build/autoconf-vanilla/metadata.xml11
-rw-r--r--dev-build/autoconf-wrapper/Manifest6
-rw-r--r--dev-build/autoconf-wrapper/autoconf-wrapper-20221207-r1.ebuild45
-rw-r--r--dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild47
-rw-r--r--dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild47
-rw-r--r--dev-build/autoconf-wrapper/metadata.xml13
-rw-r--r--dev-build/autoconf/Manifest37
-rw-r--r--dev-build/autoconf/autoconf-2.13-r7.ebuild60
-rw-r--r--dev-build/autoconf/autoconf-2.13-r8.ebuild59
-rw-r--r--dev-build/autoconf/autoconf-2.69-r9.ebuild81
-rw-r--r--dev-build/autoconf/autoconf-2.71-r6.ebuild88
-rw-r--r--dev-build/autoconf/autoconf-2.71-r7.ebuild103
-rw-r--r--dev-build/autoconf/autoconf-2.72-r1.ebuild97
-rw-r--r--dev-build/autoconf/autoconf-9999.ebuild97
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-Clang-16-fixes-for-various-tests.patch331
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-K-R-decls-clang.patch346
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-destdir.patch26
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-gentoo.patch36
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-perl-5.26.patch12
-rw-r--r--dev-build/autoconf/files/autoconf-2.13-test-fixes.patch18
-rw-r--r--dev-build/autoconf/files/autoconf-2.61-darwin.patch11
-rw-r--r--dev-build/autoconf/files/autoconf-2.69-K-R-decls-clang.patch394
-rw-r--r--dev-build/autoconf/files/autoconf-2.69-fix-libtool-test.patch31
-rw-r--r--dev-build/autoconf/files/autoconf-2.69-make-tests-bash5-compatible.patch63
-rw-r--r--dev-build/autoconf/files/autoconf-2.69-perl-5.26-2.patch30
-rw-r--r--dev-build/autoconf/files/autoconf-2.69-perl-5.26.patch28
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-AC_C_BIGENDIAN-lto.patch50
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch35
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang-deux.patch94
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang.patch114
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-bash52.patch65
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-cxx11typo.patch31
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-darwin.patch11
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-make-4.4.patch25
-rw-r--r--dev-build/autoconf/files/autoconf-2.71-time.patch49
-rw-r--r--dev-build/autoconf/metadata.xml11
-rw-r--r--dev-build/automake-vanilla/Manifest15
-rw-r--r--dev-build/automake-vanilla/automake-vanilla-1.11.6.ebuild103
-rw-r--r--dev-build/automake-vanilla/automake-vanilla-1.15.1.ebuild114
-rw-r--r--dev-build/automake-vanilla/automake-vanilla-1.16.5.ebuild122
-rw-r--r--dev-build/automake-vanilla/automake-vanilla-9999.ebuild118
-rw-r--r--dev-build/automake-vanilla/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch77
-rw-r--r--dev-build/automake-vanilla/files/automake-1.11.6-perl-5.16.patch128
-rw-r--r--dev-build/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch37
-rw-r--r--dev-build/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch51
-rw-r--r--dev-build/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch26
-rw-r--r--dev-build/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch26
-rw-r--r--dev-build/automake-vanilla/files/automake-1.16.5-py3-compile.patch73
-rw-r--r--dev-build/automake-vanilla/metadata.xml12
-rw-r--r--dev-build/automake-wrapper/Manifest4
-rw-r--r--dev-build/automake-wrapper/automake-wrapper-20221207.ebuild48
-rw-r--r--dev-build/automake-wrapper/automake-wrapper-99999999.ebuild48
-rw-r--r--dev-build/automake-wrapper/metadata.xml13
-rw-r--r--dev-build/automake/Manifest14
-rw-r--r--dev-build/automake/automake-1.11.6-r4.ebuild91
-rw-r--r--dev-build/automake/automake-1.16.5-r1.ebuild131
-rw-r--r--dev-build/automake/automake-9999.ebuild128
-rw-r--r--dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch77
-rw-r--r--dev-build/automake/files/automake-1.11.6-perl-5.16.patch128
-rw-r--r--dev-build/automake/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch37
-rw-r--r--dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch53
-rw-r--r--dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch26
-rw-r--r--dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch28
-rw-r--r--dev-build/automake/files/automake-1.16.5-parallel-build.patch54
-rw-r--r--dev-build/automake/files/automake-1.16.5-py3-compile.patch75
-rw-r--r--dev-build/automake/metadata.xml12
-rw-r--r--dev-build/libtool/Manifest14
-rw-r--r--dev-build/libtool/files/libtool-2.2.10-eprefix.patch11
-rw-r--r--dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch24
-rw-r--r--dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch38
-rw-r--r--dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch13
-rw-r--r--dev-build/libtool/files/libtool-2.4.6-ppc64le.patch111
-rw-r--r--dev-build/libtool/files/libtool-2.4.6-pthread.patch43
-rw-r--r--dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch21
-rw-r--r--dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch31
-rw-r--r--dev-build/libtool/files/libtool-2.4.7-werror-lto.patch47
-rw-r--r--dev-build/libtool/libtool-2.4.7-r1.ebuild117
-rw-r--r--dev-build/libtool/libtool-2.4.7-r2.ebuild119
-rw-r--r--dev-build/libtool/libtool-9999.ebuild117
-rw-r--r--dev-build/libtool/metadata.xml11
-rw-r--r--dev-build/slibtool/Manifest8
-rw-r--r--dev-build/slibtool/metadata.xml16
-rw-r--r--dev-build/slibtool/slibtool-0.5.34.ebuild38
-rw-r--r--dev-build/slibtool/slibtool-0.5.35.ebuild38
-rw-r--r--dev-build/slibtool/slibtool-9999.ebuild38
115 files changed, 6470 insertions, 0 deletions
diff --git a/dev-build/Manifest.gz b/dev-build/Manifest.gz
index b0ceccf17b70..641d3f89d0ab 100644
--- a/dev-build/Manifest.gz
+++ b/dev-build/Manifest.gz
Binary files differ
diff --git a/dev-build/autoconf-archive/Manifest b/dev-build/autoconf-archive/Manifest
new file mode 100644
index 000000000000..f7d0e3fe25b1
--- /dev/null
+++ b/dev-build/autoconf-archive/Manifest
@@ -0,0 +1,3 @@
+DIST autoconf-archive-2023.02.20.tar.xz 678184 BLAKE2B a72469e61a6ef702cbf4e30712c7dbe36369da7dad6e2312eb7026af41a989a47ded0a27975349486b69155f9e8199f89720dc57f98440b2766294a0f8755ee6 SHA512 a744f5aa0c1a813b81ad1528aebf7511bde7f470f34626d2057ed6664127120182e031fec5d22027d4a204544266135f202b8ef453bff70a3b0315c506c82528
+EBUILD autoconf-archive-2023.02.20.ebuild 589 BLAKE2B 79f21724113ba89cdc2a8933fc2fc2484f474ccb86c4e6799eed3401e3ea19c914068ff6d2300f88d782ab5fff655f82df68f3709022157574b6d8ee1122f04c SHA512 54307d86b6aebbf7d31960737206de0d81965adf944a3f640946f5cec038a176ec635a5fa51d9ae3565ac68f470e4039690011991fdcdc3153b488281c0a8367
+MISC metadata.xml 380 BLAKE2B 49267dfffb9d805ec3628b175ceab3aa82106669690fe263ae9b9a07f2706f481ef976b56b561f1eeabef18b5be871c3d76161601d5654912a94b92716ec2a66 SHA512 de2dac77eea27093848b2233f6be17e2f1caf4a22b58904c6596990ab1bae444c8f21d17bc0e4d3b5aa3de2d5866701f733ec86ec81689d3d0bc3bda3167e04b
diff --git a/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild b/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild
new file mode 100644
index 000000000000..8e89dff7eac1
--- /dev/null
+++ b/dev-build/autoconf-archive/autoconf-archive-2023.02.20.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="GNU Autoconf Macro Archive"
+HOMEPAGE="https://www.gnu.org/software/autoconf-archive/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# File collisions, bug #540246
+RDEPEND="
+ !=gnome-base/gnome-common-3.14.0-r0
+ !>=gnome-base/gnome-common-3.14.0-r1[-autoconf-archive(+)]
+"
diff --git a/dev-build/autoconf-archive/metadata.xml b/dev-build/autoconf-archive/metadata.xml
new file mode 100644
index 000000000000..9eca8509dc82
--- /dev/null
+++ b/dev-build/autoconf-archive/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">autoconf-archive/autoconf-archive</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/autoconf-dickey/Manifest b/dev-build/autoconf-dickey/Manifest
new file mode 100644
index 000000000000..99e29f4a54de
--- /dev/null
+++ b/dev-build/autoconf-dickey/Manifest
@@ -0,0 +1,9 @@
+DIST autoconf-2.52-20210509.tgz 874991 BLAKE2B bf8ff6496887f23cce167dfcc5177117ab5514996884998b3237c21e355b34301aabb71dacbff1e171ef21530d745345e584d876b3b5571f4faf863135b4269f SHA512 0203bbe096a2ecbee6bf012fec10a8f90e0b391d5988e202d2a1c718aa856d6c4953fb5e2be215ae635cd6b876b0229d6de1ffc7e2b35cd14684ef7c8294e546
+DIST autoconf-2.52-20221202.tgz 877960 BLAKE2B 52ef77d98f5d6e64e4c13e09ef92b3141703238953ad27b6e232cb62407cd56b07a1cad79f4405606f400246e85650925a7035b73119cda70d7faf049b61105c SHA512 8becd8791dbdbcf0801bbed8cbdf70666db10e3c6882b3f8e63e1cf04163818345be573018d96a2e0a28770e13cc452126fb9cb23b223df598c50f59e69c2d1a
+DIST autoconf-2.52-20221202.tgz.asc 729 BLAKE2B 64a528da36243271d1ae1e95e4182c663c571021e617554076bed78e5c12a3f16a2554e3b41ad6372751090ac05770bc59f090ca1e5226aa2c7c5fda48026bbf SHA512 dadf6805072cc072bbd16a939b285c7ab378e23aa0b9e6c808eb11bf40b679cc97cc748c524ac7255a0b47a4815dcd2796c606f963dbbce52a93956ccc8814fd
+DIST autoconf-2.52-20230114.tgz 878069 BLAKE2B 96e93585088b87acf0c3336e390ef098e9aa5569e2aab2d05e4c963894e076c991b65d93476fc671395d399a7078f8b618166e39052933352f366f8d2ab849d7 SHA512 41427e45b6b9c36dfd65f9b00792e6edc135e3b5fe06b2a0870f9380d96d567036fb3f30e8be28c9443c7557fadf66d1409f59def127a824478db89b5f29f517
+DIST autoconf-2.52-20230114.tgz.asc 729 BLAKE2B 9bcafe59763d2fb169e498ee5542500184974697838497dcd722d43c14e90475e004c0c7ae9fe2bdac523cb9d14ebe82a19d10c3369fe2a035c2f44b60c4d676 SHA512 d60d0155fa20f4808cc49ae06e76a969b82e2b2e5ea4ecd08182b34ca224401eab012659d2519072ca8afdf1ddc2febf8af090cff28990e2b4f2372da13635a8
+EBUILD autoconf-dickey-2.52_p20210509-r1.ebuild 1146 BLAKE2B 1359e6c7c34f5d2c589b0be210f2ed20932d0413a6b1fdf691ac8bf1455fb0bec13b88678de19d5bff66453e4ec9a525b7e06c0d52ab1588180051b968cd8388 SHA512 ac987e91c870bee1f76c8dd871828cfb00109e3dcea477320c05ffd8e76472e382cefbcdae45d60f657f7b8d8240ddb2e149fbce01297a6c23dfd6a8e1d32ce1
+EBUILD autoconf-dickey-2.52_p20221202.ebuild 1369 BLAKE2B 26729ef3e3eb10d368c0b5474ac0ff2bbe0239fa1dfebe8fb6668240c83948a68cd5d6276c329519fba50c18f6ad5ebab145a17981b874c61c1c54309962ffaa SHA512 2735ddb79363c3c479c6b4e5bdb6a2a491e2dcad1a44133b788b2fa2a9a7e2c2cf6d7b2e5c85efef3d93a09b74ce0d1d03fa1fa44e7a44974e501966208ce8ee
+EBUILD autoconf-dickey-2.52_p20230114.ebuild 1369 BLAKE2B 26729ef3e3eb10d368c0b5474ac0ff2bbe0239fa1dfebe8fb6668240c83948a68cd5d6276c329519fba50c18f6ad5ebab145a17981b874c61c1c54309962ffaa SHA512 2735ddb79363c3c479c6b4e5bdb6a2a491e2dcad1a44133b788b2fa2a9a7e2c2cf6d7b2e5c85efef3d93a09b74ce0d1d03fa1fa44e7a44974e501966208ce8ee
+MISC metadata.xml 443 BLAKE2B 3702c6704855d1a2ea5ef6441556539cab7d16977b789e9d4dc19705000f55f27de4a74c343f5f1ca985dd6e62b5eefbe27bb41dc2eea01d85676ca0ea140dac SHA512 76e9b97ac152a50a2e58feb20cdb56d7c92cac553e4c09a3686e7d0013c240da6d2d100f953b1fb164d71cd3cb6bacc36e2da980697254163901643b517be091
diff --git a/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20210509-r1.ebuild b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20210509-r1.ebuild
new file mode 100644
index 000000000000..6b58da0590b7
--- /dev/null
+++ b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20210509-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: verify-sig, adapt toolchain-autoconf to take econf args?
+# TODO: review our old autoconf-2.52 patches?
+
+MY_P=${PN/-dickey}-${PV/_p/-}
+DESCRIPTION="Fork of dev-build/autoconf for Thomas Dickey's packages"
+HOMEPAGE="https://invisible-island.net/autoconf/autoconf.html"
+SRC_URI="https://invisible-island.net/archives/autoconf/${MY_P}.tgz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.6
+"
+RDEPEND="${BDEPEND}"
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ #if [[ ${CHOST} == *-darwin* ]] ; then
+ # PATCHES+=( "${FILESDIR}"/${PN}-2.61-darwin.patch )
+ #fi
+
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --datadir="${EPREFIX}"/usr/share/${PN}
+ --program-suffix=-dickey
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # -j1 for bug #869278
+ emake -j1 check
+}
diff --git a/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20221202.ebuild b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20221202.ebuild
new file mode 100644
index 000000000000..81998a6d476c
--- /dev/null
+++ b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20221202.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: adapt toolchain-autoconf to take econf args?
+# TODO: review our old autoconf-2.52 patches?
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+MY_P=${PN/-dickey}-${PV/_p/-}
+DESCRIPTION="Fork of dev-build/autoconf for Thomas Dickey's packages"
+HOMEPAGE="https://invisible-island.net/autoconf/autoconf.html"
+SRC_URI="https://invisible-island.net/archives/autoconf/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/autoconf/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.6
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ #if [[ ${CHOST} == *-darwin* ]] ; then
+ # PATCHES+=( "${FILESDIR}"/${PN}-2.61-darwin.patch )
+ #fi
+
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --datadir="${EPREFIX}"/usr/share/${PN}
+ --program-suffix=-dickey
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # -j1 for bug #869278
+ emake -j1 check
+}
diff --git a/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20230114.ebuild b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20230114.ebuild
new file mode 100644
index 000000000000..81998a6d476c
--- /dev/null
+++ b/dev-build/autoconf-dickey/autoconf-dickey-2.52_p20230114.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: adapt toolchain-autoconf to take econf args?
+# TODO: review our old autoconf-2.52 patches?
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+MY_P=${PN/-dickey}-${PV/_p/-}
+DESCRIPTION="Fork of dev-build/autoconf for Thomas Dickey's packages"
+HOMEPAGE="https://invisible-island.net/autoconf/autoconf.html"
+SRC_URI="https://invisible-island.net/archives/autoconf/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/autoconf/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.6
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ #if [[ ${CHOST} == *-darwin* ]] ; then
+ # PATCHES+=( "${FILESDIR}"/${PN}-2.61-darwin.patch )
+ #fi
+
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ --datadir="${EPREFIX}"/usr/share/${PN}
+ --program-suffix=-dickey
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # -j1 for bug #869278
+ emake -j1 check
+}
diff --git a/dev-build/autoconf-dickey/metadata.xml b/dev-build/autoconf-dickey/metadata.xml
new file mode 100644
index 000000000000..af5286fc415a
--- /dev/null
+++ b/dev-build/autoconf-dickey/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://invisible-island.net/autoconf/autoconf-252/ChangeLog</changelog>
+ <remote-id type="github">ThomasDickey/my-autoconf-snapshots</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/autoconf-vanilla/Manifest b/dev-build/autoconf-vanilla/Manifest
new file mode 100644
index 000000000000..c6241de14b20
--- /dev/null
+++ b/dev-build/autoconf-vanilla/Manifest
@@ -0,0 +1,28 @@
+AUX autoconf-2.13-destdir.patch 604 BLAKE2B 4c3607a31a7e99820b49dea142e9b2445a70508cedf7407f7822f86fb4d1595ced6ab202bf6e42e422f41e44c256e62ee2a617f5ea01d1319c66f811333d5c1e SHA512 c69c7681b028f82735e0187dc9ea0d73906b74e32a6d51754e2c973a559895590fb5a1701d153445b772bcf0536a4688292895242910f20e6d4cf1a02f1a877f
+AUX autoconf-2.13-gentoo.patch 799 BLAKE2B e9d403d2e7e6ca2efafcf9b2e7108f8b383b107bc78290242f0ed2662ec8e05c5a178f8014e6317f260695cbaa0e4c6a2cce3221d1990b1fd2a96fa3db5ce611 SHA512 5712ad0d67cb5661c949700d5bc0d8c582b27562229400e7b8b1c0249020d13077af5ef3602adef7135cc8dfe529556d5a23f2ce494e3554322262510c2a9fb7
+AUX autoconf-2.13-perl-5.26.patch 387 BLAKE2B 21152b0df23fc2567b52a0f1afb27c85ccc343fadb0055b6e7d592a2de30120d4cabacb42355b9024a2058211e0fa8df1d64af6a4d467ff3c334a9e2cd3ff9de SHA512 0729e8478095b81d833f159fb3c8c242aa78220719af3cf5409034994f40de809fa308541c55c6de0a84f911a8eb74c7800f4a9b66342443fd0f2ba18e392234
+AUX autoconf-2.13-test-fixes.patch 547 BLAKE2B aa7509f3098da8e2723f835133e375d63896ea65b3030037d625361fa01a02e7e982920cedcbfdf1679783fd7a6a8f0b8476e583749419fd8d103735c0b98d2d SHA512 085e7525c66e710b42dcb068c8aeda89488d1e926e493bcab74e1a1440f53f67630d6998a2a9eff6dc65cf8f71cad19127d541422b51a2519163b51ba78ae592
+AUX autoconf-2.61-darwin.patch 454 BLAKE2B c98084d8109ead961c446aecd38d150b244a83a62870e6820c10024085c023ebcbc75d2c388e170c3bdbd562e3a2b795271c52c02b3245ccc30195443d82d89b SHA512 7d11430a596cfa8624380fa21cfee4f4684a0144d4a4f93218656cedc0aeba2e7bf85dd52f7cdad3ef2a9aa4d5213c318b6cde8a33c09690ea4dddc7d8057101
+AUX autoconf-2.69-fix-libtool-test.patch 1093 BLAKE2B e7b98ae1c84d6d0a41daa16c71cab644328c850c77214dd15c99c2b1ae2ee040ef3d75d4dbe3301992bdb9ad2f2b48f4a6363b14e9f6765863e57f0047b83f86 SHA512 38506631fdde1f80a3467673e6fb48d4751323462c1657c85e2b5289e1219ef236ed9af3a66906c8851a62c244c1ffed70537a5f1421539429a9aa04e929d727
+AUX autoconf-2.69-make-tests-bash5-compatible.patch 2275 BLAKE2B 17fd9702c37cc7686a232e0bb93e5fc04d11b65945f89d79673302bec393bd5572a961b0ecedd743b3336f2583534063b6dd9b3095d0cc6bbd4cf55a58145c54 SHA512 f2672e99afb69cf625097ba5e6d15356eec5c41e095ff60da33331184ecd635d97fa20f20a2db8cfdeb96fde14dca0cdee7081df3328e8032f66eeed58374e36
+AUX autoconf-2.69-perl-5.26-2.patch 1003 BLAKE2B e2a858f905f20d46a52ac7d78be63ef0ea5ce0b87a7059ea17317bed3b658c0eafe3f9d8b1b11f4d84d3160bfa3f504e980870fe562d7a1ba6da1c70177e49bb SHA512 b02086ac8a468a626d8b6506aa14e19ef10e4d33b91a7647f74d5746cce9f690d6cf5840ea81c593f63e8f94275974f31c8695065844380678e83153c1b547d0
+AUX autoconf-2.69-perl-5.26.patch 820 BLAKE2B 405d92044f338b8c7f0ebc6b0007938143c011eff116a65dd06a126a9ab3b127ee766c618e0d51caf88821d979632e7949c843ebad1c5c9e87ad066aa4a46376 SHA512 0202c099b85102dab18ad7d4268b836cadf587d0a48aefa386e70539b3b689fd580053d7287730f1d0a9cc97d6eeb41c1579a181a82a5cb2e04e436bb96d0b20
+AUX autoconf-2.71-AC_LANG_CALL_C_cxx.patch 1376 BLAKE2B 475ece38cc5e4c4990db922e1500817df22af5303fab4f7f8810391aa2c6ddde799edf72c68c9f87db51be2ac327e7a1db8af845c5e804dbb540701fac0fbafd SHA512 c82eee93927952826385ecb4eb72e495632b73ff317173180e3823b434be6be50c81e135ddd78e63e5d8479232c49d6bbe3788a4df751a794a70fae818eb5463
+AUX autoconf-2.71-conflicts.patch 1587 BLAKE2B efa99fa895c3a35ce5c8e29fcaf2fa3548fd16382840629f91f59c892e4073f7033e9052c5639272e33ae4df1c2a9dc5da057f15c54f7f264a527193e120d51f SHA512 efb755ef78fb2de7be38c69095dfc369db2c2c3542ac5771b5131993eecf83990db2ce9f1d9f8ab7b5087634b2694caa234333b300ba8ea4216679fb04be3bef
+AUX autoconf-2.71-darwin.patch 525 BLAKE2B 641a98ccc5070ed46480c65c3966b7c047a48bc44930b0ca6039e492d383857140fa7da152eb60ad6bc51ad129cfbf66bd9863dea25672f985b38422a4ce3160 SHA512 92c528f416c6dbc413bd027c6684b8bf14b397164e13d5a2e754e23ac0803b09b20bf54ec89e495736b122eb6b519013c94b54d36fa7aff2715454a6321d0a05
+AUX autoconf-2.71-make-4.4.patch 966 BLAKE2B 0dfcd9aa7240085aef73b8f5a72e3c4dfbce61f1eed2149295318707435343a19a7aa71f6d3aa355638094791e04339b73af9869accbb602895c35ee1a2a25ac SHA512 7f968ddb2305ce03993dce735ff7b7e71f3f8cf06f3ddba7d40e2f8bc059f4bae4427102d247928a433d8e0af7cd1ec4b6f2654415da361111427ad05af33754
+AUX autoconf-2.71-time.patch 1253 BLAKE2B 0f791c225bddb89dab42b3927e1993f260df90de3a80bf0360f573231abd2c99128fccbc88eec82e9a7a07b7c9b4aa2dd8a7db1832d4ac5dbada34b4b2c4a213 SHA512 e84f4d0a700653ba244c6169f516666b4ce3328c90a5461690f6109649504350b5823fd109cc2298ddf05e81fab3aceea955547b02c7472acb44dcc31ba79b70
+AUX autoconf-2.72-conflicts.patch 1659 BLAKE2B 774ca70082d4b0236d1383faebf74e8725baf0d529242829bc11689fe19f9b2e09fe4beb8eea02553b775627700cb97894193e4808b95fd1bdc7d363891b7e24 SHA512 e41e3e41eadb3bafa7277d41489a33c2dcdc82f7fdd15bf9735cc7eb732b87e5e94aac43c5f9b4c6ca026c18505adc247e483a162bec031520b1d4cf535e1cf9
+DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad
+DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da
+DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
+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.72.tar.xz 1389680 BLAKE2B 01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db SHA512 c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17
+DIST autoconf-2.72.tar.xz.sig 833 BLAKE2B cc33101c5d2bd28f233e54a2843d3c81dc9729238b0900a8f23ef17b982aa0e0194892c07b1365246b6c9c0ea74becd288ae581ee34d593131b83538c69a6204 SHA512 7a0d350b23cf47c45811ae35928a4fec67ce1f3adb1965904fe6d9a0fad68139df4902662bcf4731a2f809381cae0b265a8f1f57d0a9a39777250a97a3c481d9
+EBUILD autoconf-vanilla-2.13.ebuild 1585 BLAKE2B 49d86388a49345e0bf6f9b91ad7044f54da34d0cddd557c33024fbd586d34657c1efa5a10089794b5b02bd0715fd95dae055387fc949a76c5a77267361cf42a4 SHA512 42f49df1f10c55fee28c9c10f6eefe9a5003b66b9208931bf6448126f9c1bebcdb6ae3eb2344cc64dd42929f97d66a6fa50503ee761753ffb549cccc8795d1fd
+EBUILD autoconf-vanilla-2.69.ebuild 2563 BLAKE2B 40cc4235c22cb8067cdb3c57c998d0e60e21285601d7ec69bac164075d21aa0ee31b58d3ff3049e2b8baa3adfae0686e01dacad98b830b06338aef6c597488d4 SHA512 7fd460875e073fd1b0b8de972a6a04a87afc1b3b955236ac5aebaa047dd0aec9d13a741551b9c230549752ff9ec31c942c7296191f4cb8a80a9053ee81f67c0c
+EBUILD autoconf-vanilla-2.71.ebuild 2186 BLAKE2B 8e0b77a3c62aed51b2dccaf5602cec2e70f89fa26f4e9768f8d038de35bf3e4bc6514623ba1fb78ab19cc95b4f8346903c777ddff565e8785b6f64ab3696494c SHA512 177ab77268e467d3f611154ee3f88d32e6287c10a4111ac425749ca8d9c07055b867d09f96ad8ecb247ee45296fc22fd54cbb000f9158842ffa442ca27c34395
+EBUILD autoconf-vanilla-2.72.ebuild 2546 BLAKE2B 40d794aff5f2ff0deabd406f70154c153396c1ef5b86028b0464e01196f523ada7607f266b024614939d3124c42eb2fbd94d64b54b09497cdac15ea0d6eca048 SHA512 d633fe2046a7f406b955ab67aae2ee5b0fbcb3bdba0b5f2a604d8db3457688655cfa50b5179ad74085e8f3eb0e4a09a99ba1e54d206d6bdb46ad8e355796fc86
+EBUILD autoconf-vanilla-9999.ebuild 2546 BLAKE2B 40d794aff5f2ff0deabd406f70154c153396c1ef5b86028b0464e01196f523ada7607f266b024614939d3124c42eb2fbd94d64b54b09497cdac15ea0d6eca048 SHA512 d633fe2046a7f406b955ab67aae2ee5b0fbcb3bdba0b5f2a604d8db3457688655cfa50b5179ad74085e8f3eb0e4a09a99ba1e54d206d6bdb46ad8e355796fc86
+MISC metadata.xml 343 BLAKE2B e5fd0138606384a4d646b618c096693858ddc94d09e0bb4dd3ecc6ef064a1edf9586f62a5cc753f680d73b2a6c72ed00739b21e54d490dd8edc97aa32dd05309 SHA512 6b06b7e7a5e47a4de92b2032ba3af669916818038802309e4db26917aa536387d2227feb33c29976179fb3cbb10d4b2f975d1055308e6db81a734baf1e8c1e5e
diff --git a/dev-build/autoconf-vanilla/autoconf-vanilla-2.13.ebuild b/dev-build/autoconf-vanilla/autoconf-vanilla-2.13.ebuild
new file mode 100644
index 000000000000..5adfce2d4b0d
--- /dev/null
+++ b/dev-build/autoconf-vanilla/autoconf-vanilla-2.13.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-autoconf
+
+MY_PN=${PN/-vanilla}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="${PV:0:3}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-lang/perl
+ sys-devel/m4
+ test? ( dev-util/dejagnu )
+"
+RDEPEND="
+ ${BDEPEND}
+ sys-apps/texinfo
+ >=dev-build/autoconf-wrapper-13
+"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_P}-gentoo.patch
+ "${FILESDIR}"/${MY_P}-destdir.patch
+ "${FILESDIR}"/${MY_P}-test-fixes.patch #146592
+ "${FILESDIR}"/${MY_P}-perl-5.26.patch
+)
+
+src_configure() {
+ # need to include --exec-prefix and --bindir or our
+ # DESTDIR patch will trigger sandbox hate :(
+ #
+ # need to force locale to C to avoid bugs in the old
+ # configure script breaking the install paths #351982
+ #
+ # force to `awk` so that we don't encode another awk that
+ # happens to currently be installed, but might later be
+ # uninstalled (like mawk). same for m4.
+ export ac_cv_path_M4="m4" ac_cv_prog_AWK="awk"
+ export LC_ALL=C
+
+ toolchain-autoconf_src_configure \
+ --exec-prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --datadir="${EPREFIX}"/usr/share/"${P}" \
+ --infodir="${TC_AUTOCONF_INFOPATH}"
+}
diff --git a/dev-build/autoconf-vanilla/autoconf-vanilla-2.69.ebuild b/dev-build/autoconf-vanilla/autoconf-vanilla-2.69.ebuild
new file mode 100644
index 000000000000..06d25fed26d0
--- /dev/null
+++ b/dev-build/autoconf-vanilla/autoconf-vanilla-2.69.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ MY_P=${MY_PN}-${PV}
+
+ # Eric Blake signed 2.69 so use sec-keys/openpgp-keys-m4
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/m4.asc
+ inherit verify-sig
+
+ SRC_URI="
+ mirror://gnu/${MY_PN}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/dist/${MY_P}-runstatedir_patches.tar.xz
+ verify-sig? ( mirror://gnu/${MY_PN}/${MY_P}.tar.xz.sig )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-m4 )"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="${PV}"
+IUSE="emacs"
+
+BDEPEND+="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.6
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-13
+ !~sys-devel/${P}:2.5
+"
+
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_PN}-2.69-perl-5.26.patch
+ "${FILESDIR}"/${MY_P}-fix-libtool-test.patch
+ "${FILESDIR}"/${MY_PN}-2.69-perl-5.26-2.patch
+ "${FILESDIR}"/${MY_P}-make-tests-bash5-compatible.patch
+
+ "${WORKDIR}"/patches/${MY_P}-texinfo.patch
+)
+
+TC_AUTOCONF_ENVPREFIX=07
+
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sig}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ PATCHES+=( "${FILESDIR}"/${MY_PN}-2.61-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
+
+ # This version uses recursive makefiles. As this code is dead by
+ # now, and this 'fix' is getting hacked in from the future back into
+ # the past, I doubt that the sins committed below will have a wide
+ # impact. Don't copy this code.
+ find . \
+ -name Makefile.in \
+ -execdir sed -i '/^pkgdatadir/s/@PACKAGE@/&-vanilla/g' {} + \
+ || die
+}
diff --git a/dev-build/autoconf-vanilla/autoconf-vanilla-2.71.ebuild b/dev-build/autoconf-vanilla/autoconf-vanilla-2.71.ebuild
new file mode 100644
index 000000000000..e748afd83637
--- /dev/null
+++ b/dev-build/autoconf-vanilla/autoconf-vanilla-2.71.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ MY_P=${MY_PN}-${PV}
+
+ SRC_URI="
+ mirror://gnu/${MY_PN}/${MY_P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${MY_PN}/${MY_P}.tar.xz
+ "
+
+ if ! [[ ${PV} == *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="${PV/_*}"
+IUSE="emacs"
+
+# for 2.71, our Perl time resolution patch changes our min Perl from 5.6
+# (vanilla upstream for 2.71) to 5.8.
+BDEPEND=">=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.8"
+RDEPEND="${BDEPEND}
+ >=dev-build/autoconf-wrapper-15
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_P}-AC_LANG_CALL_C_cxx.patch
+ "${FILESDIR}"/${MY_P}-time.patch
+ "${FILESDIR}"/${MY_P}-make-4.4.patch
+ "${FILESDIR}"/"${MY_P}"-conflicts.patch
+)
+
+TC_AUTOCONF_ENVPREFIX=07
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ PATCHES+=( "${FILESDIR}"/${MY_PN}-2.71-darwin.patch )
+ fi
+
+ # Save timestamp to avoid later makeinfo call
+ touch -r doc/{,old_}autoconf.texi || die
+
+ local pdir
+ for pdir in "${WORKDIR}"/{upstream_,}patches ; do
+ if [[ -d "${pdir}" ]] ; then
+ eapply ${pdir}
+ fi
+ done
+
+ 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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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-vanilla/autoconf-vanilla-2.72.ebuild b/dev-build/autoconf-vanilla/autoconf-vanilla-2.72.ebuild
new file mode 100644
index 000000000000..a1ceaa2f09e8
--- /dev/null
+++ b/dev-build/autoconf-vanilla/autoconf-vanilla-2.72.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ # For _beta handling replace with real version number
+ MY_PV="${PV}"
+ MY_P="${MY_PN}-${MY_PV}"
+ #PATCH_TARBALL_NAME="${MY_PN}-2.70-patches-01"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/zackweinberg.asc
+ inherit verify-sig
+
+ SRC_URI="
+ mirror://gnu/${MY_PN}/${MY_P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${MY_PN}/${MY_P}.tar.xz
+ https://meyering.net/ac/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="$(ver_cut 1-2)"
+IUSE="emacs"
+
+BDEPEND+="
+ >=dev-lang/perl-5.10
+ >=sys-devel/m4-1.4.16
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-15
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/"${MY_P}"-conflicts.patch
+)
+
+TC_AUTOCONF_ENVPREFIX=07
+
+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
+
+ autoreconf -f -i || die
+ fi
+
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ PATCHES+=( "${FILESDIR}"/${MY_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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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-vanilla/autoconf-vanilla-9999.ebuild b/dev-build/autoconf-vanilla/autoconf-vanilla-9999.ebuild
new file mode 100644
index 000000000000..a1ceaa2f09e8
--- /dev/null
+++ b/dev-build/autoconf-vanilla/autoconf-vanilla-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ # For _beta handling replace with real version number
+ MY_PV="${PV}"
+ MY_P="${MY_PN}-${MY_PV}"
+ #PATCH_TARBALL_NAME="${MY_PN}-2.70-patches-01"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/zackweinberg.asc
+ inherit verify-sig
+
+ SRC_URI="
+ mirror://gnu/${MY_PN}/${MY_P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${MY_PN}/${MY_P}.tar.xz
+ https://meyering.net/ac/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="$(ver_cut 1-2)"
+IUSE="emacs"
+
+BDEPEND+="
+ >=dev-lang/perl-5.10
+ >=sys-devel/m4-1.4.16
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-15
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/"${MY_P}"-conflicts.patch
+)
+
+TC_AUTOCONF_ENVPREFIX=07
+
+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
+
+ autoreconf -f -i || die
+ fi
+
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ PATCHES+=( "${FILESDIR}"/${MY_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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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-vanilla/files/autoconf-2.13-destdir.patch b/dev-build/autoconf-vanilla/files/autoconf-2.13-destdir.patch
new file mode 100644
index 000000000000..47605af5f59c
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.13-destdir.patch
@@ -0,0 +1,26 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -41,18 +41,18 @@
+
+ transform=@program_transform_name@
+
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+-exec_prefix = @exec_prefix@
++exec_prefix = $(DESTDIR)@exec_prefix@
+
+ # Directory in which to install scripts.
+-bindir = @bindir@
++bindir = $(DESTDIR)@bindir@
+
+ # Directory in which to install library files.
+-datadir = @datadir@
++datadir = $(DESTDIR)@datadir@
+ acdatadir = $(datadir)/autoconf
+
+ # Directory in which to install documentation info files.
+-infodir = @infodir@
++infodir = $(DESTDIR)@infodir@
+
+ #### End of system configuration section. ####
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.13-gentoo.patch b/dev-build/autoconf-vanilla/files/autoconf-2.13-gentoo.patch
new file mode 100644
index 000000000000..44f09cba92f0
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.13-gentoo.patch
@@ -0,0 +1,36 @@
+--- a/configure
++++ b/configure
+@@ -654,12 +654,10 @@
+ echo "$ac_t""no" 1>&6
+ fi
+
+-if test "$PERL" != no; then
+- SCRIPTS=autoscan
+-else
+- echo "configure: warning: autoscan will not be built since perl is not found" 1>&2
++if test "$PERL" = no; then
++ PERL=/usr/bin/perl
+ fi
+-
++SCRIPTS=autoscan
+ ac_aux_dir=
+ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+--- a/configure.in
++++ b/configure.in
+@@ -14,12 +14,10 @@
+ AC_PATH_PROG(PERL, perl, no)
+ AC_SUBST(PERL)dnl
+ AC_SUBST(SCRIPTS)dnl
+-if test "$PERL" != no; then
+- SCRIPTS=autoscan
+-else
+- AC_MSG_WARN(autoscan will not be built since perl is not found)
++if test "$PERL" = no; then
++ PERL=/usr/bin/perl
+ fi
+-
++SCRIPTS=autoscan
+ AC_PROG_INSTALL
+
+ # Work with the GNU or Cygnus source tree layout.
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.13-perl-5.26.patch b/dev-build/autoconf-vanilla/files/autoconf-2.13-perl-5.26.patch
new file mode 100644
index 000000000000..6fbc0cd1bc89
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.13-perl-5.26.patch
@@ -0,0 +1,12 @@
+diff -ruN autoconf-2.13.orig/autoscan.pl autoconf-2.13/autoscan.pl
+--- autoconf-2.13.orig/autoscan.pl 1999-01-05 14:28:42.000000000 +0100
++++ autoconf-2.13/autoscan.pl 2018-12-22 19:55:10.986732296 +0100
+@@ -232,7 +232,7 @@
+ # Strip out comments and variable references.
+ s/#.*//;
+ s/\$\([^\)]*\)//g;
+- s/\${[^\}]*}//g;
++ s/\$\{[^\}]*}//g;
+ s/@[^@]*@//g;
+
+ # Variable assignments.
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.13-test-fixes.patch b/dev-build/autoconf-vanilla/files/autoconf-2.13-test-fixes.patch
new file mode 100644
index 000000000000..b8a7e3b8ce99
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.13-test-fixes.patch
@@ -0,0 +1,18 @@
+newer gcc versions don't provide g77, so if it doesn't exist,
+don't bother trying to test it (and failing)
+
+http://bugs.gentoo.org/146592
+
+--- autoconf-2.13/testsuite/autoconf.s/syntax.exp
++++ autoconf-2.13/testsuite/autoconf.s/syntax.exp
+@@ -5,6 +5,10 @@
+ set macros [exec sed -n $script $srcdir/../acspecific.m4]
+
+ foreach mac $macros {
++ if { [string match "*F77*" "$mac"] && [catch {exec which g77} ignore_output] } then {
++ send_user "XFAIL: $mac\n"
++ continue
++ }
+ send_user "$mac\n"
+ autoconf_test $mac $mac
+ }
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.61-darwin.patch b/dev-build/autoconf-vanilla/files/autoconf-2.61-darwin.patch
new file mode 100644
index 000000000000..83f450e6f5af
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.61-darwin.patch
@@ -0,0 +1,11 @@
+--- a/bin/autoreconf.in
++++ b/bin/autoreconf.in
+@@ -110,7 +110,7 @@
+ my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@';
+ my $automake = $ENV{'AUTOMAKE'} || 'automake';
+ my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
+-my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
++my $libtoolize = $ENV{'LIBTOOLIZE'} || 'glibtoolize';
+ my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
+
+ # --install -- as --add-missing in other tools.
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.69-fix-libtool-test.patch b/dev-build/autoconf-vanilla/files/autoconf-2.69-fix-libtool-test.patch
new file mode 100644
index 000000000000..e75eba621606
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.69-fix-libtool-test.patch
@@ -0,0 +1,31 @@
+From 247b02e5a5bb79ca6666e91de02ae2d3cb0cd325 Mon Sep 17 00:00:00 2001
+From: "Gary V. Vaughan" <gary@gnu.org>
+Date: Mon, 3 Nov 2014 07:25:03 +0100
+Subject: tests: avoid spurious test failure with libtool 2.4.3
+
+Based on a report by Bruce Dubbs.
+
+* tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the
+older `quote'.
+
+Signed-off-by: Eric Blake <eblake@redhat.com>
+---
+ tests/foreign.at | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/foreign.at b/tests/foreign.at
+index a9dc33c..d4702cd 100644
+--- a/tests/foreign.at
++++ b/tests/foreign.at
+@@ -57,7 +57,7 @@ AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore])
+ # Make sure at-path contains something valid, and let the test suite
+ # display it when verbose. And fail, skipping would too easily hide
+ # problems.
+-AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
++AT_CHECK([sed -n ["s,^[^']*[\`']\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
+ AT_CHECK([test -f "`sed -n 1p stdout`"])
+
+ # Older libtoolize installed everything but install-sh...
+--
+cgit v1.0-41-gc330
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.69-make-tests-bash5-compatible.patch b/dev-build/autoconf-vanilla/files/autoconf-2.69-make-tests-bash5-compatible.patch
new file mode 100644
index 000000000000..1afcec15bb4f
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.69-make-tests-bash5-compatible.patch
@@ -0,0 +1,63 @@
+From 5b9db67786a428164abafe626ab11a2754aad528 Mon Sep 17 00:00:00 2001
+From: Ondrej Dubaj <odubaj@redhat.com>
+Date: Wed, 28 Aug 2019 07:39:50 +0200
+Subject: Port tests to Bash 5
+
+* tests/local.at (AT_CHECK_ENV, AT_CONFIG_CMP):
+Add BASH_ARGC, BASH_ARGV to list of variables to be ignored when
+comparing variable space dumps.
+(AT_CONFIG_CMP): Also ignore LINENO.
+* tests/m4sh.at: Also unset LINENO in 'reference' and 'test/test-1'.
+---
+ tests/local.at | 5 ++++-
+ tests/m4sh.at | 4 ++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/tests/local.at b/tests/local.at
+index a22958c0..852be285 100644
+--- a/tests/local.at
++++ b/tests/local.at
+@@ -325,7 +325,7 @@ if test -f state-env.before && test -f state-env.after; then
+ [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|RANLIB|SET_MAKE|YACC],
+ [GREP|[EF]GREP|SED],
+ [[_@]|.[*#?$].],
+- [argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
++ [argv|ARGC|LINENO|BASH_ARGC|BASH_ARGV|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
+ $act_file ||
+ test $? -eq 1 || echo failed >&2
+ ) 2>stderr-$act_file |
+@@ -382,6 +382,9 @@ do
+ /'\'\\\$\''=/ d
+ /^argv=/ d
+ /^ARGC=/ d
++ /^BASH_ARGC=/ d
++ /^BASH_ARGV=/ d
++ /^LINENO=/ d
+ ' $act_file >at_config_vars-$act_file
+ done
+ AT_CMP([at_config_vars-$1], [at_config_vars-$2])[]dnl
+diff --git a/tests/m4sh.at b/tests/m4sh.at
+index e9d70b02..cbdfcb62 100644
+--- a/tests/m4sh.at
++++ b/tests/m4sh.at
+@@ -254,7 +254,7 @@ AT_CHECK([autom4te -l m4sh $1.as -o $1])
+ # `_oline_', once processed and ran, produces our reference.
+ # We check that we find ourselves by looking at a string which is
+ # available only in the original script: `_oline_'.
+-AT_DATA_LINENO([reference], [false], [__OLINE__], [_oline__])
++AT_DATA_LINENO([reference], [true], [__OLINE__], [_oline__])
+ AT_CHECK([./reference], 0, [stdout])
+
+ # The reference:
+@@ -264,7 +264,7 @@ mv stdout expout
+ # Be sure to be out of the PATH.
+ AT_CHECK([mkdir test || exit 77])
+
+-AT_DATA_LINENO([test/test-1], [false], [__LINENO__], [LINENO])
++AT_DATA_LINENO([test/test-1], [true], [__LINENO__], [LINENO])
+ AT_CHECK([./test/test-1], 0, [expout])
+ AT_CHECK([(PATH=test$PATH_SEPARATOR$PATH; export PATH; exec test-1)],
+ 0, [expout])
+--
+cgit v1.2.1
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26-2.patch b/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26-2.patch
new file mode 100644
index 000000000000..6becf807c43e
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26-2.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/625576
+
+--- autoconf-2.69/bin/autoheader.in
++++ autoconf-2.69/bin/autoheader.in
+@@ -173,6 +173,12 @@
+ # Source what the traces are trying to tell us.
+ verb "$me: running $autoconf to trace from $ARGV[0]";
+ my $quoted_tmp = shell_quote ($tmp);
++my $perl_tmp;
++if ( $tmp =~ /^\// ) {
++ $perl_tmp=$tmp;
++} else {
++ $perl_tmp="./".$tmp;
++}
+ xsystem ("$autoconf"
+ # If you change this list, update the
+ # `Autoheader-preselections' section of autom4te.in.
+@@ -182,9 +188,9 @@
+ . " " . shell_quote ($ARGV[0]) . " >$quoted_tmp/traces.pl");
+
+ local (%verbatim, %symbol);
+-debug "$me: \`do'ing $tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
+-do "$tmp/traces.pl";
+-warn "couldn't parse $tmp/traces.pl: $@" if $@;
++debug "$me: \`do'ing $perl_tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
++do "$perl_tmp/traces.pl";
++warn "couldn't parse $perl_tmp/traces.pl: $@" if $@;
+ unless ($config_h)
+ {
+ error "error: AC_CONFIG_HEADERS not found in $ARGV[0]";
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26.patch b/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26.patch
new file mode 100644
index 000000000000..b3d7888ca722
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.69-perl-5.26.patch
@@ -0,0 +1,28 @@
+From e5654a5591884b92633c7785f325626711e7f7aa Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 29 Jan 2013 13:46:48 -0800
+Subject: [PATCH] autoscan: port to perl 5.17
+
+* bin/autoscan.in (scan_sh_file): Escape '{'. This avoids a
+feature that is deprecated in Perl 5.17. Reported by Ray Lauff in
+<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00059.html>.
+---
+ bin/autoscan.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/autoscan.in b/bin/autoscan.in
+index 993a750..db1df79 100644
+--- a/bin/autoscan.in
++++ b/bin/autoscan.in
+@@ -358,7 +358,7 @@ sub scan_sh_file ($)
+ {
+ # Strip out comments and variable references.
+ s/#.*//;
+- s/\${[^\}]*}//g;
++ s/\$\{[^\}]*}//g;
+ s/@[^@]*@//g;
+
+ # Tokens in the code.
+--
+1.9.1
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch b/dev-build/autoconf-vanilla/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch
new file mode 100644
index 000000000000..5b53d17135bc
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch
@@ -0,0 +1,35 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=b27bc3e230bb12fdd9a813e38e82bc4c3e22b4cc
+
+Note: we drop the comma from the comment because some packages
+have bad quoting, and while that will need to be sorted when/if
+autoconf 2.72 is released, we've got our hands full with the
+Clang situation right now (bug #871753).
+
+From b27bc3e230bb12fdd9a813e38e82bc4c3e22b4cc Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 31 Aug 2021 16:30:46 -0700
+Subject: Port AC_LANG_CALL(C) to C++
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* lib/autoconf/c.m4 (AC_LANG_CALL(C)): Add an extern "C" if C++.
+Problem reported by Vincent Lefèvre (sr #110532).
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -126,7 +126,13 @@ m4_define([AC_LANG_CALL(C)],
+ m4_if([$2], [main], ,
+ [/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
++ builtin and then its argument prototype would still apply.
++ The 'extern "C"' is for builds by C++ compilers;
++ although this is not generally supported in C code supporting it here
++ has little cost and some practical benefit (sr 110532). */
++#ifdef __cplusplus
++extern "C"
++#endif
+ char $2 ();])], [return $2 ();])])
+
+
+cgit v1.1
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.71-conflicts.patch b/dev-build/autoconf-vanilla/files/autoconf-2.71-conflicts.patch
new file mode 100644
index 000000000000..879664f4096e
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.71-conflicts.patch
@@ -0,0 +1,47 @@
+From 0d784a60bb65eb730a1b5f2b24887192d058629b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
+Date: Sat, 4 Nov 2023 00:32:48 +0100
+Subject: [PATCH] Append '-vanilla' to pkgdatadir
+
+---
+ Makefile.am | 3 +++
+ Makefile.in | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 17e1f8f..73d2ea7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,6 +18,9 @@
+
+ ACLOCAL_AMFLAGS = -I m4
+
++# Work around file conflicts against dev-build/autoconf -- Arsen
++pkgdatadir = $(datadir)/@PACKAGE@-vanilla-@VERSION@
++
+ ## All of these will be incrementally updated later, here or in included
+ ## makefile fragments.
+ ETAGS_ARGS =
+diff --git a/Makefile.in b/Makefile.in
+index dcd27f7..704248f 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -195,7 +195,6 @@ am__make_running_with_option = \
+ test $$has_opt = yes
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+-pkgdatadir = $(datadir)/@PACKAGE@-@VERSION@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
+@@ -401,6 +400,7 @@ distuninstallcheck_listfiles = find . -type f -print
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+ distcleancheck_listfiles = find . -type f -print
++pkgdatadir = $(datadir)/@PACKAGE@-vanilla-@VERSION@
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+--
+2.42.0
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.71-darwin.patch b/dev-build/autoconf-vanilla/files/autoconf-2.71-darwin.patch
new file mode 100644
index 000000000000..c122aee4b22d
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.71-darwin.patch
@@ -0,0 +1,11 @@
+--- a/bin/autoreconf.in
++++ b/bin/autoreconf.in
+@@ -122,7 +122,7 @@
+ my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
+ my $automake = $ENV{'AUTOMAKE'} || 'automake';
+ my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
+-my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
++my $libtoolize = $ENV{'LIBTOOLIZE'} || 'glibtoolize';
+ my $intltoolize = $ENV{'INTLTOOLIZE'} || 'intltoolize';
+ my $gtkdocize = $ENV{'GTKDOCIZE'} || 'gtkdocize';
+ my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.71-make-4.4.patch b/dev-build/autoconf-vanilla/files/autoconf-2.71-make-4.4.patch
new file mode 100644
index 000000000000..4dcf05996180
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.71-make-4.4.patch
@@ -0,0 +1,25 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=31f673434ee402258b45e958c88acc8725d82b1a
+https://savannah.gnu.org/bugs/?63040
+https://bugs.gentoo.org/869257
+
+From 31f673434ee402258b45e958c88acc8725d82b1a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Sep 2022 16:54:11 -0500
+Subject: Port to GNU make 4.4
+
+* cfg.mk (PATH): Assign eagerly, and simplify shell use, avoiding
+use of the shell entirely if PWD is set, as it should be.
+Problem reported by Sergei Trofimovich in:
+https://lists.gnu.org/r/autoconf-patches/2022-09/msg00007.html
+--- a/cfg.mk
++++ b/cfg.mk
+@@ -18,7 +18,7 @@
+ # This file is '-include'd into GNUmakefile.
+
+ # Build with our own versions of these tools, when possible.
+-export PATH = $(shell echo "`pwd`/tests:$$PATH")
++export PATH := $(or $(PWD),$(shell pwd))/tests:$(PATH)
+
+ # Remove the autoreconf-provided INSTALL, so that we regenerate it.
+ _autoreconf = autoreconf -i -v && rm -f INSTALL
+cgit v1.1
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.71-time.patch b/dev-build/autoconf-vanilla/files/autoconf-2.71-time.patch
new file mode 100644
index 000000000000..8ecfe10f40a3
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.71-time.patch
@@ -0,0 +1,49 @@
+From e194b3c7e00429612a9d40e78ea571687fd25b91 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
+Date: Sun, 1 Aug 2021 19:07:48 +0200
+Subject: [PATCH] Use stat from Time::HiRes (instead of File::stat)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
+---
+ lib/Autom4te/FileUtils.pm | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm
+index a182031b..27a5fd91 100644
+--- a/lib/Autom4te/FileUtils.pm
++++ b/lib/Autom4te/FileUtils.pm
+@@ -34,12 +34,12 @@ This perl module provides various general purpose file handling functions.
+
+ =cut
+
+-use 5.006;
++use 5.008;
+ use strict;
+ use warnings FATAL => 'all';
+
+ use Exporter;
+-use File::stat;
++use Time::HiRes qw(stat);
+ use IO::File;
+
+ use Autom4te::Channels;
+@@ -115,10 +115,11 @@ sub mtime ($)
+ return 0
+ if $file eq '-' || ! -f $file;
+
+- my $stat = stat ($file)
++ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
++ $atime,$mtime,$ctime,$blksize,$blocks) = stat ($file)
+ or fatal "cannot stat $file: $!";
+
+- return $stat->mtime;
++ return $mtime;
+ }
+
+
+--
+2.31.1
+
diff --git a/dev-build/autoconf-vanilla/files/autoconf-2.72-conflicts.patch b/dev-build/autoconf-vanilla/files/autoconf-2.72-conflicts.patch
new file mode 100644
index 000000000000..b15b0267f140
--- /dev/null
+++ b/dev-build/autoconf-vanilla/files/autoconf-2.72-conflicts.patch
@@ -0,0 +1,49 @@
+From ca78a8d7d653ac8199fa0346a814289ed7aef960 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
+Date: Sat, 4 Nov 2023 00:32:48 +0100
+Subject: [PATCH] Append '-vanilla' to pkgdatadir
+
+---
+ Makefile.am | 3 +++
+ Makefile.in | 4 +++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 1db714b..cb0650a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,6 +18,9 @@
+
+ ACLOCAL_AMFLAGS = -I m4
+
++# Work around file conflicts against dev-build/autoconf -- Arsen
++pkgdatadir = $(datadir)/@PACKAGE@-vanilla-@VERSION@
++
+ ## All of these will be incrementally updated later, here or in included
+ ## makefile fragments.
+ ETAGS_ARGS =
+diff --git a/Makefile.in b/Makefile.in
+index e5b3da5..04a3732 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -195,7 +195,6 @@ am__make_running_with_option = \
+ test $$has_opt = yes
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+-pkgdatadir = $(datadir)/@PACKAGE@-@VERSION@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
+@@ -398,6 +397,9 @@ distuninstallcheck_listfiles = find . -type f -print
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+ distcleancheck_listfiles = find . -type f -print
++
++# Work around file conflicts against dev-build/autoconf -- Arsen
++pkgdatadir = $(datadir)/@PACKAGE@-vanilla-@VERSION@
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+--
+2.43.0
+
diff --git a/dev-build/autoconf-vanilla/metadata.xml b/dev-build/autoconf-vanilla/metadata.xml
new file mode 100644
index 000000000000..4ff4a48125bc
--- /dev/null
+++ b/dev-build/autoconf-vanilla/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="savannah">autoconf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/autoconf-wrapper/Manifest b/dev-build/autoconf-wrapper/Manifest
new file mode 100644
index 000000000000..7998850da291
--- /dev/null
+++ b/dev-build/autoconf-wrapper/Manifest
@@ -0,0 +1,6 @@
+DIST autotools-wrappers-at-20221207.tar.gz 3646 BLAKE2B 82bec40e03ae5ec133252fd3c05c3fed537bb415e800918df9c9d783d48a9d76cbe60c53dd7daf6d94653d79fc52be8c089183dda996e8a72dd03ffa83098613 SHA512 12ea99721e6fc60a3ed7351d6c228aaf6e4eef0bd0444eda8cd742f74fa91150ef07bb52f6bcad4a350269e8032f5d4e204d2f2108b0d9c441ddd7f9755862b7
+DIST autotools-wrappers-at-20231224.tar.gz 3645 BLAKE2B fbf414240fe3a4b5d2c24ea649cc347df46bf7f0297bc0d27f98265f57753a596929277403496d76d6249f878bffa8be3e77b62ce9138df6920dd9a5216b300a SHA512 a3cc51e1eb1d055a8161b86bc3497a9bea3cb972d8d22b2f9fc712ca5ecb7809e84083a5754705911f2d037cbff83747476e96b412bfe11183273764de0d5331
+EBUILD autoconf-wrapper-20221207-r1.ebuild 1194 BLAKE2B 3755e3c5f27c70a0fe6a6f35281ed3309a6901e4b4fee4b2d1bef1452925168ab9854c67b72496e8a0871cf76c6eebeef8c5b0ecb4fd13f8cc7c255318de2a2a SHA512 82d6b8c82347984febeebb1e3639e4613ed352cb9579c18ceae7f0974fff1f4ac9cd4a604241f077e34cbea8aeca4427819030b05b828dfb86d162953ede9bbe
+EBUILD autoconf-wrapper-20231224.ebuild 1276 BLAKE2B e5d466db04b6c673ef04d78be254f7bcc4d9dc986a3153f08ca680272ed832867164853c3bcf8b7e9f38087321f53b900ba0f3846ae891dc078068e1d6d9242f SHA512 a262438c1d6418bf4c860716aebe24b8a0d3071c0b4f8ce450c4b4f508ff33217789dc30d5f1ba146663379ce295336f8eaa3360337055efd71c876323cc9ece
+EBUILD autoconf-wrapper-99999999.ebuild 1276 BLAKE2B e5d466db04b6c673ef04d78be254f7bcc4d9dc986a3153f08ca680272ed832867164853c3bcf8b7e9f38087321f53b900ba0f3846ae891dc078068e1d6d9242f SHA512 a262438c1d6418bf4c860716aebe24b8a0d3071c0b4f8ce450c4b4f508ff33217789dc30d5f1ba146663379ce295336f8eaa3360337055efd71c876323cc9ece
+MISC metadata.xml 435 BLAKE2B 006f03645ce3cb9a4f7cad6411f3487500f58f351bbacfb6e1e3de494214fccb8b478a2cea35d289ee0a487fa7eaf31ca444cbf82d1d9eeee1822928e223009b SHA512 3b699336ca3dbf40bcfddb1db91f8d3803574c9c6765b477b93e50d756ac3c441e5bedfbbc71fcbea697a2f31b9a41fcbbb01a38d5acc8d29b48779a405f8f6c
diff --git a/dev-build/autoconf-wrapper/autoconf-wrapper-20221207-r1.ebuild b/dev-build/autoconf-wrapper/autoconf-wrapper-20221207-r1.ebuild
new file mode 100644
index 000000000000..417ec628886f
--- /dev/null
+++ b/dev-build/autoconf-wrapper/autoconf-wrapper-20221207-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="autotools-wrappers-at-${PV}"
+
+DESCRIPTION="Wrapper for autoconf to manage multiple autoconf versions"
+HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/autotools-wrappers.git
+ https://github.com/gentoo/autotools-wrappers
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+src_prepare() {
+ default
+
+ # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
+ if use prefix ; then
+ sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' ac-wrapper.sh || die
+ fi
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ doexe ac-wrapper.sh
+
+ dodir /usr/bin
+ local x=
+ for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
+ dosym -r /usr/$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
+ done
+}
diff --git a/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild b/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild
new file mode 100644
index 000000000000..13b3c2d923ec
--- /dev/null
+++ b/dev-build/autoconf-wrapper/autoconf-wrapper-20231224.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="autotools-wrappers-at-${PV}"
+
+# Remember to modify LAST_KNOWN_VER 'upstream' on new autoconf releases!
+
+DESCRIPTION="Wrapper for autoconf to manage multiple autoconf versions"
+HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/autotools-wrappers.git
+ https://github.com/gentoo/autotools-wrappers
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+src_prepare() {
+ default
+
+ # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
+ if use prefix ; then
+ sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' ac-wrapper.sh || die
+ fi
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ doexe ac-wrapper.sh
+
+ dodir /usr/bin
+ local x=
+ for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
+ dosym -r /usr/$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
+ done
+}
diff --git a/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild b/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild
new file mode 100644
index 000000000000..13b3c2d923ec
--- /dev/null
+++ b/dev-build/autoconf-wrapper/autoconf-wrapper-99999999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="autotools-wrappers-at-${PV}"
+
+# Remember to modify LAST_KNOWN_VER 'upstream' on new autoconf releases!
+
+DESCRIPTION="Wrapper for autoconf to manage multiple autoconf versions"
+HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/autotools-wrappers.git
+ https://github.com/gentoo/autotools-wrappers
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+src_prepare() {
+ default
+
+ # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
+ if use prefix ; then
+ sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' ac-wrapper.sh || die
+ fi
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ doexe ac-wrapper.sh
+
+ dodir /usr/bin
+ local x=
+ for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
+ dosym -r /usr/$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
+ done
+}
diff --git a/dev-build/autoconf-wrapper/metadata.xml b/dev-build/autoconf-wrapper/metadata.xml
new file mode 100644
index 000000000000..2847c0b0420f
--- /dev/null
+++ b/dev-build/autoconf-wrapper/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="gentoo">proj/autotools-wrappers</remote-id>
+ <remote-id type="github">gentoo/autotools-wrappers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/autoconf/Manifest b/dev-build/autoconf/Manifest
new file mode 100644
index 000000000000..6be0579a9593
--- /dev/null
+++ b/dev-build/autoconf/Manifest
@@ -0,0 +1,37 @@
+AUX autoconf-2.13-Clang-16-fixes-for-various-tests.patch 11311 BLAKE2B e9e7ee7649d34f7515c5e0f173b8e8bcdd540a76cbace4eaf5cb801a5930c9a0e10c81962eb32ec7858008cdfc922df31d4fa1e45018ca2941119349a372f7f4 SHA512 2b3d451e697c66c94fb4dfca7c666b6d2deb47dc7ff56dd3aa4b38557cf5a691b0d95083aedc91f76db2a006d4915b1daed69b0e17c0aa126c6a4a2d1e0937c0
+AUX autoconf-2.13-K-R-decls-clang.patch 11598 BLAKE2B 60b0d4446fd0ec6f23f531ec4f43655b83ee35e23e35137da8621d83211e1220259f4af4171ae6cd98e93ac5a377f00b6f9ade7daadb1ed8f9ad28332ec514dc SHA512 f2854d7b15018e851341866e89510b697195758a71ba651ded0d26560bcbd198cf7189973cf18c3ef121abae11221eed55f4d96d935f2d07813d61663a37564c
+AUX autoconf-2.13-destdir.patch 604 BLAKE2B 4c3607a31a7e99820b49dea142e9b2445a70508cedf7407f7822f86fb4d1595ced6ab202bf6e42e422f41e44c256e62ee2a617f5ea01d1319c66f811333d5c1e SHA512 c69c7681b028f82735e0187dc9ea0d73906b74e32a6d51754e2c973a559895590fb5a1701d153445b772bcf0536a4688292895242910f20e6d4cf1a02f1a877f
+AUX autoconf-2.13-gentoo.patch 799 BLAKE2B e9d403d2e7e6ca2efafcf9b2e7108f8b383b107bc78290242f0ed2662ec8e05c5a178f8014e6317f260695cbaa0e4c6a2cce3221d1990b1fd2a96fa3db5ce611 SHA512 5712ad0d67cb5661c949700d5bc0d8c582b27562229400e7b8b1c0249020d13077af5ef3602adef7135cc8dfe529556d5a23f2ce494e3554322262510c2a9fb7
+AUX autoconf-2.13-perl-5.26.patch 387 BLAKE2B 21152b0df23fc2567b52a0f1afb27c85ccc343fadb0055b6e7d592a2de30120d4cabacb42355b9024a2058211e0fa8df1d64af6a4d467ff3c334a9e2cd3ff9de SHA512 0729e8478095b81d833f159fb3c8c242aa78220719af3cf5409034994f40de809fa308541c55c6de0a84f911a8eb74c7800f4a9b66342443fd0f2ba18e392234
+AUX autoconf-2.13-test-fixes.patch 547 BLAKE2B aa7509f3098da8e2723f835133e375d63896ea65b3030037d625361fa01a02e7e982920cedcbfdf1679783fd7a6a8f0b8476e583749419fd8d103735c0b98d2d SHA512 085e7525c66e710b42dcb068c8aeda89488d1e926e493bcab74e1a1440f53f67630d6998a2a9eff6dc65cf8f71cad19127d541422b51a2519163b51ba78ae592
+AUX autoconf-2.61-darwin.patch 454 BLAKE2B c98084d8109ead961c446aecd38d150b244a83a62870e6820c10024085c023ebcbc75d2c388e170c3bdbd562e3a2b795271c52c02b3245ccc30195443d82d89b SHA512 7d11430a596cfa8624380fa21cfee4f4684a0144d4a4f93218656cedc0aeba2e7bf85dd52f7cdad3ef2a9aa4d5213c318b6cde8a33c09690ea4dddc7d8057101
+AUX autoconf-2.69-K-R-decls-clang.patch 10802 BLAKE2B 3f40b60cdab17f59b0ec254fd051fd3d5dd807d731db62e7729ba5c04583e81faa7b1b6a876fc5fa672191c9b8ba530892555ef0fb8d94d3ed96af553f74414e SHA512 bd3f4804ab425d1833ac97589f9d6710bb806e213c5013fb667fa09daf70d1d0332f86a171ee246a30c278cc2ba725eac2e05b3481ca33a6ad883cae1ac69e6e
+AUX autoconf-2.69-fix-libtool-test.patch 1093 BLAKE2B e7b98ae1c84d6d0a41daa16c71cab644328c850c77214dd15c99c2b1ae2ee040ef3d75d4dbe3301992bdb9ad2f2b48f4a6363b14e9f6765863e57f0047b83f86 SHA512 38506631fdde1f80a3467673e6fb48d4751323462c1657c85e2b5289e1219ef236ed9af3a66906c8851a62c244c1ffed70537a5f1421539429a9aa04e929d727
+AUX autoconf-2.69-make-tests-bash5-compatible.patch 2275 BLAKE2B 17fd9702c37cc7686a232e0bb93e5fc04d11b65945f89d79673302bec393bd5572a961b0ecedd743b3336f2583534063b6dd9b3095d0cc6bbd4cf55a58145c54 SHA512 f2672e99afb69cf625097ba5e6d15356eec5c41e095ff60da33331184ecd635d97fa20f20a2db8cfdeb96fde14dca0cdee7081df3328e8032f66eeed58374e36
+AUX autoconf-2.69-perl-5.26-2.patch 1003 BLAKE2B e2a858f905f20d46a52ac7d78be63ef0ea5ce0b87a7059ea17317bed3b658c0eafe3f9d8b1b11f4d84d3160bfa3f504e980870fe562d7a1ba6da1c70177e49bb SHA512 b02086ac8a468a626d8b6506aa14e19ef10e4d33b91a7647f74d5746cce9f690d6cf5840ea81c593f63e8f94275974f31c8695065844380678e83153c1b547d0
+AUX autoconf-2.69-perl-5.26.patch 820 BLAKE2B 405d92044f338b8c7f0ebc6b0007938143c011eff116a65dd06a126a9ab3b127ee766c618e0d51caf88821d979632e7949c843ebad1c5c9e87ad066aa4a46376 SHA512 0202c099b85102dab18ad7d4268b836cadf587d0a48aefa386e70539b3b689fd580053d7287730f1d0a9cc97d6eeb41c1579a181a82a5cb2e04e436bb96d0b20
+AUX autoconf-2.71-AC_C_BIGENDIAN-lto.patch 1815 BLAKE2B 6ce618357f46e6d585fe80af1796d0f9422ba87098f891b6a2151b2474748458daa3de2541c7044c2b72880f3ea8641e753fd3ba2ec7824e56251cd4801211eb SHA512 e052fda133ea4b2ba8ffb0f2a85279833973c307c1f38d2d69da928f0a75609610675ae44f503a1bec1d7b6999babed232ea16a418170743d790adcd12ef45ef
+AUX autoconf-2.71-AC_LANG_CALL_C_cxx.patch 1376 BLAKE2B 475ece38cc5e4c4990db922e1500817df22af5303fab4f7f8810391aa2c6ddde799edf72c68c9f87db51be2ac327e7a1db8af845c5e804dbb540701fac0fbafd SHA512 c82eee93927952826385ecb4eb72e495632b73ff317173180e3823b434be6be50c81e135ddd78e63e5d8479232c49d6bbe3788a4df751a794a70fae818eb5463
+AUX autoconf-2.71-K-R-decls-clang-deux.patch 2980 BLAKE2B f609d0d67972fc3fba7533b52e47b0f2c6098b803d6887d8af1eb422e29fc663a9affca6a2607fbb3fb7cd85ac0893b678abccafa61227332f2c5a8538c22d7f SHA512 8858be0d1c575dfec3ee96de516a270f5fdba9e71d753a53eb6c400cd51ae8cfd46325bcac07599eb6e1a86fb948ec8cf3e15758704929fd17e297b7cb4a7776
+AUX autoconf-2.71-K-R-decls-clang.patch 3510 BLAKE2B 757c2ece1089f6ddf96d2bf0a10f580552925167abc20b7578b98441e7ac6f5a4d7819d32cc0cc50f402efb79488a1f14f25b943640fe7e6bee92746994d737e SHA512 02113647e5994a402d79e4aff227b44122b985339cf882e90ca32359bbe9086211a766c3d401b077fcb5f6245d00f0b98bf2fe24b7ea3df10b4fda9c3e3eb5b3
+AUX autoconf-2.71-bash52.patch 2286 BLAKE2B b70e3bdb7c8bf5667e5800f37cd46843f467a21b5997dc615ff199cbff38b0f5ba7e6c8d2dab70e3c82204167c9301172a8c7a0dc72d010352751bcfd0fc9a2b SHA512 1f372681a602bde9b352f35b6b968b62166d47358778457dea02ae962b4025b3cebcbaadf9e119f069a11a9a897e6849ffcc819bc600139d3e6a85965f305e51
+AUX autoconf-2.71-cxx11typo.patch 1160 BLAKE2B 2db4b781f4926508cba0f6adbe5f626f19243ee1ee0b636246f68c0d6adfc3894606f05db85d834d9fb0e3955430556b231576999c3166452c3d8442cde2d41a SHA512 9aee189e9e8353098ad2ae98bc1b9d4bfede975759b92afa145ef1803feb7465eadae6d61707f25bb2ab667d6cd0cdef7e7615c03354366045ecffc49373f098
+AUX autoconf-2.71-darwin.patch 525 BLAKE2B 641a98ccc5070ed46480c65c3966b7c047a48bc44930b0ca6039e492d383857140fa7da152eb60ad6bc51ad129cfbf66bd9863dea25672f985b38422a4ce3160 SHA512 92c528f416c6dbc413bd027c6684b8bf14b397164e13d5a2e754e23ac0803b09b20bf54ec89e495736b122eb6b519013c94b54d36fa7aff2715454a6321d0a05
+AUX autoconf-2.71-make-4.4.patch 966 BLAKE2B 0dfcd9aa7240085aef73b8f5a72e3c4dfbce61f1eed2149295318707435343a19a7aa71f6d3aa355638094791e04339b73af9869accbb602895c35ee1a2a25ac SHA512 7f968ddb2305ce03993dce735ff7b7e71f3f8cf06f3ddba7d40e2f8bc059f4bae4427102d247928a433d8e0af7cd1ec4b6f2654415da361111427ad05af33754
+AUX autoconf-2.71-time.patch 1253 BLAKE2B 0f791c225bddb89dab42b3927e1993f260df90de3a80bf0360f573231abd2c99128fccbc88eec82e9a7a07b7c9b4aa2dd8a7db1832d4ac5dbada34b4b2c4a213 SHA512 e84f4d0a700653ba244c6169f516666b4ce3328c90a5461690f6109649504350b5823fd109cc2298ddf05e81fab3aceea955547b02c7472acb44dcc31ba79b70
+DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad
+DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da
+DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
+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.tar.xz 1389680 BLAKE2B 01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db SHA512 c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17
+DIST autoconf-2.72.tar.xz.sig 833 BLAKE2B cc33101c5d2bd28f233e54a2843d3c81dc9729238b0900a8f23ef17b982aa0e0194892c07b1365246b6c9c0ea74becd288ae581ee34d593131b83538c69a6204 SHA512 7a0d350b23cf47c45811ae35928a4fec67ce1f3adb1965904fe6d9a0fad68139df4902662bcf4731a2f809381cae0b265a8f1f57d0a9a39777250a97a3c481d9
+EBUILD autoconf-2.13-r7.ebuild 1608 BLAKE2B 3d3e7b53a188d071ea765089ab027c94166cfaaf2cd172935d56a2be1fc887d6b62595ff0f4929d6c08736bbc955b185fcbe0aab55489a3a24cde6a0ed154aec SHA512 dc2c381c3ad6982867daf1426864d1c90b75b7a462bad2ff55e33dde70ba8135dcae5f236907ef49cb6eb2ec5f4b29d26748ec65b29289c3f633b98947357bb7
+EBUILD autoconf-2.13-r8.ebuild 1626 BLAKE2B 30c7a4089b82571188c85697a88bc3048e051145d74db7728cb3bd597d42ee287481f0e60308640b9d837558b1041aa28c2f642afe00da3df4575b9dd77f5748 SHA512 12265b9136b82abe8091337621252ccffde4093ed508223bfc3f3db8828b25289c95912d31c485ac934935e808c9755bf1756ae81ce6f41b1cd1f3bba58e8b65
+EBUILD autoconf-2.69-r9.ebuild 2165 BLAKE2B 3398cbbfe8c4e26eb467683c2940d1b54cdfd36f45e4533dc54a2b4e5029a8793756e1fc0efe67c648913dcc9c1b74d31ddfc40bd0bf7114d929f18228a595f5 SHA512 d42299d21c70d9b3ba91bef47ace8246d84e79daad196436ad22f17fa20e18ccf56b9c6ad22fd9d77b6a34e07346827abf3f9a1f4b7cbf167977688e37148446
+EBUILD autoconf-2.71-r6.ebuild 2396 BLAKE2B fdbaf31ec89987b6988732a1edf9a92a350b631bf400f8fa2052132be680cce5dcaacea33b7acc83acd3b74b9fe68b09cce52a3d087433097c3674908e2b8452 SHA512 52859ac681b598ccc660a82413cb1ab75e865714deb634cebba56a23015eb77b81e87cea3703bfc8c166681a39421d856af5aa59c261f9691d4d6c91d08eab46
+EBUILD autoconf-2.71-r7.ebuild 2696 BLAKE2B fd2276ef57bc34d43d0fe0f0a23e01e049f968c2c2cface11c6d8325f64d7817b454868966456740a7315e7c1d3df21e5113aeb2a33e37579e7a9f07ce374490 SHA512 4aae8a73578b757d51d5e12bc424f1d5f378595b370b0b3aca2fdb3026d813cd46bfa0aaf3823d872a92e4e4acd7ccec13898d2d1193bb071a270d4922880d9c
+EBUILD autoconf-2.72-r1.ebuild 2685 BLAKE2B 8e728b8225dc64e8e5dea642f28ee5bbc525990d0c8944bc55ef274751e8913ea5063fac2f15d525c0ee486994c1b917d691947d6b87a96f389c64c5ffa318ff SHA512 1ef2d267ee0c251746629a3b53cd4292f74a98bccb639dae9f025f8286c9d4c4a5b130cd7faa81ef8e8bc3bd4f229e075d8c370b6ec371e52e4f04a59a46d0fd
+EBUILD autoconf-9999.ebuild 2685 BLAKE2B 8e728b8225dc64e8e5dea642f28ee5bbc525990d0c8944bc55ef274751e8913ea5063fac2f15d525c0ee486994c1b917d691947d6b87a96f389c64c5ffa318ff SHA512 1ef2d267ee0c251746629a3b53cd4292f74a98bccb639dae9f025f8286c9d4c4a5b130cd7faa81ef8e8bc3bd4f229e075d8c370b6ec371e52e4f04a59a46d0fd
+MISC metadata.xml 343 BLAKE2B e5fd0138606384a4d646b618c096693858ddc94d09e0bb4dd3ecc6ef064a1edf9586f62a5cc753f680d73b2a6c72ed00739b21e54d490dd8edc97aa32dd05309 SHA512 6b06b7e7a5e47a4de92b2032ba3af669916818038802309e4db26917aa536387d2227feb33c29976179fb3cbb10d4b2f975d1055308e6db81a734baf1e8c1e5e
diff --git a/dev-build/autoconf/autoconf-2.13-r7.ebuild b/dev-build/autoconf/autoconf-2.13-r7.ebuild
new file mode 100644
index 000000000000..55b245745890
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.13-r7.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="${PV:0:3}"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-lang/perl
+ sys-devel/m4
+ test? ( dev-util/dejagnu )
+"
+RDEPEND="
+ ${BDEPEND}
+ sys-apps/texinfo
+ >=dev-build/autoconf-wrapper-13
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-destdir.patch
+ "${FILESDIR}"/${P}-test-fixes.patch #146592
+ "${FILESDIR}"/${P}-perl-5.26.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang.patch
+ "${FILESDIR}"/${P}-Clang-16-fixes-for-various-tests.patch
+)
+
+TC_AUTOCONF_BREAK_INFOS=yes
+
+src_configure() {
+ # make sure configure is newer than configure.in
+ touch configure || die
+
+ # need to include --exec-prefix and --bindir or our
+ # DESTDIR patch will trigger sandbox hate :(
+ #
+ # need to force locale to C to avoid bugs in the old
+ # configure script breaking the install paths #351982
+ #
+ # force to `awk` so that we don't encode another awk that
+ # happens to currently be installed, but might later be
+ # uninstalled (like mawk). same for m4.
+ ac_cv_path_M4="m4" \
+ ac_cv_prog_AWK="awk" \
+ LC_ALL=C \
+ econf \
+ --exec-prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --program-suffix="-${PV}"
+}
diff --git a/dev-build/autoconf/autoconf-2.13-r8.ebuild b/dev-build/autoconf/autoconf-2.13-r8.ebuild
new file mode 100644
index 000000000000..36e5700446c5
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.13-r8.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="${PV:0:3}"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-lang/perl
+ sys-devel/m4
+ test? ( dev-util/dejagnu )
+"
+RDEPEND="
+ ${BDEPEND}
+ sys-apps/texinfo
+ >=dev-build/autoconf-wrapper-13
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-destdir.patch
+ "${FILESDIR}"/${P}-test-fixes.patch #146592
+ "${FILESDIR}"/${P}-perl-5.26.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang.patch
+ "${FILESDIR}"/${P}-Clang-16-fixes-for-various-tests.patch
+)
+
+src_configure() {
+ # make sure configure is newer than configure.in
+ touch configure || die
+
+ # need to include --exec-prefix and --bindir or our
+ # DESTDIR patch will trigger sandbox hate :(
+ #
+ # need to force locale to C to avoid bugs in the old
+ # configure script breaking the install paths #351982
+ #
+ # force to `awk` so that we don't encode another awk that
+ # happens to currently be installed, but might later be
+ # uninstalled (like mawk). same for m4.
+ ac_cv_path_M4="m4" \
+ ac_cv_prog_AWK="awk" \
+ LC_ALL=C \
+ econf \
+ --exec-prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --program-suffix="-${PV}" \
+ --infodir="${TC_AUTOCONF_INFOPATH}"
+}
diff --git a/dev-build/autoconf/autoconf-2.69-r9.ebuild b/dev-build/autoconf/autoconf-2.69-r9.ebuild
new file mode 100644
index 000000000000..72d2d53b0555
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.69-r9.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+else
+ # Eric Blake signed 2.69 so use sec-keys/openpgp-keys-m4
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/m4.asc
+ inherit verify-sig
+
+ SRC_URI="
+ mirror://gnu/${PN}/${P}.tar.xz
+ ftp://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/dist/${P}-runstatedir_patches.tar.xz
+ verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
+ "
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-m4 )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="${PV}"
+IUSE="emacs"
+
+BDEPEND+="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.6
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-13
+ !~sys-devel/${P}:2.5
+"
+
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.69-perl-5.26.patch
+ "${FILESDIR}"/${P}-fix-libtool-test.patch
+ "${FILESDIR}"/${PN}-2.69-perl-5.26-2.patch
+ "${FILESDIR}"/${P}-make-tests-bash5-compatible.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang.patch
+
+ "${WORKDIR}"/patches/${P}-texinfo.patch
+)
+
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ PATCHES+=( "${FILESDIR}"/${PN}-2.61-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
+}
diff --git a/dev-build/autoconf/autoconf-2.71-r6.ebuild b/dev-build/autoconf/autoconf-2.71-r6.ebuild
new file mode 100644
index 000000000000..abc1bad7a693
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.71-r6.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+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"
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
+ #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
+
+ if ! [[ ${PV} == *_beta* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="${PV/_*}"
+IUSE="emacs"
+
+# for 2.71, our Perl time resolution patch changes our min Perl from 5.6
+# (vanilla upstream for 2.71) to 5.8.
+BDEPEND=">=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.8"
+RDEPEND="${BDEPEND}
+ >=dev-build/autoconf-wrapper-15
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-AC_LANG_CALL_C_cxx.patch
+ "${FILESDIR}"/${P}-time.patch
+ "${FILESDIR}"/${P}-AC_C_BIGENDIAN-lto.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang.patch
+ "${FILESDIR}"/${P}-make-4.4.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang-deux.patch
+)
+
+src_prepare() {
+ # 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
+
+ local pdir
+ for pdir in "${WORKDIR}"/{upstream_,}patches ; do
+ if [[ -d "${pdir}" ]] ; then
+ eapply ${pdir}
+ fi
+ done
+
+ 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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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-2.71-r7.ebuild b/dev-build/autoconf/autoconf-2.71-r7.ebuild
new file mode 100644
index 000000000000..71d2b138b8b8
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.71-r7.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
+ inherit git-r3
+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
+ verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig )
+ "
+ #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
+ S="${WORKDIR}"/${MY_P}
+
+ if ! [[ ${PV} == *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="${PV/_*}"
+IUSE="emacs"
+
+# for 2.71, our Perl time resolution patch changes our min Perl from 5.6
+# (vanilla upstream for 2.71) to 5.8.
+BDEPEND+="
+ >=sys-devel/m4-1.4.16
+ >=dev-lang/perl-5.8
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-15
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-AC_LANG_CALL_C_cxx.patch
+ "${FILESDIR}"/${P}-time.patch
+ "${FILESDIR}"/${P}-AC_C_BIGENDIAN-lto.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang.patch
+ "${FILESDIR}"/${P}-make-4.4.patch
+ "${FILESDIR}"/${P}-K-R-decls-clang-deux.patch
+ "${FILESDIR}"/${P}-cxx11typo.patch
+ "${FILESDIR}"/${P}-bash52.patch
+)
+
+src_prepare() {
+ # 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
+
+ local pdir
+ for pdir in "${WORKDIR}"/{upstream_,}patches ; do
+ if [[ -d "${pdir}" ]] ; then
+ eapply ${pdir}
+ fi
+ done
+
+ 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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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-2.72-r1.ebuild b/dev-build/autoconf/autoconf-2.72-r1.ebuild
new file mode 100644
index 000000000000..0fff9c205426
--- /dev/null
+++ b/dev-build/autoconf/autoconf-2.72-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 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
+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
+ https://meyering.net/ac/${P}.tar.xz
+ verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="$(ver_cut 1-2)"
+IUSE="emacs"
+
+BDEPEND+="
+ >=dev-lang/perl-5.10
+ >=sys-devel/m4-1.4.16
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-20231224
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+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
+
+ autoreconf -f -i || 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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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
new file mode 100644
index 000000000000..0fff9c205426
--- /dev/null
+++ b/dev-build/autoconf/autoconf-9999.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 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
+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
+ https://meyering.net/ac/${P}.tar.xz
+ verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.xz.sig )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+
+LICENSE="GPL-3+"
+SLOT="$(ver_cut 1-2)"
+IUSE="emacs"
+
+BDEPEND+="
+ >=dev-lang/perl-5.10
+ >=sys-devel/m4-1.4.16
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-build/autoconf-wrapper-20231224
+ sys-devel/gnuconfig
+ !~sys-devel/${P}:2.5
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+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
+
+ autoreconf -f -i || 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
+}
+
+src_install() {
+ toolchain-autoconf_src_install
+
+ 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/files/autoconf-2.13-Clang-16-fixes-for-various-tests.patch b/dev-build/autoconf/files/autoconf-2.13-Clang-16-fixes-for-various-tests.patch
new file mode 100644
index 000000000000..d158f7974e81
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-Clang-16-fixes-for-various-tests.patch
@@ -0,0 +1,331 @@
+From cb92e8110d1f274b28d5c156a93c525d2b748644 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 9 Nov 2022 08:27:53 +0000
+Subject: [PATCH] Clang 16 fixes for various tests
+
+Fixes -Wimplicit-int and -Wimplicit-function-declaration
+issues in various built-in tests.
+
+Noticed when building XEmacs 21.4 (thanks to matsl for reporting).
+
+Bug: https://bugs.gentoo.org/874366
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/acgeneral.m4
++++ b/acgeneral.m4
+@@ -1988,7 +1988,8 @@ changequote([, ])dnl
+ AC_MSG_CHECKING(size of $1)
+ AC_CACHE_VAL(AC_CV_NAME,
+ [AC_TRY_RUN([#include <stdio.h>
+-main(void)
++#include <stdlib.h>
++int main(void)
+ {
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+--- a/acspecific.m4
++++ b/acspecific.m4
+@@ -371,7 +371,7 @@ changequote(, )dnl
+ sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
+ changequote([, ])dnl
+ AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o,
+-[echo 'foo(void){}' > conftest.c
++[echo 'int foo(void){}' > conftest.c
+ # Make sure it works both with $CC and with simple cc.
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+@@ -706,6 +706,7 @@ fi
+ if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ AC_TRY_RUN([#include <ctype.h>
++#include <stdlib.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+@@ -819,6 +820,7 @@ esac
+
+ AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void,
+ [AC_TRY_RUN([#include <sys/types.h>
++#include <stdlib.h>
+ #include <$ac_header_dirent>
+ int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }],
+ ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)])
+@@ -907,6 +909,8 @@ AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups,
+ changequote(<<, >>)dnl
+ <<
+ /* Thanks to Mike Rendell for this test. */
++#include <stdlib.h>
++#include <unistd.h>
+ #include <sys/types.h>
+ #define NGID 256
+ #undef MAX
+@@ -988,6 +992,7 @@ AC_DEFUN(AC_FUNC_CLOSEDIR_VOID,
+ [AC_REQUIRE([AC_HEADER_DIRENT])dnl
+ AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void,
+ [AC_TRY_RUN([#include <sys/types.h>
++#include <stdlib.h>
+ #include <$ac_header_dirent>
+ int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }],
+ ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)])
+@@ -1001,7 +1006,9 @@ AC_DEFUN(AC_FUNC_FNMATCH,
+ # Some versions of Solaris or SCO have a broken fnmatch function.
+ # So we run a test program. If we are cross-compiling, take no chance.
+ # Thanks to John Oleynick and Franc,ois Pinard for this test.
+-[AC_TRY_RUN([int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }],
++[AC_TRY_RUN([#include <stdlib.h>
++#include <fnmatch.h>
++int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }],
+ ac_cv_func_fnmatch_works=yes, ac_cv_func_fnmatch_works=no,
+ ac_cv_func_fnmatch_works=no)])
+ if test $ac_cv_func_fnmatch_works = yes; then
+@@ -1038,6 +1045,7 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <sys/mman.h>
++#include <stdlib.h>
+
+ /* This mess was copied from the GNU getpagesize.h. */
+ #ifndef HAVE_GETPAGESIZE
+@@ -1165,49 +1173,17 @@ AC_DEFUN(AC_FUNC_GETPGRP,
+ *
+ * Snarfed from Chet Ramey's bash pgrp.c test program
+ */
+-#include <stdio.h>
+-#include <sys/types.h>
+-
+-int pid;
+-int pg1, pg2, pg3, pg4;
+-int ng, np, s, child;
++#include <stdlib.h>
+
+ int main(void)
+ {
+- pid = getpid();
+- pg1 = getpgrp(0);
+- pg2 = getpgrp();
+- pg3 = getpgrp(pid);
+- pg4 = getpgrp(1);
+-
+- /*
+- * If all of these values are the same, it's pretty sure that
+- * we're on a system that ignores getpgrp's first argument.
+- */
+- if (pg2 == pg4 && pg1 == pg3 && pg2 == pg3)
+- exit(0);
+-
+- child = fork();
+- if (child < 0)
+- exit(1);
+- else if (child == 0) {
+- np = getpid();
+- /*
+- * If this is Sys V, this will not work; pgrp will be
+- * set to np because setpgrp just changes a pgrp to be
+- * the same as the pid.
+- */
+- setpgrp(np, pg1);
+- ng = getpgrp(0); /* Same result for Sys V and BSD */
+- if (ng == pg1) {
+- exit(1);
+- } else {
+- exit(0);
+- }
+- } else {
+- wait(&s);
+- exit(s>>8);
+- }
++ /* XXX: Gentoo: This function used to check for
++ BSD vs POSIX getpgrp but the test fails to compile
++ on modern POSIX systems when not relying on implicit
++ function declarations. It has no value anyway on such
++ systems and it's been removed in newer autoconf.
++ */
++ exit(0);
+ }
+ ], ac_cv_func_getpgrp_void=yes, ac_cv_func_getpgrp_void=no,
+ AC_MSG_ERROR(cannot check getpgrp if cross compiling))
+@@ -1220,9 +1196,7 @@ fi
+ AC_DEFUN(AC_FUNC_SETPGRP,
+ [AC_CACHE_CHECK(whether setpgrp takes no argument, ac_cv_func_setpgrp_void,
+ AC_TRY_RUN([
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
++#include <stdlib.h>
+
+ /*
+ * If this system has a BSD-style setpgrp, which takes arguments, exit
+@@ -1230,10 +1204,13 @@ AC_TRY_RUN([
+ */
+ int main(void)
+ {
+- if (setpgrp(1,1) == -1)
+- exit(0);
+- else
+- exit(1);
++ /* XXX: Gentoo: This function used to check for
++ BSD vs POSIX gsetpgrp but the test fails to compile
++ on modern POSIX systems when not relying on implicit
++ function declarations. It has no value anyway on such
++ systems and it's been removed in newer autoconf.
++ */
++ exit(1);
+ }
+ ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes,
+ AC_MSG_ERROR(cannot check setpgrp if cross compiling))
+@@ -1255,9 +1232,11 @@ AC_DEFUN(AC_FUNC_VFORK,
+ AC_CHECK_HEADER(vfork.h, AC_DEFINE(HAVE_VFORK_H))
+ AC_CACHE_CHECK(for working vfork, ac_cv_func_vfork_works,
+ [AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/wait.h>
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+@@ -1270,11 +1249,11 @@ AC_CACHE_CHECK(for working vfork, ac_cv_func_vfork_works,
+ but some compilers (e.g. gcc -O) don't grok <vfork.h>.
+ Test for this by using a static variable whose address
+ is put into a register that is clobbered by the vfork. */
+-static
++static void
+ #ifdef __cplusplus
+ sparc_address_test (int arg)
+ #else
+-sparc_address_test (arg) int arg;
++sparc_address_test (int arg)
+ #endif
+ {
+ static pid_t child;
+@@ -1359,6 +1338,8 @@ AC_DEFUN(AC_FUNC_WAIT3,
+ #include <sys/time.h>
+ #include <sys/resource.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+ /* HP-UX has wait3 but does not fill in rusage at all. */
+ int main(void) {
+ struct rusage r;
+@@ -1452,7 +1433,8 @@ done
+ fi
+
+ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
+-[AC_TRY_RUN([find_stack_direction ()
++[AC_TRY_RUN([#include <stdlib.h>
++int find_stack_direction ()
+ {
+ static char *addr = 0;
+ auto char dummy;
+@@ -1582,6 +1564,8 @@ AC_DEFUN(AC_FUNC_UTIME_NULL,
+ # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong.
+ AC_TRY_RUN([#include <sys/types.h>
+ #include <sys/stat.h>
++#include <stdlib.h>
++#include <utime.h>
+ int main(void) {
+ struct stat s, t;
+ exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0
+@@ -1598,6 +1582,7 @@ fi
+ AC_DEFUN(AC_FUNC_STRCOLL,
+ [AC_CACHE_CHECK(for working strcoll, ac_cv_func_strcoll_works,
+ [AC_TRY_RUN([#include <string.h>
++#include <stdlib.h>
+ int main (void)
+ {
+ exit (strcoll ("abc", "def") >= 0 ||
+@@ -1614,6 +1599,7 @@ AC_DEFUN(AC_FUNC_SETVBUF_REVERSED,
+ [AC_CACHE_CHECK(whether setvbuf arguments are reversed,
+ ac_cv_func_setvbuf_reversed,
+ [AC_TRY_RUN([#include <stdio.h>
++#include <stdlib.h>
+ /* If setvbuf has the reversed format, exit 0. */
+ int main (void) {
+ /* This call has the arguments reversed.
+@@ -1646,7 +1632,8 @@ LIBS="-lintl $LIBS"])])])
+
+ AC_DEFUN(AC_FUNC_MEMCMP,
+ [AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean,
+-[AC_TRY_RUN([
++[AC_TRY_RUN([#include <stdlib.h>
++#include <string.h>
+ int main(void)
+ {
+ char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+@@ -1805,6 +1792,7 @@ AC_TRY_RUN(
+ #if !defined(__STDC__) || __STDC__ != 1
+ #define volatile
+ #endif
++#include <stdlib.h>
+ int main(void) {
+ volatile char c = 255; exit(c < 0);
+ }], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no)
+@@ -1819,7 +1807,8 @@ AC_DEFUN(AC_C_LONG_DOUBLE,
+ [if test "$GCC" = yes; then
+ ac_cv_c_long_double=yes
+ else
+-AC_TRY_RUN([int main(void) {
++AC_TRY_RUN([#include <stdlib.h>
++int main(void) {
+ /* The Stardent Vistra knows sizeof(long double), but does not support it. */
+ long double foo = 0.0;
+ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
+@@ -1834,7 +1823,8 @@ fi
+ AC_DEFUN(AC_INT_16_BITS,
+ [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(int)])dnl
+ AC_MSG_CHECKING(whether int is 16 bits)
+-AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }],
++AC_TRY_RUN([#include <stdlib.h>
++int main(void) { exit(sizeof(int) != 2); }],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(INT_16_BITS)], AC_MSG_RESULT(no))
+ ])
+@@ -1842,7 +1832,8 @@ AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }],
+ AC_DEFUN(AC_LONG_64_BITS,
+ [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(long)])dnl
+ AC_MSG_CHECKING(whether long int is 64 bits)
+-AC_TRY_RUN([int main(void) { exit(sizeof(long int) != 8); }],
++AC_TRY_RUN([#include <stdlib.h>
++int main(void) { exit(sizeof(long int) != 8); }],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(LONG_64_BITS)], AC_MSG_RESULT(no))
+ ])
+@@ -1862,7 +1853,8 @@ AC_TRY_COMPILE([#include <sys/types.h>
+ not big endian
+ #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+ if test $ac_cv_c_bigendian = unknown; then
+-AC_TRY_RUN([int main (void) {
++AC_TRY_RUN([#include <stdlib.h>
++int main (void) {
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+@@ -1885,7 +1877,7 @@ AC_DEFUN(AC_C_INLINE,
+ [AC_CACHE_CHECK([for inline], ac_cv_c_inline,
+ [ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+- AC_TRY_COMPILE(, [} $ac_kw foo(void) {], [ac_cv_c_inline=$ac_kw; break])
++ AC_TRY_COMPILE(, [} $ac_kw int foo(void) {], [ac_cv_c_inline=$ac_kw; break])
+ done
+ ])
+ case "$ac_cv_c_inline" in
+@@ -2275,7 +2267,10 @@ AC_DEFUN(AC_SYS_RESTARTABLE_SYSCALLS,
+ i.e. the pid of the child, which means that wait was restarted
+ after getting the signal. */
+ #include <sys/types.h>
++#include <sys/wait.h>
+ #include <signal.h>
++#include <stdlib.h>
++#include <unistd.h>
+ ucatch (isig) { }
+ int main (void) {
+ int i = fork (), status;
+@@ -2444,7 +2439,7 @@ if test "$ac_x_libraries" = NO; then
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+-AC_TRY_LINK(, [${x_direct_test_function}()],
++AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(0)],
+ [LIBS="$ac_save_LIBS"
+ # We can link X programs with no special library path.
+ ac_x_libraries=],
diff --git a/dev-build/autoconf/files/autoconf-2.13-K-R-decls-clang.patch b/dev-build/autoconf/files/autoconf-2.13-K-R-decls-clang.patch
new file mode 100644
index 000000000000..42c3018aea8c
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-K-R-decls-clang.patch
@@ -0,0 +1,346 @@
+https://bugs.gentoo.org/870412
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
+
+Backport the K&R decls fix to 2.13 to avoid configure tests
+failing (often "silently", i.e. doesn't fail the build of
+the package overall, just leads to wrong results) with
+newer compilers like the upcoming Clang 16.
+
+From d8ad1096be4352c588b9bc1e16b6758f4f32b96a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
+Date: Mon, 19 Sep 2022 01:38:29 +0200
+Subject: [PATCH] ac{general,specific}: declare void param lists, where apt
+
+--- a/acgeneral.m4
++++ b/acgeneral.m4
+@@ -1542,7 +1542,7 @@ extern "C"
+ ])dnl
+ [/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char $1();
++char $1(void);
+ ]),
+ [$1()],
+ [$2],
+@@ -1597,7 +1597,7 @@ extern "C"
+ ])dnl
+ [/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char $2();
++char $2(void);
+ ])),
+ [$2()],
+ eval "ac_cv_lib_$ac_lib_var=yes",
+@@ -1733,7 +1733,7 @@ dnl [#]line __oline__ "[$]0"
+ [#]line __oline__ "configure"
+ #include "confdefs.h"
+ [$1]
+-int main() {
++int main(void) {
+ [$2]
+ ; return 0; }
+ ])EOF
+@@ -1777,7 +1777,7 @@ dnl [#]line __oline__ "[$]0"
+ [#]line __oline__ "configure"
+ #include "confdefs.h"
+ [$1]
+-int main() {
++int main(void) {
+ [$2]
+ ; return 0; }
+ ])EOF
+@@ -1934,7 +1934,7 @@ extern "C"
+ ])dnl
+ [/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char $1();
++char $1(void);
+ ], [
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+@@ -1988,7 +1988,7 @@ changequote([, ])dnl
+ AC_MSG_CHECKING(size of $1)
+ AC_CACHE_VAL(AC_CV_NAME,
+ [AC_TRY_RUN([#include <stdio.h>
+-main()
++main(void)
+ {
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+--- a/acspecific.m4
++++ b/acspecific.m4
+@@ -202,7 +202,7 @@ AC_DEFUN(AC_PROG_CC_WORKS,
+ [AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works])
+ AC_LANG_SAVE
+ AC_LANG_C
+-AC_TRY_COMPILER([main(){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross)
++AC_TRY_COMPILER([int main(void){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross)
+ AC_LANG_RESTORE
+ AC_MSG_RESULT($ac_cv_prog_cc_works)
+ if test $ac_cv_prog_cc_works = no; then
+@@ -217,7 +217,7 @@ AC_DEFUN(AC_PROG_CXX_WORKS,
+ [AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+-AC_TRY_COMPILER([int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
++AC_TRY_COMPILER([int main(void){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
+ AC_LANG_RESTORE
+ AC_MSG_RESULT($ac_cv_prog_cxx_works)
+ if test $ac_cv_prog_cxx_works = no; then
+@@ -300,7 +300,7 @@ fi])])
+
+ AC_DEFUN(AC_PROG_CC_G,
+ [AC_CACHE_CHECK(whether ${CC-cc} accepts -g, ac_cv_prog_cc_g,
+-[echo 'void f(){}' > conftest.c
++[echo 'void f(void){}' > conftest.c
+ if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -311,7 +311,7 @@ rm -f conftest*
+
+ AC_DEFUN(AC_PROG_CXX_G,
+ [AC_CACHE_CHECK(whether ${CXX-g++} accepts -g, ac_cv_prog_cxx_g,
+-[echo 'void f(){}' > conftest.cc
++[echo 'void f(void){}' > conftest.cc
+ if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+ ac_cv_prog_cxx_g=yes
+ else
+@@ -371,7 +371,7 @@ changequote(, )dnl
+ sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
+ changequote([, ])dnl
+ AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o,
+-[echo 'foo(){}' > conftest.c
++[echo 'foo(void){}' > conftest.c
+ # Make sure it works both with $CC and with simple cc.
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+@@ -709,7 +709,7 @@ AC_TRY_RUN([#include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+-int main () { int i; for (i = 0; i < 256; i++)
++int main (void) { int i; for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+ exit (0); }
+ ], , ac_cv_header_stdc=no, :)
+@@ -820,7 +820,7 @@ esac
+ AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void,
+ [AC_TRY_RUN([#include <sys/types.h>
+ #include <$ac_header_dirent>
+-int closedir(); main() { exit(closedir(opendir(".")) != 0); }],
++int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }],
+ ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)])
+ if test $ac_cv_func_closedir_void = yes; then
+ AC_DEFINE(VOID_CLOSEDIR)
+@@ -911,7 +911,7 @@ changequote(<<, >>)dnl
+ #define NGID 256
+ #undef MAX
+ #define MAX(x, y) ((x) > (y) ? (x) : (y))
+-main()
++int main(void)
+ {
+ gid_t gidset[NGID];
+ int i, n;
+@@ -973,7 +973,7 @@ AC_DEFUN(AC_TYPE_SIGNAL,
+ #ifdef __cplusplus
+ extern "C" void (*signal (int, void (*)(int)))(int);
+ #else
+-void (*signal ()) ();
++void (*signal (void)) (void);
+ #endif
+ ],
+ [int i;], ac_cv_type_signal=void, ac_cv_type_signal=int)])
+@@ -989,7 +989,7 @@ AC_DEFUN(AC_FUNC_CLOSEDIR_VOID,
+ AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void,
+ [AC_TRY_RUN([#include <sys/types.h>
+ #include <$ac_header_dirent>
+-int closedir(); main() { exit(closedir(opendir(".")) != 0); }],
++int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }],
+ ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)])
+ if test $ac_cv_func_closedir_void = yes; then
+ AC_DEFINE(CLOSEDIR_VOID)
+@@ -1001,7 +1001,7 @@ AC_DEFUN(AC_FUNC_FNMATCH,
+ # Some versions of Solaris or SCO have a broken fnmatch function.
+ # So we run a test program. If we are cross-compiling, take no chance.
+ # Thanks to John Oleynick and Franc,ois Pinard for this test.
+-[AC_TRY_RUN([main() { exit (fnmatch ("a*", "abc", 0) != 0); }],
++[AC_TRY_RUN([int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }],
+ ac_cv_func_fnmatch_works=yes, ac_cv_func_fnmatch_works=no,
+ ac_cv_func_fnmatch_works=no)])
+ if test $ac_cv_func_fnmatch_works = yes; then
+@@ -1083,11 +1083,11 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
+ #ifdef __cplusplus
+ extern "C" { void *malloc(unsigned); }
+ #else
+-char *malloc();
++char *malloc(...);
+ #endif
+
+ int
+-main()
++main(void)
+ {
+ char *data, *data2, *data3;
+ int i, pagesize;
+@@ -1172,7 +1172,7 @@ int pid;
+ int pg1, pg2, pg3, pg4;
+ int ng, np, s, child;
+
+-main()
++int main(void)
+ {
+ pid = getpid();
+ pg1 = getpgrp(0);
+@@ -1228,7 +1228,7 @@ AC_TRY_RUN([
+ * If this system has a BSD-style setpgrp, which takes arguments, exit
+ * successfully.
+ */
+-main()
++int main(void)
+ {
+ if (setpgrp(1,1) == -1)
+ exit(0);
+@@ -1291,7 +1291,7 @@ sparc_address_test (arg) int arg;
+ }
+ }
+ }
+-main() {
++int main(void) {
+ pid_t parent = getpid ();
+ pid_t child;
+
+@@ -1360,7 +1360,7 @@ AC_DEFUN(AC_FUNC_WAIT3,
+ #include <sys/resource.h>
+ #include <stdio.h>
+ /* HP-UX has wait3 but does not fill in rusage at all. */
+-main() {
++int main(void) {
+ struct rusage r;
+ int i;
+ /* Use a field that we can force nonzero --
+@@ -1416,7 +1416,7 @@ AC_CACHE_CHECK([for alloca], ac_cv_func_alloca_works,
+ #pragma alloca
+ # else
+ # ifndef alloca /* predefined by HP cc +Olibcalls */
+-char *alloca ();
++char *alloca (...);
+ # endif
+ # endif
+ # endif
+@@ -1464,7 +1464,7 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
+ else
+ return (&dummy > addr) ? 1 : -1;
+ }
+-main ()
++int main (void)
+ {
+ exit (find_stack_direction() < 0);
+ }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
+@@ -1582,7 +1582,7 @@ AC_DEFUN(AC_FUNC_UTIME_NULL,
+ # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong.
+ AC_TRY_RUN([#include <sys/types.h>
+ #include <sys/stat.h>
+-main() {
++int main(void) {
+ struct stat s, t;
+ exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0
+ && stat("conftestdata", &t) == 0 && t.st_mtime >= s.st_mtime
+@@ -1598,7 +1598,7 @@ fi
+ AC_DEFUN(AC_FUNC_STRCOLL,
+ [AC_CACHE_CHECK(for working strcoll, ac_cv_func_strcoll_works,
+ [AC_TRY_RUN([#include <string.h>
+-main ()
++int main (void)
+ {
+ exit (strcoll ("abc", "def") >= 0 ||
+ strcoll ("ABC", "DEF") >= 0 ||
+@@ -1615,7 +1615,7 @@ AC_DEFUN(AC_FUNC_SETVBUF_REVERSED,
+ ac_cv_func_setvbuf_reversed,
+ [AC_TRY_RUN([#include <stdio.h>
+ /* If setvbuf has the reversed format, exit 0. */
+-main () {
++int main (void) {
+ /* This call has the arguments reversed.
+ A reversed system may check and see that the address of main
+ is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
+@@ -1647,7 +1647,7 @@ LIBS="-lintl $LIBS"])])])
+ AC_DEFUN(AC_FUNC_MEMCMP,
+ [AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean,
+ [AC_TRY_RUN([
+-main()
++int main(void)
+ {
+ char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+ exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+@@ -1805,7 +1805,7 @@ AC_TRY_RUN(
+ #if !defined(__STDC__) || __STDC__ != 1
+ #define volatile
+ #endif
+-main() {
++int main(void) {
+ volatile char c = 255; exit(c < 0);
+ }], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no)
+ fi])
+@@ -1819,7 +1819,7 @@ AC_DEFUN(AC_C_LONG_DOUBLE,
+ [if test "$GCC" = yes; then
+ ac_cv_c_long_double=yes
+ else
+-AC_TRY_RUN([int main() {
++AC_TRY_RUN([int main(void) {
+ /* The Stardent Vistra knows sizeof(long double), but does not support it. */
+ long double foo = 0.0;
+ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
+@@ -1834,7 +1834,7 @@ fi
+ AC_DEFUN(AC_INT_16_BITS,
+ [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(int)])dnl
+ AC_MSG_CHECKING(whether int is 16 bits)
+-AC_TRY_RUN([main() { exit(sizeof(int) != 2); }],
++AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(INT_16_BITS)], AC_MSG_RESULT(no))
+ ])
+@@ -1842,7 +1842,7 @@ AC_TRY_RUN([main() { exit(sizeof(int) != 2); }],
+ AC_DEFUN(AC_LONG_64_BITS,
+ [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(long)])dnl
+ AC_MSG_CHECKING(whether long int is 64 bits)
+-AC_TRY_RUN([main() { exit(sizeof(long int) != 8); }],
++AC_TRY_RUN([int main(void) { exit(sizeof(long int) != 8); }],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(LONG_64_BITS)], AC_MSG_RESULT(no))
+ ])
+@@ -1862,7 +1862,7 @@ AC_TRY_COMPILE([#include <sys/types.h>
+ not big endian
+ #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+ if test $ac_cv_c_bigendian = unknown; then
+-AC_TRY_RUN([main () {
++AC_TRY_RUN([int main (void) {
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+@@ -1885,7 +1885,7 @@ AC_DEFUN(AC_C_INLINE,
+ [AC_CACHE_CHECK([for inline], ac_cv_c_inline,
+ [ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+- AC_TRY_COMPILE(, [} $ac_kw foo() {], [ac_cv_c_inline=$ac_kw; break])
++ AC_TRY_COMPILE(, [} $ac_kw foo(void) {], [ac_cv_c_inline=$ac_kw; break])
+ done
+ ])
+ case "$ac_cv_c_inline" in
+@@ -2277,7 +2277,7 @@ AC_DEFUN(AC_SYS_RESTARTABLE_SYSCALLS,
+ #include <sys/types.h>
+ #include <signal.h>
+ ucatch (isig) { }
+-main () {
++int main (void) {
+ int i = fork (), status;
+ if (i == 0) { sleep (3); kill (getppid (), SIGINT); sleep (3); exit (0); }
+ signal (SIGINT, ucatch);
+@@ -2654,7 +2654,7 @@ AC_CACHE_VAL(ac_cv_exeext,
+ ac_cv_exeext=.exe
+ else
+ rm -f conftest*
+- echo 'int main () { return 0; }' > conftest.$ac_ext
++ echo 'int main (void) { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if AC_TRY_EVAL(ac_link); then
+ for file in conftest.*; do
diff --git a/dev-build/autoconf/files/autoconf-2.13-destdir.patch b/dev-build/autoconf/files/autoconf-2.13-destdir.patch
new file mode 100644
index 000000000000..47605af5f59c
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-destdir.patch
@@ -0,0 +1,26 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -41,18 +41,18 @@
+
+ transform=@program_transform_name@
+
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+-exec_prefix = @exec_prefix@
++exec_prefix = $(DESTDIR)@exec_prefix@
+
+ # Directory in which to install scripts.
+-bindir = @bindir@
++bindir = $(DESTDIR)@bindir@
+
+ # Directory in which to install library files.
+-datadir = @datadir@
++datadir = $(DESTDIR)@datadir@
+ acdatadir = $(datadir)/autoconf
+
+ # Directory in which to install documentation info files.
+-infodir = @infodir@
++infodir = $(DESTDIR)@infodir@
+
+ #### End of system configuration section. ####
+
diff --git a/dev-build/autoconf/files/autoconf-2.13-gentoo.patch b/dev-build/autoconf/files/autoconf-2.13-gentoo.patch
new file mode 100644
index 000000000000..44f09cba92f0
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-gentoo.patch
@@ -0,0 +1,36 @@
+--- a/configure
++++ b/configure
+@@ -654,12 +654,10 @@
+ echo "$ac_t""no" 1>&6
+ fi
+
+-if test "$PERL" != no; then
+- SCRIPTS=autoscan
+-else
+- echo "configure: warning: autoscan will not be built since perl is not found" 1>&2
++if test "$PERL" = no; then
++ PERL=/usr/bin/perl
+ fi
+-
++SCRIPTS=autoscan
+ ac_aux_dir=
+ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+--- a/configure.in
++++ b/configure.in
+@@ -14,12 +14,10 @@
+ AC_PATH_PROG(PERL, perl, no)
+ AC_SUBST(PERL)dnl
+ AC_SUBST(SCRIPTS)dnl
+-if test "$PERL" != no; then
+- SCRIPTS=autoscan
+-else
+- AC_MSG_WARN(autoscan will not be built since perl is not found)
++if test "$PERL" = no; then
++ PERL=/usr/bin/perl
+ fi
+-
++SCRIPTS=autoscan
+ AC_PROG_INSTALL
+
+ # Work with the GNU or Cygnus source tree layout.
diff --git a/dev-build/autoconf/files/autoconf-2.13-perl-5.26.patch b/dev-build/autoconf/files/autoconf-2.13-perl-5.26.patch
new file mode 100644
index 000000000000..6fbc0cd1bc89
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-perl-5.26.patch
@@ -0,0 +1,12 @@
+diff -ruN autoconf-2.13.orig/autoscan.pl autoconf-2.13/autoscan.pl
+--- autoconf-2.13.orig/autoscan.pl 1999-01-05 14:28:42.000000000 +0100
++++ autoconf-2.13/autoscan.pl 2018-12-22 19:55:10.986732296 +0100
+@@ -232,7 +232,7 @@
+ # Strip out comments and variable references.
+ s/#.*//;
+ s/\$\([^\)]*\)//g;
+- s/\${[^\}]*}//g;
++ s/\$\{[^\}]*}//g;
+ s/@[^@]*@//g;
+
+ # Variable assignments.
diff --git a/dev-build/autoconf/files/autoconf-2.13-test-fixes.patch b/dev-build/autoconf/files/autoconf-2.13-test-fixes.patch
new file mode 100644
index 000000000000..b8a7e3b8ce99
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.13-test-fixes.patch
@@ -0,0 +1,18 @@
+newer gcc versions don't provide g77, so if it doesn't exist,
+don't bother trying to test it (and failing)
+
+http://bugs.gentoo.org/146592
+
+--- autoconf-2.13/testsuite/autoconf.s/syntax.exp
++++ autoconf-2.13/testsuite/autoconf.s/syntax.exp
+@@ -5,6 +5,10 @@
+ set macros [exec sed -n $script $srcdir/../acspecific.m4]
+
+ foreach mac $macros {
++ if { [string match "*F77*" "$mac"] && [catch {exec which g77} ignore_output] } then {
++ send_user "XFAIL: $mac\n"
++ continue
++ }
+ send_user "$mac\n"
+ autoconf_test $mac $mac
+ }
diff --git a/dev-build/autoconf/files/autoconf-2.61-darwin.patch b/dev-build/autoconf/files/autoconf-2.61-darwin.patch
new file mode 100644
index 000000000000..83f450e6f5af
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.61-darwin.patch
@@ -0,0 +1,11 @@
+--- a/bin/autoreconf.in
++++ b/bin/autoreconf.in
+@@ -110,7 +110,7 @@
+ my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@';
+ my $automake = $ENV{'AUTOMAKE'} || 'automake';
+ my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
+-my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
++my $libtoolize = $ENV{'LIBTOOLIZE'} || 'glibtoolize';
+ my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
+
+ # --install -- as --add-missing in other tools.
diff --git a/dev-build/autoconf/files/autoconf-2.69-K-R-decls-clang.patch b/dev-build/autoconf/files/autoconf-2.69-K-R-decls-clang.patch
new file mode 100644
index 000000000000..77444ebc5be6
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.69-K-R-decls-clang.patch
@@ -0,0 +1,394 @@
+https://bugs.gentoo.org/870412
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
+(and contains a backport of https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4)
+
+Backport the K&R decls fix to 2.69 to avoid configure tests
+failing (often "silently", i.e. doesn't fail the build of
+the package overall, just leads to wrong results) with
+newer compilers like the upcoming Clang 16.
+
+From e6f401b94b58bb9bb58cd668a996e27663d3e6c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
+Date: Mon, 19 Sep 2022 12:11:24 +0200
+Subject: [PATCH] backport K&R decl fixes
+
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -97,7 +97,7 @@ m4_define([AC_LANG_PROGRAM(C)],
+ m4_ifdef([_AC_LANG_PROGRAM_C_F77_HOOKS], [_AC_LANG_PROGRAM_C_F77_HOOKS])[]dnl
+ m4_ifdef([_AC_LANG_PROGRAM_C_FC_HOOKS], [_AC_LANG_PROGRAM_C_FC_HOOKS])[]dnl
+ int
+-main ()
++main (void)
+ {
+ dnl Do *not* indent the following line: there may be CPP directives.
+ dnl Don't move the `;' right after for the same reason.
+@@ -130,7 +130,7 @@ m4_if([$2], [main], ,
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char $2 ();])], [return $2 ();])])
++char $2 (void);])], [return $2 ();])])
+
+
+ # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION)
+@@ -154,7 +154,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #define $1 innocuous_$1
+
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $1 (); below.
++ which can conflict with char $1 (void); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+@@ -172,7 +172,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char $1 ();
++char $1 (void);
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+@@ -201,8 +201,8 @@ return test_array @<:@0@:>@;
+ # But we include them only after the EXPRESSION has been evaluated.
+ m4_define([AC_LANG_INT_SAVE(C)],
+ [AC_LANG_PROGRAM([$1
+-static long int longval () { return $2; }
+-static unsigned long int ulongval () { return $2; }
++static long int longval (void) { return $2; }
++static unsigned long int ulongval (void) { return $2; }
+ @%:@include <stdio.h>
+ @%:@include <stdlib.h>],
+ [
+@@ -1625,8 +1625,8 @@ for ac_kw in inline __inline__ __inline; do
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+ [#ifndef __cplusplus
+ typedef int foo_t;
+-static $ac_kw foo_t static_foo () {return 0; }
+-$ac_kw foo_t foo () {return 0; }
++static $ac_kw foo_t static_foo (void) {return 0; }
++$ac_kw foo_t foo (void) {return 0; }
+ #endif
+ ])],
+ [ac_cv_c_inline=$ac_kw])
+@@ -1949,7 +1949,7 @@ m4_define([_AC_LANG_OPENMP(C)],
+ choke me
+ #endif
+ #include <omp.h>
+-int main () { return omp_get_num_threads (); }
++int main (void) { return omp_get_num_threads (); }
+ ])
+
+ # _AC_LANG_OPENMP(C++)
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -463,9 +463,6 @@ AC_CACHE_CHECK([whether closedir returns void],
+ [ac_cv_func_closedir_void],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
+ #include <$ac_header_dirent>
+-#ifndef __cplusplus
+-int closedir ();
+-#endif
+ ],
+ [[return closedir (opendir (".")) != 0;]])],
+ [ac_cv_func_closedir_void=no],
+@@ -893,7 +890,7 @@ AC_CACHE_CHECK([for GNU libc compatible malloc], ac_cv_func_malloc_0_nonnull,
+ [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+ # include <stdlib.h>
+ #else
+-char *malloc ();
++char *malloc (long);
+ #endif
+ ]],
+ [return ! malloc (0);])],
+@@ -1029,7 +1026,7 @@ static const char *tz_strings[] = {
+ /* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+ static int
+-spring_forward_gap ()
++spring_forward_gap (void)
+ {
+ /* glibc (up to about 1998-10-07) failed this test. */
+ struct tm tm;
+@@ -1066,7 +1063,7 @@ mktime_test (time_t now)
+ }
+
+ static int
+-irix_6_4_bug ()
++irix_6_4_bug (void)
+ {
+ /* Based on code from Ariel Faigon. */
+ struct tm tm;
+@@ -1108,7 +1105,7 @@ bigtime_test (int j)
+ }
+
+ static int
+-year_2050_test ()
++year_2050_test (void)
+ {
+ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
+ ignoring leap seconds. */
+@@ -1138,7 +1135,7 @@ year_2050_test ()
+ }
+
+ int
+-main ()
++main (void)
+ {
+ time_t t, delta;
+ int i, j;
+@@ -1232,7 +1229,7 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+ #include <sys/mman.h>
+
+ #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+-char *malloc ();
++char *malloc (void *, long);
+ #endif
+
+ /* This mess was copied from the GNU getpagesize.h. */
+@@ -1268,7 +1265,7 @@ char *malloc ();
+ #endif /* no HAVE_GETPAGESIZE */
+
+ int
+-main ()
++main (void)
+ {
+ char *data, *data2, *data3;
+ const char *cdata2;
+@@ -1398,7 +1395,7 @@ AC_CACHE_CHECK([for GNU libc compatible realloc], ac_cv_func_realloc_0_nonnull,
+ [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+ # include <stdlib.h>
+ #else
+-char *realloc ();
++char *realloc (void *, long);
+ #endif
+ ]],
+ [return ! realloc (0, 0);])],
+@@ -1547,11 +1544,8 @@ AC_DEFUN([AC_FUNC_STRTOD],
+ AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod,
+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ ]AC_INCLUDES_DEFAULT[
+-#ifndef strtod
+-double strtod ();
+-#endif
+ int
+-main()
++main(void)
+ {
+ {
+ /* Some versions of Linux strtod mis-parse strings with leading '+'. */
+@@ -1645,8 +1639,7 @@ AC_CACHE_CHECK([whether strerror_r returns char *],
+ # former has a strerror_r that returns char*, while the latter
+ # has a strerror_r that returns `int'.
+ # This test should segfault on the DEC system.
+- AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
+- extern char *strerror_r ();],
++ AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+ [[char buf[100];
+ char x = *strerror_r (0, buf, sizeof buf);
+ return ! isalpha (x);]])],
+@@ -1879,7 +1872,7 @@ sparc_address_test (arg) int arg;
+ }
+
+ int
+-main ()
++main (void)
+ {
+ pid_t parent = getpid ();
+ pid_t child;
+@@ -1985,7 +1978,7 @@ AC_CACHE_CHECK([for wait3 that fills in rusage],
+ #include <sys/wait.h>
+ /* HP-UX has wait3 but does not fill in rusage at all. */
+ int
+-main ()
++main (void)
+ {
+ struct rusage r;
+ int i;
+--- a/lib/autoconf/headers.m4
++++ b/lib/autoconf/headers.m4
+@@ -712,7 +712,7 @@ if test $ac_cv_header_stdc = yes; then
+
+ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+ int
+-main ()
++main (void)
+ {
+ int i;
+ for (i = 0; i < 256; i++)
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -257,7 +257,7 @@ void ucatch (dummy) int dummy; { }
+ #endif
+
+ int
+-main ()
++main (void)
+ {
+ int i = fork (), status;
+
+--- a/lib/autoconf/types.m4
++++ b/lib/autoconf/types.m4
+@@ -267,7 +267,7 @@ AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups,
+ #define MAX(x, y) ((x) > (y) ? (x) : (y))
+
+ int
+-main ()
++main (void)
+ {
+ gid_t gidset[NGID];
+ int i, n;
+--- a/tests/c.at
++++ b/tests/c.at
+@@ -354,7 +354,7 @@ AT_DATA([foo.c],
+ #endif
+ #include <stdio.h>
+
+-int main ()
++int main (void)
+ {
+ #ifdef _OPENMP
+ #pragma omp parallel
+@@ -404,7 +404,7 @@ foo.@OBJEXT@: foo.cpp
+ ]])
+
+ AT_DATA([foo.cpp],
+-[[int main ()
++[[int main (void)
+ {
+ return 0;
+ }
+--- a/tests/compile.at
++++ b/tests/compile.at
+@@ -124,7 +124,7 @@ AC_PROG_CC
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#ifndef PACKAGE_NAME
+ choke me
+ #endif
+-int main ()
++int main (void)
+ {
+ return 0;
+ }
+@@ -150,7 +150,7 @@ AC_LANG([C++])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#ifndef PACKAGE_NAME
+ choke me
+ #endif
+-int main ()
++int main (void)
+ {
+ return 0;
+ }
+@@ -249,7 +249,7 @@ AT_CHECK([sed -n 's/ *$//; /#define PACKAGE/,$p' stdout], [],
+
+ const char hw[] = "Hello, World\n";
+ int
+-main ()
++main (void)
+ {
+ fputs (hw, stdout);
+ ;
+@@ -269,7 +269,7 @@ AT_KEYWORDS([AC_LANG_DEFINES_PROVIDED])
+
+ AT_DATA([configure.ac],
+ [[AC_INIT
+-AC_COMPILE_IFELSE([int main () { return 0; }], [],
++AC_COMPILE_IFELSE([int main (void) { return 0; }], [],
+ [AC_MSG_ERROR([compiling trivial program failed])])
+ ]])
+
+@@ -280,7 +280,7 @@ AT_CHECK_CONFIGURE([-q])
+
+ AT_DATA([configure.ac],
+ [[AC_INIT
+-AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED()int main () { return 0; }], [],
++AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED()int main (void) { return 0; }], [],
+ [AC_MSG_ERROR([compiling trivial program failed])])
+ ]])
+
+@@ -324,7 +324,7 @@ test $estatus != 2 &&
+ AC_MSG_ERROR([did not get as 2 exit status: $estatus])])
+
+ # The old stinky one.
+-AC_TRY_RUN([int main () { return 3; }],
++AC_TRY_RUN([int main (void) { return 3; }],
+ [AC_MSG_ERROR([saw `return 3' as a success])],
+ [estatus=$?
+ test $estatus != 3 &&
+--- a/tests/fortran.at
++++ b/tests/fortran.at
+@@ -223,7 +223,7 @@ void FOOBAR_F77 (double *x, double *y);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int F77_DUMMY_MAIN () { return 1; }
++ int F77_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+@@ -301,7 +301,7 @@ void FOOBAR_FC(double *x, double *y);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int FC_DUMMY_MAIN () { return 1; }
++ int FC_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main (int argc, char *argv[])
+@@ -533,7 +533,7 @@ void @foobar@ (int *x);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int F77_DUMMY_MAIN () { return 1; }
++ int F77_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+@@ -607,7 +607,7 @@ void @foobar@ (int *x);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int FC_DUMMY_MAIN () { return 1; }
++ int FC_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+--- a/tests/semantics.at
++++ b/tests/semantics.at
+@@ -107,7 +107,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
+ [[int yes = 1;
+ enum { myenum };
+ struct { int x[20]; } mystruct;
+- extern int myfunc();
++ extern int myfunc (void);
+ #define mymacro1(arg) arg
+ #define mymacro2]])
+ # The difference in space-before-open-paren is intentional.
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -1106,9 +1106,7 @@ struct stat;
+ /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+ struct buf { int x; };
+ FILE * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
++static char *e (char **p, int i)
+ {
+ return p[i];
+ }
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -251,10 +251,9 @@ AC_INCLUDES_DEFAULT
+ /* Some platforms explicitly require an extern "C" signal handler
+ when using C++. */
+ #ifdef __cplusplus
+-extern "C" void ucatch (int dummy) { }
+-#else
+-void ucatch (dummy) int dummy; { }
++extern "C"
+ #endif
++void ucatch (int dummy) { }
+
+ int
+ main (void)
diff --git a/dev-build/autoconf/files/autoconf-2.69-fix-libtool-test.patch b/dev-build/autoconf/files/autoconf-2.69-fix-libtool-test.patch
new file mode 100644
index 000000000000..e75eba621606
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.69-fix-libtool-test.patch
@@ -0,0 +1,31 @@
+From 247b02e5a5bb79ca6666e91de02ae2d3cb0cd325 Mon Sep 17 00:00:00 2001
+From: "Gary V. Vaughan" <gary@gnu.org>
+Date: Mon, 3 Nov 2014 07:25:03 +0100
+Subject: tests: avoid spurious test failure with libtool 2.4.3
+
+Based on a report by Bruce Dubbs.
+
+* tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the
+older `quote'.
+
+Signed-off-by: Eric Blake <eblake@redhat.com>
+---
+ tests/foreign.at | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/foreign.at b/tests/foreign.at
+index a9dc33c..d4702cd 100644
+--- a/tests/foreign.at
++++ b/tests/foreign.at
+@@ -57,7 +57,7 @@ AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore])
+ # Make sure at-path contains something valid, and let the test suite
+ # display it when verbose. And fail, skipping would too easily hide
+ # problems.
+-AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
++AT_CHECK([sed -n ["s,^[^']*[\`']\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
+ AT_CHECK([test -f "`sed -n 1p stdout`"])
+
+ # Older libtoolize installed everything but install-sh...
+--
+cgit v1.0-41-gc330
+
diff --git a/dev-build/autoconf/files/autoconf-2.69-make-tests-bash5-compatible.patch b/dev-build/autoconf/files/autoconf-2.69-make-tests-bash5-compatible.patch
new file mode 100644
index 000000000000..1afcec15bb4f
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.69-make-tests-bash5-compatible.patch
@@ -0,0 +1,63 @@
+From 5b9db67786a428164abafe626ab11a2754aad528 Mon Sep 17 00:00:00 2001
+From: Ondrej Dubaj <odubaj@redhat.com>
+Date: Wed, 28 Aug 2019 07:39:50 +0200
+Subject: Port tests to Bash 5
+
+* tests/local.at (AT_CHECK_ENV, AT_CONFIG_CMP):
+Add BASH_ARGC, BASH_ARGV to list of variables to be ignored when
+comparing variable space dumps.
+(AT_CONFIG_CMP): Also ignore LINENO.
+* tests/m4sh.at: Also unset LINENO in 'reference' and 'test/test-1'.
+---
+ tests/local.at | 5 ++++-
+ tests/m4sh.at | 4 ++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/tests/local.at b/tests/local.at
+index a22958c0..852be285 100644
+--- a/tests/local.at
++++ b/tests/local.at
+@@ -325,7 +325,7 @@ if test -f state-env.before && test -f state-env.after; then
+ [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|RANLIB|SET_MAKE|YACC],
+ [GREP|[EF]GREP|SED],
+ [[_@]|.[*#?$].],
+- [argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
++ [argv|ARGC|LINENO|BASH_ARGC|BASH_ARGV|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
+ $act_file ||
+ test $? -eq 1 || echo failed >&2
+ ) 2>stderr-$act_file |
+@@ -382,6 +382,9 @@ do
+ /'\'\\\$\''=/ d
+ /^argv=/ d
+ /^ARGC=/ d
++ /^BASH_ARGC=/ d
++ /^BASH_ARGV=/ d
++ /^LINENO=/ d
+ ' $act_file >at_config_vars-$act_file
+ done
+ AT_CMP([at_config_vars-$1], [at_config_vars-$2])[]dnl
+diff --git a/tests/m4sh.at b/tests/m4sh.at
+index e9d70b02..cbdfcb62 100644
+--- a/tests/m4sh.at
++++ b/tests/m4sh.at
+@@ -254,7 +254,7 @@ AT_CHECK([autom4te -l m4sh $1.as -o $1])
+ # `_oline_', once processed and ran, produces our reference.
+ # We check that we find ourselves by looking at a string which is
+ # available only in the original script: `_oline_'.
+-AT_DATA_LINENO([reference], [false], [__OLINE__], [_oline__])
++AT_DATA_LINENO([reference], [true], [__OLINE__], [_oline__])
+ AT_CHECK([./reference], 0, [stdout])
+
+ # The reference:
+@@ -264,7 +264,7 @@ mv stdout expout
+ # Be sure to be out of the PATH.
+ AT_CHECK([mkdir test || exit 77])
+
+-AT_DATA_LINENO([test/test-1], [false], [__LINENO__], [LINENO])
++AT_DATA_LINENO([test/test-1], [true], [__LINENO__], [LINENO])
+ AT_CHECK([./test/test-1], 0, [expout])
+ AT_CHECK([(PATH=test$PATH_SEPARATOR$PATH; export PATH; exec test-1)],
+ 0, [expout])
+--
+cgit v1.2.1
+
diff --git a/dev-build/autoconf/files/autoconf-2.69-perl-5.26-2.patch b/dev-build/autoconf/files/autoconf-2.69-perl-5.26-2.patch
new file mode 100644
index 000000000000..6becf807c43e
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.69-perl-5.26-2.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/625576
+
+--- autoconf-2.69/bin/autoheader.in
++++ autoconf-2.69/bin/autoheader.in
+@@ -173,6 +173,12 @@
+ # Source what the traces are trying to tell us.
+ verb "$me: running $autoconf to trace from $ARGV[0]";
+ my $quoted_tmp = shell_quote ($tmp);
++my $perl_tmp;
++if ( $tmp =~ /^\// ) {
++ $perl_tmp=$tmp;
++} else {
++ $perl_tmp="./".$tmp;
++}
+ xsystem ("$autoconf"
+ # If you change this list, update the
+ # `Autoheader-preselections' section of autom4te.in.
+@@ -182,9 +188,9 @@
+ . " " . shell_quote ($ARGV[0]) . " >$quoted_tmp/traces.pl");
+
+ local (%verbatim, %symbol);
+-debug "$me: \`do'ing $tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
+-do "$tmp/traces.pl";
+-warn "couldn't parse $tmp/traces.pl: $@" if $@;
++debug "$me: \`do'ing $perl_tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
++do "$perl_tmp/traces.pl";
++warn "couldn't parse $perl_tmp/traces.pl: $@" if $@;
+ unless ($config_h)
+ {
+ error "error: AC_CONFIG_HEADERS not found in $ARGV[0]";
diff --git a/dev-build/autoconf/files/autoconf-2.69-perl-5.26.patch b/dev-build/autoconf/files/autoconf-2.69-perl-5.26.patch
new file mode 100644
index 000000000000..b3d7888ca722
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.69-perl-5.26.patch
@@ -0,0 +1,28 @@
+From e5654a5591884b92633c7785f325626711e7f7aa Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 29 Jan 2013 13:46:48 -0800
+Subject: [PATCH] autoscan: port to perl 5.17
+
+* bin/autoscan.in (scan_sh_file): Escape '{'. This avoids a
+feature that is deprecated in Perl 5.17. Reported by Ray Lauff in
+<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00059.html>.
+---
+ bin/autoscan.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/autoscan.in b/bin/autoscan.in
+index 993a750..db1df79 100644
+--- a/bin/autoscan.in
++++ b/bin/autoscan.in
+@@ -358,7 +358,7 @@ sub scan_sh_file ($)
+ {
+ # Strip out comments and variable references.
+ s/#.*//;
+- s/\${[^\}]*}//g;
++ s/\$\{[^\}]*}//g;
+ s/@[^@]*@//g;
+
+ # Tokens in the code.
+--
+1.9.1
+
diff --git a/dev-build/autoconf/files/autoconf-2.71-AC_C_BIGENDIAN-lto.patch b/dev-build/autoconf/files/autoconf-2.71-AC_C_BIGENDIAN-lto.patch
new file mode 100644
index 000000000000..48fbdc6f544b
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-AC_C_BIGENDIAN-lto.patch
@@ -0,0 +1,50 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=234fc6c86613ed3f366dd1d88996e4d5d85ee222
+
+From 234fc6c86613ed3f366dd1d88996e4d5d85ee222 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 27 Jul 2022 08:53:35 -0700
+Subject: Port AC_C_BIGENDIAN to cross gcc -std=c11 -flto
+
+* lib/autoconf/c.m4 (AC_C_BIGENDIAN): Improve the
+inherently-unportable grep trick well enough to survive gcc
+-std=c11 -flto when cross-compiling (sr#110687).
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -1838,8 +1838,8 @@ AC_DEFUN([AC_C_BIGENDIAN],
+ [ac_cv_c_bigendian=no],
+ [ac_cv_c_bigendian=yes],
+ [# Try to guess by grepping values from an object file.
+- AC_COMPILE_IFELSE(
+- [AC_LANG_PROGRAM(
++ AC_LINK_IFELSE(
++ [AC_LANG_SOURCE(
+ [[unsigned short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ unsigned short int ascii_ii[] =
+@@ -1854,13 +1854,20 @@ AC_DEFUN([AC_C_BIGENDIAN],
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+- extern int foo;
+- ]],
+- [[return use_ascii (foo) == use_ebcdic (foo);]])],
+- [if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
++ int
++ main (int argc, char **argv)
++ {
++ /* Intimidate the compiler so that it does not
++ optimize the arrays away. */
++ char *p = argv[0];
++ ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
++ ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
++ return use_ascii (argc) == use_ebcdic (*p);
++ }]])],
++ [if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++ if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+cgit v1.1
diff --git a/dev-build/autoconf/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch b/dev-build/autoconf/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch
new file mode 100644
index 000000000000..5b53d17135bc
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch
@@ -0,0 +1,35 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=b27bc3e230bb12fdd9a813e38e82bc4c3e22b4cc
+
+Note: we drop the comma from the comment because some packages
+have bad quoting, and while that will need to be sorted when/if
+autoconf 2.72 is released, we've got our hands full with the
+Clang situation right now (bug #871753).
+
+From b27bc3e230bb12fdd9a813e38e82bc4c3e22b4cc Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 31 Aug 2021 16:30:46 -0700
+Subject: Port AC_LANG_CALL(C) to C++
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* lib/autoconf/c.m4 (AC_LANG_CALL(C)): Add an extern "C" if C++.
+Problem reported by Vincent Lefèvre (sr #110532).
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -126,7 +126,13 @@ m4_define([AC_LANG_CALL(C)],
+ m4_if([$2], [main], ,
+ [/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
++ builtin and then its argument prototype would still apply.
++ The 'extern "C"' is for builds by C++ compilers;
++ although this is not generally supported in C code supporting it here
++ has little cost and some practical benefit (sr 110532). */
++#ifdef __cplusplus
++extern "C"
++#endif
+ char $2 ();])], [return $2 ();])])
+
+
+cgit v1.1
diff --git a/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang-deux.patch b/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang-deux.patch
new file mode 100644
index 000000000000..6a3d6580a3f6
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang-deux.patch
@@ -0,0 +1,94 @@
+https://bugs.gentoo.org/870412
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4
+
+Backport the K&R decls fix to 2.71 to avoid configure tests
+failing (often "silently", i.e. doesn't fail the build of
+the package overall, just leads to wrong results) with
+newer compilers like the upcoming Clang 16.
+
+From bf5a75953b6d504f0405b1ca33b039b8dd39eef4 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Thu, 10 Nov 2022 12:05:30 -0500
+Subject: More fixes for compilers that reject K&R function definitions.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes all of the remaining failures exposed by running the
+testsuite with GCC 12 and
+CC='cc -Wimplicit-function-declaration -Wold-style-definition
+ -Wimplicit-int -Werror'
+.
+
+* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Don’t use K&R function
+ definitions.
+* lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise.
+ (AC_FUNC_MKTIME): Declare functions taking no arguments as ‘fn (void)’
+ not ‘fn ()’.
+* lib/autoconf/c.m4 (_AC_C_C99_TEST_GLOBALS): Declare free().
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -1153,9 +1153,7 @@ struct stat;
+ /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
+ struct buf { int x; };
+ struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
++static char *e (char **p, int i)
+ {
+ return p[i];
+ }
+@@ -1212,6 +1210,7 @@ extern int puts (const char *);
+ extern int printf (const char *, ...);
+ extern int dprintf (int, const char *, ...);
+ extern void *malloc (size_t);
++extern void free (void *);
+
+ // Check varargs macros. These examples are taken from C99 6.10.3.5.
+ // dprintf is used instead of fprintf to avoid needing to declare
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -1091,7 +1091,7 @@ static const char *tz_strings[] = {
+ /* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+ static int
+-spring_forward_gap ()
++spring_forward_gap (void)
+ {
+ /* glibc (up to about 1998-10-07) failed this test. */
+ struct tm tm;
+@@ -1128,7 +1128,7 @@ mktime_test (time_t now)
+ }
+
+ static int
+-irix_6_4_bug ()
++irix_6_4_bug (void)
+ {
+ /* Based on code from Ariel Faigon. */
+ struct tm tm;
+@@ -1170,7 +1170,7 @@ bigtime_test (int j)
+ }
+
+ static int
+-year_2050_test ()
++year_2050_test (void)
+ {
+ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
+ ignoring leap seconds. */
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -361,10 +361,9 @@ AC_INCLUDES_DEFAULT
+ /* Some platforms explicitly require an extern "C" signal handler
+ when using C++. */
+ #ifdef __cplusplus
+-extern "C" void ucatch (int dummy) { }
+-#else
+-void ucatch (dummy) int dummy; { }
++extern "C"
+ #endif
++void ucatch (int dummy) { }
+
+ int
+ main (void)
+cgit v1.1
diff --git a/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang.patch b/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang.patch
new file mode 100644
index 000000000000..e2e451e86920
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-K-R-decls-clang.patch
@@ -0,0 +1,114 @@
+https://bugs.gentoo.org/870412
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
+
+Backport the K&R decls fix to 2.71 to avoid configure tests
+failing (often "silently", i.e. doesn't fail the build of
+the package overall, just leads to wrong results) with
+newer compilers like the upcoming Clang 16.
+
+From 8b5e2016c7ed2d67f31b03a3d2e361858ff5299b Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 1 Sep 2022 16:19:50 -0500
+Subject: Port to compilers that moan about K&R func decls
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* lib/autoconf/c.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY):
+Use '(void)' rather than '()' in function prototypes, as the latter
+provokes fatal errors in some compilers nowadays.
+* lib/autoconf/functions.m4 (AC_FUNC_STRTOD):
+* tests/fortran.at (AC_F77_DUMMY_MAIN usage):
+* tests/semantics.at (AC_CHECK_DECLS):
+Don’t use () in a function decl.
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -133,7 +133,7 @@ m4_if([$2], [main], ,
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char $2 ();])], [return $2 ();])])
++char $2 (void);])], [return $2 ();])])
+
+
+ # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION)
+@@ -157,7 +157,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #define $1 innocuous_$1
+
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $1 (); below. */
++ which can conflict with char $1 (void); below. */
+
+ #include <limits.h>
+ #undef $1
+@@ -168,7 +168,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char $1 ();
++char $1 (void);
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -1613,9 +1613,6 @@ AC_DEFUN([AC_FUNC_STRTOD],
+ AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod,
+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ ]AC_INCLUDES_DEFAULT[
+-#ifndef strtod
+-double strtod ();
+-#endif
+ int
+ main (void)
+ {
+--- a/tests/fortran.at
++++ b/tests/fortran.at
+@@ -233,7 +233,7 @@ void FOOBAR_F77 (double *x, double *y);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int F77_DUMMY_MAIN () { return 1; }
++ int F77_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+@@ -315,7 +315,7 @@ void FOOBAR_FC(double *x, double *y);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int FC_DUMMY_MAIN () { return 1; }
++ int FC_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main (int argc, char *argv[])
+@@ -561,7 +561,7 @@ void @foobar@ (int *x);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int F77_DUMMY_MAIN () { return 1; }
++ int F77_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+@@ -637,7 +637,7 @@ void @foobar@ (int *x);
+ # ifdef __cplusplus
+ extern "C"
+ # endif
+- int FC_DUMMY_MAIN () { return 1; }
++ int FC_DUMMY_MAIN (void) { return 1; }
+ #endif
+
+ int main(int argc, char *argv[])
+--- a/tests/semantics.at
++++ b/tests/semantics.at
+@@ -207,7 +207,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
+ [[extern int yes;
+ enum { myenum };
+ extern struct mystruct_s { int x[20]; } mystruct;
+- extern int myfunc();
++ extern int myfunc (int);
+ #define mymacro1(arg) arg
+ #define mymacro2]])
+ # Ensure we can detect missing declarations of functions whose
+cgit v1.1
diff --git a/dev-build/autoconf/files/autoconf-2.71-bash52.patch b/dev-build/autoconf/files/autoconf-2.71-bash52.patch
new file mode 100644
index 000000000000..1c3c91db1d4f
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-bash52.patch
@@ -0,0 +1,65 @@
+From 412166e185c00d6eacbe67dfcb0326f622ec4020 Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@xry111.site>
+Date: Fri, 30 Sep 2022 11:36:03 -0400
+Subject: [PATCH] Fix testsuite failures with bash 5.2.
+
+Bash v5.2 includes several new optimizations to the number of
+subshells used for various constructs; as a side effect, the value of
+SHLVL is less stable than it used to be. Add SHLVL to the list of
+built-in shell variables with unstable values, to be ignored when
+checking for inappropriate differences to the shell environment
+before and after a macro invocation / between two configure runs.
+
+Problem and solution reported by Xi Ruoyao in
+https://lists.gnu.org/archive/html/autoconf/2022-09/msg00015.html
+Problem also reported by Bruce Dubbs in
+https://lists.gnu.org/archive/html/bug-autoconf/2022-09/msg00010.html
+
+* tests/local.at (_AT_CHECK_ENV, AT_CONFIG_CMP): Ignore changes in
+ value of SHLVL.
+Copyright-paperwork-exempt: yes
+---
+ tests/local.at | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/tests/local.at b/tests/local.at
+index 193fd118..a9cf4050 100644
+--- a/tests/local.at
++++ b/tests/local.at
+@@ -352,7 +352,7 @@ m4_define([AT_CHECK_CONFIGURE],
+ # - AC_SUBST'ed variables
+ # (FIXME: Generate a list of these automatically.)
+ # - _|@|.[*#?$].|argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS
+-# |START_TIME|ToD|_AST_FEATURES
++# |SHLVL|START_TIME|ToD|_AST_FEATURES
+ # Some variables some shells use and change.
+ # '.[*#?$].' catches '$#' etc. which are displayed like this:
+ # | '!'=18186
+@@ -404,7 +404,7 @@ if test -f state-env.before && test -f state-env.after; then
+ [GREP|[EF]GREP|SED],
+ [[_@]|.[*@%:@?$].],
+ [argv|ARGC|LINENO|BASH_ARGC|BASH_ARGV|OLDPWD|PIPESTATUS|RANDOM],
+- [SECONDS|START_TIME|ToD|_AST_FEATURES]))=' \
++ [SECONDS|SHLVL|START_TIME|ToD|_AST_FEATURES]))=' \
+ $act_file ||
+ test $? -eq 1 || echo failed >&2
+ ) 2>stderr-$act_file |
+@@ -435,6 +435,7 @@ fi
+ # - PPID [bash, zsh]
+ # - RANDOM [bash, zsh]
+ # - SECONDS [bash, zsh]
++# - SHLVL [bash]
+ # - START_TIME [NetBSD sh]
+ # - ToD [NetBSD sh]
+ # - '$' [zsh]
+@@ -483,6 +484,7 @@ do
+ /^PPID=/ d
+ /^RANDOM=/ d
+ /^SECONDS=/ d
++ /^SHLVL=/ d
+ /^START_TIME=/ d
+ /^ToD=/ d
+ /'\'\\\$\''=/ d
+--
+2.39.3
+
diff --git a/dev-build/autoconf/files/autoconf-2.71-cxx11typo.patch b/dev-build/autoconf/files/autoconf-2.71-cxx11typo.patch
new file mode 100644
index 000000000000..ed3f68ea2b9e
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-cxx11typo.patch
@@ -0,0 +1,31 @@
+From f460883035ef849a2248b1713f711292ec19f4f0 Mon Sep 17 00:00:00 2001
+From: Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
+Date: Fri, 14 May 2021 09:06:20 +0300
+Subject: [PATCH] _AC_PROG_CXX_STDCXX_EDITION_TRY: fix typo in variable name
+
+The typo causes "ac_prog_cxx_stdcxx" to be always set to "cxx11",
+regardless of whether the C++ compiler supports C++11.
+Message-Id: <YJ4TXAeJcvU0oSec@FSAPPLE2215.fi.f-secure.com>
+(tiny change)
+---
+ lib/autoconf/c.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
+index 9f881f0b..47434c89 100644
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -2749,8 +2749,8 @@ AC_DEFUN([_AC_PROG_CXX_STDCXX_EDITION_TRY],
+ [AC_REQUIRE([_AC_CXX_CXX$1_TEST_PROGRAM])]dnl
+ [AS_IF([test x$ac_prog_cxx_stdcxx = xno],
+ [AC_MSG_CHECKING([for $CXX option to enable C++$1 features])
+-AC_CACHE_VAL(ac_cv_prog_cxx_$1,
+-[ac_cv_prog_cxx_$1=no
++AC_CACHE_VAL(ac_cv_prog_cxx_cxx$1,
++[ac_cv_prog_cxx_cxx$1=no
+ ac_save_CXX=$CXX
+ AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][ac_cxx_conftest_cxx$1_program])
+ for ac_arg in '' m4_normalize(m4_defn([_AC_CXX_CXX$1_OPTIONS]))
+--
+2.39.3
+
diff --git a/dev-build/autoconf/files/autoconf-2.71-darwin.patch b/dev-build/autoconf/files/autoconf-2.71-darwin.patch
new file mode 100644
index 000000000000..c122aee4b22d
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-darwin.patch
@@ -0,0 +1,11 @@
+--- a/bin/autoreconf.in
++++ b/bin/autoreconf.in
+@@ -122,7 +122,7 @@
+ my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
+ my $automake = $ENV{'AUTOMAKE'} || 'automake';
+ my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
+-my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
++my $libtoolize = $ENV{'LIBTOOLIZE'} || 'glibtoolize';
+ my $intltoolize = $ENV{'INTLTOOLIZE'} || 'intltoolize';
+ my $gtkdocize = $ENV{'GTKDOCIZE'} || 'gtkdocize';
+ my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
diff --git a/dev-build/autoconf/files/autoconf-2.71-make-4.4.patch b/dev-build/autoconf/files/autoconf-2.71-make-4.4.patch
new file mode 100644
index 000000000000..4dcf05996180
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-make-4.4.patch
@@ -0,0 +1,25 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=31f673434ee402258b45e958c88acc8725d82b1a
+https://savannah.gnu.org/bugs/?63040
+https://bugs.gentoo.org/869257
+
+From 31f673434ee402258b45e958c88acc8725d82b1a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Sep 2022 16:54:11 -0500
+Subject: Port to GNU make 4.4
+
+* cfg.mk (PATH): Assign eagerly, and simplify shell use, avoiding
+use of the shell entirely if PWD is set, as it should be.
+Problem reported by Sergei Trofimovich in:
+https://lists.gnu.org/r/autoconf-patches/2022-09/msg00007.html
+--- a/cfg.mk
++++ b/cfg.mk
+@@ -18,7 +18,7 @@
+ # This file is '-include'd into GNUmakefile.
+
+ # Build with our own versions of these tools, when possible.
+-export PATH = $(shell echo "`pwd`/tests:$$PATH")
++export PATH := $(or $(PWD),$(shell pwd))/tests:$(PATH)
+
+ # Remove the autoreconf-provided INSTALL, so that we regenerate it.
+ _autoreconf = autoreconf -i -v && rm -f INSTALL
+cgit v1.1
diff --git a/dev-build/autoconf/files/autoconf-2.71-time.patch b/dev-build/autoconf/files/autoconf-2.71-time.patch
new file mode 100644
index 000000000000..8ecfe10f40a3
--- /dev/null
+++ b/dev-build/autoconf/files/autoconf-2.71-time.patch
@@ -0,0 +1,49 @@
+From e194b3c7e00429612a9d40e78ea571687fd25b91 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
+Date: Sun, 1 Aug 2021 19:07:48 +0200
+Subject: [PATCH] Use stat from Time::HiRes (instead of File::stat)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
+---
+ lib/Autom4te/FileUtils.pm | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm
+index a182031b..27a5fd91 100644
+--- a/lib/Autom4te/FileUtils.pm
++++ b/lib/Autom4te/FileUtils.pm
+@@ -34,12 +34,12 @@ This perl module provides various general purpose file handling functions.
+
+ =cut
+
+-use 5.006;
++use 5.008;
+ use strict;
+ use warnings FATAL => 'all';
+
+ use Exporter;
+-use File::stat;
++use Time::HiRes qw(stat);
+ use IO::File;
+
+ use Autom4te::Channels;
+@@ -115,10 +115,11 @@ sub mtime ($)
+ return 0
+ if $file eq '-' || ! -f $file;
+
+- my $stat = stat ($file)
++ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
++ $atime,$mtime,$ctime,$blksize,$blocks) = stat ($file)
+ or fatal "cannot stat $file: $!";
+
+- return $stat->mtime;
++ return $mtime;
+ }
+
+
+--
+2.31.1
+
diff --git a/dev-build/autoconf/metadata.xml b/dev-build/autoconf/metadata.xml
new file mode 100644
index 000000000000..4ff4a48125bc
--- /dev/null
+++ b/dev-build/autoconf/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="savannah">autoconf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/automake-vanilla/Manifest b/dev-build/automake-vanilla/Manifest
new file mode 100644
index 000000000000..4af965d8f155
--- /dev/null
+++ b/dev-build/automake-vanilla/Manifest
@@ -0,0 +1,15 @@
+AUX automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch 3016 BLAKE2B 8dbc2ae72f8d687e785be6dde22429305cdbbb2b441a05ad268d5a7f019b087e090d7b93cb5ff033d004a8344fc9056172f1a16bd0bfa98501e1c55cf6933c54 SHA512 0f6c6ee15c895b64742113156f9864396daa6d7680897e4795909c78cb300df0d96c63091a39e901c2d62e76852fcbb49a5be747cb4b381c4346b81c0c570149
+AUX automake-1.11.6-perl-5.16.patch 3555 BLAKE2B 8128b27ade89b12445b02532d9837ff469e6d0e1be3ebab6969d8d68c3a57a27e25ff89db82ed8abf3eff6d392bbd3b91a0b5b6b0827e7eec1279bc5345dc024 SHA512 050d66f3f1b4aed6482a234b32bbdbe231ddea0c9f4fb2ff97e963095ad69a487fd65986189fd659fbe8d8d011f3f866e92e506e653fd832d2adaf3263ed33fc
+AUX automake-1.11.6-perl-escape-curly-bracket-r1.patch 1127 BLAKE2B 18664d2af473845f6ae91ab566651a53cbcf16df598adc3812f6d40f774c2c571c20dada4f23193b2b39ddc36c5fe9fea0449f32231540477fbf2260a7052c51 SHA512 25d94503572f70a5f9ab808057ca1ad7080cba89cf98c2b1664da2dc347f8ada1db6a97138a9b3ee12ffa54a37a34307a9fded4c069e1eb20e490556ad4f46d3
+AUX automake-1.16.5-apostrophe-in-tests.patch 1596 BLAKE2B 2460e0d3c57ad477d4260a5ca92542dfaaab629660441dab418046d1770f65531d5d7d0aabff1390ca080be6af54c60abd2716dcbee0e670ba07f747fc2d2f4d SHA512 35b09584e2fb8ec264e9b60642830f812aa25801bcfdcf026c35ac72bfa389585cb4914bdd5eea55af78185435e71d52cf263e2246ef35504d258ff0c2e7e744
+AUX automake-1.16.5-fix-instmany-python.sh-test.patch 676 BLAKE2B b4368612ef22de981e56c633b6993db5bc7fc1c84f9be002018d4dd25c13bbc36ef7378940680b3c73a559100134e2356e7d626cdc24d91497e644e8e27268a1 SHA512 41d0d797cf25f2e080a57f57bee041cc02ea9e0a7f1ee8aa55af112f43e02c58b867d778b79d82b909d13c55ac0326718f1716947c9022e035e4631d7dbe85a0
+AUX automake-1.16.5-fix-py-compile-basedir.sh-test.patch 985 BLAKE2B 9a07629d107316ed765990ef2e1356a16dfb6231829315bab704dc7fdb4716dce9320eef4baaef3ab76db2908b9071c4cb35c6607be8b984896b2cfbcdb8b474 SHA512 22c1db04dcb71a6d1519c0d54e18c40f0ad5d4ada82edf606c8c0da6a3fb6dadcd7ec5289da2373b17c063211cb1ef6c85b5a6a7e355f906ca660bc402ce184b
+AUX automake-1.16.5-py3-compile.patch 2418 BLAKE2B 1286da7c9b62a5d80432a2ab82b02e1947ff98b98b19c88fb909db6d9d85d65d1f01f900122b1841dfa24f9b55f172d54e17d0528c922c9420aaabafff10634d SHA512 9bde8745981536f69fb84ac2922c89f939dcca4f1f8eaea815806f35021bcc8f3e26f4ad146f4226fd65e8d239701d7fb7e62797193e867442ad3018cf7be61b
+DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
+DIST automake-1.15.1.tar.xz 1509496 BLAKE2B e6ade31089f969140472004cd9854318470228c64e4f8e829d48c5379f62d2c5f8ef9509131c577653e81868d94544ecf6520f86b5d582ebb6ed65c832039f30 SHA512 02f661b2676f1d44334ce1c7188f9913a6874bf46ba487708ad8090ad57905f14aead80fefed815e21effacfbb925e23b944ea7dd32563dca39c1a4174eda688
+DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
+EBUILD automake-vanilla-1.11.6.ebuild 2484 BLAKE2B 8678b8e92930e5d00bcabd7ca16d678d19be28a9970b41e547e4eeef4c7f59d5b95ed231f1d4a91691e0c3ac966a8786cc410501a62730c4087836118967cfd1 SHA512 7cb8df6a1e43d90855f7399a311aa882eaac7bdc10428ea199fdf665a5941ff4d3c8e6b7ca19cd1fe0584d439fb6e39481183bca011ace00e6b61d1ee274091b
+EBUILD automake-vanilla-1.15.1.ebuild 2694 BLAKE2B 8a30fd767abe1081cc67c2dcda175812b067f167d45bf0f6a16c471683d4e185b5dfb34485a105d2ff50b6f2df8b7cae04ce70754e676379f8985ecdbf029b53 SHA512 4989419b7aab4d21a9f29d3d6d6184b5a4b092988933d858cd8860f2ff4c286f83129a76357102cd03faccc95b504577a7dc00581e039ee038eb761f5eacc986
+EBUILD automake-vanilla-1.16.5.ebuild 2960 BLAKE2B 33d44491aed8538a5abf44acac84d07e8281a96d824f3901c9d3776fdec0d3fddbab1e60bcb9a6adc2b3c37ed1bba87d4d7507b312ed586c0cc5b689100f9d16 SHA512 5eb76a315025d38bf5bc41b46968abee5c7f3992889e41814ec16647ac4d0a356e951d9f2e91e37a487d36e5c3ead9b477f05e773ea6c3a0db62ef6610685002
+EBUILD automake-vanilla-9999.ebuild 2662 BLAKE2B eaadbcc8177d65ed2b7247cbfa6f3568c24b5c97a285720dba7eb6ce90575c58c2b5d92859e9dc4bddc2a73a718c4df63bec497d16a630d76ea2cf32418f27c4 SHA512 c1866602bebd886280a96e3e2e9048d47cec3450ca62793d72880fa688453f5d065ec65b6706cf859a20312940e923596cdd2ebeef10999ac4438f6976348e39
+MISC metadata.xml 363 BLAKE2B 7cbff34d075f5fb5d8391bbc978f9236a6aa1903a697fac7bc52bdf98baebf7053ad4fb4231f4d2b327decce840e47fccf11a28411e9cd12647fa5ab7698f0f5 SHA512 c40b7d0d1986ac70deafd644669caa695279b4bba94b2bd5ab9a9dc8c14cb246b83dc6f19811210559fb9e0e85c7703a2599d910c8fe7a31bff01be10f6dfed7
diff --git a/dev-build/automake-vanilla/automake-vanilla-1.11.6.ebuild b/dev-build/automake-vanilla/automake-vanilla-1.11.6.ebuild
new file mode 100644
index 000000000000..1ce01b55855d
--- /dev/null
+++ b/dev-build/automake-vanilla/automake-vanilla-1.11.6.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN/-vanilla}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
+IUSE="test"
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-10
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="
+ ${RDEPEND}
+ sys-apps/help2man
+"
+BDEPEND="
+ app-arch/gzip
+ test? ( dev-util/dejagnu )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_P}-perl-5.16.patch #424453
+ "${FILESDIR}"/${MY_P}-install-sh-avoid-low-risk-race-in-tmp.patch
+ "${FILESDIR}"/${MY_P}-perl-escape-curly-bracket-r1.patch
+)
+
+src_prepare() {
+ default
+ export WANT_AUTOCONF=2.5
+ export HELP2MAN=true
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+ export TZ="UTC" #589138
+}
+
+src_configure() {
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/${P}/info"
+ econf \
+ --datadir="${EPREFIX}"/usr/share/automake-vanilla-${PV} \
+ --program-suffix="-vanilla" \
+ --infodir="${MY_INFODIR}"
+}
+
+src_compile() {
+ :;
+
+ # TODO: This was missing a || die originally and fails now...
+ #local x
+ #for x in aclocal automake; do
+ # help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1 || die
+ #done
+}
+
+src_install() {
+ default
+
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake}-vanilla \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}-vanilla.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/automake-vanilla-${PVR}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-vanilla-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "07automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake-vanilla/automake-vanilla-1.15.1.ebuild b/dev-build/automake-vanilla/automake-vanilla-1.15.1.ebuild
new file mode 100644
index 000000000000..0ba1d56add54
--- /dev/null
+++ b/dev-build/automake-vanilla/automake-vanilla-1.15.1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/r/${MY_PN}.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ MY_P=${MY_PN}-${PV}
+
+ SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.xz"
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-11
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/gzip
+ sys-apps/help2man
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/dejagnu
+ )
+"
+
+pkg_setup() {
+ # Avoid python-any-r1_pkg_setup
+ :
+}
+
+src_prepare() {
+ default
+
+ export WANT_AUTOCONF=2.5
+ # 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
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+ # bug #628912
+ if ! has_version -b sys-apps/texinfo ; then
+ touch doc/{stamp-vti,version.texi,automake.info} || die
+ fi
+}
+
+src_configure() {
+ use test && python_setup
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/${P}/info"
+ econf \
+ --datadir="${EPREFIX}"/usr/share/automake-vanilla-${PV} \
+ --program-suffix="-vanilla" \
+ --infodir="${MY_INFODIR}"
+}
+
+src_install() {
+ default
+
+ #rm "${ED}"/usr/share/aclocal/README || die
+ #rmdir "${ED}"/usr/share/aclocal || die
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake}-vanilla \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}-vanilla.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/automake-vanilla-${PVR}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-vanilla-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "07automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake-vanilla/automake-vanilla-1.16.5.ebuild b/dev-build/automake-vanilla/automake-vanilla-1.16.5.ebuild
new file mode 100644
index 000000000000..cd1806c2e420
--- /dev/null
+++ b/dev-build/automake-vanilla/automake-vanilla-1.16.5.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/r/${MY_PN}.git"
+ inherit git-r3
+else
+ MY_PN=${PN/-vanilla}
+ MY_P=${MY_PN}-${PV}
+
+ SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.xz"
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-11
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/gzip
+ sys-apps/help2man
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/dejagnu
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_PN}-1.16.5-py3-compile.patch
+ "${FILESDIR}"/${MY_PN}-1.16.5-fix-instmany-python.sh-test.patch
+ "${FILESDIR}"/${MY_PN}-1.16.5-fix-py-compile-basedir.sh-test.patch
+ # upstreamed
+ "${FILESDIR}"/${MY_PN}-1.16.5-apostrophe-in-tests.patch
+)
+
+pkg_setup() {
+ # Avoid python-any-r1_pkg_setup
+ :
+}
+
+src_prepare() {
+ default
+
+ export WANT_AUTOCONF=2.5
+ # 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
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+ # bug #628912
+ if ! has_version -b sys-apps/texinfo ; then
+ touch doc/{stamp-vti,version.texi,automake.info} || die
+ fi
+}
+
+src_configure() {
+ use test && python_setup
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/${P}/info"
+ econf \
+ --datadir="${EPREFIX}"/usr/share/automake-vanilla-${PV} \
+ --program-suffix="-vanilla" \
+ --infodir="${MY_INFODIR}"
+}
+
+src_install() {
+ default
+
+ #rm "${ED}"/usr/share/aclocal/README || die
+ #rmdir "${ED}"/usr/share/aclocal || die
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake}-vanilla \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}-vanilla.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/automake-vanilla-${PVR}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-vanilla-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "07automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake-vanilla/automake-vanilla-9999.ebuild b/dev-build/automake-vanilla/automake-vanilla-9999.ebuild
new file mode 100644
index 000000000000..07ce55fef09d
--- /dev/null
+++ b/dev-build/automake-vanilla/automake-vanilla-9999.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit python-any-r1
+
+MY_PN=${PN/-vanilla}
+MY_P=${MY_PN}-${PV}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/r/${MY_PN}.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.xz"
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-11
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/gzip
+ sys-apps/help2man
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/dejagnu
+ )
+"
+
+pkg_setup() {
+ # Avoid python-any-r1_pkg_setup
+ :
+}
+
+src_prepare() {
+ default
+
+ export WANT_AUTOCONF=2.5
+ # 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
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+ # bug #628912
+ if ! has_version -b sys-apps/texinfo ; then
+ touch doc/{stamp-vti,version.texi,automake.info} || die
+ fi
+}
+
+src_configure() {
+ use test && python_setup
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/${P}/info"
+ econf \
+ --datadir="${EPREFIX}"/usr/share/automake-vanilla-${PV} \
+ --program-suffix="-vanilla" \
+ --infodir="${MY_INFODIR}"
+}
+
+src_install() {
+ default
+
+ #rm "${ED}"/usr/share/aclocal/README || die
+ #rmdir "${ED}"/usr/share/aclocal || die
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake}-vanilla \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}-vanilla.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/automake-vanilla-${PVR}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-vanilla-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ if [[ ${PV} == 9999 ]]; then
+ local major="89"
+ local minor="999"
+ else
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ fi
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "07automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake-vanilla/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch b/dev-build/automake-vanilla/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch
new file mode 100644
index 000000000000..c435b9004f8d
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch
@@ -0,0 +1,77 @@
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Sat, 15 Aug 2015 04:40:57 -0400
+Subject: install-sh: avoid (low risk) race in /tmp
+
+Ensure that nobody can cross privilege boundaries by pre-creating
+symlink on '$tmpdir' path.
+
+Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not
+safe because '/tmp' directory is usually world-writeable and
+'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by
+attacker (at least for shells where $RANDOM is not supported).
+So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p.
+This step would fail early if somebody wanted catch us.
+
+Note that systems that implement (and have enabled)
+fs.protected_symlinks kernel feature are not affected even without
+this commit.
+
+References:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+* lib/install-sh: Implement safer 'mkdir -p' test by running
+'$mkdirprog $mkdir_mode "$tmpdir"' first.
+(scriptversion): Bump.
+
+--- a/lib/install-sh
++++ b/lib/install-sh
+@@ -345,34 +345,41 @@ do
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
++ # $RANDOM is not portable (e.g. dash); use it when possible to
++ # lower collision chance
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
++ # create the $tmpdir first (and fail if unsuccessful) to make sure
++ # that nobody tries to guess the $tmpdir name.
+ if (umask $mkdir_umask &&
+- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++ $mkdirprog $mkdir_mode "$tmpdir" &&
++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+- ls_ld_tmpdir=`ls -ld "$tmpdir"`
++ test_tmpdir="$tmpdir/a"
++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+- rmdir "$tmpdir/d" "$tmpdir"
++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
diff --git a/dev-build/automake-vanilla/files/automake-1.11.6-perl-5.16.patch b/dev-build/automake-vanilla/files/automake-1.11.6-perl-5.16.patch
new file mode 100644
index 000000000000..19fe249e0c00
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.11.6-perl-5.16.patch
@@ -0,0 +1,128 @@
+https://bugs.gentoo.org/424453
+
+From 6bf58a59a1f3803e57e3f0378aa9344686707b75 Mon Sep 17 00:00:00 2001
+From: Stefano Lattarini <stefano.lattarini@gmail.com>
+Date: Mon, 28 May 2012 13:32:03 +0200
+Subject: [PATCH] aclocal: declare function prototypes, do not use '&' in
+ function calls
+
+This change will also fix automake bug#11543 (from a report by Matt
+Burgess).
+
+* aclocal.in: Declare prototypes for almost all functions early, before
+any actual function definition (but omit the prototype for the dynamically
+generated '&search' function). Add prototypes to any function definition.
+Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
+instead of "&func(ARGS...)").
+* THANKS, NEWS: Update.
+
+Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
+---
+ NEWS | 4 ++++
+ THANKS | 1 +
+ aclocal.in | 42 ++++++++++++++++++++++++++++++++++--------
+ 3 files changed, 39 insertions(+), 8 deletions(-)
+
+diff --git a/aclocal.in b/aclocal.in
+index dfb851b..e8855d5 100644
+--- a/aclocal.in
++++ b/aclocal.in
+@@ -152,8 +152,34 @@ my $erase_me;
+
+ ################################################################
+
++# Prototypes for all subroutines.
++
++sub unlink_tmp (;$);
++sub xmkdir_p ($);
++sub check_acinclude ();
++sub reset_maps ();
++sub install_file ($$);
++sub list_compare (\@\@);
++sub scan_m4_dirs ($@);
++sub scan_m4_files ();
++sub add_macro ($);
++sub scan_configure_dep ($);
++sub add_file ($);
++sub scan_file ($$$);
++sub strip_redundant_includes (%);
++sub trace_used_macros ();
++sub scan_configure ();
++sub write_aclocal ($@);
++sub usage ($);
++sub version ();
++sub handle_acdir_option ($$);
++sub parse_arguments ();
++sub parse_ACLOCAL_PATH ();
++
++################################################################
++
+ # Erase temporary file ERASE_ME. Handle signals.
+-sub unlink_tmp
++sub unlink_tmp (;$)
+ {
+ my ($sig) = @_;
+
+@@ -350,7 +376,7 @@ sub scan_m4_dirs ($@)
+ next if $file eq 'aclocal.m4';
+
+ my $fullfile = File::Spec->canonpath ("$m4dir/$file");
+- &scan_file ($type, $fullfile, 'aclocal');
++ scan_file ($type, $fullfile, 'aclocal');
+ }
+ closedir (DIR);
+ }
+@@ -361,12 +387,12 @@ sub scan_m4_files ()
+ {
+ # First, scan configure.ac. It may contain macro definitions,
+ # or may include other files that define macros.
+- &scan_file (FT_USER, $configure_ac, 'aclocal');
++ scan_file (FT_USER, $configure_ac, 'aclocal');
+
+ # Then, scan acinclude.m4 if it exists.
+ if (-f 'acinclude.m4')
+ {
+- &scan_file (FT_USER, 'acinclude.m4', 'aclocal');
++ scan_file (FT_USER, 'acinclude.m4', 'aclocal');
+ }
+
+ # Finally, scan all files in our search paths.
+@@ -380,7 +406,7 @@ sub scan_m4_files ()
+ my $search = "sub search {\nmy \$found = 0;\n";
+ foreach my $key (reverse sort keys %map)
+ {
+- $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key
++ $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key
+ . '"); $found = 1; }' . "\n");
+ }
+ $search .= "return \$found;\n};\n";
+@@ -403,7 +429,7 @@ sub add_macro ($)
+
+ verb "saw macro $macro";
+ $macro_seen{$macro} = 1;
+- &add_file ($map{$macro});
++ add_file ($map{$macro});
+ }
+
+ # scan_configure_dep ($file)
+@@ -465,7 +491,7 @@ sub scan_configure_dep ($)
+ }
+
+ add_macro ($_) foreach (@rlist);
+- &scan_configure_dep ($_) foreach @ilist;
++ scan_configure_dep ($_) foreach @ilist;
+ }
+
+ # add_file ($FILE)
+@@ -931,7 +957,7 @@ EOF
+ }
+
+ # Print version and exit.
+-sub version()
++sub version ()
+ {
+ print <<EOF;
+ aclocal (GNU $PACKAGE) $VERSION
+--
+2.1.3
+
diff --git a/dev-build/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch b/dev-build/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch
new file mode 100644
index 000000000000..bf8819adcf4c
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch
@@ -0,0 +1,37 @@
+http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21001
+
+From 34163794a58b5bd91c5d6bd9adf5437571c7a479 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Tue, 7 Jul 2015 10:54:24 +0200
+Subject: [PATCH] bin/automake: escape '{' in regexp pattern
+
+Based on perlre(1) documentation:
+.. in Perl v5.26, literal uses of a curly bracket will be required
+to be escaped, say by preceding them with a backslash ("\{" ) or
+enclosing them within square brackets ("[{]") ..
+
+References:
+https://bugzilla.redhat.com/1239379
+
+* bin/automake.in (substitute_ac_subst_variables): Escape the
+occurrence of '{' character.
+---
+ bin/automake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/automake.in b/bin/automake.in
+index 0c29184..c294ced 100644
+--- a/automake.in
++++ b/automake.in
+@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker
+ sub substitute_ac_subst_variables ($)
+ {
+ my ($text) = @_;
+- $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
++ $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
+ return $text;
+ }
+
+--
+2.1.0
+
diff --git a/dev-build/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch b/dev-build/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch
new file mode 100644
index 000000000000..866284dfd185
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch
@@ -0,0 +1,51 @@
+From ed1368e8803e8934a8bbab52a38753484dba2a37 Mon Sep 17 00:00:00 2001
+From: Karl Berry <karl@freefriends.org>
+Date: Mon, 12 Dec 2022 14:50:33 -0800
+Subject: test: avoid apostrophe in test document.
+
+From automake patch https://bugs.gnu.org/59989
+(though a different solution), suggestion by Frederic Berat.
+
+* t/txinfo-include.sh: avoid apostrophes in test document,
+since Texinfo 7.0 turns them into UTF-8 by default.
+---
+ t/txinfo-include.sh | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh
+index 8a15f01..10fff07 100644
+--- a/t/txinfo-include.sh
++++ b/t/txinfo-include.sh
+@@ -28,6 +28,9 @@ main_TEXINFOS = one.texi two.texi three.texi
+ sub_more_TEXINFOS = sub/desc.texi sub/hist.texi
+ END
+
++# We avoid apostrophes in the test document since Texinfo
++# turns them into UTF-8, which is not easy to grep.
++#
+ cat > main.texi << 'END'
+ \input texinfo
+ @setfilename main.info
+@@ -61,8 +64,8 @@ END
+
+ cat > three.texi << 'END'
+ @node three
+-@chapter Chapter two
+-GNU's Not Unix.
++@chapter Chapter three
++Quux quux quux.
+ END
+
+ mkdir sub
+@@ -106,7 +109,7 @@ check_info_contents ()
+ srcdir=${1-.}
+ $FGREP "Foo bar, baz." $srcdir/main.info
+ $FGREP "Blah Blah Blah." $srcdir/main.info
+- $FGREP "GNU's Not Unix." $srcdir/main.info
++ $FGREP "Quux quux quux." $srcdir/main.info
+ $FGREP 'It does something, really.' $srcdir/sub/more.info
+ $FGREP 'It was written somehow.' $srcdir/sub/more.info
+ }
+--
+cgit v1.1
+
diff --git a/dev-build/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch b/dev-build/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch
new file mode 100644
index 000000000000..5cddb4cfb83f
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch
@@ -0,0 +1,26 @@
+From 50daac4f15d207b6b69011b9cdde62b56c1c8b10 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Fri, 20 Nov 2020 02:17:31 +0100
+Subject: [PATCH 2/2] tests: fix instmany-python.sh: increase limit
+
+Still failing with 4500 on Gentoo. Passing with 7000...
+---
+ t/instmany-python.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/instmany-python.sh b/t/instmany-python.sh
+index dce3594b5..1c482520d 100644
+--- a/t/instmany-python.sh
++++ b/t/instmany-python.sh
+@@ -21,7 +21,7 @@
+ required='python'
+ . test-init.sh
+
+-limit=4500
++limit=7000
+ subdir=long_subdir_name_with_many_characters
+ nfiles=81
+ list=$(seq_ 1 $nfiles)
+--
+2.29.2
+
diff --git a/dev-build/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch b/dev-build/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch
new file mode 100644
index 000000000000..f49dd253c2d6
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch
@@ -0,0 +1,26 @@
+From e3db5b8038a902501a354b6921dcebcb4180f50a Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Fri, 20 Nov 2020 02:13:56 +0100
+Subject: [PATCH 1/2] tests: fix py-compile-basedir.sh: add missing test call
+
+Fixes: b279a0d46 ("tests: in python tests, do not require .pyo files (for python3)")
+---
+ t/py-compile-basedir.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/py-compile-basedir.sh b/t/py-compile-basedir.sh
+index 13a22ff1d..1a16ee2d7 100644
+--- a/t/py-compile-basedir.sh
++++ b/t/py-compile-basedir.sh
+@@ -43,7 +43,7 @@ for d in foo foo/bar "$(pwd)/foo" . .. ../foo ''; do
+ py_installed "$d2/sub/$f.pyc"
+ files=$(find "$d2" | grep '\.py[co]$')
+ # with new-enough Python3, there are six files.
+- test $(echo "$files" | wc -l) -eq 4 || $(echo "$files" | wc -l) -eq 6
++ test $(echo "$files" | wc -l) -eq 4 || test $(echo "$files" | wc -l) -eq 6
+ case $d2 in
+ .|..) rm -f $files;;
+ *) rm -rf "$d2";;
+--
+2.29.2
+
diff --git a/dev-build/automake-vanilla/files/automake-1.16.5-py3-compile.patch b/dev-build/automake-vanilla/files/automake-1.16.5-py3-compile.patch
new file mode 100644
index 000000000000..5333520b5db1
--- /dev/null
+++ b/dev-build/automake-vanilla/files/automake-1.16.5-py3-compile.patch
@@ -0,0 +1,73 @@
+From aa449bd4c836abf0320033c5077259fc760b622d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 3 Nov 2019 11:51:19 +0100
+Subject: [PATCH] py-compile: Support -OO for py3.5+, and -O&-OO for pypy3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+ lib/py-compile | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/lib/py-compile b/lib/py-compile
+index e56d98d6e..5b9ae5d5d 100755
+--- a/lib/py-compile
++++ b/lib/py-compile
+@@ -126,12 +126,10 @@ if test "$python_major" -le 2; then
+ import_lib=imp
+ import_test="hasattr(imp, 'get_tag')"
+ import_call=imp.cache_from_source
+- import_arg2=', False' # needed in one call and not the other
+ else
+ import_lib=importlib
+ import_test="hasattr(sys.implementation, 'cache_tag')"
+ import_call=importlib.util.cache_from_source
+- import_arg2=
+ fi
+
+ $PYTHON -c "
+@@ -159,7 +157,7 @@ $PYTHON -O -c "
+ import sys, os, py_compile, $import_lib
+
+ # pypy does not use .pyo optimization
+-if hasattr(sys, 'pypy_translation_info'):
++if hasattr(sys, 'pypy_translation_info') and sys.hexversion < 0x03050000:
+ sys.exit(0)
+
+ files = '''$files'''
+@@ -173,7 +171,30 @@ for file in files.split():
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ if $import_test:
+- py_compile.compile(filepath, $import_call(filepath$import_arg2), path)
++ py_compile.compile(filepath, $import_call(filepath), path)
++ else:
++ py_compile.compile(filepath, filepath + 'o', path)
++sys.stdout.write('\n')" 2>/dev/null || :
++
++$PYTHON -OO -c "
++import sys, os, py_compile, $import_lib
++
++# python<3.5 does not have split files for -O and -OO
++if sys.hexversion < 0x03050000:
++ sys.exit(0)
++
++files = '''$files'''
++sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n')
++for file in files.split():
++ $pathtrans
++ $filetrans
++ if not os.path.exists(filepath) or not (len(filepath) >= 3
++ and filepath[-3:] == '.py'):
++ continue
++ sys.stdout.write(file)
++ sys.stdout.flush()
++ if $import_test:
++ py_compile.compile(filepath, $import_call(filepath), path)
+ else:
+ py_compile.compile(filepath, filepath + 'o', path)
+ sys.stdout.write('\n')" 2>/dev/null || exit $?
+--
+2.25.2
diff --git a/dev-build/automake-vanilla/metadata.xml b/dev-build/automake-vanilla/metadata.xml
new file mode 100644
index 000000000000..6e5b45d8c011
--- /dev/null
+++ b/dev-build/automake-vanilla/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:automake</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/automake-wrapper/Manifest b/dev-build/automake-wrapper/Manifest
new file mode 100644
index 000000000000..cfe7c96b908b
--- /dev/null
+++ b/dev-build/automake-wrapper/Manifest
@@ -0,0 +1,4 @@
+DIST autotools-wrappers-at-20221207.tar.gz 3646 BLAKE2B 82bec40e03ae5ec133252fd3c05c3fed537bb415e800918df9c9d783d48a9d76cbe60c53dd7daf6d94653d79fc52be8c089183dda996e8a72dd03ffa83098613 SHA512 12ea99721e6fc60a3ed7351d6c228aaf6e4eef0bd0444eda8cd742f74fa91150ef07bb52f6bcad4a350269e8032f5d4e204d2f2108b0d9c441ddd7f9755862b7
+EBUILD automake-wrapper-20221207.ebuild 1264 BLAKE2B 5dc877348c370466c07fbd28b61f1802444fa9f324877b11a6eab0d27e8e73ad85fb83261534095178382032d5b812fdb59e95ee2e328d156debed15c6e79797 SHA512 22b9381903b709b8086b1c0306d07e6e055ff3571bccee334210d6e15d8ee9ada0900efdfb047ba4cc2a04531ddeb3eacc5adaeabe8dfc5f603e84077e868fa6
+EBUILD automake-wrapper-99999999.ebuild 1272 BLAKE2B e6bb7c6257f56a45f4450bed227e6d0f59f60de9c95b7c1b3983625738dfce9cdc867c00a4076d65b8b02764ab40fdb7583a1f59f854f1e98c7b0383a5b1ed88 SHA512 b3f7981b62809a7675f55801960b336914f3037bbedb9a2a478c0cb3e9c279e43e8848e6b58118e3447193292d45787d72b52a68c0926c29729a761ae40a5752
+MISC metadata.xml 435 BLAKE2B 006f03645ce3cb9a4f7cad6411f3487500f58f351bbacfb6e1e3de494214fccb8b478a2cea35d289ee0a487fa7eaf31ca444cbf82d1d9eeee1822928e223009b SHA512 3b699336ca3dbf40bcfddb1db91f8d3803574c9c6765b477b93e50d756ac3c441e5bedfbbc71fcbea697a2f31b9a41fcbbb01a38d5acc8d29b48779a405f8f6c
diff --git a/dev-build/automake-wrapper/automake-wrapper-20221207.ebuild b/dev-build/automake-wrapper/automake-wrapper-20221207.ebuild
new file mode 100644
index 000000000000..cd58f716d799
--- /dev/null
+++ b/dev-build/automake-wrapper/automake-wrapper-20221207.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Remember to modify LAST_KNOWN_AUTOAKE_VER 'upstream' on new automake (major) releases!
+
+MY_P="autotools-wrappers-at-${PV}"
+
+DESCRIPTION="Wrapper for automake to manage multiple automake versions"
+HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/autotools-wrappers.git
+ https://github.com/gentoo/autotools-wrappers
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+src_prepare() {
+ default
+
+ # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
+ if use prefix ; then
+ sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' am-wrapper.sh || die
+ fi
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ doexe am-wrapper.sh
+
+ local x=
+ for x in automake aclocal ; do
+ dosym -r /usr/$(get_libdir)/misc/am-wrapper.sh /usr/bin/${x}
+ done
+
+ keepdir /usr/share/aclocal
+}
diff --git a/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild b/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild
new file mode 100644
index 000000000000..ea8e3bb63674
--- /dev/null
+++ b/dev-build/automake-wrapper/automake-wrapper-99999999.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Remember to modify LAST_KNOWN_AUTOAKE_VER 'upstream' on new automake (major) releases!
+
+MY_P="autotools-wrappers-at-${PV}"
+
+DESCRIPTION="Wrapper for automake to manage multiple automake versions"
+HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/autotools-wrappers.git
+ https://github.com/gentoo/autotools-wrappers
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+src_prepare() {
+ default
+
+ # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
+ if use prefix ; then
+ sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' am-wrapper.sh || die
+ fi
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ doexe am-wrapper.sh
+
+ local x=
+ for x in automake aclocal ; do
+ dosym -r /usr/$(get_libdir)/misc/am-wrapper.sh /usr/bin/${x}
+ done
+
+ keepdir /usr/share/aclocal
+}
diff --git a/dev-build/automake-wrapper/metadata.xml b/dev-build/automake-wrapper/metadata.xml
new file mode 100644
index 000000000000..2847c0b0420f
--- /dev/null
+++ b/dev-build/automake-wrapper/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="gentoo">proj/autotools-wrappers</remote-id>
+ <remote-id type="github">gentoo/autotools-wrappers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/automake/Manifest b/dev-build/automake/Manifest
new file mode 100644
index 000000000000..3a09bae1b29f
--- /dev/null
+++ b/dev-build/automake/Manifest
@@ -0,0 +1,14 @@
+AUX automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch 3016 BLAKE2B 8dbc2ae72f8d687e785be6dde22429305cdbbb2b441a05ad268d5a7f019b087e090d7b93cb5ff033d004a8344fc9056172f1a16bd0bfa98501e1c55cf6933c54 SHA512 0f6c6ee15c895b64742113156f9864396daa6d7680897e4795909c78cb300df0d96c63091a39e901c2d62e76852fcbb49a5be747cb4b381c4346b81c0c570149
+AUX automake-1.11.6-perl-5.16.patch 3555 BLAKE2B 8128b27ade89b12445b02532d9837ff469e6d0e1be3ebab6969d8d68c3a57a27e25ff89db82ed8abf3eff6d392bbd3b91a0b5b6b0827e7eec1279bc5345dc024 SHA512 050d66f3f1b4aed6482a234b32bbdbe231ddea0c9f4fb2ff97e963095ad69a487fd65986189fd659fbe8d8d011f3f866e92e506e653fd832d2adaf3263ed33fc
+AUX automake-1.11.6-perl-escape-curly-bracket-r1.patch 1127 BLAKE2B 18664d2af473845f6ae91ab566651a53cbcf16df598adc3812f6d40f774c2c571c20dada4f23193b2b39ddc36c5fe9fea0449f32231540477fbf2260a7052c51 SHA512 25d94503572f70a5f9ab808057ca1ad7080cba89cf98c2b1664da2dc347f8ada1db6a97138a9b3ee12ffa54a37a34307a9fded4c069e1eb20e490556ad4f46d3
+AUX automake-1.16.5-apostrophe-in-tests.patch 1695 BLAKE2B e52093f7a19293d727060c1ba0e38f4d551530bfb77aa999dc68e70b3b1b8eee0a67eed3bfb24660af8f424f9d3bfc69998ff66c17a9be15261191dd6fb13b4a SHA512 f6c34a3d70b260c6923cf062fac107d00e04b58b99702f07e142051ed07a8a8a5c7591a49d6893f06d283a1464772252ef69d70d5ae62e049f72c363d7433299
+AUX automake-1.16.5-fix-instmany-python.sh-test.patch 676 BLAKE2B b4368612ef22de981e56c633b6993db5bc7fc1c84f9be002018d4dd25c13bbc36ef7378940680b3c73a559100134e2356e7d626cdc24d91497e644e8e27268a1 SHA512 41d0d797cf25f2e080a57f57bee041cc02ea9e0a7f1ee8aa55af112f43e02c58b867d778b79d82b909d13c55ac0326718f1716947c9022e035e4631d7dbe85a0
+AUX automake-1.16.5-fix-py-compile-basedir.sh-test.patch 1084 BLAKE2B 12cef1fb8287ae77a180611d8f8bfa18da1e7cb6e473bcc7b55a4b01ee7ee052863ce156820916b08a193d0b1e2c85580bcd68301c3780865c08d5b274f3af0a SHA512 ef9af5b799c0f7341dfeac5358a05dbcc7547e1d98661e37185b3b3d24971c8db690e9ddf0b471db96254c44ff4ce878c7951e5b5afe96942d5ce21f998ba294
+AUX automake-1.16.5-parallel-build.patch 2142 BLAKE2B 68f6664b563f07d7d3a4abcee006955f5fab4611834be80ba856a70a1d2a58d848abacfe259c0dbf7b60945d52b8fab90b538d0054145001b8ac446c2d2ea749 SHA512 1128cbd5766658258c164825a49f7cd03362187640102c1f581ecb3d1552408b22677deaf5dd538d1527dbfcac658545d786637c252a595fb81ceb7c10f82492
+AUX automake-1.16.5-py3-compile.patch 2517 BLAKE2B 35ba0af05e84c632b1e2b0e68376316b1ae3eb190521243fd02b3a78d9c13c2fd2853e052af214da8a6fc8139745bbf5f55af34ec5d00a39a99623fbc72c57f4 SHA512 50d7c7f36762abc148a692198da437394890f85ff1c2820c03d5120fbb351253b245e47e6e1b0f8a9a4f532f4e92c3e11524a3d24a9626b7eaa6c7f94216990d
+DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
+DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
+EBUILD automake-1.11.6-r4.ebuild 2176 BLAKE2B 6bf94ec540ec362babc5f3573fc7bc02c703d3d76866428e01d6297221f677718aac4b254a8dd7161877490b6db892e14f91a10d907d81899016044aa7e02e27 SHA512 60ac32eda4ae7fd795c52b64325c643bfca8e040082d076734fa080760c489a6ea8f5d86e3f77373ad194df3953be929b876654f9a81a52a7a71e80af43b178d
+EBUILD automake-1.16.5-r1.ebuild 3445 BLAKE2B f9cadfafeca99aa9fc801ccaa75206b53884ff1d4ba7f2d0e4518c71f2ff9f13030fd40d5afd06b6cda4b2f82a840ecd8e431e2d83d0270250ff217f5504f78f SHA512 0408e89f000246043964a9afacd0880ac04013b72e59054f69568c4506335e819c66623d145fa77635961650a834abee669021bd1a19293e98040c0a0c69fe07
+EBUILD automake-9999.ebuild 3230 BLAKE2B a7b638db8361464fd6344debf8dd7f94dbe1a614ccc6d3a187460dd90eac9fac15097a62c194b56ed30ca17b772eba5d1f702c44e91d97af3d733ba04f0ba9bb SHA512 e4f2beda315bff5bc72c2eced13d9514dcd9b82040bbefd669fdd9021a68380cfe7c79370cd88e4411cd6deb956f977bb2b0239e70f052d66aab2b508fd5eb46
+MISC metadata.xml 363 BLAKE2B 7cbff34d075f5fb5d8391bbc978f9236a6aa1903a697fac7bc52bdf98baebf7053ad4fb4231f4d2b327decce840e47fccf11a28411e9cd12647fa5ab7698f0f5 SHA512 c40b7d0d1986ac70deafd644669caa695279b4bba94b2bd5ab9a9dc8c14cb246b83dc6f19811210559fb9e0e85c7703a2599d910c8fe7a31bff01be10f6dfed7
diff --git a/dev-build/automake/automake-1.11.6-r4.ebuild b/dev-build/automake/automake-1.11.6-r4.ebuild
new file mode 100644
index 000000000000..63adb6b1358a
--- /dev/null
+++ b/dev-build/automake/automake-1.11.6-r4.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
+IUSE="test"
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-10
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="
+ ${RDEPEND}
+ sys-apps/help2man
+"
+BDEPEND="
+ app-arch/gzip
+ test? ( dev-util/dejagnu )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-perl-5.16.patch #424453
+ "${FILESDIR}"/${P}-install-sh-avoid-low-risk-race-in-tmp.patch
+ "${FILESDIR}"/${P}-perl-escape-curly-bracket-r1.patch
+)
+
+src_prepare() {
+ default
+ export WANT_AUTOCONF=2.5
+ export HELP2MAN=true
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+ export TZ="UTC" #589138
+}
+
+src_compile() {
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info"
+ econf --infodir="${MY_INFODIR}"
+
+ local x
+ for x in aclocal automake; do
+ help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1
+ done
+}
+
+src_install() {
+ default
+
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake} \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "06automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake/automake-1.16.5-r1.ebuild b/dev-build/automake/automake-1.16.5-r1.ebuild
new file mode 100644
index 000000000000..07d5a58bdec0
--- /dev/null
+++ b/dev-build/automake/automake-1.16.5-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Bumping notes:
+# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper
+# on new automake (major) releases, as well as the dependency in RDEPEND below too.
+# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
+ inherit git-r3
+else
+ if [[ ${PV/_beta} == ${PV} ]]; then
+ MY_P="${P}"
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ else
+ MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
+ MY_P="${PN}-${MY_PV}"
+
+ # Alpha/beta releases are not distributed on the usual mirrors.
+ SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-11
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/gzip
+ sys-apps/help2man
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/dejagnu
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.16.5-py3-compile.patch
+ "${FILESDIR}"/${PN}-1.16.5-fix-instmany-python.sh-test.patch
+ "${FILESDIR}"/${PN}-1.16.5-fix-py-compile-basedir.sh-test.patch
+ "${FILESDIR}"/${PN}-1.16.5-apostrophe-in-tests.patch
+ "${FILESDIR}"/${PN}-1.16.5-parallel-build.patch
+)
+
+pkg_setup() {
+ # Avoid python-any-r1_pkg_setup
+ :
+}
+
+src_prepare() {
+ default
+
+ export WANT_AUTOCONF=2.5
+ # 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
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+ # bug #628912
+ if ! has_version -b sys-apps/texinfo ; then
+ touch doc/{stamp-vti,version.texi,automake.info} || die
+ fi
+}
+
+src_configure() {
+ use test && python_setup
+ # Also used in install.
+ MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info"
+ econf --infodir="${MY_INFODIR}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/share/aclocal/README || die
+ rmdir "${ED}"/usr/share/aclocal || die
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake} \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${MY_INFODIR}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "06automake${idx}" <<-EOF
+ INFOPATH="${MY_INFODIR}"
+ EOF
+}
diff --git a/dev-build/automake/automake-9999.ebuild b/dev-build/automake/automake-9999.ebuild
new file mode 100644
index 000000000000..a16d0ba489bc
--- /dev/null
+++ b/dev-build/automake/automake-9999.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Bumping notes:
+# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper
+# on new automake (major) releases, as well as the dependency in RDEPEND below too.
+# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
+ inherit git-r3
+else
+ if [[ ${PV/_beta} == ${PV} ]]; then
+ MY_P="${P}"
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+ https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ else
+ MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
+ MY_P="${PN}-${MY_PV}"
+
+ # Alpha/beta releases are not distributed on the usual mirrors.
+ SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6
+ >=dev-build/automake-wrapper-11
+ >=dev-build/autoconf-2.69:*
+ sys-devel/gnuconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/gzip
+ sys-apps/help2man
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/dejagnu
+ )
+"
+
+pkg_setup() {
+ # Avoid python-any-r1_pkg_setup
+ :
+}
+
+src_prepare() {
+ default
+
+ export WANT_AUTOCONF=2.5
+ # 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
+ sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+ # bug #628912
+ if ! has_version -b sys-apps/texinfo ; then
+ touch doc/{stamp-vti,version.texi,automake.info} || die
+ fi
+}
+
+src_configure() {
+ use test && python_setup
+ # Also used in install.
+ infopath="${EPREFIX}/usr/share/automake-${PV}/info"
+ econf --infodir="${infopath}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/share/aclocal/README || die
+ rmdir "${ED}"/usr/share/aclocal || die
+ rm \
+ "${ED}"/usr/bin/{aclocal,automake} \
+ "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+
+ # remove all config.guess and config.sub files replacing them
+ # w/a symlink to a specific gnuconfig version
+ local x
+ for x in guess sub ; do
+ dosym ../gnuconfig/config.${x} \
+ /usr/share/${PN}-${SLOT}/config.${x}
+ done
+
+ # Avoid QA message about pre-compressed file in docs
+ local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
+ if [[ -f "${tarfile}" ]] ; then
+ gunzip "${tarfile}" || die
+ fi
+
+ pushd "${D}/${infopath}" >/dev/null || die
+ for f in *.info*; do
+ # Install convenience aliases for versioned Automake pages.
+ ln -s "$f" "${f/./-${PV}.}" || die
+ done
+ popd >/dev/null || die
+
+ if [[ ${PV} == 9999 ]]; then
+ local major="89"
+ local minor="999"
+ else
+ local major="$(ver_cut 1)"
+ local minor="$(ver_cut 2)"
+ fi
+ local idx="$((99999-(major*1000+minor)))"
+ newenvd - "06automake${idx}" <<-EOF
+ INFOPATH="${infopath}"
+ EOF
+}
diff --git a/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch b/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch
new file mode 100644
index 000000000000..c435b9004f8d
--- /dev/null
+++ b/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch
@@ -0,0 +1,77 @@
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Sat, 15 Aug 2015 04:40:57 -0400
+Subject: install-sh: avoid (low risk) race in /tmp
+
+Ensure that nobody can cross privilege boundaries by pre-creating
+symlink on '$tmpdir' path.
+
+Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not
+safe because '/tmp' directory is usually world-writeable and
+'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by
+attacker (at least for shells where $RANDOM is not supported).
+So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p.
+This step would fail early if somebody wanted catch us.
+
+Note that systems that implement (and have enabled)
+fs.protected_symlinks kernel feature are not affected even without
+this commit.
+
+References:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+* lib/install-sh: Implement safer 'mkdir -p' test by running
+'$mkdirprog $mkdir_mode "$tmpdir"' first.
+(scriptversion): Bump.
+
+--- a/lib/install-sh
++++ b/lib/install-sh
+@@ -345,34 +345,41 @@ do
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
++ # $RANDOM is not portable (e.g. dash); use it when possible to
++ # lower collision chance
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
++ # create the $tmpdir first (and fail if unsuccessful) to make sure
++ # that nobody tries to guess the $tmpdir name.
+ if (umask $mkdir_umask &&
+- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++ $mkdirprog $mkdir_mode "$tmpdir" &&
++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+- ls_ld_tmpdir=`ls -ld "$tmpdir"`
++ test_tmpdir="$tmpdir/a"
++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+- rmdir "$tmpdir/d" "$tmpdir"
++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
diff --git a/dev-build/automake/files/automake-1.11.6-perl-5.16.patch b/dev-build/automake/files/automake-1.11.6-perl-5.16.patch
new file mode 100644
index 000000000000..19fe249e0c00
--- /dev/null
+++ b/dev-build/automake/files/automake-1.11.6-perl-5.16.patch
@@ -0,0 +1,128 @@
+https://bugs.gentoo.org/424453
+
+From 6bf58a59a1f3803e57e3f0378aa9344686707b75 Mon Sep 17 00:00:00 2001
+From: Stefano Lattarini <stefano.lattarini@gmail.com>
+Date: Mon, 28 May 2012 13:32:03 +0200
+Subject: [PATCH] aclocal: declare function prototypes, do not use '&' in
+ function calls
+
+This change will also fix automake bug#11543 (from a report by Matt
+Burgess).
+
+* aclocal.in: Declare prototypes for almost all functions early, before
+any actual function definition (but omit the prototype for the dynamically
+generated '&search' function). Add prototypes to any function definition.
+Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
+instead of "&func(ARGS...)").
+* THANKS, NEWS: Update.
+
+Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
+---
+ NEWS | 4 ++++
+ THANKS | 1 +
+ aclocal.in | 42 ++++++++++++++++++++++++++++++++++--------
+ 3 files changed, 39 insertions(+), 8 deletions(-)
+
+diff --git a/aclocal.in b/aclocal.in
+index dfb851b..e8855d5 100644
+--- a/aclocal.in
++++ b/aclocal.in
+@@ -152,8 +152,34 @@ my $erase_me;
+
+ ################################################################
+
++# Prototypes for all subroutines.
++
++sub unlink_tmp (;$);
++sub xmkdir_p ($);
++sub check_acinclude ();
++sub reset_maps ();
++sub install_file ($$);
++sub list_compare (\@\@);
++sub scan_m4_dirs ($@);
++sub scan_m4_files ();
++sub add_macro ($);
++sub scan_configure_dep ($);
++sub add_file ($);
++sub scan_file ($$$);
++sub strip_redundant_includes (%);
++sub trace_used_macros ();
++sub scan_configure ();
++sub write_aclocal ($@);
++sub usage ($);
++sub version ();
++sub handle_acdir_option ($$);
++sub parse_arguments ();
++sub parse_ACLOCAL_PATH ();
++
++################################################################
++
+ # Erase temporary file ERASE_ME. Handle signals.
+-sub unlink_tmp
++sub unlink_tmp (;$)
+ {
+ my ($sig) = @_;
+
+@@ -350,7 +376,7 @@ sub scan_m4_dirs ($@)
+ next if $file eq 'aclocal.m4';
+
+ my $fullfile = File::Spec->canonpath ("$m4dir/$file");
+- &scan_file ($type, $fullfile, 'aclocal');
++ scan_file ($type, $fullfile, 'aclocal');
+ }
+ closedir (DIR);
+ }
+@@ -361,12 +387,12 @@ sub scan_m4_files ()
+ {
+ # First, scan configure.ac. It may contain macro definitions,
+ # or may include other files that define macros.
+- &scan_file (FT_USER, $configure_ac, 'aclocal');
++ scan_file (FT_USER, $configure_ac, 'aclocal');
+
+ # Then, scan acinclude.m4 if it exists.
+ if (-f 'acinclude.m4')
+ {
+- &scan_file (FT_USER, 'acinclude.m4', 'aclocal');
++ scan_file (FT_USER, 'acinclude.m4', 'aclocal');
+ }
+
+ # Finally, scan all files in our search paths.
+@@ -380,7 +406,7 @@ sub scan_m4_files ()
+ my $search = "sub search {\nmy \$found = 0;\n";
+ foreach my $key (reverse sort keys %map)
+ {
+- $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key
++ $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key
+ . '"); $found = 1; }' . "\n");
+ }
+ $search .= "return \$found;\n};\n";
+@@ -403,7 +429,7 @@ sub add_macro ($)
+
+ verb "saw macro $macro";
+ $macro_seen{$macro} = 1;
+- &add_file ($map{$macro});
++ add_file ($map{$macro});
+ }
+
+ # scan_configure_dep ($file)
+@@ -465,7 +491,7 @@ sub scan_configure_dep ($)
+ }
+
+ add_macro ($_) foreach (@rlist);
+- &scan_configure_dep ($_) foreach @ilist;
++ scan_configure_dep ($_) foreach @ilist;
+ }
+
+ # add_file ($FILE)
+@@ -931,7 +957,7 @@ EOF
+ }
+
+ # Print version and exit.
+-sub version()
++sub version ()
+ {
+ print <<EOF;
+ aclocal (GNU $PACKAGE) $VERSION
+--
+2.1.3
+
diff --git a/dev-build/automake/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch b/dev-build/automake/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch
new file mode 100644
index 000000000000..bf8819adcf4c
--- /dev/null
+++ b/dev-build/automake/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch
@@ -0,0 +1,37 @@
+http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21001
+
+From 34163794a58b5bd91c5d6bd9adf5437571c7a479 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Tue, 7 Jul 2015 10:54:24 +0200
+Subject: [PATCH] bin/automake: escape '{' in regexp pattern
+
+Based on perlre(1) documentation:
+.. in Perl v5.26, literal uses of a curly bracket will be required
+to be escaped, say by preceding them with a backslash ("\{" ) or
+enclosing them within square brackets ("[{]") ..
+
+References:
+https://bugzilla.redhat.com/1239379
+
+* bin/automake.in (substitute_ac_subst_variables): Escape the
+occurrence of '{' character.
+---
+ bin/automake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/automake.in b/bin/automake.in
+index 0c29184..c294ced 100644
+--- a/automake.in
++++ b/automake.in
+@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker
+ sub substitute_ac_subst_variables ($)
+ {
+ my ($text) = @_;
+- $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
++ $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
+ return $text;
+ }
+
+--
+2.1.0
+
diff --git a/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch b/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch
new file mode 100644
index 000000000000..2c1c99d57367
--- /dev/null
+++ b/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch
@@ -0,0 +1,53 @@
+https://git.savannah.gnu.org/cgit/automake.git/commit/?h=ed1368e8803e8934a8bbab52a38753484dba2a37
+
+From ed1368e8803e8934a8bbab52a38753484dba2a37 Mon Sep 17 00:00:00 2001
+From: Karl Berry <karl@freefriends.org>
+Date: Mon, 12 Dec 2022 14:50:33 -0800
+Subject: test: avoid apostrophe in test document.
+
+From automake patch https://bugs.gnu.org/59989
+(though a different solution), suggestion by Frederic Berat.
+
+* t/txinfo-include.sh: avoid apostrophes in test document,
+since Texinfo 7.0 turns them into UTF-8 by default.
+---
+ t/txinfo-include.sh | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh
+index 8a15f01..10fff07 100644
+--- a/t/txinfo-include.sh
++++ b/t/txinfo-include.sh
+@@ -28,6 +28,9 @@ main_TEXINFOS = one.texi two.texi three.texi
+ sub_more_TEXINFOS = sub/desc.texi sub/hist.texi
+ END
+
++# We avoid apostrophes in the test document since Texinfo
++# turns them into UTF-8, which is not easy to grep.
++#
+ cat > main.texi << 'END'
+ \input texinfo
+ @setfilename main.info
+@@ -61,8 +64,8 @@ END
+
+ cat > three.texi << 'END'
+ @node three
+-@chapter Chapter two
+-GNU's Not Unix.
++@chapter Chapter three
++Quux quux quux.
+ END
+
+ mkdir sub
+@@ -106,7 +109,7 @@ check_info_contents ()
+ srcdir=${1-.}
+ $FGREP "Foo bar, baz." $srcdir/main.info
+ $FGREP "Blah Blah Blah." $srcdir/main.info
+- $FGREP "GNU's Not Unix." $srcdir/main.info
++ $FGREP "Quux quux quux." $srcdir/main.info
+ $FGREP 'It does something, really.' $srcdir/sub/more.info
+ $FGREP 'It was written somehow.' $srcdir/sub/more.info
+ }
+--
+cgit v1.1
+
diff --git a/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch b/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch
new file mode 100644
index 000000000000..5cddb4cfb83f
--- /dev/null
+++ b/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch
@@ -0,0 +1,26 @@
+From 50daac4f15d207b6b69011b9cdde62b56c1c8b10 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Fri, 20 Nov 2020 02:17:31 +0100
+Subject: [PATCH 2/2] tests: fix instmany-python.sh: increase limit
+
+Still failing with 4500 on Gentoo. Passing with 7000...
+---
+ t/instmany-python.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/instmany-python.sh b/t/instmany-python.sh
+index dce3594b5..1c482520d 100644
+--- a/t/instmany-python.sh
++++ b/t/instmany-python.sh
+@@ -21,7 +21,7 @@
+ required='python'
+ . test-init.sh
+
+-limit=4500
++limit=7000
+ subdir=long_subdir_name_with_many_characters
+ nfiles=81
+ list=$(seq_ 1 $nfiles)
+--
+2.29.2
+
diff --git a/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch b/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch
new file mode 100644
index 000000000000..85273d6aaf03
--- /dev/null
+++ b/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch
@@ -0,0 +1,28 @@
+https://git.savannah.gnu.org/cgit/automake.git/commit/?h=ae8fb00111ba0c4922609cd9beb552fb41b66cc6
+
+From e3db5b8038a902501a354b6921dcebcb4180f50a Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Fri, 20 Nov 2020 02:13:56 +0100
+Subject: [PATCH 1/2] tests: fix py-compile-basedir.sh: add missing test call
+
+Fixes: b279a0d46 ("tests: in python tests, do not require .pyo files (for python3)")
+---
+ t/py-compile-basedir.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/py-compile-basedir.sh b/t/py-compile-basedir.sh
+index 13a22ff1d..1a16ee2d7 100644
+--- a/t/py-compile-basedir.sh
++++ b/t/py-compile-basedir.sh
+@@ -43,7 +43,7 @@ for d in foo foo/bar "$(pwd)/foo" . .. ../foo ''; do
+ py_installed "$d2/sub/$f.pyc"
+ files=$(find "$d2" | grep '\.py[co]$')
+ # with new-enough Python3, there are six files.
+- test $(echo "$files" | wc -l) -eq 4 || $(echo "$files" | wc -l) -eq 6
++ test $(echo "$files" | wc -l) -eq 4 || test $(echo "$files" | wc -l) -eq 6
+ case $d2 in
+ .|..) rm -f $files;;
+ *) rm -rf "$d2";;
+--
+2.29.2
+
diff --git a/dev-build/automake/files/automake-1.16.5-parallel-build.patch b/dev-build/automake/files/automake-1.16.5-parallel-build.patch
new file mode 100644
index 000000000000..985e86aeb32c
--- /dev/null
+++ b/dev-build/automake/files/automake-1.16.5-parallel-build.patch
@@ -0,0 +1,54 @@
+https://git.savannah.gnu.org/cgit/automake.git/commit/?h=5d02285845acfc20a4900a471c0e7c5e2ff390a0
+
+From 5d02285845acfc20a4900a471c0e7c5e2ff390a0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 18 Jan 2022 04:47:09 -0500
+Subject: [PATCH] build: fix race in parallel builds
+
+As reported by Hongxu Jia:
+> The automake-$(APIVERSION) is a hardlink of automake, if it is
+> created later than update_mans executing, there is a failure
+> [snip]
+> |: && mkdir -p doc && ./pre-inst-env /usr/bin/env perl ../automake-1.16.1/doc/help2man --output=doc/aclocal-1.16.1 aclocal-1.16
+> |help2man: can't get `--help' info from aclocal-1.16
+> |Try `--no-discard-stderr' if option outputs to stderr
+> Makefile:3693: recipe for target 'doc/aclocal-1.16.1' failed
+> [snip]
+>
+> The automake_script is required by update_mans and update_mans
+> invokes automake-$(APIVERSION) rather than automake to generate
+> doc, so we should assign `automake-$(APIVERSION)' to automake_script.
+>
+> The same reason to tweak aclocal_script.
+
+However, rather than update the _script variables to point to the
+hardlinked copies of the programs, we can have the help2man steps
+run the existing scripts directly. This makes the relationship a
+bit more explicit and avoids implicit dependencies on names.
+
+* doc/local.mk: Pass $(aclocal_script) and $(automake_script) to $(update_mans).
+* THANKS: Add Hongxu Jia.
+---
+ THANKS | 1 +
+ doc/local.mk | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/doc/local.mk b/doc/local.mk
+index a29363d2d71b..06c78823a574 100644
+--- a/doc/local.mk
++++ b/doc/local.mk
+@@ -46,9 +46,9 @@ update_mans = \
+ && echo ".so man1/$$f-$(APIVERSION).1" > $@
+
+ %D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
+- $(update_mans) aclocal-$(APIVERSION)
++ $(update_mans) $(aclocal_script)
+ %D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
+- $(update_mans) automake-$(APIVERSION)
++ $(update_mans) $(automake_script)
+
+ ## This target is not invoked as a dependency of anything. It exists
+ ## merely to make checking the links in automake.texi (that is,
+--
+2.43.0
+
diff --git a/dev-build/automake/files/automake-1.16.5-py3-compile.patch b/dev-build/automake/files/automake-1.16.5-py3-compile.patch
new file mode 100644
index 000000000000..003b391b04ac
--- /dev/null
+++ b/dev-build/automake/files/automake-1.16.5-py3-compile.patch
@@ -0,0 +1,75 @@
+https://git.savannah.gnu.org/cgit/automake.git/commit/?h=bde43d0481ff540418271ac37012a574a4fcf097
+
+From aa449bd4c836abf0320033c5077259fc760b622d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 3 Nov 2019 11:51:19 +0100
+Subject: [PATCH] py-compile: Support -OO for py3.5+, and -O&-OO for pypy3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+ lib/py-compile | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/lib/py-compile b/lib/py-compile
+index e56d98d6e..5b9ae5d5d 100755
+--- a/lib/py-compile
++++ b/lib/py-compile
+@@ -126,12 +126,10 @@ if test "$python_major" -le 2; then
+ import_lib=imp
+ import_test="hasattr(imp, 'get_tag')"
+ import_call=imp.cache_from_source
+- import_arg2=', False' # needed in one call and not the other
+ else
+ import_lib=importlib
+ import_test="hasattr(sys.implementation, 'cache_tag')"
+ import_call=importlib.util.cache_from_source
+- import_arg2=
+ fi
+
+ $PYTHON -c "
+@@ -159,7 +157,7 @@ $PYTHON -O -c "
+ import sys, os, py_compile, $import_lib
+
+ # pypy does not use .pyo optimization
+-if hasattr(sys, 'pypy_translation_info'):
++if hasattr(sys, 'pypy_translation_info') and sys.hexversion < 0x03050000:
+ sys.exit(0)
+
+ files = '''$files'''
+@@ -173,7 +171,30 @@ for file in files.split():
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ if $import_test:
+- py_compile.compile(filepath, $import_call(filepath$import_arg2), path)
++ py_compile.compile(filepath, $import_call(filepath), path)
++ else:
++ py_compile.compile(filepath, filepath + 'o', path)
++sys.stdout.write('\n')" 2>/dev/null || :
++
++$PYTHON -OO -c "
++import sys, os, py_compile, $import_lib
++
++# python<3.5 does not have split files for -O and -OO
++if sys.hexversion < 0x03050000:
++ sys.exit(0)
++
++files = '''$files'''
++sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n')
++for file in files.split():
++ $pathtrans
++ $filetrans
++ if not os.path.exists(filepath) or not (len(filepath) >= 3
++ and filepath[-3:] == '.py'):
++ continue
++ sys.stdout.write(file)
++ sys.stdout.flush()
++ if $import_test:
++ py_compile.compile(filepath, $import_call(filepath), path)
+ else:
+ py_compile.compile(filepath, filepath + 'o', path)
+ sys.stdout.write('\n')" 2>/dev/null || exit $?
+--
+2.25.2
diff --git a/dev-build/automake/metadata.xml b/dev-build/automake/metadata.xml
new file mode 100644
index 000000000000..6e5b45d8c011
--- /dev/null
+++ b/dev-build/automake/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:automake</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/libtool/Manifest b/dev-build/libtool/Manifest
new file mode 100644
index 000000000000..40f040796ff5
--- /dev/null
+++ b/dev-build/libtool/Manifest
@@ -0,0 +1,14 @@
+AUX libtool-2.2.10-eprefix.patch 462 BLAKE2B d219aac1c2b68926a6c3c83bc85b51fe5e69cbbf76e3af096b024d649180f9cc4a025ceae14ada4ddb2b8836f669318a700b59811a4b44c91db82098099565bc SHA512 c9657a2726d0750241558337af57ac7d55afa4e74ac5eef411261394cbf7070b52876074367390ed5a2bbc09d9286ba200133ec6afd88a5fe5af08b8db04e189
+AUX libtool-2.2.6a-darwin-module-bundle.patch 1184 BLAKE2B 29fcb8ab11e2960fbf233dbf7776a334e7c399ef16dca4248eb8b5fe70505602f13c052b53a4ee10b03a19cbc4bef40d586441dc1e07b952bc8055a9b6359618 SHA512 7fe59a0f4c452fa3a619539d426f7b2dccc9eb740eb2121c36d568f9c7dff31139386bf698412de489d169fba77d723f99f05632e4bce8999facc5ccc33c1df3
+AUX libtool-2.4.3-use-linux-version-in-fbsd.patch 1108 BLAKE2B da9673ca8234cf35d3b5358d53ab3701bb453b2e827d955d0c2336bf0ae476474eb253354d1282adba134abd896dd7ca44c1cf831d5b95393f72e904ebf4d03f SHA512 ae21b7b7315ff50451d087fc87feaf949ff9094c236657b7a9b6aa381e998fa131930dcb55c099f1da8285ae5e471a2d981c78727cada931d55209c0797be65d
+AUX libtool-2.4.6-darwin-use-linux-version.patch 469 BLAKE2B 00abc1635036d1a1cdb4b1ce7ffd8a0f52f6eb0ce3f87babe6fc3468f9f990a8c2bb09bab416ee33ab77554732d86ce0a8deaf4cf83db048dd651adf4e3e59d7 SHA512 910fb30f49779f855faebfa4cdbb1a454d5cc711d366e76e16dc1f45855f518ea80027fa5f2515c8eb80dd7dfe06368c81498ba08dbb00b49982eaa851a3d53b
+AUX libtool-2.4.6-ppc64le.patch 3672 BLAKE2B 1c1f068f0f1ab8b8180a98412e6a3bb1e4cc84c3e9c8894b4a0a2f8e110ea7ce198fc02d07ba2f18023cf38696d8cfd46e9fae979d5ab30ace2c82b020493f34 SHA512 e9dc9fad5eebabcc65506dddabf3a917c73237485f2ad24765a20437404f654a8c04411755381c7c5d90c2ae13cabd5d89f9ad15839e2e1b9d43300d57adf178
+AUX libtool-2.4.6-pthread.patch 1496 BLAKE2B dc49604133c6c65a2290a8879c243b35b2019cb63b4901b6de68f5efcfe9d42dbaafd7c40ea03f1b247cea8718ef92a51c1bd0ce429ec49665f05a61e26d25fa SHA512 037cf598c644d167de5fef9f4ecee6ccd573d2516f2f777eeaad94135ff05dd0775191d3e21cca397bb664bc0449a5db0b9ef0bbaa16e178762be9769c13c31e
+AUX libtool-2.4.6-pthread_bootstrapped.patch 532 BLAKE2B aeb1592c07a9c5eeed81c483e348786fb1cede29b09fa8e74d0fcf7fdb6ad36fd980823d13b3e20cc7a54d5c518e0f557928b440ef9d0fd6723a8d5f8774c098 SHA512 05c1cee7a3d90bf4768cabaaba47290dc668db7c14173abf99ed8e64dae92191537f89c3304a4d42c01ecc2280d37104c47f621e44b3d19db481846bb225a2a1
+AUX libtool-2.4.7-grep-3.8.patch 1282 BLAKE2B b64b6eab6bed4b5595ef228c9d3bc65a8b2f56ba7e8358d33d46e7e11fee334b4584a24004e2669a272880197f71f54848820bfd8d861e24f3e2b039298f3a96 SHA512 175c5c5d5a9aa6021bfc9a6a38a184c008dd97e76ee756df3f3fdac7610dac545d6539b5717713b771de46322a437ba3416581f4961af56be635659c2498f015
+AUX libtool-2.4.7-werror-lto.patch 2248 BLAKE2B 3537c599ee310fda695b1a671770e1d2c5a943e763641515738e8d13907b807b92727182a34af4c20598c3ad228a2b660f10fd582c2f65d1fdef11b92f5fc68a SHA512 b16f835fbec1ecf6c8408c0705fc94886f35443394298e9ae1d1893dbf7dbad11325b636ccc9d0ddeecc00a13a7b5ae78867dd1369b0fc2fcd9276808f326146
+DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
+EBUILD libtool-2.4.7-r1.ebuild 3328 BLAKE2B b6be29a2ba3ef55e4f0ef285965c5575bb890a5627f12918ce4757394e2125a11415aa96a992598e6d55af33de27ceafd56bedc66576bfbadeec49750cd9b495 SHA512 0041100d2d6897a0e37eec7fdd3446194c7231c018a1736d826ec5d7d88ec4c3204c39911b2c120b0e4a4c45a44728f7595c21210b3fbd462610064373212351
+EBUILD libtool-2.4.7-r2.ebuild 3526 BLAKE2B 49aeb0b94d037328e1c85f4719116c6d61291b9c7987d0484fb98c1d88c8afd52ac0556cb041be1c93441a5632b25177768b836ffc382f2129f8fdf6258b8416 SHA512 c3c591af762040e4e57fb3feb549c2be273f0dba165ebfe42316ac0e26c60becbb8baf1ee7eb1a80dbb16713c04c5cb0f106a9f28cc94e5b7ffe6923c1bfe483
+EBUILD libtool-9999.ebuild 3440 BLAKE2B 8c694cae6f8f6bedbb01d1828eb268bc95e82239cae6f6a45993c74864de25cf4dd5de0381cd7ae8869278885972286b463493abc6227d5936c2b4a37f291e1a SHA512 ae0a842aae7866497bd08d0f1d4d54624925736fe083eb371d03220b599624545be8d544f645a11783c566facc49d01885d160a89332732254b704daa0ee1b84
+MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609
diff --git a/dev-build/libtool/files/libtool-2.2.10-eprefix.patch b/dev-build/libtool/files/libtool-2.2.10-eprefix.patch
new file mode 100644
index 000000000000..c4693ee7feeb
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.2.10-eprefix.patch
@@ -0,0 +1,11 @@
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -2087,7 +2087,7 @@
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
++ sys_lib_search_path_spec=`$ECHO "@GENTOO_PORTAGE_EPREFIX@/lib @GENTOO_PORTAGE_EPREFIX@/usr/lib $lt_search_path_spec" | $lt_NL2SP`
+ else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ fi])
diff --git a/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch b/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch
new file mode 100644
index 000000000000..81364d4d02af
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch
@@ -0,0 +1,24 @@
+In Gentoo Prefix we go by Apple's convention to give modules the .bundle
+extension.
+http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html
+(Above link was removed by Apple, the link below contains a copy:
+http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html,
+in case it disappears also, the relevant quote:
+
+Bundle. Bundles are executable files that can be loaded at runtime by
+other products. Plug-ins are implemented using bundles. The term bundle
+in this context refers to the binary itself, not to a structured
+hierarchy. Bundles have the .bundle extension; for example,
+MyBundle.bundle.)
+
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -2645,7 +2645,7 @@
+ soname_spec='$libname$release$major$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`'
+ m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
diff --git a/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch b/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch
new file mode 100644
index 000000000000..aa1e870649b6
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch
@@ -0,0 +1,38 @@
+Force linux-style versioning when generating shared libraries on
+Gentoo/FreeBSD hosts only.
+
+Patch by Diego Elio Pettenò
+
+http://bugs.gentoo.org/109105
+
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -2666,7 +2666,14 @@
+ *) objformat=elf ;;
+ esac
+ fi
+- version_type=freebsd-$objformat
++ # Handle Gentoo/FreeBSD as it was Linux
++ case $host_vendor in
++ gentoo)
++ version_type=linux ;;
++ *)
++ version_type=freebsd-$objformat ;;
++ esac
++
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+@@ -2678,6 +2685,12 @@
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ need_version=yes
+ ;;
++ linux)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ need_lib_prefix=no
++ need_version=no
++ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
diff --git a/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch b/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch
new file mode 100644
index 000000000000..aded304989d2
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch
@@ -0,0 +1,13 @@
+* revert old 1.5 behaviour
+
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -2641,7 +2641,7 @@
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+- library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
++ library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
diff --git a/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch b/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch
new file mode 100644
index 000000000000..78d86c72956b
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch
@@ -0,0 +1,111 @@
+From 020afd7d6410f73bc205206abe1b88b4890b83b1 Mon Sep 17 00:00:00 2001
+From: Leno Hou <lenohou@gmail.com>
+Date: Sun, 24 Apr 2016 00:46:53 +0800
+Subject: [PATCH] [m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu
+
+Hi all,
+
+ 1) As we might know, Gentoo has powerpc64le-unknown-linux-gnu compiler
+
+leno@localhost ~ $ powerpc64le-unknown-linux-gnu-gcc -v
+
+Using built-in specs.
+
+COLLECT_GCC=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0/powerpc64le-unknown-linux-gnu-gcc
+
+COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc64le-unknown-linux-gnu/5.3.0/lto-wrapper
+
+Target: powerpc64le-unknown-linux-gnu
+
+Configured with:
+/var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0/configure
+--host=powerpc64le-unknown-linux-gnu --build=powerpc64le-unknown-linux-gnu
+--prefix=/usr --bindir=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0
+--includedir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include
+--datadir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0
+--mandir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/man
+--infodir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/info
+--with-gxx-include-dir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include/g++-v5
+--with-python-dir=/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/python
+--enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt
+--disable-werror --with-system-zlib --enable-nls --without-included-gettext
+--enable-checking=release --with-bugurl=https://bugs.gentoo.org/
+--with-pkgversion='Gentoo 5.3.0 p1.0, pie-0.6.5' --enable-libstdcxx-time
+--enable-shared --enable-threads=posix --enable-__cxa_atexit
+--enable-clocale=gnu --disable-multilib --enable-altivec
+--disable-fixed-point --enable-targets=all --disable-libgcj
+--enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts
+--enable-lto --without-isl --enable-libsanitizer
+
+Thread model: posix
+
+gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5)
+
+ 2) And the supported emulations
+
+leno@localhost ~ $ powerpc64le-unknown-linux-gnu-ld -V
+GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
+ Supported emulations:
+ elf64lppc
+ elf32lppc
+ elf32lppclinux
+ elf32lppcsim
+
+ 3) But when I set CHOST="powerpc64le-unkown-linux-gnu" in Gentoo and
+execute aclocal, automake, libtoolize --copy --force, autoconf. When I
+glance in the latest m4/libtool.m4 :
+
+if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+...
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+...
+ *64-bit*)
+ case $host in
+...
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+...
+
+seems linked to $LD='$LD-ld -m elf64ppc' and failed to compile packages.
+
+ 4) Below is my workaround patch and works fine for this case. If this is
+OK for you, Could this to be merged in upstream? Thanks
+
+URL: https://debbugs.gnu.org/23348
+URL: https://bugs.gentoo.org/581314
+---
+ m4/libtool.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index ee292aff5bca..758b6951ae07 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -1417,10 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+- powerpcle-*linux*)
++ powerpcle-*linux*|powerpc64le-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+- powerpc-*linux*)
++ powerpc-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+--
+2.11.1
+
diff --git a/dev-build/libtool/files/libtool-2.4.6-pthread.patch b/dev-build/libtool/files/libtool-2.4.6-pthread.patch
new file mode 100644
index 000000000000..49b81c1dcda6
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.6-pthread.patch
@@ -0,0 +1,43 @@
+http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11704
+https://bugs.gentoo.org/650876
+
+From: Pavel Raiskup <praiskup <at> redhat.com>
+Subject: [PATCH] libtool: handle the -pthread{,s} options for g++
+Newsgroups: gmane.comp.gnu.libtool.patches
+Date: Thursday 28th November 2013 14:18:05 UTC (over 4 years ago)
+
+As we are forced to pass -nostdlib to g++ for linking, this option
+expectedly disables the effectiveness of passed -pthread flag - so
+add the -lpthread explicitly to $deplibs to link correctly.
+
+References:
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
+https://bugzilla.redhat.com/show_bug.cgi?id=661333
+http://lists.gnu.org/archive/html/bug-libtool/2013-01/msg00018.htm
+
+* build-aux/ltmain.in (func_mode_link): Explicitly add -lpthread
+flag into $deplibs when -pthread is passed (for g++ only).
+---
+ build-aux/ltmain.in | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index fba05c1..f202b80 100644
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -5113,6 +5113,16 @@ func_mode_link ()
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
++
++ # As we are forced to pass -nostdlib to g++ during linking, the option
++ # -pthread{,s} is not in effect; add the -lpthread to $deplist
++ # explicitly to link correctly.
++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
++ case "$arg" in
++ -pthread*) func_append deplibs " -lpthread" ;;
++ esac
++ fi
++
+ continue
+ ;;
diff --git a/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch b/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch
new file mode 100644
index 000000000000..b093d74266f2
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/650876
+
+--- a/build-aux/ltmain.sh
++++ b/build-aux/ltmain.sh
+@@ -7127,6 +7127,16 @@
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
++
++ # As we are forced to pass -nostdlib to g++ during linking, the option
++ # -pthread{,s} is not in effect; add the -lpthread to $deplist
++ # explicitly to link correctly.
++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
++ case "$arg" in
++ -pthread*) func_append deplibs " -lpthread" ;;
++ esac
++ fi
++
+ continue
+ ;;
+
diff --git a/dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch b/dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch
new file mode 100644
index 000000000000..8f1de478aece
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/892635
+https://lists.gnu.org/archive/html/libtool-patches/2022-12/msg00004.html
+
+From 414deacee0f564afdf2d7750450274c581330a59 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= <fberat@redhat.com>
+Date: Wed, 21 Dec 2022 13:14:03 +0100
+Subject: [PATCH] tests: Fix grep warning about stray \ before /
+
+Recent version of grep emit a warning if stray \ is found before /.
+This leads to the link-order test failure.
+
+ * tests/link-order.at: Remove unneeded \ before /
+--- a/tests/link-order.at
++++ b/tests/link-order.at
+@@ -99,12 +99,12 @@ aix* | interix*) ;; # These systems have different path syntax
+ case $hardcode_direct$hardcode_direct_absolute in
+ yesno)
+ AT_CHECK([if $EGREP relinking stderr; then
+- $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout
++ $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout
+ else :; fi], [0], [ignore], [], [echo "wrong link order"])
+ ;;
+ *)
+ AT_CHECK([if $EGREP relinking stderr; then
+- $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout
++ $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout
+ else :; fi], [0], [ignore], [], [echo "wrong link order"])
+ ;;
+ esac
+--
+2.38.1
diff --git a/dev-build/libtool/files/libtool-2.4.7-werror-lto.patch b/dev-build/libtool/files/libtool-2.4.7-werror-lto.patch
new file mode 100644
index 000000000000..c0db69f3e2b6
--- /dev/null
+++ b/dev-build/libtool/files/libtool-2.4.7-werror-lto.patch
@@ -0,0 +1,47 @@
+https://lists.gnu.org/archive/html/libtool-patches/2022-12/msg00000.html
+
+From d72817b1ee5d7b666bf30b0234e32423252d6ad8 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 10 Dec 2022 02:00:22 +0000
+Subject: [PATCH] Allow -Werror and -Werror=* through flag filtering
+
+* build-aux/ltmain.in (func_mode_link): allow -Werror and -Werror=* through
+ flat filtering at link time.
+
+ This is needed for detecting likely-runtime problems with LTO using
+ e.g. -Werror=odr or -Werror=lto-type-mismatch.
+
+Bug: https://bugs.gentoo.org/884767
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -5408,10 +5408,11 @@ func_mode_link ()
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -Wa,* Pass flags directly to the assembler
++ # -Werror, -Werror=* Report (specified) warnings as errors
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
++ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*|-Werror|-Werror=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ func_append compile_command " $arg"
+--- a/build-aux/ltmain.sh
++++ a/build-aux/ltmain.sh
+@@ -5408,10 +5408,11 @@ func_mode_link ()
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -Wa,* Pass flags directly to the assembler
++ # -Werror, -Werror=* Report (specified) warnings as errors
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
++ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*|-Werror|-Werror=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ func_append compile_command " $arg"
+--
+2.38.1
diff --git a/dev-build/libtool/libtool-2.4.7-r1.ebuild b/dev-build/libtool/libtool-2.4.7-r1.ebuild
new file mode 100644
index 000000000000..aa94eae26eeb
--- /dev/null
+++ b/dev-build/libtool/libtool-2.4.7-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Please bump with dev-libs/libltdl.
+
+# bug #225559
+LIBTOOLIZE="true"
+WANT_LIBTOOL="none"
+inherit autotools prefix
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+
+LICENSE="GPL-2"
+SLOT="2"
+IUSE="vanilla"
+
+# Pull in libltdl directly until we convert packages to the new dep.
+RDEPEND="
+ sys-devel/gnuconfig
+ >=dev-build/autoconf-2.69:*
+ >=dev-build/automake-1.13:*
+ >=dev-libs/libltdl-2.4.7
+"
+DEPEND="${RDEPEND}"
+[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+
+PATCHES=(
+ # bug #109105
+ "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
+ # bug #581314
+ "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch
+
+ "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
+ "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
+ "${FILESDIR}"/${PN}-2.4.7-werror-lto.patch
+ "${FILESDIR}"/${PN}-2.4.7-grep-3.8.patch
+)
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876
+ ./bootstrap || die
+ else
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876
+ )
+ fi
+
+ # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
+ chmod +w build-aux/ltmain.sh || die
+
+ if use vanilla ; then
+ eapply_user
+ return 0
+ else
+ default
+ fi
+
+ if use prefix ; then
+ # seems that libtool has to know about EPREFIX a little bit
+ # better, since it fails to find prefix paths to search libs
+ # from, resulting in some packages building static only, since
+ # libtool is fooled into thinking that libraries are unavailable
+ # (argh...). This could also be fixed by making the gcc wrapper
+ # return the correct result for -print-search-dirs (doesn't
+ # include prefix dirs ...).
+ eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch
+ eprefixify m4/libtool.m4
+ fi
+
+ pushd libltdl >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+ popd >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+
+ # Make sure timestamps don't trigger a rebuild of man pages. #556512
+ if [[ ${PV} != *9999 ]] ; then
+ touch doc/*.1 || die
+ export HELP2MAN=true
+ fi
+}
+
+src_configure() {
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="$(type -P bash)"
+
+ # Do not bother hardcoding the full path to sed.
+ # Just rely on $PATH. bug #574550
+ export ac_cv_path_SED="$(basename "$(type -P sed)")"
+
+ [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
+
+ ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install
+}
+
+src_install() {
+ default
+
+ local x
+ while read -d $'\0' -r x ; do
+ ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
+ done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
+}
diff --git a/dev-build/libtool/libtool-2.4.7-r2.ebuild b/dev-build/libtool/libtool-2.4.7-r2.ebuild
new file mode 100644
index 000000000000..ec3be9b992e0
--- /dev/null
+++ b/dev-build/libtool/libtool-2.4.7-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Please bump with dev-libs/libltdl.
+
+# bug #225559
+LIBTOOLIZE="true"
+WANT_LIBTOOL="none"
+inherit autotools prefix
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+
+LICENSE="GPL-2"
+SLOT="2"
+IUSE="vanilla"
+
+# Pull in libltdl directly until we convert packages to the new dep.
+RDEPEND="
+ sys-devel/gnuconfig
+ >=dev-build/autoconf-2.69:*
+ >=dev-build/automake-1.13:*
+"
+DEPEND="${RDEPEND}"
+[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+
+# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
+# for package builds. The patches here are just those which are definitely fine
+# for the system-wide libtool installation as well.
+PATCHES=(
+ # bug #109105
+ "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
+ # bug #581314
+ "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch
+
+ "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
+ "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
+ "${FILESDIR}"/${PN}-2.4.7-werror-lto.patch
+ "${FILESDIR}"/${PN}-2.4.7-grep-3.8.patch
+)
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876
+ ./bootstrap || die
+ else
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876
+ )
+ fi
+
+ # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
+ chmod +w build-aux/ltmain.sh || die
+
+ if use vanilla ; then
+ eapply_user
+ return 0
+ else
+ default
+ fi
+
+ if use prefix ; then
+ # seems that libtool has to know about EPREFIX a little bit
+ # better, since it fails to find prefix paths to search libs
+ # from, resulting in some packages building static only, since
+ # libtool is fooled into thinking that libraries are unavailable
+ # (argh...). This could also be fixed by making the gcc wrapper
+ # return the correct result for -print-search-dirs (doesn't
+ # include prefix dirs ...).
+ eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch
+ eprefixify m4/libtool.m4
+ fi
+
+ pushd libltdl >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+ popd >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+
+ # Make sure timestamps don't trigger a rebuild of man pages. #556512
+ if [[ ${PV} != *9999 ]] ; then
+ touch doc/*.1 || die
+ export HELP2MAN=true
+ fi
+}
+
+src_configure() {
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="$(type -P bash)"
+
+ # Do not bother hardcoding the full path to sed.
+ # Just rely on $PATH. bug #574550
+ export ac_cv_path_SED="$(basename "$(type -P sed)")"
+
+ [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
+
+ ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install
+}
+
+src_install() {
+ default
+
+ local x
+ while read -d $'\0' -r x ; do
+ ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
+ done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
+}
diff --git a/dev-build/libtool/libtool-9999.ebuild b/dev-build/libtool/libtool-9999.ebuild
new file mode 100644
index 000000000000..5a5d4b118ef9
--- /dev/null
+++ b/dev-build/libtool/libtool-9999.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Please bump with dev-libs/libltdl.
+
+# bug #225559
+LIBTOOLIZE="true"
+WANT_LIBTOOL="none"
+inherit autotools prefix
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+
+LICENSE="GPL-2"
+SLOT="2"
+IUSE="vanilla"
+
+# Pull in libltdl directly until we convert packages to the new dep.
+RDEPEND="
+ sys-devel/gnuconfig
+ >=dev-build/autoconf-2.69:*
+ >=dev-build/automake-1.13:*
+"
+DEPEND="${RDEPEND}"
+[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+
+# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
+# for package builds. The patches here are just those which are definitely fine
+# for the system-wide libtool installation as well.
+PATCHES=(
+ # bug #109105
+ "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
+ # bug #581314
+ "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch
+
+ "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
+ "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
+)
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876
+ ./bootstrap || die
+ else
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876
+ )
+ fi
+
+ # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
+ chmod +w build-aux/ltmain.sh || die
+
+ if use vanilla ; then
+ eapply_user
+ return 0
+ else
+ default
+ fi
+
+ if use prefix ; then
+ # seems that libtool has to know about EPREFIX a little bit
+ # better, since it fails to find prefix paths to search libs
+ # from, resulting in some packages building static only, since
+ # libtool is fooled into thinking that libraries are unavailable
+ # (argh...). This could also be fixed by making the gcc wrapper
+ # return the correct result for -print-search-dirs (doesn't
+ # include prefix dirs ...).
+ eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch
+ eprefixify m4/libtool.m4
+ fi
+
+ pushd libltdl >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+ popd >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+
+ # Make sure timestamps don't trigger a rebuild of man pages. #556512
+ if [[ ${PV} != *9999 ]] ; then
+ touch doc/*.1 || die
+ export HELP2MAN=true
+ fi
+}
+
+src_configure() {
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="$(type -P bash)"
+
+ # Do not bother hardcoding the full path to sed.
+ # Just rely on $PATH. bug #574550
+ export ac_cv_path_SED="$(basename "$(type -P sed)")"
+
+ [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
+
+ ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install
+}
+
+src_install() {
+ default
+
+ local x
+ while read -d $'\0' -r x ; do
+ ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
+ done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
+}
diff --git a/dev-build/libtool/metadata.xml b/dev-build/libtool/metadata.xml
new file mode 100644
index 000000000000..151cc38da6c6
--- /dev/null
+++ b/dev-build/libtool/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+<upstream>
+ <remote-id type="cpe">cpe:/a:gnu:libtool</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-build/slibtool/Manifest b/dev-build/slibtool/Manifest
new file mode 100644
index 000000000000..c6a19cfcf92f
--- /dev/null
+++ b/dev-build/slibtool/Manifest
@@ -0,0 +1,8 @@
+DIST slibtool-0.5.34.tar.xz 79720 BLAKE2B 3a692d7485dcf2277f7ed99fe1ad67cf5fd33d8fe0a527d64634b0e7f956a5f58b92d812396f00d872ceb8509e058ae1a026f16a65feb2e79a9fff7bd60290da SHA512 3f7f6e4f45c4c2ae5ba5533152f08269cd77ca6fa2f3a515802bc23c7ac505b2d7340098fa98962c79035129cfd4077205596309f4acd1d634b9a1d6e2c0e96c
+DIST slibtool-0.5.34.tar.xz.sig 833 BLAKE2B 52df017d8ae3056e259a5283b0a4cea119a5ab4ce95e6c894d0d2e98fc10db101039a57c9a2a771f677c9d0afaad9273095ebdb078fca146a3d67ea25e9261fb SHA512 9f8415431a0b43e7be9a808dd6ed138a9b34b7b2c4af3ab406bdbc456ec31c877f13bc0b056ab9a50bec0b0cf1b654a133085f8523e70c8cb7d3851652d34ff7
+DIST slibtool-0.5.35.tar.xz 87964 BLAKE2B cd01e3dc479cde2ffd8b58c51273b6c6f503056f009aa960b79dd0a6d2d18c73a3dfd9eb7933f24fd47ff849911cb63ca014eadd2bf661e3c0236467eb0802ff SHA512 e1d2f03596432f970f8c1f93d4387cafb11355a520fb5adb9bbc02f3dcdea0bbb78ca6fe84c24faebee848279050c5bec13fd64a168b12d7fc885ac9d31a7560
+DIST slibtool-0.5.35.tar.xz.sig 833 BLAKE2B 597d5beb51f650643f1ef1c8f576200ccda154e9428e5097c2236e8d71992a4c9c39d44c1325f9f1265e1cfa49f08581546c0b0f8019c7796ce9271219480753 SHA512 2a7333997802ef56a57bf32fbfce17030c1dd732c9066bec94d0719cbda3dc85e896a0221e43065fc3ed35ee852942a5f7c270d56276706b9f0fdb7f4d091ef8
+EBUILD slibtool-0.5.34.ebuild 1063 BLAKE2B 9fe9013a920887cb3442f95c1f7bc876e107ecc6c1b792c2b7de98a2a574a51833dfadece7ea186d1f1899a849567ee00abf75b4e838ac2f2eedcd521cb09ed4 SHA512 d6b86c5c18b8cb1cab9370c63c014274680bc653440b722f4055e208bba07bba48d3137f7a57ec181bddff8921d268c40abd5c9d108a6bfe3e1855f86ee04d16
+EBUILD slibtool-0.5.35.ebuild 1046 BLAKE2B a89346aea9524818f0a665c006100efc51a158e62fb5a90f0652940b10024c62cae8b3a2d24847c3402321c93b795c065b7aa7bbd64694cd20746bd6c9bc9541 SHA512 33a11521ce64bda35005ae2fb86f69526982f9ab25e93b166bc8ce2ddaa235f3bbaab090f86477b3b8a1ecf4cddcde31dd16b003b514d1752889b209716263f9
+EBUILD slibtool-9999.ebuild 1054 BLAKE2B f9f5bea7fa76f884c9ccb61b4f7592840af3a6f92f325cc6f6c8e6f503eca45a0e33667e45409fbfe878c1e3338ce1bf7de6841bea9ed5651a500a57f755da21 SHA512 698431bb99e233071273d436db70e75a7fc07c9ff530fce070d681fe8d34ad573539d5e13de66b6ff6f86057bc463baa5c0302eb68dde065ffb88a994c599666
+MISC metadata.xml 496 BLAKE2B 8ee62c41383efeccd6d577cb031630f935810e45dd3887c93482b1880d03bf87a252f7a18ba3708b0b0521e2e2e0380d6871721672802189550173a1fe89229b SHA512 d707829a4daf977fb19facd83e5f1582ff422141e0c754867218edf9bc36b208c3ddc5d66159857609128c13a1ac3b51d497e5b89ab6cb0431e25cb7a43d48a5
diff --git a/dev-build/slibtool/metadata.xml b/dev-build/slibtool/metadata.xml
new file mode 100644
index 000000000000..26b0002e202f
--- /dev/null
+++ b/dev-build/slibtool/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>felix.janda@posteo.de</email>
+ <name>Felix Janda</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/slibtool/slibtool-0.5.34.ebuild b/dev-build/slibtool/slibtool-0.5.34.ebuild
new file mode 100644
index 000000000000..f9c4ec40c581
--- /dev/null
+++ b/dev-build/slibtool/slibtool-0.5.34.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# git.foss21.org is the official repository per upstream
+DESCRIPTION="A skinny libtool implementation, written in C"
+HOMEPAGE="https://git.foss21.org/slibtool"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.foss21.org/slibtool"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/midipix.asc
+ inherit verify-sig
+
+ SRC_URI="https://dl.midipix.org/slibtool/${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://dl.midipix.org/slibtool/${P}.tar.xz.sig )"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-midipix )"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+src_configure() {
+ # Custom configure script (not generated by autoconf)
+ ./configure \
+ --compiler="$(tc-getCC)" \
+ --host=${CHOST} \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shell="${EPREFIX}"/bin/sh \
+ || die
+}
diff --git a/dev-build/slibtool/slibtool-0.5.35.ebuild b/dev-build/slibtool/slibtool-0.5.35.ebuild
new file mode 100644
index 000000000000..9b8ec488bfa3
--- /dev/null
+++ b/dev-build/slibtool/slibtool-0.5.35.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# git.foss21.org is the official repository per upstream
+DESCRIPTION="A skinny libtool implementation, written in C"
+HOMEPAGE="https://git.foss21.org/slibtool"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.foss21.org/slibtool"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/midipix.asc
+ inherit verify-sig
+
+ SRC_URI="https://dl.midipix.org/slibtool/${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://dl.midipix.org/slibtool/${P}.tar.xz.sig )"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+ BDEPEND="sys-devel/m4
+ verify-sig? ( sec-keys/openpgp-keys-midipix )"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+src_configure() {
+ # Custom configure script (not generated by autoconf)
+ ./configure \
+ --compiler="$(tc-getCC)" \
+ --host=${CHOST} \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ || die
+}
diff --git a/dev-build/slibtool/slibtool-9999.ebuild b/dev-build/slibtool/slibtool-9999.ebuild
new file mode 100644
index 000000000000..7ddb3566b911
--- /dev/null
+++ b/dev-build/slibtool/slibtool-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# git.foss21.org is the official repository per upstream
+DESCRIPTION="A skinny libtool implementation, written in C"
+HOMEPAGE="https://git.foss21.org/slibtool"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.foss21.org/slibtool"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/midipix.asc
+ inherit verify-sig
+
+ SRC_URI="https://dl.midipix.org/slibtool/${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://dl.midipix.org/slibtool/${P}.tar.xz.sig )"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+ BDEPEND="sys-devel/m4
+ verify-sig? ( sec-keys/openpgp-keys-midipix )"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+src_configure() {
+ # Custom configure script (not generated by autoconf)
+ ./configure \
+ --compiler="$(tc-getCC)" \
+ --host=${CHOST} \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ || die
+}