summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-11 00:12:38 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-11 00:12:38 +0000
commit0ec1e1dd7867c3dedcbea76c9b6e847d6b388c03 (patch)
tree65f42b72245de9fb9fa9ea30e6221dfff7dda7c5 /dev-lang
parent3a81cede4783e464b7485722b2eaac0280dbc570 (diff)
gentoo auto-resync : 11:02:2025 - 00:12:37
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin22659 -> 22648 bytes
-rw-r--r--dev-lang/go/Manifest4
-rw-r--r--dev-lang/go/go-1.22.12.ebuild2
-rw-r--r--dev-lang/go/go-1.23.6.ebuild2
-rw-r--r--dev-lang/mmix/Manifest4
-rw-r--r--dev-lang/mmix/files/mmix-20160804-implicit-int.patch27
-rw-r--r--dev-lang/mmix/mmix-20160804-r1.ebuild17
-rw-r--r--dev-lang/mmix/mmix-20160804-r2.ebuild49
-rw-r--r--dev-lang/rust-bin/Manifest34
-rw-r--r--dev-lang/rust-bin/rust-bin-1.71.1-r101.ebuild234
-rw-r--r--dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.74.1-r101.ebuild244
-rw-r--r--dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.75.0-r101.ebuild244
-rw-r--r--dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.76.0-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild246
-rw-r--r--dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.77.1-r101.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.78.0-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild249
-rw-r--r--dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.79.0-r101.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild253
-rw-r--r--dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.80.1-r101.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.81.0-r101.ebuild251
-rw-r--r--dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.82.0-r101.ebuild253
-rw-r--r--dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild)5
-rw-r--r--dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.83.0.ebuild)3
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.84.0.ebuild)3
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.84.1.ebuild)3
-rw-r--r--dev-lang/rust/Manifest27
-rw-r--r--dev-lang/rust/rust-1.71.1-r101.ebuild (renamed from dev-lang/rust/rust-1.71.1-r100.ebuild)7
-rw-r--r--dev-lang/rust/rust-1.74.1-r101.ebuild (renamed from dev-lang/rust/rust-1.74.1-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.75.0-r101.ebuild (renamed from dev-lang/rust/rust-1.75.0-r100.ebuild)7
-rw-r--r--dev-lang/rust/rust-1.76.0-r101.ebuild (renamed from dev-lang/rust/rust-1.76.0-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.77.1-r101.ebuild (renamed from dev-lang/rust/rust-1.77.1-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.78.0-r101.ebuild (renamed from dev-lang/rust/rust-1.79.0-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.79.0-r101.ebuild (renamed from dev-lang/rust/rust-1.78.0-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.80.1-r101.ebuild (renamed from dev-lang/rust/rust-1.80.1-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.81.0-r101.ebuild (renamed from dev-lang/rust/rust-1.81.0-r100.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.82.0-r100.ebuild756
-rw-r--r--dev-lang/rust/rust-1.82.0-r102.ebuild (renamed from dev-lang/rust/rust-1.82.0-r101.ebuild)5
-rw-r--r--dev-lang/rust/rust-1.83.0-r2.ebuild (renamed from dev-lang/rust/rust-1.83.0-r1.ebuild)3
-rw-r--r--dev-lang/rust/rust-1.84.0-r1.ebuild (renamed from dev-lang/rust/rust-1.84.0.ebuild)39
-rw-r--r--dev-lang/rust/rust-1.84.1-r1.ebuild (renamed from dev-lang/rust/rust-1.84.1.ebuild)39
45 files changed, 166 insertions, 2924 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 3113c3b74231..aadfcd60052e 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 7c9074a728e1..7fc27ab928a1 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -5,8 +5,8 @@ DIST go1.22.12.src.tar.gz 27566409 BLAKE2B ea8ce4abd7d6548aef14c0803a07b4beba872
DIST go1.23.5.src.tar.gz 28179014 BLAKE2B 6fe6101054a0c10ce415aea65367a48ef8397c88d66bad01b7c72107a6c60daf0b9a47f7c1cd6c8da9855ab04309f25941cc867e6a9f90ac51d1ab0c54662313 SHA512 b04317afeab2d0ced7c36b8682dd32ac085d95d874cf3f614daa34859d7f7f2b75138132e7a64e237c6b4d711d5b03a4d20533f92a44840915630f4ea7cfafa2
DIST go1.23.6.src.tar.gz 28179132 BLAKE2B 25c988547604c35de65aedfdee5af9f35f7a1c43f634c0147373d9c86baf2bb10068463f70013ef60acd3088149eb16502958b1ca63d7cee310e32eaddf1578a SHA512 c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3
EBUILD go-1.22.11-r1.ebuild 4275 BLAKE2B b6bbced3829a2dfc6febff014bddd55e895316008726e61a0c297fceec9e531e8b32defb3fbd6c1dbdb61c6e86fb65433f507e476df7294a695d24bfed7bd4b8 SHA512 f484f8b86479d936350eaf13bdd7797fb26454d09b62c0408748d3eb1e4d162b4a89d044dc40f277ec7d270b08b64cce913e6654ee5567c770d069332fed089b
-EBUILD go-1.22.12.ebuild 4280 BLAKE2B 66dc07da733ece8d53cea1f7a9b908578127702f6356298d97ec39c1e346e3656b4e79784dc15247433dfd75e69868e7f83669d702710c942869242e218deb50 SHA512 feb8ed4d4933174944337cc316a4659ef9bbf8acb4a385bbef0d6436f7fd2e291fc6d82c5c1a1a28d13fb0d25d1f2f86cbae21e03d6d8998e1e958de92815c26
+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 4180 BLAKE2B e8e1f354167d88bf01a7b4b338a1f026bbd23f789c16e917ba38e1f73a474897e7cd18f9192936b6211e89bd91aa81435b1b2f4956d80f1cebabd36f7db22825 SHA512 6abc1ed892888e315449bcbb19f030136c0f44fbd3c4c24e267f2b8483fb9ab2393713c1641ef64dfebf421d44f5fc4f509499e43dc8580b46b5f2f08fca3b97
+EBUILD go-1.23.6.ebuild 4179 BLAKE2B f98a28b82fd2277a7dd8d07d0a2c3f5cc1d7705ab4c429f93f6567b265fa1f3f6b2a9597333188aa304982285ac1ce6abc6388d899b1a608f708f1915f3c117b SHA512 afc824cbd3d5b70df77b21ad5851952b5ea660e70a4f38c56556e6f8643f2eced12fec6e4333f6ffddb19ffab1fbbf2363375bfc345693d00867b3fbe5eec6b9
EBUILD go-9999.ebuild 4281 BLAKE2B 7213df19f71554d13dc3510253a906962a217a193ce0461975f946e2c5277eee889150c588f83f0be14eccf26249488c90151ae155633c91695cd3d35c869c95 SHA512 f747c67f574e1d7c19f3eb7c03b74599652744fdd989a964d2da778134461cd31cc861b9f63ee8a11b665f1aea468412bea64cc19df6b141cf468c39b7194c3f
MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a
diff --git a/dev-lang/go/go-1.22.12.ebuild b/dev-lang/go/go-1.22.12.ebuild
index 57a3e9a8de86..9ea7cd6c0feb 100644
--- a/dev-lang/go/go-1.22.12.ebuild
+++ b/dev-lang/go/go-1.22.12.ebuild
@@ -23,7 +23,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
;;
esac
esac
diff --git a/dev-lang/go/go-1.23.6.ebuild b/dev-lang/go/go-1.23.6.ebuild
index bdfada7c265e..ce6eb102c49e 100644
--- a/dev-lang/go/go-1.23.6.ebuild
+++ b/dev-lang/go/go-1.23.6.ebuild
@@ -23,7 +23,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
;;
esac
esac
diff --git a/dev-lang/mmix/Manifest b/dev-lang/mmix/Manifest
index b76811fa8699..755915f541c9 100644
--- a/dev-lang/mmix/Manifest
+++ b/dev-lang/mmix/Manifest
@@ -1,6 +1,8 @@
AUX mmix-20110420-makefile.patch 1636 BLAKE2B f4acfc952dea9671ec5507f4d86a1462131dae835318362b17f341e9575fe1dccda5cd44d257127a27232a197e05f79de5d7a8200d7a2b943161fa38de83937f SHA512 e5cd4944847c00ad7c6b3a87fa6f9a242f7f0b13c31f82e80c49b3b9ec07d7c0106669dce2868705dca073774826c5acc6f8ea1464c1a5c739145f1c2b28eb10
AUX mmix-20131017-format-security.patch 2256 BLAKE2B 2481c33c024d84af03b289ec9f22c9b98cb27537c32ea9ef020943aa424efac5267d81326241b2d764eb292f373ed51cc30c3ddbdb55f8fa444154cf6cc5fe0d SHA512 e77cdf3d196356cc0cb09f322cc979e4c603592c8f9421764d6830df27fe627958badbd6726021f97bc42a0d9551e4d3b39ca7b1d677b44a543ffcc04028eaea
AUX mmix-20160804-gcc-10.patch 822 BLAKE2B 182ff974d458e06ac5c90aa44f0255f20a97c7702a49f3b36ba541c6414f63f8d2c1d3f56e6abe624e06be198b963d018ba3403baac0773b114946d96fa9272c SHA512 65fb04add6fa1441f9cc699af09cc84b67701113db1406d7ec582ac2023221f02dd1972393c3114fa0801a9f686b24d8e5daededa469e155da33aaafee72a22c
+AUX mmix-20160804-implicit-int.patch 816 BLAKE2B 62731ffbbd025dbd830398db747b2e7993ee7aee4efbd058faffaff610abceff15d4bd91cd326a919677529d11507af43c9af833a6ef16356df294330814ff80 SHA512 29b07ad6d6a77bf43e9fddd7c6e2a803d5758be012fc18b079a01c84719db65c0865e2bceb0565963fef4106adcf10fad12eb917b9480551379f9c6b2c0d86f2
DIST mmix-20160804.tgz 308410 BLAKE2B 8bbde51921fe23f016e35bd51346e6445d530815e5e87bff44cf17e081c6b8e55dd6bd24f1ce1621851d2eac309fa44d71aa33d93d3ddfce5213c6643181d38c SHA512 35c518227a4ee40d0aa3be02eda2ab8b2a27696fa789f5007a978419d07b3deebb7f391895e63e3556aeb38dc1ded3bddf2b860125ebf8f7848375e90dc7af75
-EBUILD mmix-20160804-r1.ebuild 979 BLAKE2B 910d90c29ad16935be723b746ef22291e4414c9acaf324e54d6d3b0ea42d9d384f9c2397f7b5ebcd42bb3bfd4923fa7b7ed43e92c58b7b4ca9b7f9a673817bdb SHA512 f51695ba780a6253ba771731b6df3cde7aacaffd1d3e4e1e8c32ad0cff9b6bda3c406074246fb3655c2159faf88d80415df8d4dffd69753c01bef43b922c93fe
+EBUILD mmix-20160804-r1.ebuild 982 BLAKE2B fa6196b52bf66531430494fb29ba2c205a0e41afcb1d0ea174f9c1d3f6d78643fad9294addabebb77192a845e0b9a65a29a5eaf020e83c0b2f5cf4e2297c8a5e SHA512 33ffe26f82a2f69ca46437648afdc5074800637571ade3c0606e6f63050387a2bfcac70db2b3bcbed5b94d35d734eb754c34b91234da250d41de02c14b82727d
+EBUILD mmix-20160804-r2.ebuild 1069 BLAKE2B ddcc0f3f70deb79eafc4c7f968ef37b3d43d81c7f0ec128d4a9c75d4cfff277e7883806790be91219f003c8e9735add95e49f3ab313b6e97f44d5ed1906ca43c SHA512 919d4fa388613466f5726d9b6d233c3f9a67e814ef568ae9689d547c30b5b023fe02075f0c44006f98dd5dcc2ec73d064b86233b4a7a0b0f4bad3169c7954fac
MISC metadata.xml 248 BLAKE2B cdc66ee780cce8b539d2c619893b5a5121982e3cde1ea6308f7795eac4b3d2247922b5900e7908213297c90bec9a63118312ee9349394becfc67a316aa3f5ca9 SHA512 276b07770aef3fc094cdf356ec54c492c34d515e426d47825a8a2df2331e71876b8a0f87f9549d279958e58a6624c1452092d9b185b4233a973096e1d1bd0301
diff --git a/dev-lang/mmix/files/mmix-20160804-implicit-int.patch b/dev-lang/mmix/files/mmix-20160804-implicit-int.patch
new file mode 100644
index 000000000000..5da26a43c4fa
--- /dev/null
+++ b/dev-lang/mmix/files/mmix-20160804-implicit-int.patch
@@ -0,0 +1,27 @@
+Fix function definition to be modern C
+https://bugs.gentoo.org/883275
+diff '--color=auto' -ru work.old/abstime.w work/abstime.w
+--- a/abstime.w 2025-01-19 17:06:19.952342044 +0400
++++ b/abstime.w 2025-01-19 17:10:33.521811824 +0400
+@@ -18,7 +18,7 @@
+ #include <stdio.h>
+ #include <time.h>
+ @#
+-main()
++int main(void)
+ {
+ printf("#define ABSTIME %ld\n",time(NULL));
+ return 0;
+Additional dependency in build graph
+https://bugs.gentoo.org/818889
+--- a/Makefile 2025-01-19 17:19:21.271627004 +0400
++++ b/Makefile 2025-01-19 17:21:03.933007472 +0400
+@@ -81,6 +81,8 @@
+
+ mmix-config.o: mmix-pipe.o
+
++mmix-mem.o: mmix-pipe.o
++
+ mmmix: mmix-arith.o mmix-pipe.o mmix-config.o mmix-mem.o mmix-io.o mmmix.c
+ $(CC) $(CFLAGS) $(LDFLAGS) mmmix.c \
+ mmix-arith.o mmix-pipe.o mmix-config.o mmix-mem.o mmix-io.o -o mmmix
diff --git a/dev-lang/mmix/mmix-20160804-r1.ebuild b/dev-lang/mmix/mmix-20160804-r1.ebuild
index 174120e453df..1aaec878cb1b 100644
--- a/dev-lang/mmix/mmix-20160804-r1.ebuild
+++ b/dev-lang/mmix/mmix-20160804-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,18 +8,19 @@ inherit toolchain-funcs
DESCRIPTION="Donald Knuth's MMIX Assembler and Simulator"
HOMEPAGE="https://www-cs-faculty.stanford.edu/~knuth/mmix.html http://mmix.cs.hm.edu"
SRC_URI="http://mmix.cs.hm.edu/src/${P}.tgz"
+S="${WORKDIR}"
-DEPEND="virtual/tex-base
- doc? ( dev-texlive/texlive-plaingeneric )"
-# media-sound/mmix and dev-lang/mmix both install 'mmix' binary, bug #426874
-RDEPEND="!!media-sound/mmix"
-
-SLOT="0"
LICENSE="mmix"
+SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc"
-S="${WORKDIR}"
+BDEPEND="
+ virtual/tex-base
+ doc? ( dev-texlive/texlive-plaingeneric )
+"
+# media-sound/mmix and dev-lang/mmix both install 'mmix' binary, bug #426874
+RDEPEND="!!media-sound/mmix"
PATCHES=(
"${FILESDIR}"/${PN}-20110420-makefile.patch
diff --git a/dev-lang/mmix/mmix-20160804-r2.ebuild b/dev-lang/mmix/mmix-20160804-r2.ebuild
new file mode 100644
index 000000000000..62ffe565a5e1
--- /dev/null
+++ b/dev-lang/mmix/mmix-20160804-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="Donald Knuth's MMIX Assembler and Simulator"
+HOMEPAGE="https://www-cs-faculty.stanford.edu/~knuth/mmix.html http://mmix.cs.hm.edu"
+SRC_URI="http://mmix.cs.hm.edu/src/${P}.tgz"
+S="${WORKDIR}"
+
+LICENSE="mmix"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+BDEPEND="
+ virtual/tex-base
+ doc? ( dev-texlive/texlive-plaingeneric )
+"
+# media-sound/mmix and dev-lang/mmix both install 'mmix' binary, bug #426874
+RDEPEND="!!media-sound/mmix"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20110420-makefile.patch
+ "${FILESDIR}"/${PN}-20131017-format-security.patch
+ "${FILESDIR}"/${PN}-20160804-gcc-10.patch
+ "${FILESDIR}"/${PN}-20160804-implicit-int.patch
+)
+
+src_compile() {
+ append-flags -std=gnu17
+ export VARTEXFONTS=${T}/fonts
+ emake all \
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)"
+
+ if use doc ; then
+ emake doc
+ fi
+}
+
+src_install() {
+ dobin ${PN} ${PN}al m${PN} mmotype abstime
+ dodoc README ${PN}.1
+
+ use doc && dodoc *.ps
+}
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index e4829cabbf7e..17a9c27e5222 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -451,25 +451,17 @@ DIST rust-src-1.82.0.tar.xz 2966368 BLAKE2B 4162e7393ac21a095ac1541ea7b62fafa561
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-r100.ebuild 7172 BLAKE2B f8b6f4910cf00212f0d7288d10d29c72d88826728fddfc77f47a782103564a88252837931c699ea9cf7586e4d9507bdae2a3354df262414c368af95a2d0bbfb8 SHA512 24aa046084a58816a2d3a949826945e294ab2ddacbc1e2ccb4cf1914065f3e52f7c3f680330939194b29149a3384c711efa09a261277d4b2dec6aff6660142a9
-EBUILD rust-bin-1.71.1-r101.ebuild 7172 BLAKE2B f8b6f4910cf00212f0d7288d10d29c72d88826728fddfc77f47a782103564a88252837931c699ea9cf7586e4d9507bdae2a3354df262414c368af95a2d0bbfb8 SHA512 24aa046084a58816a2d3a949826945e294ab2ddacbc1e2ccb4cf1914065f3e52f7c3f680330939194b29149a3384c711efa09a261277d4b2dec6aff6660142a9
-EBUILD rust-bin-1.74.1-r100.ebuild 7515 BLAKE2B eabe846ec482e04cfe068420c8315eead88dbe229bedf5f2809b492dc360bf5f34023c89a68b62d1f92c5a3ba628bfd8c861e83980925f74c61d95d3f106db2e SHA512 e40c66befee2c16b579b630de2e0aae00eb5bd72680bd6ee724ab52f434dfc725b2c377d725d95a3500be818acad973202e9b802762adcb1b54cab0251280d2b
-EBUILD rust-bin-1.74.1-r101.ebuild 7515 BLAKE2B eabe846ec482e04cfe068420c8315eead88dbe229bedf5f2809b492dc360bf5f34023c89a68b62d1f92c5a3ba628bfd8c861e83980925f74c61d95d3f106db2e SHA512 e40c66befee2c16b579b630de2e0aae00eb5bd72680bd6ee724ab52f434dfc725b2c377d725d95a3500be818acad973202e9b802762adcb1b54cab0251280d2b
-EBUILD rust-bin-1.75.0-r100.ebuild 7515 BLAKE2B fdf3b9befaf1983494e42fe9ad17eb52dd14b0551f113a0d7d276dde05402d53d0d59a9ff1547e6df22e12a7845bda581239badeb5d80bcb144201d473227042 SHA512 88b9790f929d48440533b82aa9fe3300ecce75ca74f517076186a1cff3cf360aaa38f06b454ad93b429dfbf69e482af0add2ae1ca9ed1ee8e085ba9b3ea0eecf
-EBUILD rust-bin-1.75.0-r101.ebuild 7515 BLAKE2B fdf3b9befaf1983494e42fe9ad17eb52dd14b0551f113a0d7d276dde05402d53d0d59a9ff1547e6df22e12a7845bda581239badeb5d80bcb144201d473227042 SHA512 88b9790f929d48440533b82aa9fe3300ecce75ca74f517076186a1cff3cf360aaa38f06b454ad93b429dfbf69e482af0add2ae1ca9ed1ee8e085ba9b3ea0eecf
-EBUILD rust-bin-1.76.0-r100.ebuild 6888 BLAKE2B bd2c113dc06a5db834e0955110a9f81fcc7897b74c5e41b25521b01b8eec6180fc0785eb2f2a00562dc473a3935bb5b85fe3d904a2bad057288672402232d674 SHA512 41bbbd4ead8a4eca64f78116d47659e884d23dac551b333f05fc6a873a1677a4b8f4770115b35bcc6bf18cd400a679983e639be1d87bcacbe7acc0d31c8e4798
-EBUILD rust-bin-1.77.1-r100.ebuild 7554 BLAKE2B f758b72f8e36eb8dfb9df428344e6bbf445dc3fcab2f1aa30712c957e3fba85d283277790f39f7fd1270bdbf576ece89bc148cca2defbcc312b2863403122404 SHA512 b3effcf3c371c52f0c6d6f82c3ebf712bade202d2e8df45d886ee6077b3b0e5cb5fb102f55743ea13795b1a0c4a79e093c5a0e9bfb0c8127961d5779e0a21be4
-EBUILD rust-bin-1.77.1-r101.ebuild 7554 BLAKE2B f758b72f8e36eb8dfb9df428344e6bbf445dc3fcab2f1aa30712c957e3fba85d283277790f39f7fd1270bdbf576ece89bc148cca2defbcc312b2863403122404 SHA512 b3effcf3c371c52f0c6d6f82c3ebf712bade202d2e8df45d886ee6077b3b0e5cb5fb102f55743ea13795b1a0c4a79e093c5a0e9bfb0c8127961d5779e0a21be4
-EBUILD rust-bin-1.78.0-r100.ebuild 7661 BLAKE2B d9b43e4bd25938edcf9c0aa8bc68dd7a4cf14313602c7ebb5d616f5a2409f5f3c15dcffd8dfe24c581fe2fcf79cb7df6dfd04b57c9ba7410ab6b7bbdbcc1984c SHA512 0d6871a894c48936a56733e6edea73cf9a197618c4238f79df253846cf9cc619ac755bb27d67fd130871e40c3e91dcac9ba960a958fabe409469bebde52d1646
-EBUILD rust-bin-1.79.0-r100.ebuild 7661 BLAKE2B 0c003da9b7ef5b5fe204735836da0e2c0bac283486eb0382defe27598f9a0ea0e38dd67e57d4fa90567f8ce6f4e59602d6b2d1afe83f582b2eb8e0da9e5d14fc SHA512 1434345f981e692f50840d27140e8a8e9b2d9eb557e7250f032db02321d839fde70609399645ae38f2e78cf79049eabf447d96340c43cb03891a186d1fe07439
-EBUILD rust-bin-1.79.0-r101.ebuild 7661 BLAKE2B 0c003da9b7ef5b5fe204735836da0e2c0bac283486eb0382defe27598f9a0ea0e38dd67e57d4fa90567f8ce6f4e59602d6b2d1afe83f582b2eb8e0da9e5d14fc SHA512 1434345f981e692f50840d27140e8a8e9b2d9eb557e7250f032db02321d839fde70609399645ae38f2e78cf79049eabf447d96340c43cb03891a186d1fe07439
-EBUILD rust-bin-1.80.1-r100.ebuild 7870 BLAKE2B 335d40c75cd61578b055a6ad5d03a182304bfb94b8df09503a802fda905e9c40cfa968e138fb6170734339e5af3d1794b38600b9df6b25abdd5c5a40d4d5637d SHA512 b7dd088309c9da903b1ed24d94c2ac697c1c800ed1c5708572afa5ac3497636811efc5123c390b545e8100a5a8140dc9a49a682ac43fac4821e52c7e8528dad4
-EBUILD rust-bin-1.80.1-r101.ebuild 7870 BLAKE2B 335d40c75cd61578b055a6ad5d03a182304bfb94b8df09503a802fda905e9c40cfa968e138fb6170734339e5af3d1794b38600b9df6b25abdd5c5a40d4d5637d SHA512 b7dd088309c9da903b1ed24d94c2ac697c1c800ed1c5708572afa5ac3497636811efc5123c390b545e8100a5a8140dc9a49a682ac43fac4821e52c7e8528dad4
-EBUILD rust-bin-1.81.0-r100.ebuild 7796 BLAKE2B d4fa84b38416621e531c0fa8721d7d4c351da246324a691cceaebcc8379c5c9003dc5a0c95353b94ab8b1ab1905fb9578d3d951d1c8a986dd720d2282ac76b12 SHA512 4972eef30629e93301d931f56354008a1184acf209740d1cfde93440023e9ca0c8ffb4d7c218ab6930724b827a796f102d56eef73feb378f3be5a7eafe55cf35
-EBUILD rust-bin-1.81.0-r101.ebuild 7796 BLAKE2B d4fa84b38416621e531c0fa8721d7d4c351da246324a691cceaebcc8379c5c9003dc5a0c95353b94ab8b1ab1905fb9578d3d951d1c8a986dd720d2282ac76b12 SHA512 4972eef30629e93301d931f56354008a1184acf209740d1cfde93440023e9ca0c8ffb4d7c218ab6930724b827a796f102d56eef73feb378f3be5a7eafe55cf35
-EBUILD rust-bin-1.82.0-r100.ebuild 7824 BLAKE2B c62734b23b47f074ec71ef4c9ef362551a94a0d8e2949573433a34809647d93e86ff7afca3d017dab587f5789a36789fb955776641d96c32acfb58fc4845a526 SHA512 af1536ddff50283b2712f8d383daedf3397705a26a9b8d8f1ce802cb5e5c2e04fdd23fa1ff87dc4ef9a9be597504bf828fed578c22d87bd57f93055177656c19
-EBUILD rust-bin-1.82.0-r101.ebuild 7824 BLAKE2B c62734b23b47f074ec71ef4c9ef362551a94a0d8e2949573433a34809647d93e86ff7afca3d017dab587f5789a36789fb955776641d96c32acfb58fc4845a526 SHA512 af1536ddff50283b2712f8d383daedf3397705a26a9b8d8f1ce802cb5e5c2e04fdd23fa1ff87dc4ef9a9be597504bf828fed578c22d87bd57f93055177656c19
-EBUILD rust-bin-1.83.0.ebuild 7810 BLAKE2B 484806eca705b0b19f0c99fd9c131fed70c1b64e516a92fe7b7d54935757f1e2ea150269cb105bf6436e462ef1cecbab277786113f6d0201b46c92a7b71e043c SHA512 f1ee0bac3e9895824a918a83a96027bdc8acb5d61aef72ada1c416b4fe11460523ed24944e9ecd3ecedad18a6d656023d6882d6808562f5d62d7d6563b2a6936
-EBUILD rust-bin-1.84.0.ebuild 7817 BLAKE2B b037a3419c1de744417db49366f198de35ff73f3ea3d9aefe5c0d00c3f9bd6f438ed35f6258fe184857788864797b204ffd0e2bb6df07ff3308f4b568cd59497 SHA512 f6c12ce632f940528478f04678a15c5bc8f8368fb2613e6d8347dff29e05efb449d9e8ee878d71f93fb3f78f3ee328cc9d04154d1c3aac115d834121fd196017
-EBUILD rust-bin-1.84.1.ebuild 7817 BLAKE2B f46a594d7f526d7a1775896d61a2e11b63847bda9c754c36f1dfbae63d1f5b640287366ca4d30586c0b508e1f8c70398611361de02ff5396b032bf15581e9fa1 SHA512 f872163012b02cac27206138db1b6e62737f443babf7b2cb8725092bb80d686666873b075f9069bac33ecb97f9ccfd0917c8b0547b5ffde1d32099c666a41094
+EBUILD rust-bin-1.71.1-r102.ebuild 7125 BLAKE2B 4f226bdd5c82b47d60aeed8d8215f076c696ce4bdebb2e2dcfa13fcb19e546f97a3d6bcd1e7ef002651ef850e300a7d464245867c7dc4af54201f0b5e547c85a SHA512 a03f353252f08a583aeaab293a26f6f0cf2fddc61daf7705fa9c4153ca2db9499b68ca42fbcc8ecb3d24c9846642af0c962b3f2ac99e70328eafb85930a88868
+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
diff --git a/dev-lang/rust-bin/rust-bin-1.71.1-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.71.1-r101.ebuild
deleted file mode 100644
index 9e716ace2e5b..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.71.1-r101.ebuild
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 16 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2023-08-03/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash
-
-DESCRIPTION="Language empowering everyone to build reliable and efficient software"
-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 -> ${MY_P}-sparc64-unknown-linux-gnu.sam.tar.xz ) "
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA"
-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
-
- 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 ${PIPESTATUS[0]}
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild
index 9e716ace2e5b..a631c26c9948 100644
--- a/dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -164,8 +164,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.74.1-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.74.1-r101.ebuild
deleted file mode 100644
index 23d2616783ae..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.74.1-r101.ebuild
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 17 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2023-12-07/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash
-
-DESCRIPTION="Language empowering everyone to build reliable and efficient software"
-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 )
-# )
-#)"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV}"
-KEYWORDS="amd64 arm arm64 ~loong 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
-
- 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 ${PIPESTATUS[0]}
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild
index 23d2616783ae..e7490ef7bbbf 100644
--- a/dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -174,8 +174,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.75.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.75.0-r101.ebuild
deleted file mode 100644
index 9bb32c144c66..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.75.0-r101.ebuild
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 17 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2023-12-28/rust-src-${PV}.tar.xz"
-GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash
-
-DESCRIPTION="Language empowering everyone to build reliable and efficient software"
-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 )
-# )
-#)"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV}"
-KEYWORDS="amd64 arm arm64 ~loong 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
-
- 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 ${PIPESTATUS[0]}
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild
index 9bb32c144c66..bb60f0c714ad 100644
--- a/dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -174,8 +174,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.76.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild
index 1768a0889eaf..a1a14f630402 100644
--- a/dev-lang/rust-bin/rust-bin-1.76.0-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -162,8 +162,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild
deleted file mode 100644
index 5eb6567f5cdd..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 17 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2024-03-28/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 )
- )
-)"
-
-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,rust-demangler-preview,${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
-
- 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 ${PIPESTATUS[0]}
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-demangler
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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-demangler
- /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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.77.1-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild
index 5eb6567f5cdd..701e6ea24605 100644
--- a/dev-lang/rust-bin/rust-bin-1.77.1-r101.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -175,8 +175,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.78.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild
index 80ef90b24dd2..28e01814d176 100644
--- a/dev-lang/rust-bin/rust-bin-1.78.0-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -178,8 +178,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild
deleted file mode 100644
index 55b9d0d15962..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 18 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2024-06-13/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 )
-)"
-
-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,rust-demangler-preview,${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
-
- 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 ${PIPESTATUS[0]}
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-demangler
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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-demangler
- /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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild
index 55b9d0d15962..069025b78ef4 100644
--- a/dev-lang/rust-bin/rust-bin-1.79.0-r101.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -178,8 +178,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild
deleted file mode 100644
index 8b3aab679bda..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 18 )
-LLVM_OPTIONAL="yes"
-
-inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
-
-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%/}/2024-08-08/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,rust-demangler-preview,${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
-
- 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 ${PIPESTATUS[0]}
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-demangler
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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-demangler
- /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
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild
index 8b3aab679bda..327beab66968 100644
--- a/dev-lang/rust-bin/rust-bin-1.80.1-r101.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -182,8 +182,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.81.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r101.ebuild
deleted file mode 100644
index aabb1ed9c384..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.81.0-r101.ebuild
+++ /dev/null
@@ -1,251 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 18 )
-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%/}/2024-09-05/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
-
- 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 ${PIPESTATUS[0]}
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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.81.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild
index aabb1ed9c384..f139c60a5392 100644
--- a/dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -181,8 +181,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.82.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r101.ebuild
deleted file mode 100644
index b1a1d5f9037b..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.82.0-r101.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 1999-2024 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%/}/2024-10-17/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 ${PIPESTATUS[0]}
- 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}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- 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.82.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild
index b1a1d5f9037b..535a893ad011 100644
--- a/dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -183,8 +183,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.83.0.ebuild b/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild
index eae591d46115..ad77ff518f18 100644
--- a/dev-lang/rust-bin/rust-bin-1.83.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild
@@ -183,8 +183,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.84.0.ebuild b/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild
index 48da1d3e8bd5..33c87f94a214 100644
--- a/dev-lang/rust-bin/rust-bin-1.84.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild
@@ -183,8 +183,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.84.1.ebuild b/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild
index 338e50f2b5d5..dc92f0547909 100644
--- a/dev-lang/rust-bin/rust-bin-1.84.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild
@@ -183,8 +183,7 @@ multilib_src_install() {
CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
CARGO_TRIPLET="${CARGO_TRIPLET^^}"
cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}"
+ 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}"
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 49d2ac443c33..3d08c8e892b6 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -44,18 +44,17 @@ DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b
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-r100.ebuild 22077 BLAKE2B 1082eec69086f44922a4d9b4d7d0fbee5104c4653fe6320764748638389871081c5812aa0bed84ecd36f6d764e38a257c640518b3ca190797ca595506106739f SHA512 461a0bd207a4424c2512ee404202b14fdc8bf6d4bd628e38f325584ff4e452de0f3615e3a3683b2d1eae0b9498443eccb10f6800cf3c6be862f1643b9203c017
-EBUILD rust-1.74.1-r100.ebuild 37690 BLAKE2B 93ff1451143f5282ef231911a3b820649052300b933a9e6fd602ce6dcbf6f88af118e2835e59d3b520ba7f09a292d71d1f9b7b7a48bbbeadaaf880ff0a0dc3ea SHA512 2709d8377472eda62ebd2d0c296b1b678c106e6cc33268823391f0e2072f06551e1bb9094017077f4bd56aa0a34bee3a329d0a6f27fd1f8304af6abcc9e9b241
-EBUILD rust-1.75.0-r100.ebuild 23584 BLAKE2B ec9b5d0dc286ce5f1931df6e60817531f3ce6002a3916e47355c557693b19bdacdefd3e01d309880c8e48e53d4fc9082bab4aa2ed9da34c51df8b8c25e60305f SHA512 f759a9db473a3d19571b20669b9631446b71c508ba9cf42edc126e1da03ce8ad34478b6712f48711ee152001841d31662ea6f227faacec1fb51b625522415e64
-EBUILD rust-1.76.0-r100.ebuild 20091 BLAKE2B c9132c08aa051dcd3412909472312db21db79db7215beacc564c2d58e00b2dbd758f4bfa3a81d2a5dfa70a1bbf9ec82a96dbd7042e561d05c5e3cb7a699d240c SHA512 c9a821bfb2f693ab5d628eff20dcdea32bc1f29540e22c465275f89a6559f6db6d9ab93fd2cabba30f20b5bdd9cb24645d4f73f9b1976bb113b06544ea4746c2
-EBUILD rust-1.77.1-r100.ebuild 23547 BLAKE2B dfa0b1105be8a58c88afd4fe184381bc83516f9935e6ac533d8f44bc0953b3da9305cbfdd44915810d87fc89cd2aee76f06e30d617ed4425cd01cbe429e5e8c4 SHA512 9ce03c548c77382a8fd91690a6071bf082f468e5807cd132a0b8206208580336a61991f7d563b5d12629d920753e2b2d59d099e7f7afad17d259717a17af6cd5
-EBUILD rust-1.78.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2
-EBUILD rust-1.79.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2
-EBUILD rust-1.80.1-r100.ebuild 23654 BLAKE2B 10e70066371a07ff8e0618533ad210c5080e2cfcba87fb69535c7845b508e62825d9d392068d1ee264fcf951c20c9bbe815e4868ac08d0f97b68a6a77a03417e SHA512 e1869237eb35a8f27ed1b540b679c58aee3303e21d7f6f96af8828171c1bfd1d32c7c0a3b94e15fc2ca4bc0e0840ee9e79fd5a93b5c3e8e2e9b1fe70965c875a
-EBUILD rust-1.81.0-r100.ebuild 23851 BLAKE2B 03c31a2fca18dbddce10b8652bba84d86fcde844a24c3bb4c1981f7ef549627c03008c4df82fe0529368e4e7af632ed605a49502a79ff8c670e680a5ae94c10b SHA512 b313e6de5b77854bc2c2afb6ae1347f85a0dbbec86111b8f266ed6f3e92d0eee461588b209b1cead0caa433336c7c63040d08fd00de3272c51cf68c5d2ba3ff1
-EBUILD rust-1.82.0-r100.ebuild 23997 BLAKE2B 227d902466e31d42551be544e88839814ffb05e43fdcebdcdf43e6afa9019ea398ac9123a6e38f73f7b7772891a504a425d570401937d43667d2cead70597c46 SHA512 cbff12c735f0a0bd1f098a27f69212affce60da38b79409da4b10b256d9bb8ebdd4129b78786354bac9fba63c4889e5a58e10d522e928901e7ff20c921925da4
-EBUILD rust-1.82.0-r101.ebuild 24046 BLAKE2B d132b0109d9d1e68ded0357221609102f0e638069e4ec2bf61e53fb94b388fe67e97b5cb5ee3f29ecdc3a9f4c18a4ad6cef0e08addc248289ae3178c2e04aa04 SHA512 31f3e5bfa8345bcad487474bd8e0570c31e51a7e477d030f2fe61148e4598f069211139504a43958367b740cf38b18ff92e46e49d6080b7df8177453e9dae14e
-EBUILD rust-1.83.0-r1.ebuild 23279 BLAKE2B 183f2a6f686030c2efad110709d52b68c655dc374faa748f83c5d33ced7e44b81d5c321e843e8ffcd6c4d248bb8b6452986eb9f1e0b636e199404668f3a54518 SHA512 8220054d98db8bb50d9abd765ffefaafd360ad13ee566485e2f82930a8821b32c7b5e33080127e8fea5dbe655a81c8edd1563d0efa5c78be4c41d8bd4af22050
-EBUILD rust-1.84.0.ebuild 23404 BLAKE2B 88d74e3cddb102b4350def9572ff051b7f87819a8fe0b261e0583e10671ec79e0bee6b900aa5314629f0800ade3b94eff8676db7b913b2cbcf926e57ac3e7b97 SHA512 47ea8bf8f6e2b39902cf53558bb33a90be1ae5182e076904e243201057e0ca239e775fd30b3365078bd2e7406987eeb6251cedca43421ee52faa70c23066278d
-EBUILD rust-1.84.1.ebuild 23389 BLAKE2B 2ad9acb5b85e5e2a991cc78fe7389eaf41772e4e068e26a196931b6825ed62472659cdde3ec6bb381aa7738f53123cc10fbf0d655f8eb39d59c17b88f86e600d SHA512 6ab88695cc1f8420e4b45914a29fc9e5f21618ecb1c202141c156624d95bfce4e341a80553928c3b541c795fef7c309b4040607487109b3d71d3d3e615f1f556
+EBUILD rust-1.71.1-r101.ebuild 22030 BLAKE2B 58e75a73001d98eb55cbe015daf1a25b432594dcd455b7a068695d149ae22ac4934e05494716d25c45976f8c17f826d0022d38044710f4a7f0c1aeea46a875ad SHA512 51b9c7898587ace9e812b51db86e3fdc51e53eba29bb65ab6dd903da417adab07b15cad5f99cabbe541c08391043ba06bcdf7da8b20d45817fb5bc6cfc30f77c
+EBUILD rust-1.74.1-r101.ebuild 37643 BLAKE2B 3c25e40a1c7a2e2b6223e544f5c5dd041715b04dec89d0afd25e072ebb5f836b91943330d0010f3b6a17e728811718cbaf344a5dabf001227f48788b157a6851 SHA512 3e89d30915b7c92f2edb164f1a3fe1e2fea47a4a952717f2a110379852f85cf3f4013ef2436f003a79b60ccc76888056a15da2c8eccc19e502bfede9f4ebd7b4
+EBUILD rust-1.75.0-r101.ebuild 23537 BLAKE2B 3314232dbba9bd04f761e50f963f95db91f45eab4ee4dbbf578c05bed09e079edc27ee37a7d71aa9b6969e1ed32d2ff91ee5cdff3cd7676e60bfba0344f4aba2 SHA512 e09ecdbbbb53a872b0a628610585239c3e53165e8ca5737bcbcfff74e1f5418ca818a1f3ba38227cd477a630993ecb05fed20c8010c9a1b56c2efa32c88a6d65
+EBUILD rust-1.76.0-r101.ebuild 20045 BLAKE2B b7d74577b9491930c6f950bfd4bcaec6bbf25c938f67d293f85ca818b56791ed7a64b7a8fc0ea5f15be00a4bfb384c91725a200061bce16a188b83659881bdf4 SHA512 c272ce7816b9ca45fc7f86019ca0c37944191632d5d6491489ead86b7ff7b6b35a65b85bf97ef0a8415d29e6b9cd53649a3d93c6670fd22f734a4bb96d0c2b75
+EBUILD rust-1.77.1-r101.ebuild 23501 BLAKE2B 29040b14df7538cf8cd450a6a6b4bcfed4d40e507327dae34287363c3069b151ee55eb53f4e5df14954a9b81de74484a05fc48f44bd71139d45d74e21014d1fd SHA512 aedaa5c9c7c400fc3d76e8eb99e93c5ed7f5419f97cb0516f6f065c90919df4309235cd6ed10264d02f36cc470152e355a6c90cf4c6b937347115f198bc686bf
+EBUILD rust-1.78.0-r101.ebuild 23736 BLAKE2B 555bab47f61ab8520369a7878ae5ab644eeaeef46cf87b2b38783b2c04e2778e844d6aae1de85bde4a9c0be4dda25e22829fd4cbf71bf9915ddb4ef90d94995a SHA512 3d0b3f539e509c9d4436a150a3b0598cdc7e30d57b2eb41e9371ff824a05bb28ff031e604c7936f4b2c492d3153f602acc2ed5c821cea757b992c5a4faa4d36a
+EBUILD rust-1.79.0-r101.ebuild 23736 BLAKE2B 555bab47f61ab8520369a7878ae5ab644eeaeef46cf87b2b38783b2c04e2778e844d6aae1de85bde4a9c0be4dda25e22829fd4cbf71bf9915ddb4ef90d94995a SHA512 3d0b3f539e509c9d4436a150a3b0598cdc7e30d57b2eb41e9371ff824a05bb28ff031e604c7936f4b2c492d3153f602acc2ed5c821cea757b992c5a4faa4d36a
+EBUILD rust-1.80.1-r101.ebuild 23608 BLAKE2B 418beedaf87e3c1dfefdce12564dde1e10ff6722690f4d7a60faff0aa89bc1953c0a3fddbae5de131cd386f7d0c0c1377ecaa6acbdba3f3c0aeedd4f4fe75067 SHA512 3006aab0d8138ba6dcf5715386d69bfaafc1767dcc8019253f27e615e198588b3ff0b7d98b7bb70a05804dda846572c49f9590ca0f228481c4168456e27af1b7
+EBUILD rust-1.81.0-r101.ebuild 23805 BLAKE2B 682aa0f041d84310e3fe85f2b92ef476090207c619d92d75c84173b63b86c14b052ae93d105d85a6ddcc1fa887dd791dcd9d3af3c4b9302af27f5902fb190dcf SHA512 fafe7c8b80c5a5c6c0783a113c2dce3c96dc5c8684da29241836ff59d266b0ea0e1d4d34ceb0c1c94f79f66bfc2221ea23b2d6aeb797e348d0e465ca1c5297f0
+EBUILD rust-1.82.0-r102.ebuild 24000 BLAKE2B a40774735acbe3af636566bd83c799422bb365f5b3cbc16f35ee4a13cd2415f3a2aade6ae59c910e8aa6671d26a5387eb66acf3aa9a38b494bae90a5171dc1ba SHA512 7be689a92fd46a71425088f388cb5fc380a5baf82f85119450b1c8a7464f8435e49b2ba4cf4479c728bc8c4d250455d33bd77262952b9f0143ed2a0ccdb4638d
+EBUILD rust-1.83.0-r2.ebuild 23233 BLAKE2B b85425b5ed8eb8e344df196f4728e5d4d3606a0fb4c4ead41b9d8ff631736c566ffb8559579c0ee00675a4b1457c4b19d54cd06ff63abe3d997ad46b07028551 SHA512 767ccf3e9ee1812b70268239123f1ebdf45be6be3ae498d359b9b09ad2f095da1c21fbe519ce7971850aee2760826655576e0ef560e93b0f5432ef25cc180ef6
+EBUILD rust-1.84.0-r1.ebuild 21926 BLAKE2B 66c3092a1e85825a1f1cebdca4a565b8cac89dc48c52d39fa594dec33c95bbb2b9567a3160d3b632643dc9e46fdbd416511d6560179639343437d68d95ef9c52 SHA512 b23b45a6bd4faa321a953ecb8b202edb03cce2a29905f272eeefcd52d4626350487300cbef91306f0cf6f3c919a59c318ca54e637b31dc97d0d3439f87a58265
+EBUILD rust-1.84.1-r1.ebuild 21911 BLAKE2B fdaf45f702f65a7050fd14b960437c476063706127d82bc154234f8be1ec5058874baee6f4043c43ee45b7e473a88dcac7efe3ba61b49bef48052e24c740f16c SHA512 839b6ee0d8ce2fc139bfbaca64008ba55fee0728c9c004c1e79a5f9adec6159eaeb7e054054fcf4dc6f2687ffeff31a5aa5ed0ef5b46dc7ff01352bbcd765b3a
MISC metadata.xml 1841 BLAKE2B 48a8167ae44a7f4892b917895298627ac920af6c488180980e65bdeec53b650455fc6d7dddad0a7a8257d473080082377fb6b6df6a834b294b6e6485e6784a1e SHA512 1f5fd792b65ccac89a61233004980d9f7cbaecea5d05f35f9cc2dc9cab4e3ccfcd46828e88770a1b8ba5ca23064b6a75eea72a0b32bcce52bb399b85ac95f755
diff --git a/dev-lang/rust/rust-1.71.1-r100.ebuild b/dev-lang/rust/rust-1.71.1-r101.ebuild
index dedaab4fcbad..a454fcc7d08a 100644
--- a/dev-lang/rust/rust-1.71.1-r100.ebuild
+++ b/dev-lang/rust/rust-1.71.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -43,7 +43,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="${PV}"
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
LLVM_DEPEND=()
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
@@ -329,7 +329,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -586,7 +586,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.74.1-r100.ebuild b/dev-lang/rust/rust-1.74.1-r101.ebuild
index d131b800b874..cabb75e7e37c 100644
--- a/dev-lang/rust/rust-1.74.1-r100.ebuild
+++ b/dev-lang/rust/rust-1.74.1-r101.ebuild
@@ -49,7 +49,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
LLVM_DEPEND=()
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
@@ -396,7 +396,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -899,7 +899,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.75.0-r100.ebuild b/dev-lang/rust/rust-1.75.0-r101.ebuild
index 478f58c567f0..5bec96815fdf 100644
--- a/dev-lang/rust/rust-1.75.0-r100.ebuild
+++ b/dev-lang/rust/rust-1.75.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,7 +44,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa )
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="${PV}"
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
LLVM_DEPEND=()
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
@@ -362,7 +362,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -619,7 +619,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.76.0-r100.ebuild b/dev-lang/rust/rust-1.76.0-r101.ebuild
index 364d59bed5b6..f26d3673bb4f 100644
--- a/dev-lang/rust/rust-1.76.0-r100.ebuild
+++ b/dev-lang/rust/rust-1.76.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -361,7 +361,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -536,7 +536,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.77.1-r100.ebuild b/dev-lang/rust/rust-1.77.1-r101.ebuild
index 5461a2a6b93e..a84253b3343f 100644
--- a/dev-lang/rust/rust-1.77.1-r100.ebuild
+++ b/dev-lang/rust/rust-1.77.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -360,7 +360,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -618,7 +618,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.79.0-r100.ebuild b/dev-lang/rust/rust-1.78.0-r101.ebuild
index 19a64890ab0b..a2ab0b579d5f 100644
--- a/dev-lang/rust/rust-1.79.0-r100.ebuild
+++ b/dev-lang/rust/rust-1.78.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -359,7 +359,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -620,7 +620,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.78.0-r100.ebuild b/dev-lang/rust/rust-1.79.0-r101.ebuild
index 19a64890ab0b..a2ab0b579d5f 100644
--- a/dev-lang/rust/rust-1.78.0-r100.ebuild
+++ b/dev-lang/rust/rust-1.79.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -359,7 +359,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -620,7 +620,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.80.1-r100.ebuild b/dev-lang/rust/rust-1.80.1-r101.ebuild
index fb5eef4568b5..c569cb53351c 100644
--- a/dev-lang/rust/rust-1.80.1-r100.ebuild
+++ b/dev-lang/rust/rust-1.80.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -358,7 +358,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -618,7 +618,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.81.0-r100.ebuild b/dev-lang/rust/rust-1.81.0-r101.ebuild
index 93dfa988757c..01d49bc018e9 100644
--- a/dev-lang/rust/rust-1.81.0-r100.ebuild
+++ b/dev-lang/rust/rust-1.81.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -362,7 +362,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -622,7 +622,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.82.0-r100.ebuild b/dev-lang/rust/rust-1.82.0-r100.ebuild
deleted file mode 100644
index 25fbe716b6a7..000000000000
--- a/dev-lang/rust/rust-1.82.0-r100.ebuild
+++ /dev/null
@@ -1,756 +0,0 @@
-# Copyright 1999-2024 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}
-RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
- multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
-
-if [[ ${PV} = *beta* ]]; then
- 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"
-else
- MY_P="rustc-${PV}"
- SRC="${MY_P}-src.tar.xz"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-fi
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC}
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
-"
-S="${WORKDIR}/${MY_P}-src"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai
- LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE
- WebAssembly X86 XCore Xtensa )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_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}"
-
-IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-LLVM_DEPEND=()
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-for _x in "${ALL_LLVM_TARGETS[@]}"; do
- LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" )
-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
- >=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[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- 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}/${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
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/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
-"
-
-# 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"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-
-PATCHES=(
- "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch
- "${FILESDIR}"/1.74.1-cross-compile-libz.patch
- #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh
- "${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
-}
-
-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} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- 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() {
- # 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 miri && tools+=',"miri"'
- use rustfmt && tools+=',"rustfmt"'
- use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
- use rust-src && tools+=',"src"'
-
- 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)"
- cat <<- _EOF_ > "${S}"/config.toml
- [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}/${PV}"
- 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)
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- description = "gentoo"
- rpath = false
- 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}/${PV}/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
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- 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}/${PV}/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
- 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}"
- 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}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
- _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
-
- # 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 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-${P}"
-
- if use dist; then
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- insinto "/usr/lib/${PN}/${PV}/dist"
- doins -r "${S}/build/dist/."
- fi
-}
-
-pkg_preinst() {
- # 943308 and friends; basically --keep-going can forget to unmerge old rust
- # but the soft blocker allows us to install conflicting files.
- # This results in duplicated .{rlib,so} files which confuses rustc and results in
- # the need for manual intervention.
- if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then
- # we need to find all .{rlib,so} files in the old rust lib directory
- # and store them in an array for later use
- readarray -d '' old_rust_libs < <(
- find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \
- -type f \( -name '*.rlib' -o -name '*.so' \) -print0)
- export old_rust_libs
- if [[ ${#old_rust_libs[@]} -gt 0 ]]; then
- einfo "Found old .rlib and .so files in the old rust lib directory"
- else
- die "Found no old .rlib and .so files but old rust version is installed. Bailing!"
- fi
- fi
-}
-
-pkg_postinst() {
-
- local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)"
- if has_version -b ${old_rust}; then
- # Be _extra_ careful here as we're removing files from the live filesystem
- local f
- local only_one_file=()
- einfo "Tidying up libraries files from non-slotted \`${old_rust}\`."
- for f in "${old_rust_libs[@]}"; do
- [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file"
- local base_name="${f%-*}"
- local ext="${f##*.}"
- local matching_files=("${base_name}"-*.${ext})
- case ${#matching_files[@]} in
- 2)
- einfo "Removing old .${ext}: ${f}"
- rm "${f}" || die
- ;;
- 1)
- # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide,
- # so we may have already installed over the old file.
- # We'll warn about this just in case, but it's probably fine.
- only_one_file+=( "${matching_files[0]}" )
- ;;
- *)
- die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}"
- ;;
- esac
- done
- if [[ ${#only_one_file} -gt 0 ]]; then
- einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`,"
- einfo "the following file(s) did not have a duplicate where one was expected:"
- for f in "${only_one_file[@]}"; do
- einfo " * ${f}"
- done
- einfo ""
- einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same."
- einfo "However, if you encounter any issues please report them to the Gentoo Rust Team."
- fi
- fi
-
- 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
-
- optfeature "Emacs support" "app-emacs/rust-mode"
- optfeature "Vim support" "app-vim/rust-vim"
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.82.0-r101.ebuild b/dev-lang/rust/rust-1.82.0-r102.ebuild
index 1f70f958d492..4408b27683cb 100644
--- a/dev-lang/rust/rust-1.82.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.82.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -370,7 +370,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -632,7 +632,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.83.0-r1.ebuild b/dev-lang/rust/rust-1.83.0-r2.ebuild
index 2262915b0d62..d98a717dc572 100644
--- a/dev-lang/rust/rust-1.83.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.83.0-r2.ebuild
@@ -370,7 +370,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -632,7 +632,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
diff --git a/dev-lang/rust/rust-1.84.0.ebuild b/dev-lang/rust/rust-1.84.0-r1.ebuild
index e40d98a96166..10294bcfad06 100644
--- a/dev-lang/rust/rust-1.84.0.ebuild
+++ b/dev-lang/rust/rust-1.84.0-r1.ebuild
@@ -372,7 +372,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -634,7 +634,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
@@ -682,44 +681,8 @@ src_install() {
fi
}
-pkg_preinst() {
- # 943308 and friends; basically --keep-going can forget to unmerge old rust
- # but the soft blocker allows us to install conflicting files.
- # This results in duplicated .{rlib,so} files which confuses rustc and results in
- # the need for manual intervention.
- if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then
- # we need to find all .{rlib,so} files in the old rust lib directory
- # and store them in an array for later use
- readarray -d '' old_rust_libs < <(
- find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \
- -type f \( -name '*.rlib' -o -name '*.so' \) -print0)
- export old_rust_libs
- if [[ ${#old_rust_libs[@]} -gt 0 ]]; then
- einfo "Found old .rlib and .so files in the old rust lib directory"
- else
- die "Found no old .rlib and .so files but old rust version is installed. Bailing!"
- fi
- fi
-}
-
pkg_postinst() {
- if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then
- # Be _extra_ careful here as we're removing files from the live filesystem
- local f
- for f in "${old_rust_libs[@]}"; do
- [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file"
- local base_name="${f%-*}"
- local ext="${f##*.}"
- local matching_files=("${base_name}"-*.${ext})
- if [[ ${#matching_files[@]} -ne 2 ]]; then
- die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}"
- fi
- einfo "Removing old .rlib file ${f}"
- rm "${f}" || die
- done
- fi
-
eselect rust update
if has_version dev-debug/gdb || has_version llvm-core/lldb; then
diff --git a/dev-lang/rust/rust-1.84.1.ebuild b/dev-lang/rust/rust-1.84.1-r1.ebuild
index 12a8d60e406a..8ae682155bcc 100644
--- a/dev-lang/rust/rust-1.84.1.ebuild
+++ b/dev-lang/rust/rust-1.84.1-r1.ebuild
@@ -372,7 +372,7 @@ src_configure() {
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
- rpath = false
+ rpath = true
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
@@ -634,7 +634,6 @@ src_install() {
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}"
MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}"
_EOF_
@@ -682,44 +681,8 @@ src_install() {
fi
}
-pkg_preinst() {
- # 943308 and friends; basically --keep-going can forget to unmerge old rust
- # but the soft blocker allows us to install conflicting files.
- # This results in duplicated .{rlib,so} files which confuses rustc and results in
- # the need for manual intervention.
- if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then
- # we need to find all .{rlib,so} files in the old rust lib directory
- # and store them in an array for later use
- readarray -d '' old_rust_libs < <(
- find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \
- -type f \( -name '*.rlib' -o -name '*.so' \) -print0)
- export old_rust_libs
- if [[ ${#old_rust_libs[@]} -gt 0 ]]; then
- einfo "Found old .rlib and .so files in the old rust lib directory"
- else
- die "Found no old .rlib and .so files but old rust version is installed. Bailing!"
- fi
- fi
-}
-
pkg_postinst() {
- if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then
- # Be _extra_ careful here as we're removing files from the live filesystem
- local f
- for f in "${old_rust_libs[@]}"; do
- [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file"
- local base_name="${f%-*}"
- local ext="${f##*.}"
- local matching_files=("${base_name}"-*.${ext})
- if [[ ${#matching_files[@]} -ne 2 ]]; then
- die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}"
- fi
- einfo "Removing old .rlib file ${f}"
- rm "${f}" || die
- done
- fi
-
eselect rust update
if has_version dev-debug/gdb || has_version llvm-core/lldb; then