diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest index e37a9c538e..a9f9534699 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest @@ -738,6 +738,118 @@ DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz 192171372 BLAKE2B a4d300f49db61 DIST rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b5705cee0a257eb54836da4c351bc3e5367938cdf8dc317137c13b88a52b63361b647602c5a2f087fc145c1d490e40513ee74e232f0f5c304d71c55c4f55dc0 SHA512 15a54c497a450211e09701e7c4158dff3b4a32ed4bbc5dc36e6920de1d2a42563b7bca69180b3456b088e5079b9d07d2bd0656f1a9491e4445a4aa9eeb45140a DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz 295461400 BLAKE2B 9eb8a7ab9c3bbd4ab8f6bb1d6cec7c2f47461ec48144cb9bf3c6f71dc63e0db79d3fb9eddf5373626259e1bfc60a7c693d0dc7908ed651dea0478067985f9c32 SHA512 974e589f2f530b98cf378593a0b6a5fdcc39b6f163bb252ab8a7dec4270465830fd72b60b9d0bbcff44feb354a004fd2e2e2aef45dac51533a905a01e35a061a DIST rust-1.92.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e23b48bf40fe709084f8792c563d47f1ede9e91e78d6e270b05dc58ac60ce71277ad8f72b2d67b81d7434c0f73df4d97f4eb5896c2d1864964344ab341b41125 SHA512 f427c992b45585b484fa6171d35bf56d47cdb05199ff8af35cee76e6ecb2138df31b383e3b4b786846cfdc38ebed370c4dec9573434d941c0a03ef16f9aa8945 +DIST rust-1.93.0-aarch64-unknown-linux-gnu.tar.xz 169930452 BLAKE2B 17236d3ae7583eecc2b159cfdd75a604070b41c0410fe1ce5b8d32a4d27b08968e5e3369bf9bb64b845c13f4f2c26ef6d3b1a53f3d00f9f086b18eb22f043698 SHA512 5f77bcbc69989a9ccb71f092f4624ee8d59741bc0a84047eed8c7d9c1bef84c4cf3b32138e1d0f027ce007b50ca083f1b08d315b917b04f2066d843de63c7379 +DIST rust-1.93.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 35c6dd7ea9f6f04137688b3a13e9a33fffba9766f5b19fd416af7c1cd996ae3db66ec0cff5722973a71895e05c682d27befb1b407db6f4c0a919ecd7a5d77c77 SHA512 85c01b683f25aa46556f70682500cb4066a6089bcdf6ad6aeca4129f84527183acfe344a25e1fb90343dc63022a7c0a509a7266840af3ab45c598d48c0e4ca7e +DIST rust-1.93.0-aarch64-unknown-linux-musl.tar.xz 244304812 BLAKE2B 554a34c6de09359e33826b595e752408098fa32cdba6bfd47f3a6d2a0c42170ab3643d30a6954ac1623e5d8814b9da6fb1c5e85b154ece696e954a7605b2aca1 SHA512 64c28fbcf5b886c6ad9c9d3a1bfd7989a0707e19d5236f2765180aa5f6cfb2d71acf203254cc44be4baf1e1260f827e2ee095819e8d509c4c970d4f7a1742090 +DIST rust-1.93.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 47d34f86f2857f8dac1d0bd2e5851e24217984a1fcaa988a099f0e61dd7efae5ae9702f8e8f8d0342993d9ec83027409535559243699e7f8c47c7bd8644683b4 SHA512 bdab75d0574e930f42c805f404a1bcf8465cf32689ec3df02ee63441f0875125944705a5cb849101b5842daac08cb9bc23c65739524b84fc6fc3a9dc0fd38266 +DIST rust-1.93.0-arm-unknown-linux-gnueabi.tar.xz 226078060 BLAKE2B 6aea90f78fdd87dbc1b2d95fc9e55c472deb4eba27787568500e8b95e112bbf99ddd1aacad30a892e6c6f8d92286639d72ea04dd7464edc3b603661ad0b1bbe8 SHA512 6208e436d292099b956eaf8b41f621ca2845d55c424e14836c53975aca6ac237172f8f5982db5358b368b852d66e15e00f64dc8fa487a5e22e84a15e62d65c47 +DIST rust-1.93.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 01214a7762659175abe06d12ba5fe5db50b05fbc3fae2925705f6151901a4dc37ab5f93f97aa2c36e6e45d981cc22602d074fb9df82781f4c4567c9a5fb3bfab SHA512 4f0340ad17ee76a43ebd4275f2fac920d9cdcdefd0c4e701010706ea8834cdbc4cecb198cc3dac7c266ce08e9bf8d06a3910b534b96f9b1cc90db592f3eae546 +DIST rust-1.93.0-arm-unknown-linux-gnueabihf.tar.xz 226590496 BLAKE2B 94ab6f423012f9fd522f6f1cbcf532172e96d3d3b235838db5f627dae78e80d7d5524ff8db749ce3eed8f698491cf4e7327ecdd826877812efa9cf54dbf26388 SHA512 429bd05b83aec2bc845a7fde079bb1bf6df4de092f58f05a5457cebe6b2deed13a18c9a1c562b0db84cafc8f1f6e66e4de6b2f2512c0ad6fe786cbea7809a7e5 +DIST rust-1.93.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 76cf3718a581b6d152bbcc55578f20da33c077b8cafa99df4faf276e49b3d450d46b1c4dba9a39757c87f66e7aa67956d1354663834befd77d98c7783565def6 SHA512 694628f96946af2d10396d868aee502686f4b88ba7f05c70920a5b1d3894bb83adc34e6adfab71d8c5279ff4054bb431fb756f94eb203918938f13a0133cd6eb +DIST rust-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz 227377400 BLAKE2B d7901c2bbe6a3a14d987c2fcf76e21eeaac7a1cd2ab38ef1b03a93acff5693b106241f218885f0fd3bc16a82747f39b60a2190cad27476fed0d5ebed3ee28aa3 SHA512 3ff40a3622d4031480cbc0d467a15ebf45522342b3ee2fe5966bc8c5eddf5e39d89fbfbb97274a24c7becbd77e480af662f4db1ce49befe7763c70a32af0e09f +DIST rust-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f83f364e7f0f48dd3d7da1df0a46345d5bd77bf215ad57fa2a2a71aa1a656c1febb644fcab209ca343552dccd84071e99567468151f441020ce35ed129dfbc68 SHA512 7397907a7556e947e34c812f43ae084f19e53f8833b074b319971a60c39aa837df59b42beed98e839e02d9d9a6cb9afc8a4bf15e6e246d7b6a8a48e56f56d9e3 +DIST rust-1.93.0-i686-unknown-linux-gnu.tar.xz 267055732 BLAKE2B d1be43556d32e055e00b7dadb351f20301c03678723b9aeaab43a8c90a6f97d280c12070ec20fd60c7af9eed2766f6904c3753a3f8c4e972d70e0833979a9d8c SHA512 f5ce4fbb0d696b1fae4f9d8632ee6e80fa4669b675e564197a09871f68fa2044b42c1c09e49077bef97cb3fed4ac10eb44255f6434a821ab311f7ca25d4ec53d +DIST rust-1.93.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4a89bfc9293a3ef46f7142a112409b55c2de8f9bd0b6029003722b4417fff01e182d96e5c1b4cf54365298b7cab69400391385f777abec0d4c4ce30374e0b3c4 SHA512 2489533ed1366fdc299552d116f84f52a55969db38fdc973967ccbcc33156578140267c9152e032033fbae1cb6e109975c7ddda033969e4941c98bacdfea3d15 +DIST rust-1.93.0-loongarch64-unknown-linux-gnu.tar.xz 260040328 BLAKE2B 09cdeb74e46cc4d66bd19c15cb5a8762a3d377add63be8d035618cfac5c1be7d3e99f392fa34b11ac4f9abaaf271379504c9aa1450aac62910743cfe5ebd9014 SHA512 06834f0489c3c7a56ae7c041adabd3df5e370e7b5451a9ba1e722bee5795870e93ee0de2112065dff6fc0f18ecf7f5d288c290b1b0f2c55c9eac561c56e8e170 +DIST rust-1.93.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eadf34ec84ea8893afe3f9825716ab6b6be3564af8e49ab7e154fc63cd6c75bdba7ed630dda5b837bdbafa439cb15a7a24c4e1c65cbbc6e7219b9d9c9395c38e SHA512 352f593d72c38f07e028a445e6c11dd8d9415f60a839c49bea8956d75894771bbc541e0291dc73d330cbb3d59923c598d9ae89b5f2a4fba2aa4a558f4eb7a755 +DIST rust-1.93.0-powerpc-unknown-linux-gnu.tar.xz 248934060 BLAKE2B 52603ceee69db7c341b112325f12629483e92e6d0018d84bac2d09fa3997e5ab415ff997da9ec964d1bcfd8d5a4291a06b2987220ed9c07d7433542be25963f5 SHA512 afbe0c734c241d178c6493d44d8ac6d1f9d96becb04a306b3524396d08022ae358563b8770ff70f8454c3ddefc24ced990705fb9a00d41cbd5e166e6323afc31 +DIST rust-1.93.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a20d189c1202a75f0eae849f36c6da20f97fe788cf9363ad3e0ab601116638b59ebf80e952d33b31da9d37f99c269982902d3b8cd484e428cedcc96bd9bd6f3e SHA512 efdd238c7170b8c816b1651919079c3f87133af0d2e41f1a287775d4b58d5075fe2dbd36bd20bb1b41b79132236576e800a0465f8c6c42263080b0deb92aa2ba +DIST rust-1.93.0-powerpc64-unknown-linux-gnu.tar.xz 250774468 BLAKE2B f1aa5f6a6b8e7a7d20178a0c5f5cc49301a729f492ed9b3206288809efb06b94fb353ea04185c24a20c78c6a8389f1e76220b96e42a73dfd2542f7e683efa279 SHA512 1ca4a3eea705b2d8e02c7fa0ca7e5e8b76e18790af7773f37ba03342b6d19b74700d833ce0392d00bb6618d7fda7631d4bca8601796a594bb0bcd8a103c85f82 +DIST rust-1.93.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 12b922662842ebf660a330431fefeb9c70fa9d846c67378b012cb3fc9e6cf1ec3cd8c5b4555d3d890ce60285f6e640e3dee9308b026fddd24832b7aa4dbeddba SHA512 d4fab972ed29bbc95411800d49771c649450919574af25b58f9a6cbc2ba9879d86b997d39703ad885fae4d501d31b03195c33c599a5eef4b4bea9754afc8335b +DIST rust-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz 267645356 BLAKE2B b1c85b15a755c84295e83fb3939c82d86237be038a1a7d0a33c55349b00c52091e0d775fad3d2a7c3fcad20a622c2275f1eb7daf566fb2864f5dd0fd6d7f852b SHA512 d04be972bc4ed74add2133a96668f1e4df0721bec57e01a58010ac4ad5b7584b90d2346f184ef7a5435c13341693bb19b1e973cf8f87e8f7a50909fd83318776 +DIST rust-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cabce663a760fce4be8c63c4897103dd52ea0332e1d025aede06262a18d699c67f2dc6b4b41d47f633e93e06bae53a0c16d9ef68b5920546160d6c4a09f8c4ed SHA512 9cdf5e2581f6c34467f791db07440b45efe68350a3840b9b220827a7b2d4925d2a89355fa471edf589ab4837959facbf19610d9919d561cd55c84c0ea753e091 +DIST rust-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz 247839288 BLAKE2B 99997a629f2db024a49c49725771e52665b7ed53a080146b27f8809a662564f55fce6075a4561834589809f323eaf5c0f7dee8eeee916fc83cebd627dc6a9096 SHA512 d3a8b2b68db0610fbedb06d6968b7745b002a1ca45becf1501bf5ffb4af675dbe97234d8fd3acac45c05dc25b44c8815d958af201e692f8f56d29788c07b5b27 +DIST rust-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c66f5620b7724c74ea5b6e659a3ea3eda116bc1fa7fe7b5907b0c73f0358d5d59309316e9324495a71d30b8c0a3b12d95c2847643a9fd6f47682eb50fd9bb5a2 SHA512 c2804689cc6308aa504f39a21ce893108d7092b5ce0325d22b199395cd6bb4cec5c5802e48eb13a0096210cf617f1fa4d201f20224dc94fdc12f796af16ad823 +DIST rust-1.93.0-s390x-unknown-linux-gnu.tar.xz 237804380 BLAKE2B 7a1fc51cce23ac4b43e125976488eee2502e60ab543505e17e241c8c0bd28c31664f9a04c214754fdd417a82a8e4a0570afba7a0feafd22d3cfa565f6ac06bb2 SHA512 60b3c58f3afe4ea95dffc4e6bf65e9909964f65ff1caa9bd69e82c5b23cdd27cb6d4bb7f7e9c6c72d7250016a4a4d02fa76a6a05a0f048fc17efb8ac74bd47fd +DIST rust-1.93.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7a68f37f491348cd8d78f56a946ba27282754d263682cc4da1cdbff48b63ed8073c297af0c10dfa42337dd51819366ff9ee0108bf6317369925719a76dd4fc9b SHA512 7252f1f6e446e0cb9804e2bf6ecdc6a696c846f3e0b5972b88125c6cf62a491a2cd5054ad3aee71584c67ffd2e8c03ad3b252e967f021fdddfdab3cf3eab876e +DIST rust-1.93.0-x86_64-unknown-linux-gnu.tar.xz 192930828 BLAKE2B e94ce84407bb71eb60b866e31faa77cbf448f666f8a07555803bda061054bde5356c054f1cf8e6ed4cd79736f7363627ba2757992259160e8f8c377744cb1d9e SHA512 972d240fc302c135c75384185c0c21a4be1ae5c38d510606be7b9d2b55582d2c2869252e3cc39e1988815968ab48260f2611389f8e2da70b1d3233d8f316b51c +DIST rust-1.93.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e02d037cf941d062b22304dcd526c6da8847d55abf8a4a634ffae0af2242d0db052aa7c3b05d483276e30d6352c6c139d991f0990264c538ed0b601424a93ed7 SHA512 024461a3bd1eedca3fa98fe586a6ab4dca7300358d9e95379fe83dd51005e7447ee9de5b08f1cac06d7415de420e47e10288e5fa80cf22f27ce883f3de09a748 +DIST rust-1.93.0-x86_64-unknown-linux-musl.tar.xz 295317012 BLAKE2B a467ceb75991bf0e464de4d4ea16dc288e06176d6af0a7c9ebfd8dd694bbc5bb7b9cc677ae232997106c404daa72d0734e30234dbbb92af51ba68d70176c7168 SHA512 a3e6677698b9e556583a335b80736ac04b391da4f4e24a943ae472de92dc8c9bff5ecba4165f069041142df54b7d6a9dfda61c30405fb5b25dc4b5d6b9ffb812 +DIST rust-1.93.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B ffc668e7a4309f078b2c032e21054d988010d2d07a7fb041b0db413f5c8b1a5a68d99f9d94099d270b43ac44b04392981a29fdb8a8c063570f33c345281743cd SHA512 f530ab1e1aae5036587c6bbf11864c38c290d47951a053217d5ea6f943f419798dfc92f33fdca17fde07fbd5817b2573e82f5a136f2cc745a6fd11cf8705ea41 +DIST rust-1.93.1-aarch64-unknown-linux-gnu.tar.xz 169781296 BLAKE2B 5cc411865373c857e60e6a086ac5fcfc7f17f471034c2576d023d9356423516641e6eab3727b930d278e77121ad781f3866e3bed09417e43faf8355b4ecbda89 SHA512 ba24d928d037fec864ce09b796e077655cd62c8cc07b69b99f629069e67417c6b62a9ac829e37005e50f01274d796d8e95aee03c9c04315bac63b88fb7a372f5 +DIST rust-1.93.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b0f2b8bfd8e1ca5a76acdca9d47b5e5131f522057be0dc9666c74bcf5c6835ed79d3c38e7842351f123a999a170225b70bb8f3c8f14bcfeec8fbe7531c795a2b SHA512 8cae62fc0fd34755bf41da69f32349c23e56824f101716aee1978965cee5b9e81f1a5b16228668a137345992bfee19f05d14e29a464ce7cb409f104788f3dce4 +DIST rust-1.93.1-aarch64-unknown-linux-musl.tar.xz 244143464 BLAKE2B 61815229a24345b61d6dd7138d8b7475072d14b19c20a65412afbe4500bed6b5b6be0e5fca685f0460f6c1408e8a7de36e52eb4c8864ceca0e41ba40dd2572fb SHA512 904790cd8eddb2610e916329a4f8218079eb0381937704348ccc44e805ea6afceac7623b30f5febcbf566ee7dd72e71518d8395a0d8fdbacc7633df34701f59a +DIST rust-1.93.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4ca681b890493041acccaaf11d5c64ea125f02198548d2e05b3c7591ec8c000b1925cef75b6fabffd11e7d955fab5992e3799305b02f7256cf5404fe53e84e06 SHA512 8a07504fc0bc3e904351cd4b9ea6e2f498606f53c76508a0b9e6370ca77a0b32f4cf365d4066db6fbf892ee11c96cf695a2c28eb03f5115468bd07903a70c094 +DIST rust-1.93.1-arm-unknown-linux-gnueabi.tar.xz 225501336 BLAKE2B 021e3a3c11fed9cb2670a32938abfa1a466b32086708415df3b4231c7df1af5dbfc25542a65928487aea1faba93996de7d5b587a01bb0899918e9f044af27bf9 SHA512 e0099c5cea9d669f715577ea68d4174e93b45c9c1bdc72643569ae69f5ef1f19d055d0ddc92e8b24eb4a2c87d231126260d219ac2bd155590317ab306ad3ce96 +DIST rust-1.93.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B ce12b43f34dee34597e1df09b6bc322db98f4e7372291b3c62ce68f5d820dc34c1f40d3fb2291a91b08936262c7b9fa12b908e50476fa4ba4e63aeb4aa79c0d1 SHA512 0f6ce2b392192e16bebb29ef579c5a1016347641d14c7a1e228e1ec8d598a744ed3b20de2e5e58725a8c7a5e4ef1039e3851c3103ae8b95adc0b8367a42741e4 +DIST rust-1.93.1-arm-unknown-linux-gnueabihf.tar.xz 225914300 BLAKE2B e0ee608325326f14e008af13dd109652c493557f92a66e9fbb4ff34dbcdd7578fc81df9f1a68356dd6209c3dab5b6924f61f30d6efe2afcb3e585c409d9396f9 SHA512 c032cfd530619ea8ee78dd885557e3f16daca2c5154ba7acada7e07ece202546f04dba5c7070f2941cf3cf5a0f2c76328e6d35d87983943d6c3a039e5d61933e +DIST rust-1.93.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 6815e5f17f31eac119bfd7f1bc3a72df3a9f8352d2fb36396af4253c98fabe7107407fed68830123ba80c397cff7aea2ad7c2f737e1f7da8c6cfc0a579d6ac90 SHA512 e1cf9279bfdc8d8edbcf3df1f66f62970cd3e73faafd27f5c07fb87d459408d0d8fabeaa9ad298c50c0c96f7d771e13c38b37b02af988cb45ce0c634e3c5408b +DIST rust-1.93.1-armv7-unknown-linux-gnueabihf.tar.xz 227522816 BLAKE2B a238d773a0d724e6a94d7ad5ded9ff1ed3f4f2bec8f085f3180e82dc538a49fa22f8725bf4ffd0c411630dc49a26893a8296e69c255f8c1814289852aaddc550 SHA512 1a1540f95c51bd7699658bf943ff2a0baef131404b8308db4a9db202cd1d701822e970c046254a38ea90975bc4d12dc59e8700365f100b30ab540c2e39738c51 +DIST rust-1.93.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 94c6c471c7c4d97fe44c3975929173a633f2d8fc3ef833fcf0c3ed37ceb3414dfca4732238ba33d603c4be2c8d9f623305477a7109a44b32f7c2fa11147ed888 SHA512 6ae9f955bc24226059f5b9b0e412bbf64af080f6f77a02afc72b6f72b7af61f66d3a8700c8c44604e217696c6290d1e9e39056444b84d8ceb72a12ea30406b33 +DIST rust-1.93.1-i686-unknown-linux-gnu.tar.xz 267242468 BLAKE2B 7784c64d3e2a57ca497bef0656897d17a1fe28176c46a857fdeaf8193b29f72c9e10fe78221d39b3e101a97a82d0e53ae4a07307b04883029ac87ba1cc388131 SHA512 d842438236816e498b1a5d845f2e09d8a7fc75500c4b0c565911adf67387ae4e1ec2d6ca231fe489800aa57ef6e4f4aa8daa713cabf84b09189ded79010e75bd +DIST rust-1.93.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d064833f4887d4f265b04f9b53eb8153e90206e894641f8140e9a933e78d5f326f600aee9c0c7c2fd37d3711b6e73dda3ecb67d8367766a3dee25542a2da2123 SHA512 b6369337deeb055f56fd622ff4481215aab017e8f32a1eaa54efa6d921bd8e136dec159eccc742c2bd75fe785869b8583d461c2114c651dcffa05c5d9523a902 +DIST rust-1.93.1-loongarch64-unknown-linux-gnu.tar.xz 260093372 BLAKE2B 37a503be2311101fd14c2274c8f03cd66931bc9bbd9cc1991eccefa7e27552f24262795e0e8dd9b8a552e6dfe716a17a2c21be510f766a06a2c8229270e6f565 SHA512 27360935c2c2b76fdc7029dd737c10e1507c86a4d66f92339af47699c972cbfdfe4c9c76efd6f797587a842f32d03a824a7040cd2cf632ea8e72d808dd256f9a +DIST rust-1.93.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 245fd3da533a8825ab5c37dbdc06056a0e33215f4960ae29e15592efc4cce830f4ce7b635f056a4875c438345447c176ca580e59712833d37cc2fa279dad8877 SHA512 1393601274ddca503d53f442831d3bcb74c9ecbbdf05a71edaeca704fd6593e699546c70596031ad75f8a50420ab69a72934655ea72175dded6708f8fcc08428 +DIST rust-1.93.1-powerpc-unknown-linux-gnu.tar.xz 248960324 BLAKE2B 2198131dbac56d4797687ab43ad795440e99ba9538c82e11d595bd84696f1d59fa390b0dd5f73b75cf07383fc9b727bfe4742fd1f3e4eb53eb7bfaf43ff4dd95 SHA512 6b6c0b6ca2f2d26889eca3767913e4c18edb8c22ba30714fd215ff475d08d834e3a4fd0d179c1fa7f8174aec4f79ab5b84fc6438a81a8d42d3471bb7b8eacfa3 +DIST rust-1.93.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6109e743f7829f6c5ef2885eb9859a94fd301e693810cf8df2a9396e45a656315cb7e32bda733a708515b01d6142a735f10c276b86f9169552ad00460c7891a7 SHA512 b904c3de40715389f91f10f8ce7781951e22510a13f3fc740376ebe1953fcd8197ad8590327fd5c5b537de0c78e7a7366e097bfeee560a318d262774f16e52b4 +DIST rust-1.93.1-powerpc64-unknown-linux-gnu.tar.xz 250785352 BLAKE2B 1838ef2f74f8cafa6a122ac1c6a25909e57a5ed2da9ce6ccaf91999413e326b92358fe32b3f21df9c9fc6ed95c8482d97c425f7663bf452cdfa88d50cd3bd504 SHA512 6302daeee7039f5c1b1c68dfeeb0e722582c419f6f47a85590cc379b5632308dad8ce8b2c08240c5232769170948322b1e8cb759ddb3a5ae87fb2baa76940992 +DIST rust-1.93.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d7ad185b8764ae420aadd6eb3739610f2ed61ddc56a41dc72386effaeb04f3fbaae013c7954ee336e42ff6946519e58a38c9dfde912f1e1fd88728e864dee5bb SHA512 e0fef1c123650c9ef85863a7994c0a20023d065853da48880a9e4088ebd56c643fa701a210aef68d89e52d36fe78a134952f48852c5ce4d1067aaf5c85ba0b33 +DIST rust-1.93.1-powerpc64le-unknown-linux-gnu.tar.xz 268583976 BLAKE2B da1c803065d4c0e60b2b31199015e48298620d9cec916023ec0ae540eaf25a5ffcad6413f53dbab6865367923dc785413e6aab758de342d20aa1b1f7f405f0d1 SHA512 d577bf80a752e171b454ac7dd45a5d5c11ded071ee2ad003a7bb054cb80f688f1ee244114509ea1ef92cf6725ac6cfb9bc65f416d462339807b6995d531a6ecd +DIST rust-1.93.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 31c777095a14cddddb4312fb3a5e8d68e86efc8054c245d5ef0638695eaa359b8eef4677c89d7bb1780d4a76422674e85129493b1882956a1978b0f0e2d8f178 SHA512 0c4f9730c3cdb9993c4dac40206fbc4fd25783601cca4051be259c34752364067bab83e66f6e5c7ce23889cc0eb2b2077d1b240565fc14bcbb3004890f40f90e +DIST rust-1.93.1-riscv64gc-unknown-linux-gnu.tar.xz 246512252 BLAKE2B 84adb4e1410ff887a68becec561f7c5fe8cb031e295f27026cac3afa105c09d4b98a5fd2a75af6c2507c335f1155b0b7fc7ebe38525c9426c983c34a745b766c SHA512 e2c8fe32710cca402b366e54fb53e2bf46ca6fd963e381bc276fc3384c64abf90cbe1744484c0c83b4c656e643a73dd48a6e6fc8aa761a1448b087bdc6a8ca83 +DIST rust-1.93.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b216d82a8c99420b24a59faf9cc20220fe671ca6c11067e93456e39009c04ec8fd1fceb7edbf6b24e9fb95abf7b8b3ba4c746f8945e1f0f8254826abc4e21617 SHA512 4c119de8c7a5e6f877521634c45ea35d1fbe84b3d36bb0c54bb489f4e940976ba9661df3bfdb9122d4e05eecb67e9f1c159f61e3c52252cbea8b0d085924c8a2 +DIST rust-1.93.1-s390x-unknown-linux-gnu.tar.xz 239133552 BLAKE2B 0d8b5d585a82f41a660427a7adffd775b9f6dfc772b2f229bbed8ce558051d2314f36674051aee3608728d1bada53b0fde3cb828829d8b5dfefb19eb196c72c9 SHA512 48b96de42fcc849ed13edb7b737c8baba936abe17396abf1b7ffef208406a78642670b0a9761d1c4e790d4012dead9fde8d2f5b0514b3be637908f6b95a8bcbd +DIST rust-1.93.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 860defcd5f5ed8f8989dfe6c8afab18bc9e95bcac98abb53672685acf2b09d111af12748b3b77b25ae097d813b7bff60c252ae3fe8216b63667c363a185d7f31 SHA512 f00606b882ee1dea556c6766b6f784c61c3c018bb7a0fa598669d6eb34830d5c805a045804dff4d89e2aa64f9a737594968b25b8b7a1619154481fe0a97842ee +DIST rust-1.93.1-x86_64-unknown-linux-gnu.tar.xz 193192180 BLAKE2B fd8d2f3ab45f390e33ba3244ce5aae49c415fe286c8b42da70a4fa741127b6e6b2e1adebd3c0e586ebb8ad347bfa20960d9231352b51b31b48838d1658b2e952 SHA512 2c111986db72ca33b3d5c73445f1d89af9f417546574993c5bc2ffc721f176d603f16809007c722f22bb337303277ed1175270ddc9b0261c0338a9900c969a90 +DIST rust-1.93.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B adf891709bd5c87dafdbd8e8498956257a0fbfb179147f00f23dd00ac2eb43ab19a2d51850632f7a3d9adaa403461144983a2bb172d6eabd6e2e148eda570662 SHA512 25b658237207ef5f99ff3e276412f9ac08b5c5504df066d9178e22e22d3d4e3dfa897313a6393a6a6833ccda09c0c5dbcfeacfce53c09bf5a97e7b36afbb3f3f +DIST rust-1.93.1-x86_64-unknown-linux-musl.tar.xz 295454356 BLAKE2B 1e40b50ff65d42a7445ff4d3f4a79fec7e8f729c245ba06d0bea90a05c387ac895df736ff59d27799512aa94703205aeb5235802badd56c3e0b681269e66ab41 SHA512 c805770236eee08cc222022d46e09ba6835c08241644d1d76eeab42463a9faafa26f1d50796faf0223e6601940ff52c507eb04ecc3f26066900c0185341bec4f +DIST rust-1.93.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 40dfd17d105de1bcfb3fecf0b41c066c3f9c93a563396a0bf88d975667776b1c1d2784a0cc495a14c78878b9c3b0043800b06de702eca6720f0f340f7afd1989 SHA512 6f584cbe33f7678632929f9395ac92a75721da376883432c6608fd0383fa713342a8971f85645a4dc9311477a7c2a6cc905f4e25fca47eb8a35dc9996f8fbb3f +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 @@ -759,3 +871,7 @@ DIST rust-src-1.89.0.tar.xz 3461444 BLAKE2B b1e43def4cc0f47f0e776d383954b339a62b DIST rust-src-1.90.0.tar.xz 3473408 BLAKE2B 09e9d17af7acb38b99e33874cd4b14ad7e0e15b0580846cc32bc78657432b13091bcbf3fe95494c520bcdbabd5491b9445cb3ce3177fa149d0b89991b67b06e3 SHA512 88dd1a5f1a69ab9e4586fee4a31d7dea51a664ac32b501cab771739b8127eb4ac873d2353e819ef057734522c1bcd64d664bda3d1ff957b1448b4653be766638 DIST rust-src-1.91.0.tar.xz 3509292 BLAKE2B b1cf99db4cbd864fda34c2068a19e8b36c99f6bb5c2fa3c22ef7aa006d4c084bd706fff872a7f87a0ded3db3dead5927153183e4425ffd90e51af468a29db48e SHA512 8d7c5a3aa11b42d5b89b38d1167f6be64de49288738e0fd949d1fe9ac3312830301d578a13de2030b45a7c51179b5adb934deb52e1070afa76520944050baa2e DIST rust-src-1.92.0.tar.xz 3530724 BLAKE2B 1385e8cc8062dffa69829e4ffeee7daaaeddc35c20c5e841e5183952d2eb8e3c33fe64deff46a7017057723ac3623f1b918d6a61ba2efadc6501bae36241c161 SHA512 be31d704b936d421dae7774dd7243d2a2668c54eac07f3e8d6c289a994c9e238a6e775be2735c4b609e710d8bbb1afe9bf028375e573e5d16def58a53ebc4ba7 +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_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/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml index 4dca673dc6..74a0ec35c5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml @@ -5,10 +5,6 @@ rust@gentoo.org Rust Project - - navi@vlhl.dev - Anna Figueiredo Gomes - Install clippy, Rust code linter Install rust-analyzer, A Rust compiler front-end for IDEs (language server) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild index 6263ae968e..11515dfa5d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.92.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ else $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) ) ) ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.0.ebuild new file mode 100644 index 0000000000..edbb857a50 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.0.ebuild @@ -0,0 +1,337 @@ +# 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 ~ppc ~ppc64 ~riscv ~s390 ~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 false ; then #[[ ${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-/bin/rustc- + 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/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.1.ebuild new file mode 100644 index 0000000000..e72d947db8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.93.1.ebuild @@ -0,0 +1,337 @@ +# 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-02-12/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~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 false ; then #[[ ${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-/bin/rustc- + 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/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild new file mode 100644 index 0000000000..ef680a10f8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild @@ -0,0 +1,337 @@ +# 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-/bin/rustc- + 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/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild new file mode 100644 index 0000000000..ef680a10f8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild @@ -0,0 +1,337 @@ +# 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-/bin/rustc- + 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/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild index 167c2f4d42..0886bc9273 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -LLVM_COMPAT=( 21 ) +LLVM_COMPAT=( 22 ) LLVM_OPTIONAL="yes" inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature @@ -22,7 +22,7 @@ elif [[ ${PV} == *beta* ]]; then else # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" SRC_URI="$(rust_all_arch_uris "rust-${PV}") - rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-09-18/rust-src-${PV}.tar.xz ) + 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 @@ -56,11 +56,13 @@ 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" +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