summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2023-03-23 16:18:48 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2023-03-23 16:24:17 -0700
commiteeb83a1cbe5a5185dfbb0dba264529bd90faffe0 (patch)
treed98d6a18bfc67fc6da7fc570786a5a0aa0b79e27
parentdev-lang/rust: add 1.68.1 (diff)
downloadgentoo-eeb83a1cbe5a5185dfbb0dba264529bd90faffe0.tar.gz
gentoo-eeb83a1cbe5a5185dfbb0dba264529bd90faffe0.tar.bz2
gentoo-eeb83a1cbe5a5185dfbb0dba264529bd90faffe0.zip
dev-lang/rust-bin: add 1.68.1
Bug: https://bugs.gentoo.org/894142 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--dev-lang/rust-bin/Manifest33
-rw-r--r--dev-lang/rust-bin/rust-bin-1.68.1.ebuild229
2 files changed, 262 insertions, 0 deletions
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 86fe9c3aee66..66232898c268 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -128,7 +128,40 @@ DIST rust-1.68.0-x86_64-unknown-linux-gnu.tar.xz 185829340 BLAKE2B e35252634dc14
DIST rust-1.68.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3754e7ace2b73174d1e3ffcf82348f330a16c10fe71e5a989afac551062d66f89bab80a8c14d9cbcc26addb9865ad4657cf0153c3021e8a33210108b176a7298 SHA512 cb103df554f3e0c21c420aace31fa2966ec72cd6d3219f4d9a2d35b46d901340d2a3ec3917f0c4225a3f4bd1cbb4c88b33b34bee6fecedc3d90914a28d49c50d
DIST rust-1.68.0-x86_64-unknown-linux-musl.tar.xz 270042696 BLAKE2B edb9c42d47296538fa8bc4467a450d57604d94ee53effdadec6b74b2fec6753839085e0e96baff31fbbc5ae253d1604b9653b80b183291762926bbec3bf832b9 SHA512 a5d721c5ddf6a9d3a3adc00b8757a531665bac9969a19bd2c0b86d19164b9cf8d60118e35e1a17cd5e004b1a16975d52962c07179e0289653b692df368072655
DIST rust-1.68.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B d3004b933ea1bc4d21a9e9f2eee6abc112b76053254b6510d5ab432940951b3520ee5ec0eaa28e743fbad584e45f1cd655e733f2ed94a70e94d46d4a46e5bc46 SHA512 32443ee30ed9cf9a7e0aa960aa07991d7e3dd503568cac6dbb891cf82f57fafd5dc5387fb3c5b0ca6f801095d5dfa881cfd51299d0d4982594c8d17513e9edf0
+DIST rust-1.68.1-aarch64-unknown-linux-gnu.tar.xz 257003480 BLAKE2B 850c59e54fda0f1e1b2d012e849cdf6b11103b0354035ca153d80e3bda1edce5640c098d9846127608af7836758dce11da1ef7efa406bfbdf4fa632bf62211a7 SHA512 4126b389c846d0b94ab1d1800e46ef680d10b26699c9d296d78cc916a00f3b023962c0bb1f2dec55cc22335e7cd47f74baaadb7cd7b3a606aac53d3e2d7dfdb0
+DIST rust-1.68.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 914459984ab2e102b129c03149ddd23fc604e35b1136bc2f951ece6a46f8f9e2b6a88ae4e5aa57b2fa0eed7803c4537646c7c8253526a33cad8644f780776372 SHA512 9ae6008e57bf25997d2e44a3161e5943739a7be4e4e9e95e221dd7385f3440ecb3ca8e7fa94f943aa50684c5502a7493c5295ad8b9f1c5c3b4c48a6646a8843b
+DIST rust-1.68.1-aarch64-unknown-linux-musl.tar.xz 234957108 BLAKE2B 62ff5f5c01829cc6c19a8f20923a832c9e4e719a9b83242420ee894b11a5af7c2447aba27ce6cfcdb3c0f9722c131da16efe1d1b1f7b0304f4993660a115db5d SHA512 1a43c1d76d09cd97688e2c7b10a436c39574133c9d91d642e01cfa19a60f2037df7cb6a7dbceeab991ad673671453db8ebe2cba499dfa9e0bfdb226e506e3b07
+DIST rust-1.68.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 632ef4c61afc9a32e5297c056e77e9ae3e84b5faabcb13892fa703bae8b3e8cd0730b160f6acb8846d9112e0a5e32031cd6ba68bccba1c7113ce7eee953615d2 SHA512 0fc556a797871bc11dd1a52190ed1d35f09297e00822270b9bab421fafd8a47899c779593b9f37bf510af6057b7cf6a118144be92b11fcf833e4ca1d111840e3
+DIST rust-1.68.1-arm-unknown-linux-gnueabi.tar.xz 216213308 BLAKE2B 234b5507b23a0fd295b34d637e7a42bcf1a376cdeacdc448d0782847742d93b4b088ab7eb60b3d10aab2e7d516e77d9cd1f42bf9144ae49a860f9f2635b9d545 SHA512 ae9c05a404183d749e7a237d3843ddb538899181b0966f1e22fd4bfc00ab4728473f51d243afc8b9ab5749bb12c3a55f4db679f4ccab704d2fc0adcc5edb3a5b
+DIST rust-1.68.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 8cfc3fabc67366877fc94663c09de62e57e8d77ff5b412bec0a7225477dfcc856390aafb527ccc2c2595026cffb315b0fc9ceb371d85d42689d2171344e0c56d SHA512 0d808c1a68e747137fd2ffd55b7b146cfd6f490b24eade9942183ad8b7a25499a2e18630adcfdfa5ddbbce6975777f5bd3ff469d77227f840ae6970019c9f81d
+DIST rust-1.68.1-arm-unknown-linux-gnueabihf.tar.xz 214982076 BLAKE2B 8e69117487b32b89513bdf0492c5633630ba743ab68f1087a786c7e7148ed2c443ddf95e69f6d226fd96d399aa6802adc8480b78e7352876b121ee7fc459b605 SHA512 496d93691b4332a23edc91f2bdcc149c91e647cf9ee60177e64e88f76ed7cd1ea89884770cab38ac809e419e1dca4736bca2be811307efcadc8f9391fcf36821
+DIST rust-1.68.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 575946a62a16ef956c1d418891ede2103fcd9940fad555fed73e78e13c64243e8dbeeb5c52f4ada515af31c542e4a577c9d000a1eb8b2f6ebd14ec232a36da6f SHA512 5e528fb34566d8a7cc7e49f1c09819afd5aef79bed65e798c4d1244ad44028be6affc9c35e35a30943cb7b84e0e247ec5e0673bfce52836e1331cd2b63c9da82
+DIST rust-1.68.1-armv7-unknown-linux-gnueabihf.tar.xz 219027476 BLAKE2B 0a56dddd975cf0c519b33dfdfa9c1bb1e6d9a91cb582b5293dbcc19935ba35364f49fa3bd86bccb74a075f3759596a47685a2024a0efd10ed4b5f9b60580a762 SHA512 478cfc492e758eef7c5654bf60547b9d60799cb1bec56805d82666c54f982fcf2e57f578ce3d3f0f6a38b64602f4e3c2e94759b8298764b7fbc2fc88b41c778a
+DIST rust-1.68.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B a20966763dfa905cef723a86c6295317138d81d9208d272ba791ddd3f9db267acf93240987fde84c22354f566f0c867cf8052f161f1835dcb58ec8a1fa7299fe SHA512 56f3dee773cd90aa7524896dce942cd5cd7247105788ed68e885e1ec18e10d6aa9eed3eca43d4f9bd76b99ed3f8c78e8a2fe7ea2690e3e3eaf5626de2bcd38e6
+DIST rust-1.68.1-i686-unknown-linux-gnu.tar.xz 234183120 BLAKE2B 66b490b9040c37eabb05a9c5005bb5338ee91c39e21de3cd6a9b470ddbc0f47b08e9208f82efc5762f69078eaeff2145f983358913f31fac397baee64363ef71 SHA512 88a1e46085a5b7832204159ace89ccaf8c4c1290320eaf4d76e620d3f3288e754695c7bc5fc336a9dc21a6acff15d97b5c9c7632221ebe4c0822e52b126edd2d
+DIST rust-1.68.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4b0db8db93180266ed1013d807a654cc0ba2952a23b4c106d7de77dd7e87b752a5779b22bc956eb690c0f41dcd5bb9dfb270effd1a875a6ffb58cd87069a72e9 SHA512 8f5fcbcef3785be8359efddf0e27f4a9a21fe9b07f32d2ab555e67efde069a6ffcd5a295d1c4768104372dfff0065f9c845b4e3336e46b332e4c925076159fda
+DIST rust-1.68.1-mips-unknown-linux-gnu.tar.xz 195473632 BLAKE2B 179996202a7d73004c1783e63c952d8b9cd002f468f97d5488edfe1cb38dca7bf80d182c762668ddfac8595698164fba5bfcc086471675fef249321c353cd802 SHA512 e2c67771d7b15d123b557856790f80f4e9e6b16c1baf3ecc77d9a6ffb0326b1c9bc05091039eb65bc81939ebd19373531286054a0d59c457694e4e16ed4cc84d
+DIST rust-1.68.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 183a1d12fefbad2d7cccc35b09529e8b0c34018069ecd2ae117a1025d4cc08eeed9927a4de8376896be68654abf73b1df446bc6f4d7a787fe1a4a370f03aea1f SHA512 7ef9944ac194352c3aa8a55fe20745763de1f069502e446fc7dea0a25dfb57010411e29ab558a6ad42d0d01c8ad1baed743e9b53d721884479003e6f681fde2b
+DIST rust-1.68.1-mips64-unknown-linux-gnuabi64.tar.xz 194332688 BLAKE2B 9440d3ecfaa1c6ff0e93ab91ea24d5b33cf1d130f95f895cbe75c04c588b404eb9889ab508bda099cec891c2c7d06e340355ce6d5cc04d7554f517b0f7f6d617 SHA512 8969b9be26e75255982c10e868d1d1aaf672fd0bffbfcc929ba7dab49f8c5371f3c606e4b260f0eb50dea9d7f2491fc14e471db29ac63571ec624f999a9f8050
+DIST rust-1.68.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 1e1c99b6d629ec50ccd45ce310e7ca6f2f6e30f1566b007b277d607f187772d7de06a4fe8efaf61fa8cd8ee4193461dac65cd8229e0f61bbc42df2f99922d014 SHA512 1894ab2fd5bdb5e2671798ee7f9109f8924955dbed837d486f94e0141df8ab2fa1a7cfdee5d8e41ca5edc6c85215433c2db0c32a055a8c64ab63de0bb4f56642
+DIST rust-1.68.1-mipsel-unknown-linux-gnu.tar.xz 199263224 BLAKE2B 39e453b1a802087efc0af3fd7676fae0ba633fc35ac7edd330f97df27c478129c1758d291cc713f65d27f68d854fb9e3d3d87b74d09a06474048fc94fd6a4284 SHA512 1d2f64ed9164153a556862fdc4f9cc74ee327d65dfa9d5d02b6d42d8790faff1e8b61e0d0f70b44606792d08bebe4755976036be4feff5bf72130641c0df99d7
+DIST rust-1.68.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dc8c302cb471be27283dc4e85fe2468c75c5c558e2ca0265899dfc1b11dbbacc3c20f333fac1c300546033af1c15c003225c1afcbb77fd0766858c27229c6874 SHA512 f1b7e5141a17e9c2e83e0b0aa65ed90080cfb9b257661afa0376ce818b2ca876dafb7e72b1ebb86a30479d14d746f8102b6293c16cfb9cd09a75d89bc406c0d6
+DIST rust-1.68.1-powerpc-unknown-linux-gnu.tar.xz 221151404 BLAKE2B 751f2c0e70810eb6dc678d8fd00906867cd92974a6a9d853631e0605ca97d16e2008b86bac8d86b2c88527fa1f77f249a1a06a115c085c5e90a2b45311b4539f SHA512 65b2347d259b72d752cabe71bc376dcb19af7b529859d72370bd531165ad504973a9983c0bbec5a836d8dae8763a32e4d6ab21f53c5d3fa65d3156229d7b8d71
+DIST rust-1.68.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c490dbda7467cc27cd88838e2500a765b8e893b6b49488089ac60506096dcb4d1b5dc5876b3ddbd89b53b6612b14725f128e1b77b718ac41f2db9c010b563496 SHA512 1320a207501c1c73ee9f1cb38aac2e12d08b88f764d6d60b2bc7c92a1203e60cbfc1634be72e52c48d91a0bbd9656a3a657b90ff41936358748cc930676c1cb9
+DIST rust-1.68.1-powerpc64-unknown-linux-gnu.tar.xz 217881640 BLAKE2B 209692f164f2a27c9fd61259e94435488c3ff8919f16f0f5df4f97b0a266339e9e1dddd770ea07674e31cb39ece860de92ff0699996941a522c582b52d6a97df SHA512 e6dfd97b4d00b17ce05c4a0096f103951236a3653d3c9e07e2415da938cbcb2bfc7c520154fe064a16829c954ced98ea537b7412309ed597be98ecc371437801
+DIST rust-1.68.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a6f7705feb9ec39f134dbc604225d7ff93107a6bfe50e573f5a8134d19f5b8bb7a8096f3ed2eded62c0d71b2b929c107fc3ee941d6557eaf34f5d50634c735aa SHA512 371128c68d00b8961a8d84d79147cac1fccdfc24058a441190722e1541baf484b06e1f3e1aec925ea8e081ac8395f20ae27790c7664d77a5d36bd840082c6146
+DIST rust-1.68.1-powerpc64le-unknown-linux-gnu.tar.xz 231456980 BLAKE2B 3af660b564fd436f640d8f0420a72196330444a9cdcf8ef788844da0a84b074da134f98c4f3b59007dcf32ef42930163ae1491fa91c32e7ea5b5f370ef00349e SHA512 e79fa17d6407e108e21a1a3c868d8fef6506366ac0bb2699c9269b8a44c44a59d37e860ec6e8b009a539ae41a11a94c003b26c60e414c4f53e08a6302d196fef
+DIST rust-1.68.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 01f6caed2b643931877dd9d601d2bc90d61c88e8dcdf93109e74dc945fc25e52395ef81b6eb0beaf867a9e5318daefe1a69a6ea146c92b943bb1d987eca74bf7 SHA512 7f93cdae421f127bf3801f1d42920e40558da39e32e9f0f6f8ab2b4803b2bd75bdb6ae9f77d3ce907e67239641d2aec7d8b86ea47cea6abc9e5a6046f91af24d
+DIST rust-1.68.1-riscv64gc-unknown-linux-gnu.tar.xz 207979328 BLAKE2B b1faf40c7634a103aa3df2e4c76f78a208ba060d4fe3cfddf1f048b6559cc5c788f5a1f65341edbf80776d91603bd4f4f0e43839491af152057ba91675979af5 SHA512 f90f47e6ba446a844b85ddbb319fe171a2e253ff8782c3948de057cfd256823f269a94136604d74777b5b39ff2b0147061e6274610efb87f1b0320be6bb9617c
+DIST rust-1.68.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d86cbc2b7893f6131c7888ca519f11a543f6f0a6e13bc46a2ae3f1199edfa87acbe2c8dbffc8c9b0e721bc9afafa377d455bb71b074bd5533d38e34caef51177 SHA512 ea60d7675e4becbfb701429eb761d82151294becc211b9b761c1572115a515edf6c1ab21758f5148682b39b4e36051d32b985b22af522166bb5c2d7e8c6ac05e
+DIST rust-1.68.1-s390x-unknown-linux-gnu.tar.xz 234626596 BLAKE2B 35a4203d593ffc4a2037ee18ccc10cbc26a316ea682ad62de8f8c51e2569264919f448a841158323d62db016fdfa29631158a122d281168b447ed3a9c84e851a SHA512 cda2b3ff78a4783eb238d360949153a80cb8a076f13eb35dcb0db4e40e5c161f691dd87ae4e3ec358e7371b8836e2fcd93ecd017443ca9e5d8ab9ed8f0e36718
+DIST rust-1.68.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1d38bee16c5c89332ffd65d2ea92dc8a95c5ed1ccd63a4e678ecb35da1d84338a15d68ebcd3e82a5a92cccf1bc9e9203978f5185dd1e6ef116fce51f8e62d77e SHA512 22c162efb2b98e912a2147369e439c4d478e8ec4213fa443823efbd0b2231fe50e7770a19244adcef9f713cd1457e6570fb2a65b8e454a46d7dc0bc1351397a8
+DIST rust-1.68.1-x86_64-unknown-linux-gnu.tar.xz 185646128 BLAKE2B 52d8c59bcd8c1b716f8c834a681fe3d9876adf623c4ea9d05f348c1ec29b0efe8b5d60742f5b50200a7c3e2831fc5361172a361faccd4d8cf4261a714cd7d11a SHA512 8b48544577faec04ceaff63769020060d8ccb6f9283a246ba9f43ab19c1f23b480ce17441dfe74c1e1769d7314fb5da277600c6fa1784d5feb290c9041d15850
+DIST rust-1.68.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c2309f58a2d7a667211067d37428c88684790625321836bf06a676741c238908cdb0df31280b94730be9dc17de0a6f631f46bdd8d811b45688ea5b92ca3e2c6 SHA512 ee700dba9c6a9c29933039ea13c01b5ca2a01b4869b480e3c1352adaed108ed25435b94b12d8b9117dc379657738149a4f2a8f9adcbf74b108b70314f1429043
+DIST rust-1.68.1-x86_64-unknown-linux-musl.tar.xz 270163680 BLAKE2B d094a08ffd1e9aa2a36a6d4c731c8468cbe9e61ada3d1caafb5266fde01abf8c40d2996f4f7579f6aa5513de3d6f9384a7ca9631c5ba2f6a0d6c3eefc9244ffe SHA512 b5cdab93ab5fc0757643259cdd3b69e37aafa304f1d84bf6e9c99553599bfad4616e318e2198542314cedeb0419a0b86e0d7e4699df040c6b8014392edc617c9
+DIST rust-1.68.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B aac3764bcde2121733e177a7968e16b0f727837753d101889a2008f12158c076450e84f416f25e4b77ea42acc8e33e6efbefb67c87cdc2812059f9e1ec9b05cd SHA512 65a28cc79b6be8f8e0f2ec529d1d9e08323ccf50a437611af45c83931187bd730bb3cd29335b28a73aaecd12df397b43dd81cc08b6f710f5c59386977a8a363b
DIST rust-src-1.65.0.tar.xz 2488012 BLAKE2B d48f5591e72e14084f2fb0d66c1365f1648060d514af23c0498e02adfd7223b1a79bd1f512859b058f9cabc4b88b9230d15960df7c30762a5263d1785b877a68 SHA512 247f822a9c2f16d1de29d1cf6fa7ff393b7c7fe01da66a7c0b4add6259d72403922b8b1bd1b511ed8a9cc0b2c12ff574945aa7fc76c731fba620b466bcdc2eac
DIST rust-src-1.66.1.tar.xz 2512096 BLAKE2B 514b8f9170d8a0e9b9deeeda27c5b83c18b7f038cb27a867fc4df1a0375b5c492793e67d0f0a2c26354ed1b58c699e1ff3e19f536dec10fc8b8211325dd4999a SHA512 3b77e29bf0803278d46aa5a484a2d74f242bf7f1ce6f5a6d1e84107630aa238620c91459f385f1b9f1bfb67c593ea5a274950a4db2975307cabc3a009b89f157
DIST rust-src-1.67.1.tar.xz 2522656 BLAKE2B 28f67cbac3d09af16f572c102890b49ffb4c610ebf379cf48ff4d0107afbb39587d2bcb7c5a4f811542f84dc3157557c762b006a6e89c54cd121d22bb677a770 SHA512 839266d2046b12954fd46f258a975a37c81cb61b6d2d9a5905fd6c83961d97c197f1b467c881d5078f3725293eb73ca402b002af3f47b6f7d431828f01d49a15
DIST rust-src-1.68.0.tar.xz 2535596 BLAKE2B 305aa63291a4ed385cea9bb0e79006c0408955fbf2f8cce16e71a8f56ce910ce37d64290cce5a4284c75f1549bb541c5cd2aa3dbdbee268a88a5dd823e98f732 SHA512 c91b63f8d5cc344f732eb8e496bb7146cf034d745e720270e84f68d5e4d243673d589b286ac28cb714b65e4e20c5e49bb946d586f1f47129a67b093ae89f3a74
+DIST rust-src-1.68.1.tar.xz 2536020 BLAKE2B a12e2037546f7139d2e5446e2652c6aca9c5709eba756673188910799e6e3f8c444fb2969ec446b7b8e904f0828b7f85fe57a1c3027693da7ef8180415709a54 SHA512 e9a77ed30f65dfcabd630d5546de22d831031bb27ba72f27ed952df30c76827a5cc363f521d99b6fa3d204965a29e10ab1b0b79d36114c5d7bf887bb849fc21e
diff --git a/dev-lang/rust-bin/rust-bin-1.68.1.ebuild b/dev-lang/rust-bin/rust-bin-1.68.1.ebuild
new file mode 100644
index 000000000000..dd3c4559ee18
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.68.1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
+
+MY_P="rust-${PV}"
+# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
+MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-03-23/rust-src-${PV}.tar.xz"
+GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+SRC_URI="$(rust_all_arch_uris ${MY_P})
+ rust-src? ( ${MY_SRC_URI} )
+"
+# Keep this separate to allow easy commenting out if not yet built
+#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) "
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
+
+DEPEND=""
+
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ || (
+ dev-libs/openssl-compat:1.1.1
+ <dev-libs/openssl-3
+ )
+ sys-apps/lsb-release
+ sys-devel/gcc:*
+"
+
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+ opt/${P}/bin/.*
+ opt/${P}/lib/.*.so
+ opt/${P}/libexec/.*
+ opt/${P}/lib/rustlib/.*/bin/.*
+ opt/${P}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
+ mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+
+ # start native abi install
+ pushd "${S}" >/dev/null || die
+ local analysis std
+ analysis="$(grep 'analysis' ./components)"
+ std="$(grep 'std' ./components)"
+ local components="rustc,cargo,${std}"
+ use doc && components="${components},rust-docs"
+ use clippy && components="${components},clippy-preview"
+ use rustfmt && components="${components},rustfmt-preview"
+ use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}"
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ echo rust-src >> ./components || die
+ components="${components},rust-src"
+ fi
+ ./install.sh \
+ --components="${components}" \
+ --disable-verify \
+ --prefix="${ED}/opt/${P}" \
+ --mandir="${ED}/opt/${P}/man" \
+ --disable-ldconfig \
+ || die
+
+ if use prefix; then
+ local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
+ find "${ED}/opt/${P}/bin" -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf_for_bin ${filename} ${interpreter} \; || die
+ done
+ eend $?
+ fi
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+ use rust-analyzer && symlinks+=( rust-analyzer )
+
+ einfo "installing eselect-rust symlinks and paths"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
+ local ver_i="${i}-bin-${PV}"
+ ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die
+ dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
+ dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
+ dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
+ dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
+
+ # make all capital underscored variable
+ local CARGO_TRIPLET="$(rust_abi)"
+ CARGO_TRIPLET="${CARGO_TRIPLET//-/_}"
+ CARGO_TRIPLET="${CARGO_TRIPLET^^}"
+ cat <<-_EOF_ > "${T}/50${P}"
+ LDPATH="${EPREFIX}/usr/lib/rust/lib"
+ MANPATH="${EPREFIX}/usr/lib/rust/man"
+ $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"")
+ _EOF_
+ doenvd "${T}/50${P}"
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ if use rust-analyzer; then
+ echo /usr/bin/rust-analyzer >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+ popd >/dev/null || die
+ #end native abi install
+
+ else
+ local rust_target
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ dodir "/opt/${P}/lib/rustlib"
+ cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+ "${ED}/opt/${P}/lib/rustlib" || die
+ fi
+
+ # BUG: installs x86_64 binary on other arches
+ rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ elog "Rust installs a helper script for calling GDB now,"
+ elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
+
+ if has_version app-editors/emacs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}