commit:     6fda82f0a2363c54b80fed03c75eba4e86d41125
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 31 20:07:05 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep  2 14:27:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fda82f0

llvm-core/clang-runtime: Try collapsing 22* to a single version

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/42663
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../clang-runtime-22.0.0_pre20250820.ebuild        | 130 ---------------------
 .../clang-runtime-22.0.0_pre20250831.ebuild        | 126 --------------------
 ...-22.0.0.9999.ebuild => clang-runtime-22.ebuild} |   8 +-
 3 files changed, 4 insertions(+), 260 deletions(-)

diff --git a/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250820.ebuild 
b/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250820.ebuild
deleted file mode 100644
index 870cfbfed8fd..000000000000
--- a/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250820.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib multilib-build
-
-DESCRIPTION="Meta-ebuild for clang runtime libraries"
-HOMEPAGE="https://clang.llvm.org/";
-S=${WORKDIR}
-
-LICENSE="metapackage"
-SLOT="${PV%%.*}"
-IUSE="
-       +compiler-rt libcxx offload openmp +sanitize
-       default-compiler-rt default-libcxx default-lld llvm-libunwind polly
-"
-REQUIRED_USE="
-       sanitize? ( compiler-rt )
-"
-
-RDEPEND="
-       compiler-rt? (
-               
~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
-               sanitize? (
-                       
~llvm-runtimes/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
-               )
-       )
-       libcxx? ( >=llvm-runtimes/libcxx-${PV}[${MULTILIB_USEDEP}] )
-       openmp? (
-               >=llvm-runtimes/openmp-${PV}[${MULTILIB_USEDEP}]
-               offload? (
-                       >=llvm-runtimes/offload-${PV}
-               )
-       )
-
-       llvm-core/clang-common
-       default-compiler-rt? (
-               
~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
-               llvm-libunwind? ( llvm-runtimes/libunwind[static-libs] )
-               !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
-       )
-       !default-compiler-rt? ( sys-devel/gcc )
-       default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] )
-       !default-libcxx? ( sys-devel/gcc )
-       default-lld? ( ~llvm-core/lld-${PV} )
-       !default-lld? ( sys-devel/binutils )
-       polly? ( ~llvm-core/polly-${PV} )
-"
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++,-cpp}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @../${tool}.cfg
-                       @gentoo-plugins.cfg
-                       @gentoo-runtimes.cfg
-               EOF
-       done
-
-       # Install symlinks for triples with other vendor strings since some
-       # programs insist on mangling the triple.
-       local vendor
-       for vendor in gentoo pc unknown; do
-               local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
-               for tool in clang{,++,-cpp}; do
-                       if [[ ! -f 
"${ED}/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple=$(get_abi_CHOST "${abi}")
-
-       _doclang_cfg ${triple}
-
-       # LLVM may have different arch names in some cases. For example in x86
-       # profiles the triple uses i686, but llvm will prefer i386 if invoked
-       # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
-       # be used if invoked through ${CHOST}-clang{,++,-cpp} though.
-       #
-       # To make sure the correct triples are installed,
-       # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
-       # and compare with CHOST values in profiles.
-
-       local abi=${triple%%-*}
-       case ${abi} in
-               armv4l|armv4t|armv5tel|armv6j|armv7a)
-                       _doclang_cfg ${triple/${abi}/arm}
-                       ;;
-               i686)
-                       _doclang_cfg ${triple/${abi}/i386}
-                       ;;
-               sparc)
-                       _doclang_cfg ${triple/${abi}/sparcel}
-                       ;;
-               sparc64)
-                       _doclang_cfg ${triple/${abi}/sparcv9}
-                       ;;
-       esac
-}
-
-src_install() {
-       insinto "/etc/clang/${SLOT}"
-       newins - gentoo-runtimes.cfg <<-EOF
-               # This file is initially generated by llvm-core/clang-runtime.
-               # It is used to control the default runtimes using by clang.
-
-               --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
-               --unwindlib=$(usex default-compiler-rt libunwind libgcc)
-               --stdlib=$(usex default-libcxx libc++ libstdc++)
-               -fuse-ld=$(usex default-lld lld bfd)
-       EOF
-       newins - gentoo-plugins.cfg <<-EOF
-               # This file is used to load optional LLVM plugins.
-       EOF
-       if use polly; then
-               cat >> "${ED}/etc/clang/${SLOT}/gentoo-plugins.cfg" <<-EOF || 
die
-                       -fpass-plugin=LLVMPolly.so
-                       -fplugin=LLVMPolly.so
-               EOF
-       fi
-
-       multilib_foreach_abi doclang_cfg
-}

diff --git a/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250831.ebuild 
b/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250831.ebuild
deleted file mode 100644
index 74a7ad0e1186..000000000000
--- a/llvm-core/clang-runtime/clang-runtime-22.0.0_pre20250831.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib multilib-build
-
-DESCRIPTION="Meta-ebuild for clang runtime libraries"
-HOMEPAGE="https://clang.llvm.org/";
-S=${WORKDIR}
-
-LICENSE="metapackage"
-SLOT="${PV%%.*}"
-IUSE="
-       +compiler-rt libcxx offload openmp +sanitize
-       default-compiler-rt default-libcxx default-lld llvm-libunwind polly
-"
-REQUIRED_USE="
-       sanitize? ( compiler-rt )
-"
-
-RDEPEND="
-       compiler-rt? (
-               
~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
-               sanitize? (
-                       
~llvm-runtimes/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
-               )
-       )
-       libcxx? ( >=llvm-runtimes/libcxx-${PV}[${MULTILIB_USEDEP}] )
-       openmp? (
-               >=llvm-runtimes/openmp-${PV}[${MULTILIB_USEDEP}]
-               offload? (
-                       >=llvm-runtimes/offload-${PV}
-               )
-       )
-
-       llvm-core/clang-common
-
-       ~llvm-core/clang-linker-config-${SLOT}[default-lld(-)?]
-       ~llvm-runtimes/clang-rtlib-config-${SLOT}[default-compiler-rt(-)?]
-       
~llvm-runtimes/clang-unwindlib-config-${SLOT}[default-compiler-rt(-)?,llvm-libunwind(-)?]
-       ~llvm-runtimes/clang-stdlib-config-${SLOT}[default-libcxx(-)?]
-
-       polly? ( ~llvm-core/polly-${PV} )
-"
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++,-cpp}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @../${tool}.cfg
-                       @gentoo-plugins.cfg
-                       @gentoo-runtimes.cfg
-               EOF
-       done
-
-       # Install symlinks for triples with other vendor strings since some
-       # programs insist on mangling the triple.
-       local vendor
-       for vendor in gentoo pc unknown; do
-               local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
-               for tool in clang{,++,-cpp}; do
-                       if [[ ! -f 
"${ED}/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple=$(get_abi_CHOST "${abi}")
-
-       _doclang_cfg ${triple}
-
-       # LLVM may have different arch names in some cases. For example in x86
-       # profiles the triple uses i686, but llvm will prefer i386 if invoked
-       # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
-       # be used if invoked through ${CHOST}-clang{,++,-cpp} though.
-       #
-       # To make sure the correct triples are installed,
-       # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
-       # and compare with CHOST values in profiles.
-
-       local abi=${triple%%-*}
-       case ${abi} in
-               armv4l|armv4t|armv5tel|armv6j|armv7a)
-                       _doclang_cfg ${triple/${abi}/arm}
-                       ;;
-               i686)
-                       _doclang_cfg ${triple/${abi}/i386}
-                       ;;
-               sparc)
-                       _doclang_cfg ${triple/${abi}/sparcel}
-                       ;;
-               sparc64)
-                       _doclang_cfg ${triple/${abi}/sparcv9}
-                       ;;
-       esac
-}
-
-src_install() {
-       insinto "/etc/clang/${SLOT}"
-       newins - gentoo-runtimes.cfg <<-EOF
-               # This file is initially generated by llvm-core/clang-runtime.
-               # It is used to control the default runtimes using by clang.
-
-               --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
-               --unwindlib=$(usex default-compiler-rt libunwind libgcc)
-               --stdlib=$(usex default-libcxx libc++ libstdc++)
-               -fuse-ld=$(usex default-lld lld bfd)
-       EOF
-       newins - gentoo-plugins.cfg <<-EOF
-               # This file is used to load optional LLVM plugins.
-       EOF
-       if use polly; then
-               cat >> "${ED}/etc/clang/${SLOT}/gentoo-plugins.cfg" <<-EOF || 
die
-                       -fpass-plugin=LLVMPolly.so
-                       -fplugin=LLVMPolly.so
-               EOF
-       fi
-
-       multilib_foreach_abi doclang_cfg
-}

diff --git a/llvm-core/clang-runtime/clang-runtime-22.0.0.9999.ebuild 
b/llvm-core/clang-runtime/clang-runtime-22.ebuild
similarity index 93%
rename from llvm-core/clang-runtime/clang-runtime-22.0.0.9999.ebuild
rename to llvm-core/clang-runtime/clang-runtime-22.ebuild
index 6e386516474c..cf3f113b332b 100644
--- a/llvm-core/clang-runtime/clang-runtime-22.0.0.9999.ebuild
+++ b/llvm-core/clang-runtime/clang-runtime-22.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://clang.llvm.org/";
 S=${WORKDIR}
 
 LICENSE="metapackage"
-SLOT="${PV%%.*}"
+SLOT="${PV}"
 IUSE="
        +compiler-rt libcxx offload openmp +sanitize
        default-compiler-rt default-libcxx default-lld llvm-libunwind polly
@@ -21,9 +21,9 @@ REQUIRED_USE="
 
 RDEPEND="
        compiler-rt? (
-               
~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+               
>=llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
                sanitize? (
-                       
~llvm-runtimes/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+                       
>=llvm-runtimes/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
                )
        )
        libcxx? ( >=llvm-runtimes/libcxx-${PV}[${MULTILIB_USEDEP}] )
@@ -41,7 +41,7 @@ RDEPEND="
        
~llvm-runtimes/clang-unwindlib-config-${SLOT}[default-compiler-rt(-)?,llvm-libunwind(-)?]
        ~llvm-runtimes/clang-stdlib-config-${SLOT}[default-libcxx(-)?]
 
-       polly? ( ~llvm-core/polly-${PV} )
+       polly? ( >=llvm-core/polly-${PV}:${SLOT} )
 "
 
 _doclang_cfg() {

Reply via email to