summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2023-01-27 21:59:37 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2023-01-27 22:20:11 -0800
commit8ffd49b47268a4aef0d4c5b9cad739a46a5dc346 (patch)
treec9687c123eced02a1fc417d8cd8fcc53434f2b29 /dev-lang/rust-bin
parentdev-games/godot: add 4.0_beta16 (diff)
downloadgentoo-8ffd49b47268a4aef0d4c5b9cad739a46a5dc346.tar.gz
gentoo-8ffd49b47268a4aef0d4c5b9cad739a46a5dc346.tar.bz2
gentoo-8ffd49b47268a4aef0d4c5b9cad739a46a5dc346.zip
dev-lang/rust-bin: add 1.67.0
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-lang/rust-bin')
-rw-r--r--dev-lang/rust-bin/Manifest33
-rw-r--r--dev-lang/rust-bin/rust-bin-1.67.0.ebuild224
2 files changed, 257 insertions, 0 deletions
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 4abadaa12ce5..34f74d6673b0 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -64,5 +64,38 @@ DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz 186651920 BLAKE2B de89dd720320d
DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d313eafed62763b0905636ff22d6c736696c55e55d2442512a95e239b5b37199fdb125d312284b2a249782fa61d552284c8eb3ef8c9aa9ea36283a9fb975dd66 SHA512 c491f07c77baeac6b92c2425092c1b3694e72c49d4e6e511597aac03d51930cd414a95b0d691a9b23df266fba8df3dd90bf7d30624383bd213403fe0cbc83ffb
DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz 270294752 BLAKE2B b068a9400f29e9318e8d52f2c37df72f1b8fd91ca0bba342e6681544595a7f2697bf10437be6c4612a36d2781cc915920b498273ab12dbe1163c41d9d4e9b438 SHA512 df03ef29b03924346ef2a4b5dbf1c7ce6e33fb1f357eb04b0fa80e48a607b29f5929ce587412c9dd3f385d6382f0229c19d0ce78d6c060ddc0539429d3cfc606
DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a262a2a020a142ea8e3906a9c93d9294906ee51f5d22efd4ef041b6032524d2714e0b511f7deb366c0ee3337ecd52f1e091b6bfed01615eaa9026996100afe2d SHA512 f390b3a788c5b15b1acee01505b6501ad4a3170cd2f23ec490b02294ce0a62c3f708f1e66c0ba8258a1042dea0401a1e09d31d34e99558f50b0f65b359354182
+DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz 258660884 BLAKE2B 282a9881bf10c17aff5304f968b038b581d9e7ef35553e601f86a5831c237504d8d74d8bd31c8d704c2748fc93f2a42bc93b1213bf7a21326769478647e79d1f SHA512 9b519d3fe1e9daef9dec509fb28d68b66fee0db61a688785c4491340e568e5cb1ce259556f218d81a2420a2ec7e378db9aea9b918aa22e19ca8d56c24607e43e
+DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c59c61d919156595cc6f2caa443ab5bb7ab4de54d41b5e2363b6a1eb837a0886738cfaef09bc8e7aa3efab852e87548a069615257b942b4065d958c2d02e192 SHA512 2ab4b461191f89c2dbb792a8b168c0e19abddf1b7be6b69077693284cbbff1f32a12d648641956bf27d7208de31e3a993739a77ad03188f8a65d41099249554d
+DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz 236674492 BLAKE2B 5c9eebd4f84694fbbaac28850056f58eb9e2cb1f8f2e98344105fc770e95fea34f61aed2f9249efdab225f37be4e99f1e50597a0325d1a595876870e5ef98482 SHA512 5b220bd52498b2bff01286bf03bfff28dfadf9257bf46e10cc1b3d1e7884f0223c00288c843a98b6dfef0f1408f255b320140597d4cba133384c0cfdf7d84365
+DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B dbf5f8a0c7cf017456d45f9e02a624e01b4ba4de0a18bc45784e3b425fcf90b8c07b73d40265e5ead5d08719a043a62083b0a4484004f4691c5467cee47bc257 SHA512 cbef9c6f8d531088390456e0da6ad114272f2df579c48a3180bd714f824eb1473450e406372f9835e8576cd3c50a374cf6c463ea4ba88325aead9800336f951e
+DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz 213875616 BLAKE2B e032b62d879efb02b6dcaa52501c3d831f19c38645af9f95ede4a80dad88be3bce81ca2c88866be9548c7e2ca1e783423a525b936d433245c09d23305882e05f SHA512 8148fa66063b9c0c2055d24582cfc234e5e05e8d430516edd467d80642e5aa971a1191a26fe3e6d77507af306f002e07af2dd021a343e472110f4ad47ee7926d
+DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 0240a75bb28094a4a7187a153449f4912fe4052c096d7f59d5f4e0ea2699dbddb8e3f2f6a2494a5db059427b83b35b1af03315f4b952ada64701fb37cc53a2ac SHA512 d4bc0fbcd45588a7b2d1170d55a82ec11d23f61fdda0f72ced74005eb74bfb31fe146683d91671458d389d23a9f310c5e6c1b5684b21b4f9d9219d4f01e392a9
+DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz 213541168 BLAKE2B 25baf17e590ac1dac5933fdaf2c5fcb0d1849996224952c7526fa089bf1879a67f928721d990c5fc9dfd9aa9d6fe1e7ca32b5fe2a6048c2f606cca8e3cd0330e SHA512 a98833d19089359cc39bb2c67eff14b255cbbbe999d0e5fd1e4580a4fe7bc450726074a6f346cb8688fe843162c09a5bd95e9fe66e34e09740b104fd61b4dd1d
+DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 080a9a84e18e51b51047ab502cd6ac1b2ddc6c2ea59a2e6cd57557d7b5c45edc40919f9c5190729bd4767ba7a9972be78fe0bb3e5d96f1dbc511cb0199fd0de4 SHA512 b938bf08774ace65d10e558020f7801e3757aeca8ac51f56238b9a4b41c79b434e89404486bc08422d8e2f9a69874af5a425b58e35e17c3773c8ee5a3d3d96fc
+DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz 219678556 BLAKE2B 8b3d7d0336c25a7769cfbda82900dc8472ce912fb16f75ebe6ad9457cc5595fdc6dea4d4be7e30c09e6329ef9eba99b9e480f525bc85b8235ce9ae7a4b21afd7 SHA512 d941cfaee0276ca583e2b605b6f943dea7386d543cc25368f31ed21d7086837ef6fab935c9ea9da0a766e5479d993872923d3de81d5fe55991715cd396d1d63e
+DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f54f0e99292354b6f83158286e637e5df7642427ec1d2ae2561256762e9cc909d91c7ff09c382b5df19db96fe885e83c23d279a2a282f5b1a9d93bdb72b595f7 SHA512 ed3d2a6405ab2f53008cd35fc2fc30e09f76fd201c92d064114452c169ef81ab985c942834028c5bba387da0572ab0c68525b44b806577c8f3179094c55edfd1
+DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz 235101748 BLAKE2B 0344ad28f3ddf597fd1b29b6d8b4afca07f7fe86b99bef1aef09d6860c5c223cfe0be0a9e37209fe3ecc5ab87699fff51162cf3da1d65f25f755e985503f39cb SHA512 8f4c34736d7238d1e359f86bb9d6eb9b616238bea9fea3101a7c34336b9c772c7ddeca53c6013cf970c92945cc19b12979209675eeb43e7f65ab4d0c9b6b5937
+DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8253e25276590eefbef1f302995eb9c3c259454380c7246eb5637c82343d1b56c3d1e001d572371b8fb907539c2ffe5ce4d82f3285a0272e005a6386554a628c SHA512 a936ecda6242c1b00db86bac53417d51765e228bcf49d2046b281d75c37ef3dff0a4a3e0b0be13abfe7e4634815f43e35ebb2c683a8b91cabb9a8002238c5f5c
+DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz 196383600 BLAKE2B d2ec0464be57d1abdd0363d08f1e947f4735e21021745060f7b5716fafb80579bdbf78f4c994732409f0faabcd7f6e75193c35ed8c2787ec5abb9cfac28a6755 SHA512 d0e5d6ba2dda3d5d62957ba9cc55df6d1289f010b525fd5ef4070037e72fd8391a6567876b72353621ce2a301e8534d2a32a68068c35b9698bbb37b642716f44
+DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a2c12c0d776e3b864769720e057e3d23378eac58301ceb42e6d50441b5a87c56b581eb9b5c3d7a788de94b9ba848ba72b643d44219a100326f40865df1e6d307 SHA512 6ff7c3712a034842dc4aff494ea1e505186fe07cb1a87415dd053869f205e6c210a517165767c4dec347fe07864567eada39ba17100cd2135586b3e5dbbe1d48
+DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz 193741280 BLAKE2B 2ce32d802f5940c1fece0609aa8834b259c8e8e78757999e4f7dd2738509edaca5ce808469af0309d1a2de660c777a591f15798a67e26922433a543188f16436 SHA512 1144cc93d5b70c59e94407a262b27577b5093bf402f1651308244b35e4701428930bbe020743b2f46bc5c4d0423c8d94562ca401f9fda227e313a6f162431cbf
+DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B f2e04511870325c0d3317faac00fd71716b65cdc49b151f1ea698a9e20026cbf05b2f2142beaae7f94ad166346500a1d0ca6ac177e32791f48984304d51e8c32 SHA512 7a9bcef40f7e7215d2de483013027d75cff2eee1a6d8b8a65c3a2fb3627e41971af0e55cc12ed9a7e9c025f9bbbc2b20c681427a591e37469dadc36fe113871c
+DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz 197872564 BLAKE2B 369c52ce8bd48c725e6004939b2dbc6d2708225069226082b25c5fc32e26a40a65f232b3658351fb2bd75a1dbbdea829f1c30dfe240479dfa8fbcbd6ded74c13 SHA512 f0d45627c1192e981bedf893e68c75dce528737dad13e9b8b5bb4647a7ae8243b02aa54b364ff92474b1bcf6b25e60ee6b4028885b2db20feddbc79829bb95a2
+DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 947433cb33e7f1e3b14b6edfb1d11aaaf3e278ffaa2e70d990ae5f2c75a9dfd6ea6f7fb9d738528bcbb3f87d1cb753e24b25aa27c1917f9ccd806193d6f85100 SHA512 f46cb0949eaaf8373e04d14f55c83708bdd0c9ac541d1a89dc9414eb316159bbccba3f955528cc81b30be5107c931a3cdef6edfbcaed2fb0025fc7b8dd1b04c5
+DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz 223122724 BLAKE2B e078393e63cfe089a4942b0a0d1a8a9a8b964a608f09deb3b3dc4dcd2cf9fc1b97ea2510193b7ae43059b27a9bd063293366ae83fb2eec8b4192ea8ceb41a5b5 SHA512 94982573bd992bdea27b90202b03cf79312c2fc8ff0c822f74bf883b0624ad5f9968b8843b6abd3bc74ded454e959b39ac880a999114664ae5c57d274499439e
+DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 830a09a8774853eb71431dfa126a17b9d2939b5305e280c2de69218c440010e92594829f13c7f15f0ae8d028c0eb4d4c83bfd5a7a9c0b112d885981652fc0832 SHA512 7bda28867dd5c6d415b924887ddff9042bd51e913fedae2c9d68451427685d82e282345d02d2b30ecfb60638a08200d9c946656a2711f51b40348fc7fe88789b
+DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz 220280040 BLAKE2B a47cc9c0636fd654a3cbeda2a95a04c7c190cb295364e4ebe9824354f3908b2645f36633b0827a10e562d5c96d99deb98431c29a9459674ac896f46a63228cf9 SHA512 b49bf8ee407f31ef13834ed856ead56fc35463ca770fa2d6b821eda12efc09f41d999b30bedc5c7690aa7682c09b4445ba8576af5cbd037369a0d02cd2fc0e96
+DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 835c0699a036f89d3c6e60ea99e736fb1195da7c3d6098743f4ebfee82c6c9f0565c3210713e706f1c8bc9b4744514d3a463335676da7b86527010370765485a SHA512 afdb5f5fe8731e87656bda0d057526a78b9c39f61d9788d32d022c7bf06157fb68f169a1156b6b4b947c36a5bc44ed2f61f033beaaef27b8cb0396fb79b81a34
+DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz 232559592 BLAKE2B 67b0bc67f59f84868bb75a7b9a598c36edb202bf0d001d10a73d4944b4e779187b6dceeabf744d11f6a0980ed5ac3d2c14d1053ab086f919489db28208f9134a SHA512 acbbf36e3aaf0a5e9d9002d1e7968d43f8557f9e5537957a5c31a5c340b9d2a4a8a39275021c7b8be9b83d916b067a9028e742da26a91ad7a7d7efa1e60f2c67
+DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d58654e30f932a3ebaf02e678da143afd1efc908bf7260f7681020446aea6e57429dc46783de868a33b487e324272810d0df1e010d9621028a1d3c117d3f908b SHA512 7f9a496b13976022bca8c16756bf099c725bdd44fc188051599623f86097beb4a503449e47c07bede4ad9e54c45b689d153384c01e042577cc6d263401ed99cc
+DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz 199550588 BLAKE2B 67875dd18e36c84c87ddb48027e17c90fe692b35b04de3501129c7dedfaa9b2a1c713c51ae8a7a37bd10a27e424ae58001472a4cdcfe6fe4a3aac61bf569c4ae SHA512 ea46c3f669f0ace973dcc318f4980be80df71faa264396426a7ca3f65c4fe4223dacbf591d597611c6ce175aecd64ec43269e96140e338f8886571521ed00cd9
+DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 468f819d02535f8cadac3504a78c4025616ea5d41e5e6a7aa656bb11cb71da2f902094715c36ac96cd032cb43d20b4ff3d6260c1f9a69608ec06f1f2af0acd63 SHA512 1cfbc331ca106e32acd8afe6111d34960abe0be65d411989ec3ff10ebf8d98a3f1379be9018a67d4ca2887b060728decbf826650b561f5de2c1f750a3c08fcce
+DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz 234563160 BLAKE2B 7022c16d42a6433c1b696f9fb809f89213e6f1164ee907bc0a5a13fff226336691f9b6ac2cb39fc128ec7240eab6c8ed45f2332cdbf851a7868f20fd9bf57150 SHA512 5262618ac38f1fdf207d574b80b625cd8f9710f60a8b1584a687c0803a69c48a7d257555b2c91fad55ad91300104581847819f03cedeb754f744ce23bf619479
+DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2f296deb5e283a18b1317c2566ad30f31162fa17c37839f6f7c4fdc3ba91c0186ed6d07dba3654d2a33ffd2bfe3a5de95b6381f2473cf89f43d5c9a3a46e658f SHA512 3a5bc46d6005832b90cddcd9244ff3bb305597b55cb39786db5a4dbf433962ec7a1f6a04b9ec6681f6611aae85672b11dae8008596e4e48a38c7813b11776acd
+DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz 186247872 BLAKE2B ce6536d349e84bed60eca34cad4d547c999dfa5cd607690bbeff110d7ca6ee51831fcf8b378246c556416cee750f97fae7daef1498b1a5e9b5c1d2fc53fb888f SHA512 f7cc8b57b3460525b33c925f27c71d7d9d97d752629cb098c690927374a8e2fa669a22a090e6ab9b80d5595c7af126c5e20d17a41890578b8fe3dfc24e86e3a8
+DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 699c80f8c4170006a27fc2f888c695c773ecc2d595adfa8247697c824a414ab34b25dbad755d954a9fdec5a6b2a891c1038ea988f1c9fe993798b0db9844fe61 SHA512 76fca41753c26689cc7f068fe05be38604fe8cd8947adbdf457d793be1bb426fa6fe5ddaa59dbdcfd71ad559823dd710eaa447b4d3f5d1df3054ce3c202b219a
+DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz 270123152 BLAKE2B a663f12acd11506263de4d10af0e3ee24cbdc51ce09b4df19d4c1bb0de6887fc17ebee895b7de5a03444c8d2ff44c03d2ebc2e9eb8d4307db4b1e708328cfd74 SHA512 d01eeb40a3e0e8ac5de3eb367f10fe5bcfc7db05e6951532732611fb99f40484f668672991ff40f41a113ede098fa66e7d37d3569978196f82fb5cb550aa1c5d
+DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6617b3e5029da925e19c2d7b5fa69386d6e1c125da858d0b0a20db3df19dafcbe988d710b19129e70244cb9c448d6efe575b38c305d54a8645d6a905d2cfab9f SHA512 8e5dcf410da568b9379c4ef9007379591410432fdfd2cdd8fba236d8b3e3fa2fcd97712d1b853447ce425cec5ece35e3ea9ad567e07aef8d7cb8075115718f91
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.0.tar.xz 2522244 BLAKE2B d16b4094848560f9db30a7e91ae2cdd0ed06d5bf6ff9a75526621bd6aac813344fa2c4969c4508c19f73e1933ffd5bc920873876a54b19e0eeb2cf8b685f21b5 SHA512 d57eff876115ef0e0885e8ebb9648e6319813e98fe946ab81da0becca29f18fda97f047bb2ce0a9ea4813d6cd98c6e2eef6e757aa21611e41abd1be888afa52e
diff --git a/dev-lang/rust-bin/rust-bin-1.67.0.ebuild b/dev-lang/rust-bin/rust-bin-1.67.0.ebuild
new file mode 100644
index 000000000000..cdc21d84d332
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.67.0.ebuild
@@ -0,0 +1,224 @@
+# 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-01-26/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
+ sys-apps/lsb-release
+"
+
+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
+}