diff options
Diffstat (limited to 'dev-lang/rust/rust-1.84.1-r2.ebuild')
| -rw-r--r-- | dev-lang/rust/rust-1.84.1-r2.ebuild | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/dev-lang/rust/rust-1.84.1-r2.ebuild b/dev-lang/rust/rust-1.84.1-r2.ebuild index a79e51dfd654..4cd383929c72 100644 --- a/dev-lang/rust/rust-1.84.1-r2.ebuild +++ b/dev-lang/rust/rust-1.84.1-r2.ebuild @@ -6,32 +6,46 @@ EAPI=8 LLVM_COMPAT=( 19 ) PYTHON_COMPAT=( python3_{10..13} ) +RUST_PATCH_VER=${PVR} + RUST_MAX_VER=${PV} RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" 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 + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + 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 + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + 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" 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 @@ -146,13 +160,6 @@ 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.67.0-doc-wasm.patch - "${FILESDIR}"/1.84.1-fix-cross.patch # already upstreamed -) - clear_vendor_checksums() { sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die } @@ -232,6 +239,10 @@ pkg_setup() { } src_prepare() { + PATCHES=( + "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" + ) + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi |
