diff options
Diffstat (limited to 'dev-lang/rust')
-rw-r--r-- | dev-lang/rust/Manifest | 52 | ||||
-rw-r--r-- | dev-lang/rust/files/1.51.0-slow-doc-install.patch | 92 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.51.0-r2.ebuild | 17 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.52.0.ebuild | 662 |
4 files changed, 820 insertions, 3 deletions
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 5cf9bbb7d395..351c298d97a4 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,26 +1,76 @@ AUX 1.47.0-ignore-broken-and-non-applicable-tests.patch 2862 BLAKE2B 96363bfcaf3634185160d54f475711409c5af1e31b8deb3f1cb8650629eed6f4db6b8d758b84055c9ebe2983a213485f9d4d6de4f551ea1e3d122f7c3baad77e SHA512 4a2c7eab2d3930ba6d8bc042f52c993683a3e21bf023ae609bfb4db65df8c5750ce94264d6ee9196e4dfd3b3e204f10c70d6f3a2e752d0b373fee4ada4c5fe53 AUX 1.49.0-gentoo-musl-target-specs.patch 6377 BLAKE2B 07e037353210292bc576ebbbda2afc489efeb696dffb34b4c5edffbb512b0ba5944cf641e625dd8a158cc7234b70d49d377397aab8cb9a86b4ec6f5a50a6cba6 SHA512 e166d4ed3e321257cef03655be98915badef432de10aa2bde2a4b9f1913dbb774a29a72d7d2861f69d02a37fd9f7c753c551a3e65fb7da4dfa78a8601eab8d38 AUX 1.51.0-bootstrap-panic.patch 1508 BLAKE2B c5fec1047e0fd5ec7413a4555edb427f192ab5f7e6012ca52ecb5809034f932c5acc4a2be17cf7ac2e344acfdcbb380dbf208fab45635f264924389ef044c0fc SHA512 9209503c56b56bbc3aaafc7bc5a91b53099f24b21d19a345270ede4963a5cafe82161a419653cf25ee05a3e02a86d0cbfc63947d9c9a78506ab6e516fd94488f +AUX 1.51.0-slow-doc-install.patch 3408 BLAKE2B b4fc3512a942e5425ebc9fdef5a23ea1d5c9515a8f00fc4a4f54af8c978bb81ab64d44650cb1a48e7cb87d87bc43905e4d7165b6f2b49614cf3c3d5e627b7c76 SHA512 5f2dc4968cde7ec7c47dea5c0db4d603def69dc81fdad051fd175813f2496cf96b6d042076641d170bb544fcd64b73197f4afbfa2603b27448790680afc2da6e AUX rustc-1.51.0-backport-pr81728.patch 6614 BLAKE2B 886dcb10fafba0a388a5230ddf3688844493ab902b6e93f65379eaaa7313b8363b601ac3b115b53dfedc5e02879790fd5df3d30fe2b5d3fe11666fbcdbf29df0 SHA512 e68f116293770a9ba1f5d11e19b445d930f93268f88c634a9975c532ecdb04e75a3dde92a1e56b57e22630d3bb659ce7a2e849656c7d9541b85369e1db41bcdf AUX rustc-1.51.0-backport-pr81741.patch 1832 BLAKE2B 62f333f7aa81e5889ad266c322badf0949f041500c5be099b5b03150b851de255e43403aee46ef047190f3e5aa75055ec07d250534be16c4e8731a2fb863aa6b SHA512 7a4d3d6d4528c9049f255d6c6eb1b023fea11f6a8e0e193a8f8aefd23237fd05c3505d6a9de5d571f24403e9e8d7d7b8ffd783b4975db50ba9c54aa8585fbcd2 AUX rustc-1.51.0-backport-pr82289.patch 3403 BLAKE2B 67e6ed9c8ad2398baddf51bc901169db7aab5d2692040356df8f6609866a0880d679b2bb2647b93d37a47f89eb07f4ea066dd22f25ddb6422ec49b1c3356f3b8 SHA512 803ae2873106e99a353b0c807c5fccd694ea02238d2647a0296297afafdde05573930b94044d26e2ffde8b0fc798e195a0f29cd81cc95291a5dfd74d36d21a1f AUX rustc-1.51.0-backport-pr82292.patch 3968 BLAKE2B c9e9f07ccf2f80e13a6e701fdf13680ee1a8d3c4d83e72e0abbe50f3a05aafe67c5dfa59a4ace938491c53205d5897f5bc5dd204b33ab11bf0b5dd5cf8a6cfe3 SHA512 a3b237941c6f5af22a1f692bf69632e5623b22d5a66b8aee900eae1d16bfee11fcc6979976c9f68e27409c1b03ba3945d0de4cd217a29d6e0d93e1de82b66335 AUX rustc-1.51.0-backport-pr83629.patch 4860 BLAKE2B 8a42293184820b5c34a133af37bfa5956ad5f83d41db0333b8539d106a7dac9c93b27aa815d98ac889667796013704d25532faf7b8ff71b3d5a2582dad33271b SHA512 3bff1e63f224d4ec0ec9ba98044eff4310bc410fb2518a4cdc868e3817ec2eae88697e7771e03d514c29066fa6c3650c8473555868b305f53f8465e5bbc77d87 DIST rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz 203382140 BLAKE2B c9547661356bfb2eb328992ecbfd488114bc68c00e551cbbeb925fd1650b5a4c0ab33145c6e994184766ef5046cc2881eb0009ac9d9448208cf896317bf47c63 SHA512 e6b409afc8e85a88ecb9ff439a6eb9dcb93d5553e81549fb4f332b9e2d946dce0424319c5092e60aab9435944af70d0117d15c12d54d2059ef73c1fdf36d8273 +DIST rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2fb27b64770fe6594aa4d855697d918998d8d60b951589a965a245ad0da485d302b23b7a3e2d1e1715719d05e43967e607cdf77b826bf15bd6bb1ab44a43f94d SHA512 a9a4b9e866bb9fed6d6933d7b9060ce98dd9a71f2c86bd224fd0489dd51e80d266e6816fda064f65e063dd01083912548a39c82a0389b280d7823e9ef4b2241e DIST rust-1.50.0-aarch64-unknown-linux-musl.tar.xz 204473556 BLAKE2B b47fe60f8e558a673b1c5fa47a0ebe9f73b09012b5df718baf0683536fa94d840cf0006830f6f4c36740d5e598b1c67b9d0df69a4e8d698520f05f5644cc3b69 SHA512 6a15af6a30c59325c21587689e3f99ca20a9a8ee0b19866569f2f7405d2b176ed88903776799e1ebcabbfc665b5e0f3c7878f841db6c5a75eceda57ace18185a +DIST rust-1.50.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B db41d9aba2948b2da29722534bad85440e7a5f7025748422860f430f06d84f2a9d0ef348396f8dd222677858f2256663b57865c0a21c7daa23b142211c3582f2 SHA512 ea1770fc51855dc131f9aafc8cfa02d5baae25b9512d7167a7a67c0e93d3464cfb9c48a24a7391bd3ffb96ef51e302a55835880d10878dc1c7b1c0dc6a83711e DIST rust-1.50.0-arm-unknown-linux-gnueabi.tar.xz 193322872 BLAKE2B 2654e604a609f287b2722bbcac325461cc8a84d47e449470da1925f3d21a042d665e55d07f4f268e37630184998ed330b2c2e315485ebeee960c63555550c9cd SHA512 eb3aefa4ff7d2b832a847b6d4fd4427d88885cc72c3a9f97837e2516d202af39da7d523de2d1578fde20aeb76e843a84c37b4ba33f85668caa0b28d63a20968a +DIST rust-1.50.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 2927ca6c92b5d14436a1c785a231c4191ed0d1cdda59b8eac81d073d1a6c75aac70947d5c85f273b72cf7df977617d89372cc817493597cc94fab122fbc6a08b SHA512 53b8f4e77a56f453e0cd1b0dfe88c667a38606ac07389258f60809cd823205ba82320604bc41039d70c4e55deb641e447d605f6ae7518ffe7468f0bd79738fbd DIST rust-1.50.0-arm-unknown-linux-gnueabihf.tar.xz 191287452 BLAKE2B 34958b97d034f6c643036c61d64e25aaedf1c93046ca039e39c9083a54d030d715d17a3174bd69bdad3f9bdb8b89c9b92f977b7d3c29da4eb28efe933402e86b SHA512 7b1f61fd53fbb361fc6b3ee603917f899f3cfc8062df3cadb0751e8014e1e2633f32ba198912e8bca34102543c427f2607e861b724143d60fd1f9682578be70d +DIST rust-1.50.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 8cf492d8d6fa31e2c630b849bfb166501a0b8abdbb4ea4529aaf29484feb9349ce06c161bb129e32b65306a01058d29336333fad00699d963eaa3de75a2fa2c8 SHA512 85706b922eae5112f067ce1c7454c505c73516db2fb22bd66b5c2116c967b8df4b9140360ccb4c78e15e7f6d6ce24421ead0e8456b48ca28bd3a70d2b8f0298d DIST rust-1.50.0-armv7-unknown-linux-gnueabihf.tar.xz 194656336 BLAKE2B d02323d9f47d380f4a06e8273b02ac3c9091257400a59b3efd1140ef22aa3bcbb71b4c5e70aaeb2cd118839a84b3513d9c85ff8020b5a1f6e68791ae5d81b8f3 SHA512 c3314436afc4ebed697bf6828b9eacbc12f96838b156241331a3b71e99e1438f8ad82e701615ea302ebfc459464479442fe653232bd319cf824027362438970d +DIST rust-1.50.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ee81ed5ed81e587e6972648dba990ba330f689fd5f96513d5abc982b9e03bc38ea197c709dad73e1964ba362208099c98c36dec949877676eb3ce9b9509d45c0 SHA512 f7d07aba9c56dbfc94ae3bb44272495e05cc69a8f99c0ad9e668694b5009f32e4fdd934f50ed4ad219023922d5fc6e54bea40e9fd7e17ee4de48fa6a2f565623 DIST rust-1.50.0-i686-unknown-linux-gnu.tar.xz 222946404 BLAKE2B 38801f395ab8f5aeee1cb709cd7fda6b6573476f9d763931086c76b0064ec0d5dff03415bc2f6f13419fb1a326cb44a0086dd42db99d1e14d520b33c6382e340 SHA512 bff117733d11731f56e8659265d0b47327e2af3f7c46aca494747a92b4f634dd35fa9731a1be59dd69821042f88bded253e1d7b5693ca237c9a167408ca7f898 +DIST rust-1.50.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2327426a92265c52eb96d8aa65e1cc226d253e2ae416238b4392374c13e90c7d7d99dca9f581703594825574f01b930c092f20786469c3022229c0152674c132 SHA512 a8bdb87723860bf246829e50de2f1c92ee314e25d310982f45b0e3aea82d7fe361637eb1d90f590fdbfd2fc3604959d6c5a9144f04e20c11336ae7b3b2eaae5d DIST rust-1.50.0-mips-unknown-linux-gnu.tar.xz 150524936 BLAKE2B 950424444394dd55fd81c6b850798552166d78588fcc2c4dfdd4bbc900600957eed06c4a03c83713f2f820252949f57651d69e4d2a2b78d7de42fd7e0c0404f4 SHA512 849d70b5f4b4364070c5f708e466a86afead7d82d7fde4d1ef7c8800bc1ebcafdd4e1bc69f059e393fd8fce104f2d97201f09ecb3b894676e6ff6db9c949c897 +DIST rust-1.50.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e051e17016274dbf7b6b6649d7506485c2f97425e4d7ce456b403615be2f327a99634eb6831d730b7e7b5a9f6d4eecc78d9d9a50a67393ca462bd949f80b5e3 SHA512 ed5b2cc3308dd1d632b8560552aeb46c064475d0c1ad7dba977cf9659b3d115548826d546b0d4a3ecc24a92d6c8c9f27a2809b52cedd507dda3063b118b0eeb0 DIST rust-1.50.0-mips64-unknown-linux-gnuabi64.tar.xz 159792596 BLAKE2B a361c13c036d7cc964ace781c34ed815946c976071d38d361110856e889174e2629ad9602dde5f6d5a704044cab670687b67643470b199ee18e95944dbccba16 SHA512 d85c2abff3249ccca63d14abfa85f5320e5d227b17faf7b4b47a5254a4b8ee3a4cf3ccb84e31f13dae7780176411e2a5d04894e2422ae5921f547cc5e07fd1b9 +DIST rust-1.50.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 049a4a10e28ebc37ed69e03d4780a40e4b887d00a88faa9822b285c95c2e7b1c5ca208e95e3356cf92bc3b5238563c607d3b6c9f3e43bdfa492fddc7a121cd9d SHA512 ae413182c24cdada092ab808fa2dc335137bae848a6f6ba480807bd62e20a9f2f498e22efc8309511a66fe7095cfdbf11355f6dd94f7a260da83bc065dbb8d7e DIST rust-1.50.0-mipsel-unknown-linux-gnu.tar.xz 156597932 BLAKE2B 57bf7d105f6f9d3a50904466439e88e32c99b5fd85f220ef48e82fe91b2c05c28d6783233dd3e9ba7b49e79eeeb358cd1df60369bbd927a9a867a0bdaed471c7 SHA512 019df8180520bc4fd29a258017e2477a59a30338d921f185871f64aa81d8b5499e88676d09d5887f9c6726824ae4bf50f8a9e6fae1f03e9e728f0f08ab0271c4 +DIST rust-1.50.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 706f17c35f5d0680abac08a1d86bd3206342e266e40a4fefb651c873979c39ba7a7e372086a6a50fd6eb9b23df2105d2f26afbe8f314697a70d98afbca318871 SHA512 95e1cff9aeb49e3cda09a6068e2a863ec188220ca9326ab82e72a0ffba1b2419572983183ba404c0876a8459b05300908806ca7ba769c420516516c4eb41d201 DIST rust-1.50.0-powerpc-unknown-linux-gnu.tar.xz 168133824 BLAKE2B d2ce955ae8975d667c854fc1f8dab5de8b8a3ecf08e52dab57f40f5a036138b6006554f053616c7d369e054f9ba3dbc502b2fa47ff0463e077f831f75b831c4f SHA512 1411063401432b2aed58f53c7e9c87d70177cb7745753378df052676a6b0ee19bf7e56298584356b77707758ad531e5d4d59140cd6e686bd7cee53488553214a +DIST rust-1.50.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 786dac9a6fb19d30dfd4b2926e4992685ed17a0f247aefc54fc99ee2a49a74177f327142ea18e5e324f9fb33f2eb482cdad50c55f0a5eb886ba4c76f4742b67d SHA512 589a2999ee8c7ab4e809a299ab4b50b9bd52a5fd34ff8e1a0f1c187a9b7e31b73f376b08ff5a1a30a819457adb73d5504bc52ecd0f50b49bf9f0dd9dbd60bcb9 DIST rust-1.50.0-powerpc64-unknown-linux-gnu.tar.xz 180157804 BLAKE2B 8d3c38cdea4901f38665e66f880301c409d0de4ade5fd931c834680ee21d014fe6efb6928a417bcc747ac10ceeabccf287c0a29c009525e2d2fec92db60bad01 SHA512 d60fa7d029c52403c08722b4cdda8ebcfbbf23f57770db786007b21c8e0590577f58823b8e0b89adb38c351102b6aba0c02afa5c3582eecec5165bccb50b4944 +DIST rust-1.50.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 74a45316f3ad5924db4f9c714d25e0f4ce3e94bc022544f238a32417f3d4f43327402d404bd96675d60779c12968a6cfc3b837804772de000048a808b82ff676 SHA512 74e9663e347376819318aa2faf53e20d85aa2879ff88d94f64f8d01a278c2d7f051e1a31300142c02a049f4f0ad4cff2f2dc944a3ed3436283cfd00b5238ead2 DIST rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz 189754060 BLAKE2B 8579349a7d916ee701f29bd66d08a76d8433ad86020571e5484edbc8d9a984088e6942e31b18179698a199ade2fcee3b1b9aed1cc0d5a3b996e763ef2b8e0b33 SHA512 e3dc75ba7dff3a358042542afa398ec8771a23f5f699454a876ddc1f3583d399fe5350696a5da62d71ca97ea882c9ae1fcb60dc2e9fdf76bc7a9af892096371e +DIST rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ed68b9dd309bcc4d575374a3eab6e96f5625dd84fee58abc6fffa4aa37b2b51010cf8c9d638d2b16b92ba7d4c80e238c4a788a800adef5da90a9ed337ed6898d SHA512 e6569a50256f30a1f91233fc855f8b8d03a8a1f75f583a4260a8f18acff7e2ef8c355775525aeeaf28ba33684a9636926ce0d6f4e542933ba0ddafb1e839654f DIST rust-1.50.0-s390x-unknown-linux-gnu.tar.xz 190157972 BLAKE2B 4fe8ec73293815ade006e2c383d1a6d541d87d4ebba76b3ace65793f7debfd54d3dc07cac89c43e41947f8d0b69bd0f213dbdca8173f610ca2da03bccdd55ddd SHA512 733513af2a7ef7a782a5ebfbd080071194ac47084022b54b4830de84facef9986d65525f8666a4c226e9878e43b00ebced26d6077e5fb1b7f775ac8f290fba97 +DIST rust-1.50.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 034daffe5d8df69e5cff8d4ba58e8c8d1540ff3bda07c816871e272a3bd6764ba4b8300cca96cdec3bf1b2994cb9111f4d79682561c6f9de1293f58e1e59449c SHA512 3c4f2aeb8533616148e11c7250396cd2c113b0a0725889b9bc8e9a5d4d1069c26852e4aa0b69887bbc2b42c2145a3faf8047bc7b1e24ceb76c88b7c288529dc3 DIST rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz 152873328 BLAKE2B b0bb91487186f13a7a1a49edeac28bc347c300911f574aba0e70c37e05b688176f5941c97cc4ad0ceddf32f2fbc0bdda6f8a1fdfa482aeb9682ea1fade28206e SHA512 ab49e3ecb14e4af8e48548845184e9ab3d564ab2341c1e5462b7847347c79d13324211b860988d219ccb646143bf142fb14c3ab03663b06cfe9ca275128d9fa0 +DIST rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 681ddf4d3d0c4a3e30a288835d8ab1238e5b9184526f1f61c52547f7122055be20b13595347937945a215d1d81e95c1adfbf89034123f5f66949b446bcc44434 SHA512 b512f9a7d0b53f058ba0766c241b60fab2d313b2462348747e7dd7ac52e9ca41487344a7bbb7f6dd3342737908b48ebfd367b563714108d7beeabb8fecc4eca8 DIST rust-1.50.0-x86_64-unknown-linux-musl.tar.xz 242743828 BLAKE2B f20feb709cc07ad43f69e30a7fcefa81b5de94ee4c90cbce2616fcda8af2591a27cfa0770b71138762e21f6e07263bf3c2548bcce1b707831ab544de12ab746a SHA512 68403236e213a4f2c156b36a03ca4dd7866fdb69e87170efc76426d937dcf5cf2c5578aaf73483131b1ce7750302f9d02de1bcbc52e1283b08220d5b22be82ca +DIST rust-1.50.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B d26d5e5f536b0e6ba0b87d97a1975e0e8245309e013fafba9be466da6c599bd7149c2a726b8bd7ac93b44511ead18deb99321dabdfccb95dd06d6adb71397c1a SHA512 1a0b4c40caafb6ca88d4679779cd80d4c334e5262952b13ce4b9fd34ba1258c15f421ac9920e81874d071f53bf14e9307f00bebdf42494bfeb2a504ff5f1b6c3 +DIST rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz 208849064 BLAKE2B 1570536f63237ce04222f78c8c1d0592b3d0bacb62e2a1e2b87f9cd74c8d304837f9259c154e6ddfc5d0fc36c1d69aba34cb27d41346d4e7400ad1950ff19f8f SHA512 2af31290e1065a4611f34e6cc8c62ee494c222becfb21ec6707059c119069b0adf0eec23e56bad4a3cc8690b2556309ec58cbd9003a959983689cc46c7c63361 +DIST rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc2cef574740ea5eb632235dca2889a7c6a6941169ac011d3a888cdefb8e5a5af5bb9ade93207ccb6adc82eb6ae1b5ed605954cea2561163c538fcbbcdb647f8 SHA512 43abb6e19c1ca905cb2d047503f4473584e06b8daecff3b6e45ac93dadc2c7f37118e3b66124180a9951b2f5eedf212174a37c661a7775600bd200eb089801f9 +DIST rust-1.51.0-aarch64-unknown-linux-musl.tar.xz 209607568 BLAKE2B 8a8d677fac5aa68be8b689bd999894f0b51910d50d86d70db4cc9b60695703dd74b68578b72d9d410d2d163aebd3fbab0993ebf79486a103ef588cb849dc2038 SHA512 d7ca480f4e07f88a49b475d2fcd132126defff21c26a665d1b444b97ce5e44404f9106bb844a5e35d4933a51c2d8a5aabc8ee42a2515c02a559c81937920be4d +DIST rust-1.51.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 0759b58a1647b0c0a29fc295edb31e793a0688d6a4b6eb8febe4364421f53cd1f4c0555abf7c8d4fb25bd7c15c9aeaa8d520390d8d3b61c213a591ccee7b9887 SHA512 bc2135b94f9c4e7b2616d886e84a268f52404abed2b827bdca5ab8f98071801e171234f18aa27a367b5dbd0df0e207b0aac8a30be59fff807ff70f21279614e2 +DIST rust-1.51.0-arm-unknown-linux-gnueabi.tar.xz 194362256 BLAKE2B 20c1559d3b1f32c9ca6f5e9740dff0d9fd859be33ca58d59733fff1566ed0b75dd398facbcd15c8d7c862bee945198b0235973d5f683fd78f82cca52429b269c SHA512 fadb5084152b6fa148c1d584c8ba766201012c0a70bdf273f5d4b89b249d7f520997b12809a0db68c9d1d76283fee892f83b6ef687cbb025c08960ffff7e5eea +DIST rust-1.51.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 546fad9428e7261ef78e92d6542ebcd2b1b11c54bb4dc1fbcb7ca622551e6b4fc443f16305f9f37572ff2f24e5dfab491fadf3a128e009c77aa0218b271bbe5e SHA512 580954dde6e5a89a9a16d0b93570275e81f488f0a77952cd4e3878894f9865f2a128bac2aaf0567ffc9e7cf9809808088a819bf7b0e54d8fa6224abe677d1732 +DIST rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz 193918308 BLAKE2B 6799652205422d96c95949a4afa8a321a8a4e0cd42543f321898fdba5b27bb645f9eeb50edb63a43902cc74026a786c12a22af67313bc6ac0843b1e638077d64 SHA512 cd0dba1ebdff9692aef0026d94da38ba7856b64004404b75d0d385b8f9f53eed1ddd0e900e49cda60fc5190fe305d96f6f00d0053f4409479ab991fafa90338c +DIST rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 41cad50cdebc0cb4e59f6c914b30b071dd7a70b6278c03a7349eb51a9ec6976fbaeacaea96f13e8ad91a283a3de4f548cf8e352179359f5697520813bc47e274 SHA512 d74a183dba390ea053ee746575788481e3970572e61b7b55acff521c8f4a9da5a3f4e3feff5c3b26162acdc00eed1c4240a4fbdcac3fa117455ac49d8ce62985 +DIST rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz 197028040 BLAKE2B 801526d0fc9cdfc25a63227afdfc1bf9e0e6fa0b80f6306d86b68ca16adf4996b755b6ade1a4e898bfaf25565b5b49a358a9ed364bfe5d67c308744814a843de SHA512 c602dcc7fd1343b310f5e3074bf63f2428ca7c15cdce8999fa4655de5a4bda5a13255fc12bee3d0632f6cb93220a883fb36d24061dca6795d23afa9f8fdae57f +DIST rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B dd94fb91fb6dba9788b178ea74b73c0df78f496d6f57382969836ade9aacda1696f363c4cef8126426040620ef934a2f2681d89d5e3a703d9114d8d152abb6f8 SHA512 40a3f61341ec996650b6e4e8552007b822b7990b2154483a7d7a7dcbae4eb2913d4ffb5319037256ff5931ee01320d1c3ce307aa7c9fd90a782646de4edcd2e9 +DIST rust-1.51.0-i686-unknown-linux-gnu.tar.xz 213348860 BLAKE2B bd6c1d5ce9f20b961e3db8c69b022402acbdf06029e0802863292bcac89b0f88e6e6d02f625be52e8753d772aad8ac01125ff6832072b5d3d41a9ec7bf5c6a6f SHA512 05d08e44827dcba8197667deb9a7f3584465085ce1b79a38deb138849a07c716646a70f1cc2cee02b41c45ec7c3a3b7800a3fae62ebe04d6f72f017a5d722bab +DIST rust-1.51.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c09c5ce8df8834758cf8049872142104023af24f31a2efc97ee201e6b2db56c1b7dd1baccd608ca1f3de416efd162408a01170fff9b7070cac80df32fa30012d SHA512 6aad34b773cfe0ec30f80dacb7482247515ed1e7025a322d22ce7a2b1a6dc49929f71b9c3a6bd05622b70dd8f37fde5cc809ac32c4724b98098630158dddcfdf +DIST rust-1.51.0-mips-unknown-linux-gnu.tar.xz 155944968 BLAKE2B ab9ad78f147b439beec9e92e643cc48814666c5e8fa244981d0919237844006aa2879a4058145d0bdafe89793402e65982d9fd3f0c6253f6a1805bf3381b4caf SHA512 378cfacfc66f1e8a4aeeb3715db9d3cefb4582db8a3b8fc62f05ac50a16db302b250c1696605c17cebe75923010b361b3a9883f7567a26cdcd60fc8379d2d7b3 +DIST rust-1.51.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d072b66f210244c3cb534a040679ee5c5433703fe309a05565a91b4cc8fd50b0e09320067dc48a7255aa0561ca6029fcab3ef4b782f40097a9646c5c77727344 SHA512 c7f1789e577c89397c59e288d2351fdb08bb9626df9d2a4d15c13a1474b67f8474be27d9f8a13fb55c53f9a17e47825b84473f487fa3866a8e30e4141b26aaa6 +DIST rust-1.51.0-mips64-unknown-linux-gnuabi64.tar.xz 161859704 BLAKE2B a60484b7d009633763f10be8affc33715992f6eee5643d147078840675c900be0ff7f9bd985680836dc7d8467d7d118863cb5bed0f85bb135f0e352318946f32 SHA512 e99437a1b79e8821f6c1eaea92a8c5348e6fb4aa1a4fecbfecc950bf71fd7cd58712d336a67e00f95554bb01565f1daa1221699e142e9e673d8ce2cbb8910008 +DIST rust-1.51.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 85aca04845291448d9ec9c5b37f556e890155574982496d8967829b56b3c4caab1aa40c71e007392a05337ca917a70aa107007cf5c73c8eb8fa95bbcb6f7debf SHA512 4ebd8e0bad5c66a12bfb606f6b28aa63430af5e6344ce91d2be958f1f479fad0d5af6a53006999a321cacfea50fc623629f633f95ff747790c2702aa8dfe9c76 +DIST rust-1.51.0-mipsel-unknown-linux-gnu.tar.xz 159164156 BLAKE2B ccccc1e8abf529f9f023cd793dd78c9bfece359a770e03cfae808ac017ae0171ca0dbabb870c5ad57670a9ec562c393d2ffef3490e46423420be6a9a20cc8937 SHA512 31aecea3016e30dd610b610b86ec23f9832061abfbc55c7e43d942d4b0e8e521aecb37306bdb4a810ddcfc4e9d9a6cf057d6802d053ce9abf1cad401b6440d67 +DIST rust-1.51.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e61e17518d7d326f188b84855b771c7bc2d7f23347dfadaf0783b4fcbb7dfd233ed2262c6ffa75b55baee7e83e94b5c47d24b937e540c6a2892b20d320fcefbb SHA512 e0ffb031f600a58a2f7a76b1b26f5453e9de4d4edf6652d75d0cdd92e4495844601d56b521482e172c72b7463ab667ea65e610baa4f68c5f59333dd8f3cf1155 +DIST rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz 167534676 BLAKE2B 5c74ebaf5d5e736bbfb8d963faff6d0fa5725017c738c4a5adf4b4e8c812ff8234b9e03e1a6ba2b6ab718469541e8c398e095ae22f155ccf9290e50ae0595a52 SHA512 9984e464a4e7d18042a8a2d99d26c4436a0ae2b2d281d5c8a42aedb0b78ab5e72f2392ea96e84b2f5892d772d28ee2feb89636f8d1a060a30098faa4e7f259eb +DIST rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c8ee6ea39b19cb160527145aeb32206eef6665df1e2c3ce690a136ead20b8114a5806b209a926da7608ffce94e6d65910b7a282cb353345a83a8e2b589df489f SHA512 886c62e4592568ad7b966f933641236ce59a037b65a00e0bfab6d2d6bb62cf994cdd8e392dd2f51b9c958e4e3c0c3763b9dec6be5a4faf27aac5d8d0a225abe2 +DIST rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz 182726600 BLAKE2B d9051eea2d9486b6b4d858a3f6730210de5aac958853de82b3f822b3e0decd1b8a9a9b371b250ffde9ac19be4ccbe09e58c51a78b7e1fb2dd48e61c8a902e5b5 SHA512 4c1864a81d4c32bd95e0381454beae2a1d5b4cb47196821e64fc261133acfa2fa1e514dd6cdb68551559c4da2a2483edf5c6c14246adbea85c3027f88d401e06 +DIST rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1fe8c5764cb11f722893c7efcfb76d5f17ee80a104ede360fedbc8cd1e2996246e0a770959398a524ae55bdfb075dedb2c2583816bd3de28034dddbf248a54c SHA512 3b7e3f15f5a2a4876175a26d7b4332d4a6847a565d5de4c2cb67c52cf26308215286777ea9d89366543ddd1ce353d6a920153549b6641ffeae8e9954470aecfc +DIST rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz 192084372 BLAKE2B d127c1827956c7594da5b69346168504b22726e176f03172b599e0a0fae2400e273684090f1d0fd05c33f193b3918c98ccd64c3647b0577b51431c3409083b2f SHA512 b53a741d1d75637fb31ddb0364e1f91427c3818ca145f819b906d13c32c638ae77fbaa567a6220b6bf69f38cc00d2b95615778a86f4acadd63efe2e62b1b01ef +DIST rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f79f8e1ad8cb0dbc6e1cb45fab2bd19a03d1939518529841155e7a00d9a42e3eb2539ae424c68af7140399a2b37c6ff5a00c55f0467ce4acf6fd7b1ddf525a63 SHA512 785ab118197d53b5f4512cdb07e6277c9ff58b9e53610dcce1c9f928cac8a20b1fbaaa7acad8cbe4370a3fe6dda5f726e8021e8987688a9ec242f73ed8d12adb +DIST rust-1.51.0-s390x-unknown-linux-gnu.tar.xz 191632144 BLAKE2B d1690825f59e8ed1ed4855556ff36c05efbc941097744e31fd9207309087d53880d418f737aa0cb9371b973c9c3d56f05ed03533df04402242194ef13b8d608d SHA512 a72ad31c6306f939c4f963133ddc0b3fabc9e506bdff5e318f5275658b7271a675a51d208d306d94fb01739cbcf0f62f018fc7490ca6db54b301852202749d16 +DIST rust-1.51.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 355e753ddca453ca36a8c1e4f361e9655bdb54f856a642be3d4024772266ed1771a2673ab1026c64bbf7ac8d1fc30fb1924a939cc3ea290e98b137edb48bbf6a SHA512 89bf145b8e620eac99b0fe4a79ee205a04550c664bba1e22a7611ef37736cca3cb911ac89659126e0c6fa60e4dbfdf0dd54a8693e496d4c37e4f7d3f518e2740 +DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz 147543532 BLAKE2B 44ac97f6b650e65de257b362121091176e02fac60aa534ec83ddbc4e16eb32f7a4a7999cc28eac446f5790572552fee5c2589350cb6d159a946d90007d85c7db SHA512 9f95045119bcd5ef7be54f5b5bdc9ebc6bd6c48437d90762a1cfbc03281882f81087e1877eecae9573ba5e7cd7c11ef5fed979034c57f45b6547cbfeb11eef6d +DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 033c41c165cf50a63479d1352a33abe94a63d9730f02016d09bf2e8a8804587d4fc802c047e7417e0befca2d5df5ca8c79a714ec1c1fb389240b6e8931fb9e9b SHA512 e314a7db9aaff445b67f828bf9a98705032071928e2102524c0c720a3b8feb292b8c6766838b92da2d213e93bf53fb780fc856b0370238fbb7e20431d2de6d5c +DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz 233773068 BLAKE2B cc9de90b967cc81005ce5c897d3fd6dc4e3880be96ac82c41382d19a8aca0244845830db7a33eaef85b6bdef0c00ae02c0390db932fa49f76e362af2c68edb56 SHA512 d8df3c4c3de435629986e21bc6b31edfb73cba394e76cf87ee98d2936f73aef60c988d020da7ec1188f6448eacad9d5aefed073f4f88ffa2eaac54ac7e3cb3f7 +DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2e2c20fe99b33e5361b1945f54b77d5e8acad34d1be9cadfd1971b2882e38bc4403a5a67769a74fdd7ab21434784f03084780ef827e26318168bf5d531f9e9bd SHA512 42392e8283a28d58d4874dbf97caa0377f27c6599c272c715fcdefee48551004d491f0509f2894f5696a2820f11dbb333e3bf878cbdf24b0c58add4a493acecc DIST rustc-1.51.0-src.tar.xz 109596164 BLAKE2B c1ac89655adfe7db8005476d42c748cf1896f52888141229fd6dda43855dbb08c21c8e1f11398d2f1f9dd5f8d508d9158a3bda4f1b282d1b184ea4c701100837 SHA512 ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df -EBUILD rust-1.51.0-r2.ebuild 19348 BLAKE2B b7dc3411ce5a123be2d7a8588ea6974474e4693d70c70d1776253ec790557d0f5cddc295d9028ffedbffa94844adb3d56d0edcfee9c8e8774e642f3eb71d79db SHA512 1e408b940cc91abf0e8e0cbce3c8a2a5f8f1560671807180b75c7a92455f1b8670e3a33ec7c6359d534b809d0fbc75cb8cd6b6a5e2677d39182c02968eb1a02b +DIST rustc-1.51.0-src.tar.xz.asc 801 BLAKE2B dc06d0bc40bcc5ec5ae247495b6975584a80a35480d36d45db4db57872432cc9c3d38238bf68a56386bffc6987f5c491cc75ef21cc7ba9260073c199d7e1791a SHA512 f00d69117e9f38a179219f976230582fc51b494a71519fd3c032a8abdf8d554d659122f671881783f2a49517b79cc4617986447d5972f7ff2467d56fce312c4c +DIST rustc-1.52.0-src.tar.xz 115114564 BLAKE2B 47270ff677af5d3f58b4d5dbc3bd981326f3e40689fd427508d2c1b13b6e6bbbba1c645a82cd7f783caf876d4405302b236f70e158fda2ecd215da4aba36292b SHA512 27e18e5f33b67b85eeda1a747846b4839e3891265b4a9356861a1ed628e84ff723be0df470a6f21e7a1e893f348c38a4df5d1c541640a2699e015bdb622cae83 +DIST rustc-1.52.0-src.tar.xz.asc 801 BLAKE2B 785a1f037e116df3010eb77ce6cd0ef187a2f0caadd91cdd0bacfde435e9864fb1d3cfe8117ce7b6e35869a830e17ff5673c517393ed42e0d110d4c28c15d005 SHA512 56809ca28eb640b606753aef7a335362c592cb405fca7bdba74ff08616e8a72cd8247bd7318217d644d68c7030c45369b5ca186a1cba4fcb48aa6efff002a67f +EBUILD rust-1.51.0-r2.ebuild 19778 BLAKE2B 18c54ae6fb290f4774edab91fd279746ad7f3c5a6928d9cc8924cf6f8f15c1b9e369659401610a29b48bc0a689303282ffc649c0c4490a892f7720743c85243c SHA512 6bc80c4a17ced13cdd6c541898951767fad2e1fb8ee5ae2b91f68fbb1bd8afbcfaba8b319c96bbce75a9c4918c22ef9361c6e6bc5da8e3e04d19ebcdecfbc17c +EBUILD rust-1.52.0.ebuild 19755 BLAKE2B 86e3e6028ae0dacde0cee1120837dd83d7d9f7b453f2b2a9153581d8ebd14deeda943774bac3873a73a8999f3b0f6059c78c18934dd1cdf097ace00118554f21 SHA512 24c5ce7871e108f1bc18c3c0d11ce609bd69d4a4d149fd1ede47686af4dfa27dc19d2405eb277348129d3aa33dab79dc86d986ef80297a247ea54a5e392555d3 MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4 diff --git a/dev-lang/rust/files/1.51.0-slow-doc-install.patch b/dev-lang/rust/files/1.51.0-slow-doc-install.patch new file mode 100644 index 000000000000..4aa7a714795f --- /dev/null +++ b/dev-lang/rust/files/1.51.0-slow-doc-install.patch @@ -0,0 +1,92 @@ +From 6dfd700c595a8853fd58349c38c4768b922a2e85 Mon Sep 17 00:00:00 2001 +From: Anders Kaseorg <andersk@mit.edu> +Date: Sat, 17 Apr 2021 22:20:36 -0700 +Subject: [PATCH] bootstrap: Restore missing --bulk-dirs for rust-docs, + rustc-docs + +The --bulk-dirs argument was removed for rust-docs in commit +c768ce138427b1844c1f6594daba9c0e33928032 and rustc-docs in commit +8ca46fc7a83734c9622f11f25d16b82316f44bcc (#79788), presumably by +mistake; that slowed down installation of rust-docs from under a +second to some twenty *minutes*. Restoring --bulk-dirs reverses this +slowdown. + +Fixes #80684. + +Signed-off-by: Anders Kaseorg <andersk@mit.edu> +--- + src/bootstrap/dist.rs | 4 ++-- + src/bootstrap/tarball.rs | 17 +++++++++++++++++ + 2 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs +index 38ebe0e52083d..aee3c8324bc11 100644 +--- a/src/bootstrap/dist.rs ++++ b/src/bootstrap/dist.rs +@@ -74,7 +74,7 @@ impl Step for Docs { + + let mut tarball = Tarball::new(builder, "rust-docs", &host.triple); + tarball.set_product_name("Rust Documentation"); +- tarball.add_dir(&builder.doc_out(host), dest); ++ tarball.add_bulk_dir(&builder.doc_out(host), dest); + tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644); + Some(tarball.generate()) + } +@@ -107,7 +107,7 @@ impl Step for RustcDocs { + + let mut tarball = Tarball::new(builder, "rustc-docs", &host.triple); + tarball.set_product_name("Rustc Documentation"); +- tarball.add_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc"); ++ tarball.add_bulk_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc"); + Some(tarball.generate()) + } + } +diff --git a/src/bootstrap/tarball.rs b/src/bootstrap/tarball.rs +index b02d7e062a524..9ff5c2327e0f7 100644 +--- a/src/bootstrap/tarball.rs ++++ b/src/bootstrap/tarball.rs +@@ -99,6 +99,7 @@ pub(crate) struct Tarball<'a> { + temp_dir: PathBuf, + image_dir: PathBuf, + overlay_dir: PathBuf, ++ bulk_dirs: Vec<PathBuf>, + + include_target_in_component_name: bool, + is_preview: bool, +@@ -137,6 +138,7 @@ impl<'a> Tarball<'a> { + temp_dir, + image_dir, + overlay_dir, ++ bulk_dirs: Vec::new(), + + include_target_in_component_name: false, + is_preview: false, +@@ -201,6 +203,11 @@ impl<'a> Tarball<'a> { + self.builder.cp_r(src.as_ref(), &dest); + } + ++ pub(crate) fn add_bulk_dir(&mut self, src: impl AsRef<Path>, dest: impl AsRef<Path>) { ++ self.bulk_dirs.push(dest.as_ref().to_path_buf()); ++ self.add_dir(src, dest); ++ } ++ + pub(crate) fn generate(self) -> GeneratedTarball { + let mut component_name = self.component.clone(); + if self.is_preview { +@@ -221,6 +228,16 @@ impl<'a> Tarball<'a> { + .arg("--image-dir") + .arg(&this.image_dir) + .arg(format!("--component-name={}", &component_name)); ++ ++ if let Some((dir, dirs)) = this.bulk_dirs.split_first() { ++ let mut arg = dir.as_os_str().to_os_string(); ++ for dir in dirs { ++ arg.push(","); ++ arg.push(dir); ++ } ++ cmd.arg("--bulk-dirs").arg(&arg); ++ } ++ + this.non_bare_args(cmd); + }) + } diff --git a/dev-lang/rust/rust-1.51.0-r2.ebuild b/dev-lang/rust/rust-1.51.0-r2.ebuild index 66e329742038..926ebd4628c4 100644 --- a/dev-lang/rust/rust-1.51.0-r2.ebuild +++ b/dev-lang/rust/rust-1.51.0-r2.ebuild @@ -5,7 +5,8 @@ EAPI=7 PYTHON_COMPAT=( python3_{7..9} ) -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ + multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -28,6 +29,7 @@ HOMEPAGE="https://www.rust-lang.org/" SRC_URI=" https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) " @@ -93,6 +95,7 @@ BDEPEND="${PYTHON_DEPS} dev-util/ninja ) test? ( sys-devel/gdb ) + verify-sig? ( app-crypt/openpgp-keys-rust ) " DEPEND=" @@ -138,10 +141,13 @@ QA_SONAME=" # causes double bootstrap RESTRICT="test" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + PATCHES=( "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch "${FILESDIR}"/1.51.0-bootstrap-panic.patch + "${FILESDIR}"/1.51.0-slow-doc-install.patch "${FILESDIR}"/rustc-1.51.0-backport-pr81728.patch "${FILESDIR}"/rustc-1.51.0-backport-pr81741.patch "${FILESDIR}"/rustc-1.51.0-backport-pr82289.patch @@ -463,8 +469,15 @@ src_configure() { done fi # I_KNOW_WHAT_I_AM_DOING_CROSS - einfo "Rust configured with the following settings:" + einfo "Rust configured with the following flags:" + + echo "RUSTFLAGS=\"${RUSTFLAGS:-}\"" + echo "RUSTFLAGS_BOOTSTRAP=\"${RUSTFLAGS_BOOTSTRAP:-}\"" + echo "RUSTFLAGS_NOT_BOOTSTRAP=\"${RUSTFLAGS_NOT_BOOTSTRAP:-}\"" + echo + einfo "config.toml contents:" cat "${S}"/config.toml || die + echo } src_compile() { diff --git a/dev-lang/rust/rust-1.52.0.ebuild b/dev-lang/rust/rust-1.52.0.ebuild new file mode 100644 index 000000000000..1e678c766584 --- /dev/null +++ b/dev-lang/rust/rust-1.52.0.ebuild @@ -0,0 +1,662 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ + multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# List all the working slots in LLVM_VALID_SLOTS, newest first. +LLVM_VALID_SLOTS=( 12 ) +LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" + +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +# (-) usedep needed because we may build with older llvm without that target +LLVM_DEPEND="|| ( " +for _s in ${LLVM_VALID_SLOTS[@]}; do + LLVM_DEPEND+=" ( " + for _x in ${ALL_LLVM_TARGETS[@]}; do + LLVM_DEPEND+=" + ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" + done + LLVM_DEPEND+=" )" +done +unset _s _x +LLVM_DEPEND+=" ) + <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= + wasm? ( sys-devel/lld ) +" + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-bin-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-$(ver_cut 1).$(ver_cut 2)* + =dev-lang/rust-bin-$(ver_cut 1).$(ver_cut 2)* + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + dev-util/cmake + dev-util/ninja + ) + test? ( sys-devel/gdb ) + verify-sig? ( app-crypt/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + elibc_musl? ( sys-libs/libunwind:= ) + system-llvm? ( ${LLVM_DEPEND} ) +" + +# we need to block older versions due to layout changes. +RDEPEND="${DEPEND} + app-eselect/eselect-rust + !<dev-lang/rust-1.47.0-r1 + !<dev-lang/rust-bin-1.47.0-r1 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warnings +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +PATCHES=( + "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch + "${FILESDIR}"/1.51.0-slow-doc-install.patch +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "${1}" true false +} + +boostrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.5 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rls 512 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && boostrap_rust_version_check + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm32_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + rust_target="$(rust_abi)" + + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + compression-formats = ["gz"] + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + cat <<- _EOF_ >> "${S}"/config.env + CFLAGS_${rust_target}=${arch_cflags} + _EOF_ + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + _EOF_ + # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ar = "${cross_toolchain}-ar" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo "RUSTFLAGS=\"${RUSTFLAGS:-}\"" + echo "RUSTFLAGS_BOOTSTRAP=\"${RUSTFLAGS_BOOTSTRAP:-}\"" + echo "RUSTFLAGS_NOT_BOOTSTRAP=\"${RUSTFLAGS_NOT_BOOTSTRAP:-}\"" + cat "${S}"/config.env || die + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + # we need \n IFS to have config.env with spaces loaded properly. #734018 + ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + ) +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + ) + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + ( + IFS=$'\n' + env $(cat "${S}"/config.env) DESTDIR="${D}" \ + "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + ) + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rls && symlinks+=( rls ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update + + if has_version sys-devel/gdb || has_version dev-util/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} |