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: Mon, 30 Mar 2020 22:23:48
Message-Id: 1585606945.1a7a472e3118bb60c2893a4122f6788cb3135598.gyakovlev@gentoo
1 commit: 1a7a472e3118bb60c2893a4122f6788cb3135598
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 30 21:44:13 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 30 22:22:25 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a7a472e
7
8 dev-lang/rust: drop old
9
10 Package-Manager: Portage-2.3.96, Repoman-2.3.22
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 dev-lang/rust/Manifest | 60 ----
14 ...Add-additional-headers-only-if-they-exist.patch | 41 ---
15 dev-lang/rust/files/1.34.2-fix-custom-libdir.patch | 36 ---
16 ...commits-triggering-multiple-llvm-rebuilds.patch | 117 -------
17 dev-lang/rust/files/1.36.0-libressl.patch | 68 ----
18 dev-lang/rust/files/1.38.0-fix-custom-libdir.patch | 90 ------
19 .../files/1.38.0-fix-multiple-llvm-rebuilds.patch | 75 -----
20 dev-lang/rust/rust-1.37.0.ebuild | 342 --------------------
21 dev-lang/rust/rust-1.38.0.ebuild | 342 --------------------
22 dev-lang/rust/rust-1.39.0.ebuild | 347 --------------------
23 dev-lang/rust/rust-1.40.0-r1.ebuild | 358 ---------------------
24 11 files changed, 1876 deletions(-)
25
26 diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
27 index 1f07666b244..acba249de03 100644
28 --- a/dev-lang/rust/Manifest
29 +++ b/dev-lang/rust/Manifest
30 @@ -1,59 +1,3 @@
31 -DIST rust-1.36.0-aarch64-unknown-linux-gnu.tar.xz 139261576 BLAKE2B f8f0ac14c397253298bb321fef83e78fb839e647fa8a9ff891f16e3a1723e1ee69e59686357751b3b4c1a1d1e28632c2047be8795f8a27733ee4bbe8ff71e105 SHA512 77ffd9aa0dfdbb886a51c8d17e3e348c777226e859a48374dad8be20b9a3c7130c7f46d9173753e4ac4a264b45610767ba2625df4192773913892a13a255d3d6
32 -DIST rust-1.36.0-arm-unknown-linux-gnueabi.tar.xz 140294440 BLAKE2B 25d0ea284d20f93bc82618c61abcd4281835e914426e3e9998ff80d233af4cbb938c05bd3dc9422c3f212f24a08f6bea3f67691860acd8cce60d9f7015556381 SHA512 e1dd8200ade615bcedcc1372d4833c037435a47311ca8a20ebbf914d80add818bf70adadf2b6d33d5a4f04eb4994722978b6b3f83dc6a7cc3c98aea52f244405
33 -DIST rust-1.36.0-arm-unknown-linux-gnueabihf.tar.xz 140715096 BLAKE2B effed4996df93d2defa843b3356d80abb9a3a69990f5d6c7d6c38f18ad39d2b46618d64007014be931762ab31c2c46a747cc2705b3cd0ec66e7fa888ecfaf81a SHA512 dfabb476a1f31755eea4a0b976991ea083682463e4538f2b7f34dcfa4b6220b82d81fdf4c677294899d5cd740a8a3e012d1b0bb424ae529c05ce92802cf18959
34 -DIST rust-1.36.0-armv7-unknown-linux-gnueabihf.tar.xz 142315532 BLAKE2B bb6ca7c0af1691c82dd64fcd563573c815147457a69fd0ddef238db4bc5f0ccc7c7ea72429c9d7401db3d431674da70e86183ebad83e7153adad4287de385ac6 SHA512 b31e34f44df17d89f9f2a609a5b5b2320f43691e06ead257d893766abf8764a158adff0265dd60bf1f63dd98f0bf6bc64ae3b9e9f45200fbd7dfcaec3ba85d01
35 -DIST rust-1.36.0-i686-unknown-linux-gnu.tar.xz 182609496 BLAKE2B 8fa915670346e554f6a881a44bfac42a5ca565acc3426b35901952eae9ea36780181e7569c2db52688a28d680de6fd02764d93219fdf93e7adbba8b8de3b0e6a SHA512 34bcb93ec7a313a28ac20cd853e37419c4607f4035a367015826bd797401a2ada20ee99ae9028b6115c9db8aa1d4f74b74fb08ed09ab528d5946bc26c754b182
36 -DIST rust-1.36.0-mips-unknown-linux-gnu.tar.xz 134020892 BLAKE2B 0579a8f6ae590780a1bf8a79c6ece290262fedce30721dc4ce405f774d9ed4cda99680da0aed22050147478d2ad3fe391f028a6d1e05b47b509a33d6f1569090 SHA512 8163136f8621ff8b562e50123eef5903de3bf888a230fa83fcc6aa0fad9ea61e1a1cc2248479e6e0f82f0c25014207c7b7186177067a21721156c795d59e8188
37 -DIST rust-1.36.0-mips64-unknown-linux-gnuabi64.tar.xz 140200900 BLAKE2B e0e9d428d0af610d4dcf4ff38bafdb24001e6644dcad62af6b1782362520358411767b10740587e37dc1ffb85f4036495cdfdb15d68d387988df2512e9a78d05 SHA512 d3dcfef22fc2e130150c64aaeb13a96696c48353300049aca3ba42411548922945192847ba12834d21619d9db26a6628cea8417e3678e52f2742438b862f5d7a
38 -DIST rust-1.36.0-mipsel-unknown-linux-gnu.tar.xz 136390260 BLAKE2B 63e26f3a9563a065d086daa223b732ab0ab89b424cf3e764d93b56c9efe9d611c6565cf89b649819a71af2195f19c278824ee71e2985b20fe55f20e75b8b6be8 SHA512 c8f6538b677ab8b7154b7a7e07ead85a84ff08bc27d2150189e7597e1f9f30ac418d72684916dc85ae8ff95718ec17e289e1f813303e97cec59e63a7f5c1367b
39 -DIST rust-1.36.0-powerpc-unknown-linux-gnu.tar.xz 134270632 BLAKE2B 5466f797d778e2112a0aa53a05f6853d9baf261b1c9a53fd05ac4925b7eb85b7b0a3df02a8509f98b800e42ef2a5ec09cb176e0a5893fc5ee57d0805bcba621f SHA512 a02afacc01a92b5575e3526b3b9bfa149f86ec03b3601b269fe4cb05d8f4dfa24b62625737f8ffe67bfababbe791af1584f45979ef012004b7de7771f29a9edf
40 -DIST rust-1.36.0-powerpc64-unknown-linux-gnu.tar.xz 145880928 BLAKE2B 4922df3a7d7f2d77a3f3380ec4ae9a1e4062cc81abe16ccc978543e4c24c4415bc34db0831b73c078f1ebebb57cea81c600d4e320cb10a4c508a252169d6999b SHA512 20bdd2b427549c866343962abefc4ffc356a1cb6965c754f28f19b05c234cb9c0abccbce036013deba1dc7699c2889ec954fff2b944953385624be54ee7a733e
41 -DIST rust-1.36.0-powerpc64le-unknown-linux-gnu.tar.xz 149721676 BLAKE2B e00bcc60a89354f6d4b5c89feffe5fe6dd7bf25d8dd2db2878e7c12ffc484e9258f37d80bda2b12f3965d96c73f1a03b6adbd8c20176c383e04f1a229d47d000 SHA512 02f32b544b0a55ba6f6fc4852f18766107bc0ce2c50488db11605e8a10e5965dd44e8332905c00080b08576370f2f0297ecbe12ba9fe01b4c24cdb9fd03ad64f
42 -DIST rust-1.36.0-s390x-unknown-linux-gnu.tar.xz 159518028 BLAKE2B c5876ea15c9fa56a92b4c0bf2aab472b83381a7a31fbb207e4165fdc49fea2150dddd53cc771dbcb81b01fe43a3175df146d8645d04c556af3556822fc59bf25 SHA512 c637b8f50cbce3333280f43ce4b97d3f75ddae429ee34461837c3c3869e20aed8c5e76f7a58998f617dc0ffc2e6afd00908e5de05f4c7ed9a8c34d5dbc7ce916
43 -DIST rust-1.36.0-x86_64-unknown-linux-gnu.tar.xz 169600936 BLAKE2B 8bf075f2b5624e4716e3058512b85b70e72ec6f0c8ce8fc38857612b02aa5702a1bb447f13f882a1b96b1f32330d0a8f7f1f1db81827b51cb7429195e070a5a3 SHA512 3f14dda1e09ef8c8168600f4d70ba60cb2a1086ad9edb5eed708d0ffc16fdb9c582ce350a93afcd64b78f87737e37d4f099703835a1ec9837a5721c2335e17c7
44 -DIST rust-1.36.0-x86_64-unknown-linux-musl.tar.xz 147240872 BLAKE2B dafdd82f972daeace268286a1466eb3e6ad213eca7efc402e349a0f1306406832f7ff4b3dd4ca5663b985cea56977847ecd21e38c4de93829f8ee59016cbfff0 SHA512 3708ab3bf5f00766cea6382acd84d655b3a3864082192a37322172a22528219191a94e1d36d124d78c2723229bea927fcc2d87da1b6512bbcdd2ec5b7cc045ba
45 -DIST rust-1.37.0-aarch64-unknown-linux-gnu.tar.xz 124322996 BLAKE2B 732dc36933682a18bcd5694b1715af5c442452df8232e2affda8185b9aaf0daf297cf7c4a64fc7d35898e1b3829ba9e8fbe33e8c8f7bc6183b3149f983208ba8 SHA512 c70054f589aa2aecfbd6a89f567306e0cf5d3eb56e5a544ced0a5d212f14033dab10559d22dd6b07945e45a25d8de14fc7897c9d24c0d8149548a06b404ca9d2
46 -DIST rust-1.37.0-arm-unknown-linux-gnueabi.tar.xz 124741032 BLAKE2B 88e38ea9152546c8a04bd6f93fa8d97d3e58255568a522d2774a2656a4c6dd7bad74633a10b424f6c5f6ca07ea07e473e620ab24dfdbe5c27bb5141ab0f5bba8 SHA512 bd28b8bb60b8e4373693ad9d41bfe62eb12a7272a5d7978691b0c7e1892a2df8d6ff8cf5c25dab805fab1d03dd17c76c1014d395b042118cb24603739c6dbb32
47 -DIST rust-1.37.0-arm-unknown-linux-gnueabihf.tar.xz 124971492 BLAKE2B 07614242bc500c9ca81a87ed81cc0bada9b467049b7bc2afbe6245b742ac2bec9030feb08f0ef8a2402bf2c2a19722b8b06dacd0ef56edb0522bf41e29080a01 SHA512 e380e2bf862a157cb5e06d27fa8e306474e708ce7e0ffd087531a4fa5729bef104131c256625c05515f6e7dfd43f639ce1fd5e05a2da42ad7f437d578b4acd8a
48 -DIST rust-1.37.0-armv7-unknown-linux-gnueabihf.tar.xz 126583596 BLAKE2B f836c88801bde52c43726fb728d03b5f145b511a7a4b3d857de0218b87c83a4a2c939b9956aa61cef362a255209ea9e5159d2ac00edea2b9656ef320875f79a2 SHA512 6d9e055f36a2e912f30bebb25afdd3188019a438f208d3db67b38078bd5c37633c38fd48da15ba80640399babf89221e727a2bf43990aee269fcc5c91cd412b4
49 -DIST rust-1.37.0-i686-unknown-linux-gnu.tar.xz 177419360 BLAKE2B 4b28b002f0db349f9d12f2e4ae63b3fb5e9f472ec4d32d671626a56377cb87b07efd884ef3f4b23cca7072818c597fa8c693f55fd30ced5b408e8c0b0081af29 SHA512 b59377350f82efd10c7afe0f7a28ecbd5355719d841d40c98bec0f01961233f7a19bed2581a111a76cde8dd8dc68a019fa7d3da66cb7ebcb002ba52a14a7e573
50 -DIST rust-1.37.0-mips-unknown-linux-gnu.tar.xz 124577076 BLAKE2B 299d2b650c8236b94079ce4895e020bf2fe6c5d9b768da47d9716010eaa024c6b8ea743ddc7fadd660a9e49f65a02a8d0da7853cbff2bb6b43bb7771d3d42149 SHA512 1b71e1840470f7dd44cda177b7abf1cdc3f63db547fa36657b9fe5030a3d363afe1fa3ff8566351910daeef91ab4b33be46ef117342b4660fa23f76bee0ace00
51 -DIST rust-1.37.0-mips64-unknown-linux-gnuabi64.tar.xz 124565528 BLAKE2B e5bd6241ca7f2356638d39e18a71e577972143f37aa05e00e965bcce742828f25adf0f5cd6334c430d464e51b4112baeceb44a9eb41713233df6942b077983bb SHA512 1002173e608d29a2d32a6479a5c530d36e18bcce9e0813607369d3173c49b019a69ef05e8f1aba9b232285529f72837dfa8f4400866c49b6450e0f53028ebab1
52 -DIST rust-1.37.0-mipsel-unknown-linux-gnu.tar.xz 126620196 BLAKE2B 9174e7a48ba9e0f0bc2fc023991f6005614310a8db76824f5e733b0d8c4eaec6729c00b92e1c45f82fbb77f573c4bdc71004e887b9a170dc88c1a3f6e5ec0ccc SHA512 41f17b2f9bef0d5453153660d0f49aa0c8df0bfd003abac46728a477d3c00f67f5b1460aa851a92605fd628bf9dc18d9b44a16dbfc8fff22d84fd2a0a58b971e
53 -DIST rust-1.37.0-powerpc-unknown-linux-gnu.tar.xz 124035536 BLAKE2B 2b0b2c34cbe929ff4632e13b41670fa25e765a8b954c3226da67e098a06bb59c1d2387bf64beddaa554e439dd1549dcb529048bcb1e0f00998aee7bf302d6f6c SHA512 54b08c4a5523749ee5054e000f82ffc7ec29562d1194fbc311bee0e953c49eead3c851dcaf34803bb8eb997550a64ec784f40927f52d33b18ceee7c921c0eed0
54 -DIST rust-1.37.0-powerpc64-unknown-linux-gnu.tar.xz 128662180 BLAKE2B 0df1def64d07b3eabf1aa6c993c7a01b596119abf60b1a3e3e6663b1bb3c6a945146c9cd639ee7d57462e1cbb866badfa83abb7b52b36de4b089552f624c2245 SHA512 e8e5cf1c64bd3eec389cef022e1c7bae4618fb6966505d2e762d10e7f443fece43b8b95c989c020bdf739abaf9c3f036230df46f6477a2ccd517a7bdef2ba0d7
55 -DIST rust-1.37.0-powerpc64le-unknown-linux-gnu.tar.xz 131763436 BLAKE2B 76b9120e98da09344ce5af39a9b333c6ca8917516ae7108d6cc129fdda4d4d6c21e2ca4c41533e202f63b992bcede5390ec986a262ea216c1340a82c5ba798e8 SHA512 366c8920448000bfb4baa3a47588a1c7bc81e18afb8d40f0efc824e429e9e6900efbdb4c9003fb45b9d8595328bd612bd63f390a7d3dedbb30b7dc57fc12abf3
56 -DIST rust-1.37.0-s390x-unknown-linux-gnu.tar.xz 141808296 BLAKE2B 73825a004be81cca4dfff1301ea0ef45c9f55ab8d9a9a0343585377d83c4bdc03d3c027622f18e144c9355afe6f5236a6273f84b43b01a221066d3c395f71017 SHA512 14f403d3ce9df2a2baba1db13c9f039d7118d7e0c8285ca19ea0284c32e80c3f786660dedef4d1758b2227f91732b8e7deccbf3f38c2b3491738c1408d6bfd0e
57 -DIST rust-1.37.0-x86_64-unknown-linux-gnu.tar.xz 165034364 BLAKE2B 3047fff28da00e01179d3a648cb4e5636fa15ac7f4cb9ddc14e1df86d045b69ff3e41691b4a6ef4227c4cb58137524c5e029ba21a2c3a3a171fdb6f46b44f4ff SHA512 c4d48aa12cb929d6600f9cce81bb612c504aa1b3b3f8e76352af3a76b737dcbe0d31e8d139c17884b11aef9f12a55c4908fb8f3ff63dfa92533e4bd0a729914f
58 -DIST rust-1.37.0-x86_64-unknown-linux-musl.tar.xz 143179480 BLAKE2B 3362af42508b79757b4560adeb60c6f95ec603d5168581ea21c5b9bf36ddb26c6d8690c0a842be50de79f16cba553f16361df229ae3fb5dd3c6cfd79f657d8cf SHA512 dde7c8d827131866eff433d1102101558d40eba982a1b26872d7b03f60613041b0536c1d14f2dd8970e736d849094cfa4b869165371a45cd6295d8026f9333c9
59 -DIST rust-1.38.0-aarch64-unknown-linux-gnu.tar.xz 235231988 BLAKE2B 03ee6ab2c928134f8dd7e5812b60185b934c2f792b64d6271bff4fb714a9acd0f52a6aee291cc22e7f263cb52173568f5ccfb36edd0eb0dbcd567240beeb1372 SHA512 c9dea8907d05af938c1936139c1fb8673d0db90503552f53645d71637bb7248263fd20b1c16db140694b2d467a12c474015a2077d9b26c782b44e965a01544c6
60 -DIST rust-1.38.0-arm-unknown-linux-gnueabi.tar.xz 241780224 BLAKE2B ec362bc67d7b4f3e3d4ba2e19b46af61322b3f8284bf7fd66ac1eb006975c6d6aaa12be8b827147ac8ab42cc11d6c540161fc15c8233a2943a078ce89a300c17 SHA512 4ea00aa2b8bccae4fb595c687058af0c82905cbeef93b3d90f5224657bec0f269d0e75af2be6b97b2043442190dbe2df4aeacfafd6cc8916b0fe2ef28908e987
61 -DIST rust-1.38.0-arm-unknown-linux-gnueabihf.tar.xz 242107656 BLAKE2B 9c43dbe34d99925f34cec339adcedbf71d72515f08ac456293a17dc602ea027b90c552ef891908661f20c2ef07cd7915b9d8936206c65be9e8ae493c699e4265 SHA512 99726beb670af6411ed8dcfbd0eddbce3b964703492686226815f7c0a5c57fd3d0593925345d4f311cd9f5cb2eb9089e80cbb6c62ba767a901e5c5f099e6ebad
62 -DIST rust-1.38.0-armv7-unknown-linux-gnueabihf.tar.xz 243411104 BLAKE2B 19c9f2daa81170822ec23049945500a2a6c7342d6c03d50627dcc11766f31b592c40773777583b04666c75320f3953404c55c0b5aa213d771136afb3c4638fa6 SHA512 ddbb2c8d2e7112c5871155890c8308080ac800795c685c4b4d06b9dd8c5abd28ee13961686c9be465d1bbd33d476c6478b90af8de0ca5a451f8b07eaff42f97d
63 -DIST rust-1.38.0-i686-unknown-linux-gnu.tar.xz 298169160 BLAKE2B 93181072784885cbc23efe12e5511de9dcd564610169990e3d7617413a9073e06efa743b3c95d87fb3065c036ff4b4656e1d2a52571ca55b62a3364479fd87da SHA512 ffdea264378510c6df687a173211427f4cb5930553c9d14e33c5776b0e15d435d1be719bba8a1db50f50a3171a38802e090451dc92a6ea764cc8fdca24651f24
64 -DIST rust-1.38.0-mips-unknown-linux-gnu.tar.xz 242052876 BLAKE2B 323587aab4bb1d70795664efbc5ec61cf7dfc3d33f1e9831d6a2e0d591a4dc60c1d5bf305a4b7f767858ac33d296155c4baf8e2db23c48114f0ae72ba823ef83 SHA512 5bd8faff88ac35431087ee33520c92a52e64262774ea899d610137e51a71efa25403b1e026e509fc0593f6da65c68b561c051feadf482f0ee25875b526992109
65 -DIST rust-1.38.0-mips64-unknown-linux-gnuabi64.tar.xz 237741316 BLAKE2B d1f758013d53853d4713400e383cb443dae5187156a54ea39d4bd79f60b60e7322785613456a64c1d00e28b575ff528ba01d608cc234e23ead5156ac855b1ad0 SHA512 05884f678b31d7af0f54d8d31ef6d09d1a3a3e9d6d5245583e4ef5a2db47c3aa9e4a226b55678077b759156e41473e8ff9fa8b12c21276882a0bcb53b45d5811
66 -DIST rust-1.38.0-mipsel-unknown-linux-gnu.tar.xz 244454148 BLAKE2B a20f2ad0bcbf52e61a997271147161c7eed0dadd795ed16d2f0078924b8be9d132f464d5eefbe9c41a1cdb5ae18005e8d82b3b5ef703d5a7a86e4f940b847bcb SHA512 3eed9fa45a8a9e5f67282053933375f862860f6a68032a62fcd286ec39276610914689c83d9bd95302d15d61433304e2aca6f10b87d7eb762950f7574379e426
67 -DIST rust-1.38.0-powerpc-unknown-linux-gnu.tar.xz 239750464 BLAKE2B 202475f8035504a3d8a81b498c4461cbe4a25d29284dc504a5db2d52740ad8fb35dadbb83ac0fbfce14cefed1209431c16e10a91608b6a90633d8c3a08e03ae4 SHA512 3cc93f76a2e2defdfeb4c18b84a3c950716bdb6fe68446d4dd97d6b5a0ad53b2fc5e97f220a5f205ab07428f5d5a048a3a9de36f90d9685be8551b4be3188a36
68 -DIST rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz 240082008 BLAKE2B d15d508397cb4e7b8b8fdd13d6825e05d093b90250c8e261f86fd4588f1f338489c725506b3a1db8bc7a3b2df4979f18854d360ec2de6580e411572d216c1a59 SHA512 26240976834e510fa5a47c35b747b42db4651ea8decdb5498704432c9a21563e603046994fcc2b070d06361bf2c36fe02a15c7f02d88161b299a410f1995983a
69 -DIST rust-1.38.0-powerpc64le-unknown-linux-gnu.tar.xz 244407488 BLAKE2B 79ca67230dc4d16518421f08554bbc0093f2423469426d1f6f0a925a7bd01b059875ce1a1af29a516dd1cff745524702a8f37e8cb9b43398a32eb78a55e0c3ca SHA512 5f3e1dd233ef17d8a296dcb55738fa119e40c32b154a7575f149bf1475b64e34f7e805f206b9862dc6499be470f179290d8abb7ad8d2b5cb355cef03d95ae374
70 -DIST rust-1.38.0-s390x-unknown-linux-gnu.tar.xz 291685528 BLAKE2B 1d7678b68c5296fed276eb10a07ffd906cfe569b93b6872872c8aae10fa6f30f0ef4023e55256ee8d2e9f6935fc3391421f0f7758aaad60a0dac15b34074fcbc SHA512 7af64849236e0173d2aea723f3462682fde7d2e1e04d61c28d215163415e1b15cfb8cac57010ce55bdd928ea74076506ef50376d7550999e0fb00f9d20c4f5ff
71 -DIST rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz 279859784 BLAKE2B 40dab0ac1e800d7c095052800505220019154d40741d7c8872932948d5df62863fe9d1e43596a43411e959c2ddc4fb8d9b4e74525aa1a35352efec781054fc37 SHA512 0b25c3049a7a213e9151c898979ec9b5b45e46a9072f9853d8f048cf401ef7ac343526d6919e68607a490e3e7bd0375b12ed9fb253caed26bb60f46473d3699b
72 -DIST rust-1.38.0-x86_64-unknown-linux-musl.tar.xz 260574940 BLAKE2B e2ed6d6a9718a571a4592ee770e5ff4cb19ccd4909a32ac5d80fbe24b64ffd59ca5ce5e2d6c76d2fb9ae653a170b94ffe199ff4a23c10bec7ca489f16f23bc78 SHA512 f6670cab1d5bb6e39aec84c831146db673b06f773934058476fde237503211e04c633a1c4be8783c0b4f5bc4e5b67a873963d7a0c7d19b4531621678a73d3c00
73 -DIST rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz 238165960 BLAKE2B c3e14a7b57d904d0882cb224e2390087cca5a3b4a6246e52e6d064c554721efe7b5542e694a3b6d2115f9914214a94200e0ff31008a5c8df1448b667b0fdb34e SHA512 ad37a8454acb8985a5c2b42d7f8bc4212651a16fb5af6b4314dd97faa47de79893f2f74b516af89cd7e77ef3db64247c4764585eb0a17ac328c9cba5e5b9c407
74 -DIST rust-1.39.0-arm-unknown-linux-gnueabi.tar.xz 244091604 BLAKE2B 9d09dbd18cfdad062705ee3c1726cee7d4c25dd9a739be451e1bcbd7e6d36316a113f93c0f8309bec3a825435d6245d195fd5da7b35fb51f2cf61f6f638c415d SHA512 1d51d47650cf11bf16b21df0b759de9ae23d96d4b14b5107f062bd240d02d5793542efbf0feaa09403cd35ca38af3e85f1abbd5083b645d40cdb1189d02a8099
75 -DIST rust-1.39.0-arm-unknown-linux-gnueabihf.tar.xz 244501036 BLAKE2B a6ea74a0249e9c7509e21d20b9c04e59af93f78dde92557b6d449fb51776fb6e31d5baa19419547d9baf10768423642a0489c828c5919c055981876ef2282603 SHA512 291d9963f67708b5b14f1f27bb9e7d374fcd7a5d24d932db02203aaf89d06db8178305eb18e4dcd56cce81dc5eb80d2fb019ca94a99c06b548f0588ae560b7ac
76 -DIST rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz 246114456 BLAKE2B e412273d164fae3f7c1702601a4f518b15acdd8f75746de7fa0af63a67a7873ce27b7e5bdf9d1354508ca0b0d20705dfd26659c6355a12c6a2cc59ad8d2a2a2a SHA512 db2b001a5587e2d5c8cdcb53c974f2332e76f58e362cba55fc971d7244754f1fa0b7e708ad7e73e7250652b442f06929dc1e8981536d7d76850b45ade275d406
77 -DIST rust-1.39.0-i686-unknown-linux-gnu.tar.xz 297665804 BLAKE2B 0024993e80174c0dd71c5f781ea466690fb18e3b760b11382613cad10e6112122d90c54b2a7451c049711c13e0f3da979bf8e8d2e79723e7a484352303bf0337 SHA512 930546e79c0b1105eb0604ae33ccdbd8b00b56e56d069f19f0d802093a052fd3f940eaf1390cdecd79833b0c70457ebfee2ce3b9674fff72df1367076584394a
78 -DIST rust-1.39.0-mips-unknown-linux-gnu.tar.xz 242857808 BLAKE2B a2484913ce31ebae0be04f13dd24972a34206b00d5e141f3c5f8e43ab852547b149bc1002053276557d3dd18d231c2772d5817137fd7f615f155c742f0379af8 SHA512 ab9862a55fe0550c4d19c8fe4fa912661594b56f5f05b21c3ee660734a2d119b5b2dc70b9606af2ba91bd2911fe84c847480a828fb3f0a9d30132a70514d26d7
79 -DIST rust-1.39.0-mips64-unknown-linux-gnuabi64.tar.xz 238468588 BLAKE2B bb48de21d7a45ebb2464159b09974530572e08cf7adfee4d90b5280ed49867a591f9d3e21069868fecc14242649a9d68041baf07d9fb6c40ef8b3780ed8ab70f SHA512 93531394a9a8ed5edf3853f0d5c8faa795982e9c6a5a0a92832c2809c8baade736eafb8c0626ba6e543b05f693753c256b1d6290d5c41162d6129168ef1b5702
80 -DIST rust-1.39.0-mipsel-unknown-linux-gnu.tar.xz 246030532 BLAKE2B bfece8ee21b8bf0df389331ebbde98dc81810e4fb4c82e21c7fe2a85dcc27465f9a49e599bfdedf99a15cf479ff6c5baf27cc36e77afc90f281ac535ac0a92e0 SHA512 74536b1a1ce15f27ab8a1be7c9a7edb0638edf862c8f1464c98942287da1e7d64abec83be21634ddba2e88c0f9cf1456c000adc4360712aeab214ad87a44c9a7
81 -DIST rust-1.39.0-powerpc-unknown-linux-gnu.tar.xz 240597272 BLAKE2B a338ed495504d7aa290cfff3af37acc846b066921d0b84ae552ac4c127d24c645290098a711d3f2d17bf2a20f24356f24d67ece5aea7582dcc8a74cb6533209c SHA512 fa4ee683655d96c7ee1df12a39d50b1486c1e34cf4f10c09c6eecfb33b6f67b526dbcd02e1846d3e16db7103c04ee7f388a419ccfdf68ccc908b511b1fb8b7bd
82 -DIST rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz 242170220 BLAKE2B 3a5ec3b57c3611efb97f4f849cea3519f0bf4f0dd92d135b82603b10d0f1fe3b2832194ee989e38134c75a9c98a1402fc14382d4976d4f34680fbbba8de279cf SHA512 ff99ad6b120631346af8afac092f8b620e50fb8e118ef1e0ff5668103c01f4b9f082fae72e31a767be35d0647fd9fecc7e6b7b215bb1906e06b20bf3e2685619
83 -DIST rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz 247026740 BLAKE2B 90269aa78eded26c7d54c2e38a08af5f2a5cc3bfb86c268a12050315ba48f232f324b1fcc8e4abae49489cfd9df83edf6d04424ba14fb77f15daea1f6b5c242e SHA512 e15585150370514e580e171faa749218aeef04ce0493f5ad3928a0cb6cd0bddbf7c75ba8ed0783a2c954bbd7166e0445b4c33be4ab48479b0104f032b3d4b0af
84 -DIST rust-1.39.0-s390x-unknown-linux-gnu.tar.xz 298119784 BLAKE2B 82f64163929c129e2aaee8909401c4f302496f63f8d9d366d6f7460b4546d7657ea38bcd864ecd0f58a5995e47f7f5890e4523dcbcbc51e3bf4085536b07de5f SHA512 d2b588f802d4fbe153dbd88cb745d34d1f5434cb3134cc9e091ebfb336a48b4c886cd80311cf92b5e1c6a16374302853a67e8a0576b02a89dbcf61d27919a045
85 -DIST rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz 284967620 BLAKE2B c5d2c2a11c4f66105ece51e7ca45ca6a9e0d70215f94ce52f6e61b20995ceb611e45bad1e5e9f33fd444bb0a58a2edb691f1a65a1caf36ad892c034e00104383 SHA512 02ca6c821877379d8bd0bcc38281a87e6f86bdbae1270da19e41336cc3a812d9c11c1e976655c192c39153f92cda90ddbd7b4b0bcb4f6787d6d354d2be827a8a
86 -DIST rust-1.39.0-x86_64-unknown-linux-musl.tar.xz 262751216 BLAKE2B f719f4168f3d463f5184b9f72990f2e43b99f75902f762f5736e819f47ad451a325cbc7b7140cb322b46b5dc51253ebb8aa2a16b0f792343dbfcab5a91ac95a4 SHA512 155458717aaaaa82b202fae180c094e5a40f45071c3a0f6d27423a612ffe926058642fc82aaa7ea091963108b7a819d6156294149648e5b0a5d5b6196028f4fb
87 DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f
88 DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94
89 DIST rust-1.40.0-arm-unknown-linux-gnueabihf.tar.xz 82518972 BLAKE2B 2861693efa9bbd54e09bd693886941ec13b09f1901d384f24534b2852f9cb3b59fa0eaac1ec16bc6df49437cf08a09eff6c649729b0b8c2b4d8def6d7111d229 SHA512 994a91704e65e126bf3d53aa5ccbf9f92f05495a68db1917754f8bf078f16b0255797c884b4f2c70033ae0c94d5f41ad73e1af2e963580ebf56c90a6bf76630a
90 @@ -82,9 +26,5 @@ DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92e
91 DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
92 DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
93 DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
94 -DIST rustc-1.37.0-src.tar.xz 98654252 BLAKE2B ddee92c7959a0e1ee11ffe5ded6017703cfac7bbf2a00dc46c37ed28f1cd1d31e1d5b62cc1a5ae2d55d64f8705d0cb282f4968deddf36c3152e5e0cfdfbea67d SHA512 bfee43f578e6d44ead950b870b9fd31087e1bd3f917611f5dce7ad56504b83185edf43e297e8d1304e9e97b9a580d1e6adf6608ab8ed6dee0dc8c5153cdbc5d4
95 -DIST rustc-1.38.0-src.tar.xz 96163304 BLAKE2B 1e900b44db64727477ccf8e58e0ebb9ec209bbeb349816b5f7937e58c165db8befae33c5667732e5aaaa677c5a6c1e0229d9969ab8967fda9b8d7a593e6c5eb6 SHA512 b756d29a7a222bc7b5c7f42ff397346ab840f78e559f93e6e36b65e76eea525cf429899fe4de9fb8966623a2225b552feef9fa831bee50f9e25c976fa2af8c0a
96 -DIST rustc-1.39.0-src.tar.xz 96495140 BLAKE2B 6df6bf0c3b38c28753713acdc477ea6929740c32893171dd9b8620992439e45730ef6f9489a6fc411ff5884c661ac4c07b7b93f5a4174207ed53351d2dea09bf SHA512 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0
97 -DIST rustc-1.40.0-src.tar.xz 92306352 BLAKE2B 762b9592414e5c816540f6fd37d07b3b0ffe97a151968cc8ae77be2fda03a6d66905192985edc65055cc7811dbd90faa2b2c056481f72161c6f7ccbcce13671a SHA512 b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f
98 DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9
99 DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16
100
101 diff --git a/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch b/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
102 deleted file mode 100644
103 index b33311c0de8..00000000000
104 --- a/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
105 +++ /dev/null
106 @@ -1,41 +0,0 @@
107 -From 1f68002cb725c6a8fb5ca8425c1c86495a053f4f Mon Sep 17 00:00:00 2001
108 -From: Michal Gorny <mgorny@g.o>
109 -Date: Thu, 4 Apr 2019 14:21:38 +0000
110 -Subject: [PATCH] [llvm] [cmake] Add additional headers only if they exist
111 -
112 -Modify the add_header_files_for_glob() function to only add files
113 -that do exist, rather than all matches of the glob. This fixes CMake
114 -error when one of the include directories (which happen to include
115 -/usr/include) contain broken symlinks.
116 -
117 -Differential Revision: https://reviews.llvm.org/D59632
118 -
119 -llvm-svn: 357701
120 ----
121 - llvm/cmake/modules/LLVMProcessSources.cmake | 10 +++++++++-
122 - 1 file changed, 9 insertions(+), 1 deletion(-)
123 -
124 -diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake
125 -index 7cbd2863500..d0be0e8b3ba 100644
126 ---- a/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
127 -+++ b/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
128 -@@ -30,7 +30,15 @@ endmacro(add_td_sources)
129 -
130 - function(add_header_files_for_glob hdrs_out glob)
131 - file(GLOB hds ${glob})
132 -- set(${hdrs_out} ${hds} PARENT_SCOPE)
133 -+ set(filtered)
134 -+ foreach(file ${hds})
135 -+ # Explicit existence check is necessary to filter dangling symlinks
136 -+ # out. See https://bugs.gentoo.org/674662.
137 -+ if(EXISTS ${file})
138 -+ list(APPEND filtered ${file})
139 -+ endif()
140 -+ endforeach()
141 -+ set(${hdrs_out} ${filtered} PARENT_SCOPE)
142 - endfunction(add_header_files_for_glob)
143 -
144 - function(find_all_header_files hdrs_out additional_headerdirs)
145 ---
146 -2.21.0
147 -
148
149 diff --git a/dev-lang/rust/files/1.34.2-fix-custom-libdir.patch b/dev-lang/rust/files/1.34.2-fix-custom-libdir.patch
150 deleted file mode 100644
151 index 2856d98cdc5..00000000000
152 --- a/dev-lang/rust/files/1.34.2-fix-custom-libdir.patch
153 +++ /dev/null
154 @@ -1,36 +0,0 @@
155 -From c1aa2a464ed1a0fa2430a1e604fe6a3b9d785048 Mon Sep 17 00:00:00 2001
156 -From: O01eg <o01eg@××××××.ru>
157 -Date: Mon, 8 Jul 2019 22:49:24 +0300
158 -Subject: [PATCH] Fix double resolving custom libdir
159 -
160 ----
161 - src/bootstrap/dist.rs | 9 ++++++---
162 - 1 file changed, 6 insertions(+), 3 deletions(-)
163 -
164 -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
165 -index 45bc77ec97d4..5ddd1c3da949 100644
166 ---- a/src/bootstrap/dist.rs
167 -+++ b/src/bootstrap/dist.rs
168 -@@ -485,7 +485,9 @@ impl Step for Rustc {
169 - let name = entry.file_name();
170 - if let Some(s) = name.to_str() {
171 - if is_dylib(s) {
172 -- builder.install(&entry.path(), &image.join(&libdir_relative), 0o644);
173 -+ // Don't use custom libdir here because ^lib/ will be resolved again
174 -+ // with installer
175 -+ builder.install(&entry.path(), &image.join("lib"), 0o644);
176 - }
177 - }
178 - }
179 -@@ -493,8 +495,9 @@ impl Step for Rustc {
180 -
181 - // Copy over the codegen backends
182 - let backends_src = builder.sysroot_codegen_backends(compiler);
183 -- let backends_rel = backends_src.strip_prefix(&src).unwrap();
184 -- let backends_dst = image.join(&backends_rel);
185 -+ let backends_rel = backends_src.strip_prefix(&libdir).unwrap();
186 -+ // Don't use custom libdir here because ^lib/ will be resolved again with installer
187 -+ let backends_dst = image.join("lib").join(&backends_rel);
188 - t!(fs::create_dir_all(&backends_dst));
189 - builder.cp_r(&backends_src, &backends_dst);
190 -
191
192 diff --git a/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch b/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch
193 deleted file mode 100644
194 index 1c6c8ca404d..00000000000
195 --- a/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch
196 +++ /dev/null
197 @@ -1,117 +0,0 @@
198 -From d6bd0a479ceaf6abdd696c3b955a56f66275c562 Mon Sep 17 00:00:00 2001
199 -From: Georgy Yakovlev <gyakovlev@g.o>
200 -Date: Sat, 25 May 2019 22:21:16 -0700
201 -Subject: [PATCH] revert commits triggering multiple llvm rebuilds
202 -
203 -this reverts the following commits
204 -https://github.com/rust-lang/rust/commit/105692c3ad281c63bf0f75a26a66bb9cff5b4553
205 -https://github.com/rust-lang/rust/commit/975ba58f42b34ff07cd7c2bd73350daed2057186
206 -https://github.com/rust-lang/rust/commit/e1daa36ba7df88788c2684bbe5ff6eb37f1cda69
207 ----
208 - src/bootstrap/llvm-rebuild-trigger | 4 +++
209 - src/bootstrap/native.rs | 46 +++++++++++++-----------------
210 - 2 files changed, 24 insertions(+), 26 deletions(-)
211 - create mode 100644 src/bootstrap/llvm-rebuild-trigger
212 -
213 -diff --git a/src/bootstrap/llvm-rebuild-trigger b/src/bootstrap/llvm-rebuild-trigger
214 -new file mode 100644
215 -index 0000000000..0f18c6a4ac
216 ---- /dev/null
217 -+++ b/src/rustllvm/llvm-rebuild-trigger
218 -@@ -0,0 +1,4 @@
219 -+# If this file is modified, then llvm will be (optionally) cleaned and then rebuilt.
220 -+# The actual contents of this file do not matter, but to trigger a change on the
221 -+# build bots then the contents should be changed so git updates the mtime.
222 -+2019-03-18
223 -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
224 -index fde40b0d1b..3babbc9e10 100644
225 ---- a/src/bootstrap/native.rs
226 -+++ b/src/bootstrap/native.rs
227 -@@ -67,40 +67,30 @@ impl Step for Llvm {
228 - }
229 - }
230 -
231 -- let (llvm_info, root, out_dir, llvm_config_ret_dir) = if emscripten {
232 -- let info = &builder.emscripten_llvm_info;
233 -+ let rebuild_trigger = builder.src.join("src/rustllvm/llvm-rebuild-trigger");
234 -+ let rebuild_trigger_contents = t!(fs::read_to_string(&rebuild_trigger));
235 -+
236 -+ let (out_dir, llvm_config_ret_dir) = if emscripten {
237 - let dir = builder.emscripten_llvm_out(target);
238 - let config_dir = dir.join("bin");
239 -- (info, "src/llvm-emscripten", dir, config_dir)
240 -+ (dir, config_dir)
241 - } else {
242 -- let info = &builder.in_tree_llvm_info;
243 - let mut dir = builder.llvm_out(builder.config.build);
244 - if !builder.config.build.contains("msvc") || builder.config.ninja {
245 - dir.push("build");
246 - }
247 -- (info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin"))
248 -+ (builder.llvm_out(target), dir.join("bin"))
249 - };
250 --
251 -- if !llvm_info.is_git() {
252 -- println!(
253 -- "git could not determine the LLVM submodule commit hash. \
254 -- Assuming that an LLVM build is necessary.",
255 -- );
256 -- }
257 --
258 -+ let done_stamp = out_dir.join("llvm-finished-building");
259 - let build_llvm_config = llvm_config_ret_dir
260 - .join(exe("llvm-config", &*builder.config.build));
261 -- let done_stamp = out_dir.join("llvm-finished-building");
262 --
263 -- if let Some(llvm_commit) = llvm_info.sha() {
264 -- if done_stamp.exists() {
265 -- let done_contents = t!(fs::read(&done_stamp));
266 -+ if done_stamp.exists() {
267 -+ let done_contents = t!(fs::read_to_string(&done_stamp));
268 -
269 -- // If LLVM was already built previously and the submodule's commit didn't change
270 -- // from the previous build, then no action is required.
271 -- if done_contents == llvm_commit.as_bytes() {
272 -- return build_llvm_config
273 -- }
274 -+ // If LLVM was already built previously and contents of the rebuild-trigger file
275 -+ // didn't change from the previous build, then no action is required.
276 -+ if done_contents == rebuild_trigger_contents {
277 -+ return build_llvm_config
278 - }
279 - }
280 -
281 -@@ -111,6 +101,7 @@ impl Step for Llvm {
282 - t!(fs::create_dir_all(&out_dir));
283 -
284 - // http://llvm.org/docs/CMake.html
285 -+ let root = if self.emscripten { "src/llvm-emscripten" } else { "src/llvm-project/llvm" };
286 - let mut cfg = cmake::Config::new(builder.src.join(root));
287 -
288 - let profile = match (builder.config.llvm_optimize, builder.config.llvm_release_debuginfo) {
289 -@@ -251,6 +242,11 @@ impl Step for Llvm {
290 - channel::CFG_RELEASE_NUM,
291 - builder.config.channel,
292 - );
293 -+ let llvm_info = if self.emscripten {
294 -+ &builder.emscripten_llvm_info
295 -+ } else {
296 -+ &builder.in_tree_llvm_info
297 -+ };
298 - if let Some(sha) = llvm_info.sha_short() {
299 - default_suffix.push_str("-");
300 - default_suffix.push_str(sha);
301 -@@ -283,9 +279,7 @@ impl Step for Llvm {
302 -
303 - cfg.build();
304 -
305 -- if let Some(llvm_commit) = llvm_info.sha() {
306 -- t!(fs::write(&done_stamp, llvm_commit));
307 -- }
308 -+ t!(fs::write(&done_stamp, &rebuild_trigger_contents));
309 -
310 - build_llvm_config
311 - }
312 ---
313 -2.21.0
314 -
315
316 diff --git a/dev-lang/rust/files/1.36.0-libressl.patch b/dev-lang/rust/files/1.36.0-libressl.patch
317 deleted file mode 100644
318 index cc1ce26c8d4..00000000000
319 --- a/dev-lang/rust/files/1.36.0-libressl.patch
320 +++ /dev/null
321 @@ -1,68 +0,0 @@
322 -diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
323 -index 5c961bcbc..a0ea2d357 100644
324 ---- a/vendor/openssl-sys/.cargo-checksum.json
325 -+++ b/vendor/openssl-sys/.cargo-checksum.json
326 -@@ -1 +1 @@
327 --{"files":{"CHANGELOG.md":"a3e7e4750fe6130a93e9423d5b1b68c659dd29246602f71583c7a101c4d647be","Cargo.toml":"5fdba4ce7cf40abec303651694e79a5ae551f040a7bbaad134ed9ab54d26a613","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"61b741c4fe9612f5a70b19bec53d3ab7ec2d7038b163c35b54f0664caa104a31","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"d88c47f4cf851aa67c0e3dec679910c5c7ba239bc5a1aa89e507a875b4c4ca0f","build/main.rs":"681a1f8a8f389c82bbd3d2498a3692c201c63db658e7c3d162f09d5d81892fd4","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"f72d6871d38865d9e7378882135cdc6f1acd66c48a4fc846502b7f488dbbf111","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928
328 f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"95a0803286d1efbe709a3668443b5001f5cce6f9db216165b1e08950972e0bfd","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"5341787b108f4e9acb12428fbf993aa507e9d77b97284912f7eab414ec6aeff9","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"300007bcf00eaff03cb1d113547a79c9495b498ede9e1b2f709a9e6e1ba42ac1","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"e8931dd7e59a56a247823201f52828ec15d0b8dbd15ba297cacd3dcb3ca747cf","src/macros.rs":"638fb9
329 098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"83bb7745615a99fe2a8d5f8f51addba2024c7e6be847ab6c9244bfd04388c4f9","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7
330 d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"18c0c0c5ef02329be90fd279968da61d3e1a6b3a3aec102d6fefd99021d1822a","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":"33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"}
331 -\ No newline at end of file
332 -+{"files":{"CHANGELOG.md":"a3e7e4750fe6130a93e9423d5b1b68c659dd29246602f71583c7a101c4d647be","Cargo.toml":"5fdba4ce7cf40abec303651694e79a5ae551f040a7bbaad134ed9ab54d26a613","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"61b741c4fe9612f5a70b19bec53d3ab7ec2d7038b163c35b54f0664caa104a31","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"d88c47f4cf851aa67c0e3dec679910c5c7ba239bc5a1aa89e507a875b4c4ca0f","build/main.rs":"f2cd4ca8fde8298211581f9e1ca61668706d7681a38b95a63591450e1d8366a3","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"f72d6871d38865d9e7378882135cdc6f1acd66c48a4fc846502b7f488dbbf111","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928
333 f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"95a0803286d1efbe709a3668443b5001f5cce6f9db216165b1e08950972e0bfd","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"5341787b108f4e9acb12428fbf993aa507e9d77b97284912f7eab414ec6aeff9","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"300007bcf00eaff03cb1d113547a79c9495b498ede9e1b2f709a9e6e1ba42ac1","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"e8931dd7e59a56a247823201f52828ec15d0b8dbd15ba297cacd3dcb3ca747cf","src/macros.rs":"638fb9
334 098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"83bb7745615a99fe2a8d5f8f51addba2024c7e6be847ab6c9244bfd04388c4f9","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7
335 d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"18c0c0c5ef02329be90fd279968da61d3e1a6b3a3aec102d6fefd99021d1822a","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":"33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"}
336 -diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
337 -index 02b93b90a..f0cf4b4ff 100644
338 ---- a/vendor/openssl-sys/build/main.rs
339 -+++ b/vendor/openssl-sys/build/main.rs
340 -@@ -183,27 +183,31 @@ See rust-openssl README for more information:
341 - if let Some(libressl_version) = libressl_version {
342 - println!("cargo:libressl_version_number={:x}", libressl_version);
343 -
344 -+ let major = (libressl_version >> 28) as u8;
345 - let minor = (libressl_version >> 20) as u8;
346 - let fix = (libressl_version >> 12) as u8;
347 -- let (minor, fix) = match (minor, fix) {
348 -- (5, 0) => ('5', '0'),
349 -- (5, 1) => ('5', '1'),
350 -- (5, 2) => ('5', '2'),
351 -- (5, _) => ('5', 'x'),
352 -- (6, 0) => ('6', '0'),
353 -- (6, 1) => ('6', '1'),
354 -- (6, 2) => ('6', '2'),
355 -- (6, _) => ('6', 'x'),
356 -- (7, _) => ('7', 'x'),
357 -- (8, 0) => ('8', '0'),
358 -- (8, 1) => ('8', '1'),
359 -- (8, _) => ('8', 'x'),
360 -- (9, 0) => ('9', '0'),
361 -+ let (major, minor, fix) = match (major, minor, fix) {
362 -+ (2, 5, 0) => ('2', '5', '0'),
363 -+ (2, 5, 1) => ('2', '5', '1'),
364 -+ (2, 5, 2) => ('2', '5', '2'),
365 -+ (2, 5, _) => ('2', '5', 'x'),
366 -+ (2, 6, 0) => ('2', '6', '0'),
367 -+ (2, 6, 1) => ('2', '6', '1'),
368 -+ (2, 6, 2) => ('2', '6', '2'),
369 -+ (2, 6, _) => ('2', '6', 'x'),
370 -+ (2, 7, _) => ('2', '7', 'x'),
371 -+ (2, 8, 0) => ('2', '8', '0'),
372 -+ (2, 8, 1) => ('2', '8', '1'),
373 -+ (2, 8, _) => ('2', '8', 'x'),
374 -+ (2, 9, 0) => ('2', '9', '0'),
375 -+ (2, 9, _) => ('2', '9', 'x'),
376 -+ (3, 0, 0) => ('3', '0', '0'),
377 -+ (3, 0, _) => ('3', '0', 'x'),
378 - _ => version_error(),
379 - };
380 -
381 - println!("cargo:libressl=true");
382 -- println!("cargo:libressl_version=2{}{}", minor, fix);
383 -+ println!("cargo:libressl_version={}{}{}", major, minor, fix);
384 - println!("cargo:version=101");
385 - Version::Libressl
386 - } else {
387 -@@ -239,7 +243,7 @@ fn version_error() -> ! {
388 - "
389 -
390 - This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
391 --through 2.9.0, but a different version of OpenSSL was found. The build is now aborting
392 -+through 3.0.x, but a different version of OpenSSL was found. The build is now aborting
393 - due to this version mismatch.
394 -
395 - "
396
397 diff --git a/dev-lang/rust/files/1.38.0-fix-custom-libdir.patch b/dev-lang/rust/files/1.38.0-fix-custom-libdir.patch
398 deleted file mode 100644
399 index b2b14876c90..00000000000
400 --- a/dev-lang/rust/files/1.38.0-fix-custom-libdir.patch
401 +++ /dev/null
402 @@ -1,90 +0,0 @@
403 -From 8553cc0681db7fb6b58b25bb3fbd520604a0cc3a Mon Sep 17 00:00:00 2001
404 -From: O01eg <o01eg@××××××.ru>
405 -Date: Wed, 7 Aug 2019 23:37:55 +0300
406 -Subject: [PATCH] Fix double resolving custom libdir
407 -
408 ----
409 - src/bootstrap/builder.rs | 20 +++++++++++++-------
410 - src/bootstrap/dist.rs | 13 +++++++++----
411 - 2 files changed, 22 insertions(+), 11 deletions(-)
412 -
413 -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
414 -index 5a75497173eb..06ccdd8e7f0f 100644
415 ---- a/src/bootstrap/builder.rs
416 -+++ b/src/bootstrap/builder.rs
417 -@@ -627,13 +627,7 @@ impl<'a> Builder<'a> {
418 - }
419 -
420 - fn run(self, builder: &Builder<'_>) -> Interned<PathBuf> {
421 -- let compiler = self.compiler;
422 -- let config = &builder.build.config;
423 -- let lib = if compiler.stage >= 1 && config.libdir_relative().is_some() {
424 -- builder.build.config.libdir_relative().unwrap()
425 -- } else {
426 -- Path::new("lib")
427 -- };
428 -+ let lib = builder.sysroot_libdir_relative(self.compiler);
429 - let sysroot = builder
430 - .sysroot(self.compiler)
431 - .join(lib)
432 -@@ -687,6 +681,18 @@ impl<'a> Builder<'a> {
433 - }
434 - }
435 -
436 -+ /// Returns the compiler's relative libdir where the standard library and other artifacts are
437 -+ /// found for a compiler's sysroot.
438 -+ ///
439 -+ /// For example this returns `lib` on Unix and Windows.
440 -+ pub fn sysroot_libdir_relative(&self, compiler: Compiler) -> &Path {
441 -+ match self.config.libdir_relative() {
442 -+ Some(relative_libdir) if compiler.stage >= 1
443 -+ => relative_libdir,
444 -+ _ => Path::new("lib")
445 -+ }
446 -+ }
447 -+
448 - /// Adds the compiler's directory of dynamic libraries to `cmd`'s dynamic
449 - /// library lookup path.
450 - pub fn add_rustc_lib_path(&self, compiler: Compiler, cmd: &mut Command) {
451 -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
452 -index bd012a887c26..213ceb194a81 100644
453 ---- a/src/bootstrap/dist.rs
454 -+++ b/src/bootstrap/dist.rs
455 -@@ -469,7 +469,6 @@ impl Step for Rustc {
456 - fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
457 - let host = compiler.host;
458 - let src = builder.sysroot(compiler);
459 -- let libdir = builder.rustc_libdir(compiler);
460 -
461 - // Copy rustc/rustdoc binaries
462 - t!(fs::create_dir_all(image.join("bin")));
463 -@@ -481,11 +480,14 @@ impl Step for Rustc {
464 -
465 - // Copy runtime DLLs needed by the compiler
466 - if libdir_relative.to_str() != Some("bin") {
467 -+ let libdir = builder.rustc_libdir(compiler);
468 - for entry in builder.read_dir(&libdir) {
469 - let name = entry.file_name();
470 - if let Some(s) = name.to_str() {
471 - if is_dylib(s) {
472 -- builder.install(&entry.path(), &image.join(&libdir_relative), 0o644);
473 -+ // Don't use custom libdir here because ^lib/ will be resolved again
474 -+ // with installer
475 -+ builder.install(&entry.path(), &image.join("lib"), 0o644);
476 - }
477 - }
478 - }
479 -@@ -493,8 +495,11 @@ impl Step for Rustc {
480 -
481 - // Copy over the codegen backends
482 - let backends_src = builder.sysroot_codegen_backends(compiler);
483 -- let backends_rel = backends_src.strip_prefix(&src).unwrap();
484 -- let backends_dst = image.join(&backends_rel);
485 -+ let backends_rel = backends_src.strip_prefix(&src).unwrap()
486 -+ .strip_prefix(builder.sysroot_libdir_relative(compiler)).unwrap();
487 -+ // Don't use custom libdir here because ^lib/ will be resolved again with installer
488 -+ let backends_dst = image.join("lib").join(&backends_rel);
489 -+
490 - t!(fs::create_dir_all(&backends_dst));
491 - builder.cp_r(&backends_src, &backends_dst);
492 -
493
494 diff --git a/dev-lang/rust/files/1.38.0-fix-multiple-llvm-rebuilds.patch b/dev-lang/rust/files/1.38.0-fix-multiple-llvm-rebuilds.patch
495 deleted file mode 100644
496 index 235b95625e4..00000000000
497 --- a/dev-lang/rust/files/1.38.0-fix-multiple-llvm-rebuilds.patch
498 +++ /dev/null
499 @@ -1,75 +0,0 @@
500 -From 53fe76479aab03b1fbe5b7184f45484886f769b1 Mon Sep 17 00:00:00 2001
501 -From: Josh Stone <jistone@××××××.com>
502 -Date: Wed, 4 Sep 2019 16:02:31 -0700
503 -Subject: [PATCH] Assume non-git LLVM is fresh if the stamp file exists
504 -
505 -Rustbuild usually writes the LLVM submodule commit in a stamp file, so
506 -we can avoid rebuilding it unnecessarily. However, for builds from a
507 -source tarball (non-git), we were assuming a rebuild is always needed.
508 -This can cause a lot of extra work if any environment like `CFLAGS`
509 -changed between steps like build and install, which are often separate
510 -in distro builds.
511 -
512 -Now we also write an empty stamp file if the git commit is unknown, and
513 -its presence is trusted to indicate that no rebuild is needed. An info
514 -message reports that this is happening, along with the stamp file path
515 -that can be deleted to force a rebuild anyway.
516 ----
517 - src/bootstrap/native.rs | 27 ++++++++++++++-------------
518 - 1 file changed, 14 insertions(+), 13 deletions(-)
519 -
520 -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
521 -index f02def3e1b05..7bf9ea2688f4 100644
522 ---- a/src/bootstrap/native.rs
523 -+++ b/src/bootstrap/native.rs
524 -@@ -81,26 +81,29 @@ impl Step for Llvm {
525 - (info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin"))
526 - };
527 -
528 -- if !llvm_info.is_git() {
529 -- println!(
530 -- "git could not determine the LLVM submodule commit hash. \
531 -- Assuming that an LLVM build is necessary.",
532 -- );
533 -- }
534 --
535 - let build_llvm_config = llvm_config_ret_dir
536 - .join(exe("llvm-config", &*builder.config.build));
537 - let done_stamp = out_dir.join("llvm-finished-building");
538 -
539 -- if let Some(llvm_commit) = llvm_info.sha() {
540 -- if done_stamp.exists() {
541 -+ if done_stamp.exists() {
542 -+ if let Some(llvm_commit) = llvm_info.sha() {
543 - let done_contents = t!(fs::read(&done_stamp));
544 -
545 - // If LLVM was already built previously and the submodule's commit didn't change
546 - // from the previous build, then no action is required.
547 - if done_contents == llvm_commit.as_bytes() {
548 -- return build_llvm_config
549 -+ return build_llvm_config;
550 - }
551 -+ } else {
552 -+ builder.info(
553 -+ "Could not determine the LLVM submodule commit hash. \
554 -+ Assuming that an LLVM rebuild is not necessary.",
555 -+ );
556 -+ builder.info(&format!(
557 -+ "To force LLVM to rebuild, remove the file `{}`",
558 -+ done_stamp.display()
559 -+ ));
560 -+ return build_llvm_config;
561 - }
562 - }
563 -
564 -@@ -303,9 +306,7 @@ impl Step for Llvm {
565 -
566 - cfg.build();
567 -
568 -- if let Some(llvm_commit) = llvm_info.sha() {
569 -- t!(fs::write(&done_stamp, llvm_commit));
570 -- }
571 -+ t!(fs::write(&done_stamp, llvm_info.sha().unwrap_or("")));
572 -
573 - build_llvm_config
574 - }
575
576 diff --git a/dev-lang/rust/rust-1.37.0.ebuild b/dev-lang/rust/rust-1.37.0.ebuild
577 deleted file mode 100644
578 index f7294f8494a..00000000000
579 --- a/dev-lang/rust/rust-1.37.0.ebuild
580 +++ /dev/null
581 @@ -1,342 +0,0 @@
582 -# Copyright 1999-2020 Gentoo Authors
583 -# Distributed under the terms of the GNU General Public License v2
584 -
585 -EAPI=7
586 -
587 -PYTHON_COMPAT=( python3_{6,7} )
588 -
589 -inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
590 -
591 -if [[ ${PV} = *beta* ]]; then
592 - betaver=${PV//*beta}
593 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
594 - MY_P="rustc-beta"
595 - SLOT="beta/${PV}"
596 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
597 -else
598 - ABI_VER="$(ver_cut 1-2)"
599 - SLOT="stable/${ABI_VER}"
600 - MY_P="rustc-${PV}"
601 - SRC="${MY_P}-src.tar.xz"
602 - KEYWORDS="amd64 arm64 ppc64 x86"
603 -fi
604 -
605 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
606 -
607 -DESCRIPTION="Systems programming language from Mozilla"
608 -HOMEPAGE="https://www.rust-lang.org/"
609 -
610 -SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
611 - $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
612 -
613 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
614 - NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
615 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
616 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
617 -
618 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
619 -
620 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
621 -
622 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
623 -# we need to *really* make sure we're not pulling one than more slot
624 -# simultaneously.
625 -
626 -# How to use it:
627 -# 1. List all the working slots (with min versions) in ||, newest first.
628 -# 2. Update the := to specify *max* version, e.g. < 9.
629 -# 3. Specify LLVM_MAX_SLOT, e.g. 8.
630 -LLVM_DEPEND="
631 - || (
632 - sys-devel/llvm:8[llvm_targets_WebAssembly?]
633 - wasm? ( =sys-devel/lld-8* )
634 - )
635 - <sys-devel/llvm-9:=
636 -"
637 -LLVM_MAX_SLOT=8
638 -
639 -COMMON_DEPEND="
640 - sys-libs/zlib
641 - !libressl? ( dev-libs/openssl:0= )
642 - libressl? ( dev-libs/libressl:0= )
643 - net-libs/libssh2
644 - net-libs/http-parser:=
645 - net-misc/curl[ssl]
646 - elibc_musl? ( sys-libs/libunwind )
647 - system-llvm? (
648 - ${LLVM_DEPEND}
649 - )
650 -"
651 -
652 -DEPEND="${COMMON_DEPEND}
653 - ${PYTHON_DEPS}
654 - || (
655 - >=sys-devel/gcc-4.7
656 - >=sys-devel/clang-3.5
657 - )
658 - dev-util/cmake
659 -"
660 -
661 -RDEPEND="${COMMON_DEPEND}
662 - >=app-eselect/eselect-rust-20190311
663 - !dev-util/cargo
664 - rustfmt? ( !dev-util/rustfmt )
665 -"
666 -
667 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
668 - wasm? ( llvm_targets_WebAssembly )
669 - x86? ( cpu_flags_x86_sse2 )
670 -"
671 -
672 -PATCHES=(
673 - "${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
674 - "${FILESDIR}"/1.34.2-fix-custom-libdir.patch
675 - "${FILESDIR}"/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch
676 - "${FILESDIR}"/1.36.0-libressl.patch
677 -)
678 -
679 -S="${WORKDIR}/${MY_P}-src"
680 -
681 -toml_usex() {
682 - usex "$1" true false
683 -}
684 -
685 -pre_build_checks() {
686 - CHECKREQS_DISK_BUILD="7G"
687 - eshopts_push -s extglob
688 - if is-flagq '-g?(gdb)?([1-9])'; then
689 - CHECKREQS_DISK_BUILD="10G"
690 - fi
691 - eshopts_pop
692 - check-reqs_pkg_setup
693 -}
694 -
695 -pkg_pretend() {
696 - pre_build_checks
697 -}
698 -
699 -pkg_setup() {
700 - pre_build_checks
701 - python-any-r1_pkg_setup
702 - use system-llvm && llvm_pkg_setup
703 -}
704 -
705 -src_prepare() {
706 - local rust_stage0_root="${WORKDIR}"/rust-stage0
707 -
708 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
709 -
710 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
711 -
712 - default
713 -}
714 -
715 -src_configure() {
716 - local rust_target="" rust_targets="" arch_cflags
717 -
718 - # Collect rust target names to compile standard libs for all ABIs.
719 - for v in $(multilib_get_enabled_abi_pairs); do
720 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
721 - done
722 - if use wasm; then
723 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
724 - fi
725 - rust_targets="${rust_targets#,}"
726 -
727 - local extended="true" tools="\"cargo\","
728 - if use clippy; then
729 - tools="\"clippy\",$tools"
730 - fi
731 - if use rls; then
732 - tools="\"rls\",\"analysis\",\"src\",$tools"
733 - fi
734 - if use rustfmt; then
735 - tools="\"rustfmt\",$tools"
736 - fi
737 -
738 - local rust_stage0_root="${WORKDIR}"/rust-stage0
739 -
740 - rust_target="$(rust_abi)"
741 -
742 - cat <<- EOF > "${S}"/config.toml
743 - [llvm]
744 - optimize = $(toml_usex !debug)
745 - release-debuginfo = $(toml_usex debug)
746 - assertions = $(toml_usex debug)
747 - targets = "${LLVM_TARGETS// /;}"
748 - experimental-targets = ""
749 - link-shared = $(toml_usex system-llvm)
750 - [build]
751 - build = "${rust_target}"
752 - host = ["${rust_target}"]
753 - target = [${rust_targets}]
754 - cargo = "${rust_stage0_root}/bin/cargo"
755 - rustc = "${rust_stage0_root}/bin/rustc"
756 - docs = $(toml_usex doc)
757 - submodules = false
758 - python = "${EPYTHON}"
759 - locked-deps = true
760 - vendor = true
761 - extended = ${extended}
762 - tools = [${tools}]
763 - verbose = 2
764 - [install]
765 - prefix = "${EPREFIX}/usr"
766 - libdir = "$(get_libdir)/${P}"
767 - docdir = "share/doc/${P}"
768 - mandir = "share/${P}/man"
769 - [rust]
770 - optimize = $(toml_usex !debug)
771 - debug = $(toml_usex debug)
772 - debug-assertions = $(toml_usex debug)
773 - default-linker = "$(tc-getCC)"
774 - channel = "stable"
775 - rpath = false
776 - lld = $(usex system-llvm false $(toml_usex wasm))
777 - EOF
778 -
779 - for v in $(multilib_get_enabled_abi_pairs); do
780 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
781 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
782 -
783 - cat <<- EOF >> "${S}"/config.env
784 - CFLAGS_${rust_target}=${arch_cflags}
785 - EOF
786 -
787 - cat <<- EOF >> "${S}"/config.toml
788 - [target.${rust_target}]
789 - cc = "$(tc-getBUILD_CC)"
790 - cxx = "$(tc-getBUILD_CXX)"
791 - linker = "$(tc-getCC)"
792 - ar = "$(tc-getAR)"
793 - EOF
794 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
795 - if use elibc_musl; then
796 - cat <<- EOF >> "${S}"/config.toml
797 - crt-static = false
798 - EOF
799 - fi
800 - if use system-llvm; then
801 - cat <<- EOF >> "${S}"/config.toml
802 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
803 - EOF
804 - fi
805 - done
806 -
807 - if use wasm; then
808 - cat <<- EOF >> "${S}"/config.toml
809 - [target.wasm32-unknown-unknown]
810 - linker = "$(usex system-llvm lld rust-lld)"
811 - EOF
812 - fi
813 -}
814 -
815 -src_compile() {
816 - env $(cat "${S}"/config.env)\
817 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
818 - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
819 -}
820 -
821 -src_install() {
822 - local rust_target abi_libdir
823 -
824 - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
825 - --exclude src/tools/miri || die
826 -
827 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
828 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
829 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
830 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
831 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
832 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
833 - if use clippy; then
834 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
835 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
836 - fi
837 - if use rls; then
838 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
839 - fi
840 - if use rustfmt; then
841 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
842 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
843 - fi
844 -
845 - # Copy shared library versions of standard libraries for all targets
846 - # into the system's abi-dependent lib directories because the rust
847 - # installer only does so for the native ABI.
848 - for v in $(multilib_get_enabled_abi_pairs); do
849 - if [ ${v##*.} = ${DEFAULT_ABI} ]; then
850 - continue
851 - fi
852 - abi_libdir=$(get_abi_LIBDIR ${v##*.})
853 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
854 - mkdir -p "${ED}/usr/${abi_libdir}/${P}"
855 - cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
856 - "${ED}/usr/${abi_libdir}/${P}" || die
857 - done
858 -
859 - dodoc COPYRIGHT
860 -
861 - # FIXME:
862 - # Really not sure if that env is needed, specailly LDPATH
863 - cat <<-EOF > "${T}"/50${P}
864 - LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
865 - MANPATH="${EPREFIX}/usr/share/${P}/man"
866 - EOF
867 - doenvd "${T}"/50${P}
868 -
869 - # note: eselect-rust adds EROOT to all paths below
870 - cat <<-EOF > "${T}/provider-${P}"
871 - /usr/bin/rustdoc
872 - /usr/bin/rust-gdb
873 - /usr/bin/rust-gdbgui
874 - /usr/bin/rust-lldb
875 - EOF
876 - echo /usr/bin/cargo >> "${T}/provider-${P}"
877 - if use clippy; then
878 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
879 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
880 - fi
881 - if use rls; then
882 - echo /usr/bin/rls >> "${T}/provider-${P}"
883 - fi
884 - if use rustfmt; then
885 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
886 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
887 - fi
888 -
889 - insinto /etc/env.d/rust
890 - doins "${T}/provider-${P}"
891 -}
892 -
893 -pkg_postinst() {
894 - eselect rust update --if-unset
895 -
896 - elog "Rust installs a helper script for calling GDB and LLDB,"
897 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
898 -
899 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
900 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
901 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
902 -
903 - if has_version app-editors/emacs; then
904 - elog "install app-emacs/rust-mode to get emacs support for rust."
905 - fi
906 -
907 - if has_version app-editors/gvim || has_version app-editors/vim; then
908 - elog "install app-vim/rust-vim to get vim support for rust."
909 - fi
910 -
911 - if use elibc_musl; then
912 - ewarn "${PN} on *-musl targets is configured with crt-static"
913 - ewarn ""
914 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
915 - ewarn "to use it with portage, otherwise you may see failures like"
916 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
917 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
918 - fi
919 -}
920 -
921 -pkg_postrm() {
922 - eselect rust cleanup
923 -}
924
925 diff --git a/dev-lang/rust/rust-1.38.0.ebuild b/dev-lang/rust/rust-1.38.0.ebuild
926 deleted file mode 100644
927 index c4e9d3cf9ee..00000000000
928 --- a/dev-lang/rust/rust-1.38.0.ebuild
929 +++ /dev/null
930 @@ -1,342 +0,0 @@
931 -# Copyright 1999-2020 Gentoo Authors
932 -# Distributed under the terms of the GNU General Public License v2
933 -
934 -EAPI=7
935 -
936 -PYTHON_COMPAT=( python3_{6,7} )
937 -
938 -inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
939 -
940 -if [[ ${PV} = *beta* ]]; then
941 - betaver=${PV//*beta}
942 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
943 - MY_P="rustc-beta"
944 - SLOT="beta/${PV}"
945 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
946 -else
947 - ABI_VER="$(ver_cut 1-2)"
948 - SLOT="stable/${ABI_VER}"
949 - MY_P="rustc-${PV}"
950 - SRC="${MY_P}-src.tar.xz"
951 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
952 -fi
953 -
954 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
955 -
956 -DESCRIPTION="Systems programming language from Mozilla"
957 -HOMEPAGE="https://www.rust-lang.org/"
958 -
959 -SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
960 - $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
961 -
962 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
963 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
964 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
965 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
966 -
967 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
968 -
969 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
970 -
971 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
972 -# we need to *really* make sure we're not pulling more than one slot
973 -# simultaneously.
974 -
975 -# How to use it:
976 -# 1. List all the working slots (with min versions) in ||, newest first.
977 -# 2. Update the := to specify *max* version, e.g. < 9.
978 -# 3. Specify LLVM_MAX_SLOT, e.g. 8.
979 -LLVM_DEPEND="
980 - || (
981 - sys-devel/llvm:9[llvm_targets_WebAssembly?]
982 - wasm? ( =sys-devel/lld-9* )
983 - )
984 - <sys-devel/llvm-10:=
985 -"
986 -LLVM_MAX_SLOT=9
987 -
988 -COMMON_DEPEND="
989 - sys-libs/zlib
990 - !libressl? ( dev-libs/openssl:0= )
991 - libressl? ( dev-libs/libressl:0= )
992 - net-libs/libssh2
993 - net-libs/http-parser:=
994 - net-misc/curl[ssl]
995 - elibc_musl? ( sys-libs/libunwind )
996 - system-llvm? (
997 - ${LLVM_DEPEND}
998 - )
999 -"
1000 -
1001 -DEPEND="${COMMON_DEPEND}
1002 - ${PYTHON_DEPS}
1003 - || (
1004 - >=sys-devel/gcc-4.7
1005 - >=sys-devel/clang-3.5
1006 - )
1007 - dev-util/cmake
1008 -"
1009 -
1010 -RDEPEND="${COMMON_DEPEND}
1011 - >=app-eselect/eselect-rust-20190311
1012 - !dev-util/cargo
1013 - rustfmt? ( !dev-util/rustfmt )
1014 -"
1015 -
1016 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
1017 - wasm? ( llvm_targets_WebAssembly )
1018 - x86? ( cpu_flags_x86_sse2 )
1019 -"
1020 -QA_FLAGS_IGNORED="usr/bin/* usr/lib*/${P}"
1021 -
1022 -PATCHES=(
1023 - "${FILESDIR}"/1.38.0-fix-custom-libdir.patch
1024 - "${FILESDIR}"/1.38.0-fix-multiple-llvm-rebuilds.patch
1025 - "${FILESDIR}"/1.36.0-libressl.patch
1026 -)
1027 -
1028 -S="${WORKDIR}/${MY_P}-src"
1029 -
1030 -toml_usex() {
1031 - usex "$1" true false
1032 -}
1033 -
1034 -pre_build_checks() {
1035 - CHECKREQS_DISK_BUILD="9G"
1036 - eshopts_push -s extglob
1037 - if is-flagq '-g?(gdb)?([1-9])'; then
1038 - CHECKREQS_DISK_BUILD="14G"
1039 - fi
1040 - eshopts_pop
1041 - check-reqs_pkg_setup
1042 -}
1043 -
1044 -pkg_pretend() {
1045 - pre_build_checks
1046 -}
1047 -
1048 -pkg_setup() {
1049 - pre_build_checks
1050 - python-any-r1_pkg_setup
1051 - use system-llvm && llvm_pkg_setup
1052 -}
1053 -
1054 -src_prepare() {
1055 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1056 -
1057 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1058 -
1059 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
1060 -
1061 - default
1062 -}
1063 -
1064 -src_configure() {
1065 - local rust_target="" rust_targets="" arch_cflags
1066 -
1067 - # Collect rust target names to compile standard libs for all ABIs.
1068 - for v in $(multilib_get_enabled_abi_pairs); do
1069 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1070 - done
1071 - if use wasm; then
1072 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1073 - fi
1074 - rust_targets="${rust_targets#,}"
1075 -
1076 - local extended="true" tools="\"cargo\","
1077 - if use clippy; then
1078 - tools="\"clippy\",$tools"
1079 - fi
1080 - if use rls; then
1081 - tools="\"rls\",\"analysis\",\"src\",$tools"
1082 - fi
1083 - if use rustfmt; then
1084 - tools="\"rustfmt\",$tools"
1085 - fi
1086 -
1087 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1088 -
1089 - rust_target="$(rust_abi)"
1090 -
1091 - cat <<- EOF > "${S}"/config.toml
1092 - [llvm]
1093 - optimize = $(toml_usex !debug)
1094 - release-debuginfo = $(toml_usex debug)
1095 - assertions = $(toml_usex debug)
1096 - targets = "${LLVM_TARGETS// /;}"
1097 - experimental-targets = ""
1098 - link-shared = $(toml_usex system-llvm)
1099 - [build]
1100 - build = "${rust_target}"
1101 - host = ["${rust_target}"]
1102 - target = [${rust_targets}]
1103 - cargo = "${rust_stage0_root}/bin/cargo"
1104 - rustc = "${rust_stage0_root}/bin/rustc"
1105 - docs = $(toml_usex doc)
1106 - submodules = false
1107 - python = "${EPYTHON}"
1108 - locked-deps = true
1109 - vendor = true
1110 - extended = ${extended}
1111 - tools = [${tools}]
1112 - verbose = 2
1113 - [install]
1114 - prefix = "${EPREFIX}/usr"
1115 - libdir = "$(get_libdir)/${P}"
1116 - docdir = "share/doc/${P}"
1117 - mandir = "share/${P}/man"
1118 - [rust]
1119 - optimize = $(toml_usex !debug)
1120 - debug = $(toml_usex debug)
1121 - debug-assertions = $(toml_usex debug)
1122 - default-linker = "$(tc-getCC)"
1123 - channel = "stable"
1124 - rpath = false
1125 - lld = $(usex system-llvm false $(toml_usex wasm))
1126 - EOF
1127 -
1128 - for v in $(multilib_get_enabled_abi_pairs); do
1129 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1130 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1131 -
1132 - cat <<- EOF >> "${S}"/config.env
1133 - CFLAGS_${rust_target}=${arch_cflags}
1134 - EOF
1135 -
1136 - cat <<- EOF >> "${S}"/config.toml
1137 - [target.${rust_target}]
1138 - cc = "$(tc-getBUILD_CC)"
1139 - cxx = "$(tc-getBUILD_CXX)"
1140 - linker = "$(tc-getCC)"
1141 - ar = "$(tc-getAR)"
1142 - EOF
1143 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1144 - if use elibc_musl; then
1145 - cat <<- EOF >> "${S}"/config.toml
1146 - crt-static = false
1147 - EOF
1148 - fi
1149 - if use system-llvm; then
1150 - cat <<- EOF >> "${S}"/config.toml
1151 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1152 - EOF
1153 - fi
1154 - done
1155 -
1156 - if use wasm; then
1157 - cat <<- EOF >> "${S}"/config.toml
1158 - [target.wasm32-unknown-unknown]
1159 - linker = "$(usex system-llvm lld rust-lld)"
1160 - EOF
1161 - fi
1162 -}
1163 -
1164 -src_compile() {
1165 - env $(cat "${S}"/config.env)\
1166 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
1167 - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
1168 -}
1169 -
1170 -src_install() {
1171 - local rust_target abi_libdir
1172 -
1173 - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
1174 - --exclude src/tools/miri || die
1175 -
1176 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1177 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1178 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1179 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1180 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1181 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1182 - if use clippy; then
1183 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1184 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1185 - fi
1186 - if use rls; then
1187 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1188 - fi
1189 - if use rustfmt; then
1190 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
1191 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
1192 - fi
1193 -
1194 - # Copy shared library versions of standard libraries for all targets
1195 - # into the system's abi-dependent lib directories because the rust
1196 - # installer only does so for the native ABI.
1197 - for v in $(multilib_get_enabled_abi_pairs); do
1198 - if [ ${v##*.} = ${DEFAULT_ABI} ]; then
1199 - continue
1200 - fi
1201 - abi_libdir=$(get_abi_LIBDIR ${v##*.})
1202 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1203 - mkdir -p "${ED}/usr/${abi_libdir}/${P}"
1204 - cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
1205 - "${ED}/usr/${abi_libdir}/${P}" || die
1206 - done
1207 -
1208 - dodoc COPYRIGHT
1209 -
1210 - # FIXME:
1211 - # Really not sure if that env is needed, specailly LDPATH
1212 - cat <<-EOF > "${T}"/50${P}
1213 - LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
1214 - MANPATH="${EPREFIX}/usr/share/${P}/man"
1215 - EOF
1216 - doenvd "${T}"/50${P}
1217 -
1218 - # note: eselect-rust adds EROOT to all paths below
1219 - cat <<-EOF > "${T}/provider-${P}"
1220 - /usr/bin/rustdoc
1221 - /usr/bin/rust-gdb
1222 - /usr/bin/rust-gdbgui
1223 - /usr/bin/rust-lldb
1224 - EOF
1225 - echo /usr/bin/cargo >> "${T}/provider-${P}"
1226 - if use clippy; then
1227 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
1228 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
1229 - fi
1230 - if use rls; then
1231 - echo /usr/bin/rls >> "${T}/provider-${P}"
1232 - fi
1233 - if use rustfmt; then
1234 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
1235 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
1236 - fi
1237 -
1238 - insinto /etc/env.d/rust
1239 - doins "${T}/provider-${P}"
1240 -}
1241 -
1242 -pkg_postinst() {
1243 - eselect rust update --if-unset
1244 -
1245 - elog "Rust installs a helper script for calling GDB and LLDB,"
1246 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
1247 -
1248 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
1249 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
1250 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
1251 -
1252 - if has_version app-editors/emacs; then
1253 - elog "install app-emacs/rust-mode to get emacs support for rust."
1254 - fi
1255 -
1256 - if has_version app-editors/gvim || has_version app-editors/vim; then
1257 - elog "install app-vim/rust-vim to get vim support for rust."
1258 - fi
1259 -
1260 - if use elibc_musl; then
1261 - ewarn "${PN} on *-musl targets is configured with crt-static"
1262 - ewarn ""
1263 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
1264 - ewarn "to use it with portage, otherwise you may see failures like"
1265 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
1266 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
1267 - fi
1268 -}
1269 -
1270 -pkg_postrm() {
1271 - eselect rust cleanup
1272 -}
1273
1274 diff --git a/dev-lang/rust/rust-1.39.0.ebuild b/dev-lang/rust/rust-1.39.0.ebuild
1275 deleted file mode 100644
1276 index caf6bb4b580..00000000000
1277 --- a/dev-lang/rust/rust-1.39.0.ebuild
1278 +++ /dev/null
1279 @@ -1,347 +0,0 @@
1280 -# Copyright 1999-2020 Gentoo Authors
1281 -# Distributed under the terms of the GNU General Public License v2
1282 -
1283 -EAPI=7
1284 -
1285 -PYTHON_COMPAT=( python3_{6,7} )
1286 -
1287 -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
1288 -
1289 -if [[ ${PV} = *beta* ]]; then
1290 - betaver=${PV//*beta}
1291 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
1292 - MY_P="rustc-beta"
1293 - SLOT="beta/${PV}"
1294 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
1295 -else
1296 - ABI_VER="$(ver_cut 1-2)"
1297 - SLOT="stable/${ABI_VER}"
1298 - MY_P="rustc-${PV}"
1299 - SRC="${MY_P}-src.tar.xz"
1300 - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
1301 -fi
1302 -
1303 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
1304 -
1305 -DESCRIPTION="Systems programming language from Mozilla"
1306 -HOMEPAGE="https://www.rust-lang.org/"
1307 -
1308 -SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
1309 - $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
1310 -
1311 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
1312 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
1313 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
1314 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
1315 -
1316 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
1317 -
1318 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
1319 -
1320 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
1321 -# we need to *really* make sure we're not pulling more than one slot
1322 -# simultaneously.
1323 -
1324 -# How to use it:
1325 -# 1. List all the working slots (with min versions) in ||, newest first.
1326 -# 2. Update the := to specify *max* version, e.g. < 9.
1327 -# 3. Specify LLVM_MAX_SLOT, e.g. 8.
1328 -LLVM_DEPEND="
1329 - || (
1330 - sys-devel/llvm:9[llvm_targets_WebAssembly?]
1331 - wasm? ( =sys-devel/lld-9* )
1332 - )
1333 - <sys-devel/llvm-10:=
1334 -"
1335 -LLVM_MAX_SLOT=9
1336 -
1337 -COMMON_DEPEND="
1338 - sys-libs/zlib
1339 - !libressl? ( dev-libs/openssl:0= )
1340 - libressl? ( dev-libs/libressl:0= )
1341 - net-libs/libssh2
1342 - net-libs/http-parser:=
1343 - net-misc/curl[ssl]
1344 - elibc_musl? ( sys-libs/libunwind )
1345 - system-llvm? (
1346 - ${LLVM_DEPEND}
1347 - )
1348 -"
1349 -
1350 -DEPEND="${COMMON_DEPEND}
1351 - ${PYTHON_DEPS}
1352 - || (
1353 - >=sys-devel/gcc-4.7
1354 - >=sys-devel/clang-3.5
1355 - )
1356 - dev-util/cmake
1357 -"
1358 -
1359 -RDEPEND="${COMMON_DEPEND}
1360 - >=app-eselect/eselect-rust-20190311
1361 - !dev-util/cargo
1362 - rustfmt? ( !dev-util/rustfmt )
1363 -"
1364 -
1365 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
1366 - wasm? ( llvm_targets_WebAssembly )
1367 - x86? ( cpu_flags_x86_sse2 )
1368 -"
1369 -QA_FLAGS_IGNORED="usr/bin/* usr/lib*/${P}"
1370 -
1371 -PATCHES=(
1372 - "${FILESDIR}"/1.36.0-libressl.patch
1373 -)
1374 -
1375 -S="${WORKDIR}/${MY_P}-src"
1376 -
1377 -toml_usex() {
1378 - usex "$1" true false
1379 -}
1380 -
1381 -pre_build_checks() {
1382 - CHECKREQS_DISK_BUILD="9G"
1383 - eshopts_push -s extglob
1384 - if is-flagq '-g?(gdb)?([1-9])'; then
1385 - CHECKREQS_DISK_BUILD="14G"
1386 - fi
1387 - eshopts_pop
1388 - check-reqs_pkg_setup
1389 -}
1390 -
1391 -pkg_pretend() {
1392 - pre_build_checks
1393 -}
1394 -
1395 -pkg_setup() {
1396 - pre_build_checks
1397 - python-any-r1_pkg_setup
1398 - use system-llvm && llvm_pkg_setup
1399 -}
1400 -
1401 -src_prepare() {
1402 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1403 -
1404 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1405 -
1406 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
1407 -
1408 - default
1409 -}
1410 -
1411 -src_configure() {
1412 - local rust_target="" rust_targets="" arch_cflags
1413 -
1414 - # Collect rust target names to compile standard libs for all ABIs.
1415 - for v in $(multilib_get_enabled_abi_pairs); do
1416 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1417 - done
1418 - if use wasm; then
1419 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1420 - fi
1421 - rust_targets="${rust_targets#,}"
1422 -
1423 - local extended="true" tools="\"cargo\","
1424 - if use clippy; then
1425 - tools="\"clippy\",$tools"
1426 - fi
1427 - if use rls; then
1428 - tools="\"rls\",\"analysis\",\"src\",$tools"
1429 - fi
1430 - if use rustfmt; then
1431 - tools="\"rustfmt\",$tools"
1432 - fi
1433 -
1434 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1435 -
1436 - rust_target="$(rust_abi)"
1437 -
1438 - cat <<- EOF > "${S}"/config.toml
1439 - [llvm]
1440 - optimize = $(toml_usex !debug)
1441 - release-debuginfo = $(toml_usex debug)
1442 - assertions = $(toml_usex debug)
1443 - targets = "${LLVM_TARGETS// /;}"
1444 - experimental-targets = ""
1445 - link-shared = $(toml_usex system-llvm)
1446 - [build]
1447 - build = "${rust_target}"
1448 - host = ["${rust_target}"]
1449 - target = [${rust_targets}]
1450 - cargo = "${rust_stage0_root}/bin/cargo"
1451 - rustc = "${rust_stage0_root}/bin/rustc"
1452 - docs = $(toml_usex doc)
1453 - submodules = false
1454 - python = "${EPYTHON}"
1455 - locked-deps = true
1456 - vendor = true
1457 - extended = ${extended}
1458 - tools = [${tools}]
1459 - verbose = 2
1460 - [install]
1461 - prefix = "${EPREFIX}/usr"
1462 - libdir = "$(get_libdir)/${P}"
1463 - docdir = "share/doc/${P}"
1464 - mandir = "share/${P}/man"
1465 - [rust]
1466 - optimize = $(toml_usex !debug)
1467 - debug = $(toml_usex debug)
1468 - debug-assertions = $(toml_usex debug)
1469 - default-linker = "$(tc-getCC)"
1470 - channel = "stable"
1471 - rpath = false
1472 - lld = $(usex system-llvm false $(toml_usex wasm))
1473 - EOF
1474 -
1475 - for v in $(multilib_get_enabled_abi_pairs); do
1476 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1477 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1478 -
1479 - cat <<- EOF >> "${S}"/config.env
1480 - CFLAGS_${rust_target}=${arch_cflags}
1481 - EOF
1482 -
1483 - cat <<- EOF >> "${S}"/config.toml
1484 - [target.${rust_target}]
1485 - cc = "$(tc-getBUILD_CC)"
1486 - cxx = "$(tc-getBUILD_CXX)"
1487 - linker = "$(tc-getCC)"
1488 - ar = "$(tc-getAR)"
1489 - EOF
1490 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1491 - if use elibc_musl; then
1492 - cat <<- EOF >> "${S}"/config.toml
1493 - crt-static = false
1494 - EOF
1495 - fi
1496 - if use system-llvm; then
1497 - cat <<- EOF >> "${S}"/config.toml
1498 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1499 - EOF
1500 - fi
1501 - done
1502 -
1503 - if use wasm; then
1504 - cat <<- EOF >> "${S}"/config.toml
1505 - [target.wasm32-unknown-unknown]
1506 - linker = "$(usex system-llvm lld rust-lld)"
1507 - EOF
1508 - fi
1509 -}
1510 -
1511 -src_compile() {
1512 - env $(cat "${S}"/config.env)\
1513 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
1514 - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
1515 -}
1516 -
1517 -src_install() {
1518 - local rust_target abi_libdir
1519 -
1520 - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
1521 - --exclude src/tools/miri || die
1522 -
1523 - # bug #689562, #689160
1524 - rm "${D}/etc/bash_completion.d/cargo" || die
1525 - pushd "${D}" > /dev/null || die
1526 - rmdir -p etc/bash_completion.d || die
1527 - popd > /dev/null || die
1528 - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
1529 -
1530 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1531 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1532 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1533 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1534 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1535 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1536 - if use clippy; then
1537 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1538 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1539 - fi
1540 - if use rls; then
1541 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1542 - fi
1543 - if use rustfmt; then
1544 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
1545 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
1546 - fi
1547 -
1548 - # Copy shared library versions of standard libraries for all targets
1549 - # into the system's abi-dependent lib directories because the rust
1550 - # installer only does so for the native ABI.
1551 - for v in $(multilib_get_enabled_abi_pairs); do
1552 - if [ ${v##*.} = ${DEFAULT_ABI} ]; then
1553 - continue
1554 - fi
1555 - abi_libdir=$(get_abi_LIBDIR ${v##*.})
1556 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1557 - mkdir -p "${ED}/usr/${abi_libdir}/${P}"
1558 - cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
1559 - "${ED}/usr/${abi_libdir}/${P}" || die
1560 - done
1561 -
1562 - dodoc COPYRIGHT
1563 -
1564 - # FIXME:
1565 - # Really not sure if that env is needed, specailly LDPATH
1566 - cat <<-EOF > "${T}"/50${P}
1567 - LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
1568 - MANPATH="${EPREFIX}/usr/share/${P}/man"
1569 - EOF
1570 - doenvd "${T}"/50${P}
1571 -
1572 - # note: eselect-rust adds EROOT to all paths below
1573 - cat <<-EOF > "${T}/provider-${P}"
1574 - /usr/bin/rustdoc
1575 - /usr/bin/rust-gdb
1576 - /usr/bin/rust-gdbgui
1577 - /usr/bin/rust-lldb
1578 - EOF
1579 - echo /usr/bin/cargo >> "${T}/provider-${P}"
1580 - if use clippy; then
1581 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
1582 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
1583 - fi
1584 - if use rls; then
1585 - echo /usr/bin/rls >> "${T}/provider-${P}"
1586 - fi
1587 - if use rustfmt; then
1588 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
1589 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
1590 - fi
1591 -
1592 - insinto /etc/env.d/rust
1593 - doins "${T}/provider-${P}"
1594 -}
1595 -
1596 -pkg_postinst() {
1597 - eselect rust update --if-unset
1598 -
1599 - elog "Rust installs a helper script for calling GDB and LLDB,"
1600 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
1601 -
1602 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
1603 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
1604 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
1605 -
1606 - if has_version app-editors/emacs; then
1607 - elog "install app-emacs/rust-mode to get emacs support for rust."
1608 - fi
1609 -
1610 - if has_version app-editors/gvim || has_version app-editors/vim; then
1611 - elog "install app-vim/rust-vim to get vim support for rust."
1612 - fi
1613 -
1614 - if use elibc_musl; then
1615 - ewarn "${PN} on *-musl targets is configured with crt-static"
1616 - ewarn ""
1617 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
1618 - ewarn "to use it with portage, otherwise you may see failures like"
1619 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
1620 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
1621 - fi
1622 -}
1623 -
1624 -pkg_postrm() {
1625 - eselect rust cleanup
1626 -}
1627
1628 diff --git a/dev-lang/rust/rust-1.40.0-r1.ebuild b/dev-lang/rust/rust-1.40.0-r1.ebuild
1629 deleted file mode 100644
1630 index 87dae358f2e..00000000000
1631 --- a/dev-lang/rust/rust-1.40.0-r1.ebuild
1632 +++ /dev/null
1633 @@ -1,358 +0,0 @@
1634 -# Copyright 1999-2020 Gentoo Authors
1635 -# Distributed under the terms of the GNU General Public License v2
1636 -
1637 -EAPI=7
1638 -
1639 -PYTHON_COMPAT=( python3_{6,7} )
1640 -
1641 -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
1642 -
1643 -if [[ ${PV} = *beta* ]]; then
1644 - betaver=${PV//*beta}
1645 - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
1646 - MY_P="rustc-beta"
1647 - SLOT="beta/${PV}"
1648 - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
1649 -else
1650 - ABI_VER="$(ver_cut 1-2)"
1651 - SLOT="stable/${ABI_VER}"
1652 - MY_P="rustc-${PV}"
1653 - SRC="${MY_P}-src.tar.xz"
1654 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
1655 -fi
1656 -
1657 -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
1658 -
1659 -DESCRIPTION="Systems programming language from Mozilla"
1660 -HOMEPAGE="https://www.rust-lang.org/"
1661 -
1662 -SRC_URI="
1663 - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
1664 - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
1665 -"
1666 -
1667 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
1668 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
1669 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
1670 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
1671 -
1672 -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
1673 -
1674 -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
1675 -
1676 -# Please keep the LLVM dependency block separate. Since LLVM is slotted,
1677 -# we need to *really* make sure we're not pulling more than one slot
1678 -# simultaneously.
1679 -
1680 -# How to use it:
1681 -# 1. List all the working slots (with min versions) in ||, newest first.
1682 -# 2. Update the := to specify *max* version, e.g. < 10.
1683 -# 3. Specify LLVM_MAX_SLOT, e.g. 9.
1684 -LLVM_DEPEND="
1685 - || (
1686 - sys-devel/llvm:9[llvm_targets_WebAssembly?]
1687 - wasm? ( =sys-devel/lld-9* )
1688 - )
1689 - <sys-devel/llvm-10:=
1690 -"
1691 -LLVM_MAX_SLOT=9
1692 -
1693 -# FIXME:
1694 -# this should be '>=virtual/rust-1.$(($(ver_cut 2) - 1))', but we can't do it yet
1695 -# as the first gentoo-built rust that can bootstap new compiler is 1.40.0-r1
1696 -BOOTSTRAP_DEPEND="|| ( =dev-lang/rust-${PVR} =dev-lang/rust-bin-${PV}* )"
1697 -
1698 -COMMON_DEPEND="
1699 - sys-libs/zlib
1700 - !libressl? ( dev-libs/openssl:0= )
1701 - libressl? ( dev-libs/libressl:0= )
1702 - net-libs/libssh2
1703 - net-libs/http-parser:=
1704 - net-misc/curl[ssl]
1705 - elibc_musl? ( sys-libs/libunwind )
1706 - system-llvm? (
1707 - ${LLVM_DEPEND}
1708 - )
1709 -"
1710 -
1711 -DEPEND="${COMMON_DEPEND}
1712 - ${PYTHON_DEPS}
1713 - || (
1714 - >=sys-devel/gcc-4.7
1715 - >=sys-devel/clang-3.5
1716 - )
1717 - system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
1718 - !system-llvm? (
1719 - dev-util/cmake
1720 - dev-util/ninja
1721 - )
1722 -"
1723 -
1724 -RDEPEND="${COMMON_DEPEND}
1725 - >=app-eselect/eselect-rust-20190311
1726 -"
1727 -
1728 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
1729 - parallel-compiler? ( nightly )
1730 - wasm? ( llvm_targets_WebAssembly )
1731 - x86? ( cpu_flags_x86_sse2 )
1732 -"
1733 -
1734 -QA_FLAGS_IGNORED="
1735 - usr/bin/*-${PV}
1736 - usr/lib*/lib*.so
1737 - usr/lib/rustlib/*/codegen-backends/librustc_codegen_llvm-llvm.so
1738 - usr/lib/rustlib/*/lib/lib*.so
1739 -"
1740 -
1741 -QA_SONAME="usr/lib.*/librustc_macros.*.so"
1742 -
1743 -PATCHES=(
1744 - "${FILESDIR}"/1.36.0-libressl.patch
1745 - "${FILESDIR}"/1.40.0-add-soname.patch
1746 -)
1747 -
1748 -S="${WORKDIR}/${MY_P}-src"
1749 -
1750 -toml_usex() {
1751 - usex "$1" true false
1752 -}
1753 -
1754 -pre_build_checks() {
1755 - CHECKREQS_DISK_BUILD="9G"
1756 - eshopts_push -s extglob
1757 - if is-flagq '-g?(gdb)?([1-9])'; then
1758 - CHECKREQS_DISK_BUILD="14G"
1759 - fi
1760 - eshopts_pop
1761 - check-reqs_pkg_setup
1762 -}
1763 -
1764 -pkg_pretend() {
1765 - pre_build_checks
1766 -}
1767 -
1768 -pkg_setup() {
1769 - pre_build_checks
1770 - python-any-r1_pkg_setup
1771 - use system-llvm && llvm_pkg_setup
1772 -}
1773 -
1774 -src_prepare() {
1775 - if ! use system-bootstrap; then
1776 - local rust_stage0_root="${WORKDIR}"/rust-stage0
1777 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
1778 -
1779 - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
1780 - --destdir="${rust_stage0_root}" --prefix=/ || die
1781 - fi
1782 -
1783 - default
1784 -}
1785 -
1786 -src_configure() {
1787 - local rust_target="" rust_targets="" arch_cflags
1788 -
1789 - # Collect rust target names to compile standard libs for all ABIs.
1790 - for v in $(multilib_get_enabled_abi_pairs); do
1791 - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
1792 - done
1793 - if use wasm; then
1794 - rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
1795 - fi
1796 - rust_targets="${rust_targets#,}"
1797 -
1798 - local extended="true" tools="\"cargo\","
1799 - if use clippy; then
1800 - tools="\"clippy\",$tools"
1801 - fi
1802 - if use rls; then
1803 - tools="\"rls\",\"analysis\",\"src\",$tools"
1804 - fi
1805 - if use rustfmt; then
1806 - tools="\"rustfmt\",$tools"
1807 - fi
1808 -
1809 - local rust_stage0_root
1810 - if use system-bootstrap; then
1811 - rust_stage0_root="$(rustc --print sysroot)"
1812 - else
1813 - rust_stage0_root="${WORKDIR}"/rust-stage0
1814 - fi
1815 -
1816 - rust_target="$(rust_abi)"
1817 -
1818 - cat <<- EOF > "${S}"/config.toml
1819 - [llvm]
1820 - optimize = $(toml_usex !debug)
1821 - release-debuginfo = $(toml_usex debug)
1822 - assertions = $(toml_usex debug)
1823 - targets = "${LLVM_TARGETS// /;}"
1824 - experimental-targets = ""
1825 - link-shared = $(toml_usex system-llvm)
1826 - [build]
1827 - build = "${rust_target}"
1828 - host = ["${rust_target}"]
1829 - target = [${rust_targets}]
1830 - cargo = "${rust_stage0_root}/bin/cargo"
1831 - rustc = "${rust_stage0_root}/bin/rustc"
1832 - docs = $(toml_usex doc)
1833 - compiler-docs = $(toml_usex doc)
1834 - submodules = false
1835 - python = "${EPYTHON}"
1836 - locked-deps = true
1837 - vendor = true
1838 - extended = ${extended}
1839 - tools = [${tools}]
1840 - verbose = 2
1841 - [install]
1842 - prefix = "${EPREFIX}/usr"
1843 - libdir = "lib"
1844 - docdir = "share/doc/${PF}"
1845 - mandir = "share/man"
1846 - [rust]
1847 - optimize = $(toml_usex !debug)
1848 - debug = $(toml_usex debug)
1849 - debug-assertions = $(toml_usex debug)
1850 - default-linker = "$(tc-getCC)"
1851 - parallel-compiler = $(toml_usex parallel-compiler)
1852 - channel = "$(usex nightly nightly stable)"
1853 - rpath = false
1854 - lld = $(usex system-llvm false $(toml_usex wasm))
1855 - [dist]
1856 - src-tarball = false
1857 - EOF
1858 -
1859 - for v in $(multilib_get_enabled_abi_pairs); do
1860 - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
1861 - arch_cflags="$(get_abi_CFLAGS ${v##*.})"
1862 -
1863 - cat <<- EOF >> "${S}"/config.env
1864 - CFLAGS_${rust_target}=${arch_cflags}
1865 - EOF
1866 -
1867 - cat <<- EOF >> "${S}"/config.toml
1868 - [target.${rust_target}]
1869 - cc = "$(tc-getBUILD_CC)"
1870 - cxx = "$(tc-getBUILD_CXX)"
1871 - linker = "$(tc-getCC)"
1872 - ar = "$(tc-getAR)"
1873 - EOF
1874 - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
1875 - if use elibc_musl; then
1876 - cat <<- EOF >> "${S}"/config.toml
1877 - crt-static = false
1878 - EOF
1879 - fi
1880 - if use system-llvm; then
1881 - cat <<- EOF >> "${S}"/config.toml
1882 - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
1883 - EOF
1884 - fi
1885 - done
1886 -
1887 - if use wasm; then
1888 - cat <<- EOF >> "${S}"/config.toml
1889 - [target.wasm32-unknown-unknown]
1890 - linker = "$(usex system-llvm lld rust-lld)"
1891 - EOF
1892 - fi
1893 -}
1894 -
1895 -src_compile() {
1896 - env $(cat "${S}"/config.env)\
1897 - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
1898 - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
1899 -}
1900 -
1901 -src_install() {
1902 - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
1903 - --exclude src/tools/miri || die
1904 -
1905 - # bug #689562, #689160
1906 - rm "${D}/etc/bash_completion.d/cargo" || die
1907 - rmdir "${D}"/etc{/bash_completion.d,} || die
1908 - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
1909 -
1910 - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
1911 - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
1912 - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
1913 - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
1914 - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
1915 - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
1916 - if use clippy; then
1917 - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
1918 - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
1919 - fi
1920 - if use rls; then
1921 - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
1922 - fi
1923 - if use rustfmt; then
1924 - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
1925 - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
1926 - fi
1927 -
1928 - # Move public shared libs to abi specific libdir
1929 - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
1930 - if [[ $(get_libdir) != lib ]]; then
1931 - dodir /usr/$(get_libdir)
1932 - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
1933 - fi
1934 -
1935 - dodoc COPYRIGHT
1936 -
1937 - # note: eselect-rust adds EROOT to all paths below
1938 - cat <<-EOF > "${T}/provider-${P}"
1939 - /usr/bin/rustdoc
1940 - /usr/bin/rust-gdb
1941 - /usr/bin/rust-gdbgui
1942 - /usr/bin/rust-lldb
1943 - EOF
1944 - echo /usr/bin/cargo >> "${T}/provider-${P}"
1945 - if use clippy; then
1946 - echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
1947 - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
1948 - fi
1949 - if use rls; then
1950 - echo /usr/bin/rls >> "${T}/provider-${P}"
1951 - fi
1952 - if use rustfmt; then
1953 - echo /usr/bin/rustfmt >> "${T}/provider-${P}"
1954 - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
1955 - fi
1956 -
1957 - insinto /etc/env.d/rust
1958 - doins "${T}/provider-${P}"
1959 -}
1960 -
1961 -pkg_postinst() {
1962 - eselect rust update --if-unset
1963 -
1964 - elog "Rust installs a helper script for calling GDB and LLDB,"
1965 - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
1966 -
1967 - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
1968 - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
1969 - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
1970 -
1971 - if has_version app-editors/emacs; then
1972 - elog "install app-emacs/rust-mode to get emacs support for rust."
1973 - fi
1974 -
1975 - if has_version app-editors/gvim || has_version app-editors/vim; then
1976 - elog "install app-vim/rust-vim to get vim support for rust."
1977 - fi
1978 -
1979 - if use elibc_musl; then
1980 - ewarn "${PN} on *-musl targets is configured with crt-static"
1981 - ewarn ""
1982 - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
1983 - ewarn "to use it with portage, otherwise you may see failures like"
1984 - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
1985 - ewarn "x86_64-unknown-linux-musl does not support these crate types"
1986 - fi
1987 -}
1988 -
1989 -pkg_postrm() {
1990 - eselect rust cleanup
1991 -}