public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
Date: Sat, 23 Mar 2024 15:42:59 +0000 (UTC)	[thread overview]
Message-ID: <1711208451.1d93a491096f1cc0234fcf44458bfec142c213bb.sam@gentoo> (raw)

commit:     1d93a491096f1cc0234fcf44458bfec142c213bb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 07:00:23 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:51 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d93a491

toolchain.eclass: rework tests more

Rework src_test around contrib/testsuite-management/validate_failures.py
in gcc.git.

This script is being used by the new Linaro CI effort and it appears well-suited
to us, as it allows marking expected failures easily.

Followup to 9ac3f1cf62b522236ba9efd7e923071c37df1e6d.

Bug: https://bugs.gentoo.org/214345
Bug: https://bugs.gentoo.org/253926
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass                        | 148 ++++++++++++++++++-------
 sys-devel/gcc/Manifest                         |   1 +
 sys-devel/gcc/gcc-10.5.0.ebuild                |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240111.ebuild      |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240208.ebuild      |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240222.ebuild      |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240229.ebuild      |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240307.ebuild      |   1 +
 sys-devel/gcc/gcc-11.4.1_p20240314.ebuild      |   1 +
 sys-devel/gcc/gcc-11.5.9999.ebuild             |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240112.ebuild      |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240209.ebuild      |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240223.ebuild      |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240301.ebuild      |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240308.ebuild      |   1 +
 sys-devel/gcc/gcc-12.3.1_p20240315.ebuild      |   1 +
 sys-devel/gcc/gcc-12.4.9999.ebuild             |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240113-r1.ebuild   |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240210.ebuild      |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240224.ebuild      |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240302.ebuild      |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240309.ebuild      |   1 +
 sys-devel/gcc/gcc-13.2.1_p20240316.ebuild      |   1 +
 sys-devel/gcc/gcc-13.3.9999.ebuild             |   1 +
 sys-devel/gcc/gcc-14.0.1_pre20240218.ebuild    |   1 +
 sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild    |   1 +
 sys-devel/gcc/gcc-14.0.1_pre20240303-r1.ebuild |   1 +
 sys-devel/gcc/gcc-14.0.1_pre20240310.ebuild    |   1 +
 sys-devel/gcc/gcc-14.0.1_pre20240317.ebuild    |   1 +
 sys-devel/gcc/gcc-14.0.9999.ebuild             |   1 +
 sys-devel/gcc/gcc-8.5.0-r1.ebuild              |   1 +
 sys-devel/gcc/gcc-9.5.0.ebuild                 |   1 +
 32 files changed, 141 insertions(+), 38 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 699e647c693a..6b9b49011bce 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -22,7 +22,7 @@ _TOOLCHAIN_ECLASS=1
 DESCRIPTION="The GNU Compiler Collection"
 HOMEPAGE="https://gcc.gnu.org/"
 
-inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
+inherit edo flag-o-matic gnuconfig libtool multilib pax-utils python-any-r1 toolchain-funcs prefix
 
 tc_is_live() {
 	[[ ${PV} == *9999* ]]
@@ -84,6 +84,11 @@ tc_version_is_between() {
 # Used to override GCC version. Useful for e.g. live ebuilds or snapshots.
 # Defaults to ${PV}.
 
+# @ECLASS_VARIABLE: TOOLCHAIN_GCC_VALIDATE_FAILURES_VERSION
+# @DESCRIPTION:
+# Version of test comparison script (validate_fails.py) to use.
+: "${GCC_VALIDATE_FAILURES_VERSION:=7bbfb01a32b73842f8908de028703510a0e12057}"
+
 # @ECLASS_VARIABLE: TOOLCHAIN_USE_GIT_PATCHES
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -93,6 +98,39 @@ tc_version_is_between() {
 # for 13.0, we don't want to create new patchsets for every single 13.0 snapshot,
 # so just grab patches from git each time if this variable is set).
 
+# @ECLASS_VARIABLE: GCC_TESTS_COMPARISON_DIR
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Source of previous GCC test results and location to store new results.
+: "${GCC_TESTS_COMPARISON_DIR:=${BROOT}/var/cache/gcc/testresults/${CHOST}}"
+
+# @ECLASS_VARIABLE: GCC_TESTS_COMPARISON_SLOT
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Slot to compare test results with. Defaults to current slot.
+: "${GCC_TESTS_COMPARISON_SLOT:=${SLOT}}"
+
+# @ECLASS_VARIABLE: GCC_TESTS_IGNORE_NO_BASELINE
+# @DEFAULT_UNSET
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Ignore missing baseline/reference data and create new baseline.
+: "${GCC_TESTS_IGNORE_NO_BASELINE:=}"
+
+# @ECLASS_VARIABLE: GCC_TESTS_CHECK_TARGET
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Defaults to 'check'. Allows choosing a different test target, e.g.
+# 'test-gcc' (https://gcc.gnu.org/install/test.html).
+: "${GCC_TESTS_CHECK_TARGET:=check}"
+
+# @ECLASS_VARIABLE: GCC_TESTS_RUNTESTFLAGS
+# @DEFAULT_UNSET
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Extra options to pass to DejaGnu as RUNTESTFLAGS.
+: "${GCC_TESTS_RUNTESTFLAGS:=}"
+
 # @ECLASS_VARIABLE: TOOLCHAIN_PATCH_DEV
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -311,6 +349,7 @@ BDEPEND="
 	>=sys-devel/flex-2.5.4
 	nls? ( sys-devel/gettext )
 	test? (
+		${PYTHON_DEPS}
 		>=dev-util/dejagnu-1.4.4
 		>=sys-devel/autogen-5.5.4
 	)
@@ -484,6 +523,8 @@ get_gcc_src_uri() {
 	[[ -n ${MUSL_VER} ]] && \
 		GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
 
+	GCC_SRC_URI+=" test? ( https://gitweb.gentoo.org/proj/gcc-patches.git/plain/scripts/testsuite-management/validate_failures.py?id=${GCC_VALIDATE_FAILURES_VERSION} -> ${PN}-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py )"
+
 	echo "${GCC_SRC_URI}"
 }
 
@@ -513,6 +554,8 @@ toolchain_pkg_setup() {
 	# Avoid really confusing logs from subconfigure spam, makes logs far
 	# more legible.
 	MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+	use test && python-any-r1_pkg_setup
 }
 
 #---->> src_unpack <<----
@@ -576,6 +619,11 @@ toolchain_src_prepare() {
 		tc_enable_hardened_gcc
 	fi
 
+	if use test ; then
+		cp "${DISTDIR}"/${PN}-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py "${T}"/validate_failures.py || die
+		chmod +x "${T}"/validate_failures.py || die
+	fi
+
 	# Make sure the pkg-config files install into multilib dirs.
 	# Since we configure with just one --libdir, we can't use that
 	# (as gcc itself takes care of building multilibs). bug #435728
@@ -1835,48 +1883,68 @@ gcc_do_make() {
 #---->> src_test <<----
 
 toolchain_src_test() {
-	cd "${WORKDIR}"/build || die
+	# GCC's testsuite is a special case.
+	#
+	# * Generally, people work off comparisons rather than a full set of
+	#   passing tests.
+	#
+	# * The guality (sic) tests are for debug info quality and are especially
+	#   unreliable.
+	#
+	# * The execute torture tests are hopefully a good way for us to smoketest
+	#   and find critical regresions.
 
-	# From opensuse's spec file:
-	# "asan needs a whole shadow address space"
+	# From opensuse's spec file: "asan needs a whole shadow address space"
 	ulimit -v unlimited
 
 	# 'asan' wants to be preloaded first, so does 'sandbox'.
-	# To make asan tests work disable sandbox for all of test suite.
-	# 'backtrace' tests also does not like 'libsandbox.so' presence.
-	#
-	# Nonfatal here as we die if compare_tests failed
-	SANDBOX_ON=0 LD_PRELOAD= nonfatal emake -k check
-	local success_tests=$?
+	# To make asan tests work, we disable sandbox for all of test suite.
+	# The 'backtrace' tests also do not like the presence of 'libsandbox.so'.
+	local -x SANDBOX_ON=0
+	local -x LD_PRELOAD=
+
+	# Controls running expensive tests in e.g. the torture testsuite.
+	local -x GCC_TEST_RUN_EXPENSIVE=1
+
+	# nonfatal here as we die if the comparison below fails. Also, note that
+	# the exit code of targets other than 'check' may be unreliable.
+	nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}"
+
+	if [[ -z ${GCC_TESTS_IGNORE_NO_BASELINE} && -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
+		# TODO: Distribute some baseline results in e.g. gcc-patches.git?
+		# validate_failures.py manifest files support include directives.
+		einfo "Comparing with previous cached results at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+
+		edo "${T}"/validate_failures.py \
+			--srcpath="${S}" \
+			--build_dir="${WORKDIR}"/build \
+			--manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+	else
+		# nonfatal first because we want to run again with comparison data if available.
+		nonfatal edo "${T}"/validate_failures.py \
+			--srcpath="${S}" \
+			--build_dir="${WORKDIR}"/build
+		ret=$?
 
-	if [[ ! -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] && ! [[ ${success_tests} -eq 0 ]] ; then
 		# We have no reference data saved from a previous run to know if
 		# the failures are tolerable or not, so we bail out.
-		eerror "Reference test data does NOT exist at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}"
-		eerror "Tests failed and nothing to compare with, so this is a fatal error."
-		eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)"
+		eerror "No reference test data at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail!"
+		eerror "GCC's tests require a baseline to compare with for any reasonable interpretation of results."
 
-		if [[ -z ${GCC_TESTS_IGNORE_NO_BASELINE} ]] ; then
+		if [[ -n ${GCC_TESTS_IGNORE_NO_BASELINE} ]] ; then
+			eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, creating new baseline manifest..."
+		elif [[ ${ret} != 0 ]]; then
+			eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)"
 			die "Tests failed (failures occurred with no reference data)"
 		fi
 	fi
 
-	einfo "Testing complete! Review the following output to check for success or failure."
-	einfo "Please ignore any 'mail' lines in the summary output below (no mail is sent)."
-	einfo "Summary:"
-	"${S}"/contrib/test_summary
-
-	# If previous results exist on the system, compare with it
-	# TODO: Distribute some baseline results in e.g. gcc-patches.git?
-	if [[ -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] ; then
-		einfo "Comparing with previous cached results at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}"
-
-		# Exit with the following values:
-		# 0 if there is nothing of interest
-		# 1 if there are errors when comparing single test case files
-		# N for the number of errors found when comparing directories
-		"${S}"/contrib/compare_tests "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT}/ . || die "Comparison for tests results failed, error code: $?"
-	fi
+	# Produce an updated set of expected results
+	edo "${T}"/validate_failures.py \
+		--srcpath="${S}" \
+		--build_dir="${WORKDIR}"/build \
+		--manifest="${T}"/${CHOST}.xfail \
+		--produce_manifest &> /dev/null
 }
 
 #---->> src_install <<----
@@ -2259,15 +2327,19 @@ create_revdep_rebuild_entry() {
 
 toolchain_pkg_preinst() {
 	if use test ; then
-		# Install as orphaned to allow comparison across more
-		# versions even after unmerged. Also useful for historical records
-		# and tracking down regressions a while after they first appeared,
-		# but were only just reported.
-		einfo "Copying test results to ${BROOT}/var/cache/gcc/${CHOST}/${SLOT} for future comparison"
+		# Install as orphaned to allow comparison across more versions even
+		# after unmerged. Also useful for historical records and tracking
+		# down regressions a while after they first appeared, but were only
+		# just reported.
+		einfo "Copying test results to ${GCC_TESTS_COMPARISON_DIR}/${SLOT}/${CHOST}.xfail for future comparison"
 		(
-			mkdir -p "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} || die
+			mkdir -p "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" || die
 			cd "${T}"/test-results || die
-			find . -name \*.sum -exec cp --parents -v {} "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} \;
+			# May not exist with test-fail-continue
+			if [[ -f "${T}"/${CHOST}.xfail ]] ; then
+				cp -v "${T}"/${CHOST}.xfail "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" || die
+			fi
+			find . -name \*.sum -exec cp --parents -v {} "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" \;
                 )
         fi
 }

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 50d01bd975c4..4da929009489 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -40,3 +40,4 @@ DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a8
 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
 DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf
 DIST gcc-9.5.0.tar.xz 72462752 BLAKE2B 69e39314ee6bb46e3be491ba9c3cbc4914cb716f732c6d3f2b14d9382750b40c4f14b5d3051225b81f936ef8297b0ba8cb5439512e961dae5815d3bee2b0bfdb SHA512 cdd144ce4f747e051480410afc8506c90a57cb45da89071ddae377b1453bca3014422455ade9fe4563ebe51f4b6348cbc0c61905a9b8801cd597d51ad0ec62b3
+DIST gcc-validate-failures-7bbfb01a32b73842f8908de028703510a0e12057.py 27533 BLAKE2B 58917750d247d3a9e7078c62fd4412027a7d02d06c659a9c0743697529754218257c00dc6e10dff467e78b4e019225c39b1627b48a5298d13481a7072748a15f SHA512 b74d6358538d1b076f3d5b6632ea405b99627d5b5621b6f5101cb3453be13ba41e11d590039535b0c74b1624b69885a7093600d5395cc60bc63cea15ae7472b3

diff --git a/sys-devel/gcc/gcc-10.5.0.ebuild b/sys-devel/gcc/gcc-10.5.0.ebuild
index bd81637a76e6..0dc97e679afc 100644
--- a/sys-devel/gcc/gcc-10.5.0.ebuild
+++ b/sys-devel/gcc/gcc-10.5.0.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="10.5.0"
 PATCH_VER="6"
 MUSL_VER="2"
 MUSL_GCC_VER="10.5.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
index d4ed3934475a..7e0cd54888ec 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240111.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240208.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240208.ebuild
index 7f6f5f232c57..9b1b89ca2bff 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240208.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240208.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild
index 91a92b092972..5ab7ed2dbcfa 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240222.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240229.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240229.ebuild
index 91a92b092972..5ab7ed2dbcfa 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240229.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240229.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240307.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240307.ebuild
index 91a92b092972..5ab7ed2dbcfa 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240307.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240307.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.4.1_p20240314.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240314.ebuild
index 91a92b092972..5ab7ed2dbcfa 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240314.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240314.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="11.4.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-11.5.9999.ebuild b/sys-devel/gcc/gcc-11.5.9999.ebuild
index ac7012a6e60d..124b2c1eeeb5 100644
--- a/sys-devel/gcc/gcc-11.5.9999.ebuild
+++ b/sys-devel/gcc/gcc-11.5.9999.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="11.4.0"
 MUSL_GCC_VER="11.4.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild
index 6dad764a57ba..6c45c55e4a05 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="2"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
index 1d23ca501654..f0ad270b596f 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="3"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild
index 44985e9fed07..2c4b89e72445 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240223.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="3"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240301.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240301.ebuild
index 44985e9fed07..2c4b89e72445 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240301.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240301.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="3"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240308.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240308.ebuild
index 44985e9fed07..2c4b89e72445 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240308.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240308.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="3"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.3.1_p20240315.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240315.ebuild
index 44985e9fed07..2c4b89e72445 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240315.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240315.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="12.3.0"
 PATCH_VER="3"
 MUSL_VER="1"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.4.9999.ebuild b/sys-devel/gcc/gcc-12.4.9999.ebuild
index 99964a8549bf..4828fd444e14 100644
--- a/sys-devel/gcc/gcc-12.4.9999.ebuild
+++ b/sys-devel/gcc/gcc-12.4.9999.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="12.3.0"
 MUSL_GCC_VER="12.3.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240113-r1.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240113-r1.ebuild
index 78cfe0160a15..27e1e5ab20bc 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240113-r1.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240113-r1.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="12"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
index 025a27a0140d..e2094692e1f6 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="14"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild
index 7e4df3343e31..1e4b87a7546c 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240224.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="14"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240302.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240302.ebuild
index 7e4df3343e31..1e4b87a7546c 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240302.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240302.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="14"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240309.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240309.ebuild
index 7e4df3343e31..1e4b87a7546c 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240309.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240309.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="14"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.2.1_p20240316.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240316.ebuild
index 7e4df3343e31..1e4b87a7546c 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240316.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240316.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="13.2.0"
 PATCH_VER="14"
 MUSL_VER="2"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-13.3.9999.ebuild b/sys-devel/gcc/gcc-13.3.9999.ebuild
index 8fb88041277d..b7539bd2eccf 100644
--- a/sys-devel/gcc/gcc-13.3.9999.ebuild
+++ b/sys-devel/gcc/gcc-13.3.9999.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="13.2.0"
 MUSL_GCC_VER="13.2.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240218.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240218.ebuild
index 42dcf421f9c8..99c25e40e7da 100644
--- a/sys-devel/gcc/gcc-14.0.1_pre20240218.ebuild
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240218.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="14.0.0"
 PATCH_VER="23"
 MUSL_VER="1"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild
index b2ec3cf0207f..0345762de5b9 100644
--- a/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="14.0.0"
 PATCH_VER="23"
 MUSL_VER="1"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240303-r1.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240303-r1.ebuild
index 6adc86384c34..b939f9d7fa98 100644
--- a/sys-devel/gcc/gcc-14.0.1_pre20240303-r1.ebuild
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240303-r1.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="14.0.0"
 PATCH_VER="24"
 MUSL_VER="1"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240310.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240310.ebuild
index bef7ad150c18..e809e40f6564 100644
--- a/sys-devel/gcc/gcc-14.0.1_pre20240310.ebuild
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240310.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="14.0.0"
 PATCH_VER="25"
 MUSL_VER="1"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240317.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240317.ebuild
index bef7ad150c18..e809e40f6564 100644
--- a/sys-devel/gcc/gcc-14.0.1_pre20240317.ebuild
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240317.ebuild
@@ -8,6 +8,7 @@ PATCH_GCC_VER="14.0.0"
 PATCH_VER="25"
 MUSL_VER="1"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-14.0.9999.ebuild b/sys-devel/gcc/gcc-14.0.9999.ebuild
index e1e9864a4fe1..762b2f9aca6b 100644
--- a/sys-devel/gcc/gcc-14.0.9999.ebuild
+++ b/sys-devel/gcc/gcc-14.0.9999.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="14.0.0"
 MUSL_GCC_VER="14.0.0"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
 	# Cheesy hack for RCs

diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
index 2d77b92b0327..d28f4f80cd55 100644
--- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild
+++ b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
@@ -6,6 +6,7 @@ EAPI="7"
 TOOLCHAIN_PATCH_SUFFIX="xz"
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="4"
+PYTHON_COMPAT=( python3_{10..11} )
 
 inherit toolchain
 

diff --git a/sys-devel/gcc/gcc-9.5.0.ebuild b/sys-devel/gcc/gcc-9.5.0.ebuild
index 530a5a440515..05e98780deb1 100644
--- a/sys-devel/gcc/gcc-9.5.0.ebuild
+++ b/sys-devel/gcc/gcc-9.5.0.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="9.5.0"
 PATCH_VER="2"
+PYTHON_COMPAT=( python3_{10..11} )
 
 if [[ ${PV} == *.9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)


             reply	other threads:[~2024-03-23 15:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-23 15:42 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-19  9:23 [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/ Sam James
2022-05-22 18:41 Sam James
2022-04-21 12:27 Sam James
2021-11-20 23:15 Andreas K. Hüttel
2020-07-06 16:39 Sergei Trofimovich
2018-05-16 22:02 Sergei Trofimovich
2015-12-19 23:29 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1711208451.1d93a491096f1cc0234fcf44458bfec142c213bb.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox