commit:     7cc7ca1d2fe381effb58a237761468f2379245a6
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Thu Mar 13 03:10:26 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 03:27:02 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cc7ca1d

dev-lang/rust: update experimental targets check

apply patch in commit c81a596be7fa480e369c0ce7464f92e45e332610
which is applied before revert of rust-1.84.0-r1

Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/41043
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/rust/rust-1.84.0-r1.ebuild | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/dev-lang/rust/rust-1.84.0-r1.ebuild 
b/dev-lang/rust/rust-1.84.0-r1.ebuild
index 4414a294a3d4..298a05164946 100644
--- a/dev-lang/rust/rust-1.84.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.84.0-r1.ebuild
@@ -40,8 +40,11 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
 LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
 
 # 
https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt
-_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
-ALL_LLVM_EXPERIMENTAL_TARGETS=( )
+_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+declare -A ALL_RUST_EXPERIMENTAL_TARGETS
+for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
+       ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0
+done
 
 LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
 SLOT="${PV}"
@@ -52,12 +55,9 @@ LLVM_DEPEND=()
 # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
 for _x in "${ALL_LLVM_TARGETS[@]}"; do
        LLVM_DEPEND+=( "        ${_x}? ( $(llvm_gen_dep 
"llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" )
-       for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do
-               if [[ "${_xx}" == "${_x}" ]] ; then
-                       ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} )
-                       break
-               fi
-       done
+       if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then
+               ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1
+       fi
 done
 LLVM_DEPEND+=( "       wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" 
)
 LLVM_DEPEND+=( "       $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
@@ -279,13 +279,13 @@ src_configure() {
        rust_build="$(rust_abi "${CBUILD}")"
        rust_host="$(rust_abi "${CHOST}")"
 
-       LLVM_EXPERIMENTAL_TARGETS=()
-       for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do
-               if use llvm_targets_${_x} ; then
-                       LLVM_EXPERIMENTAL_TARGETS+=( ${_x} )
+       RUST_EXPERIMENTAL_TARGETS=()
+       for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
+               if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use 
${_x} ; then
+                       RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} )
                fi
        done
-       LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]}
+       RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]}
 
        local cm_btype="$(usex debug DEBUG RELEASE)"
        cat <<- _EOF_ > "${S}"/config.toml
@@ -298,7 +298,7 @@ src_configure() {
                assertions = $(toml_usex debug)
                ninja = true
                targets = "${LLVM_TARGETS// /;}"
-               experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}"
+               experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}"
                link-shared = $(toml_usex system-llvm)
                $(if is_libcxx_linked; then
                        # https://bugs.gentoo.org/732632

Reply via email to