dev-build/automake: Sync with Gentoo

It's from Gentoo commit 75bbf603d0702d9ac4873e95fd277d48cd9f68f2.
This commit is contained in:
Flatcar Buildbot 2025-06-16 07:07:37 +00:00 committed by Krzesimir Nowak
parent 925be9e30d
commit 3d008b9f16
12 changed files with 19 additions and 447 deletions

View File

@ -1,6 +1,5 @@
DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
DIST automake-1.16.5-tests-c99.patch.xz 7176 BLAKE2B 1fa1d3a499bacc5da9ee9d8ea6cb63d9ab91646a708a53d9bb08eef65fe02a6ab34ff95737042348ea7572bd70c6c7467e260d9441239a00c3571d25d73085f0 SHA512 0065b809219257cbce3c6f6f88459b91a5a29272e0027698e06246181357ffe8d5d40057086438f891d821836441a5a96f2568d52dcd3b5acb80e4d4968cbaf9
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
DIST automake-1.16.5.tar.xz.sig 833 BLAKE2B a79fcdce97e13ac3bf39d73e183da92703681ff80011974d95a41be20169f95414551985f7a46602fba3558e33f24d6dcb76222d99f9de4fef0d3dc59b88807e SHA512 032a7c39abb4cabbefa4eb9c15263baec0902e48c0c81364307361a41fd55be282b9640707c789f5ae572e8e60240e34d1b575a671b5710f5d2a5716fafc2d51
DIST automake-1.17.tar.xz 1652632 BLAKE2B 53c24c138faf3d2be4e30ababcccd4d157c03e815fc4b7f3e3063b6648cf254dfa63afe6e3285b21309dbf260335c3e67991db3825e7532b158b25ccaead83f5 SHA512 46aba1c9d64a6368b326020803a2999831c1deaf31eaa1c1dfdcfa5138a7f755643294e82a08b6daab3983b31eee725bdb7b9edc4e9a558374c7d1f1b8e854a7
DIST automake-1.17.tar.xz.sig 833 BLAKE2B 4564c7189360c61bde7e16a7c3a52b86084fb16b7f4625969fc588a6aa0da687c7b27acf7247822ec0e09e59336acf0ef69784032f255190a070081f6d9da5cc SHA512 180dde452ec097a9267c334044a9ec16bb65cc6ccbc000b7eca0af81ed7ece6f4ce6f6c2be8a2cabca9d48fd46085c81f0ee5d020967104bc25f37f52927829a
DIST automake-1.18.tar.xz 1652364 BLAKE2B 45456d6d0fdcd1222c79980ede1df16dfbf18fa4d4698289dbef7c9e24ae8877881678974c5defcce0a9f46b72882b4603e457e8142722174ccf0e495f941550 SHA512 3488d9188a9e11a3e7f911f429ef49d2d92c5ea42262e3e288e1d4de39217facd5a7b7c7ccac06e6fd78a661985af1fe5638353575ebadffb36fc22553e5f782
DIST automake-1.18.tar.xz.sig 488 BLAKE2B 5a0e9784f536262ab1015e444a67f827e123da7122730e3c4d8c474de544473b731f876a5e743df15b97571990be7509d9007ea8a1ddf00af9cf1747b528016e SHA512 0c01e85ce08a88809d0205de1250836b2a81bb1c16abb395937f737a1bd37fe8d5612c19dbed7d1afd02ed8a8a321356601e4ae8d32b0859dc50fc3617c33f0c

View File

@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -7,7 +7,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"
LICENSE="GPL-2+ FSFAP"
# Use Gentoo versioning for slotting.
SLOT="${PV:0:4}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"

View File

@ -1,157 +0,0 @@
# 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..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
inherit python-any-r1 verify-sig
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
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.16.5-tests-c99.patch.xz
verify-sig? (
mirror://gnu/${PN}/${P}.tar.xz.sig
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz.sig
)
"
KEYWORDS="~alpha amd64 arm arm64 hppa ~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
"
BDEPEND="
app-alternatives/gzip
sys-apps/help2man
dev-build/autoconf-wrapper
dev-build/autoconf
test? (
${PYTHON_DEPS}
dev-util/dejagnu
sys-devel/bison
sys-devel/flex
)
verify-sig? ( sec-keys/openpgp-keys-jimmeyering )
"
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
"${FILESDIR}"/${PN}-1.16.5-py312.patch
"${WORKDIR}"/${PN}-1.16.5-tests-c99.patch
)
pkg_setup() {
# Avoid python-any-r1_pkg_setup
:
}
src_unpack() {
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig}
default
}
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_test() {
# Fails with byacc/flex
emake YACC="bison -y" LEX="flex" check
}
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
docompress "${MY_INFODIR}"
}

View File

@ -8,7 +8,7 @@ EAPI=8
# 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..13} )
PYTHON_COMPAT=( python3_{11..13} )
inherit python-any-r1 verify-sig
@ -35,14 +35,14 @@ else
mirror://gnu/${PN}/${P}.tar.xz.sig
)
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
HOMEPAGE="https://www.gnu.org/software/automake/"
LICENSE="GPL-2"
LICENSE="GPL-2+ FSFAP"
# Use Gentoo versioning for slotting.
SLOT="${MANGLED_SLOT}"
IUSE="test"

View File

@ -8,7 +8,7 @@ EAPI=8
# 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..13} )
PYTHON_COMPAT=( python3_{11..14} )
inherit python-any-r1 verify-sig
@ -19,7 +19,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
inherit git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karlberry.asc
if [[ $(ver_cut 3) -ge 90 ]] ; then
MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1))
SRC_URI="
@ -35,14 +35,14 @@ else
mirror://gnu/${PN}/${P}.tar.xz.sig
)
"
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
HOMEPAGE="https://www.gnu.org/software/automake/"
LICENSE="GPL-2"
LICENSE="GPL-2+ FSFAP"
# Use Gentoo versioning for slotting.
SLOT="${MANGLED_SLOT}"
IUSE="test"
@ -50,7 +50,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/perl-5.6
>=dev-build/automake-wrapper-20240607
>=dev-build/automake-wrapper-20250528
>=dev-build/autoconf-2.69:*
sys-devel/gnuconfig
"
@ -65,7 +65,7 @@ BDEPEND="
sys-devel/bison
sys-devel/flex
)
verify-sig? ( sec-keys/openpgp-keys-jimmeyering )
verify-sig? ( sec-keys/openpgp-keys-karlberry )
"
pkg_setup() {

View File

@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,7 +8,7 @@ EAPI=8
# 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..13} )
PYTHON_COMPAT=( python3_{11..14} )
inherit python-any-r1 verify-sig
@ -19,7 +19,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
inherit git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karlberry.asc
if [[ $(ver_cut 3) -ge 90 ]] ; then
MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1))
SRC_URI="
@ -42,7 +42,7 @@ fi
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
HOMEPAGE="https://www.gnu.org/software/automake/"
LICENSE="GPL-2"
LICENSE="GPL-2+ FSFAP"
# Use Gentoo versioning for slotting.
SLOT="${MANGLED_SLOT}"
IUSE="test"
@ -50,7 +50,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/perl-5.6
>=dev-build/automake-wrapper-20240607
>=dev-build/automake-wrapper-20250528
>=dev-build/autoconf-2.69:*
sys-devel/gnuconfig
"
@ -65,7 +65,7 @@ BDEPEND="
sys-devel/bison
sys-devel/flex
)
verify-sig? ( sec-keys/openpgp-keys-jimmeyering )
verify-sig? ( sec-keys/openpgp-keys-karlberry )
"
pkg_setup() {

View File

@ -1,53 +0,0 @@
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

View File

@ -1,26 +0,0 @@
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

View File

@ -1,28 +0,0 @@
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

View File

@ -1,54 +0,0 @@
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

View File

@ -1,75 +0,0 @@
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

View File

@ -1,34 +0,0 @@
https://git.savannah.gnu.org/cgit/automake.git/commit/?id=f1112a88d2361eb2ba5cedf49995ac75879059d9
From f1112a88d2361eb2ba5cedf49995ac75879059d9 Mon Sep 17 00:00:00 2001
From: Bogdan <bogdro_rep@gmx.us>
Date: Sun, 28 Jan 2024 18:12:50 -0800
Subject: [PATCH] test: another check for PEP-3147 induced by Python 3.12.1.
Fix for more of https://bugs.gnu.org/68119.
* t/ax/am-test-lib.sh (python_has_pep3147) <am_pep3147_tag>:
check sys.implementation.cache_tag as well as the (old)
imp.get_tag. For Python 3.12.1.
---
t/ax/am-test-lib.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index fbbb79005..d61fd6662 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -635,6 +635,10 @@ python_has_pep3147 ()
am_pep3147_tag=$($PYTHON -c 'import imp; print(imp.get_tag())') \
|| am_pep3147_tag=none
fi
+ if test "$am_pep3147_tag" = "none"; then
+ am_pep3147_tag=$($PYTHON -c 'import sys; print(sys.implementation.cache_tag)') \
+ || am_pep3147_tag=none
+ fi
test $am_pep3147_tag != none
}
am_pep3147_tag=
--
2.44.0