commit:     4c40c60b01e775e5555c9a5807615d28a932063d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  2 08:08:12 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun  2 08:09:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c40c60b

toolchain.eclass: introduce TOOLCHAIN_PATCH_DEV

The PMS-legality of trying every entry in SRC_URI is questionable,
so let's follow the model we use in some other places like the
binutils + glibc ebuilds, and just add a variable for the developer
hosting the patchset for an ebuild.

We use an array in toolchain.eclass because it's easier.

We also fall back to the old behaviour if TOOLCHAIN_PATCH_DEV
is not set.

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

 eclass/toolchain.eclass                      | 34 +++++++++++++++++++++++++---
 sys-devel/gcc/gcc-10.3.0-r2.ebuild           |  3 ++-
 sys-devel/gcc/gcc-10.3.1_p20211126.ebuild    |  1 +
 sys-devel/gcc/gcc-10.3.1_p20220526.ebuild    |  1 +
 sys-devel/gcc/gcc-10.4.9999.ebuild           |  1 +
 sys-devel/gcc/gcc-11.2.0.ebuild              |  3 ++-
 sys-devel/gcc/gcc-11.2.1_p20220115.ebuild    |  1 +
 sys-devel/gcc/gcc-11.3.0.ebuild              |  1 +
 sys-devel/gcc/gcc-11.3.1_p20220527.ebuild    |  1 +
 sys-devel/gcc/gcc-11.4.9999.ebuild           |  1 +
 sys-devel/gcc/gcc-12.1.0.ebuild              |  1 +
 sys-devel/gcc/gcc-12.1.1_p20220528-r1.ebuild |  1 +
 sys-devel/gcc/gcc-12.1.1_p20220528.ebuild    |  1 +
 sys-devel/gcc/gcc-12.2.9999.ebuild           |  1 +
 sys-devel/gcc/gcc-13.0.0_pre20220529.ebuild  |  1 +
 sys-devel/gcc/gcc-13.0.9999.ebuild           |  1 +
 sys-devel/gcc/gcc-8.5.0-r1.ebuild            |  3 ++-
 sys-devel/gcc/gcc-9.4.0.ebuild               |  3 ++-
 sys-devel/gcc/gcc-9.5.0.ebuild               |  1 +
 19 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 4db0acd592a5..d91544797fe8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -90,6 +90,11 @@ 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: TOOLCHAIN_PATCH_DEV
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Indicate the developer who hosts the patchset for an ebuild.
+
 # @ECLASS_VARIABLE: GCC_PV
 # @INTERNAL
 # @DESCRIPTION:
@@ -286,6 +291,9 @@ DEPEND="${RDEPEND}"
 if tc_has_feature gcj ; then
        DEPEND+="
                gcj? (
+                       app-arch/zip
+                       app-arch/unzip
+                       >=media-libs/libart_lgpl-2.1
                        awt? (
                                x11-base/xorg-proto
                                x11-libs/libXt
@@ -295,9 +303,6 @@ if tc_has_feature gcj ; then
                                x11-libs/pango
                                virtual/pkgconfig
                        )
-                       >=media-libs/libart_lgpl-2.1
-                       app-arch/zip
-                       app-arch/unzip
                )
        "
 fi
@@ -359,6 +364,29 @@ if [[ ${TOOLCHAIN_SET_S} == yes ]] ; then
 fi
 
 gentoo_urls() {
+       # slyfox's distfiles are mirrored to sam's devspace
+       declare -A devspace_urls=(
+               [soap]=HTTP~soap/distfiles/URI
+               [sam]=HTTP~sam/distfiles/sys-devel/gcc/URI
+               [slyfox]=HTTP~sam/distfiles/URI
+               [tamiko]=HTTP~tamiko/distfiles/URI
+               [zorry]=HTTP~zorry/patches/gcc/URI
+               [vapier]=HTTP~vapier/dist/URI
+               [blueness]=HTTP~blueness/dist/URI
+       )
+
+       # Newer ebuilds should set TOOLCHAIN_PATCH_DEV and we'll just
+       # return the full URL from the array.
+       local devspace_url=${devspace_urls[${TOOLCHAIN_PATCH_DEV}]}
+       if [[ -n ${TOOLCHAIN_PATCH_DEV} && -n ${devspace_url} ]] ; then
+               local 
devspace_url_exp=${devspace_url//HTTP/https:\/\/dev.gentoo.org\/}
+               devspace_url_exp=${devspace_url_exp//URI/$1}
+               echo ${devspace_url_exp}
+               return
+       fi
+
+       # But we keep the old fallback list for compatibility with
+       # older ebuilds (overlays etc).
        local devspace="
                HTTP~soap/distfiles/URI
                HTTP~sam/distfiles/URI

diff --git a/sys-devel/gcc/gcc-10.3.0-r2.ebuild 
b/sys-devel/gcc/gcc-10.3.0-r2.ebuild
index 0fc4ea78dc7a..d62162f1a68d 100644
--- a/sys-devel/gcc/gcc-10.3.0-r2.ebuild
+++ b/sys-devel/gcc/gcc-10.3.0-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
 
+TOOLCHAIN_PATCH_DEV="slyfox"
 PATCH_VER="3"
 MUSL_VER="1"
 

diff --git a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild 
b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild
index 9cd4a9d0c988..a41f76a5ad3c 100644
--- a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild
+++ b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 
+TOOLCHAIN_PATCH_DEV="soap"
 PATCH_VER="0"
 PATCH_GCC_VER="10.4.0"
 MUSL_VER="1"

diff --git a/sys-devel/gcc/gcc-10.3.1_p20220526.ebuild 
b/sys-devel/gcc/gcc-10.3.1_p20220526.ebuild
index 008eddf57686..126a2d87af1b 100644
--- a/sys-devel/gcc/gcc-10.3.1_p20220526.ebuild
+++ b/sys-devel/gcc/gcc-10.3.1_p20220526.ebuild
@@ -4,6 +4,7 @@
 EAPI="7"
 
 TOOLCHAIN_PATCH_SUFFIX="xz"
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="10.4.0"
 PATCH_VER="1"
 MUSL_VER="1"

diff --git a/sys-devel/gcc/gcc-10.4.9999.ebuild 
b/sys-devel/gcc/gcc-10.4.9999.ebuild
index e1dfaacdf1da..cdb2f335959c 100644
--- a/sys-devel/gcc/gcc-10.4.9999.ebuild
+++ b/sys-devel/gcc/gcc-10.4.9999.ebuild
@@ -4,6 +4,7 @@
 EAPI="7"
 
 TOOLCHAIN_PATCH_SUFFIX="xz"
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="10.4.0"
 MUSL_GCC_VER="10.4.0"
 

diff --git a/sys-devel/gcc/gcc-11.2.0.ebuild b/sys-devel/gcc/gcc-11.2.0.ebuild
index 92a4dc61b1f7..9dc5d2276295 100644
--- a/sys-devel/gcc/gcc-11.2.0.ebuild
+++ b/sys-devel/gcc/gcc-11.2.0.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
 
+TOOLCHAIN_PATCH_DEV="slyfox"
 PATCH_VER="1"
 MUSL_VER="1"
 

diff --git a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild 
b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild
index 45cb04b1750b..4e44bafeab22 100644
--- a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild
+++ b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="4"
 PATCH_GCC_VER="11.3.0"
 MUSL_VER="1"

diff --git a/sys-devel/gcc/gcc-11.3.0.ebuild b/sys-devel/gcc/gcc-11.3.0.ebuild
index e4643122850f..f98df193692e 100644
--- a/sys-devel/gcc/gcc-11.3.0.ebuild
+++ b/sys-devel/gcc/gcc-11.3.0.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="4"
 PATCH_GCC_VER="11.3.0"
 MUSL_VER="1"

diff --git a/sys-devel/gcc/gcc-11.3.1_p20220527.ebuild 
b/sys-devel/gcc/gcc-11.3.1_p20220527.ebuild
index 5724c677922d..9124fce642c9 100644
--- a/sys-devel/gcc/gcc-11.3.1_p20220527.ebuild
+++ b/sys-devel/gcc/gcc-11.3.1_p20220527.ebuild
@@ -4,6 +4,7 @@
 EAPI=7
 
 TOOLCHAIN_PATCH_SUFFIX="xz"
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="0"
 PATCH_GCC_VER="11.4.0"
 MUSL_VER="0"

diff --git a/sys-devel/gcc/gcc-11.4.9999.ebuild 
b/sys-devel/gcc/gcc-11.4.9999.ebuild
index f03699a5434d..de29705ca377 100644
--- a/sys-devel/gcc/gcc-11.4.9999.ebuild
+++ b/sys-devel/gcc/gcc-11.4.9999.ebuild
@@ -4,6 +4,7 @@
 EAPI=7
 
 TOOLCHAIN_PATCH_SUFFIX="xz"
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="11.4.0"
 MUSL_GCC_VER="11.4.0"
 

diff --git a/sys-devel/gcc/gcc-12.1.0.ebuild b/sys-devel/gcc/gcc-12.1.0.ebuild
index e63decd47c55..a3ed5cb44f85 100644
--- a/sys-devel/gcc/gcc-12.1.0.ebuild
+++ b/sys-devel/gcc/gcc-12.1.0.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="5"
 PATCH_GCC_VER="12.0.0"
 MUSL_VER="4"

diff --git a/sys-devel/gcc/gcc-12.1.1_p20220528-r1.ebuild 
b/sys-devel/gcc/gcc-12.1.1_p20220528-r1.ebuild
index eb3587d73256..aa68dc8eaadf 100644
--- a/sys-devel/gcc/gcc-12.1.1_p20220528-r1.ebuild
+++ b/sys-devel/gcc/gcc-12.1.1_p20220528-r1.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="7"
 PATCH_GCC_VER="12.1.0"
 MUSL_VER="4"

diff --git a/sys-devel/gcc/gcc-12.1.1_p20220528.ebuild 
b/sys-devel/gcc/gcc-12.1.1_p20220528.ebuild
index 69f87cc45c38..e4c8e31940a5 100644
--- a/sys-devel/gcc/gcc-12.1.1_p20220528.ebuild
+++ b/sys-devel/gcc/gcc-12.1.1_p20220528.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_VER="6"
 PATCH_GCC_VER="12.1.0"
 MUSL_VER="4"

diff --git a/sys-devel/gcc/gcc-12.2.9999.ebuild 
b/sys-devel/gcc/gcc-12.2.9999.ebuild
index 5ff8717650e3..d1a72887e795 100644
--- a/sys-devel/gcc/gcc-12.2.9999.ebuild
+++ b/sys-devel/gcc/gcc-12.2.9999.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="12.1.0"
 MUSL_GCC_VER="12.1.0"
 

diff --git a/sys-devel/gcc/gcc-13.0.0_pre20220529.ebuild 
b/sys-devel/gcc/gcc-13.0.0_pre20220529.ebuild
index 17776e25a94c..0c0625463882 100644
--- a/sys-devel/gcc/gcc-13.0.0_pre20220529.ebuild
+++ b/sys-devel/gcc/gcc-13.0.0_pre20220529.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="13.1.0"
 MUSL_GCC_VER="13.1.0"
 TOOLCHAIN_USE_GIT_PATCHES=yes

diff --git a/sys-devel/gcc/gcc-13.0.9999.ebuild 
b/sys-devel/gcc/gcc-13.0.9999.ebuild
index 48f046f7cbe6..121075573253 100644
--- a/sys-devel/gcc/gcc-13.0.9999.ebuild
+++ b/sys-devel/gcc/gcc-13.0.9999.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="13.1.0"
 MUSL_GCC_VER="13.1.0"
 

diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild 
b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
index e5b72b981c98..ff799268370b 100644
--- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild
+++ b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
 
+TOOLCHAIN_PATCH_DEV="slyfox"
 PATCH_VER="2"
 
 inherit toolchain

diff --git a/sys-devel/gcc/gcc-9.4.0.ebuild b/sys-devel/gcc/gcc-9.4.0.ebuild
index 7c210388c018..da4a8a21ae3c 100644
--- a/sys-devel/gcc/gcc-9.4.0.ebuild
+++ b/sys-devel/gcc/gcc-9.4.0.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
 
+TOOLCHAIN_PATCH_DEV="slyfox"
 PATCH_VER="1"
 MUSL_VER="1"
 inherit toolchain

diff --git a/sys-devel/gcc/gcc-9.5.0.ebuild b/sys-devel/gcc/gcc-9.5.0.ebuild
index e6b946217759..850dc92d11e5 100644
--- a/sys-devel/gcc/gcc-9.5.0.ebuild
+++ b/sys-devel/gcc/gcc-9.5.0.ebuild
@@ -3,6 +3,7 @@
 
 EAPI="7"
 
+TOOLCHAIN_PATCH_DEV="sam"
 PATCH_GCC_VER="9.4.0"
 PATCH_VER="1"
 

Reply via email to