commit:     831fe6faf3f10d6ec9081dabe6c912ed910f43f8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 13 15:34:42 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 13 15:41:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=831fe6fa

sys-devel/clang-toolchain-symlinks: Do not multilib by default

Bug: https://bugs.gentoo.org/876901
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...-r1.ebuild => clang-toolchain-symlinks-14-r2.ebuild} | 17 ++++++++++++-----
 ...-r1.ebuild => clang-toolchain-symlinks-15-r2.ebuild} | 17 ++++++++++++-----
 ...-r1.ebuild => clang-toolchain-symlinks-16-r2.ebuild} | 17 ++++++++++++-----
 sys-devel/clang-toolchain-symlinks/metadata.xml         |  5 +++++
 4 files changed, 41 insertions(+), 15 deletions(-)

diff --git 
a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r1.ebuild 
b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild
similarity index 73%
rename from 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r1.ebuild
rename to 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild
index 8a29178bf131..e8399381397f 100644
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r1.ebuild
+++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild
@@ -13,7 +13,7 @@ S=${WORKDIR}
 LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux 
~x64-macos"
-IUSE="gcc-symlinks +native-symlinks"
+IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
 
 # Blocker for bug #872416
 RDEPEND="
@@ -38,16 +38,23 @@ src_install() {
                )
        fi
 
-       local abi t
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
+       local chost t
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        for t in "${tools[@]}"; do
                dosym "${t#*:}" "${dest}/${t%:*}"
        done
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
+       for chost in "${chosts[@]}"; do
                for t in "${tools[@]}"; do
-                       dosym "${t#*:}" "${dest}/${abi_chost}-${t%:*}"
+                       dosym "${t#*:}" "${dest}/${chost}-${t%:*}"
                done
        done
 }

diff --git 
a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r1.ebuild 
b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r2.ebuild
similarity index 73%
rename from 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r1.ebuild
rename to 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r2.ebuild
index 8a29178bf131..e8399381397f 100644
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r1.ebuild
+++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-15-r2.ebuild
@@ -13,7 +13,7 @@ S=${WORKDIR}
 LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux 
~x64-macos"
-IUSE="gcc-symlinks +native-symlinks"
+IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
 
 # Blocker for bug #872416
 RDEPEND="
@@ -38,16 +38,23 @@ src_install() {
                )
        fi
 
-       local abi t
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
+       local chost t
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        for t in "${tools[@]}"; do
                dosym "${t#*:}" "${dest}/${t%:*}"
        done
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
+       for chost in "${chosts[@]}"; do
                for t in "${tools[@]}"; do
-                       dosym "${t#*:}" "${dest}/${abi_chost}-${t%:*}"
+                       dosym "${t#*:}" "${dest}/${chost}-${t%:*}"
                done
        done
 }

diff --git 
a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r1.ebuild 
b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
similarity index 71%
rename from 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r1.ebuild
rename to 
sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
index 096e1f029ed9..f75afa7088b4 100644
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r1.ebuild
+++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
@@ -14,7 +14,7 @@ LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS=""
 PROPERTIES="live"
-IUSE="gcc-symlinks +native-symlinks"
+IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
 
 # Blocker for bug #872416
 RDEPEND="
@@ -39,16 +39,23 @@ src_install() {
                )
        fi
 
-       local abi t
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
+       local chost t
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        for t in "${tools[@]}"; do
                dosym "${t#*:}" "${dest}/${t%:*}"
        done
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
+       for chost in "${chosts[@]}"; do
                for t in "${tools[@]}"; do
-                       dosym "${t#*:}" "${dest}/${abi_chost}-${t%:*}"
+                       dosym "${t#*:}" "${dest}/${chost}-${t%:*}"
                done
        done
 }

diff --git a/sys-devel/clang-toolchain-symlinks/metadata.xml 
b/sys-devel/clang-toolchain-symlinks/metadata.xml
index 58c5027c2994..bf4e9fc6a6ca 100644
--- a/sys-devel/clang-toolchain-symlinks/metadata.xml
+++ b/sys-devel/clang-toolchain-symlinks/metadata.xml
@@ -9,6 +9,11 @@
                        Install symlinks for 'gcc' and 'g++' for extra
                        compatibility.
                </flag>
+               <flag name="multilib-symlinks">
+                       Install symlinks for all ABI CHOSTs. Note that this can
+                       result in gcc being overrode for native builds, as well
+                       as conflict with crossdev if used for the same targets.
+               </flag>
                <flag name="native-symlinks">
                        Install generic tool symlinks like 'cc' and 'c++',
                        as well as ${CTARGET}-*. These symlinks are installed

Reply via email to