commit: f2fd8f4b418395d9bf39a5f1bc1a2db91d7828e9
Author: orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Tue Feb 25 20:59:44 2025 +0000
Commit: orbea <orbea <AT> riseup <DOT> net>
CommitDate: Tue Feb 25 21:44:02 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=f2fd8f4b
dev-lang/rust: sync ::gentoo
This reverts commit 96e7baae4c236f10b99587dc37366b4e40d766cb.
This reverts commit aaef031e3ea75d641415d8bff8d7e77141ea21b2.
Signed-off-by: orbea <orbea <AT> riseup.net>
dev-lang/rust/Manifest | 2 +
.../rust/files/1.85.0-cross-compile-libz.patch | 26 +++
dev-lang/rust/rust-1.71.1-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.74.1-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.75.0-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.76.0-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.77.1-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.78.0-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.79.0-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.80.1-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.81.0-r101.ebuild | 24 ++-
dev-lang/rust/rust-1.82.0-r102.ebuild | 24 ++-
dev-lang/rust/rust-1.83.0-r2.ebuild | 24 ++-
dev-lang/rust/rust-1.84.0-r1.ebuild | 11 +-
dev-lang/rust/rust-1.84.1-r1.ebuild | 23 ++-
.../{rust-1.84.1-r1.ebuild => rust-1.85.0.ebuild} | 221 +++++++++++++++------
16 files changed, 386 insertions(+), 161 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index f47aaa2..53bc7b9 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -24,3 +24,5 @@ DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B
e4697d8a9f42484556ed490390aef535b
DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B
b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1
SHA512
5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb
DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B
849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48
SHA512
f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1
DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B
f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6
SHA512
a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796
+DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B
9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a
SHA512
3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c
+DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B
8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a
SHA512
b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e
diff --git a/dev-lang/rust/files/1.85.0-cross-compile-libz.patch
b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch
new file mode 100644
index 0000000..7bd45c4
--- /dev/null
+++ b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch
@@ -0,0 +1,26 @@
+From 768f7e50a6d9a3db4e4eef45dcb4c56e9b580389 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <[email protected]>
+Date: Sun, 9 Feb 2025 21:12:43 +1000
+Subject: [PATCH] Update libz cross-compile patch for 9999 (1.86.0)
+
+See-also:
https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22
+See-also: https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497
+--- a/compiler/rustc_llvm/build.rs
++++ b/compiler/rustc_llvm/build.rs
+@@ -219,13 +219,7 @@ fn main() {
+ // of llvm-config, not the target that we're attempting to link.
+ let mut cmd = Command::new(&llvm_config);
+ cmd.arg(llvm_link_arg).arg("--libs");
+-
+- // Don't link system libs if cross-compiling unless targeting Windows.
+- // On Windows system DLLs aren't linked directly, instead import
libraries are used.
+- // These import libraries are independent of the host.
+- if !is_crossed || target.contains("windows") {
+- cmd.arg("--system-libs");
+- }
++ cmd.arg("--system-libs");
+
+ // We need libkstat for getHostCPUName on SPARC builds.
+ // See also: https://github.com/llvm/llvm-project/issues/64186
+--
+2.48.0
diff --git a/dev-lang/rust/rust-1.71.1-r101.ebuild
b/dev-lang/rust/rust-1.71.1-r101.ebuild
index b03b7a9..5cb2313 100644
--- a/dev-lang/rust/rust-1.71.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.71.1-r101.ebuild
@@ -38,7 +38,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai
LoongArch Mips MSP43
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.71.0/llvm/CMakeLists.txt
+_ALL_RUST_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 UoI-NCSA"
SLOT="${PV}"
@@ -49,6 +54,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}]") )" )
+ 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}')" )
@@ -56,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -252,13 +260,13 @@ src_configure() {
rust_target="$(rust_abi)"
- 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
@@ -270,7 +278,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
diff --git a/dev-lang/rust/rust-1.74.1-r101.ebuild
b/dev-lang/rust/rust-1.74.1-r101.ebuild
index c664c49..ca86027 100644
--- a/dev-lang/rust/rust-1.74.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.74.1-r101.ebuild
@@ -44,7 +44,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.74.1/llvm/CMakeLists.txt
+_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}"
@@ -55,6 +60,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}]") )" )
+ 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}')" )
@@ -62,7 +70,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -306,13 +314,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
@@ -324,7 +332,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
diff --git a/dev-lang/rust/rust-1.75.0-r101.ebuild
b/dev-lang/rust/rust-1.75.0-r101.ebuild
index cb6615f..ea3ad95 100644
--- a/dev-lang/rust/rust-1.75.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.75.0-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.75.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -275,13 +283,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
@@ -293,7 +301,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
diff --git a/dev-lang/rust/rust-1.76.0-r101.ebuild
b/dev-lang/rust/rust-1.76.0-r101.ebuild
index 6c38b73..1fafe74 100644
--- a/dev-lang/rust/rust-1.76.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.76.0-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.76.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -275,13 +283,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
@@ -293,7 +301,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
diff --git a/dev-lang/rust/rust-1.77.1-r101.ebuild
b/dev-lang/rust/rust-1.77.1-r101.ebuild
index 63a3b8b..d834c65 100644
--- a/dev-lang/rust/rust-1.77.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.77.1-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.77.1/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -274,13 +282,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
@@ -292,7 +300,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
diff --git a/dev-lang/rust/rust-1.78.0-r101.ebuild
b/dev-lang/rust/rust-1.78.0-r101.ebuild
index 2557b51..984ce3e 100644
--- a/dev-lang/rust/rust-1.78.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.78.0-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.78.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -274,13 +282,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
@@ -291,7 +299,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
diff --git a/dev-lang/rust/rust-1.79.0-r101.ebuild
b/dev-lang/rust/rust-1.79.0-r101.ebuild
index ccad428..6f8e118 100644
--- a/dev-lang/rust/rust-1.79.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.79.0-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.79.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -274,13 +282,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
@@ -291,7 +299,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
diff --git a/dev-lang/rust/rust-1.80.1-r101.ebuild
b/dev-lang/rust/rust-1.80.1-r101.ebuild
index 076988c..ebdba51 100644
--- a/dev-lang/rust/rust-1.80.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.80.1-r101.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.80.1/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -273,13 +281,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
@@ -290,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
diff --git a/dev-lang/rust/rust-1.81.0-r101.ebuild
b/dev-lang/rust/rust-1.81.0-r101.ebuild
index ca411eb..0ecadce 100644
--- a/dev-lang/rust/rust-1.81.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.81.0-r101.ebuild
@@ -40,7 +40,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.81.0/llvm/CMakeLists.txt
+_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}"
@@ -51,6 +56,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}]") )" )
+ 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}')" )
@@ -58,7 +66,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -277,13 +285,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
@@ -294,7 +302,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
diff --git a/dev-lang/rust/rust-1.82.0-r102.ebuild
b/dev-lang/rust/rust-1.82.0-r102.ebuild
index 5f6bbb6..459735c 100644
--- a/dev-lang/rust/rust-1.82.0-r102.ebuild
+++ b/dev-lang/rust/rust-1.82.0-r102.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.82.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -282,13 +290,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
@@ -299,7 +307,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
diff --git a/dev-lang/rust/rust-1.83.0-r2.ebuild
b/dev-lang/rust/rust-1.83.0-r2.ebuild
index 959b64e..1896488 100644
--- a/dev-lang/rust/rust-1.83.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.83.0-r2.ebuild
@@ -39,7 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY
DirectX Hexagon Lanai
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+#
https://github.com/rust-lang/llvm-project/blob/rustc-1.83.0/llvm/CMakeLists.txt
+_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}"
@@ -50,6 +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}]") )" )
+ 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}')" )
@@ -57,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -284,13 +292,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
@@ -301,7 +309,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
diff --git a/dev-lang/rust/rust-1.84.0-r1.ebuild
b/dev-lang/rust/rust-1.84.0-r1.ebuild
index 7fb6246..6433cd6 100644
--- a/dev-lang/rust/rust-1.84.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.84.0-r1.ebuild
@@ -40,7 +40,8 @@ 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=( ARC CSKY DirectX M68k SPIRV Xtensa )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( )
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
@@ -51,6 +52,12 @@ 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
done
LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )"
)
LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
@@ -58,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.84.1-r1.ebuild
b/dev-lang/rust/rust-1.84.1-r1.ebuild
index c897c25..8d8e1fe 100644
--- a/dev-lang/rust/rust-1.84.1-r1.ebuild
+++ b/dev-lang/rust/rust-1.84.1-r1.ebuild
@@ -40,7 +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_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}"
@@ -51,6 +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}]") )" )
+ 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}')" )
@@ -58,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -284,13 +291,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
@@ -303,7 +310,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
diff --git a/dev-lang/rust/rust-1.84.1-r1.ebuild
b/dev-lang/rust/rust-1.85.0.ebuild
similarity index 75%
copy from dev-lang/rust/rust-1.84.1-r1.ebuild
copy to dev-lang/rust/rust-1.85.0.ebuild
index c897c25..d9afa2e 100644
--- a/dev-lang/rust/rust-1.84.1-r1.ebuild
+++ b/dev-lang/rust/rust-1.85.0.ebuild
@@ -6,32 +6,53 @@ EAPI=8
LLVM_COMPAT=( 19 )
PYTHON_COMPAT=( python3_{10..13} )
-RUST_MAX_VER=${PV}
-RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+RUST_MAX_VER=${PV%%_*}
+if [[ ${PV} == *9999* ]]; then
+ RUST_MIN_VER="1.85.0" # Update this as new `beta` releases come out.
+elif [[ ${PV} == *beta* ]]; then
+ # Enforce that `beta` is built from `stable`.
+ # While uncommon it is possible for feature changes within `beta` to
result
+ # in an older snapshot being unable to build a newer one without
modifying the sources.
+ # 'stable' releases should always be able to build a beta snapshot so
just use those.
+ RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1"
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+else
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+fi
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain
toolchain-funcs verify-sig
-if [[ ${PV} = *beta* ]]; then
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
+ EGIT_SUBMODULES=(
+ "*"
+ "-src/gcc"
+ )
+elif [[ ${PV} == *beta* ]]; then
+ # Identify the snapshot date of the beta release:
+ # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
betaver=${PV//*beta}
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
MY_P="rustc-beta"
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
+
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz
-> rustc-${PV}-src.tar.xz
+ verify-sig? (
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
+ -> rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/${MY_P}-src"
else
MY_P="rustc-${PV}"
- SRC="${MY_P}-src.tar.xz"
+ SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
+ verify-sig? (
https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/${MY_P}-src"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
fi
-DESCRIPTION="Systems programming language from Mozilla"
+DESCRIPTION="Systems programming language originally developed by Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC}
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
-"
-S="${WORKDIR}/${MY_P}-src"
-
# keep in sync with llvm ebuild of the same version as bundled one.
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai
LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE
@@ -40,17 +61,29 @@ 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_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}"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual
stable
+
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto
rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto
miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test
wasm ${ALL_LLVM_TARGETS[*]}"
+if [[ ${PV} = *9999* ]]; then
+ # These USE flags require nightly rust
+ IUSE+=" miri"
+fi
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}]") )" )
+ 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}')" )
@@ -58,7 +91,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep
'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -94,8 +127,6 @@ RDEPEND="${DEPEND}
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
rust-analyzer? ( rust-src )
test? ( ${ALL_LLVM_TARGETS[*]} )
wasm? ( llvm_targets_WebAssembly )
@@ -106,27 +137,27 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
CMAKE_WARN_UNUSED_CLI=no
QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/libexec/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/bin/.*
+ usr/lib/${PN}/${SLOT}/libexec/.*
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
"
QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
"
QA_PRESTRIPPED="
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
"
# An rmeta file is custom binary format that contains the metadata for the
crate.
# rmeta files do not support linking, since they do not contain compiled
object files.
# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
# causes double bootstrap
RESTRICT="test"
@@ -134,10 +165,8 @@ RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
PATCHES=(
- "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch
- "${FILESDIR}"/1.83.0-cross-compile-libz.patch
+ "${FILESDIR}"/1.85.0-cross-compile-libz.patch
"${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.84.1-fix-cross.patch # already upstreamed
)
clear_vendor_checksums() {
@@ -155,6 +184,48 @@ toml_usex() {
usex "${1}" true false
}
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ git-r3_src_unpack
+ mkdir "${S}/.cargo" || die # The vendor script has a check for
.cargo/config{,.toml}
+ touch "${S}/.cargo/config.toml" || die
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die
"Can't determine rust's sysroot")"
+ local rust_build=""
+ local rust_host=""
+ # Configure vendor to use the portage-provided toolchain. This
prevents it from
+ # attempting to fetch a `beta` toolchain from the internet.
+ cat <<- _EOF_ > "${T}/vendor-config.toml"
+ [build]
+ build = "$(rust_abi "${CBUILD}")"
+ host = ["$(rust_abi "${CHOST}")"]
+ target = ["$(rust_abi "${CHOST}")"]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ _EOF_
+ # We're using git sources so we need to run the Vendor script
+ # to ensure that all dependencies are present and up-to-date
+ mkdir "${S}/vendor" || die
+ # This also compiles the 'build helper', there's no way to
avoid this.
+ ${EPYTHON} "${S}"/x.py vendor -vvv
--config="${T}"/vendor-config.toml -j$(makeopts_jobs) ||
+ die "Failed to vendor dependencies"
+ # TODO: This has to be generated somehow, this is from a 1.84.x
tarball I had lying around.
+ cat <<- _EOF_ > "${S}/.cargo/config.toml"
+ [source.crates-io]
+ replace-with = "vendored-sources"
+
+ [source."git+https://github.com/rust-lang/team"]
+ git = "https://github.com/rust-lang/team"
+ replace-with = "vendored-sources"
+
+ [source.vendored-sources]
+ directory = "vendor"
+ _EOF_
+ else
+ verify-sig_src_unpack
+ fi
+}
+
pre_build_checks() {
local M=9216
# multiply requirements by 1.3 if we are doing x86-multilib
@@ -162,7 +233,9 @@ pre_build_checks() {
M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
fi
M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
+ if [[ ${PV} == *9999* ]]; then
+ M=$(( $(usex miri 128 0) + ${M} ))
+ fi
M=$(( $(usex rustfmt 256 0) + ${M} ))
# add 2G if we compile llvm and 256M per llvm_target
if ! use system-llvm; then
@@ -231,6 +304,11 @@ src_prepare() {
eapply_crate openssl-sys-0.9.102
"${FILESDIR}"/1.79.0-libressl-openssl-sys.patch
eapply_crate openssl-sys-0.9.104
"${FILESDIR}"/1.84.0-libressl-openssl-sys-0.9.104.patch
+ if [[ ${PV} = *9999* ]]; then
+ # We need to update / generate lockfiles for the workspace
+ ${CARGO} generate-lockfile --offline
+
+ fi
# Rust baselines to Pentium4 on x86, this patch lowers the baseline to
i586 when sse2 is not set.
if use x86; then
if ! use cpu_flags_x86_sse2; then
@@ -271,11 +349,14 @@ src_configure() {
# cargo and rustdoc are mandatory and should always be included
local tools='"cargo","rustdoc"'
use clippy && tools+=',"clippy"'
- use miri && tools+=',"miri"'
use rustfmt && tools+=',"rustfmt"'
use rust-analyzer &&
tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
use rust-src && tools+=',"src"'
+ if [[ ${PV} == *9999* ]]; then
+ use miri && tools+=',"miri"'
+ fi
+
local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't
determine rust's sysroot")"
# in case of prefix it will be already prefixed, as --print sysroot
returns full path
[[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a
directory"
@@ -284,15 +365,28 @@ 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)"
+ local build_channel
+ local build_miri="false"
+ case "${PV}" in
+ *9999*)
+ build_channel="nightly"
+ ;;
+ *beta*)
+ build_channel="beta"
+ ;;
+ *)
+ build_channel="stable"
+ ;;
+ esac
cat <<- _EOF_ > "${S}"/config.toml
# https://github.com/rust-lang/rust/issues/135358 (bug #947897)
profile = "dist"
@@ -303,7 +397,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
@@ -358,7 +452,7 @@ src_configure() {
profiler = true
cargo-native-static = false
[install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
sysconfdir = "etc"
docdir = "share/doc/rust"
bindir = "bin"
@@ -381,8 +475,7 @@ src_configure() {
$(if ! tc-is-cross-compiler; then
echo "default-linker = \"$(tc-getCC)\""
fi)
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
+ channel = "${build_channel}"
description = "gentoo"
rpath = true
verbose-tests = true
@@ -601,11 +694,11 @@ src_test() {
src_install() {
DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
- docompress /usr/lib/${PN}/${PV}/share/man/
+ docompress /usr/lib/${PN}/${SLOT}/share/man/
# bug #689562, #689160
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
+ rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die
local symlinks=(
cargo
@@ -617,7 +710,9 @@ src_install() {
)
use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
+ if [[ ${PV} = *9999* ]]; then
+ use miri && symlinks+=( miri cargo-miri )
+ fi
use rustfmt && symlinks+=( rustfmt cargo-fmt )
use rust-analyzer && symlinks+=( rust-analyzer )
@@ -627,34 +722,34 @@ src_install() {
# we need realpath on /usr/bin/* symlink return
version-appended binary path.
# so /usr/bin/rustc should point to
/usr/lib/rust/<ver>/bin/rustc-<ver>
# need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
+ local ver_i="${i}-${PV%%_*}"
+ if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}"
"${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
+ ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}"
"${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
else
ewarn "${i} symlink requested, but source file not
found"
ewarn "please report this"
fi
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
done
# symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- use rust-analyzer && dosym "${PV}/libexec"
"/usr/lib/${PN}/libexec-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
+ dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
+ use rust-analyzer && dosym "${SLOT}/libexec"
"/usr/lib/${PN}/libexec-${SLOT}"
+ dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
+ dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
+ dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
+ MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
_EOF_
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
# note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
/usr/bin/cargo
/usr/bin/rustdoc
/usr/bin/rust-gdb
@@ -670,7 +765,7 @@ src_install() {
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
- if use miri; then
+ if [[ ${SLOT} == *9999* ]] && use miri; then
echo /usr/bin/miri >> "${T}/provider-${P}"
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
fi
@@ -684,11 +779,11 @@ src_install() {
fi
insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
+ doins "${T}/provider-${PN}-${SLOT}"
if use dist; then
"${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml
-j$(makeopts_jobs) || die
- insinto "/usr/lib/${PN}/${PV}/dist"
+ insinto "/usr/lib/${PN}/${SLOT}/dist"
doins -r "${S}/build/dist/."
fi
}