public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2015-12-19 23:29 Mike Frysinger
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Frysinger @ 2015-12-19 23:29 UTC (permalink / raw
  To: gentoo-commits

commit:     dc95bdeba8feeaefea57bc1c81f5473415616e1a
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 19 21:36:18 2015 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Dec 19 23:28:59 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc95bdeb

sys-devel/gcc: add support for USE=jit #568834

 eclass/toolchain.eclass    | 10 ++++++++++
 sys-devel/gcc/metadata.xml |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 43fa8bf..b18d418 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -152,6 +152,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
 	# the older versions, we don't want to bother supporting it.  #448024
 	tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize )
 	tc_version_is_at_least 4.9 && IUSE+=" cilk"
+	tc_version_is_at_least 5.0 && IUSE+=" jit"
 	tc_version_is_at_least 6.0 && IUSE+=" pie +ssp"
 fi
 
@@ -841,6 +842,7 @@ toolchain_src_configure() {
 	is_d   && GCC_LANG+=",d"
 	is_gcj && GCC_LANG+=",java"
 	is_go  && GCC_LANG+=",go"
+	is_jit && GCC_LANG+=",jit"
 	if is_objc || is_objcxx ; then
 		GCC_LANG+=",objc"
 		if tc_version_is_at_least 4 ; then
@@ -904,6 +906,9 @@ toolchain_src_configure() {
 		confgcc+=( --enable-libstdcxx-time )
 	fi
 
+	# The jit language requires this.
+	is_jit && confgcc+=( --enable-host-shared )
+
 	# # Turn on the -Wl,--build-id flag by default for ELF targets. #525942
 	# # This helps with locating debug files.
 	# case ${CTARGET} in
@@ -2155,6 +2160,11 @@ is_go() {
 	use cxx && use_if_iuse go
 }
 
+is_jit() {
+	gcc-lang-supported jit || return 1
+	use_if_iuse jit
+}
+
 is_multilib() {
 	tc_version_is_at_least 3 || return 1
 	use multilib

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 29330fe..2e74979 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -12,6 +12,8 @@
     <flag name="go">Build the GCC Go language frontend.</flag>
     <flag name="graphite">Add support for the framework for loop
       optimizations based on a polyhedral intermediate representation</flag>
+    <flag name="jit">Enable libgccjit so other applications can embed gcc for Just-In-Time compilation.
+      This will slow down the compiler a bit as it forces all of the toolchain to be shared libs.</flag>
     <flag name="libssp">Build SSP support into a dedicated library rather than use the
       code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag>
     <flag name="mudflap">Add support for mudflap, a pointer use checking library</flag>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2018-05-16 22:02 Sergei Trofimovich
  0 siblings, 0 replies; 7+ messages in thread
From: Sergei Trofimovich @ 2018-05-16 22:02 UTC (permalink / raw
  To: gentoo-commits

commit:     91966aedd03d633af8476d824e2ee83a5181cc26
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed May 16 21:54:38 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed May 16 22:01:18 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91966aed

toolchain.eclass: add IUSE=systemtap to gcc-8

Avoid automagic dependency on systemtap installed.

Reported-by: lekto <AT> o2.pl
Bug: https://bugs.gentoo.org/654748
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/toolchain.eclass    | 11 +++++++++++
 sys-devel/gcc/metadata.xml |  1 +
 2 files changed, 12 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 47ee5495739..68e4ce15b37 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -154,6 +154,8 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
 	tc_version_is_at_least 4.9 && IUSE+=" +vtv"
 	tc_version_is_at_least 5.0 && IUSE+=" jit mpx"
 	tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
+	# systemtap is a gentoo-specific switch: bug #654748
+	tc_version_is_at_least 8.0 && IUSE+=" systemtap"
 fi
 
 IUSE+=" ${IUSE_DEF[*]/#/+}"
@@ -220,6 +222,11 @@ if in_iuse gcj ; then
 	DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
 fi
 
+if in_iuse systemtap ; then
+	# gcc needs sys/sdt.h headers on target
+	DEPEND+=" systemtap? ( dev-util/systemtap )"
+fi
+
 PDEPEND=">=sys-devel/gcc-config-1.7"
 
 #---->> S + SRC_URI essentials <<----
@@ -1229,6 +1236,10 @@ toolchain_src_configure() {
 		confgcc+=( $(use_enable mpx libmpx) )
 	fi
 
+	if in_iuse systemtap ; then
+		confgcc+=( $(use_enable systemtap) )
+	fi
+
 	if in_iuse vtv ; then
 		confgcc+=(
 			$(use_enable vtv vtable-verify)

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 52748bc1ff6..51f143604eb 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -31,6 +31,7 @@
     <flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
     <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag>
     <flag name="ssp">Build packages with stack smashing protector on by default</flag>
+    <flag name="systemtap">enable systemtap static probe points</flag>
     <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
   </use>
   <upstream>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2020-07-06 16:39 Sergei Trofimovich
  0 siblings, 0 replies; 7+ messages in thread
From: Sergei Trofimovich @ 2020-07-06 16:39 UTC (permalink / raw
  To: gentoo-commits

commit:     96d5303a2e1daee48a79e8cbb5a24be652535b95
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  6 16:35:52 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 16:39:07 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96d5303a

toolchain.eclass: add USE=valgrind for annotations for valgrind

This adds annotation hints to memory handling code into
gcc to ease debugging it under valgrind.

Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/toolchain.eclass    | 9 +++++++++
 sys-devel/gcc/metadata.xml | 1 +
 2 files changed, 10 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8384e565d86..5bd4e18eb0d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -200,6 +200,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
 	tc_version_is_at_least 9.0 && IUSE+=" d"
 	tc_version_is_at_least 9.1 && IUSE+=" lto"
 	tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=(zstd)
+	tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=(valgrind)
 fi
 
 if tc_version_is_at_least 10; then
@@ -272,6 +273,10 @@ if tc_has_feature zstd ; then
 	DEPEND+=" zstd? ( app-arch/zstd )"
 fi
 
+if tc_has_feature valgrind; then
+	BDEPEND+=" valgrind? ( dev-util/valgrind )"
+fi
+
 case ${EAPI:-0} in
 	5*|6) DEPEND+=" ${BDEPEND}" ;;
 esac
@@ -1278,6 +1283,10 @@ toolchain_src_configure() {
 		confgcc+=( $(use_enable systemtap) )
 	fi
 
+	if in_iuse valgrind ; then
+		confgcc+=( $(use_enable valgrind valgrind-annotations) )
+	fi
+
 	if in_iuse vtv ; then
 		confgcc+=(
 			$(use_enable vtv vtable-verify)

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index a6c76c3bd10..feeacd30317 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -34,6 +34,7 @@
     <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag>
     <flag name="ssp">Build packages with stack smashing protector on by default</flag>
     <flag name="systemtap">enable systemtap static probe points</flag>
+    <flag name="valgrind">Enable valgrind annotations for gcc internals (useful for gcc debugging).</flag>
     <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
   </use>
   <upstream>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2021-11-20 23:15 Andreas K. Hüttel
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas K. Hüttel @ 2021-11-20 23:15 UTC (permalink / raw
  To: gentoo-commits

commit:     39ae8d6b8204cbf27dbf98a41f9f045317ec771c
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 20 22:15:43 2021 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Nov 20 23:15:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39ae8d6b

sys-devel/gcc: import musl mechanisms prepared by sam_ from ::musl overlay

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 eclass/toolchain.eclass            | 18 +++++++++++++++++-
 sys-devel/gcc/Manifest             |  2 ++
 sys-devel/gcc/gcc-10.3.0-r2.ebuild |  3 +++
 sys-devel/gcc/gcc-11.2.0.ebuild    |  3 +++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 5a272a209361..627531f2765a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -291,7 +291,8 @@ S=$(
 gentoo_urls() {
 	local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI
 	HTTP~zorry/patches/gcc/URI HTTP~blueness/dist/URI
-	HTTP~tamiko/distfiles/URI HTTP~sam/distfiles/URI HTTP~slyfox/distfiles/URI"
+	HTTP~tamiko/distfiles/URI HTTP~sam/distfiles/URI
+	HTTP~sam/distfiles/sys-devel/gcc/URI HTTP~slyfox/distfiles/URI"
 	devspace=${devspace//HTTP/https:\/\/dev.gentoo.org\/}
 	echo mirror://gentoo/$1 ${devspace//URI/$1}
 }
@@ -354,6 +355,7 @@ gentoo_urls() {
 get_gcc_src_uri() {
 	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
 	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
+	export MUSL_GCC_VER=${MUSL_GCC_VER:-${PATCH_GCC_VER}}
 	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
 	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
 	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
@@ -379,6 +381,8 @@ get_gcc_src_uri() {
 		GCC_SRC_URI+=" $(gentoo_urls gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2)"
 	[[ -n ${PATCH_VER} ]] && \
 		GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)"
+	[[ -n ${MUSL_VER} ]] && \
+		GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.bz2)"
 
 	[[ -n ${PIE_VER} ]] && \
 		PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2} && \
@@ -547,9 +551,21 @@ do_gcc_gentoo_patches() {
 			tc_apply_patches "Applying Gentoo patches ..." "${WORKDIR}"/patch/*.patch
 			BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
 		fi
+
 		if [[ -n ${UCLIBC_VER} ]] ; then
 			tc_apply_patches "Applying uClibc patches ..." "${WORKDIR}"/uclibc/*.patch
 		fi
+
+		if [[ -n ${MUSL_VER} ]] && [[ ${CTARGET} == *musl* ]] ; then
+			if [[ ${CATEGORY} == cross-* ]] ; then
+				# We don't want to apply some patches when cross-compiling.
+				if [[ -d "${WORKDIR}"/musl/nocross ]] ; then
+					rm -fv "${WORKDIR}"/musl/nocross/*.patch || die
+				fi
+			fi
+
+			tc_apply_patches "Applying musl patches ..." "${WORKDIR}"/musl/{,nocross/}*.patch
+		fi
 	fi
 }
 

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index c494b69751eb..98c23de17bf7 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,7 +1,9 @@
 DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
+DIST gcc-10.3.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384
 DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e
 DIST gcc-10.3.0-patches-3.tar.bz2 18935 BLAKE2B 13eaf1e055b5b63069aed1575ed93f6bc822b5e3f2181ddfc88f4e7ff801f58997cd131b2efd79b90469b1f861db994feb2adcaecacf165442078f76e233fd9a SHA512 c3d6a6f32863cc0ff7c877314ff0c00a892e473f64d16b82d46b4a77aa97c3e7a575492d27f0d423acb2621c86c9a49bca0e26e45bda9e697495444fcac85084
 DIST gcc-10.3.0.tar.xz 76692288 BLAKE2B ac7898f5eb8a7c5f151a526d1bb38913a68b50a65e4d010ac09fa20b6c801c671c790d780f23ccb8e4ecdfc686f4aa588082ccc9eb5c80c7b0e30788f824c1eb SHA512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86
+DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384
 DIST gcc-11.2.0-patches-1.tar.bz2 11537 BLAKE2B 9dd791ada244c9b70b8b99f9f305a688c248134715ed1b26d406e53b114983faae6873cdc521497164388d24d5f61c199e98df146bc02f5578e877295bcf5c82 SHA512 6539efc60c656d0798a5896dc1b944ed69914b815102c7a1c10bdba4ef935abd326b01309f38316e121f1ed90ceb2abcaf65df6af116892daad829ac2623cefc
 DIST gcc-11.2.0.tar.xz 80888824 BLAKE2B 69b61234ac436edfea2933df68c434a2ce7aa4454ef4da573e82587e1a42dc420189e949cfdadaf4cb37fc0de9674822210a95b77ff03aca0dbedfe67df19cc6 SHA512 d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf
 DIST gcc-12.0.0-patches-2.tar.bz2 11564 BLAKE2B 5954ee8dd5edb30ecde54275d9ffd4d2f5671de82fe7789688d1220b181fbcdeed3d5305858d8af1fd016e627687ca6f2ebc76bb6b49e9b903e8d63c3de2baea SHA512 6299a1f46fc3f29934db7af20651c0c3e1266bef89b222fc9e3bc6a7e7cd2869301c5b227a4105157456474ae8a626ec550c15971bceb2f844476a9f5bc56284

diff --git a/sys-devel/gcc/gcc-10.3.0-r2.ebuild b/sys-devel/gcc/gcc-10.3.0-r2.ebuild
index 18e8535ca87a..0fc4ea78dc7a 100644
--- a/sys-devel/gcc/gcc-10.3.0-r2.ebuild
+++ b/sys-devel/gcc/gcc-10.3.0-r2.ebuild
@@ -4,6 +4,7 @@
 EAPI="7"
 
 PATCH_VER="3"
+MUSL_VER="1"
 
 inherit toolchain
 
@@ -18,4 +19,6 @@ src_prepare() {
 	fi
 
 	toolchain_src_prepare
+
+	eapply_user
 }

diff --git a/sys-devel/gcc/gcc-11.2.0.ebuild b/sys-devel/gcc/gcc-11.2.0.ebuild
index 728de92f4777..3e6511d8432d 100644
--- a/sys-devel/gcc/gcc-11.2.0.ebuild
+++ b/sys-devel/gcc/gcc-11.2.0.ebuild
@@ -4,6 +4,7 @@
 EAPI="7"
 
 PATCH_VER="1"
+MUSL_VER="1"
 
 inherit toolchain
 
@@ -19,4 +20,6 @@ src_prepare() {
 		# bug #803371
 		eapply "${FILESDIR}"/gcc-11.2.0-cross-compile-include.patch
 	fi
+
+	eapply_user
 }


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2022-04-21 12:27 Sam James
  0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2022-04-21 12:27 UTC (permalink / raw
  To: gentoo-commits

commit:     a64e357aa8fc7a2a927e72dac2bab2cd8a95d374
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 21 12:24:28 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 12:27:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a64e357a

sys-devel/gcc: add 11.3.0, rename 11.2.1_pre9999 -> 11.3.1_pre9999

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

 eclass/toolchain.eclass                                              | 2 +-
 sys-devel/gcc/Manifest                                               | 2 +-
 sys-devel/gcc/{gcc-11.2.1_p20220414.ebuild => gcc-11.3.0.ebuild}     | 5 -----
 .../gcc/{gcc-11.2.1_pre9999.ebuild => gcc-11.3.1_pre9999.ebuild}     | 0
 4 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 46e5ecb7ce39..9688d06c7da2 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -376,7 +376,7 @@ get_gcc_src_uri() {
 
 	local PATCH_SUFFIX="xz"
 	if ! tc_version_is_at_least 9.4.1_p20220317 || tc_version_is_between 9 9.5 \
-		|| tc_version_is_between 10 10.4 || tc_version_is_between 11 11.3 \
+		|| tc_version_is_between 10 10.4 || tc_version_is_between 11 11.4 \
 		|| tc_version_is_between 12 12.1 ; then
 		# These are versions before we started to use .xz
 		PATCH_SUFFIX="bz2"

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 66d2373f452f..0d70c4765727 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -9,10 +9,10 @@ DIST gcc-11-20220115.tar.xz 75676672 BLAKE2B 12171fd97731dbca67f13cc2a3a3a3989c2
 DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384
 DIST gcc-11.2.0-patches-1.tar.bz2 11537 BLAKE2B 9dd791ada244c9b70b8b99f9f305a688c248134715ed1b26d406e53b114983faae6873cdc521497164388d24d5f61c199e98df146bc02f5578e877295bcf5c82 SHA512 6539efc60c656d0798a5896dc1b944ed69914b815102c7a1c10bdba4ef935abd326b01309f38316e121f1ed90ceb2abcaf65df6af116892daad829ac2623cefc
 DIST gcc-11.2.0.tar.xz 80888824 BLAKE2B 69b61234ac436edfea2933df68c434a2ce7aa4454ef4da573e82587e1a42dc420189e949cfdadaf4cb37fc0de9674822210a95b77ff03aca0dbedfe67df19cc6 SHA512 d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf
-DIST gcc-11.3.0-RC-20220414.tar.xz 81151480 BLAKE2B 31eb90d3608f54b5e1af47ef692d84f45f734ac1dfc971bba73c8def98a489f3dfdac05ec825d9e09928ef372b1006887d8c61259a691accde2a371e4f6007ea SHA512 7e5399726bb44d142a3f263a24b8875001a9d177fc563cd631ffcb34b026f8ccdf3d9c95b4af248075a622fbe2a8a0ecacd3c951c30168997b323673456ce7f1
 DIST gcc-11.3.0-musl-patches-1.tar.bz2 3997 BLAKE2B 5ca064cc78b067f4a7822fa0341c37ae03c8024f871d2e274e481a583afa96c36e291be93fbdd633f203260ae2ea9ac1d45f666d134bac75bc9a715a369d7374 SHA512 0ab239c66cf62a737266377c19b8dda6af6df56380f6731c2c17f3e82778e7e023a68d31728490eea3ad946f4b71d4cab363a75548f74b4b7f653972469d9e91
 DIST gcc-11.3.0-patches-3.tar.bz2 13567 BLAKE2B dba270d74b7a598e0108be0be7ff8cf01899d044ca4be9938cd5324465dc00c9e5cac4ffb4b6c1bdcdb824d75a7577eed63ae724c7e2887a19708992aca10f26 SHA512 7919b37900bbc2493564bc70f7911cf03efb857ff09c2b13280018fb54c48d8be42e35b649e69594a3ce61d51de847a8d4f75f794ce1dc50db3a700831b6a1e7
 DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58
+DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469 SHA512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7
 DIST gcc-12-20220417.tar.xz 79042676 BLAKE2B 389cacda0c01734341d9faa1d196685b7e584fce1dea6bc5c7b23588194390511d0b47ebfd8e6ef847dc9c6e49163c97298ab1e68b4caa00d3e307292b25ad50 SHA512 fbf24f0dc5ccba2586d0ed52e305417d891e1afc09cb1e4e843849940efe169cc43e0a7d6fb0748c1236f63ccd3c41a6c4e6307d1eb6de388fd6a37e90c2aca7
 DIST gcc-12.0.0-musl-patches-1.tar.bz2 1221 BLAKE2B d647eea69bbc4635b9dc404375f6cac617b3beccc792f400bc47d680a9e78e85ed54be6c5475d4e53494ce7c1a23f813d56f1ed88597039147ead7db01963f1f SHA512 1ea72da6e530b3484e4be10df2864f8e1fce1d2c151533e611ee020b3388d9670b2081b3e0b21e6a4ffabdb93f85bdc0411cc0229186a25b53638011a3a66b06
 DIST gcc-12.0.0-patches-4.tar.bz2 10109 BLAKE2B 8169b76a32d39abb53c0f1259067e084fdcea836c7b7d8801149e6845435f277459d6c26c71af23a5a091a50669834d69daae831221caeb7c305e3ecf565dd9b SHA512 58ec31b740f07d0a7ed85b27d00c3b1afbc4991921526325d9ad99325fc18247ebc24234a44d46ff924156198f3047c027662983e311eb74d4404a58646afa3c

diff --git a/sys-devel/gcc/gcc-11.2.1_p20220414.ebuild b/sys-devel/gcc/gcc-11.3.0.ebuild
similarity index 72%
rename from sys-devel/gcc/gcc-11.2.1_p20220414.ebuild
rename to sys-devel/gcc/gcc-11.3.0.ebuild
index d1de589c8069..b3fa39f71796 100644
--- a/sys-devel/gcc/gcc-11.2.1_p20220414.ebuild
+++ b/sys-devel/gcc/gcc-11.3.0.ebuild
@@ -7,11 +7,6 @@ PATCH_VER="4"
 PATCH_GCC_VER="11.3.0"
 MUSL_VER="1"
 MUSL_GCC_VER="11.3.0"
-TOOLCHAIN_SET_S=no
-MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
-MY_P=${PN}-${MY_PV}
-GCC_TARBALL_SRC_URI="https://mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
-S="${WORKDIR}"/${MY_P}
 
 inherit toolchain
 

diff --git a/sys-devel/gcc/gcc-11.2.1_pre9999.ebuild b/sys-devel/gcc/gcc-11.3.1_pre9999.ebuild
similarity index 100%
rename from sys-devel/gcc/gcc-11.2.1_pre9999.ebuild
rename to sys-devel/gcc/gcc-11.3.1_pre9999.ebuild


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2022-05-22 18:41 Sam James
  0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2022-05-22 18:41 UTC (permalink / raw
  To: gentoo-commits

commit:     a079e35c763407ba7f28c3186c0044f8284b312a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun May 22 18:11:56 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 22 18:38:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a079e35c

toolchain.eclass: introduce TOOLCHAIN_PATCH_SUFFIX

Apologies for the churn here. It's turned out to be easier
to just do this based on EAPI and override in ebuilds if needed.

I won't plan to change this again.

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

 eclass/toolchain.eclass                   | 26 +++++++++++++++-----------
 sys-devel/gcc/Manifest                    |  4 ++--
 sys-devel/gcc/gcc-11.4.9999.ebuild        |  9 +++++----
 sys-devel/gcc/gcc-12.1.0.ebuild           |  2 +-
 sys-devel/gcc/gcc-12.1.1_p20220514.ebuild |  2 +-
 sys-devel/gcc/gcc-12.1.1_p20220521.ebuild |  2 +-
 sys-devel/gcc/gcc-12.2.9999.ebuild        |  2 +-
 sys-devel/gcc/gcc-13.0.9999.ebuild        |  3 +--
 sys-devel/gcc/gcc-9.4.1_p20220317.ebuild  |  2 +-
 9 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9e543b9c1b98..c421001209ca 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -316,6 +316,17 @@ PDEPEND=">=sys-devel/gcc-config-2.3"
 
 #---->> S + SRC_URI essentials <<----
 
+# @ECLASS_VARIABLE: TOOLCHAIN_PATCH_SUFFIX
+# @DESCRIPTION:
+# Used to override compression used for for patchsets.
+# Default is xz for EAPI 8+ and bz2 for older EAPIs.
+if [[ ${EAPI} == 8 ]] ; then
+	: ${TOOLCHAIN_PATCH_SUFFIX:=xz}
+else
+	# Older EAPIs
+	: ${TOOLCHAIN_PATCH_SUFFIX:=bz2}
+fi
+
 # @ECLASS_VARIABLE: TOOLCHAIN_SET_S
 # @DESCRIPTION:
 # Used to override value of S for snapshots and such. Mainly useful
@@ -428,25 +439,18 @@ get_gcc_src_uri() {
 		fi
 	fi
 
-	local PATCH_SUFFIX="xz"
-	if ! tc_version_is_at_least 10 || tc_version_is_between 10 10.4 \
-		|| tc_version_is_between 11 11.4 || tc_version_is_between 12 12.0.1_pre20220424 ; then
-		# These are versions before we started to use .xz
-		PATCH_SUFFIX="bz2"
-	fi
-
 	[[ -n ${PATCH_VER} ]] && \
-		GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.${PATCH_SUFFIX})"
+		GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
 	[[ -n ${MUSL_VER} ]] && \
-		GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${PATCH_SUFFIX})"
+		GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
 
 	[[ -n ${PIE_VER} ]] && \
-		PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.${PATCH_SUFFIX}} && \
+		PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX}} && \
 		GCC_SRC_URI+=" $(gentoo_urls ${PIE_CORE})"
 
 	# gcc minispec for the hardened gcc 4 compiler
 	[[ -n ${SPECS_VER} ]] && \
-		GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.${PATCH_SUFFIX})"
+		GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
 
 	if tc_has_feature gcj ; then
 		if tc_version_is_at_least 4.5 ; then

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index f6d75ed2b874..4404af291ce6 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -9,10 +9,10 @@ DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa26
 DIST gcc-11.2.0-patches-1.tar.bz2 11537 BLAKE2B 9dd791ada244c9b70b8b99f9f305a688c248134715ed1b26d406e53b114983faae6873cdc521497164388d24d5f61c199e98df146bc02f5578e877295bcf5c82 SHA512 6539efc60c656d0798a5896dc1b944ed69914b815102c7a1c10bdba4ef935abd326b01309f38316e121f1ed90ceb2abcaf65df6af116892daad829ac2623cefc
 DIST gcc-11.2.0.tar.xz 80888824 BLAKE2B 69b61234ac436edfea2933df68c434a2ce7aa4454ef4da573e82587e1a42dc420189e949cfdadaf4cb37fc0de9674822210a95b77ff03aca0dbedfe67df19cc6 SHA512 d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf
 DIST gcc-11.3.0-musl-patches-1.tar.bz2 3997 BLAKE2B 5ca064cc78b067f4a7822fa0341c37ae03c8024f871d2e274e481a583afa96c36e291be93fbdd633f203260ae2ea9ac1d45f666d134bac75bc9a715a369d7374 SHA512 0ab239c66cf62a737266377c19b8dda6af6df56380f6731c2c17f3e82778e7e023a68d31728490eea3ad946f4b71d4cab363a75548f74b4b7f653972469d9e91
-DIST gcc-11.3.0-musl-patches-1.tar.xz 3768 BLAKE2B c591bc66f9d2e97d1b2450001dda15e9fc5b9b933cb52661815dd4a12db7973adb8d05b42a9c90badc29f06be690d98fc7fdeb3f3177497241560ed1211835ab SHA512 ca7b1e2351b2b6b4dbc19a04ca79e37d229498b3e61715e9c72abc83357dce056b37c4a31fe92497a37eb4ffbfebf13d38c2cfda81b97c1b825f99a692cd6d31
 DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58
-DIST gcc-11.3.0-patches-4.tar.xz 13304 BLAKE2B 2b529c5005133acd41bcc013d134fccb1011a3dea9565537ef9c7aa229005831d298fa1f8ece62ae402a0c0db174ae3851461e47140375d3dd20cebb9e6163ec SHA512 4c0b3f057d895bd8882edb21d14a5fd126c8174969fbc7a4664c62abc8f2f19ca50389295e55ea78694d4720e577464b1a3bb53a0bfb39105b50f08e0a52afe3
 DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469 SHA512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7
+DIST gcc-11.4.0-musl-patches-0.tar.xz 3844 BLAKE2B 4664cd6a4c1caa22b8a70191861d5ca7df4eff546fc798d594a55f25783e16f803468e9c5db553341aa6c5c6ac35ec60794e9175312554958b3cdc892a7f8575 SHA512 523ae1c2d3d14fc707348fdc60cdabf95aff208748cc870eb0bb76b970dc0b822d7e605706c77fb0fb6162a8b0e562924dd46bd7c7edfeabecae6f31b16ccc51
+DIST gcc-11.4.0-patches-0.tar.xz 13240 BLAKE2B 2281ad12ab96579e376c2e89a6b829812d35a849bffa6c1f3b79eae119a4a60673690b4fde52a88421d682946193a5ccc48e87d09fe31e06144d6cadb4ec3cfe SHA512 ace15d5f79918d4c11db864493106e56295b7ac0696d6a565ce07cc44c3cacdde501317b347bf0b710560669e93b9f950e7eed0f33fc39f120edaeaa03efbe3e
 DIST gcc-12-20220514.tar.xz 79083160 BLAKE2B aeb6002f1137413564d24e65f4e6c79f8c2e12225ecaaf1cee601f4a584f3778b6cfc98b519d731ccf811075a7ec3e469128dd8a5e1885f480261b08c03c7a47 SHA512 15af7d5dcddd91bda7db7855956ba85983d95c63a6193785f4c5e8827f120352c731b9652d814bc461aecb9ae8b609689b500e6c8265594b31e5ec962256bee0
 DIST gcc-12-20220521.tar.xz 79087572 BLAKE2B 835b5b28c9e29fc3ab94ee732188325f216b4b54285a62c602280d2c3b0bcaaf779d2874402268b49a0aa57f0a23783e0b71fa4e37c1da05eedb5aa91f782ef3 SHA512 92f6c7cbe3b301ed7361c097dd37e11df8d504bcb0c62a363d710eb09091248a43db3466ae6d61042ce3733714efb81eec80f2e50d8761fc7a742be2c8bb5f53
 DIST gcc-12.0.0-musl-patches-4.tar.xz 4456 BLAKE2B 80ae755b52c31d57eb737b3ec5e70d96e7e20f6720664cd94573b1c6cd079a0e29f73277c27b2f2570706da5239006dabd44f834824c515f6615ed5dc39c273f SHA512 cf917f40133d2b8090e98880e6c87d38129f44bcb454f4d707ef57967635a6fb571d7b85b7cb854421bc9aa88e48767a47aad99c767f9415899f97922d61c497

diff --git a/sys-devel/gcc/gcc-11.4.9999.ebuild b/sys-devel/gcc/gcc-11.4.9999.ebuild
index d7284b8d5153..06ce76b748df 100644
--- a/sys-devel/gcc/gcc-11.4.9999.ebuild
+++ b/sys-devel/gcc/gcc-11.4.9999.ebuild
@@ -3,10 +3,11 @@
 
 EAPI=7
 
-PATCH_VER="4"
-PATCH_GCC_VER="11.3.0"
-MUSL_VER="1"
-MUSL_GCC_VER="11.3.0"
+TOOLCHAIN_PATCH_SUFFIX="xz"
+PATCH_VER="0"
+PATCH_GCC_VER="11.4.0"
+MUSL_VER="0"
+MUSL_GCC_VER="11.4.0"
 
 if [[ $(ver_cut 3) == 9999 ]] ; then
 	MY_PV_2=$(ver_cut 2)

diff --git a/sys-devel/gcc/gcc-12.1.0.ebuild b/sys-devel/gcc/gcc-12.1.0.ebuild
index a31455eab708..e3c575c899ae 100644
--- a/sys-devel/gcc/gcc-12.1.0.ebuild
+++ b/sys-devel/gcc/gcc-12.1.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"

diff --git a/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild b/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild
index 0c110bea12c2..b9019e18fc82 100644
--- a/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild
+++ b/sys-devel/gcc/gcc-12.1.1_p20220514.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"

diff --git a/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild b/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild
index 0c110bea12c2..b9019e18fc82 100644
--- a/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild
+++ b/sys-devel/gcc/gcc-12.1.1_p20220521.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"

diff --git a/sys-devel/gcc/gcc-12.2.9999.ebuild b/sys-devel/gcc/gcc-12.2.9999.ebuild
index 51ad0b55ab65..c03514a0890c 100644
--- a/sys-devel/gcc/gcc-12.2.9999.ebuild
+++ b/sys-devel/gcc/gcc-12.2.9999.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"

diff --git a/sys-devel/gcc/gcc-13.0.9999.ebuild b/sys-devel/gcc/gcc-13.0.9999.ebuild
index f14db93b3ffa..7ff7b0a64003 100644
--- a/sys-devel/gcc/gcc-13.0.9999.ebuild
+++ b/sys-devel/gcc/gcc-13.0.9999.ebuild
@@ -3,8 +3,7 @@
 
 EAPI=7
 
-TOOLCHAIN_GCC_PV=13.0.0
-
+TOOLCHAIN_PATCH_SUFFIX="xz"
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"
 MUSL_VER="4"

diff --git a/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild b/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild
index 09a8ed1fa045..977d60836aef 100644
--- a/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild
+++ b/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=8
+EAPI=7
 
 PATCH_GCC_VER="9.4.0"
 PATCH_VER="1"


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/
@ 2024-03-23 15:42 Sam James
  0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2024-03-23 15:42 UTC (permalink / raw
  To: gentoo-commits

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)


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-03-23 15:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-21 12:27 [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-03-23 15:42 Sam James
2022-05-22 18:41 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

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