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/, dev-lang/rust/files/
Date: Fri, 31 Jul 2020 09:34:20
Message-Id: 1596187915.f13d4904b66a6209c43370915fe181ffffad6884.gyakovlev@gentoo
1 commit: f13d4904b66a6209c43370915fe181ffffad6884
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 31 09:31:55 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 31 09:31:55 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f13d4904
7
8 dev-lang/rust: drop old
9
10 Package-Manager: Portage-3.0.1, Repoman-2.3.23
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 dev-lang/rust/Manifest | 45 ---
14 dev-lang/rust/files/1.40.0-add-soname.patch | 36 --
15 dev-lang/rust/files/1.42.0-fix-bootstrap.patch | 440 -------------------------
16 dev-lang/rust/files/1.42.0-libressl.patch | 44 ---
17 dev-lang/rust/files/1.43.0-llvm10.patch | 194 -----------
18 dev-lang/rust/files/llvm-gcc10.patch | 34 --
19 dev-lang/rust/rust-1.41.1.ebuild | 370 ---------------------
20 dev-lang/rust/rust-1.42.0.ebuild | 385 ----------------------
21 dev-lang/rust/rust-1.43.1.ebuild | 419 -----------------------
22 9 files changed, 1967 deletions(-)
23
24 diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
25 index a212b99c9c1..850e643071c 100644
26 --- a/dev-lang/rust/Manifest
27 +++ b/dev-lang/rust/Manifest
28 @@ -1,45 +1,3 @@
29 -DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f
30 -DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94
31 -DIST rust-1.40.0-arm-unknown-linux-gnueabihf.tar.xz 82518972 BLAKE2B 2861693efa9bbd54e09bd693886941ec13b09f1901d384f24534b2852f9cb3b59fa0eaac1ec16bc6df49437cf08a09eff6c649729b0b8c2b4d8def6d7111d229 SHA512 994a91704e65e126bf3d53aa5ccbf9f92f05495a68db1917754f8bf078f16b0255797c884b4f2c70033ae0c94d5f41ad73e1af2e963580ebf56c90a6bf76630a
32 -DIST rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz 84254100 BLAKE2B 5ec75764435f5b906ed5ac84c6454a8fade0d71a9f9d2b3c799525ebf1e1a6e208e85dffe125e3de163d94a62693241a6ed59651955942edc8cdfad5c354a23d SHA512 d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492
33 -DIST rust-1.40.0-i686-unknown-linux-gnu.tar.xz 122168896 BLAKE2B c89278bd7af7d167251c122297b4a8045da94951aaba5288a3a47b7d4f7af2af2e5ae672388f5c6192382e800151ad54cb2fc9a4fd66fde3acb8acb877aaa27b SHA512 d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6
34 -DIST rust-1.40.0-mips-unknown-linux-gnu.tar.xz 74305992 BLAKE2B cf51e3d843a32a3025232d1bc4374c55d3931d8b8634aed83f3f5e890081d7ed2a09d0aa3f026936d5e2f91fd26b56be704cf2975678db5fa23cf57c34277a89 SHA512 995b875dcbbd8472e3109504e695bf15eca812ea252e5ff1a615fb1c5dd3b66fe637fa4c30618b1584af4b641d4b4d5a4d7e1b6a09cb0ca4ff8fdd8a3488a255
35 -DIST rust-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz 80925812 BLAKE2B a77123767639e93531fdf30af711a8dafd91c4143e7774edf88a9f513fd6fc928f3c96656ce4d0ede54677077c8eb383d5c37bee6881fd0796fe47257a16d753 SHA512 ebbb01c033c16dd9fe93ce0a532afa39b1459b056896c906f9e561285977e7c569e770c7e624e485cd8014008c9d496dae893921bbc1342c3e2b6520c9b84440
36 -DIST rust-1.40.0-mipsel-unknown-linux-gnu.tar.xz 76145484 BLAKE2B e06cfc8ac8d6124c4eb7c004c9e792c6ba21de5621d21456a7e47f1cd67f584d480708ddb098d882005953db818da27e396c9409c1e089d7db42844608ba1fe8 SHA512 4d4b52397574cfcbf8e79d71cbf783119b0096ed6d8b1f1a4c191336ac0e616b682342077f3451db477e0271a5ac453ee418314c071e8f922e790eb0e32ae768
37 -DIST rust-1.40.0-powerpc-unknown-linux-gnu.tar.xz 82846452 BLAKE2B e82e117b0592278b491399f27de4c26b518bf8f7cbb60125fc3ae36ddb033113324222ac7433ac9b02026efe4be477ec9967c55648121869a36ce833c3600afd SHA512 4d71bbf1b29f9ea649f444bafbaa8d6447026d992c264736b50365736c9e2129d28f23e09260aa21be10562727a5f6b298ddaf8f7598b4bad53d65cdd2f9e9f0
38 -DIST rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz 85231436 BLAKE2B b307d794e9e849d40a98116851950f76576b5ea6bb159c71830bb4210c40d5b6cc37d67d316d1b289735f83a29393699a49dd0c11cafe8191a64de6384ed69af SHA512 eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce
39 -DIST rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz 87972788 BLAKE2B ad1e460dbd7ee5dbe90bf84a68fbcdd89f3d7a1a898ccd94827327bbb2bfeafeb66d5c50651183e0d429f8d14a41e4e26b8f7cae2ff61b055eddcb2c0fa6aecd SHA512 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f
40 -DIST rust-1.40.0-s390x-unknown-linux-gnu.tar.xz 95398844 BLAKE2B e897ac3e1f46a63c7ad14e0e5229b7028ac325256e084439bcad0ced631eb26d50ca72710c46e59accb0e3d0574d08a9c15455be59a8d78173387d35ddd3bed7 SHA512 e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14
41 -DIST rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz 110186516 BLAKE2B ad89d8cecbd565b23c98ec095bad218de971cb4bb89924bbcb012df6c9ecf0db2b50d624abdf6b050fe1f5067aea9311dc01852950a5ca5e993e99f913fc5dbc SHA512 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1
42 -DIST rust-1.40.0-x86_64-unknown-linux-musl.tar.xz 96869284 BLAKE2B 61cdf2eab51455e377e079e7013959ee51358c9846f8442f81a3240062af573f452a0f5f007e63cbbcdd0db98ac22ab0d4f3006f6ef30327b609d303410cba8c SHA512 3e6d7cf7b24c09d13266e06f20ab317c5ffb68de3242719c71e95c3d778269c4076e06badfb488e8fc223b822246ebbeb888d4168ddf6e2401793e23e77810bb
43 -DIST rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz 96755608 BLAKE2B f8635737089bb028cfac6d6478c4226a78c2c8a8aa12f28cba267744e2e915e062f49edb505f26b6deaeca0d2fdb4ec4b83e791f87bf1eab6c0536dc41e2c641 SHA512 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e
44 -DIST rust-1.41.1-arm-unknown-linux-gnueabi.tar.xz 98856136 BLAKE2B dbb3996a9ae302290886bf1cd4642d99a9b3f883f9d39817bb15f105565147e416e23d19e0d08314b08ed441f1ac528c20d8bee27ccef68cb585d8ef64a19e45 SHA512 1b01acd430af3cf99d838aa367dec4f6e4bfcec91388d4a2323cd781d53246edae0f14687b087b73b87c349f243e3acabe193538ce31303f07d59c6a03c31565
45 -DIST rust-1.41.1-arm-unknown-linux-gnueabihf.tar.xz 99107336 BLAKE2B 0dd84e7ad6081b8fdcfcb2691496ed3a493e08db4757e6d3bb2aa9a36fc6f020772a84bc21d0c60efeecf635512f25737b8d6b49a53020c4045c89c5b89881d7 SHA512 462e6d354a4b3b848781bb059decc5eb1ebb4d8a31651623d076a2654e2c8fd02f0f87ddafb124efa40cb134c9438eb252035c2b5bfdf936881b14a23bfbfe9f
46 -DIST rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz 103399676 BLAKE2B da35342be05e58c11e6f96ab566b6a2f334d6975d4251deb2f41069d4a549ebf58aba43e1f07b99dedf0426ab0a8e8616b32799ca54a5f601d70910deca3efaf SHA512 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2
47 -DIST rust-1.41.1-i686-unknown-linux-gnu.tar.xz 120834812 BLAKE2B 4615eeb7c63392f66487243743fc57677654e232c786f9f970a9be9996dcb08e265631f6764e09e0444f8bb767b9c76366a26fe8fca9dcc149c81df5c2a3dd18 SHA512 c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af
48 -DIST rust-1.41.1-mips-unknown-linux-gnu.tar.xz 92620720 BLAKE2B dff1be71d459e0256a19fb88f324e59cbf2e10fda693157802a63a08329c7dd4feca4b260510b3a1d6afb4afc9ed9dc549b741f598f3aedf50a982810d0bd140 SHA512 4fdca72b98a4fd25a2ddf33e0f31d9549c39fae9dfad6f1648556f144f82cfb2a487f6777d61476ad18bb0a0ac63810b99bb09a18719ec5344e89fccb16ac693
49 -DIST rust-1.41.1-mips64-unknown-linux-gnuabi64.tar.xz 96215100 BLAKE2B c52d564010d56df01bac6b2f447d56c00855c52ed8ebe6a2ac1b7786e8c73a1d529be7e7d5a4f7b427892494782aadcc4c8cc54157287d43f58938b0a57486c6 SHA512 2ed84ade11c6f4961e83e06a61d998a7abc9165cc384cc69470658e8244dc399e30c3f983a9f11b0bf88032d855bc47fe6d71f5db95cc7168e6f810c69095633
50 -DIST rust-1.41.1-mipsel-unknown-linux-gnu.tar.xz 93365592 BLAKE2B cd0d16f99a0976076530fa601f9bfeb61e1204bc278f78db015bc8d1629ce8f19da61a12573fdf9cf0d3d29e56f6915338aeaea3ef4d9b374eeb4095189fe71c SHA512 a0b7cc55ffeb0911d1d82d93cf2f4ea2a683ee76a783952b2f42c0b3c3d02b2bfc7df6f5762af91e6d02963e22a08ba26f143f594dfd6d41ad8198f7e8a862c0
51 -DIST rust-1.41.1-powerpc-unknown-linux-gnu.tar.xz 98530136 BLAKE2B 41399fcc9f1d88cc5a6fe0651012e4ebd1addde428c22611c30918a09ddad3640fb326bf48f94e5d12a610d2709eecf95c5d023f10bc6636eb6de1808a104e48 SHA512 545b2a4459bbfa7049755cbb63ad6e2917bf03cb9568eccbf3b01ea8f846263fbdc97ad29b42c440fa92dd9737b398196c1cdaf96c9716bba2f9e1d4a3a20125
52 -DIST rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz 104058752 BLAKE2B 10b3e3e4970fc05952f83e80e7d133d308045bdd3342199e885d2e6add113ada7959a93010046f48b1fedfe85f0346793fc54e0bf0c55d096f82622e198a928c SHA512 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995
53 -DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92ea9599314d12c5f9d0b654b523ceb8f40cc779cdbc2d50b4b07e0a37cd42d34000f0ace9c19154a1bd17110c097e30ee2b617f3a29de4966bb9303301 SHA512 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede
54 -DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
55 -DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
56 -DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
57 -DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13
58 -DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0
59 -DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf
60 -DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59
61 -DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057
62 -DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d
63 -DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2
64 -DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528
65 -DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a
66 -DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404
67 -DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219
68 -DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
69 -DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
70 -DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
71 DIST rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz 104148868 BLAKE2B ac5db9eb58c502253d001e0c93aef867bc584d045960a1d3c2caf6772a7c1f4fbad7da579d7c72b3376804f61f1332a54e9fc7099ba5f4a65f7e5435df28894a SHA512 b54fad5493344d2370bd77110f0ffb0231f41ab8aa9707e9303304957c5d9067dc83089432eb175605b78dc771dfcf7abfcce63d7fecdbb759dd224c17d12da0
72 DIST rust-1.43.1-arm-unknown-linux-gnueabi.tar.xz 104779424 BLAKE2B 63c05d7403970bd4a237a6b690bcb8e78f310816a953af43da8d258a74102cd560c8674656c2036b1f391dc964ba6d2be2736bc10686c2365cc332b5c76a5502 SHA512 ea2eae6da6c757c07cf9631c706365c743c58f28b514444763ea70fed4c8fcefc5c36d55136afffc2f5e0d25e9b1fdf3243cb9def7e0f57e37b5a4783d44a61b
73 DIST rust-1.43.1-arm-unknown-linux-gnueabihf.tar.xz 103569032 BLAKE2B fc94eeb777a72fcb1b2821b5d10bb9eaca535d76e8caee3d06aed989107460e00146516c5be5714e9739c49d5170809fc132624f9a035afba146db883346c57a SHA512 1c523dafceb29f916a192261f673048c8f781453bcee237e0e333d694d7d7b71735544906f2edea9e0a8a48fc66a478645ae8ae865a171f4f9a94f0d8e6800c1
74 @@ -68,9 +26,6 @@ DIST rust-1.44.1-powerpc64le-unknown-linux-gnu.tar.xz 112429740 BLAKE2B 10252623
75 DIST rust-1.44.1-s390x-unknown-linux-gnu.tar.xz 119312728 BLAKE2B f5e3209990d3cc0181a200448e4bcbf1f6754847cfc36d7355e191fd49e239d3e0c002310743fd063241c5dec47da3a0776c361241facbcc4a1f1e9254eb805d SHA512 84c6ed736bb7d0c10aaceeb2c2c3c97f6188fd7d7f4466c8ef35ffc591d6bde3b273a0d62d50e60f184ccd81c96a31ed2e610e82fb9ed9efd574e4c5a5f25d26
76 DIST rust-1.44.1-x86_64-unknown-linux-gnu.tar.xz 112133992 BLAKE2B c0af6bf1417bbb69be9f552f60805eb0a5f530b667ca2bbd04db9d567f1eb467a9e72912062a3c22d3922c29809258637dd7568c29e461dbeb5d17aa0699dd45 SHA512 540761fd5246f4a48a7606ac0220f0d61963473b57ef703696871dc23fda8154d45351b8e81018d15899c386b44e43b05028cc797d495e9dc46f127fbea7f093
77 DIST rust-1.44.1-x86_64-unknown-linux-musl.tar.xz 117456616 BLAKE2B fd2752cf867e1ff701e624caf602fe7a29b47c64e633508e91da1a1b2321f5531441b84cc9f0ad159ef399d38628d60e59f8b7a99e5427df928abceb24f937f2 SHA512 05ca3e07001746511c5fcb5122f487205ffaee771805b0219db018b350d67945f5ab4b0b2cf98b7e7832b53365e3932fef37506a65ecaaf624d0bb8d43cf8427
78 -DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9
79 -DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16
80 -DIST rustc-1.43.1-src.tar.xz 94405276 BLAKE2B 8679fe937abc4f758f3e35c2542d57cc1ad0bb72111597881873b30779b6e7b6711baa52493cb5ff954bf9cd31367b36db4e4fc8676635026059197a33659048 SHA512 24bb01237b1f3f5412109290bb4406b9742cf8956162f4090a98ed3a59a6e2e8dda399452bec1c93c8afdcf5effd98e4825e7f218238e0e88735c1ff4a5b385f
81 DIST rustc-1.44.1-src.tar.xz 94756856 BLAKE2B 60f536c3ba0fa1fec4b6333ee57809ee5226090ad5041c14a136b4356ff3b898062e06c3fe54effe873e27931ac8fcb902cd48a38615a8de7eebc6ecb3bdc2bd SHA512 1c17002edae844a710db9b144c17171416330dc565343c65af8a6e112fb61555e2025bb4cf33cac1229d7df689e6ff8858b91ae00552400ccacafaf1de11849b
82 DIST rustc-1.45.0-src.tar.xz 98677856 BLAKE2B 2558ba9444a53268de4f1604f13e701077a27e9480c97732a30706d656682672c17f87d8c015da3b839ed3b38081ef8d132bbab3522911bf9b50f018367e6ec7 SHA512 ff049eb65b36e6c64531d56251ebd446336a782f26504eccf375df1c22fa94b5f18e84660cef423edb815c1b31a1a7c9e57aea4aa0779576f3b0d7e81e19427b
83 DIST rustc-1.45.1-src.tar.xz 98686408 BLAKE2B 49eec97cccc9932915877cf28cc6b27b8008d5fecc2c6255d8974d9ee52375b95933d0052fad23ed2e60f4f08fcc305e1ca47239e8f5adaa8a3acb62eb2c1e14 SHA512 ef71a1706c84fa8557f481d310033285a41ecd9b8d537bacb846d01ed9954b679b915272db57cd96d5ee097cc0134899e584d517c467a9d2949496312e5995df
84
85 diff --git a/dev-lang/rust/files/1.40.0-add-soname.patch b/dev-lang/rust/files/1.40.0-add-soname.patch
86 deleted file mode 100644
87 index 7a5c0189c68..00000000000
88 --- a/dev-lang/rust/files/1.40.0-add-soname.patch
89 +++ /dev/null
90 @@ -1,36 +0,0 @@
91 -Description: Set DT_SONAME when building dylibs
92 - In Rust, library filenames include a version-specific hash to help
93 - the run-time linker find the correct version. Unlike in C/C++, the
94 - compiler looks for all libraries matching a glob that ignores the
95 - hash and reads embedded metadata to work out versions, etc.
96 - .
97 - The upshot is that there is no need for the usual "libfoo.so ->
98 - libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
99 - and no need to communicate an alternate filename to use at run-time
100 - vs compile time. If linking to a Rust dylib from C/C++ however, a
101 - "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
102 - this case DT_SONAME=libfoo-$hash.so would be required. More
103 - mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
104 - find DT_SONAME on shared libraries in public directories.
105 - .
106 - This patch passes -Wl,-soname=$outfile when building dylibs (and
107 - using a GNU linker).
108 -Author: Angus Lees <gus@××××××.org>
109 -Forwarded: no
110 -
111 ---- a/src/librustc_codegen_ssa/back/link.rs
112 -+++ b/src/librustc_codegen_ssa/back/link.rs
113 -@@ -1034,6 +1034,13 @@
114 - cmd.args(&rpath::get_rpath_flags(&mut rpath_config));
115 - }
116 -
117 -+ if (crate_type == config::CrateType::Dylib || crate_type == config::CrateType::Cdylib)
118 -+ && t.options.linker_is_gnu {
119 -+ let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap());
120 -+ let soname = [String::from("-Wl,-soname=") + &filename];
121 -+ cmd.args(&soname);
122 -+ }
123 -+
124 - // Finally add all the linker arguments provided on the command line along
125 - // with any #[link_args] attributes found inside the crate
126 - if let Some(ref args) = sess.opts.cg.link_args {
127
128 diff --git a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch b/dev-lang/rust/files/1.42.0-fix-bootstrap.patch
129 deleted file mode 100644
130 index 16e4e6dce1c..00000000000
131 --- a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch
132 +++ /dev/null
133 @@ -1,440 +0,0 @@
134 -From 5f979e9afab42dd7536ca93994de66169880361e Mon Sep 17 00:00:00 2001
135 -From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= <matthias.krueger@××××××.de>
136 -Date: Mon, 3 Feb 2020 20:13:30 +0100
137 -Subject: [PATCH] bootstrap: fix clippy warnings
138 -
139 ----
140 - src/bootstrap/bin/rustc.rs | 6 +++---
141 - src/bootstrap/bin/rustdoc.rs | 2 +-
142 - src/bootstrap/builder.rs | 24 ++++++++----------------
143 - src/bootstrap/builder/tests.rs | 1 -
144 - src/bootstrap/compile.rs | 20 ++++++++++----------
145 - src/bootstrap/config.rs | 7 +++----
146 - src/bootstrap/dist.rs | 4 ++--
147 - src/bootstrap/doc.rs | 2 +-
148 - src/bootstrap/flags.rs | 2 +-
149 - src/bootstrap/install.rs | 5 ++---
150 - src/bootstrap/lib.rs | 6 +++---
151 - src/bootstrap/metadata.rs | 1 -
152 - src/bootstrap/native.rs | 4 +---
153 - src/bootstrap/test.rs | 9 +++------
154 - src/bootstrap/tool.rs | 2 +-
155 - src/bootstrap/toolstate.rs | 2 +-
156 - src/bootstrap/util.rs | 2 +-
157 - 17 files changed, 41 insertions(+), 58 deletions(-)
158 -
159 -diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
160 -index a34ec44566bc..a8c00c8c3ca8 100644
161 ---- a/src/bootstrap/bin/rustc.rs
162 -+++ b/src/bootstrap/bin/rustc.rs
163 -@@ -47,7 +47,7 @@ fn main() {
164 - };
165 - let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set");
166 - let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set");
167 -- let on_fail = env::var_os("RUSTC_ON_FAIL").map(|of| Command::new(of));
168 -+ let on_fail = env::var_os("RUSTC_ON_FAIL").map(Command::new);
169 -
170 - let rustc = env::var_os(rustc).unwrap_or_else(|| panic!("{:?} was not set", rustc));
171 - let libdir = env::var_os(libdir).unwrap_or_else(|| panic!("{:?} was not set", libdir));
172 -@@ -64,7 +64,7 @@ fn main() {
173 - if let Some(crate_name) = crate_name {
174 - if let Some(target) = env::var_os("RUSTC_TIME") {
175 - if target == "all"
176 -- || target.into_string().unwrap().split(",").any(|c| c.trim() == crate_name)
177 -+ || target.into_string().unwrap().split(',').any(|c| c.trim() == crate_name)
178 - {
179 - cmd.arg("-Ztime");
180 - }
181 -@@ -189,7 +189,7 @@ fn main() {
182 - crate_name,
183 - is_test,
184 - dur.as_secs(),
185 -- dur.subsec_nanos() / 1_000_000
186 -+ dur.subsec_millis()
187 - );
188 -
189 - match status.code() {
190 -diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
191 -index 8c8b33a4e4e0..04345867bf5c 100644
192 ---- a/src/bootstrap/bin/rustdoc.rs
193 -+++ b/src/bootstrap/bin/rustdoc.rs
194 -@@ -61,7 +61,7 @@ fn main() {
195 - }
196 -
197 - // Needed to be able to run all rustdoc tests.
198 -- if let Some(_) = env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES") {
199 -+ if env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES").is_some() {
200 - // This "unstable-options" can be removed when `--generate-redirect-pages` is stabilized
201 - if !has_unstable {
202 - cmd.arg("-Z").arg("unstable-options");
203 -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
204 -index d9c894aa9c6b..18f6fda76084 100644
205 ---- a/src/bootstrap/builder.rs
206 -+++ b/src/bootstrap/builder.rs
207 -@@ -510,7 +510,7 @@ impl<'a> Builder<'a> {
208 - Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(),
209 - };
210 -
211 -- let builder = Builder {
212 -+ Builder {
213 - build,
214 - top_stage: build.config.stage.unwrap_or(2),
215 - kind,
216 -@@ -518,9 +518,7 @@ impl<'a> Builder<'a> {
217 - stack: RefCell::new(Vec::new()),
218 - time_spent_on_dependencies: Cell::new(Duration::new(0, 0)),
219 - paths: paths.to_owned(),
220 -- };
221 --
222 -- builder
223 -+ }
224 - }
225 -
226 - pub fn execute_cli(&self) {
227 -@@ -753,13 +751,12 @@ impl<'a> Builder<'a> {
228 - cargo.env("RUST_CHECK", "1");
229 - }
230 -
231 -- let stage;
232 -- if compiler.stage == 0 && self.local_rebuild {
233 -+ let stage = if compiler.stage == 0 && self.local_rebuild {
234 - // Assume the local-rebuild rustc already has stage1 features.
235 -- stage = 1;
236 -+ 1
237 - } else {
238 -- stage = compiler.stage;
239 -- }
240 -+ compiler.stage
241 -+ };
242 -
243 - let mut rustflags = Rustflags::new(&target);
244 - if stage != 0 {
245 -@@ -1252,12 +1249,7 @@ impl<'a> Builder<'a> {
246 - };
247 -
248 - if self.config.print_step_timings && dur > Duration::from_millis(100) {
249 -- println!(
250 -- "[TIMING] {:?} -- {}.{:03}",
251 -- step,
252 -- dur.as_secs(),
253 -- dur.subsec_nanos() / 1_000_000
254 -- );
255 -+ println!("[TIMING] {:?} -- {}.{:03}", step, dur.as_secs(), dur.subsec_millis());
256 - }
257 -
258 - {
259 -@@ -1302,7 +1294,7 @@ impl Rustflags {
260 -
261 - fn arg(&mut self, arg: &str) -> &mut Self {
262 - assert_eq!(arg.split_whitespace().count(), 1);
263 -- if self.0.len() > 0 {
264 -+ if !self.0.is_empty() {
265 - self.0.push_str(" ");
266 - }
267 - self.0.push_str(arg);
268 -diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs
269 -index 5fefb972866a..cca8ab80c93b 100644
270 ---- a/src/bootstrap/builder/tests.rs
271 -+++ b/src/bootstrap/builder/tests.rs
272 -@@ -19,7 +19,6 @@ fn configure(host: &[&str], target: &[&str]) -> Config {
273 - config.out = dir;
274 - config.build = INTERNER.intern_str("A");
275 - config.hosts = vec![config.build]
276 -- .clone()
277 - .into_iter()
278 - .chain(host.iter().map(|s| INTERNER.intern_str(s)))
279 - .collect::<Vec<_>>();
280 -diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
281 -index eced03506ab9..7dded96e18ef 100644
282 ---- a/src/bootstrap/compile.rs
283 -+++ b/src/bootstrap/compile.rs
284 -@@ -18,7 +18,6 @@ use std::str;
285 - use build_helper::{output, t, up_to_date};
286 - use filetime::FileTime;
287 - use serde::Deserialize;
288 --use serde_json;
289 -
290 - use crate::builder::Cargo;
291 - use crate::dist;
292 -@@ -149,7 +148,8 @@ fn copy_third_party_objects(
293 - // which is provided by std for this target.
294 - if target == "x86_64-fortanix-unknown-sgx" {
295 - let src_path_env = "X86_FORTANIX_SGX_LIBS";
296 -- let src = env::var(src_path_env).expect(&format!("{} not found in env", src_path_env));
297 -+ let src =
298 -+ env::var(src_path_env).unwrap_or_else(|_| panic!("{} not found in env", src_path_env));
299 - copy_and_stamp(Path::new(&src), "libunwind.a");
300 - }
301 -
302 -@@ -361,7 +361,7 @@ impl Step for StartupObjects {
303 - );
304 - }
305 -
306 -- let target = sysroot_dir.join(file.to_string() + ".o");
307 -+ let target = sysroot_dir.join((*file).to_string() + ".o");
308 - builder.copy(dst_file, &target);
309 - target_deps.push(target);
310 - }
311 -@@ -515,7 +515,7 @@ pub fn rustc_cargo_env(builder: &Builder<'_>, cargo: &mut Cargo, target: Interne
312 - .env("CFG_VERSION", builder.rust_version())
313 - .env("CFG_PREFIX", builder.config.prefix.clone().unwrap_or_default());
314 -
315 -- let libdir_relative = builder.config.libdir_relative().unwrap_or(Path::new("lib"));
316 -+ let libdir_relative = builder.config.libdir_relative().unwrap_or_else(|| Path::new("lib"));
317 - cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
318 -
319 - if let Some(ref ver_date) = builder.rust_info.commit_date() {
320 -@@ -843,11 +843,11 @@ pub fn run_cargo(
321 - };
322 - for filename in filenames {
323 - // Skip files like executables
324 -- if !filename.ends_with(".rlib")
325 -- && !filename.ends_with(".lib")
326 -- && !filename.ends_with(".a")
327 -- && !is_dylib(&filename)
328 -- && !(is_check && filename.ends_with(".rmeta"))
329 -+ if !(filename.ends_with(".rlib")
330 -+ || filename.ends_with(".lib")
331 -+ || filename.ends_with(".a")
332 -+ || is_dylib(&filename)
333 -+ || (is_check && filename.ends_with(".rmeta")))
334 - {
335 - continue;
336 - }
337 -@@ -905,7 +905,7 @@ pub fn run_cargo(
338 - for (prefix, extension, expected_len) in toplevel {
339 - let candidates = contents.iter().filter(|&&(_, ref filename, ref meta)| {
340 - filename.starts_with(&prefix[..])
341 -- && filename[prefix.len()..].starts_with("-")
342 -+ && filename[prefix.len()..].starts_with('-')
343 - && filename.ends_with(&extension[..])
344 - && meta.len() == expected_len
345 - });
346 -diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
347 -index 110c8b844d54..709cf2908ead 100644
348 ---- a/src/bootstrap/config.rs
349 -+++ b/src/bootstrap/config.rs
350 -@@ -16,7 +16,6 @@ use crate::flags::Flags;
351 - pub use crate::flags::Subcommand;
352 - use build_helper::t;
353 - use serde::Deserialize;
354 --use toml;
355 -
356 - /// Global configuration for the entire build and/or bootstrap.
357 - ///
358 -@@ -440,7 +439,7 @@ impl Config {
359 - }
360 - }
361 - })
362 -- .unwrap_or_else(|| TomlConfig::default());
363 -+ .unwrap_or_else(TomlConfig::default);
364 -
365 - let build = toml.build.clone().unwrap_or_default();
366 - // set by bootstrap.py
367 -@@ -539,7 +538,7 @@ impl Config {
368 - config.llvm_ldflags = llvm.ldflags.clone();
369 - set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
370 - config.llvm_use_linker = llvm.use_linker.clone();
371 -- config.llvm_allow_old_toolchain = llvm.allow_old_toolchain.clone();
372 -+ config.llvm_allow_old_toolchain = llvm.allow_old_toolchain;
373 - }
374 -
375 - if let Some(ref rust) = toml.rust {
376 -@@ -606,7 +605,7 @@ impl Config {
377 - target.ar = cfg.ar.clone().map(PathBuf::from);
378 - target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
379 - target.linker = cfg.linker.clone().map(PathBuf::from);
380 -- target.crt_static = cfg.crt_static.clone();
381 -+ target.crt_static = cfg.crt_static;
382 - target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
383 - target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
384 - target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
385 -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
386 -index 8d13df3ee21a..651506dbaa8a 100644
387 ---- a/src/bootstrap/dist.rs
388 -+++ b/src/bootstrap/dist.rs
389 -@@ -827,7 +827,7 @@ impl Step for Analysis {
390 - assert!(builder.config.extended);
391 - let name = pkgname(builder, "rust-analysis");
392 -
393 -- if &compiler.host != builder.config.build {
394 -+ if compiler.host != builder.config.build {
395 - return distdir(builder).join(format!("{}-{}.tar.gz", name, target));
396 - }
397 -
398 -@@ -876,7 +876,7 @@ fn copy_src_dirs(builder: &Builder<'_>, src_dirs: &[&str], exclude_dirs: &[&str]
399 - Some(path) => path,
400 - None => return false,
401 - };
402 -- if spath.ends_with("~") || spath.ends_with(".pyc") {
403 -+ if spath.ends_with('~') || spath.ends_with(".pyc") {
404 - return false;
405 - }
406 -
407 -diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
408 -index 204056598d90..b0d9a5b94641 100644
409 ---- a/src/bootstrap/doc.rs
410 -+++ b/src/bootstrap/doc.rs
411 -@@ -560,7 +560,7 @@ impl Step for Rustdoc {
412 - builder.ensure(Rustc { stage, target });
413 -
414 - // Build rustdoc.
415 -- builder.ensure(tool::Rustdoc { compiler: compiler });
416 -+ builder.ensure(tool::Rustdoc { compiler });
417 -
418 - // Symlink compiler docs to the output directory of rustdoc documentation.
419 - let out_dir = builder.stage_out(compiler, Mode::ToolRustc).join(target).join("doc");
420 -diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs
421 -index 2101ef27f9d4..516be6a30c23 100644
422 ---- a/src/bootstrap/flags.rs
423 -+++ b/src/bootstrap/flags.rs
424 -@@ -571,7 +571,7 @@ fn split(s: &[String]) -> Vec<String> {
425 - }
426 -
427 - fn parse_deny_warnings(matches: &getopts::Matches) -> Option<bool> {
428 -- match matches.opt_str("warnings").as_ref().map(|v| v.as_str()) {
429 -+ match matches.opt_str("warnings").as_deref() {
430 - Some("deny") => Some(true),
431 - Some("warn") => Some(false),
432 - Some(value) => {
433 -diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
434 -index f8734ebdf425..6549262811b9 100644
435 ---- a/src/bootstrap/install.rs
436 -+++ b/src/bootstrap/install.rs
437 -@@ -126,9 +126,8 @@ fn add_destdir(path: &Path, destdir: &Option<PathBuf>) -> PathBuf {
438 - None => return path.to_path_buf(),
439 - };
440 - for part in path.components() {
441 -- match part {
442 -- Component::Normal(s) => ret.push(s),
443 -- _ => {}
444 -+ if let Component::Normal(s) = part {
445 -+ ret.push(s)
446 - }
447 - }
448 - ret
449 -diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
450 -index 1fee3fd9ac1d..0db4fb389010 100644
451 ---- a/src/bootstrap/lib.rs
452 -+++ b/src/bootstrap/lib.rs
453 -@@ -444,7 +444,7 @@ impl Build {
454 - builder.execute_cli();
455 - } else {
456 - let builder = builder::Builder::new(&self);
457 -- let _ = builder.execute_cli();
458 -+ builder.execute_cli();
459 - }
460 -
461 - // Check for postponed failures from `test --no-fail-fast`.
462 -@@ -839,7 +839,7 @@ impl Build {
463 - .target_config
464 - .get(&target)
465 - .and_then(|t| t.musl_root.as_ref())
466 -- .or(self.config.musl_root.as_ref())
467 -+ .or_else(|| self.config.musl_root.as_ref())
468 - .map(|p| &**p)
469 - }
470 -
471 -@@ -1026,7 +1026,7 @@ impl Build {
472 - }
473 -
474 - fn llvm_link_tools_dynamically(&self, target: Interned<String>) -> bool {
475 -- (target.contains("linux-gnu") || target.contains("apple-darwin"))
476 -+ target.contains("linux-gnu") || target.contains("apple-darwin")
477 - }
478 -
479 - /// Returns the `version` string associated with this compiler for Rust
480 -diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs
481 -index 8a26adc7ed50..292aa3b1e24a 100644
482 ---- a/src/bootstrap/metadata.rs
483 -+++ b/src/bootstrap/metadata.rs
484 -@@ -5,7 +5,6 @@ use std::process::Command;
485 -
486 - use build_helper::output;
487 - use serde::Deserialize;
488 --use serde_json;
489 -
490 - use crate::cache::INTERNER;
491 - use crate::{Build, Crate};
492 -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
493 -index 5bbd9f47fc90..1cfb4b2f63b5 100644
494 ---- a/src/bootstrap/native.rs
495 -+++ b/src/bootstrap/native.rs
496 -@@ -15,8 +15,6 @@ use std::path::{Path, PathBuf};
497 - use std::process::Command;
498 -
499 - use build_helper::{output, t};
500 --use cc;
501 --use cmake;
502 -
503 - use crate::builder::{Builder, RunConfig, ShouldRun, Step};
504 - use crate::cache::Interned;
505 -@@ -205,7 +203,7 @@ impl Step for Llvm {
506 - cfg.define("LLVM_ENABLE_LIBXML2", "OFF");
507 - }
508 -
509 -- if enabled_llvm_projects.len() > 0 {
510 -+ if !enabled_llvm_projects.is_empty() {
511 - enabled_llvm_projects.sort();
512 - enabled_llvm_projects.dedup();
513 - cfg.define("LLVM_ENABLE_PROJECTS", enabled_llvm_projects.join(";"));
514 -diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
515 -index 6adf9ddaf343..8d9e62010015 100644
516 ---- a/src/bootstrap/test.rs
517 -+++ b/src/bootstrap/test.rs
518 -@@ -1424,13 +1424,10 @@ impl Step for ErrorIndex {
519 - }
520 -
521 - fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) -> bool {
522 -- match fs::read_to_string(markdown) {
523 -- Ok(contents) => {
524 -- if !contents.contains("```") {
525 -- return true;
526 -- }
527 -+ if let Ok(contents) = fs::read_to_string(markdown) {
528 -+ if !contents.contains("```") {
529 -+ return true;
530 - }
531 -- Err(_) => {}
532 - }
533 -
534 - builder.info(&format!("doc tests for: {}", markdown.display()));
535 -diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
536 -index 7f24768a4f10..67e0ed5c5802 100644
537 ---- a/src/bootstrap/tool.rs
538 -+++ b/src/bootstrap/tool.rs
539 -@@ -234,7 +234,7 @@ pub fn prepare_tool_cargo(
540 - cargo.env("RUSTC_EXTERNAL_TOOL", "1");
541 - }
542 -
543 -- let mut features = extra_features.iter().cloned().collect::<Vec<_>>();
544 -+ let mut features = extra_features.to_vec();
545 - if builder.build.config.cargo_native_static {
546 - if path.ends_with("cargo")
547 - || path.ends_with("rls")
548 -diff --git a/src/bootstrap/toolstate.rs b/src/bootstrap/toolstate.rs
549 -index b068c8200ace..bb012a388551 100644
550 ---- a/src/bootstrap/toolstate.rs
551 -+++ b/src/bootstrap/toolstate.rs
552 -@@ -124,7 +124,7 @@ fn check_changed_files(toolstates: &HashMap<Box<str>, ToolState>) {
553 - let output = t!(String::from_utf8(output.stdout));
554 -
555 - for (tool, submodule) in STABLE_TOOLS.iter().chain(NIGHTLY_TOOLS.iter()) {
556 -- let changed = output.lines().any(|l| l.starts_with("M") && l.ends_with(submodule));
557 -+ let changed = output.lines().any(|l| l.starts_with('M') && l.ends_with(submodule));
558 - eprintln!("Verifying status of {}...", tool);
559 - if !changed {
560 - continue;
561 -diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs
562 -index 7d1efe4610f9..eac790fe504b 100644
563 ---- a/src/bootstrap/util.rs
564 -+++ b/src/bootstrap/util.rs
565 -@@ -98,7 +98,7 @@ impl Drop for TimeIt {
566 - fn drop(&mut self) {
567 - let time = self.1.elapsed();
568 - if !self.0 {
569 -- println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_nanos() / 1_000_000);
570 -+ println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_millis());
571 - }
572 - }
573 - }
574
575 diff --git a/dev-lang/rust/files/1.42.0-libressl.patch b/dev-lang/rust/files/1.42.0-libressl.patch
576 deleted file mode 100644
577 index 7d09f88f766..00000000000
578 --- a/dev-lang/rust/files/1.42.0-libressl.patch
579 +++ /dev/null
580 @@ -1,44 +0,0 @@
581 -From 597729ad63b53901da011ebb12ac0f811304bca7 Mon Sep 17 00:00:00 2001
582 -From: Stefan Strogin <steils@g.o>
583 -Date: Fri, 10 Apr 2020 09:18:41 +0300
584 -Subject: [PATCH] Support LibreSSL 3.1.x
585 -
586 -Signed-off-by: Stefan Strogin <steils@g.o>
587 ----
588 - vendor/openssl-sys/.cargo-checksum.json | 2 +-
589 - vendor/openssl-sys/build/main.rs | 4 +++-
590 - 2 files changed, 4 insertions(+), 2 deletions(-)
591 -
592 -diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
593 -index e0bfd3035..0df6df7ef 100644
594 ---- a/vendor/openssl-sys/.cargo-checksum.json
595 -+++ b/vendor/openssl-sys/.cargo-checksum.json
596 -@@ -1 +1 @@
597 --{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"6e800f4dc5c2cbbd54d1b1b995a2915ff941e17e11300d7091858210d3ce788d","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928
598 f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9
599 098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0
600 c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/
601 ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"}
602 -\ No newline at end of file
603 -+{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"7379da716f13ace24c6782c842fcb08053544475b6401a84735ac6af21b67935","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928
604 f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9
605 098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0
606 c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/
607 ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"}
608 -diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
609 -index 162e11a66..efac336af 100644
610 ---- a/vendor/openssl-sys/build/main.rs
611 -+++ b/vendor/openssl-sys/build/main.rs
612 -@@ -204,6 +204,8 @@ See rust-openssl README for more information:
613 - (3, 0, 0) => ('3', '0', '0'),
614 - (3, 0, 1) => ('3', '0', '1'),
615 - (3, 0, _) => ('3', '0', 'x'),
616 -+ (3, 1, 0) => ('3', '1', '0'),
617 -+ (3, 1, _) => ('3', '1', 'x'),
618 - _ => version_error(),
619 - };
620 -
621 -@@ -244,7 +246,7 @@ fn version_error() -> ! {
622 - "
623 -
624 - This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
625 --through 3.0.x, but a different version of OpenSSL was found. The build is now aborting
626 -+through 3.1.x, but a different version of OpenSSL was found. The build is now aborting
627 - due to this version mismatch.
628 -
629 - "
630 ---
631 -2.26.2
632 -
633
634 diff --git a/dev-lang/rust/files/1.43.0-llvm10.patch b/dev-lang/rust/files/1.43.0-llvm10.patch
635 deleted file mode 100644
636 index 14940716abf..00000000000
637 --- a/dev-lang/rust/files/1.43.0-llvm10.patch
638 +++ /dev/null
639 @@ -1,194 +0,0 @@
640 -From fe83c6cd5922fd6f964fa40ca704fb7f92426202 Mon Sep 17 00:00:00 2001
641 -From: Nikita Popov <nikita.ppv@×××××.com>
642 -Date: Tue, 4 Feb 2020 19:23:45 +0100
643 -Subject: [PATCH 2/7] Remove trailing newline from llvm-config output
644 -
645 ----
646 - src/bootstrap/test.rs | 2 ++
647 - 1 file changed, 2 insertions(+)
648 -
649 -diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
650 -index 4cfda606c4bc8..aaec10ff10b38 100644
651 ---- a/src/bootstrap/test.rs
652 -+++ b/src/bootstrap/test.rs
653 -@@ -1142,6 +1142,8 @@ impl Step for Compiletest {
654 - let llvm_config = builder.ensure(native::Llvm { target: builder.config.build });
655 - if !builder.config.dry_run {
656 - let llvm_version = output(Command::new(&llvm_config).arg("--version"));
657 -+ // Remove trailing newline from llvm-config output.
658 -+ let llvm_version = llvm_version.trim_end();
659 - cmd.arg("--llvm-version").arg(llvm_version);
660 - }
661 - if !builder.is_rust_llvm(target) {
662 -
663 -From 545f18e8f1c2227b74091fbca5c73595f65eeeed Mon Sep 17 00:00:00 2001
664 -From: Nikita Popov <nikita.ppv@×××××.com>
665 -Date: Sat, 18 Jan 2020 23:00:30 +0100
666 -Subject: [PATCH 3/7] Fix LLVM version handling in compiletest
667 -
668 -Convert version string to integer before comparing. Otherwise
669 -we get into trouble with double digit versions ;)
670 ----
671 - src/tools/compiletest/src/header.rs | 27 +++++++++++++++++++++------
672 - 1 file changed, 21 insertions(+), 6 deletions(-)
673 -
674 -diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
675 -index 2a24a8c3c9485..cb648db8830ef 100644
676 ---- a/src/tools/compiletest/src/header.rs
677 -+++ b/src/tools/compiletest/src/header.rs
678 -@@ -191,6 +191,7 @@ impl EarlyProps {
679 - return true;
680 - }
681 - if let Some(ref actual_version) = config.llvm_version {
682 -+ let actual_version = version_to_int(actual_version);
683 - if line.starts_with("min-llvm-version") {
684 - let min_version = line
685 - .trim_end()
686 -@@ -199,7 +200,7 @@ impl EarlyProps {
687 - .expect("Malformed llvm version directive");
688 - // Ignore if actual version is smaller the minimum required
689 - // version
690 -- &actual_version[..] < min_version
691 -+ actual_version < version_to_int(min_version)
692 - } else if line.starts_with("min-system-llvm-version") {
693 - let min_version = line
694 - .trim_end()
695 -@@ -208,7 +209,7 @@ impl EarlyProps {
696 - .expect("Malformed llvm version directive");
697 - // Ignore if using system LLVM and actual version
698 - // is smaller the minimum required version
699 -- config.system_llvm && &actual_version[..] < min_version
700 -+ config.system_llvm && actual_version < version_to_int(min_version)
701 - } else if line.starts_with("ignore-llvm-version") {
702 - // Syntax is: "ignore-llvm-version <version1> [- <version2>]"
703 - let range_components = line
704 -@@ -219,15 +220,15 @@ impl EarlyProps {
705 - .take(3) // 3 or more = invalid, so take at most 3.
706 - .collect::<Vec<&str>>();
707 - match range_components.len() {
708 -- 1 => &actual_version[..] == range_components[0],
709 -+ 1 => actual_version == version_to_int(range_components[0]),
710 - 2 => {
711 -- let v_min = range_components[0];
712 -- let v_max = range_components[1];
713 -+ let v_min = version_to_int(range_components[0]);
714 -+ let v_max = version_to_int(range_components[1]);
715 - if v_max < v_min {
716 - panic!("Malformed LLVM version range: max < min")
717 - }
718 - // Ignore if version lies inside of range.
719 -- &actual_version[..] >= v_min && &actual_version[..] <= v_max
720 -+ actual_version >= v_min && actual_version <= v_max
721 - }
722 - _ => panic!("Malformed LLVM version directive"),
723 - }
724 -@@ -238,6 +239,20 @@ impl EarlyProps {
725 - false
726 - }
727 - }
728 -+
729 -+ fn version_to_int(version: &str) -> u32 {
730 -+ let version_without_suffix = version.split('-').next().unwrap();
731 -+ let components: Vec<u32> = version_without_suffix
732 -+ .split('.')
733 -+ .map(|s| s.parse().expect("Malformed version component"))
734 -+ .collect();
735 -+ match components.len() {
736 -+ 1 => components[0] * 10000,
737 -+ 2 => components[0] * 10000 + components[1] * 100,
738 -+ 3 => components[0] * 10000 + components[1] * 100 + components[2],
739 -+ _ => panic!("Malformed version"),
740 -+ }
741 -+ }
742 - }
743 - }
744 -
745 -
746 -From e06fff0609fedf95b826d82ff32ff836b0e3f3da Mon Sep 17 00:00:00 2001
747 -From: Nikita Popov <nikita.ppv@×××××.com>
748 -Date: Sun, 19 Jan 2020 22:47:45 +0100
749 -Subject: [PATCH 4/7] Adjust data layout in test
750 -
751 ----
752 - .../run-make-fulldeps/target-specs/my-awesome-platform.json | 2 +-
753 - .../target-specs/my-x86_64-unknown-linux-gnu-platform.json | 2 +-
754 - 2 files changed, 2 insertions(+), 2 deletions(-)
755 -
756 -diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
757 -index 8d028280a8da7..00de3de05f07a 100644
758 ---- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
759 -+++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
760 -@@ -1,5 +1,5 @@
761 - {
762 -- "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128",
763 -+ "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128",
764 - "linker-flavor": "gcc",
765 - "llvm-target": "i686-unknown-linux-gnu",
766 - "target-endian": "little",
767 -diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
768 -index 48040ae3da0ef..6d5e964ed4fee 100644
769 ---- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
770 -+++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
771 -@@ -1,6 +1,6 @@
772 - {
773 - "pre-link-args": {"gcc": ["-m64"]},
774 -- "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128",
775 -+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
776 - "linker-flavor": "gcc",
777 - "llvm-target": "x86_64-unknown-linux-gnu",
778 - "target-endian": "little",
779 -
780 -From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001
781 -From: Nikita Popov <nikita.ppv@×××××.com>
782 -Date: Tue, 4 Feb 2020 20:35:50 +0100
783 -Subject: [PATCH 5/7] Fix timeTraceProfilerInitialize for LLVM 10
784 -
785 ----
786 - src/rustllvm/PassWrapper.cpp | 6 +++++-
787 - 1 file changed, 5 insertions(+), 1 deletion(-)
788 -
789 -diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
790 -index 65071c3ed86e0..ebf4d4017a813 100644
791 ---- a/src/rustllvm/PassWrapper.cpp
792 -+++ b/src/rustllvm/PassWrapper.cpp
793 -@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() {
794 - }
795 -
796 - extern "C" void LLVMTimeTraceProfilerInitialize() {
797 --#if LLVM_VERSION_GE(9, 0)
798 -+#if LLVM_VERSION_GE(10, 0)
799 -+ timeTraceProfilerInitialize(
800 -+ /* TimeTraceGranularity */ 0,
801 -+ /* ProcName */ "rustc");
802 -+#elif LLVM_VERSION_GE(9, 0)
803 - timeTraceProfilerInitialize();
804 - #endif
805 - }
806 -
807 -From aed9cf36bb4b9c6b357e395552dbb5e1802feec9 Mon Sep 17 00:00:00 2001
808 -From: Nikita Popov <nikita.ppv@×××××.com>
809 -Date: Mon, 2 Mar 2020 22:37:55 +0100
810 -Subject: [PATCH 6/7] Update CreateMemSet() usage for LLVM 10
811 -
812 ----
813 - src/rustllvm/RustWrapper.cpp | 5 +++++
814 - 1 file changed, 5 insertions(+)
815 -
816 -diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
817 -index 49b6e1bfec38d..002eb031dac64 100644
818 ---- a/src/rustllvm/RustWrapper.cpp
819 -+++ b/src/rustllvm/RustWrapper.cpp
820 -@@ -1300,8 +1300,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B,
821 - LLVMValueRef Dst, unsigned DstAlign,
822 - LLVMValueRef Val,
823 - LLVMValueRef Size, bool IsVolatile) {
824 -+#if LLVM_VERSION_GE(10, 0)
825 -+ return wrap(unwrap(B)->CreateMemSet(
826 -+ unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile));
827 -+#else
828 - return wrap(unwrap(B)->CreateMemSet(
829 - unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile));
830 -+#endif
831 - }
832 -
833 - extern "C" LLVMValueRef
834
835 diff --git a/dev-lang/rust/files/llvm-gcc10.patch b/dev-lang/rust/files/llvm-gcc10.patch
836 deleted file mode 100644
837 index 8fbaa923f7c..00000000000
838 --- a/dev-lang/rust/files/llvm-gcc10.patch
839 +++ /dev/null
840 @@ -1,34 +0,0 @@
841 -From b288d90b39f4b905c02092a9bfcfd6d78f99b191 Mon Sep 17 00:00:00 2001
842 -From: Than McIntosh <thanm@××××××.com>
843 -Date: Fri, 19 Jul 2019 13:13:54 +0000
844 -Subject: [PATCH] [NFC] include cstdint/string prior to using uint8_t/string
845 -
846 -Summary: include proper header prior to use of uint8_t typedef
847 -and std::string.
848 -
849 -Subscribers: llvm-commits
850 -
851 -Reviewers: cherry
852 -
853 -Tags: #llvm
854 -
855 -Differential Revision: https://reviews.llvm.org/D64937
856 -
857 -llvm-svn: 366572
858 ----
859 - llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h | 2 ++
860 - 1 file changed, 2 insertions(+)
861 -
862 -diff --git a/src/llbm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
863 -index da9d9d5bfdc0..3d47471f0ef0 100644
864 ---- a/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
865 -+++ b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
866 -@@ -16,6 +16,8 @@
867 - #include "llvm/Demangle/DemangleConfig.h"
868 - #include "llvm/Demangle/StringView.h"
869 - #include <array>
870 -+#include <cstdint>
871 -+#include <string>
872 -
873 - namespace llvm {
874 - namespace itanium_demangle {
875
876 diff --git a/dev-lang/rust/rust-1.41.1.ebuild b/dev-lang/rust/rust-1.41.1.ebuild
877 deleted file mode 100644
878 index cb0c9d685a8..00000000000
879 --- a/dev-lang/rust/rust-1.41.1.ebuild
880 +++ /dev/null
881 @@ -1,370 +0,0 @@
882 -# Copyright 1999-2020 Gentoo Authors
883 -# Distributed under the terms of the GNU General Public License v2
884 -
885 -EAPI=7
886 -
887 -PYTHON_COMPAT=( python3_{6,7} )
888 -
889 -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
890 -
891 -if [[ ${PV} = *beta* ]]; then
892 - betaver=${PV//*beta}
893 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
894 - MY_P="rustc-beta"
895 - SLOT="beta/${PV}"
896 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
897 -else
898 - ABI_VER="$(ver_cut 1-2)"
899 - SLOT="stable/${ABI_VER}"
900 - MY_P="rustc-${PV}"
901 - SRC="${MY_P}-src.tar.xz"
902 - KEYWORDS="amd64 ~arm arm64 ppc64 x86"
903 -fi
904 -
905 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
906 -
907 -DESCRIPTION="Systems programming language from Mozilla"
908 -HOMEPAGE="https://www.rust-lang.org/"
909 -
910 -SRC_URI="
911 - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
912 - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
913 -"
914 -
915 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
916 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
917 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
918 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
919 -
920 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
921 -
922 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
923 -
924 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
925 -# we need to *really* make sure we're not pulling more than one slot
926 -# simultaneously.
927 -
928 -# How to use it:
929 -# 1. List all the working slots (with min versions) in ||, newest first.
930 -# 2. Update the := to specify *max* version, e.g. < 10.
931 -# 3. Specify LLVM_MAX_SLOT, e.g. 9.
932 -LLVM_DEPEND="
933 - || (
934 - sys-devel/llvm:9[llvm_targets_WebAssembly?]
935 - )
936 - <sys-devel/llvm-10:=
937 - wasm? ( sys-devel/lld )
938 -"
939 -LLVM_MAX_SLOT=9
940 -
941 -BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)).0-r1 >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
942 -
943 -COMMON_DEPEND="
944 - net-libs/libssh2:=
945 - net-libs/http-parser:=
946 - net-misc/curl:=[ssl]
947 - sys-libs/zlib:=
948 - !libressl? ( dev-libs/openssl:0= )
949 - libressl? ( <dev-libs/libressl-3.1:0= )
950 - elibc_musl? ( sys-libs/libunwind )
951 - system-llvm? (
952 - ${LLVM_DEPEND}
953 - )
954 -"
955 -
956 -DEPEND="${COMMON_DEPEND}
957 - ${PYTHON_DEPS}
958 - || (
959 - >=sys-devel/gcc-4.7
960 - >=sys-devel/clang-3.5
961 - )
962 - system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
963 - !system-llvm? (
964 - dev-util/cmake
965 - dev-util/ninja
966 - )
967 -"
968 -
969 -RDEPEND="${COMMON_DEPEND}
970 - >=app-eselect/eselect-rust-20190311
971 -"
972 -
973 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
974 - parallel-compiler? ( nightly )
975 - wasm? ( llvm_targets_WebAssembly )
976 - x86? ( cpu_flags_x86_sse2 )
977 -"
978 -
979 -QA_FLAGS_IGNORED="
980 - usr/bin/.*-${PV}
981 - usr/lib.*/lib.*.so
982 - usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
983 - usr/lib/rustlib/.*/lib/lib.*.so
984 -"
985 -
986 -QA_SONAME="usr/lib.*/librustc_macros.*.so"
987 -
988 -PATCHES=(
989 - "${FILESDIR}"/1.40.0-add-soname.patch
990 - "${FILESDIR}"/llvm-gcc10.patch
991 -)
992 -
993 -S="${WORKDIR}/${MY_P}-src"
994 -
995 -toml_usex() {
996 - usex "$1" true false
997 -}
998 -
999 -pre_build_checks() {
1000 - CHECKREQS_DISK_BUILD="9G"
1001 - eshopts_push -s extglob
1002 - if is-flagq '-g?(gdb)?([1-9])'; then
1003 - CHECKREQS_DISK_BUILD="15G"
1004 - fi
1005 - eshopts_pop
1006 - check-reqs_pkg_setup
1007 -}
1008 -
1009 -pkg_pretend() {
1010 - pre_build_checks
1011 -}
1012 -
1013 -pkg_setup() {
1014 - pre_build_checks
1015 - python-any-r1_pkg_setup
1016 -
1017 - # use bundled for now, #707746
1018 - # will need dev-libs/libgit2 slotted dep if re-enabled
1019 - #export LIBGIT2_SYS_USE_PKG_CONFIG=1
1020 - export LIBSSH2_SYS_USE_PKG_CONFIG=1
1021 - export PKG_CONFIG_ALLOW_CROSS=1
1022 -
1023 - if use system-llvm; then
1024 - llvm_pkg_setup
1025 -
1026 - local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
1027 -
1028 - export LLVM_LINK_SHARED=1
1029 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
1030 - fi
1031 -}
1032 -
1033 -src_prepare() {
1034 - if ! use system-bootstrap; then
1035 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1036 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1037 -
1038 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
1039 - --destdir="${rust_stage0_root}" --prefix=/ || die
1040 - fi
1041 -
1042 - default
1043 -}
1044 -
1045 -src_configure() {
1046 - local rust_target="" rust_targets="" arch_cflags
1047 -
1048 - # Collect rust target names to compile standard libs for all ABIs.
1049 - for v in $(multilib_get_enabled_abi_pairs); do
1050 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1051 - done
1052 - if use wasm; then
1053 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1054 - fi
1055 - rust_targets="${rust_targets#,}"
1056 -
1057 - local extended="true" tools="\"cargo\","
1058 - if use clippy; then
1059 - tools="\"clippy\",$tools"
1060 - fi
1061 - if use rls; then
1062 - tools="\"rls\",\"analysis\",\"src\",$tools"
1063 - fi
1064 - if use rustfmt; then
1065 - tools="\"rustfmt\",$tools"
1066 - fi
1067 -
1068 - local rust_stage0_root
1069 - if use system-bootstrap; then
1070 - rust_stage0_root="$(rustc --print sysroot)"
1071 - else
1072 - rust_stage0_root="${WORKDIR}"/rust-stage0
1073 - fi
1074 -
1075 - rust_target="$(rust_abi)"
1076 -
1077 - cat <<- EOF > "${S}"/config.toml
1078 - [llvm]
1079 - optimize = $(toml_usex !debug)
1080 - release-debuginfo = $(toml_usex debug)
1081 - assertions = $(toml_usex debug)
1082 - targets = "${LLVM_TARGETS// /;}"
1083 - experimental-targets = ""
1084 - link-shared = $(toml_usex system-llvm)
1085 - [build]
1086 - build = "${rust_target}"
1087 - host = ["${rust_target}"]
1088 - target = [${rust_targets}]
1089 - cargo = "${rust_stage0_root}/bin/cargo"
1090 - rustc = "${rust_stage0_root}/bin/rustc"
1091 - docs = $(toml_usex doc)
1092 - compiler-docs = $(toml_usex doc)
1093 - submodules = false
1094 - python = "${EPYTHON}"
1095 - locked-deps = true
1096 - vendor = true
1097 - extended = ${extended}
1098 - tools = [${tools}]
1099 - verbose = 2
1100 - [install]
1101 - prefix = "${EPREFIX}/usr"
1102 - libdir = "lib"
1103 - docdir = "share/doc/${PF}"
1104 - mandir = "share/man"
1105 - [rust]
1106 - optimize = true
1107 - debug = $(toml_usex debug)
1108 - debug-assertions = $(toml_usex debug)
1109 - default-linker = "$(tc-getCC)"
1110 - parallel-compiler = $(toml_usex parallel-compiler)
1111 - channel = "$(usex nightly nightly stable)"
1112 - rpath = false
1113 - lld = $(usex system-llvm false $(toml_usex wasm))
1114 - backtrace-on-ice = true
1115 - [dist]
1116 - src-tarball = false
1117 - EOF
1118 -
1119 - for v in $(multilib_get_enabled_abi_pairs); do
1120 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1121 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1122 -
1123 - cat <<- EOF >> "${S}"/config.env
1124 - CFLAGS_${rust_target}=${arch_cflags}
1125 - EOF
1126 -
1127 - cat <<- EOF >> "${S}"/config.toml
1128 - [target.${rust_target}]
1129 - cc = "$(tc-getBUILD_CC)"
1130 - cxx = "$(tc-getBUILD_CXX)"
1131 - linker = "$(tc-getCC)"
1132 - ar = "$(tc-getAR)"
1133 - EOF
1134 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1135 - if use elibc_musl; then
1136 - cat <<- EOF >> "${S}"/config.toml
1137 - crt-static = false
1138 - EOF
1139 - fi
1140 - if use system-llvm; then
1141 - cat <<- EOF >> "${S}"/config.toml
1142 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1143 - EOF
1144 - fi
1145 - done
1146 -
1147 - if use wasm; then
1148 - cat <<- EOF >> "${S}"/config.toml
1149 - [target.wasm32-unknown-unknown]
1150 - linker = "$(usex system-llvm lld rust-lld)"
1151 - EOF
1152 - fi
1153 -}
1154 -
1155 -src_compile() {
1156 - env $(cat "${S}"/config.env)\
1157 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
1158 - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
1159 -}
1160 -
1161 -src_install() {
1162 - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
1163 - --exclude src/tools/miri || die
1164 -
1165 - # bug #689562, #689160
1166 - rm "${D}/etc/bash_completion.d/cargo" || die
1167 - rmdir "${D}"/etc{/bash_completion.d,} || die
1168 - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
1169 -
1170 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1171 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1172 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1173 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1174 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1175 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1176 - if use clippy; then
1177 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1178 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1179 - fi
1180 - if use rls; then
1181 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1182 - fi
1183 - if use rustfmt; then
1184 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
1185 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
1186 - fi
1187 -
1188 - # Move public shared libs to abi specific libdir
1189 - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
1190 - if [[ $(get_libdir) != lib ]]; then
1191 - dodir /usr/$(get_libdir)
1192 - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
1193 - fi
1194 -
1195 - dodoc COPYRIGHT
1196 -
1197 - # note: eselect-rust adds EROOT to all paths below
1198 - cat <<-EOF > "${T}/provider-${P}"
1199 - /usr/bin/rustdoc
1200 - /usr/bin/rust-gdb
1201 - /usr/bin/rust-gdbgui
1202 - /usr/bin/rust-lldb
1203 - EOF
1204 - echo /usr/bin/cargo >> "${T}/provider-${P}"
1205 - if use clippy; then
1206 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
1207 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
1208 - fi
1209 - if use rls; then
1210 - echo /usr/bin/rls >> "${T}/provider-${P}"
1211 - fi
1212 - if use rustfmt; then
1213 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
1214 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
1215 - fi
1216 -
1217 - insinto /etc/env.d/rust
1218 - doins "${T}/provider-${P}"
1219 -}
1220 -
1221 -pkg_postinst() {
1222 - eselect rust update --if-unset
1223 -
1224 - elog "Rust installs a helper script for calling GDB and LLDB,"
1225 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
1226 -
1227 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
1228 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
1229 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
1230 -
1231 - if has_version app-editors/emacs; then
1232 - elog "install app-emacs/rust-mode to get emacs support for rust."
1233 - fi
1234 -
1235 - if has_version app-editors/gvim || has_version app-editors/vim; then
1236 - elog "install app-vim/rust-vim to get vim support for rust."
1237 - fi
1238 -
1239 - if use elibc_musl; then
1240 - ewarn "${PN} on *-musl targets is configured with crt-static"
1241 - ewarn ""
1242 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
1243 - ewarn "to use it with portage, otherwise you may see failures like"
1244 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
1245 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
1246 - fi
1247 -}
1248 -
1249 -pkg_postrm() {
1250 - eselect rust cleanup
1251 -}
1252
1253 diff --git a/dev-lang/rust/rust-1.42.0.ebuild b/dev-lang/rust/rust-1.42.0.ebuild
1254 deleted file mode 100644
1255 index 769cc360926..00000000000
1256 --- a/dev-lang/rust/rust-1.42.0.ebuild
1257 +++ /dev/null
1258 @@ -1,385 +0,0 @@
1259 -# Copyright 1999-2020 Gentoo Authors
1260 -# Distributed under the terms of the GNU General Public License v2
1261 -
1262 -EAPI=7
1263 -
1264 -PYTHON_COMPAT=( python3_{6,7,8} )
1265 -
1266 -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
1267 -
1268 -if [[ ${PV} = *beta* ]]; then
1269 - betaver=${PV//*beta}
1270 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
1271 - MY_P="rustc-beta"
1272 - SLOT="beta/${PV}"
1273 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
1274 -else
1275 - ABI_VER="$(ver_cut 1-2)"
1276 - SLOT="stable/${ABI_VER}"
1277 - MY_P="rustc-${PV}"
1278 - SRC="${MY_P}-src.tar.xz"
1279 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
1280 -fi
1281 -
1282 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1"
1283 -
1284 -DESCRIPTION="Systems programming language from Mozilla"
1285 -HOMEPAGE="https://www.rust-lang.org/"
1286 -
1287 -SRC_URI="
1288 - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
1289 - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
1290 -"
1291 -
1292 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
1293 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
1294 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
1295 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
1296 -
1297 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
1298 -
1299 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
1300 -
1301 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
1302 -# we need to *really* make sure we're not pulling more than one slot
1303 -# simultaneously.
1304 -
1305 -# How to use it:
1306 -# 1. List all the working slots (with min versions) in ||, newest first.
1307 -# 2. Update the := to specify *max* version, e.g. < 11.
1308 -# 3. Specify LLVM_MAX_SLOT, e.g. 10.
1309 -LLVM_DEPEND="
1310 - || (
1311 - sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
1312 - sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
1313 - )
1314 - <sys-devel/llvm-11:=
1315 - wasm? ( sys-devel/lld )
1316 -"
1317 -LLVM_MAX_SLOT=10
1318 -
1319 -BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
1320 -
1321 -COMMON_DEPEND="
1322 - net-libs/libssh2:=
1323 - net-libs/http-parser:=
1324 - net-misc/curl:=[ssl]
1325 - sys-libs/zlib:=
1326 - !libressl? ( dev-libs/openssl:0= )
1327 - libressl? ( dev-libs/libressl:0= )
1328 - elibc_musl? ( sys-libs/libunwind )
1329 - system-llvm? (
1330 - ${LLVM_DEPEND}
1331 - )
1332 -"
1333 -
1334 -DEPEND="${COMMON_DEPEND}
1335 - ${PYTHON_DEPS}
1336 - || (
1337 - >=sys-devel/gcc-4.7
1338 - >=sys-devel/clang-3.5
1339 - )
1340 - system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
1341 - !system-llvm? (
1342 - dev-util/cmake
1343 - dev-util/ninja
1344 - )
1345 -"
1346 -
1347 -RDEPEND="${COMMON_DEPEND}
1348 - >=app-eselect/eselect-rust-20190311
1349 -"
1350 -
1351 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
1352 - miri? ( nightly )
1353 - parallel-compiler? ( nightly )
1354 - wasm? ( llvm_targets_WebAssembly )
1355 - x86? ( cpu_flags_x86_sse2 )
1356 -"
1357 -
1358 -QA_FLAGS_IGNORED="
1359 - usr/bin/.*-${PV}
1360 - usr/lib.*/lib.*.so
1361 - usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
1362 - usr/lib/rustlib/.*/lib/lib.*.so
1363 -"
1364 -
1365 -QA_SONAME="usr/lib.*/librustc_macros.*.so"
1366 -
1367 -PATCHES=(
1368 - "${FILESDIR}"/1.40.0-add-soname.patch
1369 - "${FILESDIR}"/1.42.0-fix-bootstrap.patch
1370 - "${FILESDIR}"/1.42.0-libressl.patch
1371 -)
1372 -
1373 -S="${WORKDIR}/${MY_P}-src"
1374 -
1375 -toml_usex() {
1376 - usex "$1" true false
1377 -}
1378 -
1379 -pre_build_checks() {
1380 - CHECKREQS_DISK_BUILD="9G"
1381 - eshopts_push -s extglob
1382 - if is-flagq '-g?(gdb)?([1-9])'; then
1383 - CHECKREQS_DISK_BUILD="15G"
1384 - fi
1385 - eshopts_pop
1386 - check-reqs_pkg_setup
1387 -}
1388 -
1389 -pkg_pretend() {
1390 - pre_build_checks
1391 -}
1392 -
1393 -pkg_setup() {
1394 - pre_build_checks
1395 - python-any-r1_pkg_setup
1396 -
1397 - # use bundled for now, #707746
1398 - # will need dev-libs/libgit2 slotted dep if re-enabled
1399 - #export LIBGIT2_SYS_USE_PKG_CONFIG=1
1400 - export LIBSSH2_SYS_USE_PKG_CONFIG=1
1401 - export PKG_CONFIG_ALLOW_CROSS=1
1402 -
1403 - if use system-llvm; then
1404 - llvm_pkg_setup
1405 -
1406 - local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
1407 -
1408 - export LLVM_LINK_SHARED=1
1409 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
1410 - fi
1411 -}
1412 -
1413 -src_prepare() {
1414 - if ! use system-bootstrap; then
1415 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1416 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1417 -
1418 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
1419 - --destdir="${rust_stage0_root}" --prefix=/ || die
1420 - fi
1421 -
1422 - default
1423 -}
1424 -
1425 -src_configure() {
1426 - local rust_target="" rust_targets="" arch_cflags
1427 -
1428 - # Collect rust target names to compile standard libs for all ABIs.
1429 - for v in $(multilib_get_enabled_abi_pairs); do
1430 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1431 - done
1432 - if use wasm; then
1433 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1434 - fi
1435 - rust_targets="${rust_targets#,}"
1436 -
1437 - local extended="true" tools="\"cargo\","
1438 - if use clippy; then
1439 - tools="\"clippy\",$tools"
1440 - fi
1441 - if use miri; then
1442 - tools="\"miri\",$tools"
1443 - fi
1444 - if use rls; then
1445 - tools="\"rls\",\"analysis\",\"src\",$tools"
1446 - fi
1447 - if use rustfmt; then
1448 - tools="\"rustfmt\",$tools"
1449 - fi
1450 -
1451 - local rust_stage0_root
1452 - if use system-bootstrap; then
1453 - rust_stage0_root="$(rustc --print sysroot)"
1454 - else
1455 - rust_stage0_root="${WORKDIR}"/rust-stage0
1456 - fi
1457 -
1458 - rust_target="$(rust_abi)"
1459 -
1460 - cat <<- EOF > "${S}"/config.toml
1461 - [llvm]
1462 - optimize = $(toml_usex !debug)
1463 - release-debuginfo = $(toml_usex debug)
1464 - assertions = $(toml_usex debug)
1465 - targets = "${LLVM_TARGETS// /;}"
1466 - experimental-targets = ""
1467 - link-shared = $(toml_usex system-llvm)
1468 - [build]
1469 - build = "${rust_target}"
1470 - host = ["${rust_target}"]
1471 - target = [${rust_targets}]
1472 - cargo = "${rust_stage0_root}/bin/cargo"
1473 - rustc = "${rust_stage0_root}/bin/rustc"
1474 - docs = $(toml_usex doc)
1475 - compiler-docs = $(toml_usex doc)
1476 - submodules = false
1477 - python = "${EPYTHON}"
1478 - locked-deps = true
1479 - vendor = true
1480 - extended = ${extended}
1481 - tools = [${tools}]
1482 - verbose = 2
1483 - [install]
1484 - prefix = "${EPREFIX}/usr"
1485 - libdir = "lib"
1486 - docdir = "share/doc/${PF}"
1487 - mandir = "share/man"
1488 - [rust]
1489 - optimize = true
1490 - debug = $(toml_usex debug)
1491 - debug-assertions = $(toml_usex debug)
1492 - default-linker = "$(tc-getCC)"
1493 - parallel-compiler = $(toml_usex parallel-compiler)
1494 - channel = "$(usex nightly nightly stable)"
1495 - rpath = false
1496 - lld = $(usex system-llvm false $(toml_usex wasm))
1497 - backtrace-on-ice = true
1498 - [dist]
1499 - src-tarball = false
1500 - EOF
1501 -
1502 - for v in $(multilib_get_enabled_abi_pairs); do
1503 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1504 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1505 -
1506 - cat <<- EOF >> "${S}"/config.env
1507 - CFLAGS_${rust_target}=${arch_cflags}
1508 - EOF
1509 -
1510 - cat <<- EOF >> "${S}"/config.toml
1511 - [target.${rust_target}]
1512 - cc = "$(tc-getBUILD_CC)"
1513 - cxx = "$(tc-getBUILD_CXX)"
1514 - linker = "$(tc-getCC)"
1515 - ar = "$(tc-getAR)"
1516 - EOF
1517 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1518 - if use elibc_musl; then
1519 - cat <<- EOF >> "${S}"/config.toml
1520 - crt-static = false
1521 - EOF
1522 - fi
1523 - if use system-llvm; then
1524 - cat <<- EOF >> "${S}"/config.toml
1525 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1526 - EOF
1527 - fi
1528 - done
1529 - if use wasm; then
1530 - cat <<- EOF >> "${S}"/config.toml
1531 - [target.wasm32-unknown-unknown]
1532 - linker = "$(usex system-llvm lld rust-lld)"
1533 - EOF
1534 - fi
1535 -
1536 - einfo "Rust configured with the following settings:"
1537 - cat "${S}"/config.toml || die
1538 -}
1539 -
1540 -src_compile() {
1541 - env $(cat "${S}"/config.env)\
1542 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
1543 -}
1544 -
1545 -src_install() {
1546 - env $(cat "${S}"/config.env) DESTDIR="${D}" \
1547 - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
1548 -
1549 - # bug #689562, #689160
1550 - rm "${D}/etc/bash_completion.d/cargo" || die
1551 - rmdir "${D}"/etc{/bash_completion.d,} || die
1552 - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
1553 -
1554 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1555 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1556 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1557 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1558 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1559 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1560 - if use clippy; then
1561 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1562 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1563 - fi
1564 - if use miri; then
1565 - mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
1566 - mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
1567 - fi
1568 - if use rls; then
1569 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1570 - fi
1571 - if use rustfmt; then
1572 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
1573 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
1574 - fi
1575 -
1576 - # Move public shared libs to abi specific libdir
1577 - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
1578 - if [[ $(get_libdir) != lib ]]; then
1579 - dodir /usr/$(get_libdir)
1580 - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
1581 - fi
1582 -
1583 - dodoc COPYRIGHT
1584 -
1585 - # note: eselect-rust adds EROOT to all paths below
1586 - cat <<-EOF > "${T}/provider-${P}"
1587 - /usr/bin/rustdoc
1588 - /usr/bin/rust-gdb
1589 - /usr/bin/rust-gdbgui
1590 - /usr/bin/rust-lldb
1591 - EOF
1592 - echo /usr/bin/cargo >> "${T}/provider-${P}"
1593 - if use clippy; then
1594 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
1595 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
1596 - fi
1597 - if use miri; then
1598 - echo /usr/bin/miri >> "${T}/provider-${P}"
1599 - echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
1600 - fi
1601 - if use rls; then
1602 - echo /usr/bin/rls >> "${T}/provider-${P}"
1603 - fi
1604 - if use rustfmt; then
1605 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
1606 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
1607 - fi
1608 -
1609 - insinto /etc/env.d/rust
1610 - doins "${T}/provider-${P}"
1611 -}
1612 -
1613 -pkg_postinst() {
1614 - eselect rust update --if-unset
1615 -
1616 - elog "Rust installs a helper script for calling GDB and LLDB,"
1617 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
1618 -
1619 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
1620 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
1621 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
1622 -
1623 - if has_version app-editors/emacs; then
1624 - elog "install app-emacs/rust-mode to get emacs support for rust."
1625 - fi
1626 -
1627 - if has_version app-editors/gvim || has_version app-editors/vim; then
1628 - elog "install app-vim/rust-vim to get vim support for rust."
1629 - fi
1630 -
1631 - if use elibc_musl; then
1632 - ewarn "${PN} on *-musl targets is configured with crt-static"
1633 - ewarn ""
1634 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
1635 - ewarn "to use it with portage, otherwise you may see failures like"
1636 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
1637 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
1638 - fi
1639 -}
1640 -
1641 -pkg_postrm() {
1642 - eselect rust cleanup
1643 -}
1644
1645 diff --git a/dev-lang/rust/rust-1.43.1.ebuild b/dev-lang/rust/rust-1.43.1.ebuild
1646 deleted file mode 100644
1647 index b0e600fc3a1..00000000000
1648 --- a/dev-lang/rust/rust-1.43.1.ebuild
1649 +++ /dev/null
1650 @@ -1,419 +0,0 @@
1651 -# Copyright 1999-2020 Gentoo Authors
1652 -# Distributed under the terms of the GNU General Public License v2
1653 -
1654 -EAPI=7
1655 -
1656 -PYTHON_COMPAT=( python3_{6,7,8} )
1657 -
1658 -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
1659 -
1660 -if [[ ${PV} = *beta* ]]; then
1661 - betaver=${PV//*beta}
1662 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
1663 - MY_P="rustc-beta"
1664 - SLOT="beta/${PV}"
1665 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
1666 -else
1667 - ABI_VER="$(ver_cut 1-2)"
1668 - SLOT="stable/${ABI_VER}"
1669 - MY_P="rustc-${PV}"
1670 - SRC="${MY_P}-src.tar.xz"
1671 - KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
1672 -fi
1673 -
1674 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
1675 -
1676 -DESCRIPTION="Systems programming language from Mozilla"
1677 -HOMEPAGE="https://www.rust-lang.org/"
1678 -
1679 -SRC_URI="
1680 - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
1681 - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
1682 -"
1683 -
1684 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
1685 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
1686 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
1687 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
1688 -
1689 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
1690 -
1691 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
1692 -
1693 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
1694 -# we need to *really* make sure we're not pulling more than one slot
1695 -# simultaneously.
1696 -
1697 -# How to use it:
1698 -# 1. List all the working slots (with min versions) in ||, newest first.
1699 -# 2. Update the := to specify *max* version, e.g. < 11.
1700 -# 3. Specify LLVM_MAX_SLOT, e.g. 10.
1701 -LLVM_DEPEND="
1702 - || (
1703 - sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
1704 - sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
1705 - )
1706 - <sys-devel/llvm-11:=
1707 - wasm? ( sys-devel/lld )
1708 -"
1709 -LLVM_MAX_SLOT=10
1710 -
1711 -BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
1712 -
1713 -# libgit2 should be at least same as bundled into libgit-sys #707746
1714 -COMMON_DEPEND="
1715 - >=dev-libs/libgit2-0.99:=
1716 - net-libs/libssh2:=
1717 - net-libs/http-parser:=
1718 - net-misc/curl:=[ssl]
1719 - sys-libs/zlib:=
1720 - !libressl? ( dev-libs/openssl:0= )
1721 - libressl? ( dev-libs/libressl:0= )
1722 - elibc_musl? ( sys-libs/libunwind )
1723 - system-llvm? (
1724 - ${LLVM_DEPEND}
1725 - )
1726 -"
1727 -
1728 -DEPEND="${COMMON_DEPEND}
1729 - ${PYTHON_DEPS}
1730 - || (
1731 - >=sys-devel/gcc-4.7
1732 - >=sys-devel/clang-3.5
1733 - )
1734 - system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
1735 - !system-llvm? (
1736 - dev-util/cmake
1737 - dev-util/ninja
1738 - )
1739 -"
1740 -
1741 -RDEPEND="${COMMON_DEPEND}
1742 - >=app-eselect/eselect-rust-20190311
1743 -"
1744 -
1745 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
1746 - miri? ( nightly )
1747 - parallel-compiler? ( nightly )
1748 - wasm? ( llvm_targets_WebAssembly )
1749 - x86? ( cpu_flags_x86_sse2 )
1750 -"
1751 -
1752 -QA_FLAGS_IGNORED="
1753 - usr/bin/.*-${PV}
1754 - usr/lib.*/lib.*.so
1755 - usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
1756 - usr/lib/rustlib/.*/lib/lib.*.so
1757 -"
1758 -
1759 -# tests need a bit more work, currently they are causing multiple
1760 -# re-compilations and somewhat fragile.
1761 -RESTRICT="test"
1762 -
1763 -QA_SONAME="usr/lib.*/librustc_macros.*.so"
1764 -
1765 -PATCHES=(
1766 - "${FILESDIR}"/1.40.0-add-soname.patch
1767 - "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
1768 - "${FILESDIR}"/1.43.0-llvm10.patch
1769 - "${FILESDIR}"/1.42.0-libressl.patch
1770 -)
1771 -
1772 -S="${WORKDIR}/${MY_P}-src"
1773 -
1774 -toml_usex() {
1775 - usex "$1" true false
1776 -}
1777 -
1778 -pre_build_checks() {
1779 - CHECKREQS_DISK_BUILD="9G"
1780 - eshopts_push -s extglob
1781 - if is-flagq '-g?(gdb)?([1-9])'; then
1782 - CHECKREQS_DISK_BUILD="15G"
1783 - fi
1784 - eshopts_pop
1785 - check-reqs_pkg_setup
1786 -}
1787 -
1788 -pkg_pretend() {
1789 - pre_build_checks
1790 -}
1791 -
1792 -pkg_setup() {
1793 - pre_build_checks
1794 - python-any-r1_pkg_setup
1795 -
1796 - # required to link agains system libs, otherwise
1797 - # crates use bundled sources and compile own static version
1798 - export LIBGIT2_SYS_USE_PKG_CONFIG=1
1799 - export LIBSSH2_SYS_USE_PKG_CONFIG=1
1800 - export PKG_CONFIG_ALLOW_CROSS=1
1801 -
1802 - if use system-llvm; then
1803 - llvm_pkg_setup
1804 -
1805 - local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
1806 -
1807 - export LLVM_LINK_SHARED=1
1808 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
1809 - fi
1810 -}
1811 -
1812 -src_prepare() {
1813 - if ! use system-bootstrap; then
1814 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1815 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1816 -
1817 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
1818 - --destdir="${rust_stage0_root}" --prefix=/ || die
1819 - fi
1820 -
1821 - default
1822 -}
1823 -
1824 -src_configure() {
1825 - local rust_target="" rust_targets="" arch_cflags
1826 -
1827 - # Collect rust target names to compile standard libs for all ABIs.
1828 - for v in $(multilib_get_enabled_abi_pairs); do
1829 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1830 - done
1831 - if use wasm; then
1832 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1833 - fi
1834 - rust_targets="${rust_targets#,}"
1835 -
1836 - local tools="\"cargo\","
1837 - if use clippy; then
1838 - tools="\"clippy\",$tools"
1839 - fi
1840 - if use miri; then
1841 - tools="\"miri\",$tools"
1842 - fi
1843 - if use rls; then
1844 - tools="\"rls\",\"analysis\",\"src\",$tools"
1845 - fi
1846 - if use rustfmt; then
1847 - tools="\"rustfmt\",$tools"
1848 - fi
1849 -
1850 - local rust_stage0_root
1851 - if use system-bootstrap; then
1852 - rust_stage0_root="$(rustc --print sysroot)"
1853 - else
1854 - rust_stage0_root="${WORKDIR}"/rust-stage0
1855 - fi
1856 -
1857 - rust_target="$(rust_abi)"
1858 -
1859 - cat <<- EOF > "${S}"/config.toml
1860 - [llvm]
1861 - optimize = $(toml_usex !debug)
1862 - release-debuginfo = $(toml_usex debug)
1863 - assertions = $(toml_usex debug)
1864 - ninja = true
1865 - targets = "${LLVM_TARGETS// /;}"
1866 - experimental-targets = ""
1867 - link-shared = $(toml_usex system-llvm)
1868 - [build]
1869 - build = "${rust_target}"
1870 - host = ["${rust_target}"]
1871 - target = [${rust_targets}]
1872 - cargo = "${rust_stage0_root}/bin/cargo"
1873 - rustc = "${rust_stage0_root}/bin/rustc"
1874 - docs = $(toml_usex doc)
1875 - compiler-docs = $(toml_usex doc)
1876 - submodules = false
1877 - python = "${EPYTHON}"
1878 - locked-deps = true
1879 - vendor = true
1880 - extended = true
1881 - tools = [${tools}]
1882 - verbose = 2
1883 - sanitizers = false
1884 - profiler = false
1885 - cargo-native-static = false
1886 - [install]
1887 - prefix = "${EPREFIX}/usr"
1888 - libdir = "lib"
1889 - docdir = "share/doc/${PF}"
1890 - mandir = "share/man"
1891 - [rust]
1892 - optimize = true
1893 - debug = $(toml_usex debug)
1894 - debug-assertions = $(toml_usex debug)
1895 - debuginfo-level-rustc = 0
1896 - backtrace = true
1897 - incremental = false
1898 - default-linker = "$(tc-getCC)"
1899 - parallel-compiler = $(toml_usex parallel-compiler)
1900 - channel = "$(usex nightly nightly stable)"
1901 - rpath = false
1902 - verbose-tests = true
1903 - optimize-tests = $(toml_usex !debug)
1904 - codegen-tests = true
1905 - dist-src = false
1906 - lld = $(usex system-llvm false $(toml_usex wasm))
1907 - backtrace-on-ice = true
1908 - jemalloc = false
1909 - [dist]
1910 - src-tarball = false
1911 - EOF
1912 -
1913 - for v in $(multilib_get_enabled_abi_pairs); do
1914 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1915 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1916 -
1917 - cat <<- EOF >> "${S}"/config.env
1918 - CFLAGS_${rust_target}=${arch_cflags}
1919 - EOF
1920 -
1921 - cat <<- EOF >> "${S}"/config.toml
1922 - [target.${rust_target}]
1923 - cc = "$(tc-getBUILD_CC)"
1924 - cxx = "$(tc-getBUILD_CXX)"
1925 - linker = "$(tc-getCC)"
1926 - ar = "$(tc-getAR)"
1927 - EOF
1928 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1929 - if use elibc_musl; then
1930 - cat <<- EOF >> "${S}"/config.toml
1931 - crt-static = false
1932 - EOF
1933 - fi
1934 - if use system-llvm; then
1935 - cat <<- EOF >> "${S}"/config.toml
1936 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1937 - EOF
1938 - fi
1939 - done
1940 - if use wasm; then
1941 - cat <<- EOF >> "${S}"/config.toml
1942 - [target.wasm32-unknown-unknown]
1943 - linker = "$(usex system-llvm lld rust-lld)"
1944 - EOF
1945 - fi
1946 -
1947 - einfo "Rust configured with the following settings:"
1948 - cat "${S}"/config.toml || die
1949 -}
1950 -
1951 -src_compile() {
1952 - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
1953 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
1954 -}
1955 -
1956 -src_test() {
1957 - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
1958 - "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \
1959 - src/test/codegen \
1960 - src/test/codegen-units \
1961 - src/test/compile-fail \
1962 - src/test/incremental \
1963 - src/test/mir-opt \
1964 - src/test/pretty \
1965 - src/test/run-fail \
1966 - src/test/run-make \
1967 - src/test/run-make-fulldeps \
1968 - src/test/ui \
1969 - src/test/ui-fulldeps || die
1970 -}
1971 -
1972 -src_install() {
1973 - env $(cat "${S}"/config.env) DESTDIR="${D}" \
1974 - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
1975 -
1976 - # bug #689562, #689160
1977 - rm "${D}/etc/bash_completion.d/cargo" || die
1978 - rmdir "${D}"/etc{/bash_completion.d,} || die
1979 - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
1980 -
1981 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1982 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1983 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1984 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1985 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1986 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1987 - if use clippy; then
1988 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1989 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1990 - fi
1991 - if use miri; then
1992 - mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
1993 - mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
1994 - fi
1995 - if use rls; then
1996 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1997 - fi
1998 - if use rustfmt; then
1999 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
2000 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
2001 - fi
2002 -
2003 - # Move public shared libs to abi specific libdir
2004 - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
2005 - if [[ $(get_libdir) != lib ]]; then
2006 - dodir /usr/$(get_libdir)
2007 - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
2008 - fi
2009 -
2010 - dodoc COPYRIGHT
2011 - rm "${ED}/usr/share/doc/${P}"/*.old || die
2012 - rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
2013 - rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
2014 -
2015 - # note: eselect-rust adds EROOT to all paths below
2016 - cat <<-EOF > "${T}/provider-${P}"
2017 - /usr/bin/cargo
2018 - /usr/bin/rustdoc
2019 - /usr/bin/rust-gdb
2020 - /usr/bin/rust-gdbgui
2021 - /usr/bin/rust-lldb
2022 - EOF
2023 - if use clippy; then
2024 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
2025 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
2026 - fi
2027 - if use miri; then
2028 - echo /usr/bin/miri >> "${T}/provider-${P}"
2029 - echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
2030 - fi
2031 - if use rls; then
2032 - echo /usr/bin/rls >> "${T}/provider-${P}"
2033 - fi
2034 - if use rustfmt; then
2035 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
2036 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
2037 - fi
2038 -
2039 - insinto /etc/env.d/rust
2040 - doins "${T}/provider-${P}"
2041 -}
2042 -
2043 -pkg_postinst() {
2044 - eselect rust update --if-unset
2045 -
2046 - elog "Rust installs a helper script for calling GDB and LLDB,"
2047 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
2048 -
2049 - if has_version app-editors/emacs; then
2050 - elog "install app-emacs/rust-mode to get emacs support for rust."
2051 - fi
2052 -
2053 - if has_version app-editors/gvim || has_version app-editors/vim; then
2054 - elog "install app-vim/rust-vim to get vim support for rust."
2055 - fi
2056 -
2057 - if use elibc_musl; then
2058 - ewarn "${PN} on *-musl targets is configured with crt-static"
2059 - ewarn ""
2060 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
2061 - ewarn "to use it with portage, otherwise you may see failures like"
2062 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
2063 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
2064 - fi
2065 -}
2066 -
2067 -pkg_postrm() {
2068 - eselect rust cleanup
2069 -}