summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/rust/rust-1.84.1-r2.ebuild')
-rw-r--r--dev-lang/rust/rust-1.84.1-r2.ebuild43
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