commit:     fbb51ae9ad668b0357e9df2edd8774d6dcea7768
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 20 08:54:00 2025 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Wed Aug 20 08:58:11 2025 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=fbb51ae9

dev-lang/rust: treeclean

- Not synced with ::gentoo for a while
- No supported PYTHON_COMPAT implementations in 1.60.0
- Versions ::gentoo work just fine

Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 dev-lang/rust/Manifest                             |  68 --
 ....0-ignore-broken-and-non-applicable-tests.patch |  76 ---
 .../rust/files/1.56.1-musl-dynamic-linking.patch   |  69 --
 .../rust/files/1.62.1-musl-dynamic-linking.patch   |  25 -
 dev-lang/rust/metadata.xml                         |  26 -
 dev-lang/rust/rust-1.60.0.ebuild                   | 712 --------------------
 dev-lang/rust/rust-1.62.1.ebuild                   | 737 ---------------------
 7 files changed, 1713 deletions(-)

diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
deleted file mode 100644
index 49a67bbe..00000000
--- a/dev-lang/rust/Manifest
+++ /dev/null
@@ -1,68 +0,0 @@
-DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz 217126920 BLAKE2B 
87fd1910d76a133624ff860fd3932527b3ce3775db9e03c6d2ab9ad06534e9e63ff7d1eed0c81e3574d676c192495e0f175b2ae0fa706b722ead9a852296b3f4
 SHA512 
6f5b6fb325ac226bf5f308463a54f59570d9ba5efe4329d6116d79cda1f8572b2e4584d005586759ac60e1e7a10782d8ef8ebf30c980220b4780a9846895fcb0
-DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
2b75d91a060376bd0711c18b1b04f7d0c7ded0a64b0b086e7799898db7fe24ff49dc09c76695a151e54bd205aa040775c6a36d10fb21ecb2d89d23398b02dc34
 SHA512 
a04cb7b03e3b963002357d48ecf92d0aef20464f9da38081411832c07df0a7c9ce3755a7b89c86394933446fc18e83a55a7cc01f3739ddddb19dafcbb7b43960
-DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz 212064268 BLAKE2B 
4636001103fc058c2c14a34449846c0378c26ac4dc29588615c5216bb4759b0e92ec97be25e106a5aaaa07059f404c615272e359b0f3b1e9164437e63d863bd0
 SHA512 
2ec97a48cdac3fb1f7411fdf3a34aac6f64a09991d25174dff97efab0ee724d4dce2bbe29046d243a72b06d406990adf5d1f3f24286fdfb0e658326e28cf5363
-DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
4403c9e26f21504494db6e7368cf6a1dd36fcd283dcaa2aac4efaacba107971f44aaffe032ae1cb2530bb1d29bba3e1953d80d378ca9fabf13364da27d809bbc
 SHA512 
5c789ce4591ba8b0f09a254780e1040f5c959c3a952b89d56bf77f0a0f53be2e5f0e712878d21a060937bcda72e440e591ca206c8540635fcc180a50efef6095
-DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz 192892448 BLAKE2B 
b7d194589b9bd07c34ae681985ecc60ad03d450be9c445dff16730d8019a02e6cb1ec6b8c231f9eb42500eeb8dd6d529ff821b1b9eb64f87f11266411133e5bb
 SHA512 
0be42a92fbbe516c0437afdf279e5bb3d43e073ec5ca3ad297f33ef5ec5e5bd150cb728c7dea5dfdcb7b1d1cf3f4122d529e8cf8abe674651a05272837769887
-DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 
844f7f3655a974821689aa326d072512a12433daa5805a842e54005b88516013b32e46c21b7813e7f5b919716e73f518195b9247c3b9e1e51e85e4f8b102b9ff
 SHA512 
bf7b9491ff88c6d6e6f91d6b77fa50aec48cda99181aab584b37dd81a2a55564a8d769be8ce1868c02ce4dbc36e98cf7c4d651e9e7d799f907e7f9fadc27b08f
-DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz 192816760 BLAKE2B 
565d3ed97da64299d6c5525f3b3068ca8ced1d8d6fddbd90506a41062d66c4223928de031320aad1cb12568ccc7e952243c728e13a8a7d6a60ec8c908829e0dc
 SHA512 
5a3693f7edf0f51ba45d8d1471c4ce75926e9cf9c4eb399c9767da116d2250121ced6f08a5c7ed136cbd144e88f3c9fccbc48f805edc82aedbdca37248c0d092
-DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
739967abaddc05a466e4ad88316a89fafeabb3c8b50844b09a4946635f4e19b223a76675026389cdef89f0fbe369e3f5c72a0ab64f63104d2a2d5b0d12efa617
 SHA512 
336f8d7885dc7cc9e44a9e5df381ce1fe516fddea90666478d65aacbba2ffd2d7312b53a895b809fe0135aef8b5604b3eae7b63d7f0d37776c8c1cf6f88395f4
-DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz 199147596 BLAKE2B 
767aa2429a1d1e5633e17fcdafa1a763fb6c86ce392264445be91f79f924b5f1251aae5ee01d66cc902fe991b7ed42a23345d0460862508948d37af48d49b69f
 SHA512 
590b8252b096331b404ecf02dcc11eb12ad1a751d03791a6eb316a7b7bc546c4e933b0acf66e771d394343b636db4dfba00f467715284fa1537399e161bd2d88
-DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
77659e1ac997fee4eb50a969e581158ea622968b6de7d02f493096b1b108bd1f32a8c89b7bf1bdfcc7f346eeb14dde31d9b791624a72966f98937398bb833e58
 SHA512 
a404ddb78aa0d1dc5a8724b4e5b9d46b3c25ef820d50f9039928ce39169c1f8559ed3910a127f1805d6c07671b127a2adcc111bf8af5c1ae41a6f312492ae873
-DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz 212206848 BLAKE2B 
949897daa1ec6e6da986ec030fa25db019ece6a16bc2d3442dcd8255d75a97212c6c214af6755a3231370e138a72dd22155719580631e403df987e992b6de308
 SHA512 
b6db8bdf25e59bfb64b13abb4a1b95e186aa16e1e165a575197e37c410e64c13c2a2d098b5af3935e2b6319566447c4a05b8e8b08b30476dba9d2c7f30000508
-DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
bb0e0cc0aebab03512cb261345319a94e3c2108125a90efd169160bad0a94bb71f717d66ee6c9222d5274f82c437baf435880f38652947b1ac79ec9bd53e586f
 SHA512 
774d622d1b7cfc28a561fc8822865727e0fca698ddca2fca006b52d2b922057619ae65d4bbb03bdb0745458a242ab8724305c5cb4fdc8886f70edfded2b4543f
-DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz 151449792 BLAKE2B 
0273b6dcf35af0d85c9adb4018b8ac76bef9895f42268e9ebe086f74c95570614b1cb5927c969e6b4a8366aa7a285a19929b819bbf8977343af899a3969eba7c
 SHA512 
9f2c9ca60cbf38ef3ac23d1df7deb86864017addb7761b94a408c096e0a67bf3666ea05f19a57f902c8cc2f3912a96c5b9b91d1c2cd5ae86596c76d30fcce08b
-DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
4a7736612612244ca535fb2056089fd9e0426410dff5c98aa44092af918d528527cc0c12a3249fa3b9a278700c7e5395c6155d28129c3c7bced7056203942fc7
 SHA512 
18dfd434dc628c7f11de5c5f159afea0dc37a8123f490797bc9869941676fa85920a8bc592d4cd4b505b9fb1d67e35220253d67c878b2d938211c556ae60db4e
-DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz 156962060 BLAKE2B 
64c12ac24a55eaac63d9a5173ebcb1b97709280bc770f02c1ba434e57f77e56847a691f17059e421517e7d5ad60e9e3965173aff29c90abfb1b85179631301c8
 SHA512 
aaf0b8b2f2ee7a3584fcd9bc690f54ce32c0f6a36f2c37ca9d4a10123ddb6d4e95c9343c88dd0830aa586a5a543dbac440a6644434f8035f1c95b3f046a843fe
-DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 
2b3a3f268b6a591e6541d3cb19ca733f393cff178932d06cad8d38d4a74c9e43e9a4aaf75c78d4c8084634e7ce3c5d1cb27a6540cc5f034e940efc276c1a3d11
 SHA512 
020ac1f172ecf41501218c6268ca2dee37842faa7adefc4d3410531f966aef4aaf66b94cd71237467322feb90cca198fdcc8f20f29a3de8c932e747e454a5852
-DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz 154605640 BLAKE2B 
7b3410db3f0c534012b47cd564f9c14d7a878c0c1b1079bfc2d4ea13826e097b12e5dbef2a83641a339cbcf8538a1eb8c28005c3d46e8338074ab5c15fffdaa9
 SHA512 
1c096bed6dcd6499ee796c64b8771696ba0cba2db1793ac681b7c65b96ccde188c84306ff90a339bf49bee10955aeb179f0915ae0613c9deeaf766956661521c
-DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
59fb0bd7e88119d9cb71a7af46afe2e3a4f37fb687b98409e7a83e0b57840c5db3eaec8baabac6ed26989b7b1ddcda13a9d221cda75f291a814b40c722b46573
 SHA512 
7c6c970ff971143338a11d774d0bc2ade2fa0dff185483800a54f07161bb181648e1b700c36cc6aced25bab9a383f7259b474b83379845926cde265e705208e0
-DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz 170384720 BLAKE2B 
adc37005f83854707bfa657e5ce5a247de807bd06bde63e6f65745f376502dd36318ccaced1b6d75c3dd3558dd0bbbd7c291854337180fbb18a1647bfa521749
 SHA512 
046e75c9540fb493fea1cbe9b37ff10f60abe7e31134de85f0e9503b2ddaeb60a03aabf8dd7bd9f55f3d93b01b40aac7cff4f26fe01ef3e3bf5cb052b42287be
-DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
f55215329f865d3a6505fd4203170782459ab81c48b8d6bcf2c3d96ba5d4d7a9c89dfa25eb2a4897f74a168a36b7abc2363007549f7f376205a37635ffe1052e
 SHA512 
0a886d64565227f136b3568f6ff51996a8dddc0f3121174ac1e1d53f9a58d56fc76faffe86b24e274078779521f0be03657d76790951c86efe8640510757048f
-DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz 179493740 BLAKE2B 
2ff97ec145bbaead0946efca8097de2a294dad0b4b9293cd768b07d37bb5f2709bbdba3a3d949f4294041b747493f931bae3adcdafb1d2ebd0a88a982e77a7ed
 SHA512 
83f204a2d32025fa88bc627f7f2f548a19941dc8f2575dd5c912f75f556853f63cad3c3145106e264943a915d842139cf34305cfb73c6f20646a022f949e1e3a
-DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
c9bddaa104146bbc04553f2000c06ee4655583251cddd222d6b9e629d74cfd9762d3ee6de732ec1c243ba28ccbfa2ee7fbad499a46a12b5edb6a755c23d7fe02
 SHA512 
586b9785e8cbb6eef9a7266ac9e0cd295aac93219cde7a7c42270baab417d4d43acffedf300a43d454be3487b0f0402617e78451d2da4bdc3b2a45bae6bece0e
-DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz 189083640 BLAKE2B 
209b02e4ead2cbbfe87e59d8367526b9ecdcb324898e6b8398ddd8f21f0fb89a5d68bd3bcba84bafb435a2092c2c19b81171d4631f1eadc438ff9f29f3f72af0
 SHA512 
443e0c509df5337ffbef7407aee5fb1260583b0a85bede2a12995bbd4b1719e2865a73d0b79e47ac96d5f53f5c79e9903a22868683a9c0251bbb7ffb09f59fb5
-DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
68abc7aa27c59ce7f59f7a4de400ad431c568262263f17af32d8999a5b68d4ed5df067aa8f41a226277f3bccc4908fe1326eecb6142401707f90a6f73b185614
 SHA512 
731dd8b0f3c33cc37dc783ee07f97727e227ce1a7856f73e87a4b937f6a8ecd1d778e65f1f484faa399795d94b10623fce56d056082bcec460e15fcdea9dbfea
-DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz 182319648 BLAKE2B 
4e2a86431cd0c737ef86cd2bd308c6cf42f6f908a96456de4e2ab3d42f574c56dfd73933ee0177c8d797f17c8566e66d239406360d923797fa5eb49760e698d1
 SHA512 
4fecc8048270026f3bf5ca63ca32a657c62282e50132cff7af168168063beb65797626ce1ffe90a929e528d8b010193b1d67cbe87782d0b30c7b4e170eba081d
-DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
37ec085b78b9b8cb076f676168b7f26d73b593ca4d2231ded00fa3d9f74b16b1e5d99a389df594b7ac75a8f9342ea25a5efb901931662d7a9362c3c14def5e13
 SHA512 
29b4c934c2a773968f8acdf469b081438780a4f2d1dc460fc851587719373b2151718f4ef3af81043d4ebb39ff2dfe8f4e4612276cfa1fc1946fada57adf133f
-DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz 186264196 BLAKE2B 
f1c28c8cbff8dbd476daf7a3dee443aa4d90ea3432813d247853c159f20ee2347159f734ecce4ee85e36dfa886770c841355073c2220c016feb809225f4bd50f
 SHA512 
3e9d86c84867d1f96f4cec4e2312ae604896b4fa61b9ab5b563fafe50b4e63a1bad9ccb90770a672c7730d14dc0235b50f2ca3cbe292220eb4e48a66a8f9d924
-DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
e97d2b8e50c69311c3d7c2a4fda1f3ae6803e5f53f9a0d2787e816297ffded53ac47e8033e0d5da2d078327133b528328edc9f610483cd1c0ef384317c947f4b
 SHA512 
9e2cc63cd784134fdee91f8603629cdb7227cf56df2a5095cc06ce38df81b6bd3ace24f319c518bbb7619c6f17fc32e9c79bf0b0f57b1db8cd81302d66435a0a
-DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz 151858140 BLAKE2B 
80eda8c19361b286aaa6ed6178df7f93a131414f6307c87849fa902d373d072643c65642c69ef7302488e0b4ad7883ced1c589606f91edeac83843ed0f6fe124
 SHA512 
df080a6225275945b0c028099e19aeb0ae34ffcec952b9ce19a6116feddbb29f4f4d27ed30f2c69c108652af637329c20a0d2875d0ff98dd9f7f4902039b6740
-DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
cd4387ad25b7f000395e336cdc92916ee7260cbf98a397ce02514444c8d2b35c653012ae6a9f1d5598155c06db573e1fe1a3f0bde1693863855dc17c18b478f5
 SHA512 
0b6790f0aa531a8251e1a19e0adfdb16bfd39fcec40b83094c26b7169f833114cc8679e2955fcc5359b05cd67564827aa231c521f81d4c41d561e9ef44eea713
-DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz 246630236 BLAKE2B 
c9fe24e92055b2e765a8d96181c7c14a0db329f98e006ea2ade285078cad64fa2ef3419d26f30339685cfbcee672bb5e263dd183c960aa0067a27a0b36fe6fbd
 SHA512 
40a711c015fa8eb07aaa11b0698f20886928230a8441cc7523572c7c2768a52557daf5c02bdf61430dcb9a912b8eeda499794af28f269b319ca7fef848ae4cdd
-DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
1a96c49754b8670d243d1ad43478d4df8b4f4997490fa9691e3947260d469c7dc9bab192a20fd2ee0592e15785fb059644404d77d716d86b54038d0a76feaf6e
 SHA512 
0c67f2be31fae00a318b5a6184c60f10f80ca5275a5d9dad4459d94aef2fe65624dd7789987d506b691666ac8f7357143fa6bb8207cd5b13b28692aa909a1636
-DIST rust-1.61.0-aarch64-unknown-linux-gnu.tar.xz 226403096 BLAKE2B 
b9927e6d364fe791bef49cea5f0904629a2f01e6a71325c1769c67b845725ae6f54a1a8c0530fa5048591dd0ecfd50a40224243f935b38ad269e35ce2e1c59d9
 SHA512 
1c00830f67b75eaf23ab759e8218fca48e424cad0ede02e737e341d105f6f8b8113e4d4181cde1b43f9369af9c2f238fbdcac27ccad3dd02db878e2f4e6ba35b
-DIST rust-1.61.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
697df0294d01a19eca2f9b7597df3826e79ea790766c5c5a7b73f5a04919cf64f1489f34c9d2c397523432243e7f3f29f42440ba9aee127753868529196810cf
 SHA512 
78cbc7eeb552965a1b6c4cfc9c8404017fe195acefbda1aa203d1c2ba969b3ac28388930bb4f3ca5dda7ecac5e61163ae0a5d06967eab9f0a7cada87c6b2dc58
-DIST rust-1.61.0-aarch64-unknown-linux-musl.tar.xz 220966060 BLAKE2B 
e03c6418fed773d1028363979726648d1ffa0e04d6879688efefc15f95fbeff3ff9c0dc7c16a53fedb18c4e0b16e060cee9f3566b0f96027e5dc68820fda149f
 SHA512 
e806f78ecc9edd12bb991533c6bfc95da30c8eaacbfc54f0f4dbf3a95a011da82fca13cf3ef23594a9d1d9d8c79c8186fe98b60658a2cd5c0ed2c6e3984468d0
-DIST rust-1.61.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
426c4c8dac07269d184f61bf2447957cdbdacafdf27fac5ab5a0eea958e15fb3eeed0753dadb1d1bb157322ca5e8c6b7c10d946c4bd3a089ccd8275d0a310014
 SHA512 
b231afc0c3604aba64277c4f018f1f4b30417bd2fd113919b8b584d5482523b961071a50394a4906d8ba8536685fcff4710b51fee7832a7a041dcb902f1c5ff1
-DIST rust-1.61.0-arm-unknown-linux-gnueabi.tar.xz 200226676 BLAKE2B 
c55c36524249eaf9ab1e040b6742e1ada46b32bf0511338d23536663050b46103b1765aeb2a145be9cdc0b602d83526fe902fc431e0793d1a307ab0d4b61a356
 SHA512 
3a9f52b9f4f2a972477a48b629b8345f151d32d491be0cbf3692b76f05ddbd3319de1da7b10959d37fffc08e12b3196a6f4462cc2476ad80d2f9750e0b189cad
-DIST rust-1.61.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 
34f251ee19ace45c411f161b383dcda35b8dea62e135cdeceddd73ca029920b0f0ea0484fb79c9680d9b4403c5c01d76d4fd2fb47fd65a2fbcb0375e56a1586b
 SHA512 
641ce73107609d55f98ae00a03a9efd58985539e46a834ceffe5af79822309a40a4eac59e5cec3b1654da733f463f3bca438f42ecbaf5fce5d276466317a7e54
-DIST rust-1.61.0-arm-unknown-linux-gnueabihf.tar.xz 200078864 BLAKE2B 
02403c024bf02b9ec42fd0baf52856fbcce2a10477d19e68e4ad06110aaabb90496543fc3de5f385428396979fbb80cdb27f28b4cef8af9266c18fa87a995c30
 SHA512 
155b2f0c341280bfb7db066b639dc50580a07b21ad6f9f6255a8645d5d944d58fbaff505f1de0c3f51ed92ca0d4dc75d9b92e2aab7e8b64f8c42d3af0a714fe6
-DIST rust-1.61.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
6b4875ac242f11f47518f17a0a039539e56cf3cef78f1e3cb4bc2174e60d6d0f0d444b4c0cfa007643202b5ce92a4cb979e92b5f6f559eb90fd78fdd5f870e57
 SHA512 
f2618ba9f076c10d0ddd23129e6e8e7050fd1126d7767c8b74c53be209ca87f9bebbc09069f6aed55e14de64b1478fd93b370be7e60858b5226fcfc1e8ed87c0
-DIST rust-1.61.0-armv7-unknown-linux-gnueabihf.tar.xz 206757912 BLAKE2B 
c702e17e225becc681713a3e819cc38c727377d280a1963efd4e6b1d27e0dbbb71ad0bec4d7add8319417846cf54bb7b5901af0f633b180ca9a5f169c709e43a
 SHA512 
88dbb7a35a8424e5b197566515c21122c1da71df146abb304d7dbb50380b4771a741910abefc9d79831146b28b657ffe53cae07f0392e83a7279a7795aadf0e6
-DIST rust-1.61.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
f4b93feba557d81638ead6c3ad72f2e5c321c1103b473096e312d8a3191e98aac65aff0ebcb6f2c23701de17f2602ba18a6462c24a678c2bc2a13e1003189271
 SHA512 
72d8152d206c1ca9d69ed4704b8638c32b5f136ad985fd4790961935f1b44f08df0960e03066de2dd1cc9f7a140e8070f0a6e671f59c751506847d9e247c5ecd
-DIST rust-1.61.0-i686-unknown-linux-gnu.tar.xz 218220208 BLAKE2B 
da47b131676258747e27704e2a1abb844567e2ac9ccffdd1c87edaa677e04b1fe73227f7b6afa437d8fe2f2690352623343b8318906038206b5b684fa8eafcc7
 SHA512 
f19e1a5253c57d250d4de7f0f54b70a296d92bba2e22d8b842bcbb311e393e3bf24c28621f490584497c586c6fdbc41f5af55d86a074b93efaa62d313121cc4a
-DIST rust-1.61.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
3b154ab9d414ec6d7dea13c6b2d2def9613544b3d8f6464385fa390bb6228d73826032ed6e536a9a2dd379499ec500788b149c838d5ad1a50f545a47b19a2cbd
 SHA512 
f06ab7e865bf56c153586e146438079ff3ee3de86c610e463cd0ce67c090349b9dd4fa587d9eab0dea4b908770bca0dab955f797ebcc5aee2617a981ff23eb23
-DIST rust-1.61.0-mips-unknown-linux-gnu.tar.xz 157918296 BLAKE2B 
0551ab0898491129828be9cd7d6fd22a56c329f85ae9767c8ca216cac16ae3f93d30913c50c8cea8daa2f98878147e2f15f587e38e9e0fca7c8c4b6d3ead6870
 SHA512 
02cf5d1ed8c28bd52b7c27ba696de30ee23322ddd1e2ef953cd95a6d0b31c63ea66071bfb22c4d11a780243e62e21407d7ada2592b08caac67d7d79e7d9ee0f2
-DIST rust-1.61.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
2d050374431b8d48b6a0a3e171d4d2f62cfd8a2df70ddbf0d374bb9351e684d15d3ade7f6717e6abba1de47c4899f0f7575a4ca537d1a39a57e03ea4b0ae281e
 SHA512 
6e2d01d3b8218cae46008328226286abe3f4323891ab41129f9af94b4526d5b21700fa84c880b4efe38d39c57b2a0946eb82e3ac58950761b20f4def1d8b82f2
-DIST rust-1.61.0-mips64-unknown-linux-gnuabi64.tar.xz 162321252 BLAKE2B 
d49ec8d3a5eec2085a26b4da22a31e5631e3665333a030e4683446cfe3f71e86e466b827942d6a62d32f469ff7fe9208aa51ba9d47822a54d40d89bef45636e5
 SHA512 
1e6003127963b836c343ae06586b152b1f227529d05b555aefa0bd7d4b92124215cfa1038aba1236c0c42ecd8e429253db4faa13ed388c16a8659e71b0008fe7
-DIST rust-1.61.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 
b031019589b12cdf45f0a938c7479ad219c257643b88108d0c524088530df783338d64c1b356055e34a38df8908653c25fc286949826bb7e3539d63c78c36a66
 SHA512 
ee9178251f5a79803871fa76a22395e4b43958582930f92cf1f5e76970c1583f9b0403da7c05bd8a7cdd83839b319a6640adcaaa5475e9ab5bffb43146116b09
-DIST rust-1.61.0-mipsel-unknown-linux-gnu.tar.xz 162148648 BLAKE2B 
492e0c811c9fae9d0052fcdfffe6d96d43674e1775edaf31d63024e56763d44c02763fd70e768ac0987d260665b86d78aa55a0652f5acbf097a3e9a472aa4d9f
 SHA512 
637b081d8357d46030ca206c8feb54a38d9696a0bdbbad9a892ee4a472f29976c82b814f14cc987ad9e473e70d22347e7e01e81f0f59e82dbaad62153c1ec32f
-DIST rust-1.61.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
9323f7488fdf603e81018c4b6afa11da952eb6051e9480fee027326ebccd15befed97c75c981f621d7eda3daf2d082c5fb12af426e48cb4c0c733ab55c46af6e
 SHA512 
9d1e6062c4a7714aa754ea586f9bbe3a988e5e6d1e6309316bde89fa83ccddb837e96a8de13fbd4b932c8fc37be89de06802f12f689e17b1ae6cd97b5e2db561
-DIST rust-1.61.0-powerpc-unknown-linux-gnu.tar.xz 180802408 BLAKE2B 
41ecab76e35d9ee2b9658730f46ece4191e706714b3b90b6021b4bd9ed2c4f0d563e0c0b39bdc7e633237d55c5375379565d7932e7ffb4896851831f64f61559
 SHA512 
ed19698f32c1af73ba8c402395b6ee30381d1fff6026d2c94e45ad89ef197cffc1529dc21402e2b463deb47aba0ed4d63d69c62908cdc099da463835757f3fe3
-DIST rust-1.61.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
438143b3474d0cb9e1a19b93de28544f02672e245bba7855da286fb15c58db93021e44d432fbe4a0949592b57cb23b373abd5c0a3f960f6975a0cf433352462e
 SHA512 
7a570c64a79adf78c8c28342d9ab39e8ed953cd44b8038e03beb888b5611625bae95e88220c9c88236ff1672f20ad61976d116da7689cf29f53112deb9b75858
-DIST rust-1.61.0-powerpc64-unknown-linux-gnu.tar.xz 187335836 BLAKE2B 
6feca68e47f7e19355ba623cda1d1cd15351017d388d94e2b9d6821493b8a77a09c95148a8fcf7124e3b0c9a9ee205c9f5c14af04172e2d02ea239355755b364
 SHA512 
b8afcb47653877dd47a808b4aecd95bca715a96311652e0616125e75bc5a457364b0caba2918e2e3e8df2d1fe0afb6fb384bbfa44fde25ebe0dd368414984acb
-DIST rust-1.61.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
20bc76dea5484d2a6bf60ffdacc1dacb8d3f7abdb428fee3b1d3e6e19d499f18afbe667a5de96a28005661bd0b4f5e4c8429df917a31b86d72b9aaa9ec56c7e0
 SHA512 
cf10c0f1ca50894deba5f02a4e3491fe61ea8def4b0f76fe790eb52ff66295d2570ae50acea66a51e710822d6109a2ab3c8f1e703388ae0ee19fcfc5657d4f38
-DIST rust-1.61.0-powerpc64le-unknown-linux-gnu.tar.xz 196945316 BLAKE2B 
23ac372f7bbeac3eb757adcb6ca93187ad01492992327533452ab348ec899cb97f5ac9335b32039a62ccf4c34125de3c4b6c1d7829839c95f638b6531be59c57
 SHA512 
6cf969cef60d2b70db17902ceb71d2616de0df1ff4fda15578347372bf5a349fc8f4377eb1d003abb84a93a122ab0e54aac52c95568813148d3c0113d663a07f
-DIST rust-1.61.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
6b4bdcba7c5b681512b98b39f8035788f612ee1c8f44d98d58f8a29bc71e470d57ae587a6ea2e02a22263d40bb452054d03483a3922db6c131d3947e65da23bb
 SHA512 
cd102d958ad3ca62f534033473664e867892dce0ca8a2f96271ecfabe34e0afbd63d8281086c5cd692fdb961894313e7430ce2e1d14c3a686b40d8a514c124e3
-DIST rust-1.61.0-riscv64gc-unknown-linux-gnu.tar.xz 190408604 BLAKE2B 
1f37d88201f0e3517194d810f99ce3167fa132c72f8580704750b926b838956157b1ccd303ccf5de15615733383d1009cc135ede7dd8dc7c1e39b4246a8ed604
 SHA512 
8f6f469484ff9c10af2b1a822a8193f313ac244783921c68dc1feee4d6897e7083cfb90d19384a266d41b97aeb845ef073ed955fb7beaf7e1810d682185c2d42
-DIST rust-1.61.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
c413b2f55e3d45dbfccf193f5cb9f6866abf895d23c850e3744a0bd897c2c812f57457211efaab7416c0d8fc079cc4feaa35de879ad76356a961e704e711be46
 SHA512 
0155b4e0ba86cc190b85f2f82e8ee75c14825e52e05ab3446283512f0b42f113d85ef89d72e0929382637dc0a44ef72f06552957285463c2edd7f83d9c8234ff
-DIST rust-1.61.0-s390x-unknown-linux-gnu.tar.xz 214196912 BLAKE2B 
31eeaabdbca2fa837610179eafd0cb6cde2ce8d4feb57e86cd1fc8962e1f8b84bf067d7782414380616d5b56fef5db19c91c54c89f5dd935debf6ed2d3841466
 SHA512 
7de0ea08c4834e60d12098d92d4366689c0b959f58667bc68e35ad3c976011e8d9375566cebd9260933e13bd74105d297dabf40a0d09b34f83905d4cb9995f7f
-DIST rust-1.61.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
617bfd93b883cc36c8504ac326813511bee205a508489be168060863d967efe9a2e8276c3834d872f419317047ba83624c996be9d6f913be58f9feab66f292b2
 SHA512 
933689de3c1fabc31dd1910844479b3505e1a8b8474fdaeb4936df118a6da4f9597c45f0a0056d5c1efc33ae8ffb2910f5aa07b91afbd231ad7c20f0c79ceeb4
-DIST rust-1.61.0-x86_64-unknown-linux-gnu.tar.xz 157592468 BLAKE2B 
0877c0794280a5ab7e74553c02cebad67e36148a3f34a709973310d89d7ea65dc8ecfa8b9c461e4f96939ed2ff09b7bacbef0b4fcf409758a0429bc431f87ebe
 SHA512 
365191453f37775cf8bed66e12224294d4d99f3bacc635c3c13f05bf8585838a04b602c2fef7964f26a6cc35ab432a5c0a9745e9ffad0a83b0c761ec02de3484
-DIST rust-1.61.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
5296a8df210a4cf2fd7dffcba1ae6bd8cda9e408ff4c55d997199c2890b9faab9e8d6d22a3c0961786bb80231836047929621edf9043d474b352fe28bd9192e8
 SHA512 
cb97e84cd793aa8676c41297d8da14125855c008815e65d8191868eb88241ccb408c6f9ae85b7ba8de1a02ea8923f5e042f4fea662fa593e5ec03505b41ee52d
-DIST rust-1.61.0-x86_64-unknown-linux-musl.tar.xz 259724324 BLAKE2B 
d005bd2794d196136c42842fbb7bc64d827898b5713f768cf0e88be5a40e3906139027ee58571cfccd8d2c864f672d1986da28c72f0d1c4a7f78d18efe14385e
 SHA512 
96d09ac3a48bb2956dd6bf219e605c68327a94d09e72290ee74781c4886dce93b217163fb08dac0ce69bfaa2e3ab8cccd4a26d10b9df4c3162822a38e355bdb6
-DIST rust-1.61.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
e1c8061c80cd5445f7df9c44044ccb47731704b93d4e86cf95bd3b1b08a3c3cdb61e21349088cd0127632c63a0f7c22f0fa209809450dd81607bf7353d61a7b4
 SHA512 
587f487a3c8159a4b102f15a484a0ffa4f32c2abd2fb4ca078c27d36f6ff365c95015a99494e852631e9f92bfc9f33a0266c5f62b7edfce823c34993ff6a836b
-DIST rustc-1.60.0-src.tar.xz 136183048 BLAKE2B 
8030f32c21f81af6abc7a282aab1189cb7d680c6bce58c119a1beaad71a3eeb36a696eef46a22d366e2c41a2f9182a9a5aa527426f2c8db05278184c37297dd0
 SHA512 
d0c113e8c2c67bf10773c9403dc4c4700c4deb2fb287bfec51e565d3473d2b481d8ae2c90b272cd67b3a87d7443ea25a34c7b40ba8cd7106bf5d71126ab141c3
-DIST rustc-1.60.0-src.tar.xz.asc 801 BLAKE2B 
02a2c140e091ea6913a760daa93aa57ba6a7631d0b99867669ce68641d562d436f13ed1f1578713184f06c9307d46e19dfd7c8d74a516b04293bc65c02b90707
 SHA512 
8136d19d4f3f4c45249b59b689f01d4edf108535ffe1f813771bd244cde1c66184a0bde5a0acfed4fb01015812458204244bbb54e6f5fa86e9b1ef5e92e805e3
-DIST rustc-1.62.1-src.tar.xz 135644156 BLAKE2B 
ff8428362153770c57d53cb7eef07b75944d47ec747d9c337cc7ba9f38dfd749415c9a00acf9d9d8743874ba1c51da7915315bd25e011eeb8a2aaa8812773850
 SHA512 
6f7fa855acdf20525e907a6fc8c7aa8b206603e3bcbd532d3bdce165380f0019f45dba2b2b06d20b541381accf67ca0d256fbddfcb1642a2e60e1237807d5410
-DIST rustc-1.62.1-src.tar.xz.asc 801 BLAKE2B 
dd0e917f8b587eb8318a9c820df5ee9a052f14e7dea05d8afcb3cf687fa2e362e6d2f4d20fa94a19bdf97227c9ef29548a6e267ffd9113bfdc36cc42f341d8b8
 SHA512 
698bfd419c218a6cccce04869279708cf6084adc464a64d7dd1c981c0577249cd06b4de132634085c792c838aa1e1beaa11a5a06ea0e5f4c1a6f4e28afe65a3c

diff --git 
a/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch 
b/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch
deleted file mode 100644
index c3bee9ba..00000000
--- a/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <[email protected]>
-Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 12/15] Ignore broken and non-applicable tests
-
-c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
-env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
-long-linker-command-lines: takes >10 minutes to run (but still passes)
-simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
-sparc-struct-abi: no sparc target
-sysroot-crates-are-unstable: can't run rustc without RPATH
----
- src/test/codegen/sparc-struct-abi.rs                            | 1 +
- src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile   | 2 ++
- src/test/run-make-fulldeps/long-linker-command-lines/Makefile   | 2 ++
- src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
- src/test/ui/env-funky-keys.rs                                   | 1 +
- 6 files changed, 10 insertions(+)
-
-diff --git a/src/test/codegen/sparc-struct-abi.rs 
b/src/test/codegen/sparc-struct-abi.rs
-index 78e5b14a212..6f93e93286b 100644
---- a/src/test/codegen/sparc-struct-abi.rs
-+++ b/src/test/codegen/sparc-struct-abi.rs
-@@ -2,6 +2,7 @@
- 
- // only-sparc64
- // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
- // needs-llvm-components: sparc
-+// ignore-test
- #![feature(no_core, lang_items)]
- #![no_core]
- 
-diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile 
b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-index f124ca2ab61..363b18f0985 100644
---- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-aarch64
-+
- -include ../tools.mk
- 
- all:
-diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile 
b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94bc..5f167ece1a2 100644
---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-test
-+
- -include ../tools.mk
- 
- all:
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile 
b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 9e770706857..6d92ec5cec8 100644
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,1 +1,3 @@
-+# ignore-test
-+
- all:
-         python2.7 test.py
-diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
-index c5c824ac58d..f3fe047a79c 100644
---- a/src/test/ui/env-funky-keys.rs
-+++ b/src/test/ui/env-funky-keys.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // Ignore this test on Android, because it segfaults there.
- 
-+// ignore-test
- // ignore-android
- // ignore-windows
- // ignore-cloudabi no execve
--- 
-2.24.1
-

diff --git a/dev-lang/rust/files/1.56.1-musl-dynamic-linking.patch 
b/dev-lang/rust/files/1.56.1-musl-dynamic-linking.patch
deleted file mode 100644
index b556228c..00000000
--- a/dev-lang/rust/files/1.56.1-musl-dynamic-linking.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From f11729adb9990528a38df7c703bf589d58998c4f Mon Sep 17 00:00:00 2001
-From: Jakub Jirutka <[email protected]>
-Date: Wed, 24 Nov 2021 21:32:50 -0600
-Subject: [PATCH] [PATCH] Fix linux_musl_base for native musl host
-
-See https://github.com/rust-lang/rust/pull/40113
----
- compiler/rustc_target/src/spec/crt_objects.rs | 22 -------------------
- .../rustc_target/src/spec/linux_musl_base.rs  |  6 +----
- 2 files changed, 1 insertion(+), 27 deletions(-)
-
-diff --git a/compiler/rustc_target/src/spec/crt_objects.rs 
b/compiler/rustc_target/src/spec/crt_objects.rs
-index 2fc9ab29f..276736159 100644
---- a/compiler/rustc_target/src/spec/crt_objects.rs
-+++ b/compiler/rustc_target/src/spec/crt_objects.rs
-@@ -62,28 +62,6 @@ pub(super) fn all(obj: &str) -> CrtObjects {
-     ])
- }
- 
--pub(super) fn pre_musl_fallback() -> CrtObjects {
--    new(&[
--        (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o", 
"crtbegin.o"]),
--        (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o", 
"crtbeginS.o"]),
--        (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]),
--        (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o", "crtbeginS.o"]),
--        (LinkOutputKind::DynamicDylib, &["crti.o", "crtbeginS.o"]),
--        (LinkOutputKind::StaticDylib, &["crti.o", "crtbeginS.o"]),
--    ])
--}
--
--pub(super) fn post_musl_fallback() -> CrtObjects {
--    new(&[
--        (LinkOutputKind::DynamicNoPicExe, &["crtend.o", "crtn.o"]),
--        (LinkOutputKind::DynamicPicExe, &["crtendS.o", "crtn.o"]),
--        (LinkOutputKind::StaticNoPicExe, &["crtend.o", "crtn.o"]),
--        (LinkOutputKind::StaticPicExe, &["crtendS.o", "crtn.o"]),
--        (LinkOutputKind::DynamicDylib, &["crtendS.o", "crtn.o"]),
--        (LinkOutputKind::StaticDylib, &["crtendS.o", "crtn.o"]),
--    ])
--}
--
- pub(super) fn pre_mingw_fallback() -> CrtObjects {
-     new(&[
-         (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
-diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs 
b/compiler/rustc_target/src/spec/linux_musl_base.rs
-index 5038a967d..25d634a1e 100644
---- a/compiler/rustc_target/src/spec/linux_musl_base.rs
-+++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
-@@ -1,16 +1,12 @@
--use crate::spec::crt_objects::{self, CrtObjectsFallback};
- use crate::spec::TargetOptions;
- 
- pub fn opts() -> TargetOptions {
-     let mut base = super::linux_base::opts();
- 
-     base.env = "musl".to_string();
--    base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
--    base.post_link_objects_fallback = crt_objects::post_musl_fallback();
--    base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
- 
-     // These targets statically link libc by default
--    base.crt_static_default = true;
-+    base.crt_static_default = false;
- 
-     base
- }
--- 
-2.32.0
-

diff --git a/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch 
b/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch
deleted file mode 100644
index 6d53487a..00000000
--- a/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <[email protected]>
-Date: Tue, 2 Aug 2022 18:32:53 -0500
-Subject: [PATCH] Enable dynamic linking by default for musl
-
-Signed-off-by: Jory Pratt <[email protected]>
----
- compiler/rustc_target/src/spec/linux_musl_base.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs 
b/compiler/rustc_target/src/spec/linux_musl_base.rs
-index 207a87ab0..8a5a43363 100644
---- a/compiler/rustc_target/src/spec/linux_musl_base.rs
-+++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
-@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions {
-     base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
- 
-     // These targets statically link libc by default
--    base.crt_static_default = true;
-+    base.crt_static_default = false;
- 
-     base
- }
--- 
-2.35.1
\ No newline at end of file

diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
deleted file mode 100644
index 7219757f..00000000
--- a/dev-lang/rust/metadata.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
-<pkgmetadata>
-       <maintainer type="person">
-               <email>[email protected]</email>
-               <name>Georgy Yakovlev</name>
-       </maintainer>
-       <maintainer type="project">
-               <email>[email protected]</email>
-               <name>Rust Project</name>
-       </maintainer>
-       <use>
-               <flag name="clippy">Install clippy, Rust code linter</flag>
-               <flag name="dist">Install dist tarballs (used for 
bootstrapping)</flag>
-               <flag name="miri">Install miri, an interpreter for Rust's 
mid-level intermediate representation (requires USE=nightly, sometimes is 
broken)</flag>
-               <flag name="nightly">Enable nightly (UNSTABLE) features (NOTE: 
it does not install nightly version, just enables features marked as nightly at 
time of release)</flag>
-               <flag name="parallel-compiler">Build a multi-threaded rustc 
(experimental, not tested by upstream)</flag>
-               <flag name="profiler">Build the profiler runtime and 
rust-demangler tool (needed for '-C profile-generate' or '-C 
instrument-coverage' codegen opts)</flag>
-               <flag name="rls">Install rls, Rust Language Server (used with 
IDEs supporting RLS protocol)</flag>
-               <flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
-               <flag name="rust-src">Install rust-src, needed by developer 
tools and for build-std (cross)</flag>
-               <flag name="system-bootstrap">Bootstrap using installed rust 
compiler</flag>
-               <flag name="system-llvm">Use the system LLVM installation</flag>
-               <flag name="wasm">Build support for the wasm32-unknown-unknown 
target</flag>
-       </use>
-</pkgmetadata>

diff --git a/dev-lang/rust/rust-1.60.0.ebuild b/dev-lang/rust/rust-1.60.0.ebuild
deleted file mode 100644
index 85b00e25..00000000
--- a/dev-lang/rust/rust-1.60.0.ebuild
+++ /dev/null
@@ -1,712 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing 
\
-       multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs 
verify-sig
-
-if [[ ${PV} = *beta* ]]; then
-       betaver=${PV//*beta}
-       BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-       MY_P="rustc-beta"
-       SLOT="beta/${PV}"
-       SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
-else
-       ABI_VER="$(ver_cut 1-2)"
-       SLOT="stable/${ABI_VER}"
-       MY_P="rustc-${PV}"
-       SRC="${MY_P}-src.tar.xz"
-       KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/";
-
-SRC_URI="
-       https://static.rust-lang.org/dist/${SRC}
-       verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
-       !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
-       NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug dist doc miri nightly parallel-compiler 
profiler rls rustfmt rust-src system-bootstrap system-llvm test wasm 
${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# List all the working slots in LLVM_VALID_SLOTS, newest first.
-LLVM_VALID_SLOTS=( 14 )
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
-
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-# (-) usedep needed because we may build with older llvm without that target
-LLVM_DEPEND="|| ( "
-for _s in ${LLVM_VALID_SLOTS[@]}; do
-       LLVM_DEPEND+=" ( "
-       for _x in ${ALL_LLVM_TARGETS[@]}; do
-               LLVM_DEPEND+="
-                       ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
-       done
-       LLVM_DEPEND+=" )"
-done
-unset _s _x
-LLVM_DEPEND+=" )
-       <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
-       wasm? ( sys-devel/lld )
-"
-
-# to bootstrap we need at least exactly previous version, or same.
-# most of the time previous versions fail to bootstrap with newer
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
-# but it fails to bootstrap with 1.48.x
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
-BOOTSTRAP_DEPEND="||
-       (
-               =dev-lang/rust-"${RUST_DEP_PREV}"
-               =dev-lang/rust-bin-"${RUST_DEP_PREV}"
-               =dev-lang/rust-"${RUST_DEP_CURR}"
-               =dev-lang/rust-bin-"${RUST_DEP_CURR}"
-       )
-"
-
-BDEPEND="${PYTHON_DEPS}
-       app-eselect/eselect-rust
-       || (
-               >=sys-devel/gcc-4.7
-               >=sys-devel/clang-3.5
-       )
-       system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
-       !system-llvm? (
-               >=dev-build/cmake-3.13.4
-               dev-build/ninja
-       )
-       test? ( dev-debug/gdb )
-       verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-DEPEND="
-       >=app-arch/xz-utils-5.2
-       net-misc/curl:=[http2,ssl]
-       sys-libs/zlib:=
-       dev-libs/openssl:0=
-       elibc_musl? ( sys-libs/libunwind:= )
-       system-llvm? ( ${LLVM_DEPEND} )
-"
-
-RDEPEND="${DEPEND}
-       app-eselect/eselect-rust
-       sys-apps/lsb-release
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
-       miri? ( nightly )
-       parallel-compiler? ( nightly )
-       rls? ( rust-src )
-       test? ( ${ALL_LLVM_TARGETS[*]} )
-       wasm? ( llvm_targets_WebAssembly )
-       x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warning
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
-       usr/lib/${PN}/${PV}/bin/.*
-       usr/lib/${PN}/${PV}/libexec/.*
-       usr/lib/${PN}/${PV}/lib/lib.*.so
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
-       usr/lib/${PN}/${PV}/lib/lib.*.so.*
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_PRESTRIPPED="
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
-"
-
-# An rmeta file is custom binary format that contains the metadata for the 
crate.
-# rmeta files do not support linking, since they do not contain compiled 
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-PATCHES=(
-       "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
-       "${FILESDIR}"/1.56.1-musl-dynamic-linking.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
-       usex "${1}" true false
-}
-
-bootstrap_rust_version_check() {
-       # never call from pkg_pretend. eselect-rust may be not installed yet.
-       [[ ${MERGE_TYPE} == binary ]] && return
-       local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
-       local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
-       local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
-       rustc_version=${rustc_version[0]#rust-bin-}
-       rustc_version=${rustc_version#rust-}
-
-       [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, 
check 'eselect rust' output"
-
-       if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
-               eerror "Rust >=${rustc_wanted} is required"
-               eerror "please run 'eselect rust' and set correct rust version"
-               die "selected rust version is too old"
-       elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
-               eerror "Rust <${rustc_toonew} is required"
-               eerror "please run 'eselect rust' and set correct rust version"
-               die "selected rust version is too new"
-       else
-               einfo "Using rust ${rustc_version} to build"
-       fi
-}
-
-pre_build_checks() {
-       local M=8192
-       # multiply requirements by 1.3 if we are doing x86-multilib
-       if use amd64; then
-               M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
-       fi
-       M=$(( $(usex clippy 128 0) + ${M} ))
-       M=$(( $(usex miri 128 0) + ${M} ))
-       M=$(( $(usex rls 512 0) + ${M} ))
-       M=$(( $(usex rustfmt 256 0) + ${M} ))
-       # add 2G if we compile llvm and 256M per llvm_target
-       if ! use system-llvm; then
-               M=$(( 2048 + ${M} ))
-               local ltarget
-               for ltarget in ${ALL_LLVM_TARGETS[@]}; do
-                       M=$(( $(usex ${ltarget} 256 0) + ${M} ))
-               done
-       fi
-       M=$(( $(usex wasm 256 0) + ${M} ))
-       M=$(( $(usex debug 2 1) * ${M} ))
-       eshopts_push -s extglob
-       if is-flagq '-g?(gdb)?([1-9])'; then
-               M=$(( 15 * ${M} / 10 ))
-       fi
-       eshopts_pop
-       M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
-       M=$(( $(usex doc 256 0) + ${M} ))
-       CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-llvm_check_deps() {
-       has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// 
/,}]"
-}
-
-pkg_pretend() {
-       pre_build_checks
-}
-
-pkg_setup() {
-       pre_build_checks
-       python-any-r1_pkg_setup
-
-       export LIBGIT2_NO_PKG_CONFIG=1 #749381
-
-       use system-bootstrap && bootstrap_rust_version_check
-
-       if use system-llvm; then
-               llvm_pkg_setup
-
-               local llvm_config="$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-               export LLVM_LINK_SHARED=1
-               export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" 
--libdir)"
-       fi
-}
-
-src_prepare() {
-       if ! use system-bootstrap; then
-               local rust_stage0_root="${WORKDIR}"/rust-stage0
-               local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
-               "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
-                       --without=rust-docs --destdir="${rust_stage0_root}" 
--prefix=/ || die
-       fi
-
-       default
-}
-
-src_configure() {
-       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_targets},\"$(rust_abi $(get_abi_CHOST 
${v##*.}))\""
-       done
-       if use wasm; then
-               rust_targets="${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/wasm_base.rs || die
-               fi
-       fi
-       rust_targets="${rust_targets#,}"
-
-       local tools="\"cargo\","
-       if use clippy; then
-               tools="\"clippy\",$tools"
-       fi
-       if use miri; then
-               tools="\"miri\",$tools"
-       fi
-       if use profiler; then
-               tools="\"rust-demangler\",$tools"
-       fi
-       if use rls; then
-               tools="\"rls\",\"analysis\",$tools"
-       fi
-       if use rustfmt; then
-               tools="\"rustfmt\",$tools"
-       fi
-       if use rust-src; then
-               tools="\"src\",$tools"
-       fi
-
-       local rust_stage0_root
-       if use system-bootstrap; then
-               local printsysroot
-               printsysroot="$(rustc --print sysroot || die "Can't determine 
rust's sysroot")"
-               rust_stage0_root="${printsysroot}"
-       else
-               rust_stage0_root="${WORKDIR}"/rust-stage0
-       fi
-       # 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)"
-
-       cat <<- _EOF_ > "${S}"/config.toml
-               changelog-seen = 2
-               [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 = ""
-               link-shared = $(toml_usex system-llvm)
-               $(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)
-               [build]
-               build-stage = 2
-               test-stage = 2
-               doc-stage = 2
-               build = "${rust_target}"
-               host = ["${rust_target}"]
-               target = [${rust_targets}]
-               cargo = "${rust_stage0_root}/bin/cargo"
-               rustc = "${rust_stage0_root}/bin/rustc"
-               rustfmt = "${rust_stage0_root}/bin/rustfmt"
-               docs = $(toml_usex doc)
-               compiler-docs = false
-               submodules = false
-               python = "${EPYTHON}"
-               locked-deps = true
-               vendor = true
-               extended = true
-               tools = [${tools}]
-               verbose = 2
-               sanitizers = false
-               profiler = $(toml_usex profiler)
-               cargo-native-static = false
-               [install]
-               prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
-               sysconfdir = "etc"
-               docdir = "share/doc/rust"
-               bindir = "bin"
-               libdir = "lib"
-               mandir = "share/man"
-               [rust]
-               # https://github.com/rust-lang/rust/issues/54872
-               codegen-units-std = 1
-               optimize = true
-               debug = $(toml_usex debug)
-               debug-assertions = $(toml_usex debug)
-               debug-assertions-std = $(toml_usex debug)
-               debuginfo-level = $(usex debug 2 0)
-               debuginfo-level-rustc = $(usex debug 2 0)
-               debuginfo-level-std = $(usex debug 2 0)
-               debuginfo-level-tools = $(usex debug 2 0)
-               debuginfo-level-tests = 0
-               backtrace = true
-               incremental = false
-               default-linker = "$(tc-getCC)"
-               parallel-compiler = $(toml_usex parallel-compiler)
-               channel = "$(usex nightly nightly stable)"
-               description = "gentoo"
-               rpath = false
-               verbose-tests = true
-               optimize-tests = $(toml_usex !debug)
-               codegen-tests = true
-               dist-src = false
-               remap-debuginfo = true
-               lld = $(usex system-llvm false $(toml_usex wasm))
-               # only deny warnings if doc+wasm are NOT requested, documenting 
stage0 wasm std fails without it
-               # https://github.com/rust-lang/rust/issues/74976
-               # https://github.com/rust-lang/rust/issues/76526
-               deny-warnings = $(usex wasm $(usex doc false true) true)
-               backtrace-on-ice = true
-               jemalloc = false
-               [dist]
-               src-tarball = false
-               compression-formats = ["xz"]
-       _EOF_
-
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
-               cat <<- _EOF_ >> "${S}"/config.env
-                       CFLAGS_${rust_target}=${arch_cflags}
-               _EOF_
-
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.${rust_target}]
-                       ar = "$(tc-getAR)"
-                       cc = "$(tc-getCC)"
-                       cxx = "$(tc-getCXX)"
-                       linker = "$(tc-getCC)"
-                       ranlib = "$(tc-getRANLIB)"
-               _EOF_
-               # librustc_target/spec/linux_musl_base.rs sets 
base.crt_static_default = true;
-               if use elibc_musl; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               crt-static = false
-                       _EOF_
-               fi
-               if use system-llvm; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       _EOF_
-               fi
-       done
-       if use wasm; then
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.wasm32-unknown-unknown]
-                       # wasm target does not have profiler_builtins 
https://bugs.gentoo.org/848483
-                       profiler = false
-                       linker = "$(usex system-llvm lld rust-lld)"
-               _EOF_
-       fi
-
-       if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace 
intentionally shifted below
-       # experimental cross support
-       # discussion: https://bugs.gentoo.org/679878
-       # TODO: c*flags, clang, system-llvm, cargo.eclass target support
-       # it would be much better if we could split out stdlib
-       # complilation to separate ebuild and abuse CATEGORY to
-       # just install to /usr/lib/rustlib/<target>
-
-       # extra targets defined as a bash array
-       # spec format:  <LLVM target>:<rust-target>:<CTARGET>
-       # best place would be /etc/portage/env/dev-lang/rust
-       # Example:
-       # RUST_CROSS_TARGETS=(
-       #       "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
-       # )
-       # no extra hand holding is done, no target transformations, all
-       # values are passed as-is with just basic checks, so it's up to user to 
supply correct values
-       # valid rust targets can be obtained with
-       #       rustc --print target-list
-       # matching cross toolchain has to be installed
-       # matching LLVM_TARGET has to be enabled for both rust and llvm (if 
using system one)
-       # only gcc toolchains installed with crossdev are checked for now.
-
-       # BUG: we can't pass host flags to cross compiler, so just filter for 
now
-       # BUG: this should be more fine-grained.
-       filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-
-       local cross_target_spec
-       for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
-               # extracts first element form <LLVM 
target>:<rust-target>:<CTARGET>
-               local cross_llvm_target="${cross_target_spec%%:*}"
-               # extracts toolchain triples, <rust-target>:<CTARGET>
-               local cross_triples="${cross_target_spec#*:}"
-               # extracts first element after before : separator
-               local cross_rust_target="${cross_triples%%:*}"
-               # extracts last element after : separator
-               local cross_toolchain="${cross_triples##*:}"
-               use llvm_targets_${cross_llvm_target} || die "need 
llvm_targets_${cross_llvm_target} target enabled"
-               command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need 
${cross_toolchain} cross toolchain"
-
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.${cross_rust_target}]
-                       ar = "${cross_toolchain}-ar"
-                       cc = "${cross_toolchain}-gcc"
-                       cxx = "${cross_toolchain}-g++"
-                       linker = "${cross_toolchain}-gcc"
-                       ranlib = "${cross_toolchain}-ranlib"
-               _EOF_
-               if use system-llvm; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       _EOF_
-               fi
-               if [[ "${cross_toolchain}" == *-musl* ]]; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               musl-root = "$(${cross_toolchain}-gcc 
-print-sysroot)/usr"
-                       _EOF_
-               fi
-
-               # append cross target to "normal" target list
-               # example 'target = ["powerpc64le-unknown-linux-gnu"]'
-               # becomes 'target = 
["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
-
-               rust_targets="${rust_targets},\"${cross_rust_target}\""
-               sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" 
config.toml || die
-
-               ewarn
-               ewarn "Enabled ${cross_rust_target} rust target"
-               ewarn "Using ${cross_toolchain} cross toolchain"
-               ewarn
-               if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
-                       ewarn "'sys-devel/binutils[multitarget]' is not 
installed"
-                       ewarn "'strip' will be unable to strip cross libraries"
-                       ewarn "cross targets will be installed with full debug 
information"
-                       ewarn "enable 'multitarget' USE flag for binutils to be 
able to strip object files"
-                       ewarn
-                       ewarn "Alternatively llvm-strip can be used, it 
supports stripping any target"
-                       ewarn "define STRIP=\"llvm-strip\" to use it 
(experimental)"
-                       ewarn
-               fi
-       done
-       fi # I_KNOW_WHAT_I_AM_DOING_CROSS
-
-       einfo "Rust configured with the following flags:"
-       echo
-       echo RUSTFLAGS="${RUSTFLAGS:-}"
-       echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
-       echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
-       env | grep "CARGO_TARGET_.*_RUSTFLAGS="
-       cat "${S}"/config.env || die
-       echo
-       einfo "config.toml contents:"
-       cat "${S}"/config.toml || die
-       echo
-}
-
-src_compile() {
-       # we need \n IFS to have config.env with spaces loaded properly. #734018
-       (
-       IFS=$'\n'
-       env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
-               "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml 
-j$(makeopts_jobs) || die
-       )
-}
-
-src_test() {
-       # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
-       # those are basic and codegen tests.
-       local tests=(
-               codegen
-               codegen-units
-               compile-fail
-               incremental
-               mir-opt
-               pretty
-               run-make
-       )
-
-       # fails if llvm is not built with ALL targets.
-       # and known to fail with system llvm sometimes.
-       use system-llvm || tests+=( assembly )
-
-       # fragile/expensive/less important tests
-       # or tests that require extra builds
-       # TODO: instead of skipping, just make some nonfatal.
-       if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
-               tests+=(
-                       rustdoc
-                       rustdoc-js
-                       rustdoc-js-std
-                       rustdoc-ui
-                       run-make-fulldeps
-                       ui
-                       ui-fulldeps
-               )
-       fi
-
-       local i failed=()
-       einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
-       for i in "${tests[@]}"; do
-               local t="src/test/${i}"
-               einfo "rust_src_test: running ${t}"
-               if ! (
-                               IFS=$'\n'
-                               env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
-                               "${EPYTHON}" ./x.py test -vv 
--config="${S}"/config.toml \
-                               -j$(makeopts_jobs) --no-doc --no-fail-fast 
"${t}"
-                       )
-               then
-                               failed+=( "${t}" )
-                               eerror "rust_src_test: ${t} failed"
-               fi
-       done
-
-       if [[ ${#failed[@]} -ne 0 ]]; then
-               eerror "rust_src_test: failure summary: ${failed[@]}"
-               die "aborting due to test failures"
-       fi
-}
-
-src_install() {
-       (
-       IFS=$'\n'
-       env $(cat "${S}"/config.env) DESTDIR="${D}" \
-               "${EPYTHON}" ./x.py install     -vv --config="${S}"/config.toml 
-j$(makeopts_jobs) || die
-       )
-
-       # bug #689562, #689160
-       rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
-       rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
-       newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
-
-       local symlinks=(
-               cargo
-               rustc
-               rustdoc
-               rust-gdb
-               rust-gdbgui
-               rust-lldb
-       )
-
-       use clippy && symlinks+=( clippy-driver cargo-clippy )
-       use miri && symlinks+=( miri cargo-miri )
-       use profiler && symlinks+=( rust-demangler )
-       use rls && symlinks+=( rls )
-       use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
-       einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
-       local i
-       for i in "${symlinks[@]}"; do
-               # we need realpath on /usr/bin/* symlink return 
version-appended binary path.
-               # so /usr/bin/rustc should point to 
/usr/lib/rust/<ver>/bin/rustc-<ver>
-               # need to fix eselect-rust to remove this hack.
-               local ver_i="${i}-${PV}"
-               if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
-                       einfo "Installing ${i} symlink"
-                       ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" 
"${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
-               else
-                       ewarn "${i} symlink requested, but source file not 
found"
-                       ewarn "please report this"
-               fi
-               dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
-       done
-
-       # symlinks to switch components to active rust in eselect
-       dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
-       dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
-       dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
-       dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
-       dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
-
-       newenvd - "50${P}" <<-_EOF_
-               LDPATH="${EPREFIX}/usr/lib/rust/lib"
-               MANPATH="${EPREFIX}/usr/lib/rust/man"
-               $(use amd64 && usex elibc_musl 
'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
-               $(use arm64 && usex elibc_musl 
'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
-       _EOF_
-
-       rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
-       rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
-       # note: eselect-rust adds EROOT to all paths below
-       cat <<-_EOF_ > "${T}/provider-${P}"
-               /usr/bin/cargo
-               /usr/bin/rustdoc
-               /usr/bin/rust-gdb
-               /usr/bin/rust-gdbgui
-               /usr/bin/rust-lldb
-               /usr/lib/rustlib
-               /usr/lib/rust/lib
-               /usr/lib/rust/libexec
-               /usr/lib/rust/man
-               /usr/share/doc/rust
-       _EOF_
-
-       if use clippy; then
-               echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
-       fi
-       if use miri; then
-               echo /usr/bin/miri >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
-       fi
-       if use profiler; then
-               echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
-       fi
-       if use rls; then
-               echo /usr/bin/rls >> "${T}/provider-${P}"
-       fi
-       if use rustfmt; then
-               echo /usr/bin/rustfmt >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
-       fi
-
-       insinto /etc/env.d/rust
-       doins "${T}/provider-${P}"
-
-       if use dist; then
-               insinto "/usr/lib/${PN}/${PV}/dist"
-               doins -r "${S}/build/dist/."
-       fi
-}
-
-pkg_postinst() {
-       eselect rust update
-
-       if has_version dev-debug/gdb || has_version dev-debug/lldb; then
-               elog "Rust installs a helper script for calling GDB and LLDB,"
-               elog "for your convenience it is installed under 
/usr/bin/rust-{gdb,lldb}-${PV}."
-       fi
-
-       if has_version app-editors/emacs; then
-               elog "install app-emacs/rust-mode to get emacs support for 
rust."
-       fi
-
-       if has_version app-editors/gvim || has_version app-editors/vim; then
-               elog "install app-vim/rust-vim to get vim support for rust."
-       fi
-}
-
-pkg_postrm() {
-       eselect rust cleanup
-}

diff --git a/dev-lang/rust/rust-1.62.1.ebuild b/dev-lang/rust/rust-1.62.1.ebuild
deleted file mode 100644
index d20a3a3b..00000000
--- a/dev-lang/rust/rust-1.62.1.ebuild
+++ /dev/null
@@ -1,737 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing 
\
-       multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs 
verify-sig
-
-if [[ ${PV} = *beta* ]]; then
-       betaver=${PV//*beta}
-       BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-       MY_P="rustc-beta"
-       SLOT="beta/${PV}"
-       SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
-else
-       ABI_VER="$(ver_cut 1-2)"
-       SLOT="stable/${ABI_VER}"
-       MY_P="rustc-${PV}"
-       SRC="${MY_P}-src.tar.xz"
-       KEYWORDS="amd64 arm arm64 ppc64 ~x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/";
-
-SRC_URI="
-       https://static.rust-lang.org/dist/${SRC}
-       verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
-       !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
-       NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug dist doc miri nightly parallel-compiler 
profiler rls rustfmt rust-src system-bootstrap system-llvm test wasm 
${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# List all the working slots in LLVM_VALID_SLOTS, newest first.
-LLVM_VALID_SLOTS=( 14 )
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
-
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-# (-) usedep needed because we may build with older llvm without that target
-LLVM_DEPEND="|| ( "
-for _s in ${LLVM_VALID_SLOTS[@]}; do
-       LLVM_DEPEND+=" ( "
-       for _x in ${ALL_LLVM_TARGETS[@]}; do
-               LLVM_DEPEND+="
-                       ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
-       done
-       LLVM_DEPEND+=" )"
-done
-unset _s _x
-LLVM_DEPEND+=" )
-       <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
-       wasm? ( sys-devel/lld )
-"
-
-# to bootstrap we need at least exactly previous version, or same.
-# most of the time previous versions fail to bootstrap with newer
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
-# but it fails to bootstrap with 1.48.x
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
-BOOTSTRAP_DEPEND="||
-       (
-               =dev-lang/rust-"${RUST_DEP_PREV}"
-               =dev-lang/rust-bin-"${RUST_DEP_PREV}"
-               =dev-lang/rust-"${RUST_DEP_CURR}"
-               =dev-lang/rust-bin-"${RUST_DEP_CURR}"
-       )
-"
-
-BDEPEND="${PYTHON_DEPS}
-       app-eselect/eselect-rust
-       || (
-               >=sys-devel/gcc-4.7
-               >=sys-devel/clang-3.5
-       )
-       system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
-       !system-llvm? (
-               >=dev-build/cmake-3.13.4
-               dev-build/ninja
-       )
-       test? ( dev-debug/gdb )
-       verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-DEPEND="
-       >=app-arch/xz-utils-5.2
-       net-misc/curl:=[http2,ssl]
-       sys-libs/zlib:=
-       dev-libs/openssl:0=
-       elibc_musl? ( sys-libs/libunwind:= )
-       system-llvm? ( ${LLVM_DEPEND} )
-"
-
-RDEPEND="${DEPEND}
-       app-eselect/eselect-rust
-       sys-apps/lsb-release
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
-       miri? ( nightly )
-       parallel-compiler? ( nightly )
-       rls? ( rust-src )
-       test? ( ${ALL_LLVM_TARGETS[*]} )
-       wasm? ( llvm_targets_WebAssembly )
-       x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warning
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
-       usr/lib/${PN}/${PV}/bin/.*
-       usr/lib/${PN}/${PV}/libexec/.*
-       usr/lib/${PN}/${PV}/lib/lib.*.so
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
-       usr/lib/${PN}/${PV}/lib/lib.*.so.*
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_PRESTRIPPED="
-       usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
-"
-
-# An rmeta file is custom binary format that contains the metadata for the 
crate.
-# rmeta files do not support linking, since they do not contain compiled 
object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-PATCHES=(
-       "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
-       "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
-       usex "${1}" true false
-}
-
-bootstrap_rust_version_check() {
-       # never call from pkg_pretend. eselect-rust may be not installed yet.
-       [[ ${MERGE_TYPE} == binary ]] && return
-       local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
-       local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
-       local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
-       rustc_version=${rustc_version[0]#rust-bin-}
-       rustc_version=${rustc_version#rust-}
-
-       [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, 
check 'eselect rust' output"
-
-       if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
-               eerror "Rust >=${rustc_wanted} is required"
-               eerror "please run 'eselect rust' and set correct rust version"
-               die "selected rust version is too old"
-       elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
-               eerror "Rust <${rustc_toonew} is required"
-               eerror "please run 'eselect rust' and set correct rust version"
-               die "selected rust version is too new"
-       else
-               einfo "Using rust ${rustc_version} to build"
-       fi
-}
-
-pre_build_checks() {
-       local M=8192
-       # multiply requirements by 1.3 if we are doing x86-multilib
-       if use amd64; then
-               M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 ))
-       fi
-       M=$(( $(usex clippy 128 0) + ${M} ))
-       M=$(( $(usex miri 128 0) + ${M} ))
-       M=$(( $(usex rls 512 0) + ${M} ))
-       M=$(( $(usex rustfmt 256 0) + ${M} ))
-       # add 2G if we compile llvm and 256M per llvm_target
-       if ! use system-llvm; then
-               M=$(( 2048 + ${M} ))
-               local ltarget
-               for ltarget in ${ALL_LLVM_TARGETS[@]}; do
-                       M=$(( $(usex ${ltarget} 256 0) + ${M} ))
-               done
-       fi
-       M=$(( $(usex wasm 256 0) + ${M} ))
-       M=$(( $(usex debug 2 1) * ${M} ))
-       eshopts_push -s extglob
-       if is-flagq '-g?(gdb)?([1-9])'; then
-               M=$(( 15 * ${M} / 10 ))
-       fi
-       eshopts_pop
-       M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
-       M=$(( $(usex doc 256 0) + ${M} ))
-       CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-llvm_check_deps() {
-       has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// 
/,}]"
-}
-
-pkg_pretend() {
-       pre_build_checks
-}
-
-pkg_setup() {
-       pre_build_checks
-       python-any-r1_pkg_setup
-
-       export LIBGIT2_NO_PKG_CONFIG=1 #749381
-
-       use system-bootstrap && bootstrap_rust_version_check
-
-       if use system-llvm; then
-               llvm_pkg_setup
-
-               local llvm_config="$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-               export LLVM_LINK_SHARED=1
-               export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" 
--libdir)"
-       fi
-}
-
-src_prepare() {
-       if ! use system-bootstrap; then
-               local rust_stage0_root="${WORKDIR}"/rust-stage0
-               local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
-               "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
-                       --without=rust-docs --destdir="${rust_stage0_root}" 
--prefix=/ || die
-       fi
-
-       default
-}
-
-src_configure() {
-       use system-llvm && filter-flags '-flto*' # 
https://bugs.gentoo.org/862109
-
-       local rust_target="" rust_targets="" arch_cflags use_libcxx="false"
-
-       # Collect rust target names to compile standard libs for all ABIs.
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST 
${v##*.}))\""
-       done
-       if use wasm; then
-               rust_targets="${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/wasm_base.rs || die
-               fi
-       fi
-       rust_targets="${rust_targets#,}"
-
-       local tools="\"cargo\","
-       if use clippy; then
-               tools="\"clippy\",$tools"
-       fi
-       if use miri; then
-               tools="\"miri\",$tools"
-       fi
-       if use profiler; then
-               tools="\"rust-demangler\",$tools"
-       fi
-       if use rls; then
-               tools="\"rls\",\"analysis\",$tools"
-       fi
-       if use rustfmt; then
-               tools="\"rustfmt\",$tools"
-       fi
-       if use rust-src; then
-               tools="\"src\",$tools"
-       fi
-
-       local rust_stage0_root
-       if use system-bootstrap; then
-               local printsysroot
-               printsysroot="$(rustc --print sysroot || die "Can't determine 
rust's sysroot")"
-               rust_stage0_root="${printsysroot}"
-       else
-               rust_stage0_root="${WORKDIR}"/rust-stage0
-       fi
-       # 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)"
-
-       # https://bugs.gentoo.org/732632
-       if tc-is-clang; then
-               local clang_slot="$(clang-major-version)"
-               if { has_version 
"sys-devel/clang:${clang_slot}[default-libcxx]" || is-flagq -stdlib=libc++; }; 
then
-                       use_libcxx="true"
-               fi
-       fi
-
-       local cm_btype="$(usex debug DEBUG RELEASE)"
-       cat <<- _EOF_ > "${S}"/config.toml
-               changelog-seen = 2
-               [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 = ""
-               link-shared = $(toml_usex system-llvm)
-               $(if [[ ${use_libcxx} == true ]]; then
-                       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)
-               [llvm.build-config]
-               CMAKE_VERBOSE_MAKEFILE = "ON"
-               CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}"
-               CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}"
-               CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}"
-               CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}"
-               CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}"
-               CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}"
-               [build]
-               build-stage = 2
-               test-stage = 2
-               doc-stage = 2
-               build = "${rust_target}"
-               host = ["${rust_target}"]
-               target = [${rust_targets}]
-               cargo = "${rust_stage0_root}/bin/cargo"
-               rustc = "${rust_stage0_root}/bin/rustc"
-               rustfmt = "${rust_stage0_root}/bin/rustfmt"
-               docs = $(toml_usex doc)
-               compiler-docs = false
-               submodules = false
-               python = "${EPYTHON}"
-               locked-deps = true
-               vendor = true
-               extended = true
-               tools = [${tools}]
-               verbose = 2
-               sanitizers = false
-               profiler = $(toml_usex profiler)
-               cargo-native-static = false
-               [install]
-               prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
-               sysconfdir = "etc"
-               docdir = "share/doc/rust"
-               bindir = "bin"
-               libdir = "lib"
-               mandir = "share/man"
-               [rust]
-               # https://github.com/rust-lang/rust/issues/54872
-               codegen-units-std = 1
-               optimize = true
-               debug = $(toml_usex debug)
-               debug-assertions = $(toml_usex debug)
-               debug-assertions-std = $(toml_usex debug)
-               debuginfo-level = $(usex debug 2 0)
-               debuginfo-level-rustc = $(usex debug 2 0)
-               debuginfo-level-std = $(usex debug 2 0)
-               debuginfo-level-tools = $(usex debug 2 0)
-               debuginfo-level-tests = 0
-               backtrace = true
-               incremental = false
-               default-linker = "$(tc-getCC)"
-               parallel-compiler = $(toml_usex parallel-compiler)
-               channel = "$(usex nightly nightly stable)"
-               description = "gentoo"
-               rpath = false
-               verbose-tests = true
-               optimize-tests = $(toml_usex !debug)
-               codegen-tests = true
-               dist-src = false
-               remap-debuginfo = true
-               lld = $(usex system-llvm false $(toml_usex wasm))
-               # only deny warnings if doc+wasm are NOT requested, documenting 
stage0 wasm std fails without it
-               # https://github.com/rust-lang/rust/issues/74976
-               # https://github.com/rust-lang/rust/issues/76526
-               deny-warnings = $(usex wasm $(usex doc false true) true)
-               backtrace-on-ice = true
-               jemalloc = false
-               [dist]
-               src-tarball = false
-               compression-formats = ["xz"]
-       _EOF_
-
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
-               cat <<- _EOF_ >> "${S}"/config.env
-                       CFLAGS_${rust_target}=${arch_cflags}
-               _EOF_
-
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.${rust_target}]
-                       ar = "$(tc-getAR)"
-                       cc = "$(tc-getCC)"
-                       cxx = "$(tc-getCXX)"
-                       linker = "$(tc-getCC)"
-                       ranlib = "$(tc-getRANLIB)"
-               _EOF_
-               # librustc_target/spec/linux_musl_base.rs sets 
base.crt_static_default = true;
-               if use elibc_musl; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               crt-static = false
-                       _EOF_
-               fi
-               if use system-llvm; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       _EOF_
-               fi
-       done
-       if use wasm; then
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.wasm32-unknown-unknown]
-                       linker = "$(usex system-llvm lld rust-lld)"
-                       # wasm target does not have profiler_builtins 
https://bugs.gentoo.org/848483
-                       profiler = false
-               _EOF_
-       fi
-
-       if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace 
intentionally shifted below
-       # experimental cross support
-       # discussion: https://bugs.gentoo.org/679878
-       # TODO: c*flags, clang, system-llvm, cargo.eclass target support
-       # it would be much better if we could split out stdlib
-       # complilation to separate ebuild and abuse CATEGORY to
-       # just install to /usr/lib/rustlib/<target>
-
-       # extra targets defined as a bash array
-       # spec format:  <LLVM target>:<rust-target>:<CTARGET>
-       # best place would be /etc/portage/env/dev-lang/rust
-       # Example:
-       # RUST_CROSS_TARGETS=(
-       #       "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
-       # )
-       # no extra hand holding is done, no target transformations, all
-       # values are passed as-is with just basic checks, so it's up to user to 
supply correct values
-       # valid rust targets can be obtained with
-       #       rustc --print target-list
-       # matching cross toolchain has to be installed
-       # matching LLVM_TARGET has to be enabled for both rust and llvm (if 
using system one)
-       # only gcc toolchains installed with crossdev are checked for now.
-
-       # BUG: we can't pass host flags to cross compiler, so just filter for 
now
-       # BUG: this should be more fine-grained.
-       filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-
-       local cross_target_spec
-       for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
-               # extracts first element form <LLVM 
target>:<rust-target>:<CTARGET>
-               local cross_llvm_target="${cross_target_spec%%:*}"
-               # extracts toolchain triples, <rust-target>:<CTARGET>
-               local cross_triples="${cross_target_spec#*:}"
-               # extracts first element after before : separator
-               local cross_rust_target="${cross_triples%%:*}"
-               # extracts last element after : separator
-               local cross_toolchain="${cross_triples##*:}"
-               use llvm_targets_${cross_llvm_target} || die "need 
llvm_targets_${cross_llvm_target} target enabled"
-               command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need 
${cross_toolchain} cross toolchain"
-
-               cat <<- _EOF_ >> "${S}"/config.toml
-                       [target.${cross_rust_target}]
-                       ar = "${cross_toolchain}-ar"
-                       cc = "${cross_toolchain}-gcc"
-                       cxx = "${cross_toolchain}-g++"
-                       linker = "${cross_toolchain}-gcc"
-                       ranlib = "${cross_toolchain}-ranlib"
-               _EOF_
-               if use system-llvm; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       _EOF_
-               fi
-               if [[ "${cross_toolchain}" == *-musl* ]]; then
-                       cat <<- _EOF_ >> "${S}"/config.toml
-                               musl-root = "$(${cross_toolchain}-gcc 
-print-sysroot)/usr"
-                       _EOF_
-               fi
-
-               # append cross target to "normal" target list
-               # example 'target = ["powerpc64le-unknown-linux-gnu"]'
-               # becomes 'target = 
["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
-
-               rust_targets="${rust_targets},\"${cross_rust_target}\""
-               sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" 
config.toml || die
-
-               ewarn
-               ewarn "Enabled ${cross_rust_target} rust target"
-               ewarn "Using ${cross_toolchain} cross toolchain"
-               ewarn
-               if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
-                       ewarn "'sys-devel/binutils[multitarget]' is not 
installed"
-                       ewarn "'strip' will be unable to strip cross libraries"
-                       ewarn "cross targets will be installed with full debug 
information"
-                       ewarn "enable 'multitarget' USE flag for binutils to be 
able to strip object files"
-                       ewarn
-                       ewarn "Alternatively llvm-strip can be used, it 
supports stripping any target"
-                       ewarn "define STRIP=\"llvm-strip\" to use it 
(experimental)"
-                       ewarn
-               fi
-       done
-       fi # I_KNOW_WHAT_I_AM_DOING_CROSS
-
-       einfo "Rust configured with the following flags:"
-       echo
-       echo RUSTFLAGS="${RUSTFLAGS:-}"
-       echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
-       echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
-       env | grep "CARGO_TARGET_.*_RUSTFLAGS="
-       cat "${S}"/config.env || die
-       echo
-       einfo "config.toml contents:"
-       cat "${S}"/config.toml || die
-       echo
-}
-
-src_compile() {
-       # we need \n IFS to have config.env with spaces loaded properly. #734018
-       (
-       IFS=$'\n'
-       env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
-               "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml 
-j$(makeopts_jobs) || die
-       )
-}
-
-src_test() {
-       # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
-       # those are basic and codegen tests.
-       local tests=(
-               codegen
-               codegen-units
-               compile-fail
-               incremental
-               mir-opt
-               pretty
-               run-make
-       )
-
-       # fails if llvm is not built with ALL targets.
-       # and known to fail with system llvm sometimes.
-       use system-llvm || tests+=( assembly )
-
-       # fragile/expensive/less important tests
-       # or tests that require extra builds
-       # TODO: instead of skipping, just make some nonfatal.
-       if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
-               tests+=(
-                       rustdoc
-                       rustdoc-js
-                       rustdoc-js-std
-                       rustdoc-ui
-                       run-make-fulldeps
-                       ui
-                       ui-fulldeps
-               )
-       fi
-
-       local i failed=()
-       einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
-       for i in "${tests[@]}"; do
-               local t="src/test/${i}"
-               einfo "rust_src_test: running ${t}"
-               if ! (
-                               IFS=$'\n'
-                               env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
-                               "${EPYTHON}" ./x.py test -vv 
--config="${S}"/config.toml \
-                               -j$(makeopts_jobs) --no-doc --no-fail-fast 
"${t}"
-                       )
-               then
-                               failed+=( "${t}" )
-                               eerror "rust_src_test: ${t} failed"
-               fi
-       done
-
-       if [[ ${#failed[@]} -ne 0 ]]; then
-               eerror "rust_src_test: failure summary: ${failed[@]}"
-               die "aborting due to test failures"
-       fi
-}
-
-src_install() {
-       (
-       IFS=$'\n'
-       env $(cat "${S}"/config.env) DESTDIR="${D}" \
-               "${EPYTHON}" ./x.py install     -vv --config="${S}"/config.toml 
-j$(makeopts_jobs) || die
-       )
-
-       # bug #689562, #689160
-       rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
-       rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
-       newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
-
-       local symlinks=(
-               cargo
-               rustc
-               rustdoc
-               rust-gdb
-               rust-gdbgui
-               rust-lldb
-       )
-
-       use clippy && symlinks+=( clippy-driver cargo-clippy )
-       use miri && symlinks+=( miri cargo-miri )
-       use profiler && symlinks+=( rust-demangler )
-       use rls && symlinks+=( rls )
-       use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
-       einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
-       local i
-       for i in "${symlinks[@]}"; do
-               # we need realpath on /usr/bin/* symlink return 
version-appended binary path.
-               # so /usr/bin/rustc should point to 
/usr/lib/rust/<ver>/bin/rustc-<ver>
-               # need to fix eselect-rust to remove this hack.
-               local ver_i="${i}-${PV}"
-               if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
-                       einfo "Installing ${i} symlink"
-                       ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" 
"${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
-               else
-                       ewarn "${i} symlink requested, but source file not 
found"
-                       ewarn "please report this"
-               fi
-               dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
-       done
-
-       # symlinks to switch components to active rust in eselect
-       dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
-       dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
-       dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
-       dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
-       dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
-
-       newenvd - "50${P}" <<-_EOF_
-               LDPATH="${EPREFIX}/usr/lib/rust/lib"
-               MANPATH="${EPREFIX}/usr/lib/rust/man"
-               $(use amd64 && usex elibc_musl 
'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
-               $(use arm64 && usex elibc_musl 
'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
-       _EOF_
-
-       rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
-       rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
-       # note: eselect-rust adds EROOT to all paths below
-       cat <<-_EOF_ > "${T}/provider-${P}"
-               /usr/bin/cargo
-               /usr/bin/rustdoc
-               /usr/bin/rust-gdb
-               /usr/bin/rust-gdbgui
-               /usr/bin/rust-lldb
-               /usr/lib/rustlib
-               /usr/lib/rust/lib
-               /usr/lib/rust/libexec
-               /usr/lib/rust/man
-               /usr/share/doc/rust
-       _EOF_
-
-       if use clippy; then
-               echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
-       fi
-       if use miri; then
-               echo /usr/bin/miri >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
-       fi
-       if use profiler; then
-               echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
-       fi
-       if use rls; then
-               echo /usr/bin/rls >> "${T}/provider-${P}"
-       fi
-       if use rustfmt; then
-               echo /usr/bin/rustfmt >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
-       fi
-
-       insinto /etc/env.d/rust
-       doins "${T}/provider-${P}"
-
-       if use dist; then
-               insinto "/usr/lib/${PN}/${PV}/dist"
-               doins -r "${S}/build/dist/."
-       fi
-}
-
-pkg_postinst() {
-       eselect rust update
-
-       if has_version dev-debug/gdb || has_version dev-debug/lldb; then
-               elog "Rust installs a helper script for calling GDB and LLDB,"
-               elog "for your convenience it is installed under 
/usr/bin/rust-{gdb,lldb}-${PV}."
-       fi
-
-       if has_version app-editors/emacs; then
-               elog "install app-emacs/rust-mode to get emacs support for 
rust."
-       fi
-
-       if has_version app-editors/gvim || has_version app-editors/vim; then
-               elog "install app-vim/rust-vim to get vim support for rust."
-       fi
-}
-
-pkg_postrm() {
-       eselect rust cleanup
-}

Reply via email to