3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{9..11} )
|
|
6 |
PYTHON_COMPAT=( python3_{9..12} )
|
7 |
7 |
|
8 |
8 |
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
|
9 |
9 |
multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
|
... | ... | |
19 |
19 |
SLOT="stable/${ABI_VER}"
|
20 |
20 |
MY_P="rustc-${PV}"
|
21 |
21 |
SRC="${MY_P}-src.tar.xz"
|
22 |
|
KEYWORDS="amd64 arm arm64 ~mips ~ppc ppc64 ~riscv sparc x86"
|
|
22 |
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
23 |
23 |
fi
|
24 |
24 |
|
25 |
|
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).2"
|
|
25 |
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
26 |
26 |
|
27 |
27 |
DESCRIPTION="Systems programming language from Mozilla"
|
28 |
28 |
HOMEPAGE="https://www.rust-lang.org/"
|
... | ... | |
34 |
34 |
"
|
35 |
35 |
|
36 |
36 |
# keep in sync with llvm ebuild of the same version as bundled one.
|
37 |
|
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
|
38 |
|
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
|
37 |
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP430
|
|
38 |
NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore )
|
39 |
39 |
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
40 |
40 |
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
|
41 |
41 |
|
42 |
42 |
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
43 |
43 |
|
44 |
|
IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
|
44 |
IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
45 |
45 |
|
46 |
46 |
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
47 |
47 |
# we need to *really* make sure we're not pulling more than one slot
|
... | ... | |
49 |
49 |
|
50 |
50 |
# How to use it:
|
51 |
51 |
# List all the working slots in LLVM_VALID_SLOTS, newest first.
|
52 |
|
LLVM_VALID_SLOTS=( 15 )
|
|
52 |
LLVM_VALID_SLOTS=( 16 )
|
53 |
53 |
LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
|
54 |
54 |
|
55 |
55 |
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
|
... | ... | |
162 |
162 |
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
|
163 |
163 |
|
164 |
164 |
PATCHES=(
|
165 |
|
"${FILESDIR}"/1.68.0-ignore-broken-and-non-applicable-tests.patch
|
|
165 |
"${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch
|
166 |
166 |
"${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
|
167 |
167 |
"${FILESDIR}"/1.67.0-doc-wasm.patch
|
168 |
168 |
)
|
... | ... | |
362 |
362 |
*)
|
363 |
363 |
;;
|
364 |
364 |
esac)
|
|
365 |
enable-warnings = false
|
365 |
366 |
[llvm.build-config]
|
366 |
367 |
CMAKE_VERBOSE_MAKEFILE = "ON"
|
367 |
368 |
CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}"
|
... | ... | |
429 |
430 |
deny-warnings = $(usex wasm $(usex doc false true) true)
|
430 |
431 |
backtrace-on-ice = true
|
431 |
432 |
jemalloc = false
|
|
433 |
lto = "$(usex lto fat off)"
|
432 |
434 |
[dist]
|
433 |
435 |
src-tarball = false
|
434 |
436 |
compression-formats = ["xz"]
|
|
437 |
compression-profile = "balanced"
|
435 |
438 |
_EOF_
|
436 |
439 |
|
437 |
440 |
for v in $(multilib_get_enabled_abi_pairs); do
|