diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-01-14 21:22:12 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-01-15 16:58:25 +0100 |
commit | af466a47a6379c6525c66c60bb73abcb29211e63 (patch) | |
tree | 275cbd6c5c34f27084fe076fc1379e187564bed9 /dev-build/automake-vanilla | |
parent | Move {sys-devel → dev-build}/automake-wrapper (diff) | |
download | gentoo-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')
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> |