summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin22664 -> 22663 bytes
-rw-r--r--dev-lang/execline/Manifest2
-rw-r--r--dev-lang/execline/execline-2.9.6.1.ebuild2
-rw-r--r--dev-lang/go/Manifest4
-rw-r--r--dev-lang/go/go-1.24.0.ebuild137
-rw-r--r--dev-lang/go/go-9999.ebuild41
-rw-r--r--dev-lang/pypy/Manifest2
-rw-r--r--dev-lang/pypy/pypy-3.11.7.3.18_p20250221.ebuild226
-rw-r--r--dev-lang/pypy3-exe/Manifest2
-rw-r--r--dev-lang/pypy3-exe/pypy3-exe-3.11.7.3.18_p20250221.ebuild125
-rw-r--r--dev-lang/rust-bin/Manifest234
-rw-r--r--dev-lang/rust-bin/metadata.xml1
-rw-r--r--dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild14
-rw-r--r--dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild)12
-rw-r--r--dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild)14
-rw-r--r--dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild)8
-rw-r--r--dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild)8
-rw-r--r--dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild)8
-rw-r--r--dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild)8
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild252
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild)10
-rw-r--r--dev-lang/rust-bin/rust-bin-1.85.0.ebuild319
-rw-r--r--dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild317
-rw-r--r--dev-lang/rust-bin/rust-bin-9999.ebuild317
-rw-r--r--dev-lang/rust-common/Manifest12
-rw-r--r--dev-lang/rust-common/rust-common-1.84.0.ebuild58
-rw-r--r--dev-lang/rust-common/rust-common-1.84.1.ebuild2
-rw-r--r--dev-lang/rust-common/rust-common-1.85.0.ebuild72
-rw-r--r--dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild72
-rw-r--r--dev-lang/rust-common/rust-common-9999.ebuild72
-rw-r--r--dev-lang/rust/Manifest36
-rw-r--r--dev-lang/rust/files/1.85.0-cross-compile-libz.patch26
-rw-r--r--dev-lang/rust/rust-1.71.1-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.74.1-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.75.0-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.76.0-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.77.1-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.78.0-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.79.0-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.80.1-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.81.0-r101.ebuild2
-rw-r--r--dev-lang/rust/rust-1.82.0-r102.ebuild2
-rw-r--r--dev-lang/rust/rust-1.83.0-r2.ebuild2
-rw-r--r--dev-lang/rust/rust-1.84.1-r1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.85.0.ebuild (renamed from dev-lang/rust/rust-1.84.0-r1.ebuild)209
-rw-r--r--dev-lang/rust/rust-1.86.0_beta20250218.ebuild794
-rw-r--r--dev-lang/rust/rust-9999.ebuild792
47 files changed, 3660 insertions, 574 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 91669bdd40ae..b98e8b1f59b4 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest
index 9f89642533dc..77ad3fb506b1 100644
--- a/dev-lang/execline/Manifest
+++ b/dev-lang/execline/Manifest
@@ -1,5 +1,5 @@
DIST execline-2.9.6.0.tar.gz 111660 BLAKE2B 42baed36228b1e6a370d6d4c18829be7f517812ce9e3838e5b102d0fe58ac48ecd84f17caef89e9a07b3b149ed9b38b3b00f7eef810c231995c8e5ecbf07a770 SHA512 1c5233b0f17b4c92ab2e9e8700b47c8429ad97962bcb7c83190d0b3251b26584e591d77418eca77e8112cdecd24eec50aaca7da1dbb506120931bbda39f2b7cb
DIST execline-2.9.6.1.tar.gz 111566 BLAKE2B 199fe6ac6a08b48537abd7868db1332b60bff8e2fa19ba697e15a6d8b0d8969908d0740fdfcf4717fbbc1a75d980a6f2844b1015e52afed26ce1eb450d4e48bb SHA512 86e20a63926cc03cb81e07c9cbea9da5d0384436a82b93e331da6b3ced33829baf5adae4286d2c053b21474d41602d53804ff0bc280da60f7bccc64cbe5f601e
EBUILD execline-2.9.6.0.ebuild 1132 BLAKE2B 8ac47516f9f4d89f44a6b86988a6df1a1f5639868f24f29691a1e6f4f9c7cd1e46520e82f37577d6bf31e81200e70aee08e4cbc6966dd4274772a0e65307dd24 SHA512 97932b7287d2cd30b625425de149bb3ca701e2902637146c90cd6e6ac8251b0e533832b060d93efa5efb66415c0aa5392ddb49a17ddc200e6eab6752663578dc
-EBUILD execline-2.9.6.1.ebuild 1133 BLAKE2B 279e49fdee57625613ade2a2bca98ca11f084f992cdfcb49e6a3a98c7aa6e85b8351c537897d1d3bcfbc7aa9432e658c5b1240841cde52e9ea7a5053fddd8798 SHA512 2239d3c4b76f272803eb097b01a24ac2c3e1d30cd760f83a41e431886d8ef522ab29deea39b7cc2b3873514a4d5893bf24023450695a89eec78116bc36c2c67b
+EBUILD execline-2.9.6.1.ebuild 1140 BLAKE2B 56b8184ffc01ecf9ddd6a1def81871fb4669a64dd42ecf8ab11069df545c494c56adb97dd9221e81f0e7b22db30f6a5bb026d1bf728c7b4d3e553f9bc092d2d7 SHA512 388ac6c69f5385c751afc97b31ebb0095a6149e6bb326727505320756e7510263b0ad8df9f20cf7d3eb89d0d506218bc182cdeb6e8a7ebd96e41b4bbb5d183d6
MISC metadata.xml 585 BLAKE2B ce0671014512c49b041f6c47002603a15f0f5d7f23c356465fff024506fb261096aa757cc1c707501f5be572cea9d925a25039d1549d31852ffaf9b2f17b5cb3 SHA512 bddd917f615e8ff772889a4da992c9201f6e32982374ffa29e7a8c3fce8d7a4f409c3b3ffe8c989e7802c2b321d6cfc5bb37017aa75dc38e3026c1de48bb0090
diff --git a/dev-lang/execline/execline-2.9.6.1.ebuild b/dev-lang/execline/execline-2.9.6.1.ebuild
index 6e4c12cc7077..31c5544aebf8 100644
--- a/dev-lang/execline/execline-2.9.6.1.ebuild
+++ b/dev-lang/execline/execline-2.9.6.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2).4"
-KEYWORDS="~alpha amd64 ~arm ~mips ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv x86"
RDEPEND=">=dev-libs/skalibs-2.14.0.0:="
DEPEND="${RDEPEND}"
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 7fc27ab928a1..ba2992dfac3d 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -4,9 +4,11 @@ DIST go1.22.11.src.tar.gz 27565913 BLAKE2B d4b8f746846f0ba45307ecf732e035c262848
DIST go1.22.12.src.tar.gz 27566409 BLAKE2B ea8ce4abd7d6548aef14c0803a07b4beba8728f40f96db5feb6eb4b48fce5866fbccd0b2d1e670dafd2e58e6ec814ef6f83a16ed6b6214be76597748bf87ec9d SHA512 de498f72c398c5587abb6e6943a21b1b9835fde16dbda4d64a1ad847f5b2399ed289fe327255dcde104ad9e7f3fd6c520ddb13ee1900ba5d5c45aa5e1c1e30c8
DIST go1.23.5.src.tar.gz 28179014 BLAKE2B 6fe6101054a0c10ce415aea65367a48ef8397c88d66bad01b7c72107a6c60daf0b9a47f7c1cd6c8da9855ab04309f25941cc867e6a9f90ac51d1ab0c54662313 SHA512 b04317afeab2d0ced7c36b8682dd32ac085d95d874cf3f614daa34859d7f7f2b75138132e7a64e237c6b4d711d5b03a4d20533f92a44840915630f4ea7cfafa2
DIST go1.23.6.src.tar.gz 28179132 BLAKE2B 25c988547604c35de65aedfdee5af9f35f7a1c43f634c0147373d9c86baf2bb10068463f70013ef60acd3088149eb16502958b1ca63d7cee310e32eaddf1578a SHA512 c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3
+DIST go1.24.0.src.tar.gz 30663922 BLAKE2B 1a74d268ad2bcfd4773eb9d24f0618491680a5347edba60606b3f50144e2d8879509b2640046e5fa535ff126958deb49c4224443210e3bd79523e65208b616e3 SHA512 36ba9a3a541208fd33aa49b969d892578e209570541d2b6ca6ff784250d8b6777597d347b823c6026acf0c2741b4abc9012693004e623a1434b06cfecdbebaa8
EBUILD go-1.22.11-r1.ebuild 4275 BLAKE2B b6bbced3829a2dfc6febff014bddd55e895316008726e61a0c297fceec9e531e8b32defb3fbd6c1dbdb61c6e86fb65433f507e476df7294a695d24bfed7bd4b8 SHA512 f484f8b86479d936350eaf13bdd7797fb26454d09b62c0408748d3eb1e4d162b4a89d044dc40f277ec7d270b08b64cce913e6654ee5567c770d069332fed089b
EBUILD go-1.22.12.ebuild 4279 BLAKE2B 7552c89cc57cc348b1c2596faf9e4813723038de8fa4b6f86bc804acb74420166d1e552c217e87bff1dcc82a36e4dfe7cb8fe8875a2a856fc891769e8e3e18f5 SHA512 8fb237ae4b4797304bb9629369591e9b3918c68823477ccd6ff0c1ad22f394c10f8791dff8182d0a0e77b7eda4281646120ad60cfc378a02341cb1836b7b8319
EBUILD go-1.23.5-r1.ebuild 4175 BLAKE2B d1e34e725ea51929715268d3009f5035967231a4a35c59779c898d352d3d0d9a8a6b03fee8a847215ff2b057bdf980fb11b6b905b33ee3ccc8a215eb348d5317 SHA512 8d792f83f8abf11353fa5009fa29a946cc7e0c8a2f2df7cf90e5acae8aaa68c2cd239ef03c324a61316bb217ea14f0b6d7514101c5d158f3b3bc3beb74dade27
EBUILD go-1.23.6.ebuild 4179 BLAKE2B f98a28b82fd2277a7dd8d07d0a2c3f5cc1d7705ab4c429f93f6567b265fa1f3f6b2a9597333188aa304982285ac1ce6abc6388d899b1a608f708f1915f3c117b SHA512 afc824cbd3d5b70df77b21ad5851952b5ea660e70a4f38c56556e6f8643f2eced12fec6e4333f6ffddb19ffab1fbbf2363375bfc345693d00867b3fbe5eec6b9
-EBUILD go-9999.ebuild 4281 BLAKE2B 7213df19f71554d13dc3510253a906962a217a193ce0461975f946e2c5277eee889150c588f83f0be14eccf26249488c90151ae155633c91695cd3d35c869c95 SHA512 f747c67f574e1d7c19f3eb7c03b74599652744fdd989a964d2da778134461cd31cc861b9f63ee8a11b665f1aea468412bea64cc19df6b141cf468c39b7194c3f
+EBUILD go-1.24.0.ebuild 3409 BLAKE2B 7091b23bb2ddfce86b53e19bb261e88ecd7a713d076c63f06ac5f1f8123302b9595e18c77b3503dc458ee870086d00ceeac5b8a5d1202d3bed11371cd9e10a65 SHA512 4513344724b06ca387584cf5cc415a4127a8bec562b9f39ffbfbd1230f1285742b4ae651b504e42c6c946a77b8da79725e13b4c575349e6fa54224f4719ead12
+EBUILD go-9999.ebuild 3409 BLAKE2B 7091b23bb2ddfce86b53e19bb261e88ecd7a713d076c63f06ac5f1f8123302b9595e18c77b3503dc458ee870086d00ceeac5b8a5d1202d3bed11371cd9e10a65 SHA512 4513344724b06ca387584cf5cc415a4127a8bec562b9f39ffbfbd1230f1285742b4ae651b504e42c6c946a77b8da79725e13b4c575349e6fa54224f4719ead12
MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a
diff --git a/dev-lang/go/go-1.24.0.ebuild b/dev-lang/go/go-1.24.0.ebuild
new file mode 100644
index 000000000000..4208235a029b
--- /dev/null
+++ b/dev-lang/go/go-1.24.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+# See "Bootstrap" in release notes
+GO_BOOTSTRAP_MIN=1.22.12
+MY_PV=${PV/_/}
+
+inherit go-env toolchain-funcs
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+# KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ ;;
+ esac
+esac
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://go.dev"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="cpu_flags_x86_sse2"
+
+RDEPEND="
+arm? ( sys-devel/binutils[gold(-)] )
+arm64? ( sys-devel/binutils[gold(-)] )"
+BDEPEND="|| (
+ >=dev-lang/go-${GO_BOOTSTRAP_MIN}
+ >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
+
+# the *.syso files have writable/executable stacks
+QA_EXECSTACK='*.syso'
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# This package triggers "unrecognized elf file(s)" notices on riscv.
+# https://bugs.gentoo.org/794046
+QA_PREBUILT='.*'
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT=" strip"
+
+DOCS=(
+ CONTRIBUTING.md
+ PATENTS
+ README.md
+ SECURITY.md
+)
+
+go_tuple() {
+ echo "$(go-env_goos $@)_$(go-env_goarch $@)"
+}
+
+go_cross_compile() {
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+PATCHES=(
+ "${FILESDIR}"/go-never-download-newer-toolchains.patch
+)
+
+src_compile() {
+ if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then
+ export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
+ elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then
+ export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
+ else
+ eerror "Go cannot be built without go or go-bootstrap installed"
+ die "Should not be here, please report a bug"
+ fi
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go-env_goarch ${CBUILD})
+ export GOHOSTOS=$(go-env_goos ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go-env_goarch)
+ export GOOS=$(go-env_goos)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ use arm && export GOARM=$(go-env_goarm)
+ use x86 && export GO386=$(go-env_go386)
+
+ cd src
+ bash -x ./make.bash || die "build failed"
+}
+
+src_test() {
+ go_cross_compile && return 0
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild -k || die "tests failed"
+}
+
+src_install() {
+ dodir /usr/lib/go
+ # The use of cp is deliberate in order to retain permissions
+ cp -R . "${ED}"/usr/lib/go
+ einstalldocs
+
+ # testdata directories are not needed on the installed system
+ # The other files we remove are installed by einstalldocs
+ rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die
+ rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die
+ rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die
+
+ local bin_path
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ local f x
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+}
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index 3625ad651259..4208235a029b 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -7,7 +7,7 @@ export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
# See "Bootstrap" in release notes
-GO_BOOTSTRAP_MIN=1.20.14
+GO_BOOTSTRAP_MIN=1.22.12
MY_PV=${PV/_/}
inherit go-env toolchain-funcs
@@ -88,10 +88,6 @@ src_compile() {
die "Should not be here, please report a bug"
fi
- export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
- export GOROOT="${PWD}"
- export GOBIN="${GOROOT}/bin"
-
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
export GOHOSTARCH=$(go-env_goarch ${CBUILD})
export GOHOSTOS=$(go-env_goos ${CBUILD})
@@ -110,30 +106,22 @@ src_compile() {
src_test() {
go_cross_compile && return 0
-
cd src
-
- # https://github.com/golang/go/issues/42005
- rm cmd/link/internal/ld/fallocate_test.go || die
-
PATH="${GOBIN}:${PATH}" \
./run.bash -no-rebuild -k || die "tests failed"
- cd ..
- rm -fr pkg/*_race || die
- rm -fr pkg/obj/go-build || die
}
src_install() {
dodir /usr/lib/go
# The use of cp is deliberate in order to retain permissions
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ cp -R . "${ED}"/usr/lib/go
einstalldocs
- insinto /usr/lib/go
- doins go.env VERSION*
-
# testdata directories are not needed on the installed system
- rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
+ # The other files we remove are installed by einstalldocs
+ rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die
+ rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die
+ rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die
local bin_path
if go_cross_compile; then
@@ -146,21 +134,4 @@ src_install() {
f=${x##*/}
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
done
-
- # install the @golang-rebuild set for Portage
- insinto /usr/share/portage/config/sets
- newins "${FILESDIR}"/go-sets.conf go.conf
-}
-
-pkg_postinst() {
- [[ -z ${REPLACING_VERSIONS} ]] && return
- elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
- elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
- elog "due to the static linking nature of go."
- elog "If this is not done, the packages compiled with the older"
- elog "version of the compiler will not be updated until they are"
- elog "updated individually, which could mean they will have"
- elog "vulnerabilities."
- elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
- elog "See https://bugs.gentoo.org/752153 for more info"
}
diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest
index b51259e53279..d6067f76a84f 100644
--- a/dev-lang/pypy/Manifest
+++ b/dev-lang/pypy/Manifest
@@ -1,3 +1,4 @@
+DIST pypy-gentoo-3.11-7.3.18_p20250221.tar.xz 18715104 BLAKE2B 19cf04f52798df0a6ad7014fad7ee6cfdade681f72a7955fc8cd3669b5d31ebac43adee20908dd7d542ceb337bfb753cd696b013b9b0a22f7be28fd5dcc1d38c SHA512 56a0eb64071c7fd7643b1e0cfbef15783eda1564822bb34894442bb4c911c8be7840266b0e2fece33910caddde14bc80d808d94322df1d5d0d2536e3910192ff
DIST pypy2.7-gentoo-patches-7.3.17.tar.xz 5324 BLAKE2B 866f172a6df6f0e94a98c611b37ae58635623e33a47619a5e44658d3908337a3f9029ff7de6997f760c3f1679fc83bfc6ddfb66852c492a581b3336b5eec3ed2 SHA512 6ce5266d0748f3c18a5546aa2bd8479ecb45923eb7df8a140a195e7f7b44999b9167ffdd44f7fd789ddd3a62cd77cb917863b0144180a1127befce1f290e650a
DIST pypy2.7-gentoo-patches-7.3.18.tar.xz 6220 BLAKE2B 1df2c5bab94c4b12c2ecd82d01c94bb6a7f9b04d7f495e5e7f0152dcf01abcef062b751a4b1f44ab5acfb2a6cb919e610609ecacd3d4745d62ab5feaf03f7ed1 SHA512 d40ba911c963d377b96458639cb731ea47051c44915473f3763a2d52343a11e17f4513d368e4104f024239d31c93457b5e4aa8a9392175eb323afcc3ce9efe2a
DIST pypy2.7-v7.3.17-src.tar.bz2 19907140 BLAKE2B de62ebc4e8102867effdecddca64c19c40458b112a6a56ac0c95247047b9f5437a5da68dffb51c14c21bce463c2ca489c6e6a4f86e8cc597b57df2eca707081e SHA512 82b2b9dbf0ea32c405ddc53d98a3a7a153f494d286e8719a0c40960168aadc0f49c3b313416488338f7f51c8fdb58120de41b1d47a8c8eda7db6d4ec4273b4eb
@@ -13,4 +14,5 @@ EBUILD pypy-2.7.7.3.18.ebuild 7392 BLAKE2B 4b35786d65011016b75f0e173c047582b025d
EBUILD pypy-3.10.7.3.17_p4.ebuild 7140 BLAKE2B db6bfe1c3d44cdf9f4a1639c6bf8e35253c0ac3687f3a1315bfd52ca82c4a6fa0c3626c2aad938f8bcf2b2b6851db6fa1ed5f1847a891a08800040e0e4c27ea4 SHA512 efe64c07cfbdcb2fafbbbb93adeda1fd3ba22164130cb908d8bf26d0d82713fca179463f44673fb262573dca96a468573b53e67ab97d3f51563e23888afadfff
EBUILD pypy-3.10.7.3.18.ebuild 7159 BLAKE2B 59ddd1f0922af9c12feb8c0a94e2fb88a15122786fbba7c9f14d2d7e9a542da9058706e563f914e21279ac7513135cf072f55e3f00eea2343a3d7b57498187c3 SHA512 8e8c8ae322d52844628d4cc3fe1af8d26b2b000f2ad2ea62c65fda7beac4dc554981e048c0bac15163aa8f87127b21da9fa1f9229404d02a8f3aaa71e9d7026e
EBUILD pypy-3.11.7.3.18_p1.ebuild 7092 BLAKE2B 72c88ab0a8423e7ebaf0077df3e3f7a65a80c1b91320fcfd0ea40995922a3379e69073ef78aadf0b64c7c5882a935a22841c2ef0a72f61fb90e1cc1fd3d4964a SHA512 b99fbdfcd90bff3db8499fcf7c3cf43928a236327e5c29fda50301ee7aba2313ca73f4a2937aa2e52952c1ed28fff3098cdf55d22d2d625e2abc3ba553a3a638
+EBUILD pypy-3.11.7.3.18_p20250221.ebuild 6809 BLAKE2B f4f17ff3576d4d40047f9040be069daca73a9aa1c45fd37473f276856240a5c1139baba9e8e91d75aa34d563b3dac46b4acfafb69b54fa8574c36329e3964d06 SHA512 8f3afe207ee217a5b5564b64a18e12cd3a1bd70bbc0f8f2b8b6a96daeab340b148bbc4e9b47f5f196bdbde6d409c47c1d2e0f8f8caadd31e80874eb985ee44c2
MISC metadata.xml 1124 BLAKE2B f1d09d26175cf20d1440a9a83352cf6f2f2e514d35d95116caf4a5ee86547f0165a6369e7a6b129ded75d28ba5a0c1c8f4da7d664d7c1e3c1e95153593057b3c SHA512 ae95400c9a1efc75372201c2353b128302355d1d087094953d73c325fa72bc24662d31c7287ae6a2583448ac345bb60744ac19391e07f8da8ef0327627e0e462
diff --git a/dev-lang/pypy/pypy-3.11.7.3.18_p20250221.ebuild b/dev-lang/pypy/pypy-3.11.7.3.18_p20250221.ebuild
new file mode 100644
index 000000000000..0223c24f8991
--- /dev/null
+++ b/dev-lang/pypy/pypy-3.11.7.3.18_p20250221.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
+
+PYVER=$(ver_cut 1-2)
+SNAPSHOT_PV=$(ver_cut 3-)
+PYPY_PV=${SNAPSHOT_PV%_p*}
+MY_P=pypy-gentoo-${PYVER}-${SNAPSHOT_PV}
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://dev.gentoo.org/~mgorny/dist/python/${MY_P}.tar.xz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="${PYVER}/pypy311-pp73-416"
+IUSE="+ensurepip gdbm +jit ncurses sqlite symlink +test-install tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ dev-lang/pypy3-exe:${PV%_p*}[bzip2(+),ncurses?]
+ dev-lang/pypy3-exe-bin:${PV%_p*}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ symlink? (
+ !dev-lang/pypy:3.10[symlink]
+ !<dev-python/pypy3-7.3.17-r100
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir "include/pypy${PYVER}" || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" pypy${PYVER}-c || die
+ cp -p "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* "include/pypy${PYVER}/" || die
+ mv pypy/module/cpyext/parse/*.h "include/pypy${PYVER}/" || die
+ pax-mark m "pypy${PYVER}-c"
+
+ # verify the subslot
+ local soabi=$(
+ "./pypy${PYVER}-c" - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate Grammar and PatternGrammar pickles.
+ "./pypy${PYVER}-c" - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ "../pypy${PYVER}-c" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ "../pypy${PYVER}-c" -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ "../pypy${PYVER}-c" - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+ cd .. || die
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+}
+
+src_install() {
+ local dest="/usr/lib/pypy${PYVER}"
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym "pypy${PYVER}-c-${PYPY_PV}" "/usr/bin/pypy${PYVER}"
+ insinto "${dest}"
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r "include/pypy${PYVER}"
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/{ctypes,tkinter,unittest}/test \
+ "${ED}${dest}"/{distutils,lib2to3}/tests \
+ "${ED}${dest}"/idlelib/idle_test || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ # remove test last since we have some file removals above
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/test || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON="${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+
+ if use symlink; then
+ dosym pypy${PYVER} /usr/bin/pypy3
+
+ # install symlinks for python-exec
+ local EPYTHON=pypy3
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ ln -s "../../../bin/pypy3" "${scriptdir}/python3" || die
+ ln -s python3 "${scriptdir}/python" || die
+ fi
+}
diff --git a/dev-lang/pypy3-exe/Manifest b/dev-lang/pypy3-exe/Manifest
index b6c95381aece..9cd791c359ac 100644
--- a/dev-lang/pypy3-exe/Manifest
+++ b/dev-lang/pypy3-exe/Manifest
@@ -1,6 +1,8 @@
+DIST pypy-gentoo-3.11-7.3.18_p20250221.tar.xz 18715104 BLAKE2B 19cf04f52798df0a6ad7014fad7ee6cfdade681f72a7955fc8cd3669b5d31ebac43adee20908dd7d542ceb337bfb753cd696b013b9b0a22f7be28fd5dcc1d38c SHA512 56a0eb64071c7fd7643b1e0cfbef15783eda1564822bb34894442bb4c911c8be7840266b0e2fece33910caddde14bc80d808d94322df1d5d0d2536e3910192ff
DIST pypy3.11-gentoo-patches-7.3.18_p1-r1.tar.xz 4712 BLAKE2B 474b61b2b9daa10d664545b3967cda2976d682f7f8a207a604240645afa86f4ab7c181c5f86dc82dc2b2da9520023d812ca349768bb3e124db17d5376f403ea4 SHA512 a79a98bd454b4d60e8c81d94c07a02a5212ca143d81bdafde227791afe8f502fb5c069bec809c6172aa4545c158f2f6b26cc7337246cccc8a66aea91300974a7
DIST pypy3.11-gentoo-patches-7.3.18_p2.tar.xz 5680 BLAKE2B b96421224573009ca459693f4bd0df60e1383c412244b556332721402d91f07f1d13d94c4950e878ad2f3e739bc846d90d3f35a43bc07176fa837faeeac638e7 SHA512 c7e2dee74b692cf81ed201053941543cafcd6b8036bb507978ba53d6a4ab997bf2ee0f2bf57d110837b813d14f168054c6f22d1ff1ce27705e41762d91d842e3
DIST pypy3.11-v7.3.18-src.tar.bz2 24908760 BLAKE2B e467d0b9ad254382bc727be0d2eea61573857a9638f0f7c896069bc2db9052876a1c9c77f12672728754287e0f69fc38a6cd8d7235e9be82de87292e409e85a4 SHA512 d4337a69c46c86594ae3eae09b8ab83db073eb4955f4e04bb8168ac412e8e55698938c2045f3e5d3c6a459a19cdf45a08af63e7587922a5d879fba373c6c9faf
EBUILD pypy3-exe-3.11.7.3.18.ebuild 2842 BLAKE2B d0c14cce42ac67cac4b8cb3ad4fa1e3e7b79890cc72bceb1409cc3c57c4e295e8751097fd47dfa829c384c4134082fc36e3e48636dd23782941580c08fa7387a SHA512 4705831d61c9b1cb82802bdacf279d4352d2721a532e9561ac07b90f1a36a08c1fcaeb3116cb516d2c8251fd6024c5daddca15cacb1847cfde75c36f0051bcdd
EBUILD pypy3-exe-3.11.7.3.18_p2.ebuild 2836 BLAKE2B 1deebc86c30a6737c1970f47d1ec7d3c584f07c14a14bd44662cf7d26a1d69b1da01a2e9de3d1ce37d06f5e0a4219080518fe43c71825c93a28e40e390524b3d SHA512 b3cbecfa4d2a1011c533610f9628f13e5f017c9d90f66f5c00fb30234d28f7d47a0ce69866838abbe2f638f7f36f82a52fe6b47252473765134935b5c20f90a4
+EBUILD pypy3-exe-3.11.7.3.18_p20250221.ebuild 2538 BLAKE2B f98240c6f09dbe7a3318fbfd722ee5a38c97f01c45d0bb111b4e2335848ae9559ad3b17a24f5c914fc996835bcf3f4690d198884949048ebfe936cf78ddcf564 SHA512 66149fb0788de0376fb5f7e7d477b9e7358c8832befa2e7073fc40e51f057437509569259fb9eb8004f304a034bcb5c5c5b48f89de193f2a22f7202e3e1bfd21
MISC metadata.xml 572 BLAKE2B cfcd1422ec312338fd876bc4747a962ac3c4bd06e28a3891489b065fba4c7be2daa6955f51e8136d9b8cf7b68bb7eb887b6f419ee9fd626ebd6db204acb7995d SHA512 c79250d47e3d5c99c2c903bfc185449cc41f88e2b923b8eae1401e83c0f23fa1a12ad85f50b6e25844e805e543ae897ccf43185a1bdf9f992dff765249e55bc1
diff --git a/dev-lang/pypy3-exe/pypy3-exe-3.11.7.3.18_p20250221.ebuild b/dev-lang/pypy3-exe/pypy3-exe-3.11.7.3.18_p20250221.ebuild
new file mode 100644
index 000000000000..765909bf4232
--- /dev/null
+++ b/dev-lang/pypy3-exe/pypy3-exe-3.11.7.3.18_p20250221.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYVER=$(ver_cut 1-2)
+SNAPSHOT_PV=$(ver_cut 3-)
+PYPY_PV=${SNAPSHOT_PV%_p*}
+MY_P=pypy-gentoo-${PYVER}-${SNAPSHOT_PV}
+
+DESCRIPTION="PyPy3.11 executable (build from source, snapshot)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://dev.gentoo.org/~mgorny/dist/python/${MY_P}.tar.xz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-lang/pypy3-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ || (
+ dev-lang/pypy:2.7
+ dev-python/pypy
+ )
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 17a9c27e5222..9e55f0e99e51 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -168,22 +168,24 @@ DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz 219666344 BLAKE2B 9302eae6c99af55
DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8c23ee14f8db7c4a776f4b5b986384c9e2c79e6449e019c67b526ec219e92e35be5c46a4a2d8187aee0ab958c7ba5f2e10ae40f4c7cd083cbef59bbfc96b0c13 SHA512 ea13084528d4b8d558309a0d5c392c734140a854d9543beb0c9b3c5bd2fb530ba154c608920ad125683e1e9888228422352c3b1c1fdfa9d70df1bd4728193944
DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz 170256096 BLAKE2B 07507d4517a9e421bcaa763cc93956d5c57d458f7b20f97f186f902702675b305e79c89142f5c9774b11e0842a82c8cb63247b71dacf1c362c0588b52dd86d3d SHA512 fc21d32b4ec72a3a5a353cbabb902df2676e3341a1f38ee45654eaf960bc677b0316af0474e5ce9d346d285a6f7f03ebeda7302b49650cd1ff8371c27166fd25
DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f99580babc5356c579b81fc0a4168dc1a57432d898e8e2422f00f9027477d704421cb217b5d56fa15a6fe9c01cbf8d4a727c6b01eedddbbcfe9d78e3cdfd24b5 SHA512 ab1ac741f6d71517a510a48fff1b903f325a35b83e35b7b73f4751c1f22e6944044d7a46f21e018659d7cf4ab5b430f6a4ff79971712af46a0d7705faf60e506
-DIST rust-1.78.0-mips-unknown-linux-gnu.tar.xz 70122976 BLAKE2B 78cd77109402f9121539db99bb263f37b9e8dbcd7d0fa102bd40437c4c051bb66d426fd223f062bd9715ce19f8b5f49ecc28ce59c0647dd4a29d9bc91fa68269 SHA512 85e8bdbfb750a20ce56756034f5b8a9a063baf38462ee9c47d0f495e09838b3d51db5428f56e4ca29f0d8bf5d8d7aac6508fbbefbc21b144230111683e2623ef
-DIST rust-1.78.0-mips64-unknown-linux-gnuabi64.tar.xz 71942612 BLAKE2B 5735673c7c02f49193d69d02276f7eb1f380f487777a6e8751012ceec1a690dadd88e4b51ef6e393a7bcc066968eb306f4ad1df206bc48e0aab7bea40fc7373e SHA512 1cf95c52279b7ee3a003e2667004494f90d50ef84f57930b6682588c502c9ac1e441e9521d0888e3286cc97628fc0445fb5e5adb8c03ff1da9aca7a10a172d62
-DIST rust-1.78.0-mips64el-unknown-linux-gnuabi64.tar.xz 71921684 BLAKE2B 3aacca634a1749e43ec3d84c5388a16cfc0bef94e27c3221c40b43a296e0a79044af314b1704638f8f8ee9a03cc3f8a3932a252a19c7b91bd43b8b8e4f50dab3 SHA512 1fa047f55f4539fd16110525dbf94b3121e05513f25d81c6e95a30b2f6b099e30292545808a861816c779f060cf7ee9235b11311d1b0005e1c54ed1dc2dbd005
-DIST rust-1.78.0-mipsel-unknown-linux-gnu.tar.xz 71388596 BLAKE2B b0d87f4297f2b1fed10308ceb8809aec9323c2754212481ecf7c080ce993f485612ab5c82625feac644f14499c38780b3d1ea5af7c85f0167c26de5cda461332 SHA512 12a5955673f17243ada754bac4afdadc8ab6d3d6e4fc157328ab0067372d4206ace6ad99c168033cba23481167c24bdc4eafa0de24fd033ff7cf6ba1e16baa21
DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz 183422544 BLAKE2B a37b4b4c3ba381e0456f46ac7d311ff6b11701026d568653f86d08e5170f9f21177e87efe329ea8fe259a6ab7991f096bb716af2bf3000569c9797db61a41c72 SHA512 eacce0850bbd9dd9a8a94177234d867dcf8d94c7c2e9f4260207b25364abffc8523e2b85e868b9dd9d4bd02ea4be06fb0c5fbcf5621ace2c0e93041a96cf7ad3
DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ad0201eb1760590381c0e7ee30f612a44157e10a634eb585f253788702653b3658c636c3f8c971a0c96de8944cb4c6960fd555f35dc1ee45fad18c7410ab4b7d SHA512 de5026257f1bd95146cb8057569d643a79ba440aab21efb4ea7df985a527654234c499f16cf75a29eb29cf9d7771893f0d4cfabc3483435ab73ce781aa573ebd
DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz 181366112 BLAKE2B c6edeeddc3934e6b93e65776a01c7f19c5e560716490eac2f52b56ba0ff58b974ee2be8e858265c4242d017106880a368244f5565e6f0438258b0cb0bfaa9a0e SHA512 7e0182680d216757d62627b07041d1e36eaae47ed341a548e29d6fe192f5e99a7f933461da025f4341d4c9b816ed3d8d3224bee12e29a0e7fc8bcd9a93c5069c
DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eb94775f878935e94b7a678d4588dd586de8ddd47120670326b6b9ed891edb009d637a2c99b0548e8d74d07960a02558f8421e0754d487e93b57bc2bfc19f052 SHA512 490b0ff842eafdf23adf754051c0f4abec2bfda438bc2e3f57cfe5232f1358318c31bcf6a9ea89284f26389f2f1212dc3ad467b14da465d655bbc6974981cd58
DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz 192130524 BLAKE2B ca961dcd50d9071f0bf7b8f354aa0e78b4e3d4c9bd0b6c72f7a712bbe906833aa8982eb87d9065644c65e57e395ab09ed85bd24cf43477071e0c5cd8ed8590e7 SHA512 c890386b3a82ea36aca2f8753b0fc81a956ce3157b89ccd573403ec99b257299f84c976dc7972278371cca1b3945b21a50d276e10b4cd42647a9d26e0ebdd947
DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2bf8596c462d1231ad884a417c5b676447b8474023b5769343ec5a7788cb42c89b937987226db9bd526b3f4ff0a39648e4ee1136c3733d316e35b8ff7295b6ea SHA512 6bc9965d32420bd86422e4d5fefd82a46a169d5d80d298ccca08fb421858d5bc077f785a52f3404f29f394f2dc471a747fec208931d19358aebadab6d9952e0f
+DIST rust-1.78.0-r101-mips-unknown-linux-gnu.tar.xz 70274408 BLAKE2B f5d23c8cf4e21036b0f8377551d6bbc8d89e3b1cdecf14beb710dac45df05ba79d97e49eb4e6b80b4698bb3de0c1972d4b0bd8f70a0d62e68fc3845a161d609d SHA512 989476ea8efb7cfd569ec5a553e41581ab0f54e8c315f8105fedc5c3ef8fa8d0264d5042d22b66042c58c58e9c16c9d3f1d5e72cd00c41d8a10afaef40003023
+DIST rust-1.78.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70394716 BLAKE2B a22fb1ad2b88d9722cfc7cdeb4d31c2e62ab74a8ad79c21fc010f908baf09f82ef2b7947820e175036648a45481132617317ae57e1bcef2b37aac365f2d62f16 SHA512 71f575192dfb89d9419efb3a3015a645658e1f62983211635b6fbef99500a21ade5ccb4db505bcb7277506bfd48a8eccc7f9e6d5422241eef8d9ee1e8ba6f3cf
+DIST rust-1.78.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 71914956 BLAKE2B d1384ddd387b283b8d2a5311c2069850c65ae92ac6e07ed9ebc55dc08bdf09d6258127e1515f2d033feab705342be7faaf045ae0e0f8d7894d8802c4274c94f3 SHA512 269ffec27fa609f0b6eca7ad6e97949f2c54d5c51b24acecace11404f4b773d46cf306ed49913fb5d4dc0283aa2f3da99b45dec1579a88b153d70c384fbdb1b0
+DIST rust-1.78.0-r101-mipsel-unknown-linux-gnu.tar.xz 71873968 BLAKE2B d52864914342a9f7454f0edb38246e02d78027f8e5ab38392ca5df9918ca0ce69f2628b1ded7c6d51ac30e3e482389a2c7a719deb207061c5896a5ae83706c04 SHA512 23ace566cbaca65fecb3168e1feecbeab9b3774cdabf6e4a44133d9f30dffc382411611131da793879e17766b4f56fb1917714c1f4aae17f1b9f788e02bdbebf
+DIST rust-1.78.0-r101-powerpc64-unknown-linux-musl.tar.xz 73110652 BLAKE2B 2756c47f66fee7de77a856dcbfa508add0ad5912c9b212604135b92da16150e3d7bf4c81b96c86ad76ef43579a511ac6203374899077087c2d043fd451846c01 SHA512 0280ed768ac92311369a0d8db9f8db77796dd444bf8f58294a9132079fe97b131fdec2cb5d8836a0f16226f27fa314d5dc56331d46966faf1f17f5cbea97d2c5
+DIST rust-1.78.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75237408 BLAKE2B 6ce4dac16d4a6a75063f1d7636cf77544ebcdc5654de9110892edda0ac8c9a3b9b9aaa658923f5b50abaae7c3e7ec1f55a45ae7be3ad1de3af3fa9f6602c2093 SHA512 211870a247513b6788992e39689b5a538f4955225586104b1d22f5a0ee5441a367c66e2139cbdd747f5a295d1fe3680fdaa4bef600151e8b1133d3e57461fad8
+DIST rust-1.78.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80098596 BLAKE2B 3444867bec7a545bfb421e23ae5322170caff2b7c14abc286111c6ac5fe14d52edd30be66e83719bd810cb421bd6dade204828c7623ed11da5d266778c6376f8 SHA512 5b634320e9376b03e3c77a0113d64b8f8de83997468cdf2dee6c362079dc7dd8c063e9a946b845655c0029b07b5febee6a1e5612068995483fd07898ba2f70c3
+DIST rust-1.78.0-r101-sparc64-unknown-linux-gnu.tar.xz 68488956 BLAKE2B c77189fd35f8704c8cd9575976dc01158d43b2db9ec16e4114b6599a06c134fbcb85e6f1701915c72f909c28707def1799a37879f6cd2740e27473c81ddb2fa7 SHA512 4c7f783aa93efaa7d570f6e4fd35af732d4649f5b9bb7c5f79bec0e9f874e58ca63875dcb79777f7bc97c915aa1b44a3704819efc1d0e0cf557be79b15e934a7
DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz 194762504 BLAKE2B b3a802e4b6efcd6c0c3155258b57483c24731e0564d0077f65706ac46898828c4e4d612996c16b63f9dbd5770ac6ab05cad27a27f1083f431e13aeb68e1e77be SHA512 530e5409755dcef86a9d074a3d387dedb5966689d7f47706e43daa5a9a8c65249f4d2b42916363b14924c11e1a5f5d934e9a1d9b47b1ed7206e85496fee27604
DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b8f4a535ae61cf04523254267c2f816e51e459a670b5c2aaa1a28d44092745d7c64baa399583a18cf84e03df2a910409cf99140e3337654a1a051e84d3865a1 SHA512 b226ead3b0dd067eea71d3b5088925f0cfa381aaab6f809e58dff83d00c17da4d99a9d241d49eb66e5db381cd9c63a21c2f5be3ab85658b0bf00b91e970c271a
-DIST rust-1.78.0-riscv64gc-unknown-linux-musl.tar.xz 79587932 BLAKE2B ef34a7416459f50e9d8e6c8dc7f07435eb9bb93b8e07ba2211d539f9955b102c85a591706bc332127e246eeb842d1308a0568147ea3ba10463a6eb27a1fcb075 SHA512 53b28404505217a80369631e8630df21058f4d0eca4e9503f817b7960ddab95245303c571c0ec03208e5f550f239b247354a63b32c07eb6856e78ee70a02661a
DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz 207632244 BLAKE2B dd548d618a050991121afe1d8ec7d9fa5eab19d9fead94440f34627562bda9b5f544cbb03a06cd6e85eec4c8d5279b4237cd14c9754f95795e7a26f0b20036e6 SHA512 f17a472ba144efd41f791854931e1e2eb566f126037a1f234b0b54191941a77d8c340687c4c47e0bd4fbe306079cddb36637e998439845ec82206e4c567979af
DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ea16c70fbdcce4cc17c37e9c3b642fc6deae9e2033821d21d3598652b8ed2dbab58cf09dec4e5b2f913cb9fb25820ccf3511af5eb84441e9bee6ba702005def SHA512 8384b20c9f9b6654fd69e90a91aa8572d22b4abbf83ca3b349b7672a5d8db131053ad1b6f8a48881be0060d3db2eaef52075d3a9b15a3c9ef9bb366d592fbcf0
-DIST rust-1.78.0-sparc64-unknown-linux-gnu.tar.xz 61524980 BLAKE2B 382473f85771b60201a27d4a7812b7a76953f800fb780f415cdedc1e183d6142f4e2cca6d0ad7718c80cd7a181652b175e6c2b51f8f0f303db6fe58b59afaa40 SHA512 0049d8262cd426f1f368919f13969f57ea724ceb15f257c71af7d831e607de874344b3be8a38c10f0d87a4fb72b6b69b77459a63f72ae5e1acbb5c601f30eaff
DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz 163959816 BLAKE2B 1987a6a0ea169d67214bf403cb1e6ada022eed163be6ac72e6e46d1596eba6f282cf87e0581e9ac1b264dee4c59edececc9085b0d16cacabc79f9375da652a24 SHA512 6bb0481804a1de8ee9fde7d4793d45e80f071534f2c3756867d95e99bfc4766de2618b5fd6b1d5e8f4794e54c7056124538fd301c5ec20351f8dada54ef4c20b
DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1b6b8e54c0eebbde2a803d14db3d75363c306c621845cad89c927a51a5df0ccb5d1406c8806a82d5d611d0a12c6d6c5ed0f113fe802e4b6a8e504e64562e168c SHA512 10072d0684b40a71176f36ad85b7161e1392b3f52c035bfd0c6bbf5889599234a7201d85a13f04de0269ef9d8e0c51d15a4e9a9151b3fa27cf9a6e8663203786
DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz 245914600 BLAKE2B 66cc40b70ca70eebee5c173eefb07758a8a7421cbf421329b3b405bdab1651334a5ff1202b450139c89039a4c3fd6ecf8b78ed218c62e81c983e6bb7353a335c SHA512 21190a0034aab2757cdcbc2e456fdacc972634f25f5c75daa089030a82b407037d3c7d3528c8d126d48d2a6840edf97526007bef41689a86ef1eec8f8c569f08
@@ -202,22 +204,24 @@ DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz 220956232 BLAKE2B ab8bfc213938a0c
DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 838bd51b74f1f6c77a5ad10cf992f3e398f2f68510685d1146ea3b15bdb2ab7a994aec3e96b5b3a1a14a82c082a87c8cbfc77f01609bde2e096f1934a1fa61eb SHA512 f8a2aa8271348761c5c8c93406c65fdc05502c8d21d67fff82f1a706770891a820bd05acf8d3e8401a44a66c35a11f40e3594d5b42b6554060b3bb58a0dc6afd
DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz 171612592 BLAKE2B d06003c1817a191d8aea38068ad03449090538962aa9ae74423343032b2e1aae4784daa702fdee4f4b089341fcbac1d03048783b7cf082eee46df1a2b6323b31 SHA512 86c39ca2b43fd58893e490008c99ce7f8e8c8e087701b90838de8f589a3e5b5b0d3b20c86ea9803da2ed72301d44b68866fe219b65a5af9f0e7e3120b3d9b994
DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6f826cc05d126b8c6422674c9dfb496a61424144d7a76bf4e5225d7bc782c0d63dd55ea03c534494b633601bd027a922458d9f06dec5f5cf701c8907fe53cbf6 SHA512 c443a8a08ae2e65e3ff46e4b5f910ac24b8dda0ba62b67dd41888cf1504a78e9a6ff9415480b8c684a7f9390bf7b279e3fb7a7a22bc4139d6a91457753df4131
-DIST rust-1.79.0-mips-unknown-linux-gnu.tar.xz 70170340 BLAKE2B d9283d882f7206ec4cbfc18ca3df426e224a65773744738fa526d076cbb39e3c5b70b9f05c0a56d8f12acf1341aca21956326e8ce1351ae3d96b8f5519540545 SHA512 344e1285e19aab88091e74c13ded45a796243dc80f87bd67d3af42c2f0c6dfae4d2504dbd3ddc576f31354b3145f7b8d6028a0ca1eeb279ba116b8a4ad37eecc
-DIST rust-1.79.0-mips64-unknown-linux-gnuabi64.tar.xz 70583384 BLAKE2B 352e491cbd7c24ea39431ac835d86a8587abe64b1bb675522b7ad710c70a25ec461d63d3aee7e764f171731b8b568d618e9cda374ac2f9552a0713f7f2ade50c SHA512 ad844420ad95ee20713cecfa3e97e9e9bfbb31de74b17afc66a4e1be6b174d00cb2b5948c89ccb574ad1cc37cc1b6e8d161c72931420f617d6db7c65eb7d4764
-DIST rust-1.79.0-mips64el-unknown-linux-gnuabi64.tar.xz 72593292 BLAKE2B 2643741c2fb44bc2b2509d00ebd5818a6bfa6b77f4c79e2039ba46c41938036707423fa4d92e6fc412ce160c657ef75efaea0910cd4350a96c4fd88a49494cb5 SHA512 d9a5aff946452b459a01fd0bcc2f900ac2d6665b0285d3fa8913e7e0c481cd527089e4eef4616939796df6d892ef2369af1f87552e6f5a1571576592cd76c6e4
-DIST rust-1.79.0-mipsel-unknown-linux-gnu.tar.xz 72133948 BLAKE2B 0eb5a697129d053142f77e5c84dabdc8d0183c61396d7b4a18ddeb2c8c008c790e25382ed320292e9516e80d55d683697752001a435315a3aec5b81fec2f96a6 SHA512 5051499a4a468761a22e3887a2de114a328c8f82ba3f8044134b8c257ed773a4c980dc8c91e91fd4897aa23ce64277686a87565baab5b4cb8139c73396761ced
DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz 184251688 BLAKE2B 372338527063379f922bb3ea83c98f21b2201cf0e75f61cb0a42c1c1c6b651eeab1532d972af72a2afdc7afb5e7a96c40b0482c248350b7886a1274c869d2a08 SHA512 e1a26ddaf53b070edaa630bfcf6ba94659f841804e2feb90fab05e8856cc616d413f5af45b67cab57fea2483221c8caa52e373e7e7d29039541ab2142c4187a3
DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 22c2867d40f0fe13888112294ea2571718064a30983903f7ce8b13a4a13684c34ac224990ebb0254e262686c097bed6e46d9a70e86bb282c447c9e690ef551d8 SHA512 68ea8142bb72430fadf274549d1830a8348ba74a02a52bdab1cf1b811e70592896f8cf9d34687bacc34aaa06603f89e5794211227c573a4f29ed34744b0f5a2d
DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz 182063040 BLAKE2B 0bf5d662cf69bff1a345dc54525319dfec98b2743744eb03712e9a2cce8cd45d968b9cc67ffa33a5b5a5a47f3a0a5568103d4e3de3efc7c2d837453dcdc077c7 SHA512 f65745bdb3c98f20c37c7bbe737ebd3b1107868fd56f1a9c42a4adfc14592e853cdd19217354070e5d18d31145be18c3b10681768d9f025b5846488937bd8a78
DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 80be893561f5021b4e57843a5a6c9db7f97d9e31a0748c2ef1768fe0074f29401a39de781d1eadadfe760e8d7f9a286045c6bec2bee1b2a889ccfb9625ae8477 SHA512 843e1cdda3dbceb93cd0b345ef0f551946cc37dc5085f52cfcc3c9f6e31f8d4d6b176afdf1c255f5bd7283473b717963aa0e6bd905c2eb89f3543cf5e88dfff0
DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz 192753084 BLAKE2B ba53cdb229484dca210de50bc7cd493fae04b4c664551fb5b7f7bd6bc7dc3bbb59b79d183f20a9dada393d586eb49956fda1a358bb5b5761fe8d65f7ab58b3a1 SHA512 d8db247ecfb154247d7243e8caaab0680bb81e11aa0ed3e627b6a0d96a21a0a2099a7bdcdacb57a8b84910d6716754843d80a9149a8ee02fdbb6bc411a352112
DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e5ce77c7a2afdf0ddc4d8d53bf7ccaf8506986c1cf196837a3a6d82d648b4515b4c8cbeedb2998df233a1c5428ccfd82865482c0d0493248fb0631e100d4986 SHA512 5e63caeb8b20c7dde37099cdc0c246694b67dc2380104c83d3cbff7810cac521104d4d6cf6763559e13cc9e4bb5387bad761e79fc7bacf48536db1918b59246d
+DIST rust-1.79.0-r101-mips-unknown-linux-gnu.tar.xz 70843208 BLAKE2B 402910e3fdfa17d56e8f95e4859a9d5343fc70023f801024f01d73e2b516419cae61723518a04043b84f406efc6fa91f3a10186e34ab15a816221646cf6d74f7 SHA512 14e398476644885a5c7c16cc37ef024f52694520ed778c8c156b728c09f031c67cf3a2cbe9ef67f7ebc7f5848763517e1ad018ed96743549eb3273d71111bfbf
+DIST rust-1.79.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70537948 BLAKE2B e0a0a9df7b8cbecbb6567444e768e74de19dae8afea4e7de1014d6184f3a46fd0c9b95b8d26453b69fc174e50816d4250d2514419ac4cb6655faaab79fe5d08f SHA512 35a56f902a06a68734a7065e376d9e569d7e04c5cfc7455b426780ffb54875bfb6162404579f5f17d3501474b1a88c85719b59dd6696cf27834898ca28174e4c
+DIST rust-1.79.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72112728 BLAKE2B e8583fa5d898f5641c03e9af9cd43a657bf4fa89bc1e2b7dbccddde434611adc48ff15ee2d8e6022dab848503669c96cdf3eda73117c8d6cacec87369c779c6c SHA512 a35cdac30641fc3e6bf4ab53ca9c8814ec11a358dcb035641bd142f8aa72a5a06e59b4841f81a2a8a2c827492465542ec9ab4011d347e73f3dbebef682af8aca
+DIST rust-1.79.0-r101-mipsel-unknown-linux-gnu.tar.xz 72401632 BLAKE2B ab52f9ddbc12124acea6c8b81a00b1324c7bffab7a01d654b909cf70342da9920440cea8d1602796c75875b6a9f36a62fb663221a916dfe709045a6be1379a53 SHA512 0d7948972091449e551881d0a4d51d3c7142347c8b8469759ed41c2dc0d03171e271ed9e6d1d4611495fbda07fec543a5801cce8e4adadd0f7341cea184254cd
+DIST rust-1.79.0-r101-powerpc64-unknown-linux-musl.tar.xz 73678376 BLAKE2B 9fcb25f118f86b6f877b19e59735b1bcda53c9e0ea65951ee1a589e6f9e8c85ceeac8a26c20043fdce1d2918327aea945616b4f11c3041cb722734f9640b4dee SHA512 fea61ac81ebdab075a832ff9e0e9b9b0ecc8f72d6c51f597749879caf746a4f903746408613522409d33b71a5b2088adf6485cac8857ff3ace8722ceee682234
+DIST rust-1.79.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75735992 BLAKE2B 5cca64b3a6d625b45e7d455816d4f887f994d8e82c8fe09c7435767cb445f629dcbb87c1459d86319152ba7acec4113517d5d84b41bc1487d6d09f99bb6bafec SHA512 184feae95423d55c0d8292756c1e5b02308175a6e504c94e2032f278ed0cf7426d707d21ecfaaf87f9b30a0f13af62ba4afd7684ac4d9d7bdf64ebf1d25839b9
+DIST rust-1.79.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80781040 BLAKE2B 1209e2c8392962677b982a0b28c60987effaad247bbf98d951cff570321463fd5ddf7846657ea2290a8de84876cbe1c0043245f9ada313c3cdcc4a78f7a43beb SHA512 82eb5392b58e282aeb8c1779336922b15479667b369c2f646f8cbef35bfc181cfeab2d2cca6c3c273f0f52125026f2ba0f8c5ac0b98b18a0146679c22d939f5e
+DIST rust-1.79.0-r101-sparc64-unknown-linux-gnu.tar.xz 68919800 BLAKE2B 709aa35596a19acac927eeb9e479980eb4d9cd4eeda019993ba8ad290d28363c3ced6c22bfc24551a6d61340242a39b40557a9d69ae424f0d585bc8b130be169 SHA512 accdbc3d32b4339c3e2c6b572e78f7358c03d7ccfbd41a2eb341aff7cdf0d6c9550c11c85dd00c5614417424f5c0c02fe0c463d92a8d441900a547a83e674523
DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz 195616336 BLAKE2B a17b0f9022681233e23ae3c3eaaf93da6d730ba604a9d327cd4a2553cd8c7321929e294de27866e995a591554db4f31f2b9f371747e4b45e473ac2c2a466ba63 SHA512 8a8c6be44ecf5d4cf35bdb32c2a56136fb007e9502f7f42980b5cec135bc481252b890be74d6ba638c2d885d1fb9bea58349e6ba67dbbb8efccdfe7bd6c7009d
DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a20afcbcc4814988594537e0ef1ded539c29987941044d2174c5f16b84286d3d8b29321bcd205f5081dcc8ed487d21f88396a0420a7fc3626748b8ad1e0ca2be SHA512 cee5e0ebd5e7fd00ddda6549f749603376284071db7f806175b1913b39a94a5540cf535f30d45afd06ae95ea42b0fc6b71517bede7f09dc0221d5516abf32450
-DIST rust-1.79.0-riscv64gc-unknown-linux-musl.tar.xz 77667868 BLAKE2B 004083faaffc342458cc90ddf34a56f4e3091beb1c4e3e5fd1872f3bfe7488b64da5c9ce7995483b5e4dbdf138c007ce1d08879ad3046587dc498687d3fbb538 SHA512 f14610a48d5898f0c47f1a3896fbb3abe85d57a062388f532e1150e3585f8c099c345c972d7f187bbb56074828f6f6e7ee54221127c5425f98856f62fd16b361
DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz 208109368 BLAKE2B 8c110bff01f7a7456a6044a782198c74a793af0fe4acf6881fb9af4c8193cb6c513cbcc8113320fee027a6eb046a0ca4319d014379c6f670f915314448fb927a SHA512 07de1f7da8d8d23c63ed081cd56c96a9becbd4b7149f87636918bce8155a25ea95579ef8694adf6e455ba6cdc19776677f430713a6ef6c607a7efd26db4658a8
DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 28a2586c96e2ee2263cae8c2dcd21a0017d09969114cc905a37408717c412a162fed12023df801497906a6aa77b294121699a56d05e270b28e2831796a15f4e8 SHA512 64c85ecf772b73e2e6f2002053a8bf659d518e7be2a9d0056fe38e991e47304471372206a8e45250d6a143086b3b1f4fc68f4e19388c040735e8475c981fd8a0
-DIST rust-1.79.0-sparc64-unknown-linux-gnu.tar.xz 62007828 BLAKE2B 7348970911c9661b2099f2c5d3309efb25e2906b0c560828c1bd877f145350d4aed594e52a7cee078abd523fcee13a0783b655696378d0119ebdf265606b40d0 SHA512 0afbd7cde595eb9a3c80ccc0943c1b5676cd1db9a2e78fb8e6af375424d8f7e67690ea9799961ea356f77dce15a347eedd5332dfc07dd8aa74b2aa2e6b5beb81
DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f6f4f9ea1b586cb0b2d3ddf3351e42dd49e01e2267d1bc2f9dc27dbbe9b866d5a571a983e3c537f003ea9a6570258af64edc26cb86fdd8e64d86 SHA512 c027a015cc6544d288b51bad6ebf8a9afd40932a06972cf61bf64bfe4997dda7ecaa2d53c4f4fb2200bcf1a7df16c3a44ade1b8366a32ce9a4c85357cc76dd0c
DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9cd1a51580d9f70f96c83b603716a5edbd8e1c4d4c2f53c07aa9d37c6c47f3bd252c0a1cf26b77bcd60842fb83ed74cd7b6e4ab3a039c3938423372485f8c1f4 SHA512 b65621f91085f4a5c6f84ed5e530fe56502ca12c5b18486afb1197156c5f6087110578647d428a58a1a6c04765569a28c38ae40a14c72fd41f39948349e8115d
DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz 247326760 BLAKE2B 36bf6787c69971ba7c445d1895001c005af0aeb48aaa3309e971237125a2b6de3ef5f1534572f8a3f4c1bc024962a8fd030e91b63c02f03444b5aec1a3ed2e5a SHA512 02e5c2a67f5470f3320b04e7c4f0a6f5dbd361d5a97aee7e5860d04224683166b21375794c94ae040a2cc6fc119380be9d3465b8c5e1798abd4142d621cf9f99
@@ -236,24 +240,24 @@ DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz 221151480 BLAKE2B 01c4a29b5cdc47b
DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 549b27298fbed09727ae6c6086127aab9c0ebf9a6fce70c2e102fd29e983e31b1907f3a2e7c18800ff7b2efcd6f49c36aa11a5021fb9f57e6148e62628cc56a2 SHA512 c20ea2b577aa263e70211198a9fe896b9d560b737d74d640ee107a89dd9d5b31bc843e2fdda75bf21318fd3aaaea58c4ee918d003f7bf7636aa5636fb657133a
DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz 172528232 BLAKE2B d308b0aab1ef8dc338025d9a106920f507035efdc04390e9618b6a936ec117b70c791d14d5a73aeb0533f1e8d1952ae36bc3d4e624239d5a64ecfaefa70aa5ab SHA512 1c6d689e43cad549f2f8aa96fd5bf52080276c1de386b771206c7533feb11a47bf515ea72dc7f406852ca7dc5632f1436dde69014d8bf35bd0f25bcc85c3cfa0
DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 92b347907616b18ae06d85a1380d01bd078c3ea4a03fdf808b79794ffeb1d6661057688050130aec61d29062f07a030ebcf15fe3d866cb411325c44a2c393a33 SHA512 7245d91fc398d787e8bfa2e0bbceda9aa30665699f01bc5490f29f690fc1f8fd5d5ee8d4a941d38f0dc5c4cb7c275bf4b6d4bd3727b1bad65326594101f90cf4
-DIST rust-1.80.1-mips-unknown-linux-gnu.tar.xz 71930732 BLAKE2B 5e0bf58d3080f7250ebab43548ae90ed948237e6169852c18fb488c7f8b7c0d5eaaa2746627fe991b5344cdd7249e94c4fa71ff42a6055e505d4a99c59fbc643 SHA512 838ccea7a5c7a81af5c35901e574b8525978bb1afa8263ee266d0a2acaf7d62aa3da045b1451d6c068b5c25e97813b429fb79d1f62628d6f41e254fb94c1f38e
-DIST rust-1.80.1-mips64-unknown-linux-gnuabi64.tar.xz 71570392 BLAKE2B b36ba5ccd967bf4c99dcc66f9331f805e14a95465eff69b9bfadadac9f65ddf92f2dcf4b955c8faa8ff872b0cad42f1716074e23ff0aac6ef6f9740fe588119b SHA512 80e930c81d0f0febf61a5ce082967ce519711b18fbf7f7ea6665697caf3de345a690fa618d46ebe5b0068f0d578f23b9424af2d59afd47ed42f1649d9488d77a
-DIST rust-1.80.1-mips64el-unknown-linux-gnuabi64.tar.xz 75794060 BLAKE2B 26bb87e1be2ee3c311cba20df47da1728c2c5a395b366707ac2a5e5ff602b99ce24fdb0fb5495f687a1489b1889153bc764820ef481ecd9db19ff9d8e34a5bc6 SHA512 8781deaf66d84e87ed5d7fc10988c9417d98c45dae2cde2bfba817c74020faa9daf512c141fe92753a53113c96a4ece06738d7dbad626b901aaaad835df6d300
-DIST rust-1.80.1-mipsel-unknown-linux-gnu.tar.xz 71170176 BLAKE2B 26f3833281d3d0acbfd8e0c5bbe5f9fdd77e76d16080d23fbf81d4b8abfd7940bd73657afba835be4f584161e1e147406072cc77fe3e4be797848983fcce075a SHA512 f909b5e630dc155ef807e248e620c29ffcc18ef5bb4b2c5aa836afd754974f10dcf82efdda3b47c58778d1ab63fe98095fa4a051885763645b27fcce46dc0718
DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz 185400364 BLAKE2B 2b37d052d0fc4f612c298e87be9a0afcac3ef8548f3914530737d0435cbdf270e0c3b8422c08f84f96192f89805a9bff9d3fe570eb056afc1fd902202a806025 SHA512 1350aa8c105555778231b4ef7ce1c4c8850cc112ccc2f72621bbb3c011a0733da91df7521bbab0aa3269b4ad61231a631660593d7608d017083cd7af375fde30
DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da5dfb8d287b7a30a32443b0edb80a3994c68f732ce02a6f6d735d589db2c273962e02925fa88311698672eca10441850066c2f1ab2e48ded8ca33109e298509 SHA512 f0d381594d6b164e068cb80e39a508774633db64abd4a9ba68eba48fd627fbda6c0cdf849137f61e196ab44e0f93eba5d08f3dd60fe5820259b8d9fafdd51407
DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz 183179096 BLAKE2B 0b7b7af392b8aa1a1df14ea4f53fd231c5c475eddbadd2105a5222393162b187109201f96dbb30c9877ff1c684af48b9868d17dbf26113193cab572d8ea40852 SHA512 67ce98a6f89997c13f576493644634f8ee5055952500e4f6d6ae096fee9570d6e5938c483892e76325905fec35184ff7f7edc21e4ec30199e821017890825289
DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b5b296291d031d254a4be6f000abade2b5d67cea8cecb332505469af3ec3ed1e21454ba41f96ed4e77dc2324c339f136ad04f034191a639394e6d9390065ac19 SHA512 9ddacb0ccd9da29fb93c66a2d701a03af6a4a2e9911c06a09d9fd5bde2647931e6c61e623d418200038e232227010206561e431331ef866324e9020dfba4597b
-DIST rust-1.80.1-powerpc64-unknown-linux-musl.tar.xz 74338592 BLAKE2B efa136a4510c20928dad1a15271620515f57d43473bcb9e0d4c5935e4dfbb535a6ddfd0d26576d3b0b354014a4d54606900afc32485cdf60be61bb6cb100ef18 SHA512 d330b0c1a046b754400e7ba48e9657c07ccb3f0aaace45600ca4649bb8df5aaf01664b8b967940e5e992347e05ed7249e5ed179536896e63a1a0ba6f21c1db0b
DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz 194097292 BLAKE2B 1134beec940443b111594c86f912b2bf26bf3ace83cab3f0176175a6e891d047701e08e8ebc62094fdb4bd7b4d2de115ba0125ecd5ff6b3a20906db30c86c480 SHA512 4275343153b6acec8ba3a25dd4e85abc3ea7872a9cca4cea6f394fc24db6461db7fe7c047d158b61bb0635983a6a033f25da39f5fa1d6d9ee6d3eb956799dafa
DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 280558f7b575a5b79c7367715e74f333b7e9bb0d4f6ffd9939ed9daf33899dfc19cf59eca2cfafdd2ad1d6d71ea58486d04931fc3d089c9c491c8374985a1960 SHA512 6c784aa10878531b44e5927b2cab5a81efd4767a5e723747e4a9c506b4c48141b44c98ce364459db47ad8f03f4f066fe96d070806695d76a6abc9e0c7a53a09c
-DIST rust-1.80.1-powerpc64le-unknown-linux-musl.tar.xz 76407768 BLAKE2B be93308a381a7d96d5bfcb6cfbdcf722d8b4a8c5a497f12bad8557758efb2e62e35332486cf9fcb5c29874fe172cf696d0370158e1a139f77d637490422ba7ff SHA512 cd5c6dd81997923c7bf719852fad819be7f24bbbc97a6fcd8d463a38e26784d3bf19aae62a3d2ee3643571b78829b78602746007128d9e160b26f293b13381f3
+DIST rust-1.80.1-r101-mips-unknown-linux-gnu.tar.xz 71802316 BLAKE2B b3fc9cd96d911fdb02ee26385e3110f6007feccfea11d8572aef51d0e1a964c4ff286e89fd294da89bb2b9bb2971a9851e180dbe1bdbbc328f1643e6ce09cd05 SHA512 40702ec4f97ee76193dd56d3aa1c78f67c0a496f3dd179d7ae114c8c59b2bba62e415814e9b05f7d2a703d9b38aea12ac35ad5d0541fa0c5006f0f849b85b134
+DIST rust-1.80.1-r101-mips64-unknown-linux-gnuabi64.tar.xz 71450476 BLAKE2B 275f24f77916d0473a60d2988138dd2f9c4496e8d8eedcf6e005ed655a4711e532d21bbc6d123d2043839439073cf86647bb2be61ed35c389b49dba718e9ef65 SHA512 905ce07d8263eccbc2a07abdd8039db758bca977e29462c5133de28e89754d7ecae5609ea577c9a2a050aa2de61ad72522764c3e023d579131406a4860104f20
+DIST rust-1.80.1-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72935280 BLAKE2B 8b85067f15786b833c86b14e0dca4e36a99f50a6a645c510bfcbc9869ebb5d4b15521c293015eb4bf6e2d505ede4fc24e1f9729f402719b379233f6adcc85ca8 SHA512 4322e156d60a185217515809f4e1f72ac53d30321f5f6cec73e3f31ea0acf40ec9bf62bf4567b7d90117ccaf397a9961987631679125a74c3f354db8f72950d8
+DIST rust-1.80.1-r101-mipsel-unknown-linux-gnu.tar.xz 73461432 BLAKE2B 94a9d427fa16935bb2e319591413e489f1d0e0f4f5cd2d9435424a1013f676a79ce009575a7dde35c7b4718d8300131dc3049a8677885ebc118983bfa4527c92 SHA512 6551dd2e0d3d170d47d3e13c81872fa54caf2ed498a200bdff5ebb7dcd6a9e25b1fd11646d3376c6191f37ba494c931cd348546e3099f784af25821f08b7c600
+DIST rust-1.80.1-r101-powerpc64-unknown-linux-musl.tar.xz 74442008 BLAKE2B 1dbd23082c7b30021f8cdf0ac3adab6ceef4f852e8c6d13ab21936e8415addd6c581a029d2482f9e6299f6311bcee1158ef9cadd264d81e6cd7ab9814100a57c SHA512 bfef13e66c7f8ed34361b27387993b5caa3b2408f45646f2e4b4a9c6ca7b855700f04ba02fd2e501a09e16fb0a004082fd882ed2fc1caa611ad44a597ed89d19
+DIST rust-1.80.1-r101-powerpc64le-unknown-linux-musl.tar.xz 76588376 BLAKE2B c3a846c054bafa89413225dec32ef9d32bae853f38eaef3e574c7b1c7a9032b686e22b400e6891f82b02a60dc0445b604de73e9d771a5b3ce0377a39770e0b0e SHA512 7ecfc90d96588482c01ecb32e57f713c81abe0258c84eca18f85902c8095a382f87e8dd8147d77a13d6f6305c952058090666ff70606ad6fdc6f8b5825da1f95
+DIST rust-1.80.1-r101-riscv64gc-unknown-linux-musl.tar.xz 81741252 BLAKE2B a91073a86147649110440cc9793f20bf217b713a771b504aea1d48ede0a21b53d83c3e95e36f3d3fcbf77cfcd69b3c085fb4a436dcc20385f69a6c6debf9e972 SHA512 71b101688cd0cfc5ecad6830a72387c05acda4c900329c31161110d1c7d7aa684e2a3fc315b127b4af91790d2817e213b5eed5becbe87061b7b5f3769596c7e3
+DIST rust-1.80.1-r101-sparc64-unknown-linux-gnu.tar.xz 69865020 BLAKE2B 16b37864349bd32d9554f3e101a7da225d13f96c928ad1d0dd6adc708559d9572f3ae88fb05cfe9382e95a292d215f9000f18473237e30f60bd0cfbeba698203 SHA512 12cd53f0287bf74848ee3c9ee71309f9b25eb38317f554ebbe4d9a5006a124950e05e0a9e07056fc213380b81009412e42d6d36a0ac9129d6e0f26e9c4c0b987
DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz 194141700 BLAKE2B e174c185d35d3974c923233807ff1a27f6736af2a8b97f92153c0518aad4f46653d5e5bab219b51ee1b58cac7216a29e5ad6499a982de8f52f6871903a307b71 SHA512 4d69bfd0fdd2de634a3ab873e8e2929c53baec12e4edcb220b8054c672324dba7a94d06a9c35474b8ba74b2e408d7b42a857ad11a4b7a346509b5fde23e8c779
DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 274048978581a816fd8a9c396e7adffa509004121d5e9dc8df53a9f4a850dc7a0bca8652760c1f27c1c0dd57be5a91ff60e2d39ad7681b17efdea91312d0fc40 SHA512 5c34ff90acd4307a57733f8371abf4712c3ca06bf9db88f1d3e3ed9dda1c16a7775d713804ec4f1bc46089428b6b5472ab7e416f10e21d33f10b84b1a33d1957
-DIST rust-1.80.1-riscv64gc-unknown-linux-musl.tar.xz 83359176 BLAKE2B 27ed3232a01fe69a7ebb6c18c7caede9d5ca6f755b52ca0f4a2f3faa073762638b13cec4f4c63602ec709d70d3c4333db5bdb97468e77a3c3a491b44060c484b SHA512 858f2366104e368efc5564228c9247d110b57fc3a196b4c56077fccda104fd8ed87f93a6e3ba2291203d05041c819555f87736c1ff3f5b494f47bdccc1a0874a
DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz 209785288 BLAKE2B 01792daab79e7abed8bdeca53295928429b6814672aa4e0426316ec790d22b22abf25d3d5513582206d18f53147e60d252a0557ab9cca3b594c89ad603d94ea7 SHA512 66b20f5d001e978e2db5277da5f01271f0500a59877a849ccadebd5823eaeee35066abdd5d449e024cd5ae8ee41dd60fad77a00648cac1db62137d6722729fd6
DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c0a1a6036d3c3e9af835c281fd347a842cea15bea5f3d5f109f4080a2f93020d5e1c1a7de1894c03e8a2c87c6560f792a0c8024e68eb55d10e50da098f1e621 SHA512 7bbc3e8d3b039b522e62101714f5edb85046cfc06375df4b49c9ece891f8fc57e86027e1fd12a5837be7623c9137840551389e7dec4b2700e1dac0ae69121729
-DIST rust-1.80.1-sparc64-unknown-linux-gnu.tar.xz 69671332 BLAKE2B ae9d7c680dc77bb2beec0e80aaf59768a21091814247b74ac1930a7c66f7b6426fa35e772b97e2aa1983cbaf37981df47e39c5b940ba4288e1791ede7b1a0bae SHA512 dbc895498ae43921d6a15c4d36d9e35756ae8660782a07cacd607d1ebdb75982d67ef78ae2803160c07c2f9067b608aebbec7812799cb45bb893c936379fa9a7
DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz 167553060 BLAKE2B abc6430cfbbea5dd0ea42a6a3e2796b6f499d5a8343616d310ed22b541bdb15803d882dca9be743a81768bdf55f78c7a803bb594844d7dc3d2bdf09bd3f3d312 SHA512 73e6000af98efe5d90ab484ad88f455f07ccdabe49400d25ac16eeaa51327a5d17eaaae5ef3eb0b04b9aba2015c379eeb2a00076d82ba959e53e3dba470a228b
DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb52100a14bfa2775ca7cab5cd0f9dbc489ec3b26a8687876c97b666435c44ce58d86fd9f11d4f4832e79c05fa3ddefd7157edc91a3da25ffeba07da61fbddf9 SHA512 08aad912e47341bff29ee1d1b52cd02df8e609747f7061e61ed6a401d798140a8587378aa992b0d52af955a44d2284eefa00f27a6e94b4ed561c06eed60ad6fe
DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz 248220632 BLAKE2B 7f0954379658df0a5cb0bb4bd49fdd1d216bfa5a200789124667d13ad97f0a5278f57e5b6278a969558c834de43a5d7e3f5ad3e331cc5a4c428dc097453a9394 SHA512 079cd3384c0b7f85d5fb2f02f27febe423ff533d71463097fbaa90449a955699fc25d8e4ae16489f7d7920c34c318c0f2e8185eeb9c6fd64c0851e4366c5eca2
@@ -272,24 +276,24 @@ DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz 224016868 BLAKE2B cbc147e42563ba1
DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3cfb29d5ff9f00e5f14631466a3a5bc5ae0a3dadeed3e2b22ee000ebc57bf02ca6db5f2ac01756a6fdc753bb4cd83e5e6ed8fd9e356b6325f5b7eb17e7714d7e SHA512 1fd1ca2016876f2456eb832bc9c6d1ab2be237a619d5f6fd4e1ee0f31bdad3d3c1c95d5f45069512d0c8a140115a594be3d1f888fd9b5a342ddd7cda1d5e5ce7
DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz 200885152 BLAKE2B 46b23442632d7c3368454a031643a795cf54b732d2c180960008e38be97070708a433d1094f529aa78479fbd89adf1c4ceac38af919f28577e8f766029cf40c3 SHA512 2e090423c8c5ddc1dc29d5ad19cdaebb9abad45bc7a229f911385f50cd2951b587a187ed8deb01aa41aa643465d7c7ac2b91d94c80265c03362de39b99eba82e
DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 70aa0a550992b32ef666751336ebe2c81f3834d4117942cdc7f8b1eeadb1e5efa5fc63e283517e5535f406ff0e36b4577e559e24281e388a362463ed046fa340 SHA512 70c85d06e5b29968b6efb10efbece2761f81697395bf037581adf9e3aec0141266ae59644b6951e646749bcc23b038d5601b804c6d389b64c87b4be24847db42
-DIST rust-1.81.0-mips-unknown-linux-gnu.tar.xz 73640352 BLAKE2B 91f833acb8378361428112a802b1ca3a92a08ac86922161bf7d8c5f5f8c2fa13f5f8eee655363dcdcb853211e4575b3d1161f4b914d7dc8ba005f4fd681198e7 SHA512 abb641fbd5c0f895e2401045cdaba390445af5004e04f090218bb8a098e487e6844280cd162873a0664e7fbaf25227477f2ccf6da9c20568dcf332d9ad713ede
-DIST rust-1.81.0-mips64-unknown-linux-gnuabi64.tar.xz 73301608 BLAKE2B f9190465942a0b85d810e3a16f4f1850b70d29409743496b22a01621640a86213c82cbffc45d630ee604aba34fe5ee0783cf018af85b037660c4ca61a57ce9b7 SHA512 51305596f1a2462b03c74c7c0789c5d2c4f7094caef5753a1cefab8b4371ca57cd0d91528b1a6e957151b2484cff5b45f3341a48196bd095212657483ce94f6a
-DIST rust-1.81.0-mips64el-unknown-linux-gnuabi64.tar.xz 74961740 BLAKE2B 6a712c1c1485be3e7f8a2599c13c0f296c38c77771d635d1099608a3ee1fe6ed3474876f5518c6a417456ac8087b0f4b415fde371873f81d9d3bd778721bf917 SHA512 5eefdf363f13afee128745cdde805794a88bb63151b6f18598096c3ba0f826aae2519cfc61f93b458de5da1d0765d9e48beb844f226346f54dedadfc19f3840d
-DIST rust-1.81.0-mipsel-unknown-linux-gnu.tar.xz 75296988 BLAKE2B e0f030e08fe4aaeade0637e601c5c71dd49dc65ba1b9a8a9cffe48b66b6c38547b745cc2d2802232e914fa1e8d01725b57a7b92a5b5986b752fe5e6c480de080 SHA512 90bf79b7f83eeec7729b8fb4cadad33c1ce7c911457fae8d2c4d0e2ade68675e4aad484fe8f41163065e7a9096d36f0045c95aa24bb097e00122ed31a1c24544
DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz 213304904 BLAKE2B b9d126cc787323ec18e978aaccbb8f92ccf753314fcc6a5d2d496400f4bc7885b543bd7ecae782a6c1dba737708358be26be68f69b47e982617e9a80af47d279 SHA512 a84bdad9877f7c8df2cd495447cca2a0e1448a8a13ee0fbcd2ca6f662317cbebf9425238edf3b5a1277b723b9c44eb4d363339c00a35e0ff86b6a568b61ec2f2
DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2fba08b5be0026227e071993272a12e0d27af3b8e3b2fbd039a9c9a229317e9014d2e0f2c981387e6b46907e258e309424c2aef22d3512743d28ce035a85dc3 SHA512 156319d1904834794476d80a3b047a4099b983cb950ab3e9882ff34c0451eddff7cad8b160406abf23df40d195fdce925052177de2243ec8e8415edaac3c643c
DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz 210257620 BLAKE2B 686cb5e08befb0d4a19a7e34478c6916abd6aa7a05f09d83a7f8c4fcf59e144371a7442a1f14cd34b149dd056df119d5748ece4311d69af79725cb9b3b662126 SHA512 14f5feaeba8cb9e0a3326e5d74cba9be832fe6570308d5735f7fe7486fe240ef0f3cd2396c853bf34cc784f05fedd7a975dcb922775c59f3262a67fac1383839
DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d30e35436bbe3869278f4936b2b132d0a243bf0288470e837246a59239c2813025757f684f23c639517836e25895835a7ab0fd488834e2f53cfd1155e1c8a2fd SHA512 3b302c6c999df3e9aa0ab1a0638692cb6f88d44598e00bc862ecd2c384afffb259b8072738055800efc9f0c5b8de07a0fe3de1cab1bde28a9faf1951411a9bf6
-DIST rust-1.81.0-powerpc64-unknown-linux-musl.tar.xz 76312476 BLAKE2B ab03fcae936cce1f2d4890d91e2e10b21ebdde72fbfb3d766436dc2ed18946e498e90c68158182c949ab92f0be02276fdd21d33ed17439d6bcc50526db1c386c SHA512 5812da254dbffa39c6ec6d2208d5223d7a2b57adc597fff2980c9f7f40ef7b9614ea43354840acd87f8349165b7df2d79974f0acb7ef71046bbba86653c982c1
DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz 224307656 BLAKE2B 3891f93aa2bfb62fe23b463cdbd7db50182bb175cfadf2969b32d093897f517afb7dd97ecaefe90f220998f7436d41651c32e5a46957c2114d1ebc70834dd917 SHA512 9f6fa6bf0d5ba935b9ad5661287ad8aad5fc8d6b28fdbce6cd81730539d087ea512dba7b0133de08761d12b580b8b1c5d7ca35a4f1277a8bb683c109177ce83a
DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e96b56de2542596db2db9030382e8d87a9fee884888b58c0050b81487eaf22c2e6d62d11dfc7763a1f647318c2bd0b29e03dcbbe1809ea8162432874758caa7c SHA512 0e568a763276ca4e9c359d6dfc32d1f369ee04e160026c7660ff5f14175022175d23589df9c03c0c8c270d7e74a5e54754d23c8a1b0545b67b6d6c3d3ee82628
-DIST rust-1.81.0-powerpc64le-unknown-linux-musl.tar.xz 78549196 BLAKE2B 09c359d64f54a6fd4a2ed2e05007bb18ac9abd5223486c8ecd3f08c4f6a0c0de5e22e5f2bd8ba7759949945045e9c84074cb9a133802f3f5a8fe10d97b3e777d SHA512 6345439d1f8e93a47b41593b3a815e23087b77d20722531f05d197e6a96e1699955aac48846a94caa6580e8fc5f30ea7f6edc45fa2e3c5308dc95728c12813e0
+DIST rust-1.81.0-r101-mips-unknown-linux-gnu.tar.xz 73402288 BLAKE2B 7c9a140a71d933be17d1d37f50ea1e99b85d517e1fa71946e23cd52b63e8c0bd8c1745da62e8409a51e68a1c4c7b0c87d3835d152905d1012f5c02023aac1725 SHA512 3892b1709f60c770036342c68ead1fe2a0423dd0673b1d276d1a4c7c293e6336374fb2086416ee3a9235099c3a74c3b85e6bf0e5c32262f8d453b000afb162ed
+DIST rust-1.81.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 73118804 BLAKE2B 06952eab52e267c3e62d075b5ce78f03ab2df82f0a5cbc6af533271ead719ad57722f1cc736d65f5d9cf8f397487fdd72c734feb9a78b13faf48b7fcb306741f SHA512 871fc5144fd519aaeb4ed8ead742f5c4e2bb2316244e9f3874666b9a6c2daa6db9ffec2bdc3f0b7d342f578cad7c0ea821968b706678b2c2bebf83b0d92d27ee
+DIST rust-1.81.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 74730252 BLAKE2B 9a7e17498595829f7be1842b62404faba0c1dd50bcd80ae276b9440e0aa4b8d5ad0cac76507b03f5cf1819c8b3abde5a12e74cd947a62e6c6c1111d043158930 SHA512 1fdcf19f726bc60fa9ebc77b49a49becfa430b5ee857fb8e202048905f6dcd9dbf681c10c7b0fe857041a00d1d66406b1d92d4ded2e82d8ca69992e67496a6d7
+DIST rust-1.81.0-r101-mipsel-unknown-linux-gnu.tar.xz 75069920 BLAKE2B 572d9816ab022b6ce3b13738b218cd80e704f63e3cb452ec9eafb78c92f27a81ffcf91e981dd9a676c95abae1d9df86e974d6911f2fb95d72b7de11d5634aad3 SHA512 2561fb6180bd2fc56e9d317ee049b79bcf05517a32b3e12e507d665a6c8499a5543eba213bf825431597bf3816655288c675cf7784c3cf0eabcc03a457a16ba6
+DIST rust-1.81.0-r101-powerpc64-unknown-linux-musl.tar.xz 76092208 BLAKE2B 4574cc1cbebbc5fa489941b31479744816731e372ad62b0540253eeaf8f236b4d933801e6b92ceca356a487a199c934766c6c2a8a465844728653a60ff8f7153 SHA512 1c635647eb3aae80f0f2351bfbf00975572d3b0b35b800de4b5ecebcf36fe6ee5b617747b79d2268bfe9f3b2a36d42128a600ee344ae7d3efae93f133e2a78d3
+DIST rust-1.81.0-r101-powerpc64le-unknown-linux-musl.tar.xz 78292868 BLAKE2B f0c31989811c4e713e1eae6d0240c83abe02788aeb0bd226f3eb6056615fefd1d05f846476de45421acf0246d064587af1df40ac5648aeac290fa4bba4e4a839 SHA512 c7e773fdf013d42a20d73a0b1c13f7752fd8d16f02f0c785dd3548b34977ba60fe8f664d7839ce45cb88f4592f46b706b716e5edbb888b29205a292979950f5a
+DIST rust-1.81.0-r101-riscv64gc-unknown-linux-musl.tar.xz 83525016 BLAKE2B 186275fa3c6214541fce09c0203f61f168c4b2a9dab64ed5c0ff3c472ae387592db2a886c31ea39488d8010f414c4e6b9a19066214b1abab15822faa0c167fde SHA512 54654cefbdec5be8530b4af75d71f979a278d33959b21d5f04653adcd168a5212e61a646c1e38e5e07355c169bd19ad2794763d4c8838d962e17a64078a4b0e9
+DIST rust-1.81.0-r101-sparc64-unknown-linux-gnu.tar.xz 71277824 BLAKE2B ad0c0ef5a45010dfa4c7bb2cc3e8368378772ba32f6e464ab802a5ef8ea5f0cf671fb052a01cbd2da8f7e02e63e59ad0f544893686774999dd72cbb92a52c5a6 SHA512 515c4562378bc66acf96bb61a6675e56b57f97fb905a6779d78e1a6904a8108a89b847952e261447c35252518e1862eb994735ea884a75c8437c4fda7b63d347
DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz 223006516 BLAKE2B 5627ee83ed51726bcdb50757393f2333d76d705e18d65681c1872df6dd3e2beb9a18910b4d5e7da5c30f83b4c9f80117f2ef9c212cdd92eebc6cfce182ef579f SHA512 57cf209d364d43164402cddeed0ebe41b3e3ca69f79cec4f83055cf999493ed1cd87bc852b90707b2809cacceb39a83c4236712220105cd6a71be30250d4ae6e
DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0eaff43543493165dd86a2ffa30a4039b599302970e5c4380e8640c8c61881480c86b2ef98159ccf464c2fe39e23d14191aa11fccecb8ea8f56feebabfcd0d2a SHA512 4b5b7f01801692aa4087b5f010993d4b14b73be9c2dc964555ba140a939e434400cb4ed4756238725dcb2ab66e5ed67bb1d4688a92fcbc6c8af23f21fdaee568
-DIST rust-1.81.0-riscv64gc-unknown-linux-musl.tar.xz 83775176 BLAKE2B 6022f9c9ca652de040157434052dbe6079b03e1fce14880b3484599da0a217bd1da8e829e7fd1ec2f783a84873fd8b93138a5824e3628d6099ed92f47963f799 SHA512 16441a47b6cf4b7291d42d9ac07ad1e6a1cfc36d394d533517866f3ac66d240cbcd40bfde157de1b3161d55cf54b285cd36dc4758592c073cb6b8ed3e4d7cab8
DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz 212322092 BLAKE2B 11237159a0e70c84e296cd54ac52721a887057ad12269328cf67483d55e603df3f55381c4413871b83fe58a26a52c32ba5e77e7b3426016eb35a207275598c29 SHA512 1ca177d52cd897da497191c4ff869ad9e22047d37f4955e134d51a8ac5a5c24d9ff109a6e955e71df0ac0fa1776939ee39ae384f2fa12ac4740e2aecf92dfd61
DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a982e7308aca7fac8a93d299a9dcb00f5bea71e1b7061fada84fdf2cbe1cc5bf7ea65abff857a234896b950e06e1bc76c0e796a9570039b2314ac17dc4e9f4ea SHA512 cf8cfdecaeb589db64df6ff0418d68332c8b516d401f0e9bccf9651bb085f57d3bef4941fa60788ca372a9a2407a406dfb24c153a64549925a47c15196815683
-DIST rust-1.81.0-sparc64-unknown-linux-gnu.tar.xz 71498356 BLAKE2B f987c017bc779fda3d74cf8bb845ae5bb5e1ffb146a0ee58e413ce6b726f475d457d2ab95cf0342d48ba6e74aeb43ed94a200fcf8f4dda8a86d4f796d7c6a152 SHA512 7c88530c718e377c44a54399af0f1b954e86b3040eb49b2a1ae7caa08e33a43073d65b1a027147675fb81f7ae983cff5eb27230bd5da33a9c16689a924606b43
DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz 170439044 BLAKE2B 5377d8972a729b0135c2461adcdc179719a0af99e8e9656b3c9eb487144c306d49dd42737d71195773e4b03e4287215955a7bab34094c19a9f07fba04a706a62 SHA512 a648b735d91348dfda6a66b4ca09f3449ff4abbd1d727fce8c91ec409a82bfc873988b06aa0907e145c486d035df12c68fa14466ccd2148ac0a99d5934335ae2
DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9f39dedf33efd6fe4d66e10e3cb064851b1637a50e97d3bc19c48bf989e1e94d694df493eb437d2c2e58989933dbb05a7d25c276b26331475f44ea2d9d52909c SHA512 37908051e511cf223e92379ecf577ee1644d6aa13583b622b78d445367ca9e8a4253d77a5237831eeef15607c71e99ae3ef42451803466fad303bb523e13475c
DIST rust-1.81.0-x86_64-unknown-linux-musl.tar.xz 251142276 BLAKE2B da30177914f8574ff896b64a60279913d48330818c6e96e10d3180964ed542697f29c6ca7e7c81fb1b814e1d9ceb8bbf6e119596b59564a64a08e30ce72ce4b8 SHA512 3b772269362556bebbff72a13abf05f745fd88128367ab1e5879ed3c0f3f5a1f7370faec1b2bce521a38662d58d94a8e4eb6b085c8e0f166979af490492e17c8
@@ -308,24 +312,24 @@ DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz 232183760 BLAKE2B ce60a1471dee755
DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0deea40e9b63bd697756d46c1810938c03c9eab4401ca63d7294f991ec4e084ca51dc71853f5e9a7c32c895ae07a010ca2c9b83c78ec538ac3ca0306388a4884 SHA512 92eac1413e2af6e209ae03f43e642410e324bf043fb1ea152c60505adfa00100d205fb0175d63361633594a4ebb6e6c9494d73493aaafbf991afe7305bc76e21
DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz 214922428 BLAKE2B 73ddfe865cbd529ca7c1550b989e173542aed51a27e20c2a29cb7c93b3b19e6a30c3eccddf123dbaa8d58672a13aff3443ab34e4634a9f98f7c572ac49ff7af1 SHA512 c75039a73becfe8c0990105ff16fab5ea16db30dfeb1eb85b3778ba070acaaab120bfa9e326b621a6fb34a5576cc829d76153d3376be9c5db74c3ee933571780
DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 402210132f85edb9c31eda041a9978a3ec60eac8b31bfbd4742fb47afce36979e89de544f88aed7205a97e36ca9dec8d7d4a71890f197fdf93a0b3e252c2eb6c SHA512 53ccce83866480bb36b0fdda23ca1dade3f9bfac05b1ab49a8df3e5076d9acca57dd474e1587bcd91b4f286ed38738b5826bb355c903edd2ac257a9daf5d8442
-DIST rust-1.82.0-mips-unknown-linux-gnu.tar.xz 75893764 BLAKE2B aef2ccf94b0e4dcbbd369abfe9bbe3045e62fa0ce1fae3ddc34c9dc3af2828be0b6c18d265b0cdded27fa4ca5449f03fb53a4f5e7a0e5b410723e6ddf42b31dc SHA512 9289961d0542aa0f78195a976b3d8d9791d048883cff1d0c2d597f2a2eb53bc107bf2ff646124e3dc60f9bfca10c417b54623f2308e56b61525d7e607ac697d6
-DIST rust-1.82.0-mips64-unknown-linux-gnuabi64.tar.xz 75620212 BLAKE2B d016e3c1a58e3354b33731b90f33bb36edb49fd3fd7f2cba842dd5ca7a8dcf62741c5ef9a6715ca0a7dae027bd5ec8949000cb1f1ff35f9323b7c6dd5c76708c SHA512 5b2e28010648506846d3eb9ebbb98e405d2e8d982d193aed963f43461ec4b7181e62fe0aed0fd9d95352dfa5504420684ed3edbc7ae27190ab847c8fd68ba5a2
-DIST rust-1.82.0-mips64el-unknown-linux-gnuabi64.tar.xz 77251292 BLAKE2B b07ed9b53fb157b2d7d938d376e88cdc394b1cb40e2c46e3211b0885edb474e54cfa1f0a00bdabef179285415fb62ad22066682becfb86c577a819a21d13bed2 SHA512 ca7c0cc9c755e0bcd7a754f5f9f729583bbe396fa740feaad3d8d711ec0f5b802fe3cda7ac17d84ed4ce43e3e436f11240a2914d9f03097d78557a56fc103efc
-DIST rust-1.82.0-mipsel-unknown-linux-gnu.tar.xz 77645292 BLAKE2B 8e7c8c8976a89b5787f721fdf1731426caf6895a744265ee79cf91e1c8a32071dcde73a2e3c36b6bb06ca830343534ff0018c0f6058337d2ea729dd5592916ec SHA512 20452b798f29078e2f8fb676808dd1472f6b6f794b4338522af55e095afc7d97d96bfaa8e547c6a050fba0603387201ab7dc0b5cae1233063987f5df137d978b
DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz 220809284 BLAKE2B 3f87e36e6e635be68329e80a4273c1f538ee912c8cc29572a2b06cb04920239385f93ed2aa364667599df17962d3ca0b2625448643445921c44afbe3a718efad SHA512 59fb1570d46b717a118d832fc1f4928337ed525128dca72104ec2ab59f424b665bb7676a6757faf50f81e5365f332d409dcd01a8f49b57c834c875aaafa5c8ba
DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4058694cec8383fb53982cc6a7c05e476b5460a5d43fdbbb95b07e36006cbf9eac7536002295853df5f14cdba0f25cbcfba96f527592fb6f6089e58e7aafb8f8 SHA512 3965cdcdf359cf62b8ead06d0720093c3853242555afa83a8b0f48876d623db1259e5373b7c96b550f7203abeec6f5f697fd24d56f178ce969816d583119fc1a
DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz 218119856 BLAKE2B 82c61658d4cd4d755dc4c058c15826a1ac0167da8b4c0ba842ee4f709cba4b584b9f505a816c7bd4cb49258a037ac3f34bb7a7dc0f52e32d57b2545e3a4c607f SHA512 9d2bf19f84c0cd03307be7b7b3687364966c2cfc646b8a9b21a6cd7b6424978c3559a26db6f46818cad543eac556689ba2ede976ab5efa63062cd4421b097dfe
DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a38307a4e0ccdc64632a688b2e5fb9448e63e26045fca2af4fbf72de6dcf6b201dafb4df4c56ac20832738959ca13abb56901cf5f718d7d4046ca13d600b6c5d SHA512 c821fab5da52e50e95253d4aff61292b5155c736df75b27095c8ea40d6893cc2786dd148db71f68e1b0635eb740cbba6de0cbee01b5e4a603ce61a7abc3fbc28
-DIST rust-1.82.0-powerpc64-unknown-linux-musl.tar.xz 78453804 BLAKE2B bd6bef9a710d6c0aba9bfec0a77f6442e48124a195a02f6d1d76b3d1c3bce18c9a748fe463420ea50ae097601e9cf0885b953b0ff548313d1fbb7bc818270e79 SHA512 4db950c8d0ef642e9a1177c0a2691b7f6107b243ae163423c25f3eac1cf443356ae91c43328e7d30ce4990e3b094c4145674728da6ac08c501172907a917bb4d
DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz 230915544 BLAKE2B 74d5bc710e370775a7b83232dae5442d251e6c02516dec8ef3bbf33f81cd877448f66b760f27705bdaf9c9637bd43f2c38502c5186c6582c4bc541e2c2c1d1a2 SHA512 1f82a50445e08eff5101c6c2a4b4d03d288bd6d8331ce2e36a2a8c826a93a1267c333b14bac84e6b943c9fe1ade6706e793dbed8ca158f184c3f74b3f116e0d8
DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5287810a0750010ca193a713591fe95bf7ff9f706116caceba0d44763d9263b6e783defa1b9de543cecab36521168f78ed4166d13ac2638e1c18b317ed29531d SHA512 f3b4a607cc1d07bce086073caf3245335c0b03a9847922dac36491b5c3d7f6cf2b156bdc8cc0cf99c513057928a7931a82ccab077cfdd2620e0a77426b88a1c8
-DIST rust-1.82.0-powerpc64le-unknown-linux-musl.tar.xz 80767512 BLAKE2B bfb617107f03e9feb94df00570662727c44c14973ba7b88691a53b40778d8946ab95792fce0951e4e62143b6158b71e0c46a2836c7ff229fc0f49f40700285f3 SHA512 750d243dece6d9a6d1c16ef34cfddbb2632c8b65459b0eea1e13f695e9e92e622de7b9e7e8cb068fe45e1b1d5415bac6f2b24fa3a869341cd13f7e46d5e7fc5d
+DIST rust-1.82.0-r102-mips-unknown-linux-gnu.tar.xz 75945532 BLAKE2B ac2cfca6177d445e5b569a96cc9f6107d76d4f88008036ce74a46ccbaf6b43d13df685ded80236ed099fae01a093551c954c7a59c7d1c46082f69589739662c1 SHA512 6a29118d05c7834aaa9de5bdb103edcc4a09a7acb423040d501db4c2f79ecb5a2af35d5c04f2589561f6792ad77c6aecbba9776b7d0d3f91c631b1865b5da9cf
+DIST rust-1.82.0-r102-mips64-unknown-linux-gnuabi64.tar.xz 75619292 BLAKE2B c9376df707b9a1b4cec6a9b456c7c4f82c1babf1193bffb71ed45f7a59eed8372e61b1638c28d68ef86f01940c8ee8f3b9ffe9a38110846133c7b76d00c890d1 SHA512 759aafe631d8afbe4560a96b96602a2a12bf2f0e6382fb0ec36a6d466130b8352bb27152fb843d3a0aee84d7e8a87ebe42be9f77687816d6d9f00585679b3ac2
+DIST rust-1.82.0-r102-mips64el-unknown-linux-gnuabi64.tar.xz 77229084 BLAKE2B 9ae826a05192371fd1042af4dedb2e1034b4baae54803209a46d378c606baa0600d5a47fcb9b3572a38303830934820fe0c251691aa411c24133fa887493c86a SHA512 b5496de43cd80e29794491684f9f18a9b20e6fb776a2a86f191ef86905f281d96388a25aa424d31f361763b80c2582b3dd89767d5d653dac5115a5b1c70d4d38
+DIST rust-1.82.0-r102-mipsel-unknown-linux-gnu.tar.xz 77620820 BLAKE2B dd9311c53e5ea2e910bc20bc0c58c86b3f3e9971f5e290e68db2c9371ea62a9e8f992e0e45bc40af38b25f40f0168c280ea71044abc5281e8e9be7bba61569e3 SHA512 54e27887d8c280872d6beb0e7dfda0cfa978105241fa5599ef92c5bdf2f1e12cb39ec10a7f1ca4ef60b617af9739e8f8c14ba75453ff6ea17cc82fcde7f7e098
+DIST rust-1.82.0-r102-powerpc64-unknown-linux-musl.tar.xz 78493856 BLAKE2B 4ec6ac6c649ebcbd6fef3aeddff744833a297d457163b9a0a5ce21bb4223d9614530280603028137a8998a99a0ca8b44c67110c0f6b40df342279cebba62b47b SHA512 3c7345ef3127e5d093ce5e1e722c7f51b5ec1e3fd269e1a71ab34926f26b623cf0afdcd1fbb04b773dd1c00207da307b840cd25f53f38bff3ffc969420558313
+DIST rust-1.82.0-r102-powerpc64le-unknown-linux-musl.tar.xz 80786464 BLAKE2B 49de93234d90935c13faa1fc6cda78b48ce869207361a1c02a9715dc56a3c44e7a0854d1b7b524d32d4f020f7d90f97e602130a8d50e758da7f0f204862bd056 SHA512 42ba3d2e80e057f068ddc0d6d3e98afb6f448be1491c50111aee0140e0ecac977f81fb8bea5471328421ead3346f3cad3225cb568cc40519c14d63410e50b0c5
+DIST rust-1.82.0-r102-riscv64gc-unknown-linux-musl.tar.xz 82227072 BLAKE2B edbf2d8e9d354c17adac951a594c3eee10363f90ec06940801d1f097116abefa0f211b73391333878b366c98dfd03cce468a46547a68048daff77d19882abe70 SHA512 7de5fba216655d1bd6d4bdc9f0246d77247bc4839a580acea814a9bf6219a47602ed864febd064da4dce3cf051aec4fd1d15289f90b1f2638defb0e8a2a5e35e
+DIST rust-1.82.0-r102-sparc64-unknown-linux-gnu.tar.xz 73900436 BLAKE2B 19bcf8702279e4ac923cca095d8ea1b267ac9aaca3f5f0921a9f96b387f64886722afeb1eca2400d163cf61509fe01b824f4271accf99ec5110e7b15bcd13a06 SHA512 02d479f0a8e9ace652a166e458b193228ecee25eca5215dd3a084ea3c350d2e848f9c351645ed4408f2eaf2846b3faba4b39d5d3a65b1926e79846d6f4996e6a
DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz 217304308 BLAKE2B bc2a2af8119892842d188db23576f3952243f3a798e23f22d07444063a997223d11a23b1c256a665fd04aa608083d4f26a97c72c4ac36cedcd99a6ca157140a9 SHA512 9ba01e196be7ce7c62fc7c2ee9041e2cb30553f376eb6b3dce97121cc6052632f8867869383edfb02b47ce848d19a137b19787454eb424bd69c7749d10282731
DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e41f6fcf79b8f017e60a0c3383f2619b857a1e9c74e45b3978a5e54de3804e2873a1a3a511bfdcd7b7bafc95de692ae2a02abe54153c97188e8a663f95c03967 SHA512 c99d3aa7c94c3a8e170f6eba054382d39ba35d4f83e5d1c550efa97b72060a198167da984ad301b304d0fe2f5145655498986571df27c102df25620db2e80ee6
-DIST rust-1.82.0-riscv64gc-unknown-linux-musl.tar.xz 82214464 BLAKE2B 37e4e2da7208df74daf9bc7293d22cdeba225d3824203cd6b5e2512522b10b9ba0ce3ec4a0b7ac41a5b3f27a6a363c5691087d11327eac62eb96f102a29673f9 SHA512 e0fc51143b85881218766adb777634cf1c5dc22ca65aa07616d903f6b8be294aa497331ed68300dc04ad7d2eaeaeb460c429172dbb313b7aad3fe76f4234db1f
DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz 219317068 BLAKE2B fbad24615d53a5d3ff9761f976d43aa969b208bde2ae87857c7389a97252de00df5f54bcd9b06c53c38ac3a6a49e1a47a06de3788c9a7693e937b3e12864c671 SHA512 1fa0cae2d2c857955c4fe981bf042cc20062b8c1805c2839a37825f2f914858ce7915f706a73a851d90cbb5de7446deafadfbe6d68ba01c0a03e2687d5dfd06e
DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 577b5759c302865372cbb882bce2160036a3d30cdd3852e7893f35a0c798e0292becf04ea8243f2c2fdc571cbe62693b2ead64635d8d15e943a72fab09dbb6bb SHA512 cf1e235feb153cc305af741f3fe3d23e90aed9b586cecfdbca94289a9673dcd844d471cb63d9222634a387b08919d8b9b48d30c9538ab4ffc4fcdbba00382b85
-DIST rust-1.82.0-sparc64-unknown-linux-gnu.tar.xz 73813440 BLAKE2B f0708d1425e59d533ed49e10581e5e1440a6e40b72c518caa5ab25d14a6970b38030f52661c22baf6968a0170e854e33ffeb61fe6e9890c05048f6158f7314fd SHA512 1c226cc73e87ea3635e5f0321ed3949f2bb1f77f62c1ee5ebf3c7619c516b2994f6a8347cbbb74f19d2b375d7f8c3df0d62b59929e79ef444f5ad33a7931d218
DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz 178075016 BLAKE2B 799dba2583b40f8b43cbc1370d32fddbd6c65787b601a5fa60eb3ae4113057a6c1bfb8f54046fb5c004d7e200d47a42f5bb1cca8382d7536b4b02462d1f00f6d SHA512 63f0b35fbbfef024ce2901aef4c924858f50246d682e4d11f93154f33267662319b043003a48fc9fe0631dd8385a6a4172399ad0257167b148ced4ac5eb62494
DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0506992a71455ce0d4f76d4e6af6ef687ad772e75f9b251b4ecd1b6482b2abf0f7b32267795d7d87bba07d7f38e1612c0281c87ba0d07156c90e44175ab3a11c SHA512 59c56ceefc1228cff372cc4f3ae40e04da58f90abd6647fe4b0a11e760c21902f58dbafbb48e7ad868ecb26b162ec3641587ff8b5366c16cdd6e28f4f457390b
DIST rust-1.82.0-x86_64-unknown-linux-musl.tar.xz 258823060 BLAKE2B 71e284a1a62944677792a8f9b9c78eb1750afea218f9846859de52dfe24a98c467a8d1787a0d5d72f761c36ba20f4000e1ed193e11db28d7ca3ccccbeac51f0b SHA512 eac9e504c3dc230a3923cbfab01d4ce3d5639f7c8213d8c8c3e007fa6045e1f56a4f5e6ddbe2e6259fbbac2a3944e8b351d270d4f8ce20aa8e4843a7572e8931
@@ -344,64 +348,28 @@ DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz 233693080 BLAKE2B 16a77a02a2a4f33
DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 96b38ba9f35d825723b04395f2d6dae8b652c8c2604d724183c328432a991c9cfe9efe35bdb7a8cb32ce74b29be953cf71f782a369a975272f1a1b311bda74a6 SHA512 875298edf8769158e89b7e2c7fc939dab1e738021b8bfecb9bb1a7b287ff0bd87bf49e1784c567f7c63d7149b8348a06b9222d1071980d3128fe826c42549e2a
DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz 230967340 BLAKE2B b1356c331f85ca97717dcaab94aded8f20c577bf61051583e03b8530127e5cd3688f92ff920a6b2083d3d59b7d9faeea2a2de4382cf49766a74a71fe76214bd5 SHA512 68ed82264a89c8bed255ecf1b92279c8de1446186223f1d44c16eab263749de06cf1e8e07720f1326abe4663006ee636089db788124f3f0c7c9adabd3f2a68aa
DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7aaae04be9c09c8775ce6713f172f3523a7b008c921c68f1cd751f0bfea8144ac2bfb454fa1fa0d5e8486e62839737ad08d3381acaed633dc62c67abea65cd9c SHA512 b55652804fe3e5a574bd84fcf099e5ae733f211c87c5f3352660839f5ad2c29efbc02e553971734bcb6e7cd6f389bc875bfc92043c68339d8eaac797b1b6742e
-DIST rust-1.83.0-mips-unknown-linux-gnu.tar.xz 72991436 BLAKE2B 8403529314903f0312f08b2b74ea95215f24cfa935eb582419c693fc57612a1b99d4e6ab69c47ae581e300248870742b81c88f6a39b621c28e52af3e4e550945 SHA512 790209ab21a5e2687df22681e1f79520ec04f3a6b53e8f6f206597c96356186c32df0a10dcfa21d0db80fa34c6ec5599ba1ad37dbbd0d7ea76fa823d5bfc0c94
-DIST rust-1.83.0-mips64-unknown-linux-gnuabi64.tar.xz 72669108 BLAKE2B 2158004650406ac248c6df07b6adb9bfa0f7005b79624fb23e9597f69a6fdb1c2d1f72af4d617b41259bb1ea8b25255382374113de085c2e74414df21f9a07f3 SHA512 b88df5767f0d30f3f1ceeb6354f2463f28abae2752fceb6ad9676475b4e29fa5d27d2d4d9431e0ffa1735270aaf39df72d398dc07b23d140b7c4a03794113d0b
-DIST rust-1.83.0-mips64el-unknown-linux-gnuabi64.tar.xz 74172208 BLAKE2B a4bada0ba428b92f2c97a6791c337cf24a1b0e477a92bae57c29ff56c9019da9fb50289443ad01f9b50d6644426d56791b5f141c6c3d3de38eccbefecc899135 SHA512 711c87b06d02cc919a54d017a3ca704dca75b33cc0027927c244cc1c9e3d7433313b88dc05de9afb31159e8ef3a8f6a014e9f74c0bc63039bc4127cef5da6460
-DIST rust-1.83.0-mipsel-unknown-linux-gnu.tar.xz 74567868 BLAKE2B ac2a7d3ef64108a14447f35fba5c04920027ce42de26d8da8eaeb9f991d8dfc7bbe58ee7c667784647901c4f8271dc650424abf3572741ffa95c6e6ea9931bde SHA512 a247496009f59e29319f34f92238ea7b0d0be7ea66f1af1197d1de7bee65bbb743b208b0cc4110dadf145d5bde7fbe21f751bfc08fd44559b491366d9028394a
DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz 222744280 BLAKE2B e32f9066394634d5855395d202256ba67c58d55bbc675bd440ac4d051260e7d2d237d0f8c35d3ef02f33512279aa3298c1993b2084b27fa017e18f1debd1b15a SHA512 ef67f29075d4248361885d0860d3040797d6a7a941e99ad49d6249e78fec00e306153fc28bf907a0cb4c58ecac73d92c4d8287b56132469eeeb18983ee84f01a
DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 16cce0091bc65719fc410e4b76fe3bdf4b3774402d300b72f46dbf1de55ef6ae29adbe0fa2c66aea119536b9446a0eeb70789cc9db2a36b64ba8cbdaae707f16 SHA512 cf94525aa6a868d1825d5fcaadc82190a6866a107aeee8884b7fb56b5ac427436be91737cfcaa0d5f7a44f21833127ff028e9247f8626f38a98e40282feb63f9
DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz 218928260 BLAKE2B cdb8b3e0eb20df2ad4415a991c535c4db36fcfd45364adc415c870acfd5c61953d5b95c173213fb6c420a354adaccce2afc60d63c5afa21c77ecbcfecb99245b SHA512 0b39efed4cd9f5d176d81be196948697b72686cec907a075fac8d052197838f0ab536fd995952b56f58ad45bf2a5d89ba46bbd97cc2bf9b166658b508a959c11
DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bd67bf4a611f731cb950240811504262d666656a891ee25f61dd12090e6176527c5d68a83c9fba7613e6523397aee4dc5aeb97706f80120e1b66738cd9ca1451 SHA512 fbe15871b6bca6fa89cb47df24e5621046e6ee5b5e008c2a738093c85d8130abee507eeaab5cb83af27dd079094fd6dd6a9597b6eb712eaa00e7f0b8c85aaae8
-DIST rust-1.83.0-powerpc64-unknown-linux-musl.tar.xz 67433444 BLAKE2B 0f1426eb3f60cb1f731b8e35f20a6711e6a900413480bc33a1f7da9ddfea26e947a33c9162ce78ab6a3623bff8aa83d0aa27b82109b22b201fff8482c3b480fc SHA512 d3e17f4a35062be865e29169e41ba93b3f8fb78b73bbe50a9330ecac29442c8d1ad6e68ba1422585e49a09de215cc7fb9d6d798c3aa60c8211f4a88fae3c32da
DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz 231986816 BLAKE2B daf72e5a6382ec93d7222b624ebc8c2f27d4b4a0448ad227615f4f7c9e8d87b2d2a7c182d6f0f61a20b4f737e5f70467a0c2b6024eeeeb248cbfb37d655841f7 SHA512 6735080308340072dc3f258b755889c7a9f6e79b85c46e38de074823b6814289b1f9862a1ac69d3027386560ffe3c2eab339438a536e717f7b099f0de75b6b64
DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c88fadadd58fb4e2c63f10f01b1b3b719e1917f5c1217b5a858bf347483f0b71016107045f34916fa53e493b47532a94148c4fe95db6ec23222e8e6f70dd98f SHA512 da5e64c245bc962447384db3876f3d3724ebddacddf35b7fa47e2e7b408ffaaffe303549fba9c07af8a6974ba32da823989d1929068e0eb5c781881511012a6f
-DIST rust-1.83.0-powerpc64le-unknown-linux-musl.tar.xz 69860332 BLAKE2B 63a29db5bf9b1664fa95a902c222430b1a38b6dd8e4093333bc65f0807023fcd20566654df2b666eb7729c4053c4ee848ca1cbdea8e47afa08fd391a515d51df SHA512 6ba407ddfc00c6e06365e014b7cdd54ac5b529d998c5c743ca5fe70f2da20c2067182e9fef1c4d43934d8fe9b87a73bcc48f3514da3c0f0ad07e09e4b9922eb8
+DIST rust-1.83.0-r2-mips-unknown-linux-gnu.tar.xz 72983684 BLAKE2B 5594646a37808d7e1549c7d4b94afda6e8ecae49168f9de262f0ce3000f96a2383a738c4a2afc6a767ba8df0a96e8b7a7abbc251d4b9998c3311684ecb195abb SHA512 36a10dc6e3c138e02cc2a6c07d5dbb15a91239a6a08e2232721d44b6985692acceb69858792d0597c6854b0ad00a92886bdae3c1bf3ed40c9534c7db6d19ad80
+DIST rust-1.83.0-r2-mips64-unknown-linux-gnuabi64.tar.xz 72710016 BLAKE2B 0c078a93d19120be58857349ff8349f49909174e8b4a9753dee859208fbb50c311a1fdbfab8f7226d9c9e1587d26db0afc2386ee33d234003d9221698379be45 SHA512 6a7ff1647f791bd4b93dcfdb37bbf1c184d45ea99bbb05106eb94540a3bcd361ed82336a9022278eede425331a5d813483b98fe49bcde7c6e4f5753f1df7f3ea
+DIST rust-1.83.0-r2-mips64el-unknown-linux-gnuabi64.tar.xz 74143428 BLAKE2B a07103a332aa499d7c04647b36bc53bef7cc4ff32baaba6377a2b0ef698616be7f7bf69d08e17732a54e4ffbfdc3882374c62368349d9bfbc5b56a13adfc2c72 SHA512 f2b0f0241d2d71998d48f96868e33d8ecc112ee2f2a4831ea12b20817733d2f8c9c970741e40d69d2049d4034bcba49867eca09fcc6803f0a119d891f7fb6da1
+DIST rust-1.83.0-r2-mipsel-unknown-linux-gnu.tar.xz 74601216 BLAKE2B 6c571feae459eaed7d2e6f4255602bffe2c280f17c250a2245452bb76cd04dfd8c59e57c83553382deea2da278d3559c1b11b93ea82c167383bbdfea47d357e2 SHA512 6c450eea8076481d6b84adea87e1fec50f46a96c0d7cb7360753f07fcc5f6a9e3eab5ca84c3b95b899ed8a41ccb45948096f1dca376347a619ae00b76b2be100
+DIST rust-1.83.0-r2-powerpc64-unknown-linux-musl.tar.xz 75476800 BLAKE2B 35514974b5085ae00ff6745bd10cf9cdf571b18c6616508310ec8a9bbe37cd9ed0a432f3a954f0d68c102d63dfdb42be336845b8fca5fc2ec8b890edb2d22328 SHA512 9fec95767d39bf05d372c5eb4fcd55bb5f2c8b7aaadfa4e7c50dcab2291360286a2cd82b3c98413f79eac2dadc3ece0dd952b7a7a1aa782e9bc82edc4f5ffc4b
+DIST rust-1.83.0-r2-powerpc64le-unknown-linux-musl.tar.xz 77797252 BLAKE2B 04502e1d3bb5694613b3fa5154b11020ded2e8989831bb57a329346d7d89bb2847fd228427cfade8d4a446b389021060f19d574303993d4081b6d74993d7dd22 SHA512 0e194fa74a7ed86c7486732e743fb8bb3b9b182f8711da0cd346dbe809dabe73c692e323685ce08868b2ac0f897fdd2b82134e5c452a7486d1a4e813f6ab0241
+DIST rust-1.83.0-r2-riscv64gc-unknown-linux-musl.tar.xz 78940572 BLAKE2B 8afb9b4c86b63c0c032cac0271e680cbb26e3aeca3c0424eef9c98e5cddc36ba12f401a90b55ed43294a496092fa00c1c0ed64660d307fa44d49a0f21a58799f SHA512 4900ed3f5192379fea443ff5b1c324af7f8dc2f5677fe8d13d18e283db56f48aac4e7e69c36ba4cd34580c83b333d998fbb79c7924bcb210dd8fb703812af085
+DIST rust-1.83.0-r2-sparc64-unknown-linux-gnu.tar.xz 70733240 BLAKE2B 731f040cfc2e8e34a6fb27a751cf20bec70e29a22b8c2a96c382a06583916f08c250dd8a6c593a6c2097128b33ff60b6e47e8efe5fb1a8b9bce65e68fe0a4d56 SHA512 2157b0a29df123126d711f91d7b09a2a48befbc5f76780f7420136d5fe7d6a8d53c0222a45e5f542c0d712df2e497245c4884962135b1aafbc9e4e1d5979bf2e
DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz 218315040 BLAKE2B 91139066f3ac6a652db13985a225547eed242a6efaab0021bcf78b31e9e98fbedcdfe932110fa4c918f5eb3d8336b9b41a15dc2fcd316561d56e5bf205dd1567 SHA512 9bc1b82aff2e2447cb16680a8125378e33b7ceff4fdae7855bd7a79437f2df5b3989e82ffd68f157d50144018a74e6cc2053bda21de31d2c694aef29bf4e8bfc
DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e51ec506c4897e5e57cc94bfd3ba15d64e678a67b50acf48b8c69a5b95223006451d543275fc5291bb69369bead17a01d4934cda5b4744adfae2423200a002d0 SHA512 2d705740d928d49bd0eafe26cccf997f81c1f7ddd72bf6c4a4abe89e1984dca8e1b57af4b997939df355dea19abea2f45d430edafe88e7bb207abc0dc8d8ce3d
-DIST rust-1.83.0-riscv64gc-unknown-linux-musl.tar.xz 78884296 BLAKE2B 1f59571a700a2e2547897f5b1ca7f447669e60c3b98995a0599ff98905b107e6b4d5cd74c6941bc5765a314723f8ef0b2583dde891a165d62d03c5e70900ea9f SHA512 99976036200eebac27453f06f41b6e347767576f619d6dbd74ea0c5a7fd888636f9c39fd6cc7c50d3fc91b429f710cbd7ca9fd7a036f3b30a89eb718a641dee1
DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz 221194604 BLAKE2B 5d625e48296c171fe6da8ec70fa4daaf1632f6b63404d30ca0e908d63fcac3abc39f6fd9762d3670aa94f9a2587202d1b66f9751fd04e5e99f00caf8748243d6 SHA512 3aece2baaf66134ca339f3a9239c92ab7969c064eb35ede5dd61a3c2eca5eee4053b581edaab0acd6ba60cb7600b47902697e71c41873357fd53dbbe5c867d8b
DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bf07a1e0454e46e030918a44bfb04e54bc49266951ee7d88f13f7a66da7fba0b4d65022248fba1e51248a69e1a1975246f81cdecd56cbedb6ecb69e54eabe39f SHA512 6412d9b17f2c1d63c7b2c44a38dbde01670dd96bced6384b826abea8402608f239acb6eaac273f9a02b7f593b58e84ac0cebc854d2213350a000be139cbc5a47
-DIST rust-1.83.0-sparc64-unknown-linux-gnu.tar.xz 63906648 BLAKE2B 2026153aa2e91a005be65e1602bfc1c6371835339a86722b47163bfa83d1ff0936223160704c6f8e5af0ed826487c27fd31a18bf904e608851e7ceec4e31af80 SHA512 8af0c1266e98f9d741c20d3e4046a6e57f18d951353d8764d633ca157db74f5747f3d0d2b9122a21ef49ac91ad8502dc01a1bee3c5c95caa62c4e0ebd3dd9ee3
DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz 180329116 BLAKE2B e2c661061e21c3ea6a75c0c9f43d0558405fe4f16f75d763f5a80c1d0c4d7cacd7bd7136e625872f9c22455439ee070ed9f84d661b9cb2d74b0f436153a34ffa SHA512 d4e05dc817f1fcde4b46b82300a95d79f7d908e804534b223a396ff27b19f195fcdebdc933204fab3e0a45202e394722fdfb217ecbb1c1332394e97200ffe089
DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1453c9047b590358731d4ea9e8d6dab0da1ea937fd9b9f6ee2137459d0a426df6333a9dc53dff65f6c82a17b93a98efc5dea33f9218145070a7605baffebc1da SHA512 f6a3636611d0bb5cb41989547388901bed0dbe54fe3d99d94391bc815718a85af52d0110747c3d7f1b6a455ebaa221b74c2c9fe11403b147325b6ec0c4bf46ef
DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz 260755616 BLAKE2B 0a61fad7f03645a9b4032fe4ca910663f0406a64a42cd113a09019199e6deceefce2a450ca14bc47745db08a9fe8970897fd01c2121f9b6bcb20b23652ada5de SHA512 2e219eec7b28a60e9bd160972042316460d91fe60f755c625bee30724059f4f9c4a29d567bea54718f9b8d739cc1c81cb4dedff0c868270861c866452d5cf8a3
DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f87ab0bb59b5e4fa9078bb973845bf606c61faf2c728db6cc3e9a61907fc2d1c9ea3ede7ec55c3388c53b0ff06ffcbbb89f63b585c36b5bff7637acc8b8f3336 SHA512 20740272925662be9178c9c87f8184c4d0a355051fa85fd8459563bd23bde798b01d53c823726d0788f6311a4f3c7f3c8bb8a2bf4f470c8d3b7d1303090a78ad
-DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz 241841868 BLAKE2B 814ce6b3e7ee391fe93bdd8164a7c29c49e146eff2356c165a7cf14125c91188c8c3c89c3ccc8bcb006f1e30d3123b7332293d084b1888d11e47cfb105faa0c8 SHA512 a3b394dbe6e8a149c6d6bd18789f1b3393128c8add67c18788198d7c12c7e8a2b7d818424c6ec465d89e7423f39949258eb9c933aaaa946449540d2f8c458c86
-DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a83bd4fd2a71a9f080563427fd23bf9cb781f2728f04464a6aa44d38dec5d807eaa5b3ee3b232e58b2ed27d0185cdb546d8b2d0c8c2dc1da43cb001c5be540f9 SHA512 71fd88b65a74b2c83a8eaeb5bea37feb60339b18200a2eeba471a74ce844386a296ade9bff1c6c6413f32493fa7b1057e3a3740920ca1207bea4c02d7421b7cf
-DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz 219144116 BLAKE2B fae31bdcaa7b7839a5e071adbe24d507c4b39ed52b413219941057fff6d8416ea68e957606b658919fdbf9cb4d1b26f01692bb01e9f967147457717a30041cc9 SHA512 89ac6b14c23958c4df2e924d78093d5c652a910ace7b9166756e6d36bc215bca301d4e3b61f54c6128cb0d4a01d6941908e5b51fd1718ad81b3c495aaa64e6a2
-DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c64496baff24d7c2a83a5884e58de952114a1cbe4e9605c837576cd09b496d9af90dad5d70685cc01340b060c31ef05fcd02f95295ce9bf16fa4dee4b86687e8 SHA512 ce2b30bbf217d039cf5824c3cfb084a467547698049e6c088b27af17af95f312d434119aac7cb9a9333fbb19654cdb2466f4686c14d42f6b6e50dcf235f5a57a
-DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz 203482932 BLAKE2B 409cf02ab8977b80f4fefdfaebd6f5de75182682737ffc2df8fbbb35a8d925b4b7d77867c210f206f4e3db19db5cc295e20ca24223ac55f98926a2b62564f202 SHA512 57cc5de6b72e7db5ab5051118f1e4a6a59f29256b85f9e661d7fd91e93fd961cc690a87ecebce6e39696ce7ed0e124e5fa65c6d591f31cc56d3c691c42c0528f
-DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c61e1c691426c5ec80b2b1b8a7dd63968a3a5e8421a12ac1507bf54ffe0229b8b2a8a386694e6b731a47844b6c1882eba188ae39c6eda0f79bae21891cf6f747 SHA512 3bb76c15085f4292d7bb10382df18da44c29bce03db486da22ada9eeadec5561bbf00809a8b37c4d389552c257e947f60b368502687fa7ff2d0aefdf2f51a924
-DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz 203947296 BLAKE2B 12a6e18912f5c9819c76503d82490a5dd85037e5aff6bf7eb121ad433819ba0a717301102c720b8f22e43cf254c9e9974645b80cee0eb5605906d1505ca501b1 SHA512 4695723ebc0cf4d2db822593e85681faeb3968a8e86d81a7c7708fbfb328cc7c9c65534f483266b6f1358ed40e343dd9b6b35375833abd7e15a375efe01609b5
-DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2585ace544427a8539e292f78b399e1b4c3488e78922ca6335ecd857ade7b589b11c80ce1a80fab957fb5f301118745efb3ae37e43ba69407c58db5e0e8a6ed5 SHA512 d5e4ae979aa35b3d734c6397e7d1745e5d80620743eb2dc3c96ef13d31aa44db6f32088b89063f5c2f9af7f296fbfcba4f7ed277e95cc632d702cb352b1ce768
-DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz 209524676 BLAKE2B 3056c0415fa4aa71cca11f573de504eb06b350c3fa43bf17aed802e4db94f66ad38afcb9b7f8d2f8ba5665ed38e94f48a377f0194b0661d534340b5e1bdacfbf SHA512 de268b97f1b30198ad6065a4ea10fa3e6aa366f852c42413eb3c3efed971dda1e0dcb112958f56824265f8f4d205a09521ef200c3b362056f2fdca07c5558304
-DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ba8e7bf6831f78f31bb3590b87807a0fa44ceadae19e93cf76ede44d724e27c97cb27aa82f8cc9567da3f079fcea731965ef0966ddf1f93d03146d1f483cbfad SHA512 242055a1fe7232e6301633bbc81a15a649e9713c9bbd655ccce72ecedfd2e1b1f0d78de98842c2a8e40d42e760c4c040403521eabcea63be822caa54811bb7be
-DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz 235927300 BLAKE2B f0825b84374556291893d644178f09cbe58e41fbe2742474b7c6d47f9ac379d5566d92a59fdbaa336765ea9aa0112027fb1f1c80758b4b03a38091cff7d0fa0c SHA512 9dbbf55dc04e6071ff597c75e194676c4d15bffcbec559c7a7622ce19c4300ecd460c5712ecebe4a4419cd1b0206cd18ab4596a8d9963f7aa0432eda5234d7c8
-DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9b8d092db5f894f563bbfb45666430f231ccdebcf05a811c3546be167d851a84891122c29ba3bceb6a2bf71e87817a29d703a40cad4f8fcdf3968d391347578a SHA512 51595e120a71958ed6551ff102f7891cdf3d9a6b9adaa990525b82ec75eb1c0266dce6350775139052a27d787612596cf083e9b0c3b9e7de5db8eb65a2546c59
-DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz 234981212 BLAKE2B 1e6616834440eac754ad0725ce88ec7d83e6804bf084bb2ab1c2adff1fbbbb0861780ebf57116f4fa38ad67667b89d0d7e9ca7184f0c0ee65f7b23886652ee10 SHA512 47671edf5c751bffcf87ab3a76cdb1233eb64c3d6815825ff0130bbb8956e6bc452bd75395bf8f44abd7b78c23db8d9f0047b6538a4f9c12d729d25ba43d038f
-DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4cb2035ed10a735a688b2b80975aa16b2a311c9ccf5c8b6ec63af4dbe30e06713621c119721cde6e44d504133343ea2aa5158dc6bbb6253aa330894161559374 SHA512 ec74e916f9479ab046f0d997f4eee99b1c23028a3aa207fa7be71762ce7cf428af53a6d172714653fb30e5d6d8d42936cc7fe3d9c7f3a33262703d15fc9baffb
-DIST rust-1.84.0-mips-unknown-linux-gnu.tar.xz 75963912 BLAKE2B 228b0605577f889d782fe468f5598e88df27a77453acca5e3a74e009cdd1463ffd2449f638166862ae4c0b84577ef4c11d0f7ee9198d653716fcf53fb54955de SHA512 dd636652841fdaa13c8c25b331f604060d4e232610098b524ed593164d60b59fc91c0325bc08afad301a9c221c08f015affc9f6f988d250dbc1051b76039a463
-DIST rust-1.84.0-mips64-unknown-linux-gnuabi64.tar.xz 75736380 BLAKE2B bfb81353be437e6eca4fa2133439e3774b42e388c21e64051073738165b7454e1a98d0f4d3c74bf668d789f622ee38c06f2e6ac5e9acbcc35351076f4baedf95 SHA512 e5ddca3ebfe1c952b3729c77ca6ae0dc429fc95be63e26dff26a0724e4b7c00faadda7c13267ddf8edff9af1bdf5c4c8ef8ad67439d509f3ee4038e95d245804
-DIST rust-1.84.0-mips64el-unknown-linux-gnuabi64.tar.xz 77348484 BLAKE2B 9c6bbcf37929e6da2459c498bb47027954b7b99780de35f0ac3e549d3779a0f74e81276015cccafdd75a2da4d2ecf7838aebf0420e2132979d40b7f66666051a SHA512 fe8aaa46773ca38f192befbf2adb11d66f50856778f8c54d2d9064681110fee7b32a1749871fbf32c83da4a867c668b81fe14f4596dd276a748c909d12fdb676
-DIST rust-1.84.0-mipsel-unknown-linux-gnu.tar.xz 77647044 BLAKE2B 7779f6d6e86eceb3f3e28c771745a2b52856504c8819ae515d34003b4454c967ac5481f36bc8cce9e75289c75eb2df3b966eba629b25afedfca2b1543e65b28d SHA512 3b07c7e45fdcefc327e1d0bbb76a55a8edb62fb1cfd5551c18210460153c1b00ef9e6fbb77e65c4cc2d7fd938f31e1a39a50dbfe836c65cc2c6397b26d1a509d
-DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz 226162544 BLAKE2B e1bb743b29f8dffed0e5b7f83da5ec58b4977dbb7621eb1a66f7d42dc9e588eecbd51013d2bca3dd24e679ec1f57bd8d1b9d5bd44fb155b8757b75c61f2649e1 SHA512 d09d52c64c097f9e8238c64a5e69530c8e7fc72db6c48c76f5118598d0c2c1186b40b053aa78b8b1d071cc716cc50ab7d824655af777b8a76c4131edac44e813
-DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8eded34d62506f87d38ef3c503f62d5687a646aec8a0ff699d73d1b0907d0735aa7f7893d3b5ee481f069a01998182c70e10d48f664268bdec44655449825e78 SHA512 a3a5a6ae3ac2f210253c2eae61b0c0647cf5f526866e0f5c0141a07f9587cd614573bb2728186889483806a1a3ab5885c9abcca91a16dc36d042bc78239592d4
-DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz 222899356 BLAKE2B ff9b3bc680cae85485131d23fef5d04abffa69c7d4f4ad254a868707b1206bec543faf20a0be5c287c83165680da8dfbb9a0ce8c688e4f29231df2a589125450 SHA512 16440b2c604061dff6ebdb60af6697d3064ce6ec740c617968b22d8479cdb16cfb61330b2afeadbb544826c6fe90b245eba0de3956ae2924cf77ef8565defae0
-DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 67fd274e3315a21ed0b23fc8bcf013ab20b905c373785b74bada5431d0d1cc1b63e7ea3dcbfe4bd8def0861d08ce13cf769796e244437cc6beab6db95f01c6b6 SHA512 87ea6ead36d9dfddb5a71690f4d434978dcd73264c32e93ab7d3ef74f7c5835fd5e73316f1bb827c418492dd30f3a5bac752054ce1e27d99600249b64412d1c2
-DIST rust-1.84.0-powerpc64-unknown-linux-musl.tar.xz 78604816 BLAKE2B 5955afafb06908ddc25e469ff609bab22ca0bfb3d7ae84ab82232cc2d9534e944a2813f513f1b690d6736d0bc496ec6d7239e84e7449c08ac48d8490aef74e04 SHA512 066a192edc3519ee1bf18b8aaa4e0e1f49306985c3cea6ca8c60e3cf257b29cc72fa605c65a55e39f408168e7a09cc371efa42f8ec783ce6bdff37de5450a479
-DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz 235629500 BLAKE2B 32903240ada4cf2640814374c55d71e3351a0dcf413d54041117a3f6603ddd6c19033368382bbb18c5d1f278c9bb3f5d6d0ace966bb1fcad9cc9389fdd066135 SHA512 626476e551869a066600f459e7a6e9c8435f61b4018efba5b3102af72ec7508cbd4464d0b60adce5c669d34adf4315ec3529d0ebdac6d294de7c7437da264367
-DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e762822c5563db6efc128aab7ff704165dbe35cd06dda07c677ef2b94084a2ee37fdf77e8aaeaec4987de2f5bc73da9a2ab572e4e4d2b64a775a447b548e40b SHA512 113b7ef16977f24ad6acd72426ce389492aad7d8fc36bd3feeb921a21563e20c0144c3eaba3c63818556794df7904def0e83e5645cd4c766724898baca9ef208
-DIST rust-1.84.0-powerpc64le-unknown-linux-musl.tar.xz 80982656 BLAKE2B 9986395107b386ed047bb9843d46da27c44b5ecab77abec3902761b114131c5a28683cc52a19887af4a8d665a2e5d35146bfe0d358175de412673eda8cac8060 SHA512 13e0bcbcfcd3e0745b5d1c7b9ae379c7da3a629ec7467b7b8b0d7e623ccd314823162955157aa487927511934515f85b8847c5a7b14e5e1938884eca1a848777
-DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz 221099540 BLAKE2B 0941d02fed906487753188150220c7e5a957e68b40e2e33929a74c6c520d34b2547307f74738ca6728f7e68213da81c5d2b07bc8b5ab7c0048bb222cc4aa2d6d SHA512 fe57aa11719164bb3865049ac91d1739f02e098f096db77a290f55f22423a870e1e0bc19d3ae2fd0bf32e5c6c9b10d5f3884b0070c5ffcf58b5d77598653b811
-DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100cd2dc56582472c312ce4d2a161a85cd371fc42bd281b14475f4ed922a38e8b79068aad5cf66c2c489965f782733edec1f72414f4b88628e4d661fea9014 SHA512 d54d69eca7651d166fa9c52bba562ce5008d5e6fd96eab8499a8dc9dcd178f009228e1d6788a4023478b29c2e477a379c6a2cc2b5c015072d87bbe929493eaab
-DIST rust-1.84.0-riscv64gc-unknown-linux-musl.tar.xz 82884604 BLAKE2B 98fb594e11c35e2b93fc6bad089ee8d3a036b648eb2e7a5e5ea7a353291ad746d99f70949a3f12d884eb01dc881d8a521a877d7a54a81f9b72931f489d5a5575 SHA512 4133c5afac78201f72626c26d3359f5e4228be2f0a7f39e4c7c95e3797345fbe24e8c4a7daafb56836a8f00071d40916887a35656b7d9ebe43fd468f824345b0
-DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz 225691648 BLAKE2B e007b7c08998a488162721b418c9bd22dcb8ffbe450da543be285d4708ed366fc01f0bc6f668b7058e544c3df7025977454e3aa98fd98d29970be28e2a6d6438 SHA512 cafcb20513a27bfdb9d4caf0e53f929f30f40592f340ee6683294ef52c438c913381c677b6c266efe85b2980ddcddf7d2f90fd22b2482a6ea7348084e5638598
-DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 27b6afef3ca0c4df951e678469548784cbbc339772297966a449f17869ff7c47bad72c114edaca66d79dea6a63cf38755fa2c439e9283c7bb786a9c4eab02fb9 SHA512 6656f2ea30758ba23f7a1ac330695c262cea1c82d33bc64e968d8bbd5b39366e8d8e0983f6bdcbfa818225b63863fd941eeb9090d024e3d8ba254cb99f214a2e
-DIST rust-1.84.0-sparc64-unknown-linux-gnu.tar.xz 67048992 BLAKE2B a84fcd2139ecdf9a5bd071518f7880e015a611a1d1ea9176ba3f8ed935e52254359bad0c15fb3d5e5fb2fb20913fcd3e3d4d29c764c04eb5269026d93c13dbf1 SHA512 47d0eee57de82fb155957631103399e2da1cafd74f7f16115549b4adde49fc58bd3a405acd0fc2e5095d89e3fbc5fa835a37f64b3e6f9079584de9b111a5cd60
-DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz 183288052 BLAKE2B 6a9bdf25e8ebdad1e8b36feee4d152235397eb3a52351a166905f350a8fccabdc4f03f4c1e490bc81d4f403f2810b37aeee964b49f4c375a9792ca8a054c61ac SHA512 4d37691577636ecd233e4c507da4aa2c6c31f965fec29a59eb22bbc6c8d765eaf95d63fc1ffe8ba9ad309f5a0a712e60c5a94a832164bae283f06b41fecc2579
-DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ceb1130faa28ed9caf86b0c66471b04aa2663bf6188230fd96a0c0d4ff7a4255cb0e7e3e6e71d8a3de86798bd7f53ccdafe21285ae247d1f1718fbd0aa04d31 SHA512 bb782d01731f8aeb4a54555ac2163bbf625e83a17f5d8e10fa76217b345b247b4d653b5bada065fe647c8b19e1dc66316b1ebea252525fa194cb7bdc6370c59b
-DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz 263170948 BLAKE2B d4e43adbcc8ab3f49306d5ae624340f7e7b0844821c74140997510ca40d4bf252ff698e1295ab8138bae237d079c1e3cff6a46f895f55fbb7ba2c93054e1648c SHA512 6cf083cc2cda4591314ba49a302aba2aec8fd036eb9a72b775d16561d0739df23a1f3b0cb44d6539a068a47730142b09aeaafa1b0756703c51b539851e59bee5
-DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9abf6ad52601fa64e807a71bb6af5a9fd8c3ecda5589ec7232ffdbd7884db67535a5845216fe7ab9133fc114fdc12caee436bc1bb78a163f94a021060459b1e6 SHA512 f9a0c7fa85668b034f0a0891ddc0b9d8f624589c8c9485421e199abc9a82dec481ef3491a4e1286fdf6c6863221e7761cada393697ff1da93716321bcbca679c
DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz 241951328 BLAKE2B 39af8e2258ee496150c12204975c44ddf8dd54f4bdd9414d774444403b9d9f997d6b0ea06c86a850ce75f8bdfb2049076b0487132d3df69fd0c36c6d290dea7c SHA512 285720f5da5eb6fc4d10c98e0d5e5961ec73fb8c99f2fdd60e7954c5fbae27f01ee1f97542af4c6181b2f8071ff0e0f4d7fb53d4019f355eedba19698af93c45
DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b9624946128ad2d054d9f4ae3b54aa40657c4deb92a6fb44ad4f38f79ab24afa0c5a568b21ec54e62862ff7abf57102b424cc1383920f67f23be20902e1e5ab8 SHA512 23bba5bd8cf9c3ae591c6f48261b7e54be532dfcb6ffe133c6b374b831e3e00df54c89de4b6f34787dd1c5801c130b1d7b8a3168be46a97d3e412832f56c11e3
DIST rust-1.84.1-aarch64-unknown-linux-musl.tar.xz 218987176 BLAKE2B a5ce111633f0a999754878b1ed77c5ba2fd3e3649fea2c23c85709b168bea49c110a1f04e35b67381e724c0a942837ebfce1a06f4dbe545ba2edb64943d39265 SHA512 c3d9c0c25a0a722f21cf9515ac4f9f2cdc8b37bc0c8cae2239fd9924748f92d10834a41a85672b63740a6687c0cc75be33e2aab5c982acda7cd0c0571ad89641
@@ -416,28 +384,93 @@ DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz 236617104 BLAKE2B e4120991b23f8a2
DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e18c919dccd29dc5521265db6f985ac53e9ccc2f4d7e07aadec2587e2a769acb72ee3249dbf2793679953b42e18fd957fff7ee3344b207ea1cda1e56dd4e91ab SHA512 60b34315ac9de14986d9cc05b1c40e4611ade8c568a288969d4f2d5a42cbfc930f11e7c628af9ad9707180cbbcad3c4e566f54538f8c36ff867663a25e2dbf8f
DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz 234696928 BLAKE2B 947b5e165c1763f6d24778d8eb88c4779e68e4f1b6333ebd429795c1e61bef773a33bea4450bfe16951c00e45e5e3eae2a1f80c9f127b57c08858f504d9f2e8e SHA512 edaaec4c8c260ffbb4f78c4c64fcf23573055fac6de3f545100efc266b0f41a35f4f49964c404efa7950fda1434ca061063d6d0e354b6042dd2b64f3b16fe8ea
DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f4c848f1f0f9b77c128e848b62d1f91b2b20e6ffcc4038da6556ffc59c5bd6f5d4139f8e617f5a1ebe8106e702123a69ac6d8c8be95d189cc933bd21248563fa SHA512 2bce7fff1c7370ae3af8f9ac4c75ee3d503a9bf85b605a98442a1fbe7b88a89ef194b7d1c34bb6a08d6696bc675cd220e787e05b4955b0e12f0aa62ef2545497
-DIST rust-1.84.1-mips-unknown-linux-gnu.tar.xz 75956440 BLAKE2B eeb8beae339f65a7c9db48a42454712b8251313da054388f889c05dc9a16037bc915247c44de045e54da1f34c6a04ab7417cbfa0f772e6e4f6d24bdd08a6abc6 SHA512 8d2cdb12e997a6fb349beaaaefeeded29ab914e3ccb9f3b0938e8e2f88d42dc273d05d2c0c61655fe7fe334331b1da4c8be9800360b9f0c6639cfb466629fe0d
-DIST rust-1.84.1-mips64-unknown-linux-gnuabi64.tar.xz 75712160 BLAKE2B 91567f8a593127fac8df26c7cfbc5f31113eb6626b539dce16e31ed53dd3c7774f46ff9bf5b4dd14fa5c37ddc19aa9e93ad472abd3745e5db55e3e67cc993b87 SHA512 cce78b6eb971b59b312f6bbb578336d5550a5845e05e33e60aea54504d110f14f7959586954e05cfe1107a29c003082003f486f0b4f7cbb941b1231f66a708a6
-DIST rust-1.84.1-mips64el-unknown-linux-gnuabi64.tar.xz 77372292 BLAKE2B 43985b65231fcf2bd24b4b667f238884cf78b00df22238f843870e8a794bb959566c8ab76e5188ee50e11bf4b3fa69f87c8745c043377878bef75d727731f880 SHA512 c4a48fc84855c074ddc61fe61e427cc7530374e31353b2d2b10a16a0af523393ed59370779d5ca7dd76c6fd2d06500ec4a34f884a0cfe137ad598d24ad35f915
-DIST rust-1.84.1-mipsel-unknown-linux-gnu.tar.xz 77625204 BLAKE2B 6f0fa1a2745593d7e47fcb3622752bef121c386e888e74e5a9918f969f70074dd66f3f5e12410ec695230182d19968ecaf91a88a1af8a1ce5939dfad57027f7c SHA512 ab2b11db7d131827557dd794700372f5aeb1209513cc93ef6a179f7644ffd493816bbf6bece6d62c56d9e1cc1cb023d8d1a9ad53f47ac5b82360de2b26000212
DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz 225950144 BLAKE2B 036db582096a06fedf5e97467d02ddd75dd027836f38814c0fb52aea46afaf7aa769c030d572099adcf2e541df9d85ae6fbf9ad806af5a443bd2507f359ac2f9 SHA512 27cd36ef0243bdb367ddeb941654227eae2a412036f9d7dcd8d8c78651ab83bc9e5313fafdad355a155b726aba9b32731a66f88cb9ab91e30dd7abdf5803e1b2
DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc0a161cac7ba4aaf273d3a6f130ff86beb1ca7e539b50cc948a4e4b5bb8bb857e963d4d3ce2ca4573800336791d4bb1aef9236cc3ee228500feb48b0800584 SHA512 8d77554d446a7e696d0ddba29ad4578629678c88a2ba905415e4207c608cade8da2c67b7dcbd446210dc1a4e3639f20bebef1a15a9629da95a5a1be65e4872da
DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz 222960252 BLAKE2B 56271e4c45216bdd422b5281022cc8db1b9a87475e983e1a7b43ace3937fe3f3743f6af6ff30eefaf1d16a147e273ab240b451b57108bf80112980b641ff8847 SHA512 1aa08a1cf7c3e40a6adf763306fe73197e8663ecf7d29cd266acb68ff60d7743836d7f7d9e9cd7c8f6bfaf61ed5452dbfb176b6c61181774b4fde7321e0c7941
DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c174fb8700c97b07c6e573ca8ae2df57daa9bff308584f2855289fe7eece81ba72eefd0e01cee29a694cf3eddb25da7f492c4369e5360fee62692ae2fb2f1315 SHA512 3532057cd95219cbe7483376ceee24b3844f4148b9436bc6da0c9ec6c75a6b7e5896044d06b53d7e4b0965498693fd22238b9a7d2bc5eaaec8abb55cdae084f3
-DIST rust-1.84.1-powerpc64-unknown-linux-musl.tar.xz 78584072 BLAKE2B 77ae16ee5779c875b9fecca3d29d8ab003cd9f6dbecc662d7679d33541e06fc37b17121470b1a5760d3bea66816c476ff417f7b69e77aebd68dbc2a45ffbdd89 SHA512 ee1a4c84d99c490966431b6f7ebd98258ab9741277f05522f6d8989a6887202bf9b29ce20395c2366f07b49bbc47daa33498b5f1cc5fe49bd817f19e21f31b44
DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz 235702728 BLAKE2B a3d113abc5eb3855e9abb4aa8428843f2ef682ae2786612370e4dfce662afd00ef665fa4325d0b270703e6a0e3fc52214e20713169c46bb1d9fe0bfb5ebd1273 SHA512 3962689137db3f59a4894b1f6b5ec87da7f96a384da0fec8d4722589b1852ba8ffd3ceb5de5f1d83f8d3d4eecdf38bb54b8b913907f13a681849e5e50ec643b3
DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b12ca2366aa878274e24ed2d72db053d82b6b7c79b52e015841d708be8a0ff4d2950dedbd46916b0b3bca5a459b8abd674b7ace7fcd7f75d2728574f43e8a57a SHA512 1dc026ce19e375a0075df381e35921d841ad79d9be440dcc602810114d2bfad0eebd3c1cf99559fe30da599a0d3d995ff2579bb75a535c92091b0d6d579da316
-DIST rust-1.84.1-powerpc64le-unknown-linux-musl.tar.xz 80947924 BLAKE2B 4909b9fe3c9caf36db02cc76a321456685125be90fd223bde61e32e7cbdb117f2a420fd479c9a61df46de61d2e0e318363eba356dcc229799d269bdf8e7a8e80 SHA512 08f9744cd9464e9723bf45567faf3e888c671cc4ce8b037bdd12f8b915ef1226540d3b54af979a4fd1e47e8e9abf22fc271edda452a2d3e1739ccb337559b4ef
+DIST rust-1.84.1-r1-mips-unknown-linux-gnu.tar.xz 75885456 BLAKE2B cb3e217ddea4a5bd0f6720fa119c5bf895e1762cec241a38421331fd61e1e6b7a6ed3f355ccfcb993412e2a7d2e6177ebbb80705314459cb117ae4a5f825fd9b SHA512 3e7de6d22ac261761889ef9b170307be14f63718e1b29028ca124409bed79774ee8505fc21126b02f73c109656efeee826c86d28469cac841af53c0ae29d1dc3
+DIST rust-1.84.1-r1-mips64-unknown-linux-gnuabi64.tar.xz 75708448 BLAKE2B 7a1fd05e33a7b1bfc10172c7dc8ae94b7ef51c8cddaa6fe14637f57edfe5616cf0d482845f8777fbd243a5f4a18aa23d79743e84bd3f288ac9579280a40e4dd2 SHA512 1d1a1b728939c5f9114ec26d559bc7e0845fb124f9929469eab748cf085e9a1a5e77ef1e9afac0e13bc54bdd07945c2dd9bc1df7532ebccd270837f3350da0bd
+DIST rust-1.84.1-r1-mips64el-unknown-linux-gnuabi64.tar.xz 77288560 BLAKE2B 49161afe2beb0d41cb0acf8ac2d902c515ba4a00aaba3454f30e9bdd1852dad31336b5b8f1c13970183c5f45061485451a4677f8720fcb12ae95d35ea62a5f0f SHA512 8d14b64e15dbdf263d371eb3ba94b2a2bee8697ad41c54acc7fbb5fae0f238cf6a92ccd274896a87da6a227fc2b929b2f1ebe1f5c217700e6784639b515c4650
+DIST rust-1.84.1-r1-mipsel-unknown-linux-gnu.tar.xz 77640732 BLAKE2B e0f4ce16b345bec7faca84d0f643edb49880170c6a47390fad19b2a1cfc62b5b145dfa9b82e09e32c069734a14f959d171bdf96ae4ba31baff6d521e460d7af8 SHA512 e7423b959a2a8551842582f1559d260263cebaaad1ebb7f7818e1174f8cdbcfbfeea6dc9080825052367d73e99b428a59b5ffdf89e3b63dd9784969166202f58
+DIST rust-1.84.1-r1-powerpc64-unknown-linux-musl.tar.xz 78616944 BLAKE2B 756d3465e763bfbe2980089b9645a213bfe8e455a8de47cddc2317453d92038190fbf292908bdf319b753b36abf78771bc6b2dad15951bf5bc8452f5b57909ad SHA512 d23a95fcae389d77d2cda00b04e8902e73ed3d6edc6a6002685f527f6b529338bc61c112ddea7b4e2bb093ed94de51aba294f6f3b4a9da04a1e57939a45229ea
+DIST rust-1.84.1-r1-powerpc64le-unknown-linux-musl.tar.xz 80956700 BLAKE2B 3e481a4054c59d598a063c0fb5fc40e23054dfb61a0eaf4184993288481357257ef79c1019d2797544fa642a711ee48eedfb606ede0e69fa004773f7a4399b4c SHA512 894d588d06c8633bb7cb3fb9c694013b87d711b7f955d92c0a567b64f35baa714048497929596f4a94f1301f3ce948072e55dcf6b860fbc83f1257fc0d11f9dd
+DIST rust-1.84.1-r1-riscv64gc-unknown-linux-musl.tar.xz 82846388 BLAKE2B 6085c2d031de35dbe8b68536d23965ada580a9c1202a9c95cd0c3ec4df144f5e0a2a98e193452438802bf3cd3decbf8392762f6d8c80b8aebe6a04333f6be67f SHA512 06bea02d66b3f62cd56b60d6fc368c4ec720945196a392c6ff86d71293b10646feeda33d6cfbb613e514f0598182affcfe97439df5a9c4b6a4de539c5cd9525c
+DIST rust-1.84.1-r1-sparc64-unknown-linux-gnu.tar.xz 74126868 BLAKE2B 11df438996a53a905aac4809b905735c28bfaec98fc54d357b923f5f4d285738cb5af957c633fc709185a029bdf52f84a7042d204257ea3601ba462aae75e213 SHA512 f205976c8d5e420eeb7c33a7624a3cbd65539a02e5947db3e7f28832f2b6923070c3728ebb4f4bf0397448becf48cc27719ce060a053d004462d2d76a93b984f
DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz 222166452 BLAKE2B 9a0835109e1343f745db303d44deacbf81e0fc8f8d1ac4724dd503a6a6c394c82da3bf677d32bc72355606bc065c69fc37a3af1740d6b4e22d3dd4b12f1bc764 SHA512 788febdfdb46e41092665b828bd53fe98eb0bc04ba750845a5308b6069364dfb71b06f18c293d42bd0f608910c294595ecba821335cbe2f5a4499e663e74db36
DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7ccccbef2b78d73eb2526d1c33adb20b145acf3ba1db234ec88a6b512c5bb7e0236892bd3593431eaaa670c98aa44d93ccf35ade406ab4321d058f6338fe37e2 SHA512 554b2cc566a5cc366eddb6de3c62862c0a39593e5331fb1f50138f5abae521e52e397470e1c841734d29a49ab31a24c02201c0fdf42c37a75673cb29e3744b95
-DIST rust-1.84.1-riscv64gc-unknown-linux-musl.tar.xz 82788252 BLAKE2B 0f59237ecdb6c746bf56a626f23191d3671a96efc8dbae99b5325cc41a64dea833f0f4af1d014d46d38f5738972010530d460ebb8982dbc79c0c4aef5dff069c SHA512 862ed15e5c9271f8a0c88d1281d546c65ab9276ccdb35152ac1a198baa2d887f69c8b1176c3aba5cdf282846207c8dc45c68daec0c059f804fed761d7d811128
DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz 225661352 BLAKE2B 1ca5afa5c46eb65acbd85925971ed8eeb2bf87aaeb1158616e5ed0f7aeac1a44e262b333a56672a56bc52730cdb0cee56c825d4c45f0ce016591b3996b07e32f SHA512 4f8e1a74a8c29243f6220b1ff4cf694f7ad8afacb5884b05ef88d7bedb05fe2b4a34b38d614e7d72b94c2a923c0c7de733c36f3d51e8dbf3bae9aadcc01d45df
DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 44d6ea57f512ec3ae7e10bf475ce50eb1d4955de64033ae2c4f715be3323ca0c308d3049f3b18f194569ab6eca47abaa205607c8efb5d99432f5bae5311581d8 SHA512 fd447b1655a7033c5b22cbf4401e52b755867ec60e5bca1fa01e9b05e730c20f9c23d6eaff2c3e71287406ad823b25eec252d41187703937b638fab15c1c49dc
-DIST rust-1.84.1-sparc64-unknown-linux-gnu.tar.xz 74153720 BLAKE2B 5aa5b75f1e530ff364319c6b01ba2704d7b32f6fbed8da59f0de42052188b32200b89f544e616a68217196c541e6ef82422421c4008cfd46f410048fd0f2a89a SHA512 bff721ab589acca4f29603e62644fc2cca5113bf62ad2943bca8650543be447280b64971bd232361d3fc1cade531edb22e86e25ce03749dfa079dbf7256d2a22
DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz 182944280 BLAKE2B ad8fd7b70e8687802e79a31eb913aa5f3dec61521bb98667c250988ccf69932d36fa94d15de3219aeb7820e776a818dbfe9a16ef9cc59059a7ac2d8e8e4e92f0 SHA512 cdc3ac3f8a3fd890bf6d43cd920bb72a077c66f273077409a8dea6d8a9a1f747169aebc5f645202a422c50b1bac5c55691e57a7b46b5b24bf2f1bfe8ad7ddb13
DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc4f3a136c7b137743792db470427a0d7823ae37a88c52b7dce35cdb72602557119fa68d01e4fec338556148dd7d760b3b95740b6e23bf45e80042d9203b50c9 SHA512 1b6e80910fc91997badc3113412b177d136495c22c02a4483e0bf221e609617ba05a30f8756ad72931fa92cd1d837ec15c579ce27bcef65629622648880a9fd5
DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz 263174048 BLAKE2B b3ec6201d10e5044ab27954a515a27d582a5aba75bb32437d4df2037225fc13fdaed68537add5baff1f390600ebdeab451a000624cab3a0a34b178043f0007b8 SHA512 f0c40edfdfcbef8472d0cf3c1bd167b2c7d9c238147048ad9d45ac8fac7d41b1e311757974fd6478b531c6788005aa4003c22ce223b47a2ad6444df10cfe4805
DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9424c40f72bda9334c904fea44d91ecd229c15e571bc6840831d90ce8e535cd9bfc472925baf155ced21626aa74afdc8f1d143233a24952a1bd59d84c8e56322 SHA512 0cfd282306cc4596d6c10f927277532be276e06c0ecde2e695d06159729ac4a99148b0a8db3de3ede4e81e1bd4a67be74f8e9e696f445e83d10394f1834b73e4
+DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz 241942608 BLAKE2B 2ef6ad834df56ecf2e67c98b9153474aa35531460d8968d3f1f17fbb4c1883ffc71c7aa55b6cce1980b07e45fa3a8405267d41477d230cdaf42da3aa28cf8be1 SHA512 259e091f46983170855fd7968dc7185bd91bd27e2786f054a5b6275bbdbac270b5cfffbf854ba5b2144bd200ec5d27a74044c67084fe7eda539619f2efb910f8
+DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2f1a6fff81e39a1e6c4f8812564f2700af2143b8ca8996dc1dc7039f58eb5f65b87365da4ae49761cdba7c0daa686de12925680cd2800864e986d80bb7dba60 SHA512 b69f894550b1d2b90efcab7170fdf2ab60ca3a66d726b77e486e43ed6224d8d747550e6adb3b98267428e566d491aa3136df7c072c44d80a1c36783bc6abd56c
+DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz 218899980 BLAKE2B bd6368e55b92577f5a2caf7a22606042853c4ee9c78e981196e5eed3ba808d15124bed30389846ad3ad3681006ce5d6748261937d25f55f8a7bdb8ea7f5a5b90 SHA512 2bee33ecf5b59c3b800de40604bd8ebccf2319cdc8eaf9e47f1ea6bf773cb2be19ba285a19fe40384f7e875a71bff43e5303dbbefb8a90d8cd70e60b13b6eed5
+DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4d64fd7558849092846f1dd3f8a934cb34729bda8086eb4277fd796a1abbf71acee9889e8b7bc23d5bc16410b74a8d233940daafc377e169b02f56d82f791ccd SHA512 3a62980e54ecb41e6479683dc8f06905a7e942c95bc71aaf79f6fec709003400bc9fa102a7f8388fb8710324053a209a94fb0453fe496c1d3ed87b22f7d28c59
+DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz 203320248 BLAKE2B b812310e77c30c751a2a413f01d0b3166651703b14975616858d2b994f9fd7c5f2b5d3a8d45b276423094eb7646d7be2295b861c781eb379730c8c206bd17bea SHA512 0a4fca498049d49331267d2e11e717dfc2ef2e87fcadb2fb645c5c88b70383390c33b7e72a79cbe98c81fb568da00f470c616f3d8becf1259118b9f1ea9620c1
+DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 198a7e6fc724210b2216d8e5f56b5620fbba48d6258afd6e3afbbf7fd03ee338b653e57a29029933ac076a41d485d95ba64d95782ecd40597e7f177733547f70 SHA512 d77e6714ae17070834276dabc2437967febdb0f516d2785464fd24fef06b1c3383e6b014e1d0515bd8f60a192696cdf6a03df511d0bdd4ac14ec368b81d2cf5c
+DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz 204317348 BLAKE2B ec8dcaa36b5e177d63286fbf9d439b7b81643ead39f67c734d8864def5610fcdebb6b72f9a9a2ee56eac3ad29aad960681d33ddf5e3fa0b617c4bf560a493646 SHA512 2eb64a306c09920d3e239062591d364d82a34f9391cb6dc7bfde1a7419efa7582722e59a204cd1b7cc36723b0f74d50b8f8e9a527910300b334596827c1c7283
+DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B cb5cdd491c659459c5c25ab30de1844e8fbc6a1b1c1ee3b0e990acea1c190ae00bcdf320b18b5c59aa81216e620f56204dabd08aa85d98cf5dec0df892b7de46 SHA512 5a0e0ff1e8340b3321ad5a5e5d837178583167153bd4b54cf3130292c324b276bb102fb2e102f16d09d59ee56dda6b725793725d6415b8b2c8c2b05677623e93
+DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz 209707420 BLAKE2B fd8edfbb889b0403a54342d9caa5a31c1e33b2e4acc818940f1c610bc3d5999e669bf95f226c6eda50e7291afac4693a1684437a9fef550b6591507d4f754bd8 SHA512 3b5bf6384de1cb53ca86debc15980eb297be7673fb27b05321bdc1711cdbfaaae0bccb9f036f15097016480eda07c300c4726b26d221b30de12bc7bbbd68ce29
+DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 453021674f3737d5b8806f7740a8b937e7a89e2bf239a438123f82b0c36be31ac1d1e689434f206cef8dee64a0c497152b40c9023a010b2d3cbd03c046b2f936 SHA512 d4872e54e67bf364f39ec88ff4a5e63dfd912d498b298bbab0773238ecdf7c6fbb5bcb8c14bb4bb93b8c7b0703e6777949306ff9fc15d376393a719a5b43fe8d
+DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz 235842204 BLAKE2B 9cd592c7cd70e705b137868ec553a1bdbcf4e69912e4e493eea195d857978183d1820c07e41f0dd46f196f8ca90afbeb78f1be1e25a10c120ffb7e1c23b34197 SHA512 f3a40d5b20031f4c0af0923a5568b362279db79044f033d7633478ebfa5e422f699d35fa76cdfa63f0e9188bf620af9585237b8f10d2011b37f44259add7b8de
+DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 406ed1133cb7d206dbb6c9e27b08e898464111e45bcf5060abf03580794cb7c847f9ae9d6ba80ff3b69e8593aa83313d208361ba30b2fbc1118b444de4c65775 SHA512 486a857ad3da7b47026b368d041820421745aa52c3bb2c13c853e1eefaa9a11d18914b18203262f6c1c2d8bbb881923f89884fe08202274790fc626464a6a462
+DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz 234279384 BLAKE2B 425c1fffe9aca9cf41b9233f045666afcd732cb497261bc778ab655fa4bcf0b373dd51f4e153b5d74c00c4ce27c2054b63d063738c3d5c4bb34b4cc96e0523ea SHA512 6463ed75683b9c2f23669887d45cebb8eb3f0a375fa416e2ca2e0a8aef3b1c5520ac5c410c8158db2597f869266193d18b24903c085c1d312f0da18d8ad0d8aa
+DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 378beb36636925c7c8bbd49ac63548b52c758dceb4e83001757aa82e782c7e3b691dec11de0783afc4a064d2e02ef3737eb6577f28a5f44eccd927fcc056bc74 SHA512 9e0404924b419c7de3b07f245addaad6297b8f9ca3804d4d5bdebea7d40b6d207959e9fe70de92121afe9d0cb1a7ec726de64974c79a783569e7ff7a77c67850
+DIST rust-1.85.0-mips-unknown-linux-gnu.tar.xz 75862360 BLAKE2B 77b171fdf853930c1e8c3b225c05b15c3fb63ced5edad8b236adcb627a14c746052d4e59c2b5c8a49371915baaf48d5d924b151ea1c18d0aed0c62c393725e77 SHA512 e137ffca4a92e13d34e10720e09f560cc7ea4ed2a1ceb5824ee5847086654ed33f4a0be7ae4789c7d2d0bdbcf99e6f55d6bd3965c2a327b3f6e0487beab466ed
+DIST rust-1.85.0-mips64-unknown-linux-gnuabi64.tar.xz 75572076 BLAKE2B 8f4952c93d74a0bc9a55519f4fbad22552d19440b47f92e742f0dbca109c243e7e5ac6b538597d18709c261c6ea29826594dac670439735de0e1cabeefbb0c8d SHA512 df7d08c006a4762499ec03b2afbde55ec9e38891313d6de455f9f88b889ca70ddccf977db78761bf7feadd7d9e6480d0033ffc050f5a9efa6ab67a8087b8e147
+DIST rust-1.85.0-mips64el-unknown-linux-gnuabi64.tar.xz 77077460 BLAKE2B 3ea75c95d344550b26449e3f30a374ad992f33d9ca38b9ff427d784cf371c94f36d1c65e230b1a51fb48ec641979aa0319eb3e7a8c4b4355ec6a9a7cefe00a38 SHA512 307f754765b8691d1edbaba7c6e80f7fefb146876cd13b3b7ec6bc9be107a6533f13d4b0300c8cb6d3bdacc49bc1f2d03c0b2af8480cfd7611620b2f829d090c
+DIST rust-1.85.0-mipsel-unknown-linux-gnu.tar.xz 77505076 BLAKE2B 6f2f566fe9847007aa2aa926c6548fbfcbff1fe2694ba6e3849aff0152e81a3355eba345ece81b5e3c5cdccb24cb6568ecfdeb25a09142e4266d5052c46acb9d SHA512 352f48315cd0ed02a993b30bbc8a53acf3c9eb6b17320135fbee0413643c2da0d598668a028ffb90c7f88f61a171807c9d0454248efc62ef7fe6fa0ed0bf38cb
+DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz 225995380 BLAKE2B fafd1fa46ecbd1add28199c00c91a363489c2931c1421f7a1b037a601a83831df9c5d0f04a95671ab87b1c35a54da7fabab677ede949a82f86e63f8fc5da0a62 SHA512 12299822a2e880141ed67a745c6ab29105f5167157cef9dd44ff84cb8778a46b40e2576bb47614e15801b45b13b186c1c49510465fb22bf1e4854de169d4dd83
+DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7234b0a8ba935400b48036468497f1b1112a895f6a8ca62504332f615f350702460d5cc85343e346dc036e8f457144eb3da29c9b0517977b0768096c9db012e8 SHA512 f1937b4005f621213b863d190e38197b25f32de9ed52a3530b8164ebae4dab1d98a1d1bfcf1794a345c754d2e51ebd7cb04f289e783feddbd4628048a9141388
+DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz 222816236 BLAKE2B 504e0082efb54c1b0b3810a787810a51c8c580ac16d0e1ade9f40f25d8f7b1400efceff17216194e243154b33362942644120110bad66db0ed41868c084cddb5 SHA512 3768134d99794d728fe919cab2721e2c473a75d9ade567deffdfbee968eb0b45c08ce93f3e7de6ab1fe5f140c20b3e6ce9d905a64d38d9659f2f80ca18bfee2b
+DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 14286c91f2df48c3b089e6900e23d9449ba4c9ffb0b8c54c2f6c7fc8c5a9554b32aaa81ff13966bf0af5671e906f2bdb024256bcbac107429aac9a75a0aaa24d SHA512 7eda585c5b5b81a8ca7bfcfd9f7536395c1ce63509ed3f1c8533c71ba95b346f70dcef39b86409b3042fdc76ac456eab94b628011c3bd7e9b1127cb1b9210312
+DIST rust-1.85.0-powerpc64-unknown-linux-musl.tar.xz 78304100 BLAKE2B 1db726eee4c923b324dc756d6e35f9f8e9e0733daf1ede21d1f2524d8d504468575e0acc98cd891a18fca80ebb367e6857a2c28dc995270ef47ae50c0f9acf88 SHA512 bec44fb7d74174d01d13ed387665a323daf3397a48f1879f6ba55e35721a58b5c4049c7302275675e8f378fb04581ccdd25d45eec7c3cd1a6ca71b8d227b9dfc
+DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz 235325072 BLAKE2B ea6b5eb1b1e9ae9fdb93473f57c44efa57841d737025f206830cce9a3bae9f7bf8d0b52c2670c3da0fc949418c9ce11d15f2f7e9de8254f78184d9fbce20ddf5 SHA512 6c30cb1eb9c03a2950ab45316676a3f9dc5f3fc47426dffdd18791462ee9acafc9961ba075503c013f80c9234283bdc9cdad5833f8d39f0dd8428ec6c511dd5d
+DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1277a410aa2185d80fa3f21ecbccd6434358f44b6ab1ec69084c04145fbfbd7d7c3327bcf05541f263aad93c7df2bb0044a5772a4cbab254467ef0a7665a0b4 SHA512 427850d45fb548827a725811c39d36d5268799b2fa6f852788a81d0547c20659c2bdec5dc86c3b7b08dfe0e62276dc181541ae804dce60cde64a0cf7343355d9
+DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz 238652320 BLAKE2B 71dbeb007cb6912ef39cbfb07376fc1828442076eb752a8e4e820fcd53307658e5662c82691e7ec210ba6323b7fc600880bd33ea05230d48bef49b650d346a15 SHA512 d02316027f69c2d73d8c4b16840e9aca8725fa10057894ff63391234d027a776c5aa6017e7fc63e483b82b96315b8682e0900d6b5dc2b374eb2206265b7d9b14
+DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 3f7bada6bad051693c5cf00b268fdb464f7b196e99a17d975749cc4393399902021cb3fbe80d151297d15bff95e78e12e42765df982d8713f1c3cbd5688778dc SHA512 e9a9ae04f0072072d5cb6f39e73733f7279618a87a1391d3a5d74057c9727374622e51cde2c323f93bab0853bba3007ef542b8a3dac1c0aefe3b96a19686bb2c
+DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz 222050624 BLAKE2B 79122ef27b8a45b20603f7387e413da0fb1e2211681c8837fd03a114d01b3f8964f2c149fba9c8a80e0a3dd2915a348ebf2983e9ead11d597c69ec4d0a05097e SHA512 6bc4aa613689d8e061b9a61cab038785cdb369440315912004b064b4b2bd94be9e990f8c6ea7862d7f11a74154dc4d8f7058b25d6c08cadccbc55b886764dc26
+DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a7b8934e9c87ecab26e42dc80b50ebdc1bcb72fd92ce6e37043f41ee63e4d8e04dab694ea0a392fa9ba2f505ec582d4f1725941a47e0df0c5cc6918e1c5f6a6e SHA512 ed36a3dd44abb8b37935e49210735c9efe748397af561ea7831c16dfed8c5cc14d34072a8d755a01a9817a7371656132efc08c324b157c858e8135940b69cbd4
+DIST rust-1.85.0-riscv64gc-unknown-linux-musl.tar.xz 82029208 BLAKE2B d9f64a4f869f10fd3648e029f82c41d023345871eae268752a4c132156caea3f3a0eb2c342927e7b25fba4329e11a91fb8b3f67a3226f94e6e15d26152b76529 SHA512 c26768e0e06c7367f65f2dca919426aeb3d9c35286379f8c64d6466e155c8c42149c6aaf25e08a8dc35117df280006b700dd103f82867915979fb06328065141
+DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz 224665232 BLAKE2B 8312c7be936cd2b72b0eae88768dd9743f30547371f2e4cb3b53014d62128c7b2f33541d55929056f4b5768f98a0b9bd879998386675c504a0cf620a1448751c SHA512 39066b86e6bd7353bbe14a0fc134e83581e50277834de8c9de9410c7d075f51b7ef7d8fedf8f306be4524d80d9922a79e5df33680ea414d0c0f2724984c20cc3
+DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 537f4602af42132ceb43178b2284b174e454167aba9b13b6e7617c2057a1dda63d206e684c483c3fcdb60d9fd18a1bc796f65dbdb7d98971938b50163f8eadbd SHA512 4016d04dc0f74976ec184c71b899919ffe7f1fb57037b9acfd3a48959235e0cf2ea22872dcde7d3bef63dff6e74a9a56e63f1ad424fb6ada44c1b16949f856ec
+DIST rust-1.85.0-sparc64-unknown-linux-gnu.tar.xz 73889324 BLAKE2B 78bc1235716b655d32fc8c658df65fce0e8dafa0b12c250689bde721c864793d59d46d0446d1e45eb2c7b02e67c949118a485d8f2eb4c756c48f54c082dad43d SHA512 1b73f2112b85b976421ef387132384e683be00a4fc05c6b263233487521757a4051978156833a192c39fdb54b35980eca006d26d63cab37e48bd5d37b6ae730c
+DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz 182464920 BLAKE2B 42169d926f43b9e883c9d2e632fc38047e6c21464b852bbaf4a1f09e2c772e24ccb2ebf73b10afe26158fbe9089c3e0fda0bfabda79a871a1f1aa2249a79eae7 SHA512 281891a1b8da021ca4c3d1d23353f2cfd138158c03f466786cc3d6730a069b51c4d70e684f22a59e838f800b00b0b3f6a04e7433123733fb6cb4c1b2f2a4307d
+DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c84bfee06171633feecb2a3be2e85a9fff8941098cbe2b42c4b77b5c8d253f09a0e954fc6ac3c1073aa2999211f059ea5c20a483e5fe2c075997fe1c942b4f5 SHA512 7b4a698cfc41b23c9015e0b00d4ef377cb452992e15ae8d2faac6d1ad7dca3d59e80993be30c1d240fd2e732355d1941b348069c3da27f0a9df6dee637175967
+DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz 263244196 BLAKE2B 5e8391ab184a3ac641aef3c4e8a6a4c90ecb12fcfd1264d2dd6c1a062af96bf40c0e7940521eff5f86614b6e8b6ee9a1d6dab4240be9accd8a4316403bd46841 SHA512 18c8a3cdf4f57465417930c6dc83cb51410b4b882e80f86b959c945167e1e0c04f4b5feb3c65ef9f2f9be1f10975d8e7424a8ad4e92ca4de843d0c7c83c9dbed
+DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 123423d989204841da45e388589a0c1a4fa4d9102f691686d79502288f7a6d882055497f22f3ed63229d78c22c843a802abad31089035769123618d35da915a6 SHA512 da076d70fe804ebbc02df656fc6e384b03ac2d2f0fc36fb536b877b81a81fb45b5faf1a60e5a4d7b99d6d9b873382f67a3242d6299c2e85321a2842d6ae08c55
+DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz 241961984 BLAKE2B 9553edf94165922470e138a62f2baead6e04aaa81384d22f5b6628462a1c5bbc2387fff5ff05a9efbb81aec5f28301f94d3c9b53899e80afc7997323dd44e089 SHA512 c846832d71d7203759749d8e3aca6c718b91b7e075e02a0a0eac71302d5ed2e23a23c611efc93c3dedec26e9e8931e819eb1d9fe757e9c7b51a6abc1cd6f0598
+DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0323dc2fc992e29d8619978d560c888f1873df3b403a7e2a25ab06ae5979d2eb6c42481612f9fcf0b5e435ede3735603d8c1eda733e0f3523b3bddb055d6662b SHA512 f17268a0c2b6568da4c621c23a2b43f2645a3cf2355d4eb7af22be6c6b11df23053eed35fb891f7bcaaff0400910bb7d0e7749d87b0541c401b8ece37d994c90
+DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz 218887600 BLAKE2B a2be264a1d7c9b78209484d175c959278a9b9596a1a917c1033d04061ffa42d3e1aac491ea02fef1d5d2c3642be72ca04c912f581a5fdcf216a9bd86b3567d3c SHA512 d391a7cb96dc34cd95b862c888d7c5fa199de6924726c3e5b82de96296e890913716083b11f9e7ecb153531b07bc98fec753be4d94cbc57f27c7bff4f31db203
+DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c7267af92640e3b302b4d640e1239ded358b9595d601947371663da6aa26c3c7a2ef67aaa02563d583441888f771c118fdb718cdb002fbdd95d864c3914bdd90 SHA512 2b538a1601b1cc97c95b6b582bb5edd92a4b13222469bd35d04161d4c17c9ff5e9b26d0bfd59e893bd59a07f4a81c7bc25e8d6cd66a22b9d73c5108a8fa23592
+DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz 203409584 BLAKE2B d696b495d48a31cb684722648ace6f4366c8b6f60a06bb7bcd5eae8ae43d700e2d52134e0c79ce8f06cfbd63edf9a732fa5e882c7d8018aa0433404816d2f241 SHA512 37496d82befcb09b4dbc08c1f8786f96d6bcddfc56cf4abf27a17942d43bd3a4ffa3290c274e8ef7f3bce973e575ebe0cb167dd8955babb1dc9d918cdf5370be
+DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 671a4c2f524b2d92d6a6bc680921890a283adb6885e8e71974255ac637a9409579a9c6306b39967fb4637ca5e10f2409b8079dc5489c079a718a7994ea7eb09f SHA512 f6af86317c175f32e4a754e295f67787ac9d8e53e1b5338c17481f3ce2e95a3213fe2090ab268c0d62a31d9b41e9321e975cab28c61f7e3e6baa2dfdb40322a8
+DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz 203645720 BLAKE2B 8dc6adc0de500d3ec04734c6517d0db29cb0a318ea6fd09a32dd01dde29f32730d851ddd37543798d649eb5384b529a6956419c32a4089ac5b41e57dbb205fdf SHA512 5d2e069bb09bc4a3039eb3d0b2a8748d7ab615feb312f612d24329dde791b88b63f577f7abe1522262145044225ccca7e7f42b6821f922972703ea6f0a06bbe2
+DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 7eb7dad663c6d93267387d1c23eeaed237443fadc990e0c03846441b3e42ff837d79772067abac23eb5945af05b030049486236b1895e2824779c2c6857fd9e1 SHA512 9bf603601a935b8ee099d590bf75ed7d3ff97b02491f2b003455ed700f020e915b00fb0a86324900871037a042a1fe48c063a15e419349de68bb50b054d2de64
+DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz 209642508 BLAKE2B 0c10989b96bbaabf9d3d3f3a7fc827a94f10bd64c52dd4315ea1dcb7c375a6429f5dd2270504bae87a89a7f283579cc85848c16736e520b710d00ca0e3a69dd1 SHA512 17578a5739c9725ac435a9cecac094ea33478145089b307977a2473d8192c1a82faa856c6acc456285d68a5fd36aaea7e87d8599986091633cd4ad2052b55b99
+DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 849ea0c53e4760159dd020a89c06841cb94e8bced3bf9559d3caa8fecd4cb176363f06197bbe89af9f2dcaf9d390e398d4d621dfeb3bebad60f891a8dd25ff6e SHA512 1d11e90ba660af35f3e6c151a108c46b7a2e4dfb00b89f09747b3ae04e5de57cbddc2603bac428deb2a4e259d19eab91ef1a11c5dfac06f7582253aff8e24aa9
+DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz 236420288 BLAKE2B e850782dc7712b0f33bc2c1aa4a4f9948c897d26fc21d3a3f5c82288dda6aec1ce641cc80ec05e80706616f8ba4c63d55138a0cdde3c69f5783ec459d298b0c5 SHA512 830ca4e65229c0e3aac37ec9686aded2d9e687f99f0575b2e82baaa1210a426f20c1ca0780c08e80b00f8669cc3ec34579150c6169e71620b9a6359624b91f16
+DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4bb60878bb7c2d01a9abf974b3153237bb5f193b826b048fa94efdf77f9c2d300c58d2faa8b154347d2483edf6a6a8a207b9b58a7aefaaf6e7ce0486fac8b039 SHA512 7b73d0974d0d1ef0f03a77e1eb18fd3dc49b1a46dfcfc787b97e6e85e467610f1cf248d552e6e2a2a2e018e451cb7b68b29492d4955e53258b4a0d83f06d536b
+DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz 234064868 BLAKE2B 7f79933f9bfc1423a0380264569717ae24de9a61a00d32e98eecf208a19dc972c45a75622d8e7beca4378f844d70e290a8367a4b7d6ac20a93852281cf88e359 SHA512 b3cde10427f8b86997a9a59c1a20629c2e26c7e02315a30c23ecc67dbc12a08bf65ea2c5f900ed2a5ff11cdc1c7f5c4a6a09396bf747662ddbdc635c9c7fa5b6
+DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 05475853833084fef51946dd71bb53210b67880aa5231d85457578e78458827769e4e96ddd63360ab77dd2100b5025c33db297528b6a9f281076bfff690cbd79 SHA512 f7c3d430d55c1125256a111afa9986a71c5e003d7872b3fb2d5814ab6c9d01db27a325df484095f43926a00acbf8fc269e0b3db0300bb496b0bae176d77b16fe
+DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz 226058044 BLAKE2B 8d9dc5a74f571266c80450b514a7ec31ff885b40c66a5f49ccac98ff211da57bdc069a38425603527b3ef16917e9f1ff58969444149ff3d2e748bbc7379ac622 SHA512 bd8babeb25a256a56b3fda300963834326fd97f2bfb14e3f93ff41737242bcb6b354a5e2b1260e25eb25a22d8304d9782a7cbf0e3219adde534dc6b2332f9c6c
+DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5387f2d7ef2f6a0228ed8512ab431f05ffe885a1223fbd2e81be37536a0b55bfe1331654284bb70f9f1061173a31e9b09fde15f65af74c93f9fede5f0d435a4e SHA512 0611673cca4faebc7863f28e5c0fb60a9364ed980b1d025352cba9b1a64ce3778f4ccd149c1dd1d98fceeee144db5438f360ce0ce33682231203e9eb1ec5f812
+DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz 222607376 BLAKE2B 474d684c6d04101200acf157389f11a8bb4759f90b27997e698a79bb117b47fca5441e42688198f87c9c05bd186c5e1a116ad095287c928c312d979df56f1f20 SHA512 b28c976ebdedbcda8113432b4cc03be379f58511bdda97831019fa2f8a9881baae9b5a1bf587e1de7a59f2aac00cec95f168d739769518ad31f27ae3a8ce2255
+DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8612b4387f98ac3e0e1cef6201b5afe4e76f58372f6bfbbaab3070e35fdc0fa6972ae6a85c8f8a9e9db07537fec0891adf6ca6eb64dc70d818c236bed4037f26 SHA512 e3c4a3f7b3c9304726502a398610ed9c8149b05a8bf33a5feb97be8600c0fec79456bf2556ddab4200ab3f410544b147703a69cc97db26bcbf33866e108f5bbb
+DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz 235353360 BLAKE2B d0dfa8d88db47ebc5e73b9550cefb684832a6238376eadffcac2ee0bee25dbc836bc76439d59d84ddc4d63d8f92251791a47462ac0fb0294460c5e3170cd2b1f SHA512 97380f0f812c89e71056c09d55e7f4bf016a1dc82995d37bec1e4dd942cdbcdaa09347080bac08a0917b27e83dafc3c7ef2c18547b593b97ca9c1aeb796c7f58
+DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 10b90d187f86edefea27d695b20d1b89d4c5fd71e3acf60c518c30254b428f96bb4abe78111949c3f921e30c2e652e61ad86e56e037d4f20b10eeb64470ee3bf SHA512 28c69aea648cc08b5c78f96a8359b8c15bb51401c8cf267b5dae1f4b6460e779981a82e60f1ff1d8636e5167eaa5c0e193645ca23aa6e20b445afabb9fe21c92
+DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz 221919388 BLAKE2B db2ebd1c76b198ec6fcc481918da3954663163be90eb81c5d3c7a92a124bdf7112d9d8fc67f20ed5d621a3075fb610bba45de41d3c44c9fcecc0681ffc7462f7 SHA512 418e16c07215463bed4093cd44cfcfad91948e24f20109de8c54e8e2a941b5ab3434a6e9e1fe829c57c4f6312e258b5470ceb0c1c7a86af53ed81221d8d52436
+DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1e06c31dcaaf1ce82b0c9cc913d7e3e23aef3ad7a58f2a6713896edd25e2fdff48a5ea9515382f149b59347afbeec5bac3525ad41b46523efb311105b15e3e8b SHA512 2c54c1fa5cb4b868222a7273b531ec8808a89ccb3686fd9cdc70c61b4a572493bf09659ef8c90b3e430cb153693191f505c62102cfcfd42b81a4bfc4b0adcb65
+DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz 224063628 BLAKE2B a699b0e1f65270600139c20b5c730a6bd4d163a51fa1d25a14f79b617d491022b95afc6e4a5545367be3f3c15a531b09ebbb747697fe9507eaf72ca9dcce35ec SHA512 11e6d3f56f4f1f449f382be1fede741f6137371ff87cf31166af2d58949225988a9c1a6bebb1b72e399d2a07ccd67bff860b7b2f258e38fe779363089a91df75
+DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 745a4734949b577804360bdbce5814ba2daafacc29148fd0278d8443dfc54412e58b34745e287d39ea03a61e9bacc44aeb8ae47111e63b4aa572427e68cfa8d9 SHA512 88e444dd8d78f7c9075f61e1f223cbb63683579aed03a6f68c80c0b6e68ec4fda561020af4d2a5360c01cc04415cecafad2b54809e3060280201caf017068079
+DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz 182371436 BLAKE2B 1859fdb803b9da3433460fbf73c52b37dadc95f1b1760f90ad23f93342a230cd7a95ab1bd3e3809e2979126e155deef7cec38888a4c2fce410371f8033a67a2e SHA512 0f4756631ababb4e9961b7ae380cd39e2c3c1a7415bdf07519d2553e95f6d710573eb3cb6a84eca9bcb03af6e557a81cd35771bdf839d3e4ade39238a5744c63
+DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 56f1e00d3e7ca2092ab7a5cc3e8465af4037ba99100e0773c4a65867428fc8adbeb0a571cae36ac1dd182c24eb5e5b89e306f476ae357ab387f6d5ff4d6a6bcf SHA512 bf17821fe53a0de5bb58ab03e87a9cd326bc4c97941a306909375285014bcd1126e5e32d62dac4a522f7a72b892c8371dfa3111f25d661a5d4e1a2ea802d3cee
+DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz 262699948 BLAKE2B 2197f33e5ccbc2e31925457c3af92ffe90dc258e66e9788a7520ab7a9ff3571214f099b14f4db80dff38e519a6f57784e85f335765816c7f44ae2edd96ea04a7 SHA512 a074b931d940bbc0cefb2d56fb9437afa1d002cc599a1779422d0f215eb9382b5b0322e31e0c92408d958ee561dcc9eabe237a6f8c7158986cd10ae550f4d9f6
+DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2b0c359da43e5b3645632f88bf6f776763571ef7d08d043ee806dc4991fc84b9d0c0b87b10cf12cf354c3a026d0665e17baf1316d00b10f3fdb1f47d834dbf6a SHA512 30013c2d6ebb6d63a49f0a54be584e7dbfe24ae4065313e70cae138c8533bc0afc2c46f05862828f1a97d3c398be91e140380b1d3d83c0a54976dfe3b5314efb
DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d
DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4
DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd
@@ -449,19 +482,22 @@ DIST rust-src-1.80.1.tar.xz 2870456 BLAKE2B 9096fab01b38cc3ea2a32a2ab2e9052e5988
DIST rust-src-1.81.0.tar.xz 2901440 BLAKE2B 7ad2855c21728cc323108f7e45416a425a222e550c132818b302dc2b9fabc1281e560b0f097e1fc41e682f52b4524c69737096e12cc9e97a677828efab96dc2b SHA512 d38b1afc17a4cc7ba67d2e1b7d3dfbcc2a61ad96e87b130064d6788538817c27bce06c9fd7a4733de5b5862ff5f6aa441bf71ebaaae9ff80a86c354a6ec05e14
DIST rust-src-1.82.0.tar.xz 2966368 BLAKE2B 4162e7393ac21a095ac1541ea7b62fafa561ce2153bdd2b3723d0f2e0130fb2fb1325ac8583d87d64b6cf6b76400d12aaac144c781e89a177483adb46854c81b SHA512 4f7817eb16dbddf15ab09206738569370c42abe117086b085a7cc8f7174f9c2b42571707558642c72597236610eeeca32575b665acbc2cbc4f7709e624c16cc4
DIST rust-src-1.83.0.tar.xz 2998424 BLAKE2B de758c5bfb29865a3ab7ab02d17b0282272fa7d1cf5da333a6a19d6a16813320317785e9bab02e3ba9ca6ee9f26e0c96b00a117f33b74c82b13ece44133e3130 SHA512 e1f0ccae1fd4202d86cde1f1e2f4491983ec49fafb2b9eaca6260e9173bea0e0cc2567946e48e3ce48f0a620f63dc44d30334f06c935628158de110d43c7d53b
-DIST rust-src-1.84.0.tar.xz 3016148 BLAKE2B e948d4edb88f81ecfb49f56a3ca6331c4e9de17bd9f56af823e1cefdc5098abebc2bb013d7c12ca1713a43fec588f33befcb7146713eeade1511914f70146d62 SHA512 ccb45d57c7cdac311478a5b4689144297717e6404f9c4fb168127804f13f72c15433b32765f90ce56e6f34435229e754241cb3656b28a4b33c6070b6f79b7c53
DIST rust-src-1.84.1.tar.xz 3016012 BLAKE2B c9edeaf0797a22e384c54b3fe3e7c833464c09f8828474e05400a561a369d836626387caa495689e4b14fad691a85d6859098c84347211a6f79e2ef2c8d9d6f2 SHA512 564c440a05b67fd3a5dcb4dea21800d32ae65ca12230b804b5efa4bd468fe1b185bd7ed89041782018f70f60afd7554d7755edbe20e9cdc930a9fad390deb317
-EBUILD rust-bin-1.71.1-r102.ebuild 7125 BLAKE2B 4f226bdd5c82b47d60aeed8d8215f076c696ce4bdebb2e2dcfa13fcb19e546f97a3d6bcd1e7ef002651ef850e300a7d464245867c7dc4af54201f0b5e547c85a SHA512 a03f353252f08a583aeaab293a26f6f0cf2fddc61daf7705fa9c4153ca2db9499b68ca42fbcc8ecb3d24c9846642af0c962b3f2ac99e70328eafb85930a88868
+DIST rust-src-1.85.0.tar.xz 3036988 BLAKE2B b7281b23eef60cf052e1641a29915c02c590166a73e5ae75890072ce80f95a2ab71cead3e3da7adf757ec0352d1dcc87ba4c3070282a27657b34420fe24a0c16 SHA512 613cfa603dc457cee34b154acef9573d766ce5757c9e8342b13d362f2e62b4cee47071a59df9fd5fa42ecade1a9efdada5784402aaf7254d5996558533bff8db
+DIST rust-src-1.86.0_beta20250218.tar.xz 3035860 BLAKE2B 506df30188382d43798c6661a8b730c10a74a230bf5ceb7c04f2892f14a45630182ee174f79b564dc5a6dd8e3bc84963b8391fc9641efc57d0ed90e69b89d545 SHA512 4c7cc4d1860f7d97f615ff5dc030754a7fb72d1eb47b27a2e25dbb5a9b0326b8a1b82b6b60a784da910c4730d3b728bb27e1d27f30dabdb7e455143550f0c424
+EBUILD rust-bin-1.71.1-r102.ebuild 7569 BLAKE2B 6a90be3ab0cd5104b2ec5b9dca4f75b806cc48576f27a3cb84475ce4c8c6b7eaaa09a090d2f203675835b4197bd135491449278a2f8e1f65d34a5b0151c65174 SHA512 f9e1aad059225a6cb45d88c733c6c58b12db1cf046171c9be59f39b7904013b1a67b949bf8bbaa8285b20f7f45037b29a11ffc99e24a087cc9f19f93b25aca1d
EBUILD rust-bin-1.74.1-r102.ebuild 7468 BLAKE2B f8e0ef5f3a53f862c10c100ffd886eee06c1b7543856e154756884467f8115bdaa39569a47d789166d625f68f53a657eb535b29ba76aa363d15699ae65c0b3c4 SHA512 9df89cf28b5300a0023915138a05d74b6219632d6e95b056f412070302270e4101b7de5edcb881f917e5c32b787711996b7fb05355d915174764257d75735083
EBUILD rust-bin-1.75.0-r102.ebuild 7468 BLAKE2B 026bd2e1337b6f6e4922e857d9ab07d4aa2311688aa9743c1b8c6a04ae63605bb5d66f429b03196f1fb4adbd64007f5421f0c26f3b04ee544926296a4e4c3499 SHA512 984d8dcc758db097f013864d619f70509ff32b530bdc77d92c45aee0ae097b612dd2fe0f0e82570fb8fb753645c530b44e02b87465e6f95490ac08789ae123f7
EBUILD rust-bin-1.76.0-r101.ebuild 6841 BLAKE2B 0a2f4c01bf5f77264e0d879ecb42535fd70b1167cd96be38cc5f25098fbbac36ebaa786290b8ca08e95218c4de2339bb2bf7f1c4aba87bf9a5b54c6bfb19210e SHA512 918f8e38f0740606b0537c45810b91fd8eddbadcec63018d22981ede24f493ecebbcf54aa936300c3f56ef1d2ce93fe0a47d86c862b9a6b465dddf6043667054
EBUILD rust-bin-1.77.1-r102.ebuild 7507 BLAKE2B 50bdfc349a1969d1c23a48171fc8e1672e19d0156d931c75d6a70e6ba2055973d578227971677d68f6a83ab20d6a379a61ee495261837eb0e2030ad8ff83cc7b SHA512 d75cd61fcb9f823b8d86dfd065af8a1ad29f0a677c22d5401a2eafc00d5da3ee21f1eca984b3cb12d01bcc579c5b936c19b50116355e7ecb3fe9af5ac8293e43
-EBUILD rust-bin-1.78.0-r101.ebuild 7614 BLAKE2B a99ed2092f625f6e9e4c9b3f7d06b4f39be30fb1584182f14ae2234040aba09418553376d6cce128dea8bac2a4f5a966f6cd3012754162eaa15b75cf674521bb SHA512 93dafdd389d1657e6953c040ec99680fe8c6a116f1ba4894c883d4fd757445fc08027b49b2ba86041d8d7a5cd7150fc6b5bfd61f6924ade43daa8741bca6ec45
-EBUILD rust-bin-1.79.0-r102.ebuild 7614 BLAKE2B 0d55d4d416175b4e0dc032a1aa93c6b638c2c58eb684f6886c6a843f89810177b82aded64ce3a2f68b963482e14bc96f1254f4a4904e65a5604dd3aeb34ed1a6 SHA512 c33cd897ea2747e5d06543ef36dac9cfdbf898587dc90f1b848709544e769862d4c8777dae9be7811469b0d2edbcdecb7ba2872777577b92a7ad548614f945c4
-EBUILD rust-bin-1.80.1-r102.ebuild 7823 BLAKE2B 083c1f6904ab41feafa4f6d1b317769fa51e1920ceb79fa9f38e045ca7384784377b98e309fb47f906553ffaed34abd3d9552fb1e51b3d51c59ac72d7c90f017 SHA512 a7e522e5c35febbf42f16e14ab92688446ef82bb6a01c248a73e574a1bc017c123947457b6f183d8e34c73b56e997540a7d29e7c95c4ba7c963f0a6d8fb8cefc
-EBUILD rust-bin-1.81.0-r102.ebuild 7749 BLAKE2B 77cd61ad9ccc5302c06b4460b90dd2a04a1841d590332dc214cecd0078dfc34d40d900c6288f8788d93a54e99604a8c45931a5a0c0bd62ad80294a27e6b5f841 SHA512 583e55308794c5273edaefffbfe3fb571b7a9990bed17553750ee412d85cde899346e504fda63e201a96e8b2fb9cf1544a552fcaafc1aaef7db2b6ad92bf7099
-EBUILD rust-bin-1.82.0-r102.ebuild 7777 BLAKE2B c7d315460151cf1196ebc36dcb99a94dce5f27ac465d72ba66952304438a15802e53c029bb4c142adc593f527daa0f6a75dab8cf7edc44a26ea22b512135f1c1 SHA512 f1da44327074a71ed9aba95d48017d3451b8582a3e053cb90a2407e12a887e6c9b608b58bb7aad4a79c7fe29815f7df5f3bcb11996249453a84f58d5d12af467
-EBUILD rust-bin-1.83.0-r1.ebuild 7763 BLAKE2B 636b5c4bd4a3bf9efd6c1acd85f53a0cd8c3c2f7ab077f0ab9994dbb7468a8ad19fd1eb19c74b613d83e0a126390b1009af57e26a950e0827a800c6d85bc6c59 SHA512 ee5ee66dc7568a1211bcf01f439f82ef6fb1eb4c8ad4d317a2601238bb3288da9c172282088409a8e86d9aa037b09848dcb3b62fc991ee1c8399fc03dddd43c3
-EBUILD rust-bin-1.84.0-r1.ebuild 7770 BLAKE2B 3c2042a394f3607f97aa99eddeb45f343b84cb7c8580d716268ca1c81a21ebadbce293d208f4c18680b63fa9b1174dc1e13caa3a983af204fd90a61e2c479ab3 SHA512 802f792e94a88e1d9bde71e85362e89cb4b41681cbe93c6c145ee5870356d6ac4e64e9c3b3071c2553b4aef4f1e2b7a2fe9e0c8006e4321bdff02a28027eed41
-EBUILD rust-bin-1.84.1-r1.ebuild 7770 BLAKE2B 4e16521f39caabaed65b64682566c93260a3e3d8c4dc1bb3d679b74768516b4df8e06437b1d02edf2f91d6890f68cd705fc3d09ad0d7bc469c66a5e819d8b09c SHA512 f3d8b20983d29c9997c486d65316f2ca58d78e484f51141bdcb9f1d7af8a655ff591b6c75b81c8f26e85496e439a6087ad26dd38486a64fe1a0f297218307927
-MISC metadata.xml 1062 BLAKE2B de2d2adcb691a3e614457dd9a7f5d4a8eddffd548b2de8a229b6d397ae79f7e24484512a1fb2a85e02aa98c240ae73420dbe48e45790c0cd3f6381ef5a4ac24b SHA512 ee4d08b8eec8abd89e051ee5ec6cc928bfde7039b815d4539558d71d7c0576aea939b7781b4998d3fcf2c2e8752791d53c0ba6115df07fc2243c470b2a7467b9
+EBUILD rust-bin-1.78.0-r102.ebuild 7842 BLAKE2B c1444d579ab6c91a82ad7f001930a765ee8d0f4b86a44769853df1dd5d7b70e18257f2810ba7229ec5f9e4e2fdcf2723b063b100813b589490e49f53a07f45d0 SHA512 5cdc9976d4cfff9908f20f9e88b33eeccc551234960aaa0abd68e59c1ceaf1d13b77ed1db02610a35048d85d3ca1b337434b21096411ae2508adb995ea2a4b2a
+EBUILD rust-bin-1.79.0-r103.ebuild 7842 BLAKE2B c1444d579ab6c91a82ad7f001930a765ee8d0f4b86a44769853df1dd5d7b70e18257f2810ba7229ec5f9e4e2fdcf2723b063b100813b589490e49f53a07f45d0 SHA512 5cdc9976d4cfff9908f20f9e88b33eeccc551234960aaa0abd68e59c1ceaf1d13b77ed1db02610a35048d85d3ca1b337434b21096411ae2508adb995ea2a4b2a
+EBUILD rust-bin-1.80.1-r103.ebuild 7842 BLAKE2B c143d63ce8046d461f1a435d29a582d3e1d987291dea6a47deb95dbd7aed19d0034ba02792dc82ce9c50340925dd8b7aaf9c469e9cd7688490b9b70fdfaf1407 SHA512 2f91114f6d82cb9ccf4bd6e0905cbe33a18f83783f00db83ae58b4d4326b37e63aa7e4e9d441e3d04191e809f4259972b958c6fa09759773a294a44e01fa0c89
+EBUILD rust-bin-1.81.0-r103.ebuild 7768 BLAKE2B 8d4f88d4e81bf1003e42f6fd4b5f6442b49c5b0422b29054ae33a0be67c7416ae096b00311cadbb7a951d27b1eb4213e5185d8d633f8de961dfc9bcd08067fce SHA512 4ede6ad19626537878e0bc416274be19aff2d06776372f54a54a2bc5b63ea8d3ff0a00150d998e8c29bb862fd17acaf154adcfe1c0389e5a5dbbf53132f8369d
+EBUILD rust-bin-1.82.0-r103.ebuild 7796 BLAKE2B 0deef6089e8367ecd6d00bedf195e89e1f9c221df35454afbdf8fb523ac16eb72a6858dfd6821c9cc4ae170902b0c6dc3f7919419f4de22801153f7caca5a7ad SHA512 2a356772507a0759e0650aa90959d56feb057e1a223cc09b2a53ecf40ae0ca51bcc2247a36da6615504cb9518897dfeae513305e1d47caf455fe2956c4f4d255
+EBUILD rust-bin-1.83.0-r2.ebuild 7778 BLAKE2B 1c5bbb409a74d5d4c80f41cc909635e0c8eb6d8ebf83388c56216f5f5be5cf8c99ef719154a2091508620bc7f765b5098b86ec2a9a31f89fef22a8c563d4bcf1 SHA512 4bc009b4bd35c828eed84e1ed645ce7ff097ffbe03feb3b8d2350b895d9147f1925ff48423a4a86efe5747fc2d83398b17fd446c4f86b945295c2656e8d9cba7
+EBUILD rust-bin-1.84.1-r2.ebuild 7782 BLAKE2B 047e8356a01eb17e421dd5c6d4820954ca00e22e8aa3d95ca5ba59fd6fb63ecef5f2c9bf687f3f973dcfea1f9368468a41fd0fef1c853c7ab3033c48878e55d2 SHA512 56248a684de4def8f3e13886f07490600be8bf0a1c11c5df1dcd8c257db607c694bd502e6150926c99b1ecaf9ec4f99a33ccb1a38b47d3e13e96363192ac3a1a
+EBUILD rust-bin-1.85.0.ebuild 10809 BLAKE2B e55e9cf45d34ba2369e9fdb5b8ace0efed19d897ef51fd68550e12e02193a55309c8c320e6c9f2704635d58a458dcdcacb1521449cc47622d40d67e6235f6e97 SHA512 37a008f404b5fc4f7233d3268a1e7c764c5c4ec30f7d27a839f0a9f64093b0a24a95284044b0b0b9c83615d29b3da0bb09da6cbc391a59709181aade8b8f30c3
+EBUILD rust-bin-1.86.0_beta20250218.ebuild 10798 BLAKE2B 671d50e2ffcead1bbb5731ae3a78fd5d688b3070885ab8ad20a39a7b5b0db4e3c8b39a4651c03b2fc15b4ba662c227ac65a1cb0a7cb894a7f1b9c128e0005267 SHA512 116b3e538b32f80472e7966db8f9c6253571eec6a403146632b322cd0d4f6dd1571f1d83f47afb644ff594ca50d8325ff05093b0cae4d794a14879869cd87a26
+EBUILD rust-bin-9999.ebuild 10798 BLAKE2B c7dfd0e0bc9043eec03ec51910114c6b96af2b6bd00e5370460bf4d733ddf3348fb9238dae426a05f7d26f99dcb0ea19763c4a311487127a34243e295582565c SHA512 a6b42b0ad30e44956cdcff781e00c56257b015368163d39530d5781e866ab501de44ff446fd0f8b71bf7dda024035fecafda010f49640100fd4ddda2c053d04f
+MISC metadata.xml 1123 BLAKE2B 8beee99782782c58cb0c43f9fc5548bd8eec40d305ce8b916be2b78b65899eaaeda625225ff0c9724a93b2a350510c97171def95001059943501a6af9248310a SHA512 e944a0c04416ca40de6956d2d7a950e3c4be9f1b1754f0b46263fbdd2ace292b959bfb6a264ab479c0576a05835b4e44ed62260c181ce5590cb859e1dcdc0e41
diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml
index bc1f3f39e1de..b5d78dd6edde 100644
--- a/dev-lang/rust-bin/metadata.xml
+++ b/dev-lang/rust-bin/metadata.xml
@@ -25,5 +25,6 @@
</use>
<upstream>
<remote-id type="github">rust-lang/rust</remote-id>
+ <remote-id type="github">projg2/rust-bootstrap</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild
index a631c26c9948..4a8c1bec782e 100644
--- a/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild
@@ -18,6 +18,20 @@ HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="$(rust_all_arch_uris ${MY_P})
rust-src? ( ${MY_SRC_URI} )
"
+# No point keeping this in the eclass; this is the only revision that needs the logic
+SRC_URI+="
+mips? (
+ abi_mips_o32? (
+ big-endian? ( $(rust_arch_uri mips-unknown-linux-gnu "${MY_P}") )
+ !big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "${MY_P}") )
+ )
+ abi_mips_n64? (
+ big-endian? ( $(rust_arch_uri mips64-unknown-linux-gnuabi64 "${MY_P}") )
+ !big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "${MY_P}") )
+ )
+)
+"
+
# Keep this separate to allow easy commenting out if not yet built
SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz -> ${MY_P}-sparc64-unknown-linux-gnu.sam.tar.xz ) "
diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild
index 069025b78ef4..1b4245794425 100644
--- a/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-06-13/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -33,6 +33,10 @@ SRC_URI+=" mips? (
SRC_URI+=" riscv? (
elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz )
)"
+SRC_URI+=" ppc64? ( elibc_musl? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz )
+) )"
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
@@ -92,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild
index 28e01814d176..1b4245794425 100644
--- a/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
-MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-05-02/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-06-13/rust-src-${PV}.tar.xz"
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -33,6 +33,10 @@ SRC_URI+=" mips? (
SRC_URI+=" riscv? (
elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz )
)"
+SRC_URI+=" ppc64? ( elibc_musl? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz )
+) )"
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
@@ -92,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild
index 327beab66968..9f33d6b27976 100644
--- a/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-08-08/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -96,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild
index f139c60a5392..1f1b15fc8244 100644
--- a/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-09-05/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -96,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild
index 535a893ad011..9ac8de92f2e8 100644
--- a/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r102"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-10-17/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r102" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -96,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild
index ad77ff518f18..6f9f25068b5f 100644
--- a/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r2"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-11-28/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r2" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -96,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild
deleted file mode 100644
index 33c87f94a214..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild
+++ /dev/null
@@ -1,252 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 19 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
-
-MY_P="rust-${PV}"
-# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
-MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2025-01-09/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
- rust-src? ( ${MY_SRC_URI} )
-"
-# Keep this separate to allow easy commenting out if not yet built
-SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) "
-SRC_URI+=" mips? (
- abi_mips_o32? (
- big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz )
- !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz )
- )
- abi_mips_n64? (
- big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz )
- !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz )
- )
-)"
-SRC_URI+=" riscv? (
- elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz )
-)"
-SRC_URI+=" ppc64? ( elibc_musl? (
- big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz )
- !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz )
-) )"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
-
-RDEPEND="
- >=app-eselect/eselect-rust-20190311
- dev-libs/openssl
- sys-apps/lsb-release
- sys-devel/gcc:*
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="
- prefix? ( dev-util/patchelf )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-# stripping rust may break it (at least on x86_64)
-# https://github.com/rust-lang/rust/issues/112286
-RESTRICT="strip"
-
-QA_PREBUILT="
- opt/${P}/bin/.*
- opt/${P}/lib/.*.so*
- opt/${P}/libexec/.*
- opt/${P}/lib/rustlib/.*/bin/.*
- opt/${P}/lib/rustlib/.*/lib/.*
-"
-
-# An rmeta file is custom binary format that contains the metadata for the crate.
-# rmeta files do not support linking, since they do not contain compiled object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
- die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
- fi
-}
-
-src_unpack() {
- # sadly rust-src tarball does not have corresponding .asc file
- # so do partial verification
- if use verify-sig; then
- for f in ${A}; do
- if [[ -f ${DISTDIR}/${f}.asc ]]; then
- verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
- fi
- done
- fi
-
- default_src_unpack
-
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-patchelf_for_bin() {
- local filetype=$(file -b ${1})
- if [[ ${filetype} == *ELF*interpreter* ]]; then
- einfo "${1}'s interpreter changed"
- patchelf ${1} --set-interpreter ${2} || die
- elif [[ ${filetype} == *script* ]]; then
- hprefixify ${1}
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
-
- # start native abi install
- pushd "${S}" >/dev/null || die
- local analysis std
- analysis="$(grep 'analysis' ./components)"
- std="$(grep 'std' ./components)"
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
- use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}"
- # Rust component 'rust-src' is extracted from separate archive
- if use rust-src; then
- einfo "Combining rust and rust-src installers"
- mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
- echo rust-src >> ./components || die
- components="${components},rust-src"
- fi
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- docompress /opt/${P}/man/
-
- if use prefix; then
- local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash)
- ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
- find "${ED}/opt/${P}/bin" -type f -print0 | \
- while IFS= read -r -d '' filename; do
- patchelf_for_bin ${filename} ${interpreter} \; || die
- done
- eend $?
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
- use rust-analyzer && symlinks+=( rust-analyzer )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
- local ver_i="${i}-bin-${PV}"
- ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die
- dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
- dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
- dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
- dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
-
- # make all capital underscored variable
- local CARGO_TRIPLET="$(rust_abi)"
- CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
- CARGO_TRIPLET="${CARGO_TRIPLET^^}"
- cat <<-_EOF_ > "${T}/50${P}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
- $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"")
- _EOF_
- doenvd "${T}/50${P}"
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
- if use rust-analyzer; then
- echo /usr/bin/rust-analyzer >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
- popd >/dev/null || die
- #end native abi install
-
- else
- local rust_target
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- dodir "/opt/${P}/lib/rustlib"
- cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
- "${ED}/opt/${P}/lib/rustlib" || die
- fi
-
- # BUG: installs x86_64 binary on other arches
- rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version dev-debug/gdb || has_version llvm-core/lldb; then
- elog "Rust installs helper scripts for calling GDB and LLDB,"
- elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
- fi
-
- if has_version app-editors/emacs; then
- optfeature "emacs support for rust" app-emacs/rust-mode
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- optfeature "vim support for rust" app-vim/rust-vim
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild
index dc92f0547909..901c04bdec4a 100644
--- a/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild
@@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes"
inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
-MY_P="rust-${PV}"
+MY_P="rust-${PV}-r1"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r1" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})
+SRC_URI="$(rust_all_arch_uris rust-${PV})
rust-src? ( ${MY_SRC_URI} )
"
# Keep this separate to allow easy commenting out if not yet built
@@ -40,7 +40,7 @@ SRC_URI+=" ppc64? ( elibc_musl? (
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
RDEPEND="
@@ -96,7 +96,7 @@ src_unpack() {
default_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
diff --git a/dev-lang/rust-bin/rust-bin-1.85.0.ebuild b/dev-lang/rust-bin/rust-bin-1.85.0.ebuild
new file mode 100644
index 000000000000..29341043072b
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.85.0.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+LLVM_OPTIONAL="yes"
+
+inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
+
+if [[ ${PV} == *9999* ]]; then
+ # We need to fetch a tarball in src_unpack
+ PROPERTIES+=" live"
+elif [[ ${PV} == *beta* ]]; then
+ # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src"
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
+ SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz )
+ "
+else
+ # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src"
+ SRC_URI="$(rust_all_arch_uris "rust-${PV}")
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-02-20/rust-src-${PV}.tar.xz )
+ ppc64? ( elibc_musl? ( !big-endian? (
+ $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV})
+ ) ) )
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
+ GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}" # omit trailing slash
+ MY_P=rust-${PV}
+ # Keep this separate to allow easy commenting out if not yet built
+ SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) "
+ SRC_URI+=" mips? (
+ abi_mips_o32? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz )
+ )
+ abi_mips_n64? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz )
+ )
+ )"
+ SRC_URI+=" riscv? (
+ elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz )
+ )"
+ SRC_URI+=" ppc64? ( big-endian? (
+ elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz )
+ ) )"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
+
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ dev-libs/openssl
+ sys-apps/lsb-release
+ sys-devel/gcc:*
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+# stripping rust may break it (at least on x86_64)
+# https://github.com/rust-lang/rust/issues/112286
+RESTRICT="strip"
+
+QA_PREBUILT="
+ opt/rust-bin-${SLOT}/bin/.*
+ opt/rust-bin-${SLOT}/lib/.*.so*
+ opt/rust-bin-${SLOT}/libexec/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch
+ local rust_bin_url rustc_src_url
+ # Cut down on webrequests by fetching the nightly toml once
+ curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" ||
+ die "Failed to fetch nightly revision info"
+ rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ einfo "Using nightly Rust from: ${rust_bin_url}"
+
+ if use rust-src; then
+ einfo "Using nightly Rust-src from: ${rustc_src_url}"
+ # We need to fetch the rust-src tarball
+ einfo "Fetching nightly rust-src tarball ..."
+ curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" ||
+ die "Failed to fetch nightly rust-src tarball."
+ # no verify-sig here, just unpack it
+ tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball"
+ fi
+
+ einfo "Fetching nightly Rust tarball ..."
+ curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball"
+ if use verify-sig; then
+ einfo "Fetching nightly signature ..."
+ curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature"
+ verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \
+ "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc"
+ fi
+ tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball"
+ else
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
+ fi
+ case ${PV} in
+ *9999*)
+ mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
+ ;;
+ *beta*)
+ mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
+ ;;
+ *)
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
+ ;;
+ esac
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+rust_native_abi_install() {
+ pushd "${S}" >/dev/null || die
+ local analysis="$(grep 'analysis' ./components || die "analysis not found in components")"
+ local std="$(grep 'std' ./components || die "std not found in components")"
+ local components=( "rustc" "cargo" "${std}" )
+ use doc && components+=( "rust-docs" )
+ use clippy && components+=( "clippy-preview" )
+ use rustfmt && components+=( "rustfmt-preview" )
+ use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" )
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ case ${PV} in
+ *9999*)
+ mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die
+ ;;
+ *beta*)
+ mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die
+ ;;
+ *)
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ ;;
+ esac
+ echo rust-src >> ./components || die
+ components+=( "rust-src" )
+ fi
+ edo ./install.sh \
+ --components="$(IFS=,; echo "${components[*]}")" \
+ --disable-verify \
+ --prefix="${ED}/opt/rust-bin-${SLOT}" \
+ --mandir="${ED}/opt/rust-bin-${SLOT}/man" \
+ --disable-ldconfig
+
+ docompress /opt/${P}/man/
+
+ if use prefix; then
+ local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin"
+ find "${ED}/opt/${SLOT}/bin" -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf_for_bin ${filename} ${interpreter} \; || die
+ done
+ eend $?
+ fi
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
+ local ver_i="${i}-bin-${SLOT}"
+ ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die
+ dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}"
+
+ # make all capital underscored variable
+ local CARGO_TRIPLET="$(rust_abi)"
+ CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
+ CARGO_TRIPLET="${CARGO_TRIPLET^^}"
+ cat <<-_EOF_ > "${T}/50${P}"
+ MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}"
+ $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"")
+ _EOF_
+ doenvd "${T}/50${P}"
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${PN}-${SLOT}"
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ rust_native_abi_install
+ else
+ local rust_target
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ dodir "/opt/${P}/lib/rustlib"
+ cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+ "${ED}/opt/${P}/lib/rustlib" || die
+ fi
+
+ # BUG: installs x86_64 binary on other arches
+ rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ if has_version dev-debug/gdb || has_version llvm-core/lldb; then
+ elog "Rust installs helper scripts for calling GDB and LLDB,"
+ elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ optfeature "emacs support for rust" app-emacs/rust-mode
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ optfeature "vim support for rust" app-vim/rust-vim
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild
new file mode 100644
index 000000000000..97bd2bca573d
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild
@@ -0,0 +1,317 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+LLVM_OPTIONAL="yes"
+
+inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
+
+if [[ ${PV} == *9999* ]]; then
+ # We need to fetch a tarball in src_unpack
+ PROPERTIES+=" live"
+elif [[ ${PV} == *beta* ]]; then
+ # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src"
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
+ SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz )
+ "
+else
+ # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src"
+ SRC_URI="$(rust_all_arch_uris "${PV}")
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz )
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
+ # Keep this separate to allow easy commenting out if not yet built
+ SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
+ SRC_URI+=" mips? (
+ abi_mips_o32? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
+ )
+ abi_mips_n64? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
+ )
+ )"
+ SRC_URI+=" riscv? (
+ elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
+ )"
+ SRC_URI+=" ppc64? ( elibc_musl? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz )
+ ) )"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
+
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ dev-libs/openssl
+ sys-apps/lsb-release
+ sys-devel/gcc:*
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+# stripping rust may break it (at least on x86_64)
+# https://github.com/rust-lang/rust/issues/112286
+RESTRICT="strip"
+
+QA_PREBUILT="
+ opt/rust-bin-${SLOT}/bin/.*
+ opt/rust-bin-${SLOT}/lib/.*.so*
+ opt/rust-bin-${SLOT}/libexec/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch
+ local rust_bin_url rustc_src_url
+ # Cut down on webrequests by fetching the nightly toml once
+ curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" ||
+ die "Failed to fetch nightly revision info"
+ rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ einfo "Using nightly Rust from: ${rust_bin_url}"
+
+ if use rust-src; then
+ einfo "Using nightly Rust-src from: ${rustc_src_url}"
+ # We need to fetch the rust-src tarball
+ einfo "Fetching nightly rust-src tarball ..."
+ curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" ||
+ die "Failed to fetch nightly rust-src tarball."
+ # no verify-sig here, just unpack it
+ tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball"
+ fi
+
+ einfo "Fetching nightly Rust tarball ..."
+ curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball"
+ if use verify-sig; then
+ einfo "Fetching nightly signature ..."
+ curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature"
+ verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \
+ "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc"
+ fi
+ tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball"
+ else
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
+ fi
+ case ${PV} in
+ *9999*)
+ mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
+ ;;
+ *beta*)
+ mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
+ ;;
+ *)
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
+ ;;
+ esac
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+rust_native_abi_install() {
+ pushd "${S}" >/dev/null || die
+ local analysis="$(grep 'analysis' ./components || die "analysis not found in components")"
+ local std="$(grep 'std' ./components || die "std not found in components")"
+ local components=( "rustc" "cargo" "${std}" )
+ use doc && components+=( "rust-docs" )
+ use clippy && components+=( "clippy-preview" )
+ use rustfmt && components+=( "rustfmt-preview" )
+ use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" )
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ case ${PV} in
+ *9999*)
+ mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die
+ ;;
+ *beta*)
+ mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die
+ ;;
+ *)
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ ;;
+ esac
+ echo rust-src >> ./components || die
+ components+=( "rust-src" )
+ fi
+ edo ./install.sh \
+ --components="$(IFS=,; echo "${components[*]}")" \
+ --disable-verify \
+ --prefix="${ED}/opt/rust-bin-${SLOT}" \
+ --mandir="${ED}/opt/rust-bin-${SLOT}/man" \
+ --disable-ldconfig
+
+ docompress /opt/${P}/man/
+
+ if use prefix; then
+ local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin"
+ find "${ED}/opt/${SLOT}/bin" -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf_for_bin ${filename} ${interpreter} \; || die
+ done
+ eend $?
+ fi
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
+ local ver_i="${i}-bin-${SLOT}"
+ ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die
+ dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}"
+
+ # make all capital underscored variable
+ local CARGO_TRIPLET="$(rust_abi)"
+ CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
+ CARGO_TRIPLET="${CARGO_TRIPLET^^}"
+ cat <<-_EOF_ > "${T}/50${P}"
+ MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}"
+ $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"")
+ _EOF_
+ doenvd "${T}/50${P}"
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${PN}-${SLOT}"
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ rust_native_abi_install
+ else
+ local rust_target
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ dodir "/opt/${P}/lib/rustlib"
+ cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+ "${ED}/opt/${P}/lib/rustlib" || die
+ fi
+
+ # BUG: installs x86_64 binary on other arches
+ rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ if has_version dev-debug/gdb || has_version llvm-core/lldb; then
+ elog "Rust installs helper scripts for calling GDB and LLDB,"
+ elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ optfeature "emacs support for rust" app-emacs/rust-mode
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ optfeature "vim support for rust" app-vim/rust-vim
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/rust-bin/rust-bin-9999.ebuild b/dev-lang/rust-bin/rust-bin-9999.ebuild
new file mode 100644
index 000000000000..2e2e6314f879
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-9999.ebuild
@@ -0,0 +1,317 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 20 )
+LLVM_OPTIONAL="yes"
+
+inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature
+
+if [[ ${PV} == *9999* ]]; then
+ # We need to fetch a tarball in src_unpack
+ PROPERTIES+=" live"
+elif [[ ${PV} == *beta* ]]; then
+ # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src"
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
+ SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz )
+ "
+else
+ # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src"
+ SRC_URI="$(rust_all_arch_uris "${PV}")
+ rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz )
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
+ # Keep this separate to allow easy commenting out if not yet built
+ SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
+ SRC_URI+=" mips? (
+ abi_mips_o32? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
+ )
+ abi_mips_n64? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
+ )
+ )"
+ SRC_URI+=" riscv? (
+ elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
+ )"
+ SRC_URI+=" ppc64? ( elibc_musl? (
+ big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
+ !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz )
+ ) )"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
+
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ dev-libs/openssl
+ sys-apps/lsb-release
+ sys-devel/gcc:*
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+# stripping rust may break it (at least on x86_64)
+# https://github.com/rust-lang/rust/issues/112286
+RESTRICT="strip"
+
+QA_PREBUILT="
+ opt/rust-bin-${SLOT}/bin/.*
+ opt/rust-bin-${SLOT}/lib/.*.so*
+ opt/rust-bin-${SLOT}/libexec/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
+ opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch
+ local rust_bin_url rustc_src_url
+ # Cut down on webrequests by fetching the nightly toml once
+ curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" ||
+ die "Failed to fetch nightly revision info"
+ rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
+ einfo "Using nightly Rust from: ${rust_bin_url}"
+
+ if use rust-src; then
+ einfo "Using nightly Rust-src from: ${rustc_src_url}"
+ # We need to fetch the rust-src tarball
+ einfo "Fetching nightly rust-src tarball ..."
+ curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" ||
+ die "Failed to fetch nightly rust-src tarball."
+ # no verify-sig here, just unpack it
+ tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball"
+ fi
+
+ einfo "Fetching nightly Rust tarball ..."
+ curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball"
+ if use verify-sig; then
+ einfo "Fetching nightly signature ..."
+ curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature"
+ verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \
+ "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc"
+ fi
+ tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball"
+ else
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
+ fi
+ case ${PV} in
+ *9999*)
+ mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
+ ;;
+ *beta*)
+ mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
+ ;;
+ *)
+ mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
+ ;;
+ esac
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+rust_native_abi_install() {
+ pushd "${S}" >/dev/null || die
+ local analysis="$(grep 'analysis' ./components || die "analysis not found in components")"
+ local std="$(grep 'std' ./components || die "std not found in components")"
+ local components=( "rustc" "cargo" "${std}" )
+ use doc && components+=( "rust-docs" )
+ use clippy && components+=( "clippy-preview" )
+ use rustfmt && components+=( "rustfmt-preview" )
+ use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" )
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ case ${PV} in
+ *9999*)
+ mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die
+ ;;
+ *beta*)
+ mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die
+ ;;
+ *)
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ ;;
+ esac
+ echo rust-src >> ./components || die
+ components+=( "rust-src" )
+ fi
+ edo ./install.sh \
+ --components="$(IFS=,; echo "${components[*]}")" \
+ --disable-verify \
+ --prefix="${ED}/opt/rust-bin-${SLOT}" \
+ --mandir="${ED}/opt/rust-bin-${SLOT}/man" \
+ --disable-ldconfig
+
+ docompress /opt/${P}/man/
+
+ if use prefix; then
+ local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin"
+ find "${ED}/opt/${SLOT}/bin" -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf_for_bin ${filename} ${interpreter} \; || die
+ done
+ eend $?
+ fi
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
+ local ver_i="${i}-bin-${SLOT}"
+ ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die
+ dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}"
+ dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}"
+
+ # make all capital underscored variable
+ local CARGO_TRIPLET="$(rust_abi)"
+ CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
+ CARGO_TRIPLET="${CARGO_TRIPLET^^}"
+ cat <<-_EOF_ > "${T}/50${P}"
+ MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}"
+ $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"")
+ _EOF_
+ doenvd "${T}/50${P}"
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${PN}-${SLOT}"
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ rust_native_abi_install
+ else
+ local rust_target
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ dodir "/opt/${P}/lib/rustlib"
+ cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+ "${ED}/opt/${P}/lib/rustlib" || die
+ fi
+
+ # BUG: installs x86_64 binary on other arches
+ rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ if has_version dev-debug/gdb || has_version llvm-core/lldb; then
+ elog "Rust installs helper scripts for calling GDB and LLDB,"
+ elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ optfeature "emacs support for rust" app-emacs/rust-mode
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ optfeature "vim support for rust" app-vim/rust-vim
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/rust-common/Manifest b/dev-lang/rust-common/Manifest
index d18b2dd3ee30..cda9c4a5953b 100644
--- a/dev-lang/rust-common/Manifest
+++ b/dev-lang/rust-common/Manifest
@@ -4,13 +4,17 @@ DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033d
DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c
DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6
DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c
-DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a
-DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb
DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1
DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796
+DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c
+DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e
+DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b
+DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a
EBUILD rust-common-1.81.0.ebuild 1442 BLAKE2B 2fca9110584bab02d27116bb7384ef4cdc0cc42323b469473f76fa09bd15fd4dd24a4597769d453d12c8e06b4305614d50120099feaeb142c2aafe29dd610348 SHA512 b948bc84b48deb6249c61d977dde1489374f5e0df679540a254ce4211f148eb5fff00fa4970bc63a07d4d08328fa821cee1172c388ddd8b48c1c0117a1c0259d
EBUILD rust-common-1.82.0.ebuild 1442 BLAKE2B 04d044c0a244ce4e62fd4a8ae096c29c1972677e61ea3c8dd267817deafcdfc305087dc17b021e82376f96888d2374a9de774dbeb6067ee335a2f41dc87918c3 SHA512 279e84b9fba7fcf68c7b8666882411dff77d056258f8e315c141b736a910377bec28020d11fe09ec42921ddeb746e34cf2b8ef3f0503d4578cd8faeb416f257e
EBUILD rust-common-1.83.0.ebuild 1442 BLAKE2B 04d044c0a244ce4e62fd4a8ae096c29c1972677e61ea3c8dd267817deafcdfc305087dc17b021e82376f96888d2374a9de774dbeb6067ee335a2f41dc87918c3 SHA512 279e84b9fba7fcf68c7b8666882411dff77d056258f8e315c141b736a910377bec28020d11fe09ec42921ddeb746e34cf2b8ef3f0503d4578cd8faeb416f257e
-EBUILD rust-common-1.84.0.ebuild 1449 BLAKE2B c75e4ec75e326ac31c632fee456df989b0eb24dfefa8b34c10b28223c67778343eb0c3f00be3e956949a46b912d321f9632ce07d1fb1dbe0bfa3d5ec3e6cf96f SHA512 110b0a401b560ff5f55075dc84df869a48257231de52cc8cd0661c50060963c9a1d32f96b149a5bf44dd3f79ab9a2140664ef39dd2b6fce2f8390ac893df7f8f
-EBUILD rust-common-1.84.1.ebuild 1449 BLAKE2B c75e4ec75e326ac31c632fee456df989b0eb24dfefa8b34c10b28223c67778343eb0c3f00be3e956949a46b912d321f9632ce07d1fb1dbe0bfa3d5ec3e6cf96f SHA512 110b0a401b560ff5f55075dc84df869a48257231de52cc8cd0661c50060963c9a1d32f96b149a5bf44dd3f79ab9a2140664ef39dd2b6fce2f8390ac893df7f8f
+EBUILD rust-common-1.84.1.ebuild 1446 BLAKE2B c0cc472f614b0640f0b2ee9160329aa14155ac9f6f218ce8442d63c02c48243621954e65b459c7bb4406a72f9171e79f2add0be01d81e6de4244dfcf0c162fc4 SHA512 515a7fbb99a2a4e72c0c2f10639097c4099036aef8442ebb27b94db446943053ecb8e765a2a51c15eaa3fb89952838db9d3a4201fcf59b157502a6238312e2cb
+EBUILD rust-common-1.85.0.ebuild 2243 BLAKE2B 554160cc1aab204f2102f1925cf5709e60f09dacb098f8f78e007b1b443fe26d6ef1714e6b9eeae33bfd50873f7f7dcb3435ad6431098479310da2752b39e6ff SHA512 8fd4d239e68e534c432e8f260d7e30a22a0a6206563c7baed353473564253197a1ce9b778da53b4c54be31913aebe0e66f770c2649b118ff5c8513c27e874b08
+EBUILD rust-common-1.86.0_beta20250218.ebuild 2243 BLAKE2B 554160cc1aab204f2102f1925cf5709e60f09dacb098f8f78e007b1b443fe26d6ef1714e6b9eeae33bfd50873f7f7dcb3435ad6431098479310da2752b39e6ff SHA512 8fd4d239e68e534c432e8f260d7e30a22a0a6206563c7baed353473564253197a1ce9b778da53b4c54be31913aebe0e66f770c2649b118ff5c8513c27e874b08
+EBUILD rust-common-9999.ebuild 2243 BLAKE2B 554160cc1aab204f2102f1925cf5709e60f09dacb098f8f78e007b1b443fe26d6ef1714e6b9eeae33bfd50873f7f7dcb3435ad6431098479310da2752b39e6ff SHA512 8fd4d239e68e534c432e8f260d7e30a22a0a6206563c7baed353473564253197a1ce9b778da53b4c54be31913aebe0e66f770c2649b118ff5c8513c27e874b08
MISC metadata.xml 324 BLAKE2B 25e471eacc689a8af7e0251146bf712b020a10d55e3cb48285f174996ec66db8bbd146d4737db15ac3b2abf3e1f0415277b9bdca84d94f9b08a56e9242a4fcbf SHA512 723c102ec7017eeb72bfd6f37c16e2705e61bb626a93e5127eca2275a9367cefbccdd846fe8a699bc1192ae52cafe236f3fb6261fa6db361564b34880a9db2fb
diff --git a/dev-lang/rust-common/rust-common-1.84.0.ebuild b/dev-lang/rust-common/rust-common-1.84.0.ebuild
deleted file mode 100644
index 0969c3472e3c..000000000000
--- a/dev-lang/rust-common/rust-common-1.84.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-inherit bash-completion-r1 verify-sig
-
-DESCRIPTION="Common files shared between multiple slots of Rust"
-HOMEPAGE="https://www.rust-lang.org/"
-
-if [[ ${PV} = *beta* ]]; then
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
-else
- ABI_VER="$(ver_cut 1-2)"
- MY_P="rustc-${PV}"
- SRC="${MY_P}-src.tar.xz"
-fi
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC}
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# Legacy non-slotted versions bash completions will collide.
-RDEPEND="
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
-
-src_unpack() {
- if use verify-sig ; then
- verify-sig_verify_detached "${DISTDIR}"/${SRC} "${DISTDIR}"/${SRC}.asc
- fi
-
- # Avoid unpacking the whole tarball which would need check-reqs
- tar -xf "${DISTDIR}"/${SRC} ${SRC%%.tar.xz}/src/tools/cargo/src/etc/cargo.bashcomp.sh || die
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
-}
diff --git a/dev-lang/rust-common/rust-common-1.84.1.ebuild b/dev-lang/rust-common/rust-common-1.84.1.ebuild
index 0969c3472e3c..7d7682e1195a 100644
--- a/dev-lang/rust-common/rust-common-1.84.1.ebuild
+++ b/dev-lang/rust-common/rust-common-1.84.1.ebuild
@@ -27,7 +27,7 @@ S="${WORKDIR}/${MY_P}-src"
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc ~x86"
# Legacy non-slotted versions bash completions will collide.
RDEPEND="
diff --git a/dev-lang/rust-common/rust-common-1.85.0.ebuild b/dev-lang/rust-common/rust-common-1.85.0.ebuild
new file mode 100644
index 000000000000..223c50f26f33
--- /dev/null
+++ b/dev-lang/rust-common/rust-common-1.85.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
+inherit shell-completion verify-sig
+
+DESCRIPTION="Common files shared between multiple slots of Rust"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ # In case cargo is not in sync we'll fetch it as a submodule
+ # Nightly users will probably already have the repo cloned and up-to-date anyway.
+ EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
+ EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
+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
+ MY_PV=beta
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
+ -> rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+else
+ MY_PV=${PV}
+ SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+
+# Legacy non-slotted versions bash completions will collide.
+RDEPEND="
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig ; then
+ verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
+ fi
+
+ # Avoid unpacking the whole tarball which would need check-reqs
+ tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
+ fi
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
+ dozshcomp src/tools/cargo/src/etc/_cargo
+}
diff --git a/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild b/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild
new file mode 100644
index 000000000000..223c50f26f33
--- /dev/null
+++ b/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
+inherit shell-completion verify-sig
+
+DESCRIPTION="Common files shared between multiple slots of Rust"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ # In case cargo is not in sync we'll fetch it as a submodule
+ # Nightly users will probably already have the repo cloned and up-to-date anyway.
+ EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
+ EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
+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
+ MY_PV=beta
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
+ -> rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+else
+ MY_PV=${PV}
+ SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+
+# Legacy non-slotted versions bash completions will collide.
+RDEPEND="
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig ; then
+ verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
+ fi
+
+ # Avoid unpacking the whole tarball which would need check-reqs
+ tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
+ fi
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
+ dozshcomp src/tools/cargo/src/etc/_cargo
+}
diff --git a/dev-lang/rust-common/rust-common-9999.ebuild b/dev-lang/rust-common/rust-common-9999.ebuild
new file mode 100644
index 000000000000..223c50f26f33
--- /dev/null
+++ b/dev-lang/rust-common/rust-common-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
+inherit shell-completion verify-sig
+
+DESCRIPTION="Common files shared between multiple slots of Rust"
+HOMEPAGE="https://www.rust-lang.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ # In case cargo is not in sync we'll fetch it as a submodule
+ # Nightly users will probably already have the repo cloned and up-to-date anyway.
+ EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
+ EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
+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
+ MY_PV=beta
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
+ -> rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+else
+ MY_PV=${PV}
+ SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
+ "
+ S="${WORKDIR}/rustc-${MY_PV}-src"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+
+# Legacy non-slotted versions bash completions will collide.
+RDEPEND="
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig ; then
+ verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
+ fi
+
+ # Avoid unpacking the whole tarball which would need check-reqs
+ tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
+ fi
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
+ dozshcomp src/tools/cargo/src/etc/_cargo
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index edc0575fe14d..930a642a6c33 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -18,6 +18,8 @@ AUX 1.82.0-i586-baseline.patch 1818 BLAKE2B 59f396cbcc9421ae9394d0bb51053dc9addb
AUX 1.83.0-cross-compile-libz.patch 915 BLAKE2B dbb726de09c9c957f245ecce29c597f4c9c26bae0c14901c62ad51349f02d47c69fa687bd926f7ecf47aaab4ac5aac9378dfe7fa0a66dee95ff1765c5aa9b0cc SHA512 b9127b7656b8e5f79db3157d9425f97af0634088fad512e572357797a2f24f9e9c3635e06ab2efc5ad8edf86ffcab53adbf013e29162579642a382d0015ab54e
AUX 1.83.0-dwarf-llvm-assertion.patch 10432 BLAKE2B 27f7c4145cf3046e7cb74071b72c5d7a4a3cfbdc97530c588f82225ecc8a76692d228804c3fb8e7f356d9e76b982d429fa369dc5f4607d8ad91e3a486c7cd5fd SHA512 aa0b4022f00fe126953d7d9bb6759c5ef1b6deaf7dd387e031e74c9d1cbcd6861c673afefdca5f494015ddcb64f23297f1176f22d4f3b63ec3dbd0c39527adfd
AUX 1.84.1-fix-cross.patch 1406 BLAKE2B 3af3e4d4c52c37a4580f1ec56d2b79f2751ad017fce4e5d615e74a495acdb7a6be2e0d1e8cb6bd6c2d30a1b739444a11e20e8fd4eb002cc2c1f17ac1167e5a04 SHA512 4dd606ed7a7d026f6209fb8e7507afee04dbc3be5956ef338fc1810385e9ead568f985cac63c8d1582c16153b597a46ec97cfbf677472e4ae28e7159243a5079
+AUX 1.85.0-cross-compile-libz.patch 1130 BLAKE2B 145695a50ccf2db6f8060bf313924e4b337b63f4d1d8f49c7da014f9a3c9ab3849b7acdd6f0defd75f88852eafe5986019371b09c8305f65280883b7be7d9c70 SHA512 2c27d13ffb62143b1019b7568c7d1187744d9a4d01390d8dfb0d27fe758506dad317fafe0a12eeb13e785885c006cb4e72db104ef72229f51c276a3bfdf2bc9e
+DIST rust-1.86.0_beta20250218-vendor-in-install-phase.patch 22553 BLAKE2B a99d31c5ceeec4c74453849d87c35969ad3924cff48861a1c3009c78ac59440c8a1bd3088f0dace262558cff27197a932f3c81872d4ede4f3c5a03c27e6dc316 SHA512 228c551b7dfd4b43e3b34a97c7d55121cfc15f4c999c15e8ee2a30b41757099ae493148aaedf86f5e4e4143e26ae02464ab725162f1dcad68a0315cfadf3ab8a
DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4
DIST rustc-1.71.1-src.tar.xz.asc 801 BLAKE2B a88c073a70552d73e2d7695eceabdaa478f34501b7271fabf7f4a09f3efa545181f34353e45776b05918e6aeba88adb02f9731454f7085a7abf1602fc6589983 SHA512 9dd0406cf22f1daa7fcfd015fc1c6f8d36586aa99bf14c1491ee464c1f892ab759feb83e8b55b64713170fb777fdbe038fb5fd01a59c911b6599223baaba0677
DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d
@@ -40,21 +42,25 @@ DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033d
DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c
DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6
DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c
-DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a
-DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb
DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1
DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796
-EBUILD rust-1.71.1-r101.ebuild 22222 BLAKE2B 389248dc13ba90147c4ffb09d91e7e6f68510652dc008bd273f6b21bb077438e0418aa477134b5cd6f8021f168f60e67408b6d95e5154c1e23082b55697b4164 SHA512 77ede16712fa98043bb7fc8f6c399675640331a8402ab287fcde41d16fde778207d9a79c20194af654a3d43355f56609de1b3302f29442e56f8f0a81c0a69d2f
-EBUILD rust-1.74.1-r101.ebuild 37835 BLAKE2B 4c20c4a0c6812dc7d3bf718d01c48ad558d872dda343e0ed785efb3a3273700431f562c2c41524f1d780f981483b22c9fe9fa43e4a854bf4e6b260618b0e07ae SHA512 4dca67aebd18c9c4e6305b3105882e744470f92612fc13c42f113e2cc95df74d5e11c1a2af4207113436ff44dd8d7421f1749c5ac37bfaf2389298aaccf58ad5
-EBUILD rust-1.75.0-r101.ebuild 23729 BLAKE2B 9850cc208abad5dccabf650e1b3360a7d9cd4f6f9a53d7b1f426113e6575d05e33fe50a7b5d7a0ab44493ad76fe9321b7a240ebd149bf469befff232594db85d SHA512 e1913083fb332ec53d859aa821ccefee101415d30ffecafc9d55d87289d54406327e257073a46f3fd8222e47998170bb1edfb08c6ca61cdb3a274e8cd5aff8a2
-EBUILD rust-1.76.0-r101.ebuild 20237 BLAKE2B 9bbff813775d3f2947f2926d657dabecc92031d3f6dc18e7b93feb029b150c4b649a655e51f355bfe6ad4676215c3d857b2c3d244fa665128ffdda93c3012858 SHA512 d0331cf3efdaf57434c8e0d59036fe03f03f74934f0a6927da01d457b98bc72a7d3ce41734b53458bdebafe2fa3b0e6bb84ab9fdad5026e83382c4d81270c5a9
-EBUILD rust-1.77.1-r101.ebuild 23693 BLAKE2B bc45bfaab3af838cf56875f6b6f990e03b7757bb7a174a3da76036a64542a835dc9f540f84d38df4f4dd263af1aa9d47649443183392578fe8b6957fa4b86931 SHA512 e66af1b7bc69038053216a024edab7c3d4aa20fbfeef54e5cbb6629df2f10302fec803faf42e6604c3cac2fa3d553514dcd41061624ad97ef570966fe985818c
-EBUILD rust-1.78.0-r101.ebuild 23928 BLAKE2B 4692851507c96ceb330b41851c0068e763c6be8ff0f065c81be059b7fc324ac3f8bc6290b05ea10d4e0b37aef801fc949d9b347c7645c4e2489c6d0432849ba1 SHA512 4cc2de304089ca8a90134183dc9de95cad2c1a01239e75cb4274a64487c3670bb82d65624060b55255be03ca3a1ba98b170c5f6ce655b102c9adf3aed7daf2b3
-EBUILD rust-1.79.0-r101.ebuild 23928 BLAKE2B 4692851507c96ceb330b41851c0068e763c6be8ff0f065c81be059b7fc324ac3f8bc6290b05ea10d4e0b37aef801fc949d9b347c7645c4e2489c6d0432849ba1 SHA512 4cc2de304089ca8a90134183dc9de95cad2c1a01239e75cb4274a64487c3670bb82d65624060b55255be03ca3a1ba98b170c5f6ce655b102c9adf3aed7daf2b3
-EBUILD rust-1.80.1-r101.ebuild 23800 BLAKE2B ad754d8b88329318ba8ec8d4547fe52399e166c6b6f4d7cc3d77ed8028222b2c238760b9f1159570760d49ee0bf852101a7471e0d13588ef706f85e16e2e6e81 SHA512 d731b8c92162e01a07e7697ab703106692cd069686b02f49b24758021e5ddaf8696c7cf2b76fa13628f457f0079f211c0df6cb0a9d5213f8ed1f3c46bf5bc1c2
-EBUILD rust-1.81.0-r101.ebuild 23997 BLAKE2B d7538f20e3b1ab9b883564004dfc121bf5d5c862dd4e187d3e6d5cb9d93df14c1db5fa7eaf846c6c520355b45719ec7e662141c0514d5159eaf07b99f151f3da SHA512 0aec6578cd53d6331e191bbb932f993531d493b0eb59102cbb68016ac650121ed4dac801ba090526ed58e70d3acbdab26b597fcb0e0f75601f68b26f54c321a5
-EBUILD rust-1.82.0-r102.ebuild 24192 BLAKE2B 4720b5bbd9d607cbcbcf6a6a13617b4edb631f2ec5cee689bf27af4f3fd6d0ed2d6633da34e19152c53e2cd8e87cc8c8974ed9946bbb516ee95a71fa349c009a SHA512 b3dde6d3c32482c6f877dfa852f79a9e79513657b6f34f4b728355fa5163f6d6c4fd60cf1e419bbecefdff14961c781b09a40f066934ecce121b541822ef45f7
-EBUILD rust-1.83.0-r2.ebuild 23425 BLAKE2B dec9ca6c10ebda088fb7dc6aed3e41e7124d7a02227ad28cb8ff3152396b19ae97f7a483be3a69ab90c54f7598ea52f0162a50420b570c0da13122f65e8c3394 SHA512 3ae087c440571e50dfc578e40cfe388b58a1c46ade6c0755ddae25c084259b76a46d624ee17d6a5a5823b7e419cec60d0b8f7035f07d272919560653d0f714b0
-EBUILD rust-1.84.0-r1.ebuild 22118 BLAKE2B fdac2b75f72994203c656ff75d59d93df2769eaf9de55b975f028367dc100e8f336801740ac31889ce0ca65234cf66b1c370eec033ff3e7de22733c786be5178 SHA512 5ac1e67176eb00e535ca94e8b9dc4e9424bdd5585fd80a8a057e5e097b36b2a65fdf63da259548b7a3d935496777fdb03a9d5837398e5bf4a7d768ef899d0cec
-EBUILD rust-1.84.1-r1.ebuild 22103 BLAKE2B e3d7e5b272dc16bd6e5c362d6e1abc84e12dc429fc708100725ae0312f091f01e2850a418bd08812694cffb89df43392e6ff71ba7d69155957a0a0b09e7faf4b SHA512 fcb82f2009c29baffbb3e86ea78d4d267538fe34d7f69c2a38bec4f03d401aca4e7adc199862bb8ea308802a16f474be3a3bce2bf7ad110642f3be773c6f1a73
+DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c
+DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e
+DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b
+DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a
+EBUILD rust-1.71.1-r101.ebuild 22227 BLAKE2B 72536aa2bbf0db52d40c7ae3784ad909e1c23fe55a1660cefe33be594b18cfe65299911099c2e14694b42c59312d482448408db9f823ee92855929574106d58a SHA512 19d3b7a93f439248bae985c97693aaaa5f5bad7034f3e649fe06aa20fcd119132bb9fbaadd51c7d3dd486b54eb1b6ccfc86764b368a19e701bd0e3dfd1669b15
+EBUILD rust-1.74.1-r101.ebuild 37840 BLAKE2B f0f086aa21c09a9dcfffe9407bd7854175077cb0dd2a7ddc3df65c7bba19bd684b665d4fab2bfecc0ea4b0ae7e901394b0fd12542c735a98790d6e2e03489cfa SHA512 ebc7201c8f337fb06833b426fa8d9fb5d49df19b66a03df1dda6e9aa4f13b71669bbaae5755ed9805bd087cd5c9d26981d6efd63586ec25b3b6d3de8ba0949b8
+EBUILD rust-1.75.0-r101.ebuild 23734 BLAKE2B ec97695484ee0e502f0514c76cde1c7bdfe40c5aad3491030dd9ec319618ca26e7a299bbaf41bb746bdc7957d95d88ef27501f62d3ab0c575085cfb4af8d9f3b SHA512 4c8767e015e2a2adbe7facbc9c80119d79080dc64167ba55ba76a5b526e620d978a64ca84d420dc31a834155ef0851cc192fea1f45dfbe8574459ba3a2eb6179
+EBUILD rust-1.76.0-r101.ebuild 20242 BLAKE2B f24aae8ade3940adaeb4fa32ebd67d2fb19f2bccdc850c1aa42ce26ec7b1643ed33ad9aae9bbd6a041a7cca99fe4e063351c7f0aa09a2357d398f81518bb1e5e SHA512 4374575f2d52efeb9157b2a95803aae541ac983161c5d326c4b19390fa0b807b80f83d9861c57378e441d634e770cec1c067647f4d8b27b8c98cb10c67bef89b
+EBUILD rust-1.77.1-r101.ebuild 23698 BLAKE2B e18c7c9b479e90b70846c0464b9111237466db6905294e23d9f9f87bac4f9913a21d8485d4896afc8b51087dd080150a31542fbc06b23b50ab79feabcedeaf7d SHA512 7b0d43d4646bbcf3926094b975a372f34264ea84fc3c135e1e8a4834a0fad6ffa51c6aebc00d96655309047a35ace126ed7b8064410ab2e61272428be4fd3e16
+EBUILD rust-1.78.0-r101.ebuild 23933 BLAKE2B ce944e71f38bffa51f9b3a96e42a7f12b1a1d1646729009989a3309ae4768112b17ff18e7a8ca1613820f824f7a90b37feb4c231c52af3b85be4dc2d523b3c7e SHA512 06553e484aaa5c3c023c707fc07bb8b439f2d21bd9c5735807729130a4ba545137488baea83e7615f304b076fefa7e3a5d421fae8cc77118edce4f818bd3d7d9
+EBUILD rust-1.79.0-r101.ebuild 23933 BLAKE2B ce944e71f38bffa51f9b3a96e42a7f12b1a1d1646729009989a3309ae4768112b17ff18e7a8ca1613820f824f7a90b37feb4c231c52af3b85be4dc2d523b3c7e SHA512 06553e484aaa5c3c023c707fc07bb8b439f2d21bd9c5735807729130a4ba545137488baea83e7615f304b076fefa7e3a5d421fae8cc77118edce4f818bd3d7d9
+EBUILD rust-1.80.1-r101.ebuild 23805 BLAKE2B 4af75da6179b8d0142abab92a99d42dc3cec97f047b57d6887c9709f859c6aa0d525c5e093bd00dcf8d8b782a6c20ffc692a3a3eaf713143bfa09646758ecaba SHA512 98c48ddd4031dd9d9f9c3ecdd1eac3bd17559b0bda944710d09ece271db03f9a69a04ce202aa08846371ffb8eb69eb6264803c37927ac838bc9d17c729eb390d
+EBUILD rust-1.81.0-r101.ebuild 24002 BLAKE2B e6be4c9f985e0f1d9f73a95d353d6de9153a5a2e622127060d65b28a72e007200cc1470c39807bc5d69aa2ac0c7901c32c3a2b620f9280257db4d0d0dc9c68d3 SHA512 12edcb3fafb8930d8c95f9cda333630fa5720cf7d825d07fc8dfc88de4ef1150739403afb346862b6787c14d70ddc0c236a252dcf14f4ebda0beaea70745ee5d
+EBUILD rust-1.82.0-r102.ebuild 24197 BLAKE2B 8bd9840d112ead2cd2b57c6f0acf49c712c5e3b563d48e1ca80bd9e94a8c37cad57a8b23b8314f25afbf8ac5c4f8be44353ed5344a06e03287108fd0eec169c8 SHA512 2bf5e83878952e0322226dd96934240c43b6b84fa3a7ca9e7e9bf35825bfecc5be7edb48b78a0e2ff65019b66ad0425f9ee173399148303db56e6c58f89776f1
+EBUILD rust-1.83.0-r2.ebuild 23430 BLAKE2B cd6bf56e0e3381178630da0ecdcaca9d686b0e707b25f8a2e12065e723eb105f5a75dde0813fe64e6fe6bc429399440fe21640db08c576674b4fc4c96a684f66 SHA512 108c9fe7b8ca70ef8abc790adcd778d840982037fc0e8ce73e4f754c327f82130068cccac13f207a02ee7a9fb90f4b44331e8e9aadb7f9dc76a0491b9078875c
+EBUILD rust-1.84.1-r1.ebuild 22105 BLAKE2B db3ea65511dabd9573c32b6db197af89ac52421fd8c04bad46fe8af1db3dc1743362902a18431524488846cd665f35885fb6fe8f75c65c0414fe8a99025b5c73 SHA512 f6c8f27dcc336c165eddba1f5c181c7c96cda7fe8aade7501b6b37d875152a9252cf7aa359795c4be79405d0c7e2ad0221970b00d8895019d348c59acbb109d2
+EBUILD rust-1.85.0.ebuild 24993 BLAKE2B 38a5bbded924f486d34c0a4162e52a29eeae1ca525b1f4d5aa7ce4ee9990c5cc282c6276e231ab9c70e0d6c01471c99910cb9be5c21c57fc55968e075e1ff11c SHA512 955ec2b886b94318059b7ef533c0f70da6b0589b35016d01b5daeadfcf3a672594d012e317a78a54983c5e03f5e4808dabc87b749ddec8907a570e78b8fa98c2
+EBUILD rust-1.86.0_beta20250218.ebuild 25134 BLAKE2B b694a022ea5838606ad603e79227fad2d603adfb71a66ae12c42269cc44d9ac209a0b0a42ee3351f5a0769534a4ca143cdba2f692fde3b72acaf05531822ecfa SHA512 379584d330bf32d60d494e7ea35faeed71545a6bb1feba6e795b4cab121ea1e9cd10f2b5b0067f41ca11316d9126ffc6cc3991a2b53c60643f4e966c4e29e11a
+EBUILD rust-9999.ebuild 24993 BLAKE2B 2a825d4dde8bb697b2c21b35c162d01561bbd3bf5e00505cae94326677aaed095f51cc0f6c00363aefa4f3d15871dd2c4d5a41c56a945b9bd84b980ecc03b0f9 SHA512 46d699d55b7d04c03f00b80c318e202768877dd9525bec5cb3ce8ade18bd48127537993f236e8bd9cb403dedbdb38f237b7a898ee6ee3a4594b3e34fd1179fb6
MISC metadata.xml 1841 BLAKE2B 48a8167ae44a7f4892b917895298627ac920af6c488180980e65bdeec53b650455fc6d7dddad0a7a8257d473080082377fb6b6df6a834b294b6e6485e6784a1e SHA512 1f5fd792b65ccac89a61233004980d9f7cbaecea5d05f35f9cc2dc9cab4e3ccfcd46828e88770a1b8ba5ca23064b6a75eea72a0b32bcce52bb399b85ac95f755
diff --git a/dev-lang/rust/files/1.85.0-cross-compile-libz.patch b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch
new file mode 100644
index 000000000000..7bd45c4e09e5
--- /dev/null
+++ b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch
@@ -0,0 +1,26 @@
+From 768f7e50a6d9a3db4e4eef45dcb4c56e9b580389 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Sun, 9 Feb 2025 21:12:43 +1000
+Subject: [PATCH] Update libz cross-compile patch for 9999 (1.86.0)
+
+See-also: https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22
+See-also: https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497
+--- a/compiler/rustc_llvm/build.rs
++++ b/compiler/rustc_llvm/build.rs
+@@ -219,13 +219,7 @@ fn main() {
+ // of llvm-config, not the target that we're attempting to link.
+ let mut cmd = Command::new(&llvm_config);
+ cmd.arg(llvm_link_arg).arg("--libs");
+-
+- // Don't link system libs if cross-compiling unless targeting Windows.
+- // On Windows system DLLs aren't linked directly, instead import libraries are used.
+- // These import libraries are independent of the host.
+- if !is_crossed || target.contains("windows") {
+- cmd.arg("--system-libs");
+- }
++ cmd.arg("--system-libs");
+
+ // We need libkstat for getHostCPUName on SPARC builds.
+ // See also: https://github.com/llvm/llvm-project/issues/64186
+--
+2.48.0
diff --git a/dev-lang/rust/rust-1.71.1-r101.ebuild b/dev-lang/rust/rust-1.71.1-r101.ebuild
index ae01f2f9a301..fa6ca5be0bc8 100644
--- a/dev-lang/rust/rust-1.71.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.71.1-r101.ebuild
@@ -63,7 +63,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.74.1-r101.ebuild b/dev-lang/rust/rust-1.74.1-r101.ebuild
index 68108ee8a593..060ae389079f 100644
--- a/dev-lang/rust/rust-1.74.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.74.1-r101.ebuild
@@ -69,7 +69,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.75.0-r101.ebuild b/dev-lang/rust/rust-1.75.0-r101.ebuild
index 582cd097c120..8dba35567835 100644
--- a/dev-lang/rust/rust-1.75.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.75.0-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.76.0-r101.ebuild b/dev-lang/rust/rust-1.76.0-r101.ebuild
index 8d72491db7fb..c62acdfc7419 100644
--- a/dev-lang/rust/rust-1.76.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.76.0-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.77.1-r101.ebuild b/dev-lang/rust/rust-1.77.1-r101.ebuild
index 8e71a450c7e6..149b3e8105f4 100644
--- a/dev-lang/rust/rust-1.77.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.77.1-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.78.0-r101.ebuild b/dev-lang/rust/rust-1.78.0-r101.ebuild
index 7bcddb3c4dba..ad7ef8defa1d 100644
--- a/dev-lang/rust/rust-1.78.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.78.0-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.79.0-r101.ebuild b/dev-lang/rust/rust-1.79.0-r101.ebuild
index 7bcddb3c4dba..ad7ef8defa1d 100644
--- a/dev-lang/rust/rust-1.79.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.79.0-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.80.1-r101.ebuild b/dev-lang/rust/rust-1.80.1-r101.ebuild
index 28e670946d40..fb4c96456714 100644
--- a/dev-lang/rust/rust-1.80.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.80.1-r101.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.81.0-r101.ebuild b/dev-lang/rust/rust-1.81.0-r101.ebuild
index 7f53129202cc..8d664876a184 100644
--- a/dev-lang/rust/rust-1.81.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.81.0-r101.ebuild
@@ -65,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.82.0-r102.ebuild b/dev-lang/rust/rust-1.82.0-r102.ebuild
index bc55c3ded7c1..a5f36a0d736d 100644
--- a/dev-lang/rust/rust-1.82.0-r102.ebuild
+++ b/dev-lang/rust/rust-1.82.0-r102.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.83.0-r2.ebuild b/dev-lang/rust/rust-1.83.0-r2.ebuild
index f92f170184fb..5a0afd35a715 100644
--- a/dev-lang/rust/rust-1.83.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.83.0-r2.ebuild
@@ -64,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.84.1-r1.ebuild b/dev-lang/rust/rust-1.84.1-r1.ebuild
index 94980bdb59c0..bdf2e2b0346f 100644
--- a/dev-lang/rust/rust-1.84.1-r1.ebuild
+++ b/dev-lang/rust/rust-1.84.1-r1.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} = *beta* ]]; then
else
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="Systems programming language from Mozilla"
@@ -65,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
diff --git a/dev-lang/rust/rust-1.84.0-r1.ebuild b/dev-lang/rust/rust-1.85.0.ebuild
index 1bac5bdc9e11..ed5563128cfb 100644
--- a/dev-lang/rust/rust-1.84.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.85.0.ebuild
@@ -6,32 +6,53 @@ EAPI=8
LLVM_COMPAT=( 19 )
PYTHON_COMPAT=( python3_{10..13} )
-RUST_MAX_VER=${PV}
-RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+RUST_MAX_VER=${PV%%_*}
+if [[ ${PV} == *9999* ]]; then
+ RUST_MIN_VER="1.85.0" # Update this as new `beta` releases come out.
+elif [[ ${PV} == *beta* ]]; then
+ # Enforce that `beta` is built from `stable`.
+ # While uncommon it is possible for feature changes within `beta` to result
+ # in an older snapshot being unable to build a newer one without modifying the sources.
+ # 'stable' releases should always be able to build a beta snapshot so just use those.
+ RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1"
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+else
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+fi
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
+ 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
+ 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"
+DESCRIPTION="Systems programming language originally developed by 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
@@ -40,24 +61,22 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt
-_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
-ALL_LLVM_EXPERIMENTAL_TARGETS=( )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV}"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
-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 rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+
+if [[ ${PV} = *9999* ]]; then
+ # These USE flags require nightly rust
+ IUSE+=" miri"
+fi
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}]") )" )
- for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do
- if [[ "${_xx}" == "${_x}" ]] ; then
- ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} )
- break
- fi
- done
done
LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" )
LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
@@ -65,7 +84,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
- >=sys-devel/gcc-4.7
+ >=sys-devel/gcc-4.7[cxx]
>=llvm-core/clang-3.5
)
!system-llvm? (
@@ -101,8 +120,6 @@ RDEPEND="${DEPEND}
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
rust-analyzer? ( rust-src )
test? ( ${ALL_LLVM_TARGETS[*]} )
wasm? ( llvm_targets_WebAssembly )
@@ -113,27 +130,27 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
CMAKE_WARN_UNUSED_CLI=no
QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/libexec/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/bin/.*
+ usr/lib/${PN}/${SLOT}/libexec/.*
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
"
QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
"
QA_PRESTRIPPED="
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
"
# An rmeta file is custom binary format that contains the metadata for the crate.
# rmeta files do not support linking, since they do not contain compiled object files.
# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
# causes double bootstrap
RESTRICT="test"
@@ -141,9 +158,7 @@ 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.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh
+ "${FILESDIR}"/1.85.0-cross-compile-libz.patch
"${FILESDIR}"/1.67.0-doc-wasm.patch
)
@@ -155,6 +170,48 @@ toml_usex() {
usex "${1}" true false
}
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ git-r3_src_unpack
+ mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml}
+ touch "${S}/.cargo/config.toml" || die
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
+ local rust_build=""
+ local rust_host=""
+ # Configure vendor to use the portage-provided toolchain. This prevents it from
+ # attempting to fetch a `beta` toolchain from the internet.
+ cat <<- _EOF_ > "${T}/vendor-config.toml"
+ [build]
+ build = "$(rust_abi "${CBUILD}")"
+ host = ["$(rust_abi "${CHOST}")"]
+ target = ["$(rust_abi "${CHOST}")"]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ _EOF_
+ # We're using git sources so we need to run the Vendor script
+ # to ensure that all dependencies are present and up-to-date
+ mkdir "${S}/vendor" || die
+ # This also compiles the 'build helper', there's no way to avoid this.
+ ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) ||
+ die "Failed to vendor dependencies"
+ # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around.
+ cat <<- _EOF_ > "${S}/.cargo/config.toml"
+ [source.crates-io]
+ replace-with = "vendored-sources"
+
+ [source."git+https://github.com/rust-lang/team"]
+ git = "https://github.com/rust-lang/team"
+ replace-with = "vendored-sources"
+
+ [source.vendored-sources]
+ directory = "vendor"
+ _EOF_
+ else
+ verify-sig_src_unpack
+ fi
+}
+
pre_build_checks() {
local M=9216
# multiply requirements by 1.3 if we are doing x86-multilib
@@ -162,7 +219,9 @@ pre_build_checks() {
M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
fi
M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
+ if [[ ${PV} == *9999* ]]; then
+ M=$(( $(usex miri 128 0) + ${M} ))
+ fi
M=$(( $(usex rustfmt 256 0) + ${M} ))
# add 2G if we compile llvm and 256M per llvm_target
if ! use system-llvm; then
@@ -226,6 +285,11 @@ pkg_setup() {
}
src_prepare() {
+ if [[ ${PV} = *9999* ]]; then
+ # We need to update / generate lockfiles for the workspace
+ ${CARGO} generate-lockfile --offline
+
+ fi
# Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set.
if use x86; then
if ! use cpu_flags_x86_sse2; then
@@ -266,11 +330,14 @@ src_configure() {
# cargo and rustdoc are mandatory and should always be included
local tools='"cargo","rustdoc"'
use clippy && tools+=',"clippy"'
- use miri && tools+=',"miri"'
use rustfmt && tools+=',"rustfmt"'
use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
use rust-src && tools+=',"src"'
+ if [[ ${PV} == *9999* ]]; then
+ use miri && tools+=',"miri"'
+ fi
+
local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
# in case of prefix it will be already prefixed, as --print sysroot returns full path
[[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
@@ -288,6 +355,19 @@ src_configure() {
LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]}
local cm_btype="$(usex debug DEBUG RELEASE)"
+ local build_channel
+ local build_miri="false"
+ case "${PV}" in
+ *9999*)
+ build_channel="nightly"
+ ;;
+ *beta*)
+ build_channel="beta"
+ ;;
+ *)
+ build_channel="stable"
+ ;;
+ esac
cat <<- _EOF_ > "${S}"/config.toml
# https://github.com/rust-lang/rust/issues/135358 (bug #947897)
profile = "dist"
@@ -353,7 +433,7 @@ src_configure() {
profiler = true
cargo-native-static = false
[install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
sysconfdir = "etc"
docdir = "share/doc/rust"
bindir = "bin"
@@ -376,8 +456,7 @@ src_configure() {
$(if ! tc-is-cross-compiler; then
echo "default-linker = \"$(tc-getCC)\""
fi)
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
+ channel = "${build_channel}"
description = "gentoo"
rpath = true
verbose-tests = true
@@ -596,11 +675,11 @@ src_test() {
src_install() {
DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- docompress /usr/lib/${PN}/${PV}/share/man/
+ docompress /usr/lib/${PN}/${SLOT}/share/man/
# bug #689562, #689160
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
+ rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die
local symlinks=(
cargo
@@ -612,7 +691,9 @@ src_install() {
)
use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
+ if [[ ${PV} = *9999* ]]; then
+ use miri && symlinks+=( miri cargo-miri )
+ fi
use rustfmt && symlinks+=( rustfmt cargo-fmt )
use rust-analyzer && symlinks+=( rust-analyzer )
@@ -622,34 +703,34 @@ src_install() {
# we need realpath on /usr/bin/* symlink return version-appended binary path.
# so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
# need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
+ local ver_i="${i}-${PV%%_*}"
+ if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
+ ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
else
ewarn "${i} symlink requested, but source file not found"
ewarn "please report this"
fi
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
done
# symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
+ dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
+ use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}"
+ dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
+ dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
+ dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
+ MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
_EOF_
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
# note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
/usr/bin/cargo
/usr/bin/rustdoc
/usr/bin/rust-gdb
@@ -665,7 +746,7 @@ src_install() {
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
- if use miri; then
+ if [[ ${SLOT} == *9999* ]] && use miri; then
echo /usr/bin/miri >> "${T}/provider-${P}"
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
fi
@@ -679,11 +760,11 @@ src_install() {
fi
insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
+ doins "${T}/provider-${PN}-${SLOT}"
if use dist; then
"${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- insinto "/usr/lib/${PN}/${PV}/dist"
+ insinto "/usr/lib/${PN}/${SLOT}/dist"
doins -r "${S}/build/dist/."
fi
}
diff --git a/dev-lang/rust/rust-1.86.0_beta20250218.ebuild b/dev-lang/rust/rust-1.86.0_beta20250218.ebuild
new file mode 100644
index 000000000000..1a745a6f2315
--- /dev/null
+++ b/dev-lang/rust/rust-1.86.0_beta20250218.ebuild
@@ -0,0 +1,794 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+PYTHON_COMPAT=( python3_{10..13} )
+
+RUST_MAX_VER=${PV%%_*}
+if [[ ${PV} == *9999* ]]; then
+ RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out.
+elif [[ ${PV} == *beta* ]]; then
+ # Enforce that `beta` is built from `stable`.
+ # While uncommon it is possible for feature changes within `beta` to result
+ # in an older snapshot being unable to build a newer one without modifying the sources.
+ # 'stable' releases should always be able to build a beta snapshot so just use those.
+ RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1"
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 3)).0"
+else
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+fi
+
+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} = *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_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
+ verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
+ -> rustc-${PV}-src.tar.xz.asc )
+ https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch
+ "
+ S="${WORKDIR}/${MY_P}-src"
+else
+ MY_P="rustc-${PV}"
+ SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
+ 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 originally developed by Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+# 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
+ WebAssembly X86 XCore Xtensa )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
+
+# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+
+if [[ ${PV} = *9999* ]]; then
+ # These USE flags require nightly rust
+ IUSE+=" miri"
+fi
+
+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}]") )" )
+done
+LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" )
+LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
+
+BDEPEND="${PYTHON_DEPS}
+ app-eselect/eselect-rust
+ || (
+ >=sys-devel/gcc-4.7[cxx]
+ >=llvm-core/clang-3.5
+ )
+ !system-llvm? (
+ >=dev-build/cmake-3.13.4
+ app-alternatives/ninja
+ )
+ test? ( dev-debug/gdb )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+
+DEPEND="
+ >=app-arch/xz-utils-5.2
+ net-misc/curl:=[http2,ssl]
+ sys-libs/zlib:=
+ dev-libs/openssl:0=
+ system-llvm? (
+ ${LLVM_DEPEND[*]}
+ llvm-libunwind? ( llvm-runtimes/libunwind:= )
+ )
+ !system-llvm? (
+ !llvm-libunwind? (
+ elibc_musl? ( sys-libs/libunwind:= )
+ )
+ )
+"
+
+RDEPEND="${DEPEND}
+ app-eselect/eselect-rust
+ dev-lang/rust-common
+ sys-apps/lsb-release
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ rust-analyzer? ( rust-src )
+ test? ( ${ALL_LLVM_TARGETS[*]} )
+ wasm? ( llvm_targets_WebAssembly )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+# we don't use cmake.eclass, but can get a warning
+CMAKE_WARN_UNUSED_CLI=no
+
+QA_FLAGS_IGNORED="
+ usr/lib/${PN}/${SLOT}/bin/.*
+ usr/lib/${PN}/${SLOT}/libexec/.*
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_SONAME="
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_PRESTRIPPED="
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+# causes double bootstrap
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
+
+PATCHES=(
+ "${DISTDIR}"/${P}-vendor-in-install-phase.patch
+ "${FILESDIR}"/1.85.0-cross-compile-libz.patch
+ "${FILESDIR}"/1.67.0-doc-wasm.patch
+)
+
+clear_vendor_checksums() {
+ sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die
+}
+
+toml_usex() {
+ usex "${1}" true false
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ git-r3_src_unpack
+ mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml}
+ touch "${S}/.cargo/config.toml" || die
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
+ local rust_build=""
+ local rust_host=""
+ # Configure vendor to use the portage-provided toolchain. This prevents it from
+ # attempting to fetch a `beta` toolchain from the internet.
+ cat <<- _EOF_ > "${T}/vendor-config.toml"
+ [build]
+ build = "$(rust_abi "${CBUILD}")"
+ host = ["$(rust_abi "${CHOST}")"]
+ target = ["$(rust_abi "${CHOST}")"]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ _EOF_
+ # We're using git sources so we need to run the Vendor script
+ # to ensure that all dependencies are present and up-to-date
+ mkdir "${S}/vendor" || die
+ # This also compiles the 'build helper', there's no way to avoid this.
+ ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) ||
+ die "Failed to vendor dependencies"
+ # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around.
+ cat <<- _EOF_ > "${S}/.cargo/config.toml"
+ [source.crates-io]
+ replace-with = "vendored-sources"
+
+ [source."git+https://github.com/rust-lang/team"]
+ git = "https://github.com/rust-lang/team"
+ replace-with = "vendored-sources"
+
+ [source.vendored-sources]
+ directory = "vendor"
+ _EOF_
+ else
+ verify-sig_src_unpack
+ fi
+}
+
+pre_build_checks() {
+ local M=9216
+ # multiply requirements by 1.3 if we are doing x86-multilib
+ if use amd64; then
+ M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
+ fi
+ M=$(( $(usex clippy 128 0) + ${M} ))
+ if [[ ${PV} == *9999* ]]; then
+ M=$(( $(usex miri 128 0) + ${M} ))
+ fi
+ M=$(( $(usex rustfmt 256 0) + ${M} ))
+ # add 2G if we compile llvm and 256M per llvm_target
+ if ! use system-llvm; then
+ M=$(( 2048 + ${M} ))
+ local ltarget
+ for ltarget in ${ALL_LLVM_TARGETS[@]}; do
+ M=$(( $(usex ${ltarget} 256 0) + ${M} ))
+ done
+ fi
+ M=$(( $(usex wasm 256 0) + ${M} ))
+ M=$(( $(usex debug 2 1) * ${M} ))
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ M=$(( 15 * ${M} / 10 ))
+ fi
+ eshopts_pop
+ M=$(( $(usex doc 256 0) + ${M} ))
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+llvm_check_deps() {
+ has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+
+ export LIBGIT2_NO_PKG_CONFIG=1 #749381
+ if tc-is-cross-compiler; then
+ use system-llvm && die "USE=system-llvm not allowed when cross-compiling"
+ local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")"
+ use "llvm_targets_${cross_llvm_target}" || \
+ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling"
+ fi
+
+ rust_pkg_setup
+
+ if use system-llvm; then
+ llvm-r1_pkg_setup
+
+ local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} = *9999* ]]; then
+ # We need to update / generate lockfiles for the workspace
+ ${CARGO} generate-lockfile --offline
+
+ fi
+ # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set.
+ if use x86; then
+ if ! use cpu_flags_x86_sse2; then
+ eapply "${FILESDIR}/1.82.0-i586-baseline.patch"
+ #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die
+ fi
+ fi
+
+ default
+}
+
+src_configure() {
+ if tc-is-cross-compiler; then
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig"
+ export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)"
+ fi
+
+ filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231
+
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets+=",\"wasm32-unknown-unknown\""
+ if use system-llvm; then
+ # un-hardcode rust-lld linker for this target
+ # https://bugs.gentoo.org/715348
+ sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die
+ fi
+ fi
+ rust_targets="${rust_targets#,}"
+
+ # cargo and rustdoc are mandatory and should always be included
+ local tools='"cargo","rustdoc"'
+ use clippy && tools+=',"clippy"'
+ use rustfmt && tools+=',"rustfmt"'
+ use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
+ use rust-src && tools+=',"src"'
+
+ if [[ ${PV} == *9999* ]]; then
+ use miri && tools+=',"miri"'
+ fi
+
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
+ # in case of prefix it will be already prefixed, as --print sysroot returns full path
+ [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
+
+ rust_target="$(rust_abi)"
+ rust_build="$(rust_abi "${CBUILD}")"
+ rust_host="$(rust_abi "${CHOST}")"
+
+ LLVM_EXPERIMENTAL_TARGETS=()
+ for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do
+ if use llvm_targets_${_x} ; then
+ LLVM_EXPERIMENTAL_TARGETS+=( ${_x} )
+ fi
+ done
+ LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]}
+
+ local cm_btype="$(usex debug DEBUG RELEASE)"
+ local build_channel
+ local build_miri="false"
+ case "${PV}" in
+ *9999*)
+ build_channel="nightly"
+ ;;
+ *beta*)
+ build_channel="beta"
+ ;;
+ *)
+ build_channel="stable"
+ ;;
+ esac
+ cat <<- _EOF_ > "${S}"/config.toml
+ # https://github.com/rust-lang/rust/issues/135358 (bug #947897)
+ profile = "dist"
+ [llvm]
+ download-ci-llvm = false
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ ninja = true
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}"
+ link-shared = $(toml_usex system-llvm)
+ $(if is_libcxx_linked; then
+ # https://bugs.gentoo.org/732632
+ echo "use-libcxx = true"
+ echo "static-libstdcpp = false"
+ fi)
+ $(case "${rust_target}" in
+ i586-*-linux-*)
+ # https://github.com/rust-lang/rust/issues/93059
+ echo 'cflags = "-fcf-protection=none"'
+ echo 'cxxflags = "-fcf-protection=none"'
+ echo 'ldflags = "-fcf-protection=none"'
+ ;;
+ *)
+ ;;
+ esac)
+ enable-warnings = false
+ [llvm.build-config]
+ CMAKE_VERBOSE_MAKEFILE = "ON"
+ $(if ! tc-is-cross-compiler; then
+ # When cross-compiling, LLVM is compiled twice, once for host and
+ # once for target. Unfortunately, this build configuration applies
+ # to both, which means any flags applicable to one target but not
+ # the other will break. Conditionally disable respecting user
+ # flags when cross-compiling.
+ echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\""
+ echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\""
+ echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\""
+ fi)
+ [build]
+ build-stage = 2
+ test-stage = 2
+ build = "${rust_build}"
+ host = ["${rust_host}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ docs = $(toml_usex doc)
+ compiler-docs = false
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ tools = [${tools}]
+ verbose = 2
+ sanitizers = false
+ profiler = true
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debug-assertions-std = $(toml_usex debug)
+ debuginfo-level = $(usex debug 2 0)
+ debuginfo-level-rustc = $(usex debug 2 0)
+ debuginfo-level-std = $(usex debug 2 0)
+ debuginfo-level-tools = $(usex debug 2 0)
+ debuginfo-level-tests = 0
+ backtrace = true
+ incremental = false
+ $(if ! tc-is-cross-compiler; then
+ echo "default-linker = \"$(tc-getCC)\""
+ fi)
+ channel = "${build_channel}"
+ description = "gentoo"
+ rpath = true
+ verbose-tests = true
+ optimize-tests = $(toml_usex !debug)
+ codegen-tests = true
+ dist-src = false
+ remap-debuginfo = true
+ lld = $(usex system-llvm false $(toml_usex wasm))
+ # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
+ # https://github.com/rust-lang/rust/issues/74976
+ # https://github.com/rust-lang/rust/issues/76526
+ deny-warnings = $(usex wasm $(usex doc false true) true)
+ backtrace-on-ice = true
+ jemalloc = false
+ # See https://github.com/rust-lang/rust/issues/121124
+ lto = "$(usex lto thin off)"
+ [dist]
+ src-tarball = false
+ compression-formats = ["xz"]
+ compression-profile = "balanced"
+ _EOF_
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ export CFLAGS_${rust_target//-/_}="${arch_cflags}"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${rust_target}]
+ ar = "$(tc-getAR)"
+ cc = "$(tc-getCC)"
+ cxx = "$(tc-getCXX)"
+ linker = "$(tc-getCC)"
+ ranlib = "$(tc-getRANLIB)"
+ llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix)/bin/llvm-config"
+ _EOF_
+ fi
+ # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
+ # but we patch it and set to false here as well
+ if use elibc_musl; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ crt-static = false
+ musl-root = "$($(tc-getCC) -print-sysroot)/usr"
+ _EOF_
+ fi
+ done
+ if use wasm; then
+ wasm_target="wasm32-unknown-unknown"
+ export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")"
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "$(usex system-llvm lld rust-lld)"
+ # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483
+ profiler = false
+ _EOF_
+ fi
+
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
+ # experimental cross support
+ # discussion: https://bugs.gentoo.org/679878
+ # TODO: c*flags, clang, system-llvm, cargo.eclass target support
+ # it would be much better if we could split out stdlib
+ # complilation to separate ebuild and abuse CATEGORY to
+ # just install to /usr/lib/rustlib/<target>
+
+ # extra targets defined as a bash array
+ # spec format: <LLVM target>:<rust-target>:<CTARGET>
+ # best place would be /etc/portage/env/dev-lang/rust
+ # Example:
+ # RUST_CROSS_TARGETS=(
+ # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
+ # )
+ # 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
+ # valid rust targets can be obtained with
+ # rustc --print target-list
+ # matching cross toolchain has to be installed
+ # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
+ # only gcc toolchains installed with crossdev are checked for now.
+
+ # BUG: we can't pass host flags to cross compiler, so just filter for now
+ # BUG: this should be more fine-grained.
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+
+ local cross_target_spec
+ for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
+ # extracts first element form <LLVM target>:<rust-target>:<CTARGET>
+ local cross_llvm_target="${cross_target_spec%%:*}"
+ # extracts toolchain triples, <rust-target>:<CTARGET>
+ local cross_triples="${cross_target_spec#*:}"
+ # extracts first element after before : separator
+ local cross_rust_target="${cross_triples%%:*}"
+ # extracts last element after : separator
+ local cross_toolchain="${cross_triples##*:}"
+ use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
+ command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${cross_rust_target}]
+ ar = "${cross_toolchain}-ar"
+ cc = "${cross_toolchain}-gcc"
+ cxx = "${cross_toolchain}-g++"
+ linker = "${cross_toolchain}-gcc"
+ ranlib = "${cross_toolchain}-ranlib"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix)/bin/llvm-config"
+ _EOF_
+ fi
+ if [[ "${cross_toolchain}" == *-musl* ]]; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
+ _EOF_
+ fi
+
+ # append cross target to "normal" target list
+ # example 'target = ["powerpc64le-unknown-linux-gnu"]'
+ # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
+
+ rust_targets="${rust_targets},\"${cross_rust_target}\""
+ sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
+
+ ewarn
+ ewarn "Enabled ${cross_rust_target} rust target"
+ ewarn "Using ${cross_toolchain} cross toolchain"
+ ewarn
+ if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
+ ewarn "'sys-devel/binutils[multitarget]' is not installed"
+ ewarn "'strip' will be unable to strip cross libraries"
+ ewarn "cross targets will be installed with full debug information"
+ ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
+ ewarn
+ ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
+ ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
+ ewarn
+ fi
+ done
+ fi # I_KNOW_WHAT_I_AM_DOING_CROSS
+
+ einfo "Rust configured with the following flags:"
+ echo
+ echo RUSTFLAGS="\"${RUSTFLAGS}\""
+ echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\""
+ echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\""
+ echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\""
+ env | grep "CARGO_TARGET_.*_RUSTFLAGS="
+ env | grep "CFLAGS_.*"
+ echo
+ einfo "config.toml contents:"
+ cat "${S}"/config.toml || die
+ echo
+}
+
+src_compile() {
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ # https://rustc-dev-guide.rust-lang.org/tests/intro.html
+
+ # those are basic and codegen tests.
+ local tests=(
+ codegen
+ codegen-units
+ compile-fail
+ incremental
+ mir-opt
+ pretty
+ run-make
+ )
+
+ # fails if llvm is not built with ALL targets.
+ # and known to fail with system llvm sometimes.
+ use system-llvm || tests+=( assembly )
+
+ # fragile/expensive/less important tests
+ # or tests that require extra builds
+ # TODO: instead of skipping, just make some nonfatal.
+ if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
+ tests+=(
+ rustdoc
+ rustdoc-js
+ rustdoc-js-std
+ rustdoc-ui
+ run-make-fulldeps
+ ui
+ ui-fulldeps
+ )
+ fi
+
+ local i failed=()
+ einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
+ for i in "${tests[@]}"; do
+ local t="src/test/${i}"
+ einfo "rust_src_test: running ${t}"
+ if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
+ -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
+ then
+ failed+=( "${t}" )
+ eerror "rust_src_test: ${t} failed"
+ fi
+ done
+
+ if [[ ${#failed[@]} -ne 0 ]]; then
+ eerror "rust_src_test: failure summary: ${failed[@]}"
+ die "aborting due to test failures"
+ fi
+}
+
+src_install() {
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+
+ docompress /usr/lib/${PN}/${SLOT}/share/man/
+
+ # bug #689562, #689160
+ rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ if [[ ${PV} = *9999* ]]; then
+ use miri && symlinks+=( miri cargo-miri )
+ fi
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
+ # need to fix eselect-rust to remove this hack.
+ local ver_i="${i}-${PV%%_*}"
+ if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
+ einfo "Installing ${i} symlink"
+ ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
+ else
+ ewarn "${i} symlink requested, but source file not found"
+ ewarn "please report this"
+ fi
+ dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
+ use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}"
+ dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
+ dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
+ dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}"
+
+ newenvd - "50${P}" <<-_EOF_
+ MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
+ _EOF_
+
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if [[ ${SLOT} == *9999* ]] && use miri; then
+ echo /usr/bin/miri >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/lib/rust/libexec >> "${T}/provider-${P}"
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${PN}-${SLOT}"
+
+ if use dist; then
+ "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ insinto "/usr/lib/${PN}/${SLOT}/dist"
+ doins -r "${S}/build/dist/."
+ fi
+}
+
+pkg_postinst() {
+
+ eselect rust update
+
+ if has_version dev-debug/gdb || has_version llvm-core/lldb; then
+ elog "Rust installs helper scripts for calling GDB and LLDB,"
+ elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ optfeature "emacs support for rust" app-emacs/rust-mode
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ optfeature "vim support for rust" app-vim/rust-vim
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/rust/rust-9999.ebuild b/dev-lang/rust/rust-9999.ebuild
new file mode 100644
index 000000000000..9a9c089e80e3
--- /dev/null
+++ b/dev-lang/rust/rust-9999.ebuild
@@ -0,0 +1,792 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 20 )
+PYTHON_COMPAT=( python3_{10..13} )
+
+RUST_MAX_VER=${PV%%_*}
+if [[ ${PV} == *9999* ]]; then
+ RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out.
+elif [[ ${PV} == *beta* ]]; then
+ # Enforce that `beta` is built from `stable`.
+ # While uncommon it is possible for feature changes within `beta` to result
+ # in an older snapshot being unable to build a newer one without modifying the sources.
+ # 'stable' releases should always be able to build a beta snapshot so just use those.
+ RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1"
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+else
+ RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
+fi
+
+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} = *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_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
+ 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_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
+ 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 originally developed by Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+# 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
+ WebAssembly X86 XCore Xtensa )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
+
+# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
+SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable
+
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+
+if [[ ${PV} = *9999* ]]; then
+ # These USE flags require nightly rust
+ IUSE+=" miri"
+fi
+
+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}]") )" )
+done
+LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" )
+LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
+
+BDEPEND="${PYTHON_DEPS}
+ app-eselect/eselect-rust
+ || (
+ >=sys-devel/gcc-4.7[cxx]
+ >=llvm-core/clang-3.5
+ )
+ !system-llvm? (
+ >=dev-build/cmake-3.13.4
+ app-alternatives/ninja
+ )
+ test? ( dev-debug/gdb )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+
+DEPEND="
+ >=app-arch/xz-utils-5.2
+ net-misc/curl:=[http2,ssl]
+ sys-libs/zlib:=
+ dev-libs/openssl:0=
+ system-llvm? (
+ ${LLVM_DEPEND[*]}
+ llvm-libunwind? ( llvm-runtimes/libunwind:= )
+ )
+ !system-llvm? (
+ !llvm-libunwind? (
+ elibc_musl? ( sys-libs/libunwind:= )
+ )
+ )
+"
+
+RDEPEND="${DEPEND}
+ app-eselect/eselect-rust
+ dev-lang/rust-common
+ sys-apps/lsb-release
+ !dev-lang/rust:stable
+ !dev-lang/rust-bin:stable
+"
+
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ rust-analyzer? ( rust-src )
+ test? ( ${ALL_LLVM_TARGETS[*]} )
+ wasm? ( llvm_targets_WebAssembly )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+# we don't use cmake.eclass, but can get a warning
+CMAKE_WARN_UNUSED_CLI=no
+
+QA_FLAGS_IGNORED="
+ usr/lib/${PN}/${SLOT}/bin/.*
+ usr/lib/${PN}/${SLOT}/libexec/.*
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_SONAME="
+ usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_PRESTRIPPED="
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
+ usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+# causes double bootstrap
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
+
+PATCHES=(
+ "${FILESDIR}"/1.85.0-cross-compile-libz.patch
+ "${FILESDIR}"/1.67.0-doc-wasm.patch
+)
+
+clear_vendor_checksums() {
+ sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die
+}
+
+toml_usex() {
+ usex "${1}" true false
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ git-r3_src_unpack
+ mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml}
+ touch "${S}/.cargo/config.toml" || die
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
+ local rust_build=""
+ local rust_host=""
+ # Configure vendor to use the portage-provided toolchain. This prevents it from
+ # attempting to fetch a `beta` toolchain from the internet.
+ cat <<- _EOF_ > "${T}/vendor-config.toml"
+ [build]
+ build = "$(rust_abi "${CBUILD}")"
+ host = ["$(rust_abi "${CHOST}")"]
+ target = ["$(rust_abi "${CHOST}")"]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ _EOF_
+ # We're using git sources so we need to run the Vendor script
+ # to ensure that all dependencies are present and up-to-date
+ mkdir "${S}/vendor" || die
+ # This also compiles the 'build helper', there's no way to avoid this.
+ ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) ||
+ die "Failed to vendor dependencies"
+ # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around.
+ cat <<- _EOF_ > "${S}/.cargo/config.toml"
+ [source.crates-io]
+ replace-with = "vendored-sources"
+
+ [source."git+https://github.com/rust-lang/team"]
+ git = "https://github.com/rust-lang/team"
+ replace-with = "vendored-sources"
+
+ [source.vendored-sources]
+ directory = "vendor"
+ _EOF_
+ else
+ verify-sig_src_unpack
+ fi
+}
+
+pre_build_checks() {
+ local M=9216
+ # multiply requirements by 1.3 if we are doing x86-multilib
+ if use amd64; then
+ M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
+ fi
+ M=$(( $(usex clippy 128 0) + ${M} ))
+ if [[ ${PV} == *9999* ]]; then
+ M=$(( $(usex miri 128 0) + ${M} ))
+ fi
+ M=$(( $(usex rustfmt 256 0) + ${M} ))
+ # add 2G if we compile llvm and 256M per llvm_target
+ if ! use system-llvm; then
+ M=$(( 2048 + ${M} ))
+ local ltarget
+ for ltarget in ${ALL_LLVM_TARGETS[@]}; do
+ M=$(( $(usex ${ltarget} 256 0) + ${M} ))
+ done
+ fi
+ M=$(( $(usex wasm 256 0) + ${M} ))
+ M=$(( $(usex debug 2 1) * ${M} ))
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ M=$(( 15 * ${M} / 10 ))
+ fi
+ eshopts_pop
+ M=$(( $(usex doc 256 0) + ${M} ))
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+llvm_check_deps() {
+ has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+
+ export LIBGIT2_NO_PKG_CONFIG=1 #749381
+ if tc-is-cross-compiler; then
+ use system-llvm && die "USE=system-llvm not allowed when cross-compiling"
+ local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")"
+ use "llvm_targets_${cross_llvm_target}" || \
+ die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling"
+ fi
+
+ rust_pkg_setup
+
+ if use system-llvm; then
+ llvm-r1_pkg_setup
+
+ local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} = *9999* ]]; then
+ # We need to update / generate lockfiles for the workspace
+ ${CARGO} generate-lockfile --offline
+
+ fi
+ # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set.
+ if use x86; then
+ if ! use cpu_flags_x86_sse2; then
+ eapply "${FILESDIR}/1.82.0-i586-baseline.patch"
+ #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die
+ fi
+ fi
+
+ default
+}
+
+src_configure() {
+ if tc-is-cross-compiler; then
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig"
+ export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)"
+ fi
+
+ filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231
+
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets+=",\"wasm32-unknown-unknown\""
+ if use system-llvm; then
+ # un-hardcode rust-lld linker for this target
+ # https://bugs.gentoo.org/715348
+ sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die
+ fi
+ fi
+ rust_targets="${rust_targets#,}"
+
+ # cargo and rustdoc are mandatory and should always be included
+ local tools='"cargo","rustdoc"'
+ use clippy && tools+=',"clippy"'
+ use rustfmt && tools+=',"rustfmt"'
+ use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
+ use rust-src && tools+=',"src"'
+
+ if [[ ${PV} == *9999* ]]; then
+ use miri && tools+=',"miri"'
+ fi
+
+ local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")"
+ # in case of prefix it will be already prefixed, as --print sysroot returns full path
+ [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
+
+ rust_target="$(rust_abi)"
+ rust_build="$(rust_abi "${CBUILD}")"
+ rust_host="$(rust_abi "${CHOST}")"
+
+ LLVM_EXPERIMENTAL_TARGETS=()
+ for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do
+ if use llvm_targets_${_x} ; then
+ LLVM_EXPERIMENTAL_TARGETS+=( ${_x} )
+ fi
+ done
+ LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]}
+
+ local cm_btype="$(usex debug DEBUG RELEASE)"
+ local build_channel
+ local build_miri="false"
+ case "${PV}" in
+ *9999*)
+ build_channel="nightly"
+ ;;
+ *beta*)
+ build_channel="beta"
+ ;;
+ *)
+ build_channel="stable"
+ ;;
+ esac
+ cat <<- _EOF_ > "${S}"/config.toml
+ # https://github.com/rust-lang/rust/issues/135358 (bug #947897)
+ profile = "dist"
+ [llvm]
+ download-ci-llvm = false
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ ninja = true
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}"
+ link-shared = $(toml_usex system-llvm)
+ $(if is_libcxx_linked; then
+ # https://bugs.gentoo.org/732632
+ echo "use-libcxx = true"
+ echo "static-libstdcpp = false"
+ fi)
+ $(case "${rust_target}" in
+ i586-*-linux-*)
+ # https://github.com/rust-lang/rust/issues/93059
+ echo 'cflags = "-fcf-protection=none"'
+ echo 'cxxflags = "-fcf-protection=none"'
+ echo 'ldflags = "-fcf-protection=none"'
+ ;;
+ *)
+ ;;
+ esac)
+ enable-warnings = false
+ [llvm.build-config]
+ CMAKE_VERBOSE_MAKEFILE = "ON"
+ $(if ! tc-is-cross-compiler; then
+ # When cross-compiling, LLVM is compiled twice, once for host and
+ # once for target. Unfortunately, this build configuration applies
+ # to both, which means any flags applicable to one target but not
+ # the other will break. Conditionally disable respecting user
+ # flags when cross-compiling.
+ echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\""
+ echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\""
+ echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\""
+ echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\""
+ fi)
+ [build]
+ build-stage = 2
+ test-stage = 2
+ build = "${rust_build}"
+ host = ["${rust_host}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ docs = $(toml_usex doc)
+ compiler-docs = false
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ tools = [${tools}]
+ verbose = 2
+ sanitizers = false
+ profiler = true
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debug-assertions-std = $(toml_usex debug)
+ debuginfo-level = $(usex debug 2 0)
+ debuginfo-level-rustc = $(usex debug 2 0)
+ debuginfo-level-std = $(usex debug 2 0)
+ debuginfo-level-tools = $(usex debug 2 0)
+ debuginfo-level-tests = 0
+ backtrace = true
+ incremental = false
+ $(if ! tc-is-cross-compiler; then
+ echo "default-linker = \"$(tc-getCC)\""
+ fi)
+ channel = "${build_channel}"
+ description = "gentoo"
+ rpath = true
+ verbose-tests = true
+ optimize-tests = $(toml_usex !debug)
+ codegen-tests = true
+ dist-src = false
+ remap-debuginfo = true
+ lld = $(usex system-llvm false $(toml_usex wasm))
+ # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
+ # https://github.com/rust-lang/rust/issues/74976
+ # https://github.com/rust-lang/rust/issues/76526
+ deny-warnings = $(usex wasm $(usex doc false true) true)
+ backtrace-on-ice = true
+ jemalloc = false
+ # See https://github.com/rust-lang/rust/issues/121124
+ lto = "$(usex lto thin off)"
+ [dist]
+ src-tarball = false
+ compression-formats = ["xz"]
+ compression-profile = "balanced"
+ _EOF_
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ export CFLAGS_${rust_target//-/_}="${arch_cflags}"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${rust_target}]
+ ar = "$(tc-getAR)"
+ cc = "$(tc-getCC)"
+ cxx = "$(tc-getCXX)"
+ linker = "$(tc-getCC)"
+ ranlib = "$(tc-getRANLIB)"
+ llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix)/bin/llvm-config"
+ _EOF_
+ fi
+ # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
+ # but we patch it and set to false here as well
+ if use elibc_musl; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ crt-static = false
+ musl-root = "$($(tc-getCC) -print-sysroot)/usr"
+ _EOF_
+ fi
+ done
+ if use wasm; then
+ wasm_target="wasm32-unknown-unknown"
+ export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")"
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "$(usex system-llvm lld rust-lld)"
+ # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483
+ profiler = false
+ _EOF_
+ fi
+
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
+ # experimental cross support
+ # discussion: https://bugs.gentoo.org/679878
+ # TODO: c*flags, clang, system-llvm, cargo.eclass target support
+ # it would be much better if we could split out stdlib
+ # complilation to separate ebuild and abuse CATEGORY to
+ # just install to /usr/lib/rustlib/<target>
+
+ # extra targets defined as a bash array
+ # spec format: <LLVM target>:<rust-target>:<CTARGET>
+ # best place would be /etc/portage/env/dev-lang/rust
+ # Example:
+ # RUST_CROSS_TARGETS=(
+ # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
+ # )
+ # 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
+ # valid rust targets can be obtained with
+ # rustc --print target-list
+ # matching cross toolchain has to be installed
+ # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
+ # only gcc toolchains installed with crossdev are checked for now.
+
+ # BUG: we can't pass host flags to cross compiler, so just filter for now
+ # BUG: this should be more fine-grained.
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+
+ local cross_target_spec
+ for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
+ # extracts first element form <LLVM target>:<rust-target>:<CTARGET>
+ local cross_llvm_target="${cross_target_spec%%:*}"
+ # extracts toolchain triples, <rust-target>:<CTARGET>
+ local cross_triples="${cross_target_spec#*:}"
+ # extracts first element after before : separator
+ local cross_rust_target="${cross_triples%%:*}"
+ # extracts last element after : separator
+ local cross_toolchain="${cross_triples##*:}"
+ use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
+ command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${cross_rust_target}]
+ ar = "${cross_toolchain}-ar"
+ cc = "${cross_toolchain}-gcc"
+ cxx = "${cross_toolchain}-g++"
+ linker = "${cross_toolchain}-gcc"
+ ranlib = "${cross_toolchain}-ranlib"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix)/bin/llvm-config"
+ _EOF_
+ fi
+ if [[ "${cross_toolchain}" == *-musl* ]]; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
+ _EOF_
+ fi
+
+ # append cross target to "normal" target list
+ # example 'target = ["powerpc64le-unknown-linux-gnu"]'
+ # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
+
+ rust_targets="${rust_targets},\"${cross_rust_target}\""
+ sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
+
+ ewarn
+ ewarn "Enabled ${cross_rust_target} rust target"
+ ewarn "Using ${cross_toolchain} cross toolchain"
+ ewarn
+ if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
+ ewarn "'sys-devel/binutils[multitarget]' is not installed"
+ ewarn "'strip' will be unable to strip cross libraries"
+ ewarn "cross targets will be installed with full debug information"
+ ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
+ ewarn
+ ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
+ ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
+ ewarn
+ fi
+ done
+ fi # I_KNOW_WHAT_I_AM_DOING_CROSS
+
+ einfo "Rust configured with the following flags:"
+ echo
+ echo RUSTFLAGS="\"${RUSTFLAGS}\""
+ echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\""
+ echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\""
+ echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\""
+ env | grep "CARGO_TARGET_.*_RUSTFLAGS="
+ env | grep "CFLAGS_.*"
+ echo
+ einfo "config.toml contents:"
+ cat "${S}"/config.toml || die
+ echo
+}
+
+src_compile() {
+ RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ # https://rustc-dev-guide.rust-lang.org/tests/intro.html
+
+ # those are basic and codegen tests.
+ local tests=(
+ codegen
+ codegen-units
+ compile-fail
+ incremental
+ mir-opt
+ pretty
+ run-make
+ )
+
+ # fails if llvm is not built with ALL targets.
+ # and known to fail with system llvm sometimes.
+ use system-llvm || tests+=( assembly )
+
+ # fragile/expensive/less important tests
+ # or tests that require extra builds
+ # TODO: instead of skipping, just make some nonfatal.
+ if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
+ tests+=(
+ rustdoc
+ rustdoc-js
+ rustdoc-js-std
+ rustdoc-ui
+ run-make-fulldeps
+ ui
+ ui-fulldeps
+ )
+ fi
+
+ local i failed=()
+ einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
+ for i in "${tests[@]}"; do
+ local t="src/test/${i}"
+ einfo "rust_src_test: running ${t}"
+ if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
+ -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
+ then
+ failed+=( "${t}" )
+ eerror "rust_src_test: ${t} failed"
+ fi
+ done
+
+ if [[ ${#failed[@]} -ne 0 ]]; then
+ eerror "rust_src_test: failure summary: ${failed[@]}"
+ die "aborting due to test failures"
+ fi
+}
+
+src_install() {
+ DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+
+ docompress /usr/lib/${PN}/${SLOT}/share/man/
+
+ # bug #689562, #689160
+ rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ if [[ ${PV} = *9999* ]]; then
+ use miri && symlinks+=( miri cargo-miri )
+ fi
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
+ # need to fix eselect-rust to remove this hack.
+ local ver_i="${i}-${PV%%_*}"
+ if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
+ einfo "Installing ${i} symlink"
+ ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
+ else
+ ewarn "${i} symlink requested, but source file not found"
+ ewarn "please report this"
+ fi
+ dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
+ use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}"
+ dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
+ dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
+ dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}"
+
+ newenvd - "50${P}" <<-_EOF_
+ MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
+ _EOF_
+
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if [[ ${SLOT} == *9999* ]] && use miri; then
+ echo /usr/bin/miri >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/lib/rust/libexec >> "${T}/provider-${P}"
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${PN}-${SLOT}"
+
+ if use dist; then
+ "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ insinto "/usr/lib/${PN}/${SLOT}/dist"
+ doins -r "${S}/build/dist/."
+ fi
+}
+
+pkg_postinst() {
+
+ eselect rust update
+
+ if has_version dev-debug/gdb || has_version llvm-core/lldb; then
+ elog "Rust installs helper scripts for calling GDB and LLDB,"
+ elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ optfeature "emacs support for rust" app-emacs/rust-mode
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ optfeature "vim support for rust" app-vim/rust-vim
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}