public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/automake-vanilla/, sys-devel/automake-vanilla/files/
@ 2023-11-22  0:00 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-11-22  0:00 UTC (permalink / raw
  To: gentoo-commits

commit:     23566373c9b4e0d9456cd059f0e418c17e9b45c9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  5 14:34:11 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 00:00:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23566373

sys-devel/automake-vanilla: new package, add 1.11.6, 1.16.5, 9999

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/automake-vanilla/Manifest                |   2 +
 .../automake-vanilla-1.11.6.ebuild                 | 103 +++++++++++++++++
 .../automake-vanilla-1.16.5.ebuild                 | 121 +++++++++++++++++++
 .../automake-vanilla/automake-vanilla-9999.ebuild  | 113 ++++++++++++++++++
 ...1.6-install-sh-avoid-low-risk-race-in-tmp.patch |  77 +++++++++++++
 .../files/automake-1.11.6-perl-5.16.patch          | 128 +++++++++++++++++++++
 ...omake-1.11.6-perl-escape-curly-bracket-r1.patch |  37 ++++++
 .../automake-1.16.5-apostrophe-in-tests.patch      |  51 ++++++++
 ...tomake-1.16.5-fix-instmany-python.sh-test.patch |  26 +++++
 ...ake-1.16.5-fix-py-compile-basedir.sh-test.patch |  26 +++++
 .../files/automake-1.16.5-py3-compile.patch        |  73 ++++++++++++
 sys-devel/automake-vanilla/metadata.xml            |  12 ++
 12 files changed, 769 insertions(+)

diff --git a/sys-devel/automake-vanilla/Manifest b/sys-devel/automake-vanilla/Manifest
new file mode 100644
index 000000000000..ee180dcca549
--- /dev/null
+++ b/sys-devel/automake-vanilla/Manifest
@@ -0,0 +1,2 @@
+DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
+DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88

diff --git a/sys-devel/automake-vanilla/automake-vanilla-1.11.6.ebuild b/sys-devel/automake-vanilla/automake-vanilla-1.11.6.ebuild
new file mode 100644
index 000000000000..f769b162739b
--- /dev/null
+++ b/sys-devel/automake-vanilla/automake-vanilla-1.11.6.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 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
+	>=sys-devel/automake-wrapper-10
+	>=sys-devel/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/automake-vanilla-${PV}/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/./-${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/sys-devel/automake-vanilla/automake-vanilla-1.16.5.ebuild b/sys-devel/automake-vanilla/automake-vanilla-1.16.5.ebuild
new file mode 100644
index 000000000000..1ffbeb5076d6
--- /dev/null
+++ b/sys-devel/automake-vanilla/automake-vanilla-1.16.5.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 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}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	>=dev-lang/perl-5.6
+	>=sys-devel/automake-wrapper-11
+	>=sys-devel/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/automake-${PV}/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/./-${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/sys-devel/automake-vanilla/automake-vanilla-9999.ebuild b/sys-devel/automake-vanilla/automake-vanilla-9999.ebuild
new file mode 100644
index 000000000000..9232ed261086
--- /dev/null
+++ b/sys-devel/automake-vanilla/automake-vanilla-9999.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2023 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
+	>=sys-devel/automake-wrapper-11
+	>=sys-devel/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/automake-vanilla-${PV}/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/./-${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/sys-devel/automake-vanilla/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch b/sys-devel/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/sys-devel/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/sys-devel/automake-vanilla/files/automake-1.11.6-perl-5.16.patch b/sys-devel/automake-vanilla/files/automake-1.11.6-perl-5.16.patch
new file mode 100644
index 000000000000..19fe249e0c00
--- /dev/null
+++ b/sys-devel/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;
+ \f
+ ################################################################
+ 
++# 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/sys-devel/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch b/sys-devel/automake-vanilla/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch
new file mode 100644
index 000000000000..bf8819adcf4c
--- /dev/null
+++ b/sys-devel/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/sys-devel/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch b/sys-devel/automake-vanilla/files/automake-1.16.5-apostrophe-in-tests.patch
new file mode 100644
index 000000000000..866284dfd185
--- /dev/null
+++ b/sys-devel/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/sys-devel/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch b/sys-devel/automake-vanilla/files/automake-1.16.5-fix-instmany-python.sh-test.patch
new file mode 100644
index 000000000000..5cddb4cfb83f
--- /dev/null
+++ b/sys-devel/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/sys-devel/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch b/sys-devel/automake-vanilla/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch
new file mode 100644
index 000000000000..f49dd253c2d6
--- /dev/null
+++ b/sys-devel/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/sys-devel/automake-vanilla/files/automake-1.16.5-py3-compile.patch b/sys-devel/automake-vanilla/files/automake-1.16.5-py3-compile.patch
new file mode 100644
index 000000000000..5333520b5db1
--- /dev/null
+++ b/sys-devel/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/sys-devel/automake-vanilla/metadata.xml b/sys-devel/automake-vanilla/metadata.xml
new file mode 100644
index 000000000000..6e5b45d8c011
--- /dev/null
+++ b/sys-devel/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>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-22  0:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-22  0:00 [gentoo-commits] repo/gentoo:master commit in: sys-devel/automake-vanilla/, sys-devel/automake-vanilla/files/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox