commit: e4bfd659305919bfc7d180bca8bb5d625949c23a
Author: orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Thu Oct 2 18:19:12 2025 +0000
Commit: orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu Oct 2 18:19:12 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=e4bfd659
dev-lang/rust: sync ::gentoo
Signed-off-by: orbea <orbea <AT> riseup.net>
dev-lang/rust/Manifest | 8 ++++
dev-lang/rust/rust-1.74.1-r101.ebuild | 70 ++++++++++++++++++++++------------
dev-lang/rust/rust-1.75.0-r101.ebuild | 71 ++++++++++++++++++++++------------
dev-lang/rust/rust-1.76.0-r101.ebuild | 69 +++++++++++++++++++++------------
dev-lang/rust/rust-1.77.1-r101.ebuild | 68 ++++++++++++++++++++++-----------
dev-lang/rust/rust-1.78.0-r101.ebuild | 70 ++++++++++++++++++++++------------
dev-lang/rust/rust-1.79.0-r101.ebuild | 70 ++++++++++++++++++++++------------
dev-lang/rust/rust-1.80.1-r101.ebuild | 69 ++++++++++++++++++++++-----------
dev-lang/rust/rust-1.81.0-r101.ebuild | 72 ++++++++++++++++++++++-------------
9 files changed, 374 insertions(+), 193 deletions(-)
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 5734045..8dace66 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,3 +1,11 @@
+DIST rust-patches-1.74.1-r101.tar.bz2 3887 BLAKE2B
0afb0252fe56ac8c572fe20acd989f9ef3f33cb8134cdb8fbf5cb064156556aedeb226fd50af465f35f656ebd0c0a163ca060490f44811def8535bad70f5f24d
SHA512
7253728000d49fd8533182aa8961e70aef41a48e2df03e72d1ea93ca7abb924bbe1689692d874f2b18469e5a54ea572e55ddc18c9f4d81d1e8ec380f2d72095b
+DIST rust-patches-1.75.0-r101.tar.bz2 4419 BLAKE2B
389a688a6e92d5f9325bade125b006deb7453d9d7ae0483c8ec0cf580f95eb03a65f600e79ed354029b4b91ab8f66929877bdc6ebf83e7b8d3b1d9451fecd8b6
SHA512
6f36e9e13e590bff72483ea4364c045579858da5db3868048f79e0dd6ac896aaf00a1fb9d156820e742a1f5ec412ddfa897677133669b77a4f219c6d90365775
+DIST rust-patches-1.76.0-r101.tar.bz2 5513 BLAKE2B
52816dffac969520e7b73ceaae1201bb7abba129da1021e8e39ccd6e471281c51cf005221589c7b08fc328be54ba2d6134fc8e240cb15f0b877e370009937084
SHA512
a65d306d709e99c688e4febb439a60f9ac8b506a86fdb3021782dfbb8991ddcc07adcd19494a8e76233ad2bec7f23896b6eb80c13929b7c997fdc3fd45f8b63a
+DIST rust-patches-1.77.1-r101.tar.bz2 4937 BLAKE2B
2b6cdb6d61c7bde5cfaaeea4ae0076acc4d43375805567a48d10b4c9a622ad6234dc5725c30df7ab26d8d67566f405d89b1fff384f263cf3dd404e4298a53801
SHA512
e9d16860549f2698957cbd8dd46278a5706c630ff78b8d1199be1b9ba724e60e8ae7020b0a30695841f77053294c043e5957425573db709f30a7b40d4cb53613
+DIST rust-patches-1.78.0-r101.tar.bz2 4098 BLAKE2B
a62ed3ca1b0ac51c6b0b01653b5ea6e831794de983f72714da36ba508aef655b9255498d7fd0c05c5034ef70a319fc00b913c0fb81f7ae17721ee53ff5e45f92
SHA512
cbe95306fe97224f2921a5846204d49a84276a38047ad8f8256fdd349fd45a63b3462810c75384b079e2141ebee3288987e9a4510e2605a5ecbb8612084694e9
+DIST rust-patches-1.79.0-r101.tar.bz2 4102 BLAKE2B
42c4202d778c286122bd00f758ad3ecc6c3fc2a3d8dda7bf49baec126a4ae1112846b0d1314d9331db99f762e971815fdd3b6e47fedb7a9ecedafbf2ffa08649
SHA512
7e518ccba28bafaf03e5512c4567e3b63d17a30e8df025a8ffe1d62c521db2986cdeb6a25cdacafe1e27d05eef01bed43ad42a9dc6a9d4bda1cf7cb98505673e
+DIST rust-patches-1.80.1-r101.tar.bz2 3609 BLAKE2B
d13296fb44c1ab4b6bc6133b64baf7073b686f4a93b0a75cde4e73f90ee84d009ea9c931c9244081e2c86b40a91829f3768e27c339a4e3d457cb01756f689fe6
SHA512
8c9e0d06af8ce2387355a8917383686f05021b4313c9b4f0a1eaf1a81fb08323686cff6ce06e013b6919f25a50a2a5fb5d0c605740e46c68677c4d665c069b41
+DIST rust-patches-1.81.0-r101.tar.bz2 3607 BLAKE2B
7a200d740920b965f6ef97e23c1f0b20b5e0f055b0c3655c85d55cd11287c07c0c4b7149bccb4ab1a7982c5a8c75d8ad44272abac131f90bd9de161821548f80
SHA512
64af65287ed551143ba2bf2e6828e3ccdb5e92b393d8ad9fe9fa3e6b38c67c856f9e37caa9cf1441ce1c7a8e37e22d78f6d15d97713df66abd95798ae9d2da9f
DIST rust-patches-1.86.0-r2-1.tar.bz2 6308 BLAKE2B
eca644026942bd729a748df57dd67465bbec96b2d18a71c58fe04bb8e2514aabb1ca02cbd3761be5283328a3b728e063b1b85ea78f4f242c182071c44b8cb148
SHA512
1f1edcf76c64b0555366253e21d759e904a752746c2e5d88aba6e31f5ee2a2b0b06275674d2fc3acc42f589905eddc006d788f95b48a5d79a6ab767251d934da
DIST rust-patches-1.87.0-r1-1.tar.bz2 5116 BLAKE2B
783ad21464a7e393d0aee506119be12b0137a7d360402b74f36b6fde154c2804cc0779da63875977d09f7e9f2d273ff41dd189bbe4eb239a314fea27bbaa704c
SHA512
8c67e4e43bf2afb226f70bb2a03aad0abfd525cd484c8c9ff663da06d63b471f4f1b48169d952a6a6c14258c0029dedea14aadaaca2ee75389df65b806188363
DIST rust-patches-1.88.0.tar.bz2 4062 BLAKE2B
64168ffa608f2edf2e0b3d079152c3b5dd59d0cea29078894f286bf91488e2e7769c55ede2d43769368d2147b46699d1bf981190d6800dc3d41c736289122eaf
SHA512
b565acfb4d1146e52b1fb66b4a242927407cc34f1b38c2a100135cbbde24c8374af1997bc22069cca25f33cc8d747e56391f3d98a2d4e13dc0abcec0d6f88b0b
diff --git a/dev-lang/rust/rust-1.74.1-r101.ebuild
b/dev-lang/rust/rust-1.74.1-r101.ebuild
index e416e43..c3b9864 100644
--- a/dev-lang/rust/rust-1.74.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.74.1-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 17 )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -16,27 +18,38 @@ MRUSTC_RUST_VERSION="1.74.0"
inherit check-reqs cmake edo estack flag-o-matic llvm-r1 multiprocessing
multilib multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ 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 ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Language empowering everyone to build reliable and efficient
software"
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
@@ -54,12 +67,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto
miri mrustc-bootstrap nightly parallel-compiler 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 mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src
+system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
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}]") )" )
+ 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
@@ -151,13 +164,6 @@ RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-PATCHES=(
- "${FILESDIR}"/1.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -254,9 +260,24 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys "${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
# We'll need to revert this after the bootstrap.
if use mrustc-bootstrap; then
@@ -573,7 +594,8 @@ llvm_bootstrap() {
"-G Ninja"
"-DLLVM_TARGET_ARCH=${CFG_COMPILER_HOST_TRIPLE%%-*}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${CFG_COMPILER_HOST_TRIPLE}"
-
"-DLLVM_TARGETS_TO_BUILD=${BOOTSTRAP_LLVM_TARGETS:=X86;ARM;AArch64}"
#;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX
+ #;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX
+
"-DLLVM_TARGETS_TO_BUILD=${BOOTSTRAP_LLVM_TARGETS:=X86;ARM;AArch64}"
"-DLLVM_ENABLE_ASSERTIONS=OFF"
"-DLLVM_INCLUDE_EXAMPLES=OFF"
"-DLLVM_INCLUDE_TESTS=OFF"
@@ -813,7 +835,7 @@ mrustc_bootstrap() {
src_compile() {
use mrustc-bootstrap && mrustc_bootstrap
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -869,7 +891,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
diff --git a/dev-lang/rust/rust-1.75.0-r101.ebuild
b/dev-lang/rust/rust-1.75.0-r101.ebuild
index 4400d4d..f30a382 100644
--- a/dev-lang/rust/rust-1.75.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.75.0-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 17 )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ 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 ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Language empowering everyone to build reliable and efficient
software"
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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,16 +154,6 @@ RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-PATCHES=(
- "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch
- "${FILESDIR}"/1.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- # This patch shouldn't be necessary for later versions of Rust because
its
- # code was backported from master.
- "${FILESDIR}"/1.75.0-handle-vendored-sources.patch
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -235,8 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys "${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
+
default
}
@@ -536,7 +557,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -592,7 +613,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
diff --git a/dev-lang/rust/rust-1.76.0-r101.ebuild
b/dev-lang/rust/rust-1.76.0-r101.ebuild
index 7582f22..d943df0 100644
--- a/dev-lang/rust/rust-1.76.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.76.0-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 17 )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ 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 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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,15 +154,6 @@ RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-PATCHES=(
- "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch
- "${FILESDIR}"/1.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.75.0-handle-vendored-sources.patch
- "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -234,9 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.90
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys "${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -454,7 +475,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -510,7 +531,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
diff --git a/dev-lang/rust/rust-1.77.1-r101.ebuild
b/dev-lang/rust/rust-1.77.1-r101.ebuild
index 1c4722b..974633b 100644
--- a/dev-lang/rust/rust-1.77.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.77.1-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 17 )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ 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 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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,14 +154,6 @@ RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-PATCHES=(
- "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch
- "${FILESDIR}"/1.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -233,9 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.92
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys "${FILESDIR}"/1.77.1-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -536,7 +558,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -592,7 +614,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
diff --git a/dev-lang/rust/rust-1.78.0-r101.ebuild
b/dev-lang/rust/rust-1.78.0-r101.ebuild
index 2e7eec2..4fda805 100644
--- a/dev-lang/rust/rust-1.78.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.78.0-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 18 )
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+ 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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,14 +154,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.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.79.0-revert-8c40426.patch
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -233,9 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.92
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys "${FILESDIR}"/1.77.1-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -538,7 +560,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -594,7 +616,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
@@ -681,7 +703,7 @@ src_install() {
doins "${T}/provider-${P}"
if use dist; then
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml
-j$(makeopts_jobs) || die
+ "${EPYTHON}" ./x.py dist -v --config="${S}"/config.toml
-j$(makeopts_jobs) || die
insinto "/usr/lib/${PN}/${PV}/dist"
doins -r "${S}/build/dist/."
fi
diff --git a/dev-lang/rust/rust-1.79.0-r101.ebuild
b/dev-lang/rust/rust-1.79.0-r101.ebuild
index 9331016..3aa88cb 100644
--- a/dev-lang/rust/rust-1.79.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.79.0-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 18 )
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+ 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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,14 +154,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.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.79.0-revert-8c40426.patch
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -233,9 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.92
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys-0.9.102
"${FILESDIR}"/1.79.0-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -538,7 +560,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -594,7 +616,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
@@ -681,7 +703,7 @@ src_install() {
doins "${T}/provider-${P}"
if use dist; then
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml
-j$(makeopts_jobs) || die
+ "${EPYTHON}" ./x.py dist -v --config="${S}"/config.toml
-j$(makeopts_jobs) || die
insinto "/usr/lib/${PN}/${PV}/dist"
doins -r "${S}/build/dist/."
fi
diff --git a/dev-lang/rust/rust-1.80.1-r101.ebuild
b/dev-lang/rust/rust-1.80.1-r101.ebuild
index be84364..8968b03 100644
--- a/dev-lang/rust/rust-1.80.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.80.1-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 18 )
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,26 +14,38 @@ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib
multilib-build \
optfeature 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"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+ 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
@@ -49,12 +63,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -140,13 +154,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.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.79.0-revert-8c40426.patch
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -232,9 +239,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.92
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys-0.9.102
"${FILESDIR}"/1.79.0-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -537,7 +560,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -593,7 +616,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
@@ -678,7 +701,7 @@ src_install() {
doins "${T}/provider-${P}"
if use dist; then
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml
-j$(makeopts_jobs) || die
+ "${EPYTHON}" ./x.py dist -v --config="${S}"/config.toml
-j$(makeopts_jobs) || die
insinto "/usr/lib/${PN}/${PV}/dist"
doins -r "${S}/build/dist/."
fi
diff --git a/dev-lang/rust/rust-1.81.0-r101.ebuild
b/dev-lang/rust/rust-1.81.0-r101.ebuild
index 26b98ff..5323418 100644
--- a/dev-lang/rust/rust-1.81.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.81.0-r101.ebuild
@@ -4,7 +4,9 @@
EAPI=8
LLVM_COMPAT=( 18 )
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
+
+RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
@@ -12,27 +14,39 @@ 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"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+ 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
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1"
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
@@ -50,12 +64,12 @@ done
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-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[*]}"
+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[*]}"
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}]") )" )
+ 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
@@ -141,16 +155,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.74.1-cross-compile-libz.patch
- "${FILESDIR}"/1.67.0-doc-wasm.patch
- "${FILESDIR}"/1.79.0-revert-8c40426.patch
- "${FILESDIR}/1.81.0-backport-bug937164.patch"
- "${FILESDIR}/1.81.0-backport-llvm-pr101761.patch"
- "${FILESDIR}/1.81.0-backport-llvm-pr101766.patch"
-)
-
clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" ||
die
}
@@ -236,9 +240,25 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if use verify-sig ; then
+ # Patch tarballs are not signed (but we trust Gentoo infra)
+ verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz{,.asc}
+ default
+ else
+ default
+ fi
+}
+
src_prepare() {
eapply_crate openssl-sys-0.9.92
"${FILESDIR}"/1.72.0-libressl-openssl-sys.patch
eapply_crate openssl-sys-0.9.102
"${FILESDIR}"/1.79.0-libressl-openssl-sys.patch
+
+ # Commit patches to the appropriate branch in proj/rust-patches.git
+ # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
+ PATCHES=(
+ "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
+ )
default
}
@@ -541,7 +561,7 @@ src_configure() {
}
src_compile() {
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
@@ -597,7 +617,7 @@ src_test() {
}
src_install() {
- DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv
--config="${S}"/config.toml -j$(makeopts_jobs) || die
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -v
--config="${S}"/config.toml -j$(makeopts_jobs) || die
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
@@ -682,7 +702,7 @@ src_install() {
doins "${T}/provider-${P}"
if use dist; then
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml
-j$(makeopts_jobs) || die
+ "${EPYTHON}" ./x.py dist -v --config="${S}"/config.toml
-j$(makeopts_jobs) || die
insinto "/usr/lib/${PN}/${PV}/dist"
doins -r "${S}/build/dist/."
fi