summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-01-14 21:22:12 +0100
committerMichał Górny <mgorny@gentoo.org>2024-01-15 16:58:25 +0100
commitaf466a47a6379c6525c66c60bb73abcb29211e63 (patch)
tree275cbd6c5c34f27084fe076fc1379e187564bed9 /dev-build/automake-vanilla
parentMove {sys-devel → dev-build}/automake-wrapper (diff)
downloadgentoo-af466a47a6379c6525c66c60bb73abcb29211e63.tar.gz
gentoo-af466a47a6379c6525c66c60bb73abcb29211e63.tar.bz2
gentoo-af466a47a6379c6525c66c60bb73abcb29211e63.zip
Move {sys-devel → dev-build}/automake-vanilla
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-build/automake-vanilla')
-rw-r--r--dev-build/automake-vanilla/Manifest3
-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
13 files changed, 890 insertions, 0 deletions
diff --git a/dev-build/automake-vanilla/Manifest b/dev-build/automake-vanilla/Manifest
new file mode 100644
index 000000000000..c4d5d7c16d57
--- /dev/null
+++ b/dev-build/automake-vanilla/Manifest
@@ -0,0 +1,3 @@
+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
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>