dev-lang/rust: Sync Gentoo ebuild file

This commit is contained in:
Kai Lüke 2020-07-15 13:34:00 +02:00
parent cf049abbd9
commit 34c2cdcc8e

View File

@ -3,7 +3,7 @@
EAPI=7 EAPI=7
PYTHON_COMPAT=( python3_{6,7} ) PYTHON_COMPAT=( python3_{6,7,8} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
@ -60,7 +60,7 @@ LLVM_MAX_SLOT=10
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )" BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
# libgit2 should be at least same as bungled into libgit-sys #707746 # libgit2 should be at least same as bundled into libgit-sys #707746
COMMON_DEPEND=" COMMON_DEPEND="
>=dev-libs/libgit2-0.99:= >=dev-libs/libgit2-0.99:=
net-libs/libssh2:= net-libs/libssh2:=
@ -181,9 +181,11 @@ src_configure() {
done done
if use wasm; then if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi if use system-llvm; then
if [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then # un-hardcode rust-lld linker for this target
rust_targets="${rust_targets},\"aarch64-unknown-linux-gnu\"" # https://bugs.gentoo.org/715348
sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
fi
fi fi
rust_targets="${rust_targets#,}" rust_targets="${rust_targets#,}"
@ -291,19 +293,6 @@ src_configure() {
EOF EOF
fi fi
done done
if [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
printf '#!/bin/sh\naarch64-cros-linux-gnu-gcc --sysroot=/usr/aarch64-cros-linux-gnu "$@"' > ${S}/cc.sh
printf '#!/bin/sh\naarch64-cros-linux-gnu-g++ --sysroot=/usr/aarch64-cros-linux-gnu "$@"' > ${S}/cxx.sh
chmod +x ${S}/cc.sh ${S}/cxx.sh
cat <<- EOF >> "${S}"/config.toml
[target.aarch64-unknown-linux-gnu]
cc = "${S}/cc.sh"
cxx = "${S}/cxx.sh"
linker = "${S}/cc.sh"
ar = "aarch64-cros-linux-gnu-ar"
EOF
fi
if use wasm; then if use wasm; then
cat <<- EOF >> "${S}"/config.toml cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown] [target.wasm32-unknown-unknown]
@ -328,7 +317,7 @@ src_configure() {
# ) # )
# no extra hand holding is done, no target transformations, all # no extra hand holding is done, no target transformations, all
# values are passed as-is with just basic checks, so it's up to user to supply correct values # values are passed as-is with just basic checks, so it's up to user to supply correct values
# valid rust targets can be obtained with # valid rust targets can be obtained with
# rustc --print target-list # rustc --print target-list
# matching cross toolchain has to be installed # matching cross toolchain has to be installed
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)