commit: 943c0e11c66aa52d51e4c3584c7173a0cf62d96a
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 10 06:47:31 2026 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Tue Mar 10 06:48:59 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=943c0e11
dev-lang/rust: drop 1.94.0 betas
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
dev-lang/rust-bin/Manifest | 58 --
.../rust-bin/rust-bin-1.94.0_beta20260126.ebuild | 337 --------
.../rust-bin/rust-bin-1.94.0_beta20260213.ebuild | 337 --------
dev-lang/rust-common/Manifest | 4 -
.../rust-common-1.94.0_beta20260126.ebuild | 73 --
.../rust-common-1.94.0_beta20260213.ebuild | 73 --
dev-lang/rust/Manifest | 6 -
dev-lang/rust/rust-1.94.0_beta20260126.ebuild | 890 ---------------------
dev-lang/rust/rust-1.94.0_beta20260213.ebuild | 890 ---------------------
sys-devel/rust-std/Manifest | 4 -
.../rust-std/rust-std-1.94.0_beta20260126.ebuild | 180 -----
.../rust-std/rust-std-1.94.0_beta20260213.ebuild | 180 -----
12 files changed, 3032 deletions(-)
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 781f96c3be15..dccde908ac44 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -822,62 +822,6 @@ DIST rust-1.94.0-x86_64-unknown-linux-gnu.tar.xz 191856892
BLAKE2B fd5c644e56e6b
DIST rust-1.94.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
b88f0dd8daf268a914dbfb3ebaf9c48f0b74c3a84076db3e01e0d1d29c2d2502f81208eee55b063c1641965c4c1aa1cc08cc0c2668702e21b7766af7ca42f313
SHA512
330b12351d6a667c2bcc446e08048549e57d75f2eb3f7733f6313312c0c0064ddcd8426b9351c59cae99e5f2a436f5998e3b6b04e1d334a6c09b685c94474578
DIST rust-1.94.0-x86_64-unknown-linux-musl.tar.xz 294178664 BLAKE2B
705ca28c01ae4eba4777ac636656be2c21c9004ba1dfec0382325e6c8c61dc2fca997a0c62a6e090f7d35fc41fb26fc300b06a5f15a2f489ab57c1a9b9529185
SHA512
43a87ff89ac4715f60643ed0de51ab505d53a86b6942b58df180a1cc81ea5da00e1be3bc101ffb25bc92831c88ef0264a7d7b92efd63cf7a0d472d169d919c22
DIST rust-1.94.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B
7e0cf69a5d5c4eade8dfef4b0527362184671a284616352138d1073d9ffa5e08dda1979dd35757874e5241a7b2195a8abde6cca96f50dd44e1af50e06152b736
SHA512
e3b7eb37bfb5c7713bb6fae9d20d36d7554324712740e5453946936af30029e9200bb26e11c532df8936db178526398cbb5607c598a2945b12f85ee60f507d8e
-DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-gnu.tar.xz 168363516
BLAKE2B
38c623524417e98bfbe448f0be605552598b1b879fabac744d8263c5baa1d5eadd1a757582531eddc9bf7924b382073f33fe72f6fe6c3839f67410ba8456c2ab
SHA512
c06171cfca7bc42ac62a718541147ab6c3dc0221468ce3de673cd9fac0bde86f1b7d5fee060acf53f090f6cebb386c701625cde4658e0ae876417993cec6c872
-DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
a81116d147b0bccc93944ed0ec82e1c4666620b4e45c0c38a18e6454fbc7b6a890ad04147f4a17e156a5e6cfdd08815f579cd8b5cdb806d001ee445e51e3b534
SHA512
dd1843c35cbcecf70d14da312a8340e3c523f8e2e37526a499a37bc94616852e597768d6fd6cd2e9f467674634b79c71b54b7cd40151b82e10cb446de5ef4f28
-DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-musl.tar.xz 242112904
BLAKE2B
af6a5ffa79ecebf271e09a2aecde8fa5a83e3aae421b7d1069464774345dcba122f6231a288c3f56cf0bb1e5195f80f149a9d851390494313c132166c6c27c7b
SHA512
083a69343a86244e006e78e4a4de39e42a6e4a4b91ace04a9706132fd38457be7227ece588245159a78d31fa5f87828d403190429a472dec847a203054cf9d98
-DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-musl.tar.xz.asc 801
BLAKE2B
9f64539c02ab37f08841c2b12dace4b11e9870beadfcc20b404ada679feae1f50b7e748f58a89868b2819722fee4178b6052bf709bae0e74aa6d4875579cf6ad
SHA512
4a6488a95514fc1e9b722ba8b26e4e517a8e674cb77968ab46586709a2ca366403150d6b7b0de1ee8d255690b787fdfb6a9e44ce2244ac847e813372305625e1
-DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabi.tar.xz 225124840
BLAKE2B
a7794569ef299580dc66e8cade5d3ccafceb1dba124326f06b49f557bea82c2bb0bd471f8d10f20dc10bb74bb2461bd5b1dc44b078b3f7f6db9ce6cc9ca335a5
SHA512
fd06b6f9eb358b83c4bc4e9df79adfa66be1e4a05f2bb225af5e7b3b5b4bf1f98291b6b322105a818e38d1e96c71f1b19f97cc61ac7b152dc3a97fa1b952a542
-DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B
c16911baf1d5562386a67dba11d7015f2241536352430547563705fac4cbacb481cc43501481258d8cea323691be4145a6ff5d902980e1e41843e9c790297eca
SHA512
487cea04137280d2d8096fb72d699fa87686113768392f9d5fbb8ac11d9331d2efc8ecfe033313f76a9ceb768e94d1afc0981222883481fb17712bc9c24b2034
-DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabihf.tar.xz 224825776
BLAKE2B
3d1314e6f5b094f959740ac3a69a275f8b5db2856a603f06f21ead3834a1fbd7bf608896f4d29b1f85c8ca0a8d890149b22d321067788f474fef84b21c9b403c
SHA512
6324bad16d47e988a7ad3f70627a6c167e84931b608948116e831abc98ec1db5433afc94e8e23973d55f2fc49cfa7164fd6a3a3899dbfbc1ccc55e90c4083d5f
-DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabihf.tar.xz.asc 801
BLAKE2B
fd85fe16dac668afcde65e34a3b1ac5c677c284032b84a7da35fdce437bfe2b37f73f6f911bb86780d3cbfbed6fae973967e3eed854125a0f910098169e2452f
SHA512
663cde4e969f9ca6823549e5383413bb3f12ed4c4901dc7deb92bbe2db12e7e8ce19fcb79dcbd0c8a73a7ba50ca0887995af9322d90bf52b378c7d68f05784ce
-DIST rust-1.94.0_beta20260126-armv7-unknown-linux-gnueabihf.tar.xz 227744888
BLAKE2B
f5b1689909aded7fae0450180eb314f04c79ef85457fafc9b851bc773ac049b8c31539b169beca0613a7e4543be2fe52e5c172ef4572b79ca8051c96a5a54ca2
SHA512
fac8e465e76811e0f777e5c33d49a72274c7ee4d431bdb4a840be4483c6cca8109ae8e1495619b73869b81e37a8e8ddaa4f3f1057e80d30982cb967e6397a1b7
-DIST rust-1.94.0_beta20260126-armv7-unknown-linux-gnueabihf.tar.xz.asc 801
BLAKE2B
8eb297501d62405b88e3030b619ffd0717857c9bfd6ccebcf3557759c6497755f41966ea590ac52ae029c177f9d54d0c6b895176e6bf39072aed2abc19ff24a3
SHA512
75ebc0b18f51131ceb11521b73b6c7f92b42f97d0ebb0bd9a7f7af78d030e29bf03193aea8843369e6b04751a2ae0dfdcdfb7e39053b007a841d432bd5104539
-DIST rust-1.94.0_beta20260126-i686-unknown-linux-gnu.tar.xz 265952540 BLAKE2B
f354fb7fc9f2ed6f65722517be8481f7b874d4dec16758e9adf317017663ddbfc3d1c790e10d564238d91269f0d229a625e112d4a344c59344fa87631d599d4e
SHA512
21e4df8ea185cf0076f5ac9508af7694b92b771d98a7347767424bed56d4d26c61d3fca7a1fe641a930aaaa0a1180dade7c114fa01bc6b3afe3b2bbcda93207f
-DIST rust-1.94.0_beta20260126-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
5c8a0f2d6b28c13448f8e544400640391865549b87834c7d7b602868170ba9a0d16b598ab5388c78d4e60e67603eeb1f4ae79c5816317feed285bcdea38b1b3e
SHA512
7a692c6d0525287e8ec2435d4b49da0fddc76a69632a690eb6f82f8dcd0978d5998718bc79a64dd7362631a50df4c1f9e8f3d6593dd6b0d876714ba754fff76d
-DIST rust-1.94.0_beta20260126-loongarch64-unknown-linux-gnu.tar.xz 258096488
BLAKE2B
431ad674b4dbafdcaa8a3b3435f46234b83aec66d3ed2f569dc883f9e39e759eb891492ae68833d1ee521d68cf2d6becfab3a80bdbf0c79c55a56a3f2bdb01e0
SHA512
ab5dd6e064713308a20269d71d7b052c7aeaba5146e3c326c0156abf9148cf4270dc59ff5380259a6109549054e8d6dabb8fa46d24f8bbbbf4461e54052c09d5
-DIST rust-1.94.0_beta20260126-loongarch64-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
f0389163837d610f035ce7b363054bb36179f0f474836ddcdd09fdef62b30c49e526e2e59a25236e3bf5a65693fea57d44974a0b42afd9ab01cea7fc6272b3d3
SHA512
58b239444d0c9c18540ea957c1f736143c14ea8cddb391887f87239ca4baf20a3fb607e542ea91b831e1eadbdd2eb71edb38e08b02c90666db904ba65b356f35
-DIST rust-1.94.0_beta20260126-powerpc-unknown-linux-gnu.tar.xz 248126076
BLAKE2B
520e1d74affde610d76fc861fa3e8ae559ea13fda710aff94f1d2249fcf5429f8dcc830c73a97c89d13ac61d8fcacde8bbf88c915c9ad30ddc93a2948c38c2ce
SHA512
6e2185004d66500770c4efdb469008781d5c5e23b5843401d1919757828a91250d12db2277dee15585b980258a3f71defa6ae24bba276407f709a11cec837870
-DIST rust-1.94.0_beta20260126-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
1d604e54feba24deef8245bc3cc871d6467b3ff5aa3197c72fc53b5908d4b9b477f096b0f2fd7837eea00071788d3d1fe163b88857354b085f47f721c51b87a8
SHA512
df629935aa4366635dfa391d1fe860b557d9c9322c306b0c15dbefc55d1d15c061f556bf0d280c8e6b11feee22c3ded466341315f36293e387246ea974d0ad5b
-DIST rust-1.94.0_beta20260126-powerpc64-unknown-linux-gnu.tar.xz 249692872
BLAKE2B
bbf95391a8900d09bde3c28653508c74e0bc6897507f2163a093f1884f087395ed1667665c85d8a85f504ef9029f0d587b2ff4060e4135c78bc571f360d6031f
SHA512
5062e42c2fb42db11d8424278864a0b4b8c4cdb96d24141561ddf0f94319b446eae29872dadd4be402cc66c46aa7d2cbb948682be954b2f27f1afc779251ef15
-DIST rust-1.94.0_beta20260126-powerpc64-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
46f123aec3459c687107445c7e8a50a6717b3c17d106ffb25c882e6620aef256ee9856d2a9d55b5ff94c2f07f6961688738ed0092aaddb10c1cfbb5abad68327
SHA512
50b3bcf3b57ed7d1fb58a270adcae46bf964fd2eea439985ec744b09505b227abdb0a2ecdec4c31401e0f413e5760d9826315f4f432db1cc90bc0264b9cfa138
-DIST rust-1.94.0_beta20260126-powerpc64le-unknown-linux-gnu.tar.xz 266994340
BLAKE2B
995b50a64114a8f2f215e8f4a9510628de4ed51b5ff4bdcc7d3410569a6417f04c1003c481b590f284e0649cbc9116974fe12837bb31daa546766022e0a61d1b
SHA512
e653f419369f69f94285cf231104d8f1e0e86e8dcb91e77a5e1f8de03ef3153326663144db1d57f654002619b64a5af725d9a8f5bec840ce07581b8e1711083a
-DIST rust-1.94.0_beta20260126-powerpc64le-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
102286e5c201fd5f9dc639b5fc26c7807c7f9721f3f60a9430445be32ab150f28bc1c90f5dee670a9ccfdb1e4038ef8c5598546bb95a676a523b685e92e36e84
SHA512
9a031be32ad26f14b7dd2d6f650d8cd8c20db53d1ae1b16628a29e6a1f9b55ea969d7252cea8ffc67eb23741f460d2daafbf9c15954a7801d33805744ee4893c
-DIST rust-1.94.0_beta20260126-riscv64gc-unknown-linux-gnu.tar.xz 246822616
BLAKE2B
15328924c3edcc448814bac354af6571b5e7360eec7a91d275e8b871f3e7328b58622f3c0b07e38c63bf5a1de4310e20bcea684fa7c938516e6236d35a303d8c
SHA512
62c95b717be034da38740ed48dfe33483ed556c25f9372182dd5e28e2dec90a59f63a6c2e00de859f2c6316ccbcf13b33945f39aa0b2d5efd0b0501ef0c8eb84
-DIST rust-1.94.0_beta20260126-riscv64gc-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
9a7010e29271bdffa0c7a24ce818176065a70f78f9cb90d8c91c377835384bc7f23dcbd42df22835d02c8761c2c063f4f6d7fc8534c6e5c552c1998fab27b28b
SHA512
a095f45c3e157c0ce227688e3a09afb0fb1367ff38d626e9a2b9f1f26c319ff0f2914d64a04c284057444ea93007aac0394d7aa9fdb05206b9ffca48c89b011b
-DIST rust-1.94.0_beta20260126-s390x-unknown-linux-gnu.tar.xz 236999948 BLAKE2B
16ecefaa58141ca2f65d8ecbcd8a9df76aafea347bb7e7ba4355ddebc9e517c6735e73ddbaad33e7e265843d2afe8dabd9117b43a38571d42f66d370caefacc4
SHA512
b0c2864d0dd50b549a61ed1028469fe499097ad4e785b8f655e5349ed0ee3d4ad6f8134e40664d831ad2c710fa12adacc1b3c6b48474c4958011ed4e62aa5f21
-DIST rust-1.94.0_beta20260126-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
ec88f6fedaac59a67ac3c122860956d9271216f87bd5a8a1c74bca66429938f4cbd4557a09ec64e75f46e46ff5fb01203bd2861e259c54f54d47503250d1edf9
SHA512
bc61d8d7bc3d7067e7e68049488b0d79b6ba7a3b3121bb4a655c3b5f675f2cba75129fc80d9fdd760ca9729fae4f39c8ad2a2ed339ec73560041510ab7df6517
-DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-gnu.tar.xz 191891384
BLAKE2B
2b898c06d3a508a01e265d912868dc6fece9e3ce81cde02d2393becc93ec8cb8fb22f5dbd0d45a85211834d267a29f6854ac329dda99620dcf483e387829006c
SHA512
3d3513c20dab261c8d453e2c43c408f9a4723131a14ccb1cd152f79f2f1781ae46c9bb9aeae600894a24d3eaa3873960f695b30b7bf0b187f42315598e40c66c
-DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
880837aa601de29e7537fbe3315bb937bf59afcc297d83dccdf166218b877bd587b6338b4af1cdc959b62cc4bdcb43cac42740870225fc1f5b3772de23f1a2f4
SHA512
155b4ae5fa98172ef759a645e14bdf354ccdfe317e28687fa5a6f22881ac7d31a3ef3b2e96070ce9ca109e2483f1b8c5db18d854852eb707b74fdc6e1cb62a6f
-DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-musl.tar.xz 294116548
BLAKE2B
6d67a659672ee76562ae2e8d1d0d8ab0467d97c58cff7a6d6efd339965a6f772f742cc6351738435e5c85055af12e8da13c55619b655cae41e8a52c6652c67ce
SHA512
aa29d147b0c4dccce2ebbcfe33eef7be6579ddd37a5a546b5d130a21e95baefff692611351d0d2ab3338924932d349ae5991aa9d621076e6fa6ac763b8d33ac9
-DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B
897574c08c7c21f4e9a48ade315b19c4c0b3e68334f48f38faa6db8b1de1bbfa219b48abefa2ed227e452d321acf2b2e933206667a640d443b8f33db54c90882
SHA512
a6ce3d04f08169b6cb4e0d44629ebd7016605ffe5f48499a3b83fe841dc1e3cc99e5363f109db5be8a85836b2d74442de440b0d8e14024cf5781e401429a1d63
-DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-gnu.tar.xz 168378596
BLAKE2B
d7dd9bc35cdd1e9fc73c1aa1ccd5d80cb6d6d512f1b6302c4da1b786ad6201a26f6021a1b570b4dca5d020de7d9188a8ba1e4c0978fb2a6f89beb5b9cddd15e4
SHA512
40e35c1002963abd2e0a084b891af25e2cf2fe89fec4bf1c50f7f535031e602960c3bfb1ee2416a513c16166fe8f2ae7cdda801dbd5bdd80611bd0155698e9c6
-DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
5ea94b80ac9801461f1896dd0d9c45b7d7608171b1275fc30d88a39abc89608f9a0ba31fa379be7df5a1d87b34575d0cb05f584099c8ea4be8c1073d230a62d0
SHA512
4a23732c0e3b338c627e362dc9e12cb643534c1a28881a7073a885822c847ed6a510ce128acd1c60bc7592ebd60566082dd50b7e65ab069710199a8eabe0ddf7
-DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-musl.tar.xz 242012348
BLAKE2B
cda1d8c3330407aa29100ae9474a7be001c2f043632af84f8b3244353a990e05566008a1f60374b74bc7463837563e96357b6df3e9fe191dd6708d1fc9fb8b78
SHA512
26a43374c9d23a293d34d0f624b49194d7ce25329ff3f4338e43d7df2b90cb331f73d13522b7d0429b682a693a034a195a3dfa9ba28fb1de128817459c1792fd
-DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-musl.tar.xz.asc 801
BLAKE2B
6a85c2598c78a1fad685aef0a3c9f4c0d1ba897ce2aab37f582cdaf9ab282ee45af0b79984460eef744fd148d943ed22623ffbc8a08d940c3f386a8e73d1bb39
SHA512
bb5a22982096ab0235602e84e049ab9d53e6249848d110e5bf2997951dfd7ad2b7d09905de879e7c551eee06f436dae8888c09929aaaf94981d018218ece7893
-DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabi.tar.xz 225064504
BLAKE2B
36b548367d10c23ac064627ad1a2556c9af89419c6890f9fd2023d32445d97ce2a9158d093287fbe2f219077198023017b87db59e2b6b05ad18f8656f95788b0
SHA512
2cdcd7007ffa2865878aec8d71f6b0263fe10f26e997687ecbc0e56a07e28bb2f152e41cb89f1af5031f2bfa58661c5e0eb436e4b6c1a1199c54ffe8b80585d6
-DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B
b0b8096bfc10605c7f5a7f43f82e46a1c6e5e8cc968df247d18c0bdbab3c9bc76f1907f012c351537188aca9115becbaa9af1cf8ff5c27b5c637a991f5b1a372
SHA512
61384fd238d1145d5a828a0689e00bbe1dfd2071e7b4467cfadb77e8ee6992061b1ad0d71cc726a5ab7b736e2a7d2e8300759930302507322cb218ec066c73ab
-DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabihf.tar.xz 224786000
BLAKE2B
46d0b8e221777c7e290ac70cc613c74c74cefac476008f5b8eaa11abc2e7bce778d5c56b9067626a93bcb287bd196518b9bfa8ef97a6216f4814250b216a0891
SHA512
24047257f5dfccb1de49d032443ca2fd78bc7aac74baf63cb8fbc09561eefa599be8292fdd17cf11248c3949424c178ea174f47914a31753bb97d60804cc1714
-DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabihf.tar.xz.asc 801
BLAKE2B
838bc2a98f68592f674900efc483005363901475b7b6f020f6681735491929f946a29c43ba3d6d60aa3d25fb26219028b03d3306f79fdbacf5721a1b5cbdd79c
SHA512
a7258bb03ead1c75fd9acec225281a26ef9024f0149ddd8c0b8dc797745ae8dd5adb0e983f07646c041d48e46608a658810c10048fa50fed60d8d7740daa1849
-DIST rust-1.94.0_beta20260213-armv7-unknown-linux-gnueabihf.tar.xz 227673448
BLAKE2B
9bb073bb896e06f0889ca7f4138c6e9a005abdc7633736c86c83969315481646a075c94ea3c5d260d885816551a43e35b80b3926c17c6cceb0ef362b5fc9a3e9
SHA512
637224d287981671fa710f4e35d97f9786409afd5dac2001c98cc04d7bff9cbc8bb47aa38dc8d27b9d99d9bf40068b929be98c711fc32ab7146f4babc55b022a
-DIST rust-1.94.0_beta20260213-armv7-unknown-linux-gnueabihf.tar.xz.asc 801
BLAKE2B
4c5b9365c5ba2726ef82d49bb635e0c343054c599237106184ee7ba00e41f7b1a2463464e392bdfc154e817205b3820ef4e85e1215d64a8712b94a1c839e5f1e
SHA512
8f34ec52fc3887994493334a5193e975fdceb83373606640d3b7a79731f02a1d9e3ee6548b997c459fde11cfafbe13bd8e1e81769e9319f3af383e98965e2a86
-DIST rust-1.94.0_beta20260213-i686-unknown-linux-gnu.tar.xz 265927492 BLAKE2B
3018f8f08ce38ad0493915272ec188cd6f2161ea9bed401a2efa62a6719dde7b0684e3d3dafed48a63983b8f66e5490165d64f898a452be92a2cbab811b895be
SHA512
78a22a5ea69d7468b9c6cff3a8a44ce4eb8ebf9bc3b85bf04627516528cf659d1f106b01050db79f0735d6cc748bd31d564b6d717c905daa87332179f9fc996f
-DIST rust-1.94.0_beta20260213-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
028b2e1389ddaf85354a6add23cac9d67d4ef0bb0fdcdc848b791572216a2c2b4909be65e6275f0b626618edfa4cdfe50115a50d5b753c699d828d759bd874e5
SHA512
97fc8839e869949708dfd1feb2fa84d02b0f51d31b70aa905a531eb7bd69897573e4b989dee9a22a383b20bab16775b24a56a47607ac5d5439f8707b6b9e34f1
-DIST rust-1.94.0_beta20260213-loongarch64-unknown-linux-gnu.tar.xz 258143500
BLAKE2B
aa3012864319906bfd4f6baddfdcc5ea597ee76710d6da0ba1df121fc1eec3f3af42c8bd46c9238112d3a0b0e0916128238e555181d10761b49462d9a0a0c8a9
SHA512
6f2be53f6dfe00fc3a3cf979f353ab01bb410eaf0c5fac4b6286491f4d5d0faaa188fd69f7161bdb9cf3c40537f5569816e320967b0a4868110dad058d0bccd1
-DIST rust-1.94.0_beta20260213-loongarch64-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
2c1f2f4b267baca2cf6ee4dfde77de2c02942205cfe1c1ab83a0995f4bbfff8168e7dccbcfebe7bd10df8a232d60edf6a90d541e30be4b2d154b6396b26ce8a0
SHA512
a8e4cf9b5901674544b9c3c85f7eb6911c5a8119721f7387f1c673aa71a685120146fd2109ab08f29c745ecc47cd7d92b1cf79b2e012c0bb814ef876e9cf0fda
-DIST rust-1.94.0_beta20260213-powerpc-unknown-linux-gnu.tar.xz 248121252
BLAKE2B
bd66faaaa98990e130efa13db942ab0ecd47e0e38cee1bc5b25813cea4e5c9d26a58038c6bd96f97b9370a44e8fd13aa4b61f468d7517a46bea21be20dd8f7ca
SHA512
146ab109761ae429f1be19401a0935d8ee8c0b755fa4dd6b9d0871c1c6c5c064714b50281e888f1454d83e1f32dcd1e119d02b204b35b92b5af592b51a65ecb0
-DIST rust-1.94.0_beta20260213-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
2a05fb4c3e5df4217ad491e946aae0f2474a9d716fa3d9a9b9f87b3681c3a29c1cad732aca4178b6a7fbed73a2b5309b5579a6b84b266b500f0a6ed336b745f7
SHA512
517d9e93e34efd5e3becf4489a14ed621d98f8696dba99cb8a33941c0717d1fa37b17ffda1696223fdf1cb8373cc07b92981967a15d225469276929a4a258197
-DIST rust-1.94.0_beta20260213-powerpc64-unknown-linux-gnu.tar.xz 249758504
BLAKE2B
ce574b427cd19be98bf6901102d7c2e8d00e2b966af7ff7029b7a6c420af5cf4dfffe86b50c9d6c6e55e80fb428ab29f86599761c0245b2e03fd5a1f8d73af06
SHA512
2c3407ed52fdcc5dea7c80b808fdba8afb829a9b823ca071657b047c27f2978be83b8afb6d4e9313ac0d12d797b9ba14c3685a2a9d2ffd27c4a0f00418f679bf
-DIST rust-1.94.0_beta20260213-powerpc64-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
b269d802fee0690a5932414241d522b0de95b57745244f7f616bb853e1f9e64ca6e47fc4313187ff656c68a38241d57c0d25c3a005f3716df6492e6906782715
SHA512
4c589e68009a7a46289eae4482724adef0c944d2992e50ab16aef119c18abec53f7e16c4b38f96e5c69e05bcacd068796283c963de1d081b0ed82c78fc42897e
-DIST rust-1.94.0_beta20260213-powerpc64le-unknown-linux-gnu.tar.xz 266999560
BLAKE2B
f99d2019b47bd1caa3f33d5e563e989fbde528c9183d285c5a4c7c1b72704662ba805a82c1b15797bfcaa0f602979ff8e13fed0895779f10267d3d3709fa2c9a
SHA512
41696bee646c791bb53e8377d06ba99de5374e3ab6c88b24748c04d15f90616b935d5ea83cfecea6c7524a3435c68c687265094716ec147637fb9ac77172208d
-DIST rust-1.94.0_beta20260213-powerpc64le-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
043c7e19b2b7b3cce860e2427d9137ad7641b36bf102ad345a7b9e07a4bf0325413b03dceaf743d981ec6228ce60b5ccca1f7103cc1c46b42b2a6e5baf758846
SHA512
2fab867116c6d53865871f08e1d2da367a3aacb104dde41e019832d3447f54a30f1aa1cb910a1e39578eecb13241a2ebcb2833dc4ff192a02d15bdc29e31eeb8
-DIST rust-1.94.0_beta20260213-riscv64gc-unknown-linux-gnu.tar.xz 246928356
BLAKE2B
43b1a3413baa20ca573ca7653a8f07520bb446a0438e27475d753fbc6ba9becdf84ae409525e0dd65a456e51ea9276713ffec3af0ccef6adc7f33ba29598e47c
SHA512
d342c250d90e1e6d6b4d5b7b5a41b4406152a414435de7a32ad0eb8b779d03b54def8c48e1ed23310ae3a0aa570e94693dd72932952421bc3dc5249a38b1119d
-DIST rust-1.94.0_beta20260213-riscv64gc-unknown-linux-gnu.tar.xz.asc 801
BLAKE2B
b59fc15a1b946680952992e8738105bc7e36d0dde27e7e9e275f46e9f6e9748c503cc74571797d5af65788ef7ba61a2983e62f3c5fbf6e254acd6482cf3af0c6
SHA512
55a7fc8d93600708d6c524c1c99c492074de9aa87d259d6c390dbab41ce979d4ed7bff5b5230745ab0ae83134661719688b9e7d613470a3225f5b3ad75388611
-DIST rust-1.94.0_beta20260213-s390x-unknown-linux-gnu.tar.xz 236977636 BLAKE2B
77bcb47b9c0ea77eb2929fe590ee362ab394021cf9814958a2faaf855ad2dae086b6c86742112cd0ad5bceb9b8f4fa8eaea5208f38fccdd9ad83c1088bac2f93
SHA512
749366d29077bd7307e83e81cb74f78aaa5d068a2097027070e0043c28314fb169613bcc4ec1adfa09af5a2f206ab44a91b99ce7826ca0c3e8b81fe5476ff77d
-DIST rust-1.94.0_beta20260213-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
0ebc2f5acaf3f980ce9ffce2fa01dafb799ff3d1b515350abe76c282764869557c8ccd8e5308ff8a8238a2cf6fce21b326fa78b9e887d756076338997e9ed8ad
SHA512
147624d9f6429fe0048f05580b6f7064585e73978457c2a0e36137b7daef5ccd8d86d94627aec319898ca38a02b86d6a2b95851799d227c9a1e6833b8a339381
-DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-gnu.tar.xz 191900460
BLAKE2B
a9f47c1c27e0663e5ee9bb9f7d3b47197dea73a29ac5eb007bd4682e2628050c1144009577226a893289f7d767d1d18fb697cb10ef57910a554125372338b23d
SHA512
059721324a6a7ba49edc1fbab870f0bef36ea65d18f0ba60a7e15760ea2f384f4e8515402884ce8287d0530c0ce24580a12dd9c18d604d9eeb02c00bfc54a948
-DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B
8842baaff09b295e48aa493e28bb48175983410b602322765a0bad5018ad0e9b0ec4579d04377da35258d12dcec5348371119b12dd2b874f702ed4a65d24b404
SHA512
e86fa5386d02b080854bf1613512a40531c61a940c5df7368508574dc8882413f9085ace73251d2ee464ec51713ef637ed8eb3fbdf3597f72a191a1125fb022b
-DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-musl.tar.xz 294179400
BLAKE2B
a006895e25fcec37dab3ffeace1661933cc0f38a0043839093194e41584e9d40beb2d900c93e4cd49089a4c2191249c8454d058acf6e528aeb459ba83f7b0611
SHA512
4e178cae7ee2a94c5e4a9266a4afcbb3fe2446e19a99f27b8257087a8d54a86248768eeaddb635191cb7348875d18fdb5308bbc7d4691516575686273eafa105
-DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B
485555c731b3e4d693e8d7f3dcbc8efc6b956a3203527c4f1323c7392668a3b6f0dddce73df2480d8fb073a0e3c6f535cd4fd1128a42211fb4828dc7478e4984
SHA512
7f7ea1fcc2b0f699b1a11dbcd840d7b9e9d117d7e893c2fb6ff37e83c71d98bdb256835680b1f766a08e100275d5e69ad4603fcb714d6736f76653feaf119dc8
DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B
d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268
SHA512
11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4
DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B
9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909
SHA512
e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd
DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B
d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d
SHA512
39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca
@@ -902,5 +846,3 @@ DIST rust-src-1.92.0.tar.xz 3530724 BLAKE2B
1385e8cc8062dffa69829e4ffeee7daaaedd
DIST rust-src-1.93.0.tar.xz 3722768 BLAKE2B
9b80cd62e3345cb523fc1596dc1957c03a5edb42e9144fdf1466959ebf347dba3725a1a777e9197dcdbdb7b99ef3cc6d2de9e6359c245db2a919064a2a92f91e
SHA512
02535cf5aca3efdc708d959c641994dc3f7f60385afbe3c4aa14037b5b7107ddfe1af0bca6493b97e0144e5d31e45937fe86b026e48bf6231ac7efd404762d83
DIST rust-src-1.93.1.tar.xz 3722488 BLAKE2B
61a63c8eb169917dd9140ddba06fbbf8e05ce54ee7331e6fb906eb705c69615922502da72f3646d35cf2a126b1624f3afe3ca45b611b6c7ebed843a38f8e6a3a
SHA512
5d4a5a3dede3b0334c779e9936030cfa46577600ee6d69e92e190d04c26c6020d262a6fd4e9b4516e7325a0e256ad18bc6d659bab0c638aa53dbe76f7d4dfa0f
DIST rust-src-1.94.0.tar.xz 3750144 BLAKE2B
d73556a8615f43dd00f61d78df329c2a203e8af2347a82c60d134a039af0a23e8fd01715c255600cb73d78195fa3f3be018c983bbf26f7340c5fb637a7d43128
SHA512
2e9dfe1419eb32e65e6585b2f777aa48c97485f36daf49fe04759821ad5b961923b19c1c0c67fe6f4dbd82cb27748f3f7709bf481ec0ea6bccae7ab878f97712
-DIST rust-src-1.94.0_beta20260126.tar.xz 3749064 BLAKE2B
ff884008033aac3b7bb9282ec3d4d4d43c2280a0514d3e43ccb588c545057a4df241b7645dfe679d6b4dfc1ac7de1f5df02ad33c8a5fc16185e2c3c775b27acd
SHA512
9a76eff1af369eb29f646d1125e37cf140685c3aa4930a75bfa7a6b299672c46525db06b2459626ddfa5ddabd26dcde297e8dadf0158ce302c2fcd5663769cc2
-DIST rust-src-1.94.0_beta20260213.tar.xz 3749440 BLAKE2B
cd8e864bc1f09d365e1810429e294693f79b72e945f913e9a16c5f423544c584784388a3ae3ec6da661720ad16040ff5a70259b8b65f6100249ac4ffd97e4a17
SHA512
841bab85c546d262d1b35f751e18e7b27585e3fcf21b6d2a185daa07294ff7dfaffc50c59b04334595c2f61e80b3582986c4bc2fe38716ab4ef89aa1ff86c656
diff --git a/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild
b/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild
deleted file mode 100644
index ef680a10f8ee..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild
+++ /dev/null
@@ -1,337 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 21 )
-LLVM_OPTIONAL="yes"
-
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
optfeature
-
-if [[ ${PV} == *9999* ]]; then
- # We need to fetch a tarball in src_unpack
- PROPERTIES+=" live"
-elif [[ ${PV} == *beta* ]]; then
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
"xz_url.*rust-src"
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-
RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
- SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
- rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz ->
rust-src-${PV}.tar.xz )
- "
-else
- # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep
"xz_url.*rust-src"
- SRC_URI="$(rust_all_arch_uris "rust-${PV}")
- rust-src? (
${RUST_TOOLCHAIN_BASEURL%/}/2026-01-22/rust-src-${PV}.tar.xz )
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390
~sparc ~x86"
-fi
-
-GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}"
# omit trailing slash
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
- # Keep this separate to allow easy commenting out if not yet built
- SRC_URI+=" sparc? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
- SRC_URI+=" mips? (
- abi_mips_o32? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
- )
- abi_mips_n64? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
- )
- )"
- SRC_URI+=" riscv? (
- elibc_musl? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
- )"
- SRC_URI+=" ppc64? ( elibc_musl? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz )
- ) )"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual
stable
-IUSE="big-endian +clippy cpu_flags_x86_sse2 +doc prefix rust-analyzer rust-src
+rustfmt"
-
-# net-misc/curl is needed for our own bootstrapped rustc, since
cross-compiling bundled curl is not supported
-RDEPEND="
- >=app-eselect/eselect-rust-20190311
- dev-libs/openssl
- net-misc/curl
- sys-apps/lsb-release
- || (
- llvm-runtimes/libgcc
- sys-devel/gcc:*
- )
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="
- prefix? ( dev-util/patchelf )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-# stripping rust may break it (at least on x86_64)
-# https://github.com/rust-lang/rust/issues/112286
-RESTRICT="strip"
-
-QA_PREBUILT="
- opt/rust-bin-${SLOT}/bin/.*
- opt/rust-bin-${SLOT}/lib/.*.so*
- opt/rust-bin-${SLOT}/libexec/.*
- opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
- opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
-"
-
-# An rmeta file is custom binary format that contains the metadata for the
crate.
-# rmeta files do not support linking, since they do not contain compiled
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- # We need to fetch the latest nightly listing and get the
apprapriate src_uri for our arch
- local rust_bin_url rustc_src_url
- # Cut down on webrequests by fetching the nightly toml once
- curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml >
"${WORKDIR}/channel-rust-nightly.toml" ||
- die "Failed to fetch nightly revision info"
- rustc_src_url=$(grep 'xz_url.*rust-src'
"${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
-
- if use rust-src; then
- einfo "Using nightly Rust-src from: ${rustc_src_url}"
- # We need to fetch the rust-src tarball
- einfo "Fetching nightly rust-src tarball ..."
- curl --progress-bar -L "${rustc_src_url}" -o
"${WORKDIR}/rust-src-${PV}.tar.xz" ||
- die "Failed to fetch nightly rust-src tarball."
- # no verify-sig here, just unpack it
- tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die
"Failed to unpack nightly rust-src tarball"
- fi
-
- local v
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- rust_bin_url=$(grep
"xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" |
cut -d '"' -f 2)
- einfo "Using nightly Rust from ${rust_bin_url} for
${rust_target}"
-
- einfo "Fetching nightly Rust tarball for ${rust_target}
..."
- curl --progress-bar -L "${rust_bin_url}" -O || die
"Failed to fetch nightly tarball for ${rust_target}"
- if use verify-sig; then
- einfo "Fetching nightly signature for
${rust_target} ..."
- curl --progress-bar -L "${rust_bin_url}.asc" -O
|| die "Failed to fetch nightly signature for ${rust_target}"
- verify-sig_verify_detached
"${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \
-
"${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc"
- fi
-
- tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz"
|| die "Failed to unpack nightly tarball for ${rust_target}"
- done
- else
- # sadly rust-src tarball does not have corresponding .asc file
- # so do partial verification
- if use verify-sig; then
- for f in ${A}; do
- if [[ -f ${DISTDIR}/${f}.asc ]]; then
- verify-sig_verify_detached
"${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
- fi
- done
- fi
-
- default_src_unpack
- fi
-
- # We only want to do this for the native ABI. Non-native ABIs are
- # handled differently in multilib_src_install.
- case ${PV} in
- *9999*)
- mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
- ;;
- *beta*)
- mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
- ;;
- *)
- mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
- ;;
- esac
-}
-
-patchelf_for_bin() {
- local filetype=$(file -b ${1})
- if [[ ${filetype} == *ELF*interpreter* ]]; then
- einfo "${1}'s interpreter changed"
- patchelf ${1} --set-interpreter ${2} || die
- elif [[ ${filetype} == *script* ]]; then
- hprefixify ${1}
- fi
-}
-
-rust_native_abi_install() {
- pushd "${S}" >/dev/null || die
- local std="$(grep 'std' ./components || die "std not found in
components")"
- local components=( "rustc" "cargo" "${std}" )
- use doc && components+=( "rust-docs" )
- use clippy && components+=( "clippy-preview" )
- use rustfmt && components+=( "rustfmt-preview" )
- if use rust-analyzer; then
- local analysis="$(grep 'analysis' ./components || die "analysis
not found in components")"
- components+=( "rust-analyzer-preview" "${analysis}" )
- fi
- # Rust component 'rust-src' is extracted from separate archive
- if use rust-src; then
- einfo "Combining rust and rust-src installers"
- case ${PV} in
- *9999*)
- mv -v "${WORKDIR}/rust-src-nightly/rust-src"
"${S}" || die
- ;;
- *beta*)
- mv -v "${WORKDIR}/rust-src-beta/rust-src"
"${S}" || die
- ;;
- *)
- mv -v "${WORKDIR}/rust-src-${PV}/rust-src"
"${S}" || die
- ;;
- esac
- echo rust-src >> ./components || die
- components+=( "rust-src" )
- fi
- edo ./install.sh \
- --components="$(IFS=,; echo "${components[*]}")" \
- --disable-verify \
- --prefix="${ED}/opt/rust-bin-${SLOT}" \
- --mandir="${ED}/opt/rust-bin-${SLOT}/man" \
- --disable-ldconfig
-
- docompress /opt/${P}/man/
-
- if use prefix; then
- local interpreter=$(patchelf --print-interpreter
"${EPREFIX}"/bin/bash)
- ebegin "Changing interpreter to ${interpreter} for Gentoo
prefix at ${ED}/opt/rust-bin-${SLOT}/bin"
- find "${ED}/opt/rust-bin-${SLOT}/bin" -type f -print0 | \
- while IFS= read -r -d '' filename; do
- patchelf_for_bin ${filename} ${interpreter} \;
|| die
- done
- eend $?
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
- use rust-analyzer && symlinks+=( rust-analyzer )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return
version-appended binary path.
- # so /usr/bin/rustc should point to
/opt/rust-bin-<ver>/bin/rustc-<ver>
- local ver_i="${i}-bin-${SLOT}"
- ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}"
"${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die
- dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}"
"/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib"
"/usr/lib/rustlib-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust"
"/usr/share/doc/rust-bin-${SLOT}"
-
- # make all capital underscored variable
- local CARGO_TRIPLET="$(rust_abi)"
- CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
- CARGO_TRIPLET="${CARGO_TRIPLET^^}"
- cat <<-_EOF_ > "${T}/50${P}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}"
- $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C
target-feature=-crt-static\"")
- _EOF_
- doenvd "${T}/50${P}"
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}"
- fi
- if use rust-analyzer; then
- echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${PN}-${SLOT}"
- popd >/dev/null || die
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- rust_native_abi_install
- else
- local rust_target version
- case ${PV} in
- *9999*)
- version=nightly
- ;;
- *beta*)
- version=beta
- ;;
- *)
- version=${PV}
- ;;
- esac
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- dodir "/opt/${P}/lib/rustlib"
- cp -vr
"${WORKDIR}/rust-${version}-${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.94.0_beta20260213.ebuild
b/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild
deleted file mode 100644
index ef680a10f8ee..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild
+++ /dev/null
@@ -1,337 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 21 )
-LLVM_OPTIONAL="yes"
-
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
optfeature
-
-if [[ ${PV} == *9999* ]]; then
- # We need to fetch a tarball in src_unpack
- PROPERTIES+=" live"
-elif [[ ${PV} == *beta* ]]; then
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
"xz_url.*rust-src"
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-
RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/
- SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV})
- rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz ->
rust-src-${PV}.tar.xz )
- "
-else
- # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep
"xz_url.*rust-src"
- SRC_URI="$(rust_all_arch_uris "rust-${PV}")
- rust-src? (
${RUST_TOOLCHAIN_BASEURL%/}/2026-01-22/rust-src-${PV}.tar.xz )
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390
~sparc ~x86"
-fi
-
-GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}"
# omit trailing slash
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
- # Keep this separate to allow easy commenting out if not yet built
- SRC_URI+=" sparc? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
- SRC_URI+=" mips? (
- abi_mips_o32? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
- )
- abi_mips_n64? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
- )
- )"
- SRC_URI+=" riscv? (
- elibc_musl? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
- )"
- SRC_URI+=" ppc64? ( elibc_musl? (
- big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
- !big-endian? (
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz )
- ) )"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual
stable
-IUSE="big-endian +clippy cpu_flags_x86_sse2 +doc prefix rust-analyzer rust-src
+rustfmt"
-
-# net-misc/curl is needed for our own bootstrapped rustc, since
cross-compiling bundled curl is not supported
-RDEPEND="
- >=app-eselect/eselect-rust-20190311
- dev-libs/openssl
- net-misc/curl
- sys-apps/lsb-release
- || (
- llvm-runtimes/libgcc
- sys-devel/gcc:*
- )
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="
- prefix? ( dev-util/patchelf )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-# stripping rust may break it (at least on x86_64)
-# https://github.com/rust-lang/rust/issues/112286
-RESTRICT="strip"
-
-QA_PREBUILT="
- opt/rust-bin-${SLOT}/bin/.*
- opt/rust-bin-${SLOT}/lib/.*.so*
- opt/rust-bin-${SLOT}/libexec/.*
- opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.*
- opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.*
-"
-
-# An rmeta file is custom binary format that contains the metadata for the
crate.
-# rmeta files do not support linking, since they do not contain compiled
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- # We need to fetch the latest nightly listing and get the
apprapriate src_uri for our arch
- local rust_bin_url rustc_src_url
- # Cut down on webrequests by fetching the nightly toml once
- curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml >
"${WORKDIR}/channel-rust-nightly.toml" ||
- die "Failed to fetch nightly revision info"
- rustc_src_url=$(grep 'xz_url.*rust-src'
"${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2)
-
- if use rust-src; then
- einfo "Using nightly Rust-src from: ${rustc_src_url}"
- # We need to fetch the rust-src tarball
- einfo "Fetching nightly rust-src tarball ..."
- curl --progress-bar -L "${rustc_src_url}" -o
"${WORKDIR}/rust-src-${PV}.tar.xz" ||
- die "Failed to fetch nightly rust-src tarball."
- # no verify-sig here, just unpack it
- tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die
"Failed to unpack nightly rust-src tarball"
- fi
-
- local v
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- rust_bin_url=$(grep
"xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" |
cut -d '"' -f 2)
- einfo "Using nightly Rust from ${rust_bin_url} for
${rust_target}"
-
- einfo "Fetching nightly Rust tarball for ${rust_target}
..."
- curl --progress-bar -L "${rust_bin_url}" -O || die
"Failed to fetch nightly tarball for ${rust_target}"
- if use verify-sig; then
- einfo "Fetching nightly signature for
${rust_target} ..."
- curl --progress-bar -L "${rust_bin_url}.asc" -O
|| die "Failed to fetch nightly signature for ${rust_target}"
- verify-sig_verify_detached
"${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \
-
"${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc"
- fi
-
- tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz"
|| die "Failed to unpack nightly tarball for ${rust_target}"
- done
- else
- # sadly rust-src tarball does not have corresponding .asc file
- # so do partial verification
- if use verify-sig; then
- for f in ${A}; do
- if [[ -f ${DISTDIR}/${f}.asc ]]; then
- verify-sig_verify_detached
"${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
- fi
- done
- fi
-
- default_src_unpack
- fi
-
- # We only want to do this for the native ABI. Non-native ABIs are
- # handled differently in multilib_src_install.
- case ${PV} in
- *9999*)
- mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die
- ;;
- *beta*)
- mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die
- ;;
- *)
- mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die
- ;;
- esac
-}
-
-patchelf_for_bin() {
- local filetype=$(file -b ${1})
- if [[ ${filetype} == *ELF*interpreter* ]]; then
- einfo "${1}'s interpreter changed"
- patchelf ${1} --set-interpreter ${2} || die
- elif [[ ${filetype} == *script* ]]; then
- hprefixify ${1}
- fi
-}
-
-rust_native_abi_install() {
- pushd "${S}" >/dev/null || die
- local std="$(grep 'std' ./components || die "std not found in
components")"
- local components=( "rustc" "cargo" "${std}" )
- use doc && components+=( "rust-docs" )
- use clippy && components+=( "clippy-preview" )
- use rustfmt && components+=( "rustfmt-preview" )
- if use rust-analyzer; then
- local analysis="$(grep 'analysis' ./components || die "analysis
not found in components")"
- components+=( "rust-analyzer-preview" "${analysis}" )
- fi
- # Rust component 'rust-src' is extracted from separate archive
- if use rust-src; then
- einfo "Combining rust and rust-src installers"
- case ${PV} in
- *9999*)
- mv -v "${WORKDIR}/rust-src-nightly/rust-src"
"${S}" || die
- ;;
- *beta*)
- mv -v "${WORKDIR}/rust-src-beta/rust-src"
"${S}" || die
- ;;
- *)
- mv -v "${WORKDIR}/rust-src-${PV}/rust-src"
"${S}" || die
- ;;
- esac
- echo rust-src >> ./components || die
- components+=( "rust-src" )
- fi
- edo ./install.sh \
- --components="$(IFS=,; echo "${components[*]}")" \
- --disable-verify \
- --prefix="${ED}/opt/rust-bin-${SLOT}" \
- --mandir="${ED}/opt/rust-bin-${SLOT}/man" \
- --disable-ldconfig
-
- docompress /opt/${P}/man/
-
- if use prefix; then
- local interpreter=$(patchelf --print-interpreter
"${EPREFIX}"/bin/bash)
- ebegin "Changing interpreter to ${interpreter} for Gentoo
prefix at ${ED}/opt/rust-bin-${SLOT}/bin"
- find "${ED}/opt/rust-bin-${SLOT}/bin" -type f -print0 | \
- while IFS= read -r -d '' filename; do
- patchelf_for_bin ${filename} ${interpreter} \;
|| die
- done
- eend $?
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
- use rust-analyzer && symlinks+=( rust-analyzer )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return
version-appended binary path.
- # so /usr/bin/rustc should point to
/opt/rust-bin-<ver>/bin/rustc-<ver>
- local ver_i="${i}-bin-${SLOT}"
- ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}"
"${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die
- dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}"
"/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib"
"/usr/lib/rustlib-bin-${SLOT}"
- dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust"
"/usr/share/doc/rust-bin-${SLOT}"
-
- # make all capital underscored variable
- local CARGO_TRIPLET="$(rust_abi)"
- CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
- CARGO_TRIPLET="${CARGO_TRIPLET^^}"
- cat <<-_EOF_ > "${T}/50${P}"
- MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}"
- $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C
target-feature=-crt-static\"")
- _EOF_
- doenvd "${T}/50${P}"
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}"
- fi
- if use rust-analyzer; then
- echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${PN}-${SLOT}"
- popd >/dev/null || die
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- rust_native_abi_install
- else
- local rust_target version
- case ${PV} in
- *9999*)
- version=nightly
- ;;
- *beta*)
- version=beta
- ;;
- *)
- version=${PV}
- ;;
- esac
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- dodir "/opt/${P}/lib/rustlib"
- cp -vr
"${WORKDIR}/rust-${version}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
- "${ED}/opt/${P}/lib/rustlib" || die
- fi
-
- # BUG: installs x86_64 binary on other arches
- rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version dev-debug/gdb || has_version llvm-core/lldb; then
- elog "Rust installs helper scripts for calling GDB and LLDB,"
- elog "for convenience they are installed under
/usr/bin/rust-{gdb,lldb}-${PV}."
- fi
-
- if has_version app-editors/emacs; then
- optfeature "emacs support for rust" app-emacs/rust-mode
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- optfeature "vim support for rust" app-vim/rust-vim
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-common/Manifest b/dev-lang/rust-common/Manifest
index 713c1dada4f2..6a34f9a87d98 100644
--- a/dev-lang/rust-common/Manifest
+++ b/dev-lang/rust-common/Manifest
@@ -28,7 +28,3 @@ DIST rustc-1.93.1-src.tar.xz 270888296 BLAKE2B
fe5a9072161cf758221974f1f59b1a198
DIST rustc-1.93.1-src.tar.xz.asc 801 BLAKE2B
9e059c894770a402d5fee2a29ffdb42030d8d723a40d6312d983e53cd4fa64e97019a0ea6054dcb17ba2ead7f27db17eec2632950f13e4ef1410324afc4dcaf8
SHA512
8a290300e370b3833d2d365a451ed4708dbe1fa69fc57b73eef0b2b5d9dd4fb3d87344315aee3aea474d4071cfb535234e167f6576abf2e06ef3225c85e3c30d
DIST rustc-1.94.0-src.tar.xz 273916448 BLAKE2B
cab2e007c1a5401c653218ff0dd542d10c0d7a4fcc7bf2ee269cbbb9760bdd04c78276beddc2f6b1f4d47df96a11079087f109e248951c2a157be73ca2c3e8db
SHA512
8397fa68055827363bff5a1dd228a05e4c4ca5a179d072ecc1b330a874c183529cb9346ec9c531fb3f066b7b6094fc8711d7c341a49755af7b50d63bf0ecff2b
DIST rustc-1.94.0-src.tar.xz.asc 801 BLAKE2B
d6ce44d51e59ecd22b953b391134ba470ec4ee1089031c34f7809199bd4eda3f54c5907a92f362cf5c0151d75b14360cd44d5a2556f785cbc1c3de5a0335573b
SHA512
0a5b067e0e137489f49c7e445992f7a456e884d39158e4d9b5b59af41c62e5dbfe8abeaa02af33ca072b663dbc649004bc83ff18899bf1bfaed0eb90aac5f67f
-DIST rustc-1.94.0_beta20260126-src.tar.xz 273937952 BLAKE2B
14deb9a1a837283ae544c9e05a490d6d2b6fe924838505f22ee821713ada640ec6c11ddc5fdf11bb7925fd4bff0e1399975bbe5ef47c926aab4ed10976db60dc
SHA512
3e0517ebd37a9b459a92a432e9c6c7e276878bb8453007ce3b3c1ef53dbee8b436252d09cdfbe4482321076c9b4a0d49a3ab74b6ae845260ce4d4f47112d0b68
-DIST rustc-1.94.0_beta20260126-src.tar.xz.asc 801 BLAKE2B
6b807dce7ca74cec7cefd7886aa569e0f5a908a9199149624f4d641d94e9daea4ea837a6dd96792efaebd6b21e70acd6654e78f01325e36f9108b0e0b3bc5c4e
SHA512
c425b9ff8eeb4973ce3b53eca5cc35f78983062195be9b671565fc48fc7fe2edf424d7618ccc98fec89c2ca8f7f43e176f06c624c1d1172b7033ea66cee6d575
-DIST rustc-1.94.0_beta20260213-src.tar.xz 273898560 BLAKE2B
be0fa61b6677de16352628c9c5243bc75b6697c7511cf97d6a02bce8cb09f5fb7aeafeedce29837d3812f0fbee1f4cdc48dae27dc7d02878c06144b3941a8510
SHA512
d48a821ab4adf1a8e8d2b313a6d1c460b28aecf4fa0bd3af7f81318b49abffb71d87a5bc08335adc62b6d4a99c074969a98e6516f679d484ed74086982686457
-DIST rustc-1.94.0_beta20260213-src.tar.xz.asc 801 BLAKE2B
aa6662652ce4f92abd50f0a2dfb914d93dc877b71b406aacd57346a62b0139ff296df951d20b3c91a5e187b50876c465b44b396a7d2abcf92d343013c4f3a3a2
SHA512
4c5d17df5aa9979735c2a2784c53251a1c5a120007cc581fb49fd6eb56c35a81a054840f1d9b40f3da18a6e372b054bc7bf8213295ff874ef428f1337d7756cb
diff --git a/dev-lang/rust-common/rust-common-1.94.0_beta20260126.ebuild
b/dev-lang/rust-common/rust-common-1.94.0_beta20260126.ebuild
deleted file mode 100644
index 1037d635a091..000000000000
--- a/dev-lang/rust-common/rust-common-1.94.0_beta20260126.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-inherit shell-completion verify-sig
-
-DESCRIPTION="Common files shared between multiple slots of Rust"
-HOMEPAGE="https://www.rust-lang.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- # In case cargo is not in sync we'll fetch it as a submodule
- # Nightly users will probably already have the repo cloned and
up-to-date anyway.
- EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
- EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- MY_PV=beta
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz
-> rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/rustc-${MY_PV}-src"
-else
- MY_PV=${PV}
- SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/rustc-${MY_PV}-src"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="0"
-
-# Legacy non-slotted versions bash completions will collide.
-RDEPEND="
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- else
- if use verify-sig ; then
- verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
- fi
-
- # Avoid unpacking the whole tarball which would need check-reqs
- tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \
-
"rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
- fi
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
- dozshcomp src/tools/cargo/src/etc/_cargo
-}
diff --git a/dev-lang/rust-common/rust-common-1.94.0_beta20260213.ebuild
b/dev-lang/rust-common/rust-common-1.94.0_beta20260213.ebuild
deleted file mode 100644
index 1037d635a091..000000000000
--- a/dev-lang/rust-common/rust-common-1.94.0_beta20260213.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-inherit shell-completion verify-sig
-
-DESCRIPTION="Common files shared between multiple slots of Rust"
-HOMEPAGE="https://www.rust-lang.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- # In case cargo is not in sync we'll fetch it as a submodule
- # Nightly users will probably already have the repo cloned and
up-to-date anyway.
- EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
- EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- MY_PV=beta
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz
-> rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/rustc-${MY_PV}-src"
-else
- MY_PV=${PV}
- SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/rustc-${MY_PV}-src"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="0"
-
-# Legacy non-slotted versions bash completions will collide.
-RDEPEND="
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- else
- if use verify-sig ; then
- verify-sig_verify_detached
"${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
- fi
-
- # Avoid unpacking the whole tarball which would need check-reqs
- tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \
-
"rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
- fi
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
- dozshcomp src/tools/cargo/src/etc/_cargo
-}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 953dc1db1721..4df9531ef9c9 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -22,8 +22,6 @@ DIST rust-patches-1.92.0_p1.tar.bz2 5993 BLAKE2B
aa3183a46834b9442fd79fcda61a308
DIST rust-patches-1.93.0.tar.bz2 3175 BLAKE2B
4849208072cf0a047a9fe2ee27d384349b713149b7d087a6ff39a41ec1a7b77884710374dcac44c4378b320da0b4061fa531edd8b2b1cc04199fd51cdb1c2e78
SHA512
b818e14653a66447a221f84363cad54ee893842025c2b6c02c08df76bdf8666664564a5bc405ee988223048c2b986ea818d685babfddee5ff7559f9567bb9dbb
DIST rust-patches-1.93.1.tar.bz2 3186 BLAKE2B
6ff137eb2c1b43857922ac3d9b0cc3dbe71180c05d318c5b0f54c371117426ad8daa8ec19cffc19c2550564ac4b7cfd38f4c0fa42a5b8d2ae94fe668a94aa567
SHA512
ded2af5cc9516d8bbce675f323747a96fea814f2344065a45ca7968a21e31aaa5e0bf0a45f6f831a9d62047e782306d5319c6c3ed887e3ceb75011d1849a5303
DIST rust-patches-1.94.0.tar.bz2 3165 BLAKE2B
07187fcc95458cf3323490a54d648209ae24c9c44522f5c0bf2b12ac469e86dd1145d70557c7c09a097019b262f557af162fc3687bfda10451e2e164a0f4ec78
SHA512
39f9288335c62b477465c44904e922f1ce8b62c840a9b6ce2d13dee670f6935cfbccc88faf314d5e766103ada969513badee251b6485e8abaeadca7b65cf9e23
-DIST rust-patches-1.94.0_beta20260126.tar.bz2 3173 BLAKE2B
003a78d43575127fcadb423be6d231269753cb75cdc35eb063ff65293031bdfbd32ea91456f454aeeaae5e411aeacbddb388c6b08f079129482bef841277f497
SHA512
1fe20b04d7537d02fbe1d73e348d66543472c7938ee5eb18e283c2185a7e9253ddbf6600c4e56175744d62ba7f453b77624f3aa252bc2c9f07ce797c0bc0707d
-DIST rust-patches-1.94.0_beta20260213.tar.bz2 3170 BLAKE2B
c71adad5a61fc0d90865c29193490ddf908885a2712f5b180917797bdc7b7dc3cd836b6410a32341a6c2512d937ad2ecbaecfdbd1a97cd32be527a2adabb680c
SHA512
d94c6cdb79c88df42708cd8800d5dab5d65491ba16b99e8c79d1c50321f685aeecf4513d8431e5643805f5e0cd7addc80fd14bb05ef1ba8a7b084e03c67a275f
DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B
e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3
SHA512
14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d
DIST rustc-1.74.1-src.tar.xz.asc 801 BLAKE2B
ddf73175b164233babf31ca3a381b03e20c0f36d017c1d5f85d6ab11f0986d861ab23b11c061e6b2444ced70c3d6a494cc3de4ec86f0deb221a805491bd75420
SHA512
9a96ff9ba9a4e2af4e267b2ec126fc0675c78d0eb767703daa2f28491c3d85c2ab00fbd8584390bf658812ec6c4ab6c57e43b386db59fd505bd3134a8873a09e
DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B
8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495
SHA512
7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606
@@ -72,7 +70,3 @@ DIST rustc-1.93.1-src.tar.xz 270888296 BLAKE2B
fe5a9072161cf758221974f1f59b1a198
DIST rustc-1.93.1-src.tar.xz.asc 801 BLAKE2B
9e059c894770a402d5fee2a29ffdb42030d8d723a40d6312d983e53cd4fa64e97019a0ea6054dcb17ba2ead7f27db17eec2632950f13e4ef1410324afc4dcaf8
SHA512
8a290300e370b3833d2d365a451ed4708dbe1fa69fc57b73eef0b2b5d9dd4fb3d87344315aee3aea474d4071cfb535234e167f6576abf2e06ef3225c85e3c30d
DIST rustc-1.94.0-src.tar.xz 273916448 BLAKE2B
cab2e007c1a5401c653218ff0dd542d10c0d7a4fcc7bf2ee269cbbb9760bdd04c78276beddc2f6b1f4d47df96a11079087f109e248951c2a157be73ca2c3e8db
SHA512
8397fa68055827363bff5a1dd228a05e4c4ca5a179d072ecc1b330a874c183529cb9346ec9c531fb3f066b7b6094fc8711d7c341a49755af7b50d63bf0ecff2b
DIST rustc-1.94.0-src.tar.xz.asc 801 BLAKE2B
d6ce44d51e59ecd22b953b391134ba470ec4ee1089031c34f7809199bd4eda3f54c5907a92f362cf5c0151d75b14360cd44d5a2556f785cbc1c3de5a0335573b
SHA512
0a5b067e0e137489f49c7e445992f7a456e884d39158e4d9b5b59af41c62e5dbfe8abeaa02af33ca072b663dbc649004bc83ff18899bf1bfaed0eb90aac5f67f
-DIST rustc-1.94.0_beta20260126-src.tar.xz 273937952 BLAKE2B
14deb9a1a837283ae544c9e05a490d6d2b6fe924838505f22ee821713ada640ec6c11ddc5fdf11bb7925fd4bff0e1399975bbe5ef47c926aab4ed10976db60dc
SHA512
3e0517ebd37a9b459a92a432e9c6c7e276878bb8453007ce3b3c1ef53dbee8b436252d09cdfbe4482321076c9b4a0d49a3ab74b6ae845260ce4d4f47112d0b68
-DIST rustc-1.94.0_beta20260126-src.tar.xz.asc 801 BLAKE2B
6b807dce7ca74cec7cefd7886aa569e0f5a908a9199149624f4d641d94e9daea4ea837a6dd96792efaebd6b21e70acd6654e78f01325e36f9108b0e0b3bc5c4e
SHA512
c425b9ff8eeb4973ce3b53eca5cc35f78983062195be9b671565fc48fc7fe2edf424d7618ccc98fec89c2ca8f7f43e176f06c624c1d1172b7033ea66cee6d575
-DIST rustc-1.94.0_beta20260213-src.tar.xz 273898560 BLAKE2B
be0fa61b6677de16352628c9c5243bc75b6697c7511cf97d6a02bce8cb09f5fb7aeafeedce29837d3812f0fbee1f4cdc48dae27dc7d02878c06144b3941a8510
SHA512
d48a821ab4adf1a8e8d2b313a6d1c460b28aecf4fa0bd3af7f81318b49abffb71d87a5bc08335adc62b6d4a99c074969a98e6516f679d484ed74086982686457
-DIST rustc-1.94.0_beta20260213-src.tar.xz.asc 801 BLAKE2B
aa6662652ce4f92abd50f0a2dfb914d93dc877b71b406aacd57346a62b0139ff296df951d20b3c91a5e187b50876c465b44b396a7d2abcf92d343013c4f3a3a2
SHA512
4c5d17df5aa9979735c2a2784c53251a1c5a120007cc581fb49fd6eb56c35a81a054840f1d9b40f3da18a6e372b054bc7bf8213295ff874ef428f1337d7756cb
diff --git a/dev-lang/rust/rust-1.94.0_beta20260126.ebuild
b/dev-lang/rust/rust-1.94.0_beta20260126.ebuild
deleted file mode 100644
index d0e4413c459b..000000000000
--- a/dev-lang/rust/rust-1.94.0_beta20260126.ebuild
+++ /dev/null
@@ -1,890 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump
-
-LLVM_COMPAT=( 21 )
-PYTHON_COMPAT=( python3_{11..14} )
-
-# Patches are kept in rust-patches.git, see its README.rst for the versioning
-# scheme.
-#
-# We use _pN from the ebuild version for the patchset but it can be overridden
-# in the ebuild for changes that don't require a revbump.
-#
-# Uncomment this line when the ebuild needs a patchset update but no revbump.
-#RUST_PATCH_VER=${PV}-1
-
-RUST_MAX_VER=${PV%%_*}
-RUST_PV=${PV%%_p*}
-RUST_P=${PN}-${RUST_PV}
-[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV}
-
-if [[ ${PV} == *9999* ]]; then
- # Update this as new `beta` releases come out.
- RUST_MIN_VER="1.93.0"
-elif [[ ${PV} == *beta* ]]; then
- RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-else
- RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-fi
-
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
-inherit multilib multilib-build python-any-r1 rust rust-toolchain
toolchain-funcs
-inherit verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
- SRC_URI="
-
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz ->
rustc-${RUST_PV}-src.tar.xz
-
https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2
- verify-sig? (
-
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${RUST_PV}-src.tar.xz.asc
- )
- "
- S="${WORKDIR}/${MY_P}-src"
-else
- MY_P="rustc-${RUST_PV}"
- SRC_URI="
- https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
-
https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2
- verify-sig? (
https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
-fi
-
-DESCRIPTION="Systems programming language originally developed by Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai )
-ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV
)
-ALL_LLVM_TARGETS+=( SystemZ VE WebAssembly X86 XCore Xtensa )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-#
https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt
-_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa )
-declare -A ALL_RUST_EXPERIMENTAL_TARGETS
-for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
- ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0
-done
-
-# Bare metal targets which can be built on the host system and have no
-# dependency on compiler runtime, libc and unwinder.
-ALL_RUST_SYSROOTS=( bpf wasm )
-ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" )
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual
stable
-
-IUSE="big-endian +clippy cpu_flags_x86_sse2 debug dist +doc llvm-libunwind lto"
-IUSE+=" +rustfmt rust-analyzer rust-src +system-llvm test"
-IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}"
-
-if [[ ${PV} = *9999* ]]; then
- # These USE flags require nightly rust
- IUSE+=" miri"
-fi
-
-LLVM_DEPEND=()
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-for _x in "${ALL_LLVM_TARGETS[@]}"; do
- LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep
"llvm-core/llvm:\${LLVM_SLOT}[${_x}=]") )" )
- if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then
- ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1
- fi
-done
-LLVM_DEPEND+=( " rust_sysroots_wasm? ( $(llvm_gen_dep
'llvm-core/lld:${LLVM_SLOT}') )" )
-LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
-
-# dev-libs/oniguruma is used for documentation
-BDEPEND="
- ${PYTHON_DEPS}
- app-eselect/eselect-rust
- dev-libs/oniguruma
- || (
- >=sys-devel/gcc-4.7[cxx]
- >=llvm-core/clang-3.5
- )
- lto? ( system-llvm? (
- || (
- $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}')
- sys-devel/mold
- )
- ) )
- rust_sysroots_wasm? ( llvm-core/clang )
- !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]
- virtual/zlib:=
- dev-libs/openssl:0=
- system-llvm? (
- ${LLVM_DEPEND[*]}
- llvm-libunwind? ( llvm-runtimes/libunwind:= )
- )
- !system-llvm? (
- !llvm-libunwind? (
- elibc_musl? ( sys-libs/libunwind:= )
- )
- )
-"
-
-RDEPEND="
- ${DEPEND}
- app-eselect/eselect-rust
- dev-lang/rust-common
- sys-apps/lsb-release
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-
-REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
- rust-analyzer? ( rust-src )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- rust_sysroots_bpf? ( llvm_targets_BPF )
- rust_sysroots_wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warning
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${SLOT}/bin/.*
- usr/lib/${PN}/${SLOT}/libexec/.*
- usr/lib/${PN}/${SLOT}/lib/lib.*.so
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_PRESTRIPPED="
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
-"
-
-# An rmeta file is custom binary format that contains the metadata for the
crate.
-# rmeta files do not support linking, since they do not contain compiled
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-
-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} ))
- if [[ ${PV} == *9999* ]]; then
- M=$(( $(usex miri 128 0) + ${M} ))
- fi
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- # add 2G if we compile llvm and 256M per llvm_target
- if ! use system-llvm; then
- M=$(( 2048 + ${M} ))
- local ltarget
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do
- M=$(( $(usex ${ltarget} 256 0) + ${M} ))
- done
- fi
- M=$(( $(usex rust_sysroots_bpf 256 0) + ${M} ))
- M=$(( $(usex rust_sysroots_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
-}
-
-rust_live_get_sources() {
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/rust-patches.git
- "
- EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}"
- git-r3_src_unpack
-
- EGIT_REPO_URI="
- https://github.com/rust-lang/rust.git
- "
- EGIT_SUBMODULES=(
- "*"
- "-src/gcc"
- )
- S="${WORKDIR}/rust"
- EGIT_CHECKOUT_DIR="${S}"
- git-r3_src_unpack
-}
-
-src_unpack() {
- if [[ ${PV} == *9999* ]] ; then
- rust_live_get_sources
-
- # Vendor dependencies
- mkdir "${S}/.cargo" || die # The vendor script has a check for
.cargo/config{,.toml}
- touch "${S}/.cargo/bootstrap.toml" || die
- local rust_stage0_root="$(${RUSTC} --print sysroot || die
"Can't determine rust's sysroot")"
- # Configure vendor to use the portage-provided toolchain. This
prevents it from
- # attempting to fetch a `beta` toolchain from the internet.
- cat <<- _EOF_ > "${T}/vendor-bootstrap.toml"
- # Suppresses a warning about tracking changes which we
don't care about.
- change-id = "ignore"
- [build]
- build = "$(rust_abi "${CBUILD}")"
- host = ["$(rust_abi "${CHOST}")"]
- target = ["$(rust_abi "${CHOST}")"]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- rustfmt = "${rust_stage0_root}/bin/rustfmt"
- _EOF_
- # We're using git sources so we need to run the Vendor script
- # to ensure that all dependencies are present and up-to-date
- mkdir "${S}/vendor" || die
- # This also compiles the 'build helper', there's no way to
avoid this.
- ${EPYTHON} "${S}"/x.py vendor -v
--config="${T}"/vendor-bootstrap.toml -j$(makeopts_jobs) ||
- die "Failed to vendor dependencies"
- # TODO: This has to be generated somehow, this is from a 1.84.x
tarball I had lying around.
- cat <<- _EOF_ > "${S}/.cargo/config.toml"
- [source.crates-io]
- replace-with = "vendored-sources"
-
- [source."git+https://github.com/rust-lang/team"]
- git = "https://github.com/rust-lang/team"
- replace-with = "vendored-sources"
-
- [source.vendored-sources]
- directory = "vendor"
- _EOF_
- elif use verify-sig ; then
- # Patch tarballs are not signed (but we trust Gentoo infra)
- verify-sig_verify_detached
"${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc}
- default
- else
- default
- fi
-}
-
-src_prepare() {
- # Commit patches to the appropriate branch in proj/rust-patches.git
- # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
- PATCHES=(
- "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
- )
-
- if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then
- export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld"
- 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
-
- # Avoid bundled copies of libraries
- export RUSTONIG_SYSTEM_LIBONIG=1
- # Need to check if these can be optional
- #export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
- #export LIBSSH2_SYS_USE_PKG_CONFIG=1
-
- 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 rust_sysroots_bpf; then
- rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\""
- fi
- if use rust_sysroots_wasm; then
- rust_targets+=",\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/'
compiler/rustc_target/src/spec/base/wasm.rs || die
- fi
- fi
- rust_targets="${rust_targets#,}"
-
- # cargo and rustdoc are mandatory and should always be included
- local tools='"cargo","rustdoc"'
- use clippy && tools+=',"clippy"'
- use rustfmt && tools+=',"rustfmt"'
- use rust-analyzer &&
tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
- use rust-src && tools+=',"src"'
-
- if [[ ${PV} == *9999* ]]; then
- use miri && tools+=',"miri"'
- fi
-
- local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't
determine rust's sysroot")"
- # in case of prefix it will be already prefixed, as --print sysroot
returns full path
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a
directory"
-
- rust_target="$(rust_abi)"
- rust_build="$(rust_abi "${CBUILD}")"
- rust_host="$(rust_abi "${CHOST}")"
-
- RUST_EXPERIMENTAL_TARGETS=()
- for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
- if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use
${_x} ; then
- RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} )
- fi
- done
- RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]}
-
- local cm_btype="$(usex debug DEBUG RELEASE)"
- local build_channel
- local build_miri="false"
- case "${PV}" in
- *9999*)
- build_channel="nightly"
- ;;
- *beta*)
- build_channel="beta"
- ;;
- *)
- build_channel="stable"
- ;;
- esac
-
- # TODO: Add optimized-compiler-builtins for system-llvm to avoid
- # building bundled compiler-rt.
- cat <<- _EOF_ > "${S}"/bootstrap.toml
- # Suppresses a warning about tracking changes which we don't
care about.
- change-id = "ignore"
- # https://github.com/rust-lang/rust/issues/135358 (bug #947897)
- profile = "dist"
- [llvm]
- download-ci-llvm = false
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = "${RUST_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"
- description = "gentoo"
- docs = $(toml_usex doc)
- compiler-docs = false
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = true
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debug-assertions-std = $(toml_usex debug)
- debuginfo-level = $(usex debug 2 0)
- debuginfo-level-rustc = $(usex debug 2 0)
- debuginfo-level-std = $(usex debug 2 0)
- debuginfo-level-tools = $(usex debug 2 0)
- debuginfo-level-tests = 0
- backtrace = true
- incremental = false
- $(if ! tc-is-cross-compiler; then
- echo "default-linker = \"${CHOST}-cc\""
- fi)
- channel = "${build_channel}"
- rpath = true
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- omit-git-hash = false
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex rust_sysroots_wasm))
- $(if use lto && tc-is-clang && ! tc-ld-is-mold; then
- echo "use-lld = true"
- fi)
- # 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 rust_sysroots_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}"/bootstrap.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}"/bootstrap.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}"/bootstrap.toml
- crt-static = false
- musl-root = "$($(tc-getCC) -print-sysroot)/usr"
- _EOF_
- fi
- done
- if use rust_sysroots_wasm; then
- wasm_target="wasm32-unknown-unknown"
- if tc-is-clang; then
- local wasm_cc=$(tc-getCC)
- local wasm_cxx=$(tc-getCXX)
- else
- local wasm_cc=${CHOST}-clang
- local wasm_cxx=${CHOST}-clang++
- fi
- export CFLAGS_${wasm_target//-/_}="$(
- CC="${wasm_cc} --target=wasm32-unknown-unknown"
- filter-flags '-mcpu*' '-march*' '-mtune*'
- strip-unsupported-flags
- echo "${CFLAGS}"
- )"
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- [target.wasm32-unknown-unknown]
- cc = "${wasm_cc}"
- cxx = "${wasm_cxx}"
- 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}"/bootstrap.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}"/bootstrap.toml
- llvm-config =
"$(get_llvm_prefix)/bin/llvm-config"
- _EOF_
- fi
- if [[ "${cross_toolchain}" == *-musl* ]]; then
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- musl-root = "$(${cross_toolchain}-gcc
-print-sysroot)/usr"
- _EOF_
- fi
- if [[ "${cross_rust_target}" == *-uefi ]]; then
- # Profiler is not supported on bare-metal
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- profiler = false
- _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}\]#"
bootstrap.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 "bootstrap.toml contents:"
- cat "${S}"/bootstrap.toml || die
- echo
-}
-
-src_compile() {
- # -v will show invocations, -vv "very verbose" is overkill, -vvv "very
very verbose" is insane
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/bootstrap.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}"/bootstrap.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 -v
--config="${S}"/bootstrap.toml -j$(makeopts_jobs) || die
-
- docompress /usr/lib/${PN}/${SLOT}/share/man/
-
- # bash-completion files are installed by dev-lang/rust-common instead
- # bug #689562, #689160.
- rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d" || die
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- if [[ ${PV} = *9999* ]]; then
- use miri && symlinks+=( miri cargo-miri )
- fi
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
- use rust-analyzer && symlinks+=( rust-analyzer )
-
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return
version-appended binary path.
- # so /usr/bin/rustc should point to
/usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${RUST_PV%%_*}"
- if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
- einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}"
"${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
- else
- ewarn "${i} symlink requested, but source file not
found"
- ewarn "please report this"
- fi
- dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
- use rust-analyzer && dosym "${SLOT}/libexec"
"/usr/lib/${PN}/libexec-${SLOT}"
- dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
- dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
- dosym "../../lib/${PN}/${SLOT}/share/doc/rust"
"/usr/share/doc/${RUST_P}"
-
- newenvd - "50${RUST_P}" <<-_EOF_
- MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}"
- fi
- if [[ ${SLOT} == *9999* ]] && use miri; then
- echo /usr/bin/miri >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}"
- fi
- if use rust-analyzer; then
- echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}"
- echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${PN}-${SLOT}"
-
- if use dist; then
- "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml
-j$(makeopts_jobs) || die
- insinto "/usr/lib/${PN}/${SLOT}/dist"
- doins -r "${S}/build/dist/."
- fi
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version dev-debug/gdb || has_version llvm-core/lldb; then
- elog "Rust installs helper scripts for calling GDB and LLDB,"
- elog "for convenience they are installed under
/usr/bin/rust-{gdb,lldb}-${RUST_PV}."
- fi
-
- if has_version app-editors/emacs; then
- optfeature "emacs support for rust" app-emacs/rust-mode
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- optfeature "vim support for rust" app-vim/rust-vim
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.94.0_beta20260213.ebuild
b/dev-lang/rust/rust-1.94.0_beta20260213.ebuild
deleted file mode 100644
index d0e4413c459b..000000000000
--- a/dev-lang/rust/rust-1.94.0_beta20260213.ebuild
+++ /dev/null
@@ -1,890 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump
-
-LLVM_COMPAT=( 21 )
-PYTHON_COMPAT=( python3_{11..14} )
-
-# Patches are kept in rust-patches.git, see its README.rst for the versioning
-# scheme.
-#
-# We use _pN from the ebuild version for the patchset but it can be overridden
-# in the ebuild for changes that don't require a revbump.
-#
-# Uncomment this line when the ebuild needs a patchset update but no revbump.
-#RUST_PATCH_VER=${PV}-1
-
-RUST_MAX_VER=${PV%%_*}
-RUST_PV=${PV%%_p*}
-RUST_P=${PN}-${RUST_PV}
-[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV}
-
-if [[ ${PV} == *9999* ]]; then
- # Update this as new `beta` releases come out.
- RUST_MIN_VER="1.93.0"
-elif [[ ${PV} == *beta* ]]; then
- RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-else
- RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-fi
-
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
-inherit multilib multilib-build python-any-r1 rust rust-toolchain
toolchain-funcs
-inherit verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
- SRC_URI="
-
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz ->
rustc-${RUST_PV}-src.tar.xz
-
https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2
- verify-sig? (
-
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${RUST_PV}-src.tar.xz.asc
- )
- "
- S="${WORKDIR}/${MY_P}-src"
-else
- MY_P="rustc-${RUST_PV}"
- SRC_URI="
- https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
-
https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2
- verify-sig? (
https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
-fi
-
-DESCRIPTION="Systems programming language originally developed by Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai )
-ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV
)
-ALL_LLVM_TARGETS+=( SystemZ VE WebAssembly X86 XCore Xtensa )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-#
https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt
-_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa )
-declare -A ALL_RUST_EXPERIMENTAL_TARGETS
-for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
- ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0
-done
-
-# Bare metal targets which can be built on the host system and have no
-# dependency on compiler runtime, libc and unwinder.
-ALL_RUST_SYSROOTS=( bpf wasm )
-ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" )
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
-SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual
stable
-
-IUSE="big-endian +clippy cpu_flags_x86_sse2 debug dist +doc llvm-libunwind lto"
-IUSE+=" +rustfmt rust-analyzer rust-src +system-llvm test"
-IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}"
-
-if [[ ${PV} = *9999* ]]; then
- # These USE flags require nightly rust
- IUSE+=" miri"
-fi
-
-LLVM_DEPEND=()
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-for _x in "${ALL_LLVM_TARGETS[@]}"; do
- LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep
"llvm-core/llvm:\${LLVM_SLOT}[${_x}=]") )" )
- if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then
- ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1
- fi
-done
-LLVM_DEPEND+=( " rust_sysroots_wasm? ( $(llvm_gen_dep
'llvm-core/lld:${LLVM_SLOT}') )" )
-LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" )
-
-# dev-libs/oniguruma is used for documentation
-BDEPEND="
- ${PYTHON_DEPS}
- app-eselect/eselect-rust
- dev-libs/oniguruma
- || (
- >=sys-devel/gcc-4.7[cxx]
- >=llvm-core/clang-3.5
- )
- lto? ( system-llvm? (
- || (
- $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}')
- sys-devel/mold
- )
- ) )
- rust_sysroots_wasm? ( llvm-core/clang )
- !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]
- virtual/zlib:=
- dev-libs/openssl:0=
- system-llvm? (
- ${LLVM_DEPEND[*]}
- llvm-libunwind? ( llvm-runtimes/libunwind:= )
- )
- !system-llvm? (
- !llvm-libunwind? (
- elibc_musl? ( sys-libs/libunwind:= )
- )
- )
-"
-
-RDEPEND="
- ${DEPEND}
- app-eselect/eselect-rust
- dev-lang/rust-common
- sys-apps/lsb-release
- !dev-lang/rust:stable
- !dev-lang/rust-bin:stable
-"
-
-REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
- rust-analyzer? ( rust-src )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- rust_sysroots_bpf? ( llvm_targets_BPF )
- rust_sysroots_wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warning
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${SLOT}/bin/.*
- usr/lib/${PN}/${SLOT}/libexec/.*
- usr/lib/${PN}/${SLOT}/lib/lib.*.so
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${SLOT}/lib/lib.*.so.*
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_PRESTRIPPED="
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp
- usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o
-"
-
-# An rmeta file is custom binary format that contains the metadata for the
crate.
-# rmeta files do not support linking, since they do not contain compiled
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-
-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} ))
- if [[ ${PV} == *9999* ]]; then
- M=$(( $(usex miri 128 0) + ${M} ))
- fi
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- # add 2G if we compile llvm and 256M per llvm_target
- if ! use system-llvm; then
- M=$(( 2048 + ${M} ))
- local ltarget
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do
- M=$(( $(usex ${ltarget} 256 0) + ${M} ))
- done
- fi
- M=$(( $(usex rust_sysroots_bpf 256 0) + ${M} ))
- M=$(( $(usex rust_sysroots_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
-}
-
-rust_live_get_sources() {
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/rust-patches.git
- "
- EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}"
- git-r3_src_unpack
-
- EGIT_REPO_URI="
- https://github.com/rust-lang/rust.git
- "
- EGIT_SUBMODULES=(
- "*"
- "-src/gcc"
- )
- S="${WORKDIR}/rust"
- EGIT_CHECKOUT_DIR="${S}"
- git-r3_src_unpack
-}
-
-src_unpack() {
- if [[ ${PV} == *9999* ]] ; then
- rust_live_get_sources
-
- # Vendor dependencies
- mkdir "${S}/.cargo" || die # The vendor script has a check for
.cargo/config{,.toml}
- touch "${S}/.cargo/bootstrap.toml" || die
- local rust_stage0_root="$(${RUSTC} --print sysroot || die
"Can't determine rust's sysroot")"
- # Configure vendor to use the portage-provided toolchain. This
prevents it from
- # attempting to fetch a `beta` toolchain from the internet.
- cat <<- _EOF_ > "${T}/vendor-bootstrap.toml"
- # Suppresses a warning about tracking changes which we
don't care about.
- change-id = "ignore"
- [build]
- build = "$(rust_abi "${CBUILD}")"
- host = ["$(rust_abi "${CHOST}")"]
- target = ["$(rust_abi "${CHOST}")"]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- rustfmt = "${rust_stage0_root}/bin/rustfmt"
- _EOF_
- # We're using git sources so we need to run the Vendor script
- # to ensure that all dependencies are present and up-to-date
- mkdir "${S}/vendor" || die
- # This also compiles the 'build helper', there's no way to
avoid this.
- ${EPYTHON} "${S}"/x.py vendor -v
--config="${T}"/vendor-bootstrap.toml -j$(makeopts_jobs) ||
- die "Failed to vendor dependencies"
- # TODO: This has to be generated somehow, this is from a 1.84.x
tarball I had lying around.
- cat <<- _EOF_ > "${S}/.cargo/config.toml"
- [source.crates-io]
- replace-with = "vendored-sources"
-
- [source."git+https://github.com/rust-lang/team"]
- git = "https://github.com/rust-lang/team"
- replace-with = "vendored-sources"
-
- [source.vendored-sources]
- directory = "vendor"
- _EOF_
- elif use verify-sig ; then
- # Patch tarballs are not signed (but we trust Gentoo infra)
- verify-sig_verify_detached
"${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc}
- default
- else
- default
- fi
-}
-
-src_prepare() {
- # Commit patches to the appropriate branch in proj/rust-patches.git
- # then cut a new tag / tarball. Don't add patches to ${FILESDIR}
- PATCHES=(
- "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/"
- )
-
- if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then
- export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld"
- 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
-
- # Avoid bundled copies of libraries
- export RUSTONIG_SYSTEM_LIBONIG=1
- # Need to check if these can be optional
- #export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
- #export LIBSSH2_SYS_USE_PKG_CONFIG=1
-
- 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 rust_sysroots_bpf; then
- rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\""
- fi
- if use rust_sysroots_wasm; then
- rust_targets+=",\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/'
compiler/rustc_target/src/spec/base/wasm.rs || die
- fi
- fi
- rust_targets="${rust_targets#,}"
-
- # cargo and rustdoc are mandatory and should always be included
- local tools='"cargo","rustdoc"'
- use clippy && tools+=',"clippy"'
- use rustfmt && tools+=',"rustfmt"'
- use rust-analyzer &&
tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
- use rust-src && tools+=',"src"'
-
- if [[ ${PV} == *9999* ]]; then
- use miri && tools+=',"miri"'
- fi
-
- local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't
determine rust's sysroot")"
- # in case of prefix it will be already prefixed, as --print sysroot
returns full path
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a
directory"
-
- rust_target="$(rust_abi)"
- rust_build="$(rust_abi "${CBUILD}")"
- rust_host="$(rust_abi "${CHOST}")"
-
- RUST_EXPERIMENTAL_TARGETS=()
- for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do
- if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use
${_x} ; then
- RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} )
- fi
- done
- RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]}
-
- local cm_btype="$(usex debug DEBUG RELEASE)"
- local build_channel
- local build_miri="false"
- case "${PV}" in
- *9999*)
- build_channel="nightly"
- ;;
- *beta*)
- build_channel="beta"
- ;;
- *)
- build_channel="stable"
- ;;
- esac
-
- # TODO: Add optimized-compiler-builtins for system-llvm to avoid
- # building bundled compiler-rt.
- cat <<- _EOF_ > "${S}"/bootstrap.toml
- # Suppresses a warning about tracking changes which we don't
care about.
- change-id = "ignore"
- # https://github.com/rust-lang/rust/issues/135358 (bug #947897)
- profile = "dist"
- [llvm]
- download-ci-llvm = false
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = "${RUST_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"
- description = "gentoo"
- docs = $(toml_usex doc)
- compiler-docs = false
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = true
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debug-assertions-std = $(toml_usex debug)
- debuginfo-level = $(usex debug 2 0)
- debuginfo-level-rustc = $(usex debug 2 0)
- debuginfo-level-std = $(usex debug 2 0)
- debuginfo-level-tools = $(usex debug 2 0)
- debuginfo-level-tests = 0
- backtrace = true
- incremental = false
- $(if ! tc-is-cross-compiler; then
- echo "default-linker = \"${CHOST}-cc\""
- fi)
- channel = "${build_channel}"
- rpath = true
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- omit-git-hash = false
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex rust_sysroots_wasm))
- $(if use lto && tc-is-clang && ! tc-ld-is-mold; then
- echo "use-lld = true"
- fi)
- # 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 rust_sysroots_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}"/bootstrap.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}"/bootstrap.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}"/bootstrap.toml
- crt-static = false
- musl-root = "$($(tc-getCC) -print-sysroot)/usr"
- _EOF_
- fi
- done
- if use rust_sysroots_wasm; then
- wasm_target="wasm32-unknown-unknown"
- if tc-is-clang; then
- local wasm_cc=$(tc-getCC)
- local wasm_cxx=$(tc-getCXX)
- else
- local wasm_cc=${CHOST}-clang
- local wasm_cxx=${CHOST}-clang++
- fi
- export CFLAGS_${wasm_target//-/_}="$(
- CC="${wasm_cc} --target=wasm32-unknown-unknown"
- filter-flags '-mcpu*' '-march*' '-mtune*'
- strip-unsupported-flags
- echo "${CFLAGS}"
- )"
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- [target.wasm32-unknown-unknown]
- cc = "${wasm_cc}"
- cxx = "${wasm_cxx}"
- 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}"/bootstrap.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}"/bootstrap.toml
- llvm-config =
"$(get_llvm_prefix)/bin/llvm-config"
- _EOF_
- fi
- if [[ "${cross_toolchain}" == *-musl* ]]; then
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- musl-root = "$(${cross_toolchain}-gcc
-print-sysroot)/usr"
- _EOF_
- fi
- if [[ "${cross_rust_target}" == *-uefi ]]; then
- # Profiler is not supported on bare-metal
- cat <<- _EOF_ >> "${S}"/bootstrap.toml
- profiler = false
- _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}\]#"
bootstrap.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 "bootstrap.toml contents:"
- cat "${S}"/bootstrap.toml || die
- echo
-}
-
-src_compile() {
- # -v will show invocations, -vv "very verbose" is overkill, -vvv "very
very verbose" is insane
- RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v
--config="${S}"/bootstrap.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}"/bootstrap.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 -v
--config="${S}"/bootstrap.toml -j$(makeopts_jobs) || die
-
- docompress /usr/lib/${PN}/${SLOT}/share/man/
-
- # bash-completion files are installed by dev-lang/rust-common instead
- # bug #689562, #689160.
- rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d" || die
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- if [[ ${PV} = *9999* ]]; then
- use miri && symlinks+=( miri cargo-miri )
- fi
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
- use rust-analyzer && symlinks+=( rust-analyzer )
-
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return
version-appended binary path.
- # so /usr/bin/rustc should point to
/usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${RUST_PV%%_*}"
- if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then
- einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}"
"${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die
- else
- ewarn "${i} symlink requested, but source file not
found"
- ewarn "please report this"
- fi
- dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}"
- use rust-analyzer && dosym "${SLOT}/libexec"
"/usr/lib/${PN}/libexec-${SLOT}"
- dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}"
- dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}"
- dosym "../../lib/${PN}/${SLOT}/share/doc/rust"
"/usr/share/doc/${RUST_P}"
-
- newenvd - "50${RUST_P}" <<-_EOF_
- MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}"
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}"
- fi
- if [[ ${SLOT} == *9999* ]] && use miri; then
- echo /usr/bin/miri >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}"
- fi
- if use rust-analyzer; then
- echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}"
- echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${PN}-${SLOT}"
-
- if use dist; then
- "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml
-j$(makeopts_jobs) || die
- insinto "/usr/lib/${PN}/${SLOT}/dist"
- doins -r "${S}/build/dist/."
- fi
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version dev-debug/gdb || has_version llvm-core/lldb; then
- elog "Rust installs helper scripts for calling GDB and LLDB,"
- elog "for convenience they are installed under
/usr/bin/rust-{gdb,lldb}-${RUST_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/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest
index 96a6cb847621..b82aef66a58e 100644
--- a/sys-devel/rust-std/Manifest
+++ b/sys-devel/rust-std/Manifest
@@ -28,7 +28,3 @@ DIST rustc-1.93.1-src.tar.xz 270888296 BLAKE2B
fe5a9072161cf758221974f1f59b1a198
DIST rustc-1.93.1-src.tar.xz.asc 801 BLAKE2B
9e059c894770a402d5fee2a29ffdb42030d8d723a40d6312d983e53cd4fa64e97019a0ea6054dcb17ba2ead7f27db17eec2632950f13e4ef1410324afc4dcaf8
SHA512
8a290300e370b3833d2d365a451ed4708dbe1fa69fc57b73eef0b2b5d9dd4fb3d87344315aee3aea474d4071cfb535234e167f6576abf2e06ef3225c85e3c30d
DIST rustc-1.94.0-src.tar.xz 273916448 BLAKE2B
cab2e007c1a5401c653218ff0dd542d10c0d7a4fcc7bf2ee269cbbb9760bdd04c78276beddc2f6b1f4d47df96a11079087f109e248951c2a157be73ca2c3e8db
SHA512
8397fa68055827363bff5a1dd228a05e4c4ca5a179d072ecc1b330a874c183529cb9346ec9c531fb3f066b7b6094fc8711d7c341a49755af7b50d63bf0ecff2b
DIST rustc-1.94.0-src.tar.xz.asc 801 BLAKE2B
d6ce44d51e59ecd22b953b391134ba470ec4ee1089031c34f7809199bd4eda3f54c5907a92f362cf5c0151d75b14360cd44d5a2556f785cbc1c3de5a0335573b
SHA512
0a5b067e0e137489f49c7e445992f7a456e884d39158e4d9b5b59af41c62e5dbfe8abeaa02af33ca072b663dbc649004bc83ff18899bf1bfaed0eb90aac5f67f
-DIST rustc-1.94.0_beta20260126-src.tar.xz 273937952 BLAKE2B
14deb9a1a837283ae544c9e05a490d6d2b6fe924838505f22ee821713ada640ec6c11ddc5fdf11bb7925fd4bff0e1399975bbe5ef47c926aab4ed10976db60dc
SHA512
3e0517ebd37a9b459a92a432e9c6c7e276878bb8453007ce3b3c1ef53dbee8b436252d09cdfbe4482321076c9b4a0d49a3ab74b6ae845260ce4d4f47112d0b68
-DIST rustc-1.94.0_beta20260126-src.tar.xz.asc 801 BLAKE2B
6b807dce7ca74cec7cefd7886aa569e0f5a908a9199149624f4d641d94e9daea4ea837a6dd96792efaebd6b21e70acd6654e78f01325e36f9108b0e0b3bc5c4e
SHA512
c425b9ff8eeb4973ce3b53eca5cc35f78983062195be9b671565fc48fc7fe2edf424d7618ccc98fec89c2ca8f7f43e176f06c624c1d1172b7033ea66cee6d575
-DIST rustc-1.94.0_beta20260213-src.tar.xz 273898560 BLAKE2B
be0fa61b6677de16352628c9c5243bc75b6697c7511cf97d6a02bce8cb09f5fb7aeafeedce29837d3812f0fbee1f4cdc48dae27dc7d02878c06144b3941a8510
SHA512
d48a821ab4adf1a8e8d2b313a6d1c460b28aecf4fa0bd3af7f81318b49abffb71d87a5bc08335adc62b6d4a99c074969a98e6516f679d484ed74086982686457
-DIST rustc-1.94.0_beta20260213-src.tar.xz.asc 801 BLAKE2B
aa6662652ce4f92abd50f0a2dfb914d93dc877b71b406aacd57346a62b0139ff296df951d20b3c91a5e187b50876c465b44b396a7d2abcf92d343013c4f3a3a2
SHA512
4c5d17df5aa9979735c2a2784c53251a1c5a120007cc581fb49fd6eb56c35a81a054840f1d9b40f3da18a6e372b054bc7bf8213295ff874ef428f1337d7756cb
diff --git a/sys-devel/rust-std/rust-std-1.94.0_beta20260126.ebuild
b/sys-devel/rust-std/rust-std-1.94.0_beta20260126.ebuild
deleted file mode 100644
index 6362b34400df..000000000000
--- a/sys-devel/rust-std/rust-std-1.94.0_beta20260126.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit edo flag-o-matic multiprocessing python-any-r1 rust-toolchain
toolchain-funcs verify-sig
-
-DESCRIPTION="Rust standard library, standalone (for crossdev)"
-HOMEPAGE="https://www.rust-lang.org"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
- EGIT_SUBMODULES=(
- "*"
- "-src/gcc"
- )
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
-
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz
-> rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-else
- MY_P="rustc-${PV}"
- SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4"
-SLOT="stable/$(ver_cut 1-2)"
-# please do not keyword
-#KEYWORDS="" #nowarn
-IUSE="debug"
-
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/rust-${PV}:=
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-DEPEND="||
- (
- >="${CATEGORY}"/gcc-4.7:*
- >="${CATEGORY/sys-devel/llvm-core}"/clang-3.5:*
- )
-"
-RDEPEND="${DEPEND}"
-
-# need full compiler to run tests
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-
-QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
-
-#
-# The cross magic
-#
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-toml_usex() {
- usex "$1" true false
-}
-
-pkg_pretend() {
- is_cross || die "${PN} should only be used for cross"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-}
-
-src_configure() {
- # do the great cleanup
- strip-flags
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
- strip-unsupported-flags
-
- local rust_root x
- rust_root="$(rustc --print sysroot)"
- rtarget="$(rust_abi ${CTARGET})"
- rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be
custom.
- rbuild="$(rust_abi ${CBUILD})"
- rhost="$(rust_abi ${CHOST})"
-
- echo
- for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS
CXXFLAGS LDFLAGS; do
- einfo "$(printf '%10s' ${x^^}:) ${!x}"
- done
-
- cat <<- EOF > "${S}"/bootstrap.toml
- [build]
- build = "${rbuild}"
- host = ["${rhost}"]
- target = ["${rtarget}"]
- cargo = "${rust_root}/bin/cargo"
- rustc = "${rust_root}/bin/rustc"
- submodules = false
- local-rebuild = true
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- verbose = 2
- 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)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- rpath = false
- dist-src = false
- remap-debuginfo = true
- jemalloc = false
- [dist]
- src-tarball = false
- [target.${rtarget}]
- ar = "$(tc-getAR ${CTARGET})"
- cc = "$(tc-getCC ${CTARGET})"
- cxx = "$(tc-getCXX ${CTARGET})"
- linker = "$(tc-getCC ${CTARGET})"
- ranlib = "$(tc-getRANLIB ${CTARGET})"
- $(usev elibc_musl 'crt-static = false')
- EOF
-
- einfo "${PN^} configured with the following settings:"
- cat "${S}"/bootstrap.toml || die
-}
-
-src_compile() {
- edo env RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py build -vv --config="${S}"/bootstrap.toml
-j$(makeopts_jobs) \
- library/std --stage 0
-}
-
-src_test() {
- ewarn "${PN} can't run tests"
-}
-
-src_install() {
- local rustlib="lib/rust/${PV}/lib/rustlib"
- dodir "/usr/${rustlib}"
- pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
- cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
- popd > /dev/null || die
-}
diff --git a/sys-devel/rust-std/rust-std-1.94.0_beta20260213.ebuild
b/sys-devel/rust-std/rust-std-1.94.0_beta20260213.ebuild
deleted file mode 100644
index 6362b34400df..000000000000
--- a/sys-devel/rust-std/rust-std-1.94.0_beta20260213.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit edo flag-o-matic multiprocessing python-any-r1 rust-toolchain
toolchain-funcs verify-sig
-
-DESCRIPTION="Rust standard library, standalone (for crossdev)"
-HOMEPAGE="https://www.rust-lang.org"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
- EGIT_SUBMODULES=(
- "*"
- "-src/gcc"
- )
-elif [[ ${PV} == *beta* ]]; then
- # Identify the snapshot date of the beta release:
- # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep
beta-src.tar.xz
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
-
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz
-> rustc-${PV}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
- -> rustc-${PV}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-else
- MY_P="rustc-${PV}"
- SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz
- verify-sig? (
https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc )
- "
- S="${WORKDIR}/${MY_P}-src"
-fi
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4"
-SLOT="stable/$(ver_cut 1-2)"
-# please do not keyword
-#KEYWORDS="" #nowarn
-IUSE="debug"
-
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/rust-${PV}:=
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-DEPEND="||
- (
- >="${CATEGORY}"/gcc-4.7:*
- >="${CATEGORY/sys-devel/llvm-core}"/clang-3.5:*
- )
-"
-RDEPEND="${DEPEND}"
-
-# need full compiler to run tests
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
-
-QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
-
-#
-# The cross magic
-#
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-toml_usex() {
- usex "$1" true false
-}
-
-pkg_pretend() {
- is_cross || die "${PN} should only be used for cross"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-}
-
-src_configure() {
- # do the great cleanup
- strip-flags
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
- strip-unsupported-flags
-
- local rust_root x
- rust_root="$(rustc --print sysroot)"
- rtarget="$(rust_abi ${CTARGET})"
- rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be
custom.
- rbuild="$(rust_abi ${CBUILD})"
- rhost="$(rust_abi ${CHOST})"
-
- echo
- for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS
CXXFLAGS LDFLAGS; do
- einfo "$(printf '%10s' ${x^^}:) ${!x}"
- done
-
- cat <<- EOF > "${S}"/bootstrap.toml
- [build]
- build = "${rbuild}"
- host = ["${rhost}"]
- target = ["${rtarget}"]
- cargo = "${rust_root}/bin/cargo"
- rustc = "${rust_root}/bin/rustc"
- submodules = false
- local-rebuild = true
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- verbose = 2
- 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)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- rpath = false
- dist-src = false
- remap-debuginfo = true
- jemalloc = false
- [dist]
- src-tarball = false
- [target.${rtarget}]
- ar = "$(tc-getAR ${CTARGET})"
- cc = "$(tc-getCC ${CTARGET})"
- cxx = "$(tc-getCXX ${CTARGET})"
- linker = "$(tc-getCC ${CTARGET})"
- ranlib = "$(tc-getRANLIB ${CTARGET})"
- $(usev elibc_musl 'crt-static = false')
- EOF
-
- einfo "${PN^} configured with the following settings:"
- cat "${S}"/bootstrap.toml || die
-}
-
-src_compile() {
- edo env RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py build -vv --config="${S}"/bootstrap.toml
-j$(makeopts_jobs) \
- library/std --stage 0
-}
-
-src_test() {
- ewarn "${PN} can't run tests"
-}
-
-src_install() {
- local rustlib="lib/rust/${PV}/lib/rustlib"
- dodir "/usr/${rustlib}"
- pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
- cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
- popd > /dev/null || die
-}