Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust-bin/
Date: Thu, 20 Jan 2022 22:03:46
Message-Id: 1642716137.a2e6d0b803a47654dd15ff1a79fc8d26982472fc.gyakovlev@gentoo
1 commit: a2e6d0b803a47654dd15ff1a79fc8d26982472fc
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 20 22:01:51 2022 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 20 22:02:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2e6d0b8
7
8 dev-lang/rust-bin: add 1.58.1
9
10 Bug: https://bugs.gentoo.org/831638
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 dev-lang/rust-bin/Manifest | 33 +++++
14 dev-lang/rust-bin/rust-bin-1.58.1.ebuild | 214 +++++++++++++++++++++++++++++++
15 2 files changed, 247 insertions(+)
16
17 diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
18 index cb79b424baec..ea94790d8359 100644
19 --- a/dev-lang/rust-bin/Manifest
20 +++ b/dev-lang/rust-bin/Manifest
21 @@ -190,6 +190,39 @@ DIST rust-1.58.0-x86_64-unknown-linux-gnu.tar.xz 150248636 BLAKE2B 79dd4f08d65c1
22 DIST rust-1.58.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 232a8e931fb5ba56cb4f5209650abf517748ce2112abb6d6b9c34437ae90813e5fa2e056cf7ae46795bda805a326416d4f7fee0bdeb7568b81b5d553ce795433 SHA512 4cdbef971b7afc1560ecc461c4da317ca831f2f3c04f806e5819ae38d2baa1815422ca569d724eb6ca5b8c1858a4e17e7791b1ca722e41f5ffafe105ce9da3c8
23 DIST rust-1.58.0-x86_64-unknown-linux-musl.tar.xz 262715336 BLAKE2B 6a4d5202cae8ba404259f6c012faa801e3e6930a0d8851cc1fc6c35948dab5f74d196914c2b8b4344309a40c8c6324690a6920b61a2d545d945796f9149701ef SHA512 d97fd1b308c3f73ddbd8b10054062a37a05b445e2a2a91ad01844b9b7fd43d9e9dff00b8715fa2748ca1da9fb883eff14075b463bd808ee9a81b94fc85d9394f
24 DIST rust-1.58.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 368cc50c5ffe74c790cdf18ea66694905b0fdde575854765279fe41cc529dd7efc60ca2493c1749dded7da2f1fe67d8a06ec0d4de4a75791352452c57ba78947 SHA512 7273afc1c371c70f0e44cc796f9dc7b25137d7afd5fa1323e98d512924353117ff0b3521aaf2a2af29336ca210fa891d4f2a8d9cd2f626b09912ba8eea36326f
25 +DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz 229585460 BLAKE2B 301b201cb40249005a1a8adf34ffdb0bacd22e1d919a24dec9bb8331c2243de1b7cc312c91a87fc9e11091cd9ad517347ff09143000d9de051b3c9a6e0780f9d SHA512 04e2cf2116e16fa293c7f2d29816012520b41df44b54657e289e7affbb91af5a5001d140a49aab1286451b93e93b0171edea77f61f01085136d1be1a3baac4a2
26 +DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6da55597fddd643350c73f28a15dcfa935529c0878a199819b9bad6f3ea2542f9021e24bc1a6c8724ff14d36007c00f8906dd1aeaff33b0a99ef6982e8f711b3 SHA512 57debe0afe52c3af3eb53e4efe70ba194ddad449d9952174f8a775531b83f8ab0d66462e7bdd06712547e8f675d330a151d20d183daefe1dda2f0e3805695714
27 +DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz 226068748 BLAKE2B 7f9680b0ad3f9a8349f3032f63d23b6d96ab43245d3025d0e4307a29b4353fd2408e7de572a10a77b261634b8fd4e9e6054ba9955b2440b608fdad2c88c12bfa SHA512 6400221a8ae04aea91f9df0f8d82585bcd380f22e80fe813eaa1cadbf592c5207665ad008d938b399e34fc2cb0485b16f993f94d431c290a69a696a4faf89e05
28 +DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B fd22d8a3157a11df45e166b8c961a435bedb079254c1d7f0a738adc1065169a03c897a32bf8781802ca48bcb983c761e6985e532c0d76e90c3684752d8cff9d1 SHA512 54fffa8120fc6b86c57faffdc7857adb89e5fd217b0e753e76e6fadc54aa086243cb7ba3c2c49ec4f44ea8538223312469908d24add2d28203f41c16e9224204
29 +DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz 206480968 BLAKE2B 32ab78a1567d31bb1b5ca36fcb14fd1b002675baab0f688f931cef6524ffcee4257e00fa25a848f73f25656ae0b58beb0e862f1a36d4d5fad016316af3d1ab2a SHA512 94e7cf238235e845761e53fb5802ef0ce3a02c4675001cf67d05bc565403ec1d54293557d73dce7396147381c331ebfb0313e473289c05b65541f836dd8b4e6b
30 +DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B db3275db531d78d728b33678be3869738009b65985aa3ad4f38aaa853cc1b84a1d2a89f98e203f697c457425547b80ad5826e7c820d49c767b5cd1df2db93bdd SHA512 fcca26b6b0dd2e7529efc93d1c4fdfcdf55c85f40bc247b3af9741403a085bc6808cd304ba535786dd2debbf4952c9d9fab62eaa61f1d3d8e59ce78bda992eb0
31 +DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz 206545444 BLAKE2B 203a562ac448e7efc4fd519d98937f2deeb70c931611a6f0efc87947f5c48cf0c0cb85358fb9ce1dce49bdcde015fd2d5fd5f3b149d7370c05649579522d228c SHA512 5c0404d878300c1a47597bdadff7fe93c3b0a115320dbf5299dfb4fd06ad322217f4b630429a9db3a5ef54c56706c1ebdf512fcd663f379f1c2df0cf3612459e
32 +DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B bf26f6540d96d124bb503b6e38acd87dc16ad16c5214559edd26f4f4f94f1f06a7059a09a7ee504721130576d6ddc5c7b2550f7bc0edffcef37bae3c0abb618c SHA512 1fa1e533adb1e355411cfb706b7c47712454547966bdf07687d9b563cf5dba9b4419d646227719a9362eb923c597f8461c194e56efcbed699610faa209985df2
33 +DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz 212381428 BLAKE2B 0cbc4ace0b7693de1898f160d5e76c7ff993aa8e8135a094b23dff736326ff7616471068f02a064d2b88c816fbf6f943fdaf82629dcda0e0e07b6a4a3941fcef SHA512 c1dabf7281c754d3c89044b1277618b0e928efbecde47ed98133d3f8664722d5b3dfb5fbf485cfb4c98c53d3101b192070c5c41e4395cd8563b0e8415abdf2a1
34 +DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 85f3892a41dd381250219cb0c0c8e70b3902e5356ad34066a6db319193dd580e609975e38356097b7ca0907d62d188459c5a72783c95e77f1d08a50ae8673458 SHA512 70a2269b8326ed8b5e53dbd6698237c4d843086a139c4f4ddd6e04625f0defbcaff46149981e5a1502d56da1393b01bc0c6f74fa8e6ff407f6eb45cc5638ed41
35 +DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz 224773372 BLAKE2B d90db8b20611f6430759399bbccd0359f2b64ba9b9aa50312ce51dd4a43728897ab5c31d3c6bbee892db8e6e500a19184eb325a312231458cf99bad7c6f04b58 SHA512 0cfccc77cf62002ad99751744ae5a910d48c142d596eb88e187fc061c4b3a8cc1d99634802bc06b0302c41bb3462a17453af1beab6ca694a1535a1b20e10fa47
36 +DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc809defcfeb240f756b3e7158d3e747b2e21ea81f3029618c58c4070070a2068603a4e93f7928a9ec3d120d7b2c7cd944d1ae03ebff1b9d5baea823dba54b7 SHA512 aba1f533227794755ca81c2bd8a3bd35fd9ad4affe5bd39430e0329310fe6c6f813fa7d95790958c61c6b22a4e4fea3488e406f05fa30c27eb6871f71e2e6e5d
37 +DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz 164572088 BLAKE2B 117dcc6483652c3f18436e185b44d605e64b9b31634484ead2d86c1caf6ec47a53eeded5dd766e2410ce59dfcd3f7e71ccf924afab0f34988e00e4c9324a5f13 SHA512 08df5ca03f786aae814b7a22a7d05e18107a1f185338880ea1b58df23d6b1d5c9f2359650ad38c30058a2d2d6f8ae32dffc3926ff47fd3342049c2251eb48463
38 +DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 275a43c158a444c3ab27f1e45a9de294a059c21edf7280482303b83f6b0eb65d309021a82c49410b5b24828b88f65888529e95b01886ad20f2f4c187f595b788 SHA512 c70800d0629f92e4640a64a276575b5d6c1e92c2f1b6c7ca025c98a93a2665cbd7192d2fb697c421adc34fe397297c4cb78e21b38f27fa4261483cbf423f933d
39 +DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz 170025876 BLAKE2B 05cac890ccb9e37faeb3d995555b6f7f52281619101f033038ef056e7ee75b0c5eb2bd14357c1f8b0f5e96b9e2877514ee870bd75be1b28dce4906be95e6e3b9 SHA512 7d2fc1f0787f828fed72b1681f2668bce7cf25a87a01a818dfec18eda0fb63fb4a5e4aad8115e93dc4c8398641db4a476dfcaea07e6826fdcea727118c64e286
40 +DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B fc25396963178a21a5b0a999e8dd3c9520b3056483ddde1f8a284747a078db0dfb0e808f2292704680e37c5cb2db990ad8311efdc0b32e2a65fd93d389c2a09c SHA512 32ab00c666c33ab53a975e9abffb7645d2101e8f508ea67d2e63b1ec01b4785e384bfe2966ca237b5494e34c2abd15e509835fa161709ddbe1c69845f26a6f43
41 +DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz 169136184 BLAKE2B ae698d08e2592b32b5a0927536e1c2a506c2782f9449fe20242d2ebbc5cbccb2d3a53874b973d88898157b233a88ed80987e2e83a316c05c0d478b1021c49c41 SHA512 ccb13dbb41c92956a437d0879fe9d3ad0a2aac88fa1b761e3b68a6536e389ed4997d1682730b2078fe01e68df0ef64bbe43dd2d64595dbb4ed388fe59e1d6dec
42 +DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b14cb176bb33207aed7a01de755390df0f71163940fa8121b51dccefb018cb4dd1cfe9efc359f6bb941104b8b08db0cb5a94c3af880058e59904884c5dff3e4 SHA512 1e30495303f9c6289223a2970d419a70885a866468717254b3efa5124e21cb06830692cfadca33ced94a383d1b9af43b70c08235e935ee491a1de50eafba96b1
43 +DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz 183853716 BLAKE2B a2b98d2c55b5bda8647301536bc8e95b72f98f41018f9b7574f85756d2cd2980fc3a3e995bdd0ed5226b7f18357c5aa3c2f8a05b1679d3dceeae6dfac7484f15 SHA512 5b9010bc3685889411fab6a06727a320123029c037a01cbd5b69f037a87ed595362b698264954b2d3dc2adbaf422fd54d7b56d81512b62147c1922aae77afa22
44 +DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c428bb51fdc740ea9499a1a853f4be93a53c23e59d5142d33bf103ac46e32716505eea3e45174ac3b88ffa12caa4dc010dc2d02093f397ce45b4af27f5c4191a SHA512 b3ac66cc88c75f77f7f9632c2104f45a6a730a83b75bd7b531dab833e8e5b512ef06bfea433111302f64321b688f0817b95c5eac9fddd8ff44bb49934a616eea
45 +DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz 194177236 BLAKE2B bb0c23288014207123345deb06e40a45221d0149e8563c374810892b68cc2b5838b5c3f8c630522723daa633c5fbf72aed16e977313a6d1ce27697c22552681e SHA512 8a089c44d2f50d4677a6aa82e6308d47451ca588243e0df3fbbfd13768002f0caaabeca0d6a7f113b8f63477565296e5cb89f27760621a327cf9cb5b4999eeb5
46 +DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b94fe36ab1896bfee3d7e7f2b17dad05d33c672407955fe45758d167bb1fb4df4d33040e6d18dfa966d33133e181ef9a0e7dd04784ed80e30b38175a901859e5 SHA512 6edd981ded134e0c2e6198014ff37868d7e71d0d2185284c28a35450ab226ffd460faeb29e8aea6d5e75a2fa94874e01c9987f1f1470efe061859d06f3d3e605
47 +DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz 203175404 BLAKE2B 53ebdad5859fa7a5e2cd79ea31595aef65a8cc54e11d887f04385500aeac6dd886273f7736271aeb71c70e0d512fd986f09b54ed1a9c744432688eb71c74edb0 SHA512 abaa2b749987b4a1dbc20cc3dfdccc694bce0d1e126d8e9c03dfdcaf85c5be2a2d28f9877ccdaec847c499d7044f955a70f454dafb24dc59ecb5854807eb2289
48 +DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d5cdf7cfca4d881931a08bf67ca1c08fafda621746b01b8e12e41cd88f5ba8107c1bc86b70f84eed4e6137f6d92ae712740b57505705c7bfd3454d8ca1131eb7 SHA512 39a9649ac0645ea6df93cef59baa6d197b9cfdf88f0c1b3846e52369c8e3e293ecf9327cfa6b5457be65896380c13445ad05c3a0cc213da0ed9bba3c12ae9b8a
49 +DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz 196828436 BLAKE2B 9b38c585146f0832d9bc1bebbdab086f351bc88c27817e44ff251c1566b80ee5e573b59764a22802d246023ade332f861096f2e68504c7b64400754ed2676695 SHA512 d268e5a45542f7684d52b694baf5c9b504837fa43d2f5a298e3fb4e335bc6789cdb868651614fbcc1d55c13ded1b2134d57103f46b098d0a8d4a7fd58fb10b03
50 +DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7b234a9fe76cf39177ebc6ad54799bce80fef97151c257b58ae08321c5fe427dd5b5a70627b5a4011e32560f63f6f7b6fddb42e58728004406aec6a9e7597eed SHA512 ee4a1c52cc623dd1858ce8d363f0aaccd58b8bed27a0838f399f1b5cc51f0c123d98056147a266f45724b6a25b09b11c7224c4bc01f208ff7d77e906c850aebf
51 +DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz 198204996 BLAKE2B f6f325a10aa9c16510b77b7729410d08d09b83dadff3b8ef7e06642d8c6a50a153eb17cef338fe3e3b7efa3a48ae0e318414aea794f2f488d6f59852310bbbf0 SHA512 31ce8b53c50063c9409191beab28f67ab804549b5eb4d6bfaf42a3342ccb2f4dc039e3afffe22d87664917481e943018c0d1239e7dd0a62af34c44a975f69303
52 +DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 995a6ce146b758bcad983fc8d7a8613b0da172c7e62a0b73d206cfd461e1046d024a8431ac287b5c267b215128542bf20d796b072ab1aed348787f50013a1118 SHA512 d7af25ef9bb92952949e7f91a13d5e910f32134b962e6432bd10ed885be451eb99c518213d9dd4c425c40ea43fa2722d6ea7c357ab0ec63b8ca4f7d020412979
53 +DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz 150229600 BLAKE2B 056e5a646d6758ac88e2b2b9309dbe0e9d23a285be31ba009eed936c82923ad9615874b8689ef926b14335d6c5255df41b5879794e6f0982b90553273487853d SHA512 7a61ecc8ff49769847ed4021c57279c16f261aa21469da426023fadab3820d0d962edc0fb04861ae23c8dcf821fc3ab99c2d469ba827dad30c1acc995732605c
54 +DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b86d3d2cbf27594dfe55fe2ff52523a9dff08d08ddd30526172f9e07760c2f854698eb8153cb9894588d75759a3d0bb7887756d005a2c69aa9cfeec8e7dee678 SHA512 82dcb22efb94bb19f2338e9cb46e3f6da3d189fe6bff12bf1ec870197d395c2ad58bd15705aa7f3cde38e5ec0266e20eb2e45761e0f55b13261d3e6b14dce60f
55 +DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz 262511608 BLAKE2B f2ca664fe1ab0614f13ce9d7764eed935b107b393830ad14b64d8b05e032feeec57dd04cdc963ad3eea2cb23558beeb1975722be93412d4ff8fd3a75d2bbb896 SHA512 d064464333a64f91b8a30f267ecfe2b4dc5be6d639bc9f064efa86a54478c8de7156166236b7ff8d96bf8fc8cbbeebf7ac17d8b5dabf24d72e189dbbd8ae0819
56 +DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9c58a08b4e5d609230b5aae52fe7eec2dd6a0cc0eb8c257068ac2585918aba6cbe3263a6480860d34a117d3e2ee835fc8d8b1702296369c3a4e0f660f46bd62e SHA512 6c294cbbbf22940e36278e92d5095dbfee0df741694188ef1e6df7740bbe770ffb5b2467bab12825045ebf7d6fb12eebb1ce7edbb32d0afcb114c57e814fe5d7
57 DIST rust-src-1.56.1.tar.xz 2456408 BLAKE2B 19cd9ac0c0c57d077e2a62e6ef202cf8f349582870d0acf28b105278da611e3e3884b1db59cb43c1a13c8f0ff546f83f8ac30783e46f99233a0a81df04dfd359 SHA512 6ebcb7e641031b269af244f0a14ef23c5a6c324d8c9f8f9ffe3b1802fb2aad522b10544f6c29789950dd2a9fe7cbbdb6587f793ec8f53881e707734bbaf3a3d6
58 DIST rust-src-1.57.0.tar.xz 2536924 BLAKE2B bdc8bfcf6ee3fbd0be3b9bf1ea8faa34bb45247d35bad5a7c5684f74ce061de3399d05209cabd18d01c7f73703c5e11cc49765fd7a0230e95484922e96e187de SHA512 24d86a7e1f8cd63b9571003604374cc251c575ce351253cf5ce676f34fa8aff574bc9e305de0d62b42a0d699e792fc072867981908ceebcd75b2bd6aa71a0867
59 DIST rust-src-1.58.0.tar.xz 2822920 BLAKE2B 8703fb119092473ce9bf822a35e3b6b2dc1644fad502140061d2787dca0bfd90878d8b2394e5b43522ba5b51a41d181f83e3025978633047460e80e5d6983de7 SHA512 9d2456d0c0f5649ab3bd4e3ae4540cf9f382ab43020306699657cf2dd0671c423f82ea17f66a07d8eb88845598e928106bc40de29a674625fa630f3be6ea47a1
60 +DIST rust-src-1.58.1.tar.xz 2827736 BLAKE2B 7ed64fa6688c230eb53bc141ccfb14b9f84114f344ee6aef26c78bea7700a924ae9f2d57f5f81eec514f9dd06cfce899c5fb7e0bb23ccf7f5fdfc0ccb940130d SHA512 cba8a85edde1e6587674274c97c526c0ccb2c4d81a5f23f8f826ee74e903bb7e8ef8d29f9c36559148fcaa1cc98cc3f63f6b5265172c4fe9af8ffee026e48690
61
62 diff --git a/dev-lang/rust-bin/rust-bin-1.58.1.ebuild b/dev-lang/rust-bin/rust-bin-1.58.1.ebuild
63 new file mode 100644
64 index 000000000000..c78fc0b4424c
65 --- /dev/null
66 +++ b/dev-lang/rust-bin/rust-bin-1.58.1.ebuild
67 @@ -0,0 +1,214 @@
68 +# Copyright 1999-2022 Gentoo Authors
69 +# Distributed under the terms of the GNU General Public License v2
70 +
71 +EAPI=8
72 +
73 +inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
74 +
75 +MY_P="rust-${PV}"
76 +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
77 +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2022-01-20/rust-src-${PV}.tar.xz"
78 +
79 +DESCRIPTION="Systems programming language from Mozilla"
80 +HOMEPAGE="https://www.rust-lang.org/"
81 +SRC_URI="$(rust_all_arch_uris ${MY_P})
82 + rust-src? ( ${MY_SRC_URI} )
83 +"
84 +
85 +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
86 +SLOT="stable"
87 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
88 +IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rust-src rustfmt"
89 +
90 +DEPEND=""
91 +RDEPEND=">=app-eselect/eselect-rust-20190311"
92 +BDEPEND="
93 + prefix? ( dev-util/patchelf )
94 + verify-sig? ( sec-keys/openpgp-keys-rust )
95 +"
96 +
97 +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
98 +
99 +QA_PREBUILT="
100 + opt/${P}/bin/.*
101 + opt/${P}/lib/.*.so
102 + opt/${P}/libexec/.*
103 + opt/${P}/lib/rustlib/.*/bin/.*
104 + opt/${P}/lib/rustlib/.*/lib/.*
105 +"
106 +
107 +# An rmeta file is custom binary format that contains the metadata for the crate.
108 +# rmeta files do not support linking, since they do not contain compiled object files.
109 +# so we can safely silence the warning for this QA check.
110 +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
111 +
112 +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc"
113 +
114 +pkg_pretend() {
115 + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
116 + die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
117 + fi
118 +}
119 +
120 +src_unpack() {
121 + # sadly rust-src tarball does not have corresponding .asc file
122 + # so do partial verification
123 + if use verify-sig; then
124 + for f in ${A}; do
125 + if [[ -f ${DISTDIR}/${f}.asc ]]; then
126 + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
127 + fi
128 + done
129 + fi
130 +
131 + default_src_unpack
132 +
133 + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
134 +}
135 +
136 +patchelf_for_bin() {
137 + local filetype=$(file -b ${1})
138 + if [[ ${filetype} == *ELF*interpreter* ]]; then
139 + einfo "${1}'s interpreter changed"
140 + patchelf ${1} --set-interpreter ${2} || die
141 + elif [[ ${filetype} == *script* ]]; then
142 + hprefixify ${1}
143 + fi
144 +}
145 +
146 +multilib_src_install() {
147 + if multilib_is_native_abi; then
148 +
149 + # start native abi install
150 + pushd "${S}" >/dev/null || die
151 + local analysis std
152 + analysis="$(grep 'analysis' ./components)"
153 + std="$(grep 'std' ./components)"
154 + local components="rustc,cargo,${std}"
155 + use doc && components="${components},rust-docs"
156 + use clippy && components="${components},clippy-preview"
157 + use rls && components="${components},rls-preview,${analysis}"
158 + use rustfmt && components="${components},rustfmt-preview"
159 + # Rust component 'rust-src' is extracted from separate archive
160 + if use rust-src; then
161 + einfo "Combining rust and rust-src installers"
162 + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
163 + echo rust-src >> ./components || die
164 + components="${components},rust-src"
165 + fi
166 + ./install.sh \
167 + --components="${components}" \
168 + --disable-verify \
169 + --prefix="${ED}/opt/${P}" \
170 + --mandir="${ED}/opt/${P}/man" \
171 + --disable-ldconfig \
172 + || die
173 +
174 + if use prefix; then
175 + local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
176 + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
177 + find "${ED}/opt/${P}/bin" -type f -print0 | \
178 + while IFS= read -r -d '' filename; do
179 + patchelf_for_bin ${filename} ${interpreter} \; || die
180 + done
181 + eend $?
182 + fi
183 +
184 + local symlinks=(
185 + cargo
186 + rustc
187 + rustdoc
188 + rust-gdb
189 + rust-gdbgui
190 + rust-lldb
191 + )
192 +
193 + use clippy && symlinks+=( clippy-driver cargo-clippy )
194 + use rls && symlinks+=( rls )
195 + use rustfmt && symlinks+=( rustfmt cargo-fmt )
196 +
197 + einfo "installing eselect-rust symlinks and paths"
198 + local i
199 + for i in "${symlinks[@]}"; do
200 + # we need realpath on /usr/bin/* symlink return version-appended binary path.
201 + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
202 + local ver_i="${i}-bin-${PV}"
203 + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
204 + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
205 + done
206 +
207 + # symlinks to switch components to active rust in eselect
208 + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
209 + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
210 + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
211 + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
212 +
213 + # musl logic can be improved a bit, but fine as is for now
214 + cat <<-_EOF_ > "${T}/50${P}"
215 + LDPATH="${EPREFIX}/usr/lib/rust/lib"
216 + MANPATH="${EPREFIX}/usr/lib/rust/man"
217 + $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
218 + $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
219 + _EOF_
220 + doenvd "${T}/50${P}"
221 +
222 + # note: eselect-rust adds EROOT to all paths below
223 + cat <<-_EOF_ > "${T}/provider-${P}"
224 + /usr/bin/cargo
225 + /usr/bin/rustdoc
226 + /usr/bin/rust-gdb
227 + /usr/bin/rust-gdbgui
228 + /usr/bin/rust-lldb
229 + /usr/lib/rustlib
230 + /usr/lib/rust/lib
231 + /usr/lib/rust/man
232 + /usr/share/doc/rust
233 + _EOF_
234 +
235 + if use clippy; then
236 + echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
237 + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
238 + fi
239 + if use rls; then
240 + echo /usr/bin/rls >> "${T}/provider-${P}"
241 + fi
242 + if use rustfmt; then
243 + echo /usr/bin/rustfmt >> "${T}/provider-${P}"
244 + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
245 + fi
246 +
247 + insinto /etc/env.d/rust
248 + doins "${T}/provider-${P}"
249 + popd >/dev/null || die
250 + #end native abi install
251 +
252 + else
253 + local rust_target
254 + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
255 + dodir "/opt/${P}/lib/rustlib"
256 + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
257 + "${ED}/opt/${P}/lib/rustlib" || die
258 + fi
259 +
260 + # BUG: installs x86_64 binary on other arches
261 + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
262 +}
263 +
264 +pkg_postinst() {
265 + eselect rust update
266 +
267 + elog "Rust installs a helper script for calling GDB now,"
268 + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
269 +
270 + if has_version app-editors/emacs; then
271 + elog "install app-emacs/rust-mode to get emacs support for rust."
272 + fi
273 +
274 + if has_version app-editors/gvim || has_version app-editors/vim; then
275 + elog "install app-vim/rust-vim to get vim support for rust."
276 + fi
277 +}
278 +
279 +pkg_postrm() {
280 + eselect rust cleanup
281 +}