dev-lang/rust: Sync with Gentoo

It's from Gentoo commit 7cc7ca1d2fe381effb58a237761468f2379245a6.
This commit is contained in:
Flatcar Buildbot 2025-03-17 07:06:07 +00:00 committed by Krzesimir Nowak
parent b9f67bd227
commit 888434ca6e

View File

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