From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- dev-lang/rust/Manifest | 73 +--- dev-lang/rust/files/1.40.0-add-soname.patch | 36 -- dev-lang/rust/files/1.42.0-fix-bootstrap.patch | 440 -------------------- dev-lang/rust/files/1.42.0-libressl.patch | 44 -- dev-lang/rust/files/1.43.0-llvm10.patch | 194 --------- dev-lang/rust/files/llvm-gcc10.patch | 34 -- dev-lang/rust/rust-1.41.1.ebuild | 370 ----------------- dev-lang/rust/rust-1.42.0.ebuild | 385 ----------------- dev-lang/rust/rust-1.43.1.ebuild | 419 ------------------- dev-lang/rust/rust-1.44.0.ebuild | 497 ---------------------- dev-lang/rust/rust-1.44.1.ebuild | 4 +- dev-lang/rust/rust-1.45.2.ebuild | 550 +++++++++++++++++++++++++ 12 files changed, 569 insertions(+), 2477 deletions(-) delete mode 100644 dev-lang/rust/files/1.40.0-add-soname.patch delete mode 100644 dev-lang/rust/files/1.42.0-fix-bootstrap.patch delete mode 100644 dev-lang/rust/files/1.42.0-libressl.patch delete mode 100644 dev-lang/rust/files/1.43.0-llvm10.patch delete mode 100644 dev-lang/rust/files/llvm-gcc10.patch delete mode 100644 dev-lang/rust/rust-1.41.1.ebuild delete mode 100644 dev-lang/rust/rust-1.42.0.ebuild delete mode 100644 dev-lang/rust/rust-1.43.1.ebuild delete mode 100644 dev-lang/rust/rust-1.44.0.ebuild create mode 100644 dev-lang/rust/rust-1.45.2.ebuild (limited to 'dev-lang/rust') diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 34957ae73677..d008b2774708 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,52 +1,5 @@ AUX 0012-Ignore-broken-and-non-applicable-tests.patch 3387 BLAKE2B 6809f3d5c2cf5698d516ccd74dbbf66cc4265200f75567fa197743672895ddee418367751ac3d99a263ff3417ed89718cd3602c609d0dfac7ba2fd5ac18dce76 SHA512 0c41c238dc0b5a7130398d8c1d6bb6987c9bff704c89875830e9d6ad28d49d9b300c1fe7c982ef9be9a92ed0057f6fc04a604d189d1aec2dc2b014d6d50a7d8d -AUX 1.40.0-add-soname.patch 1690 BLAKE2B 87708762c1870789462cbcff2d66aae1321c4a7a2a3442536b497c824132082c260d59a47c74242bd954f6ef174784d73352188077899927b62fa71707cb7aec SHA512 d835699769f5f68d5f92507c03460a6aa84d0c93b03f71b0a5fdf9efbc4cf4761d1e10135ae8240b91f97fa158424fdb5c30b7aea96672c754f1091e80511902 -AUX 1.42.0-fix-bootstrap.patch 17104 BLAKE2B 21b7f7730e32da7dcfc5cbb2ae73d3e3dab59770151e3ff39073a023fd0826b82a1c52bbb2f5d6c2a1d8b4d9eef40aba399dd56e200aea91e4ed8ababcb3b8aa SHA512 47541c5da1f3cf2d92386ed36c4370475cd045ea7797234de6b6ca5f81b28fe786dc6cc5d476aa1c1b61a470c07b5353c419e69a8e55a2a0a1f303af9e141502 -AUX 1.42.0-libressl.patch 8926 BLAKE2B 16e558246768ceaf923b139cb7af55c901e8eece0b4f8d4e5bd47382a4c806cf9f8931f3e5fa315270945bfe297aa98e08b4528e36d3e7f445971043a4e5992f SHA512 6c3dd0d0ff1a975cbefd21e593a16a68061e1b5bc1a31d3d7df7cc800914596e0ca8dc278172ef244ea53e7c9266ac40ef8c38e3de2e8f5e337418dd8f898ca2 -AUX 1.43.0-llvm10.patch 8747 BLAKE2B a34b7b671bd2554a6f5e854f76f3242ab30b38c8d77d5965ab39bd24825ec37ef4980e0078cb3dc058037089dda8d6f51ce284b8fc786bcd4af77ec511a9d967 SHA512 b004d0c8945fcd5c10342086ff5643af615419abddf20f04ebeb8d470b450cda1fbc74aac1609f9f3bcc1ca04db23f704d75ee03d6b1f706ad9d1e4e1c0a367a AUX 1.44.0-libressl.patch 8969 BLAKE2B 1ae707140a93fd76ec825e0e8c49f1408cda5a3b290a07c974d8ba8ba9b82e230bc2a4864cdecc744425d77ded819690da9328af2f648c636e8fd9ba3f0bb131 SHA512 81421ce6a0eb89bb51ff6a95be79159fce18be51c341f29aaf9d18e9b4aa1d3324e0c3472f72881c94a053b6dc4490c16b5ca2ac9cece0ea2d01051e3ed28a56 -AUX llvm-gcc10.patch 1086 BLAKE2B 92e4eb43f6b65d01fd0de1b51bf027e2ca874aa3f07b3b56f22c8e9a36a523625259bc850103fff36f99dd6a866c47d751752e95116ecfcd5281eea3d0475c1f SHA512 2e6edf3b10003ee873cfa7b2e6f25a58699df41a26b51a85472a19373bb2145d1259c26128584ebd56470e53c5f5624495f1848624c7819436846f3ad67cb18f -DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f -DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94 -DIST rust-1.40.0-arm-unknown-linux-gnueabihf.tar.xz 82518972 BLAKE2B 2861693efa9bbd54e09bd693886941ec13b09f1901d384f24534b2852f9cb3b59fa0eaac1ec16bc6df49437cf08a09eff6c649729b0b8c2b4d8def6d7111d229 SHA512 994a91704e65e126bf3d53aa5ccbf9f92f05495a68db1917754f8bf078f16b0255797c884b4f2c70033ae0c94d5f41ad73e1af2e963580ebf56c90a6bf76630a -DIST rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz 84254100 BLAKE2B 5ec75764435f5b906ed5ac84c6454a8fade0d71a9f9d2b3c799525ebf1e1a6e208e85dffe125e3de163d94a62693241a6ed59651955942edc8cdfad5c354a23d SHA512 d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492 -DIST rust-1.40.0-i686-unknown-linux-gnu.tar.xz 122168896 BLAKE2B c89278bd7af7d167251c122297b4a8045da94951aaba5288a3a47b7d4f7af2af2e5ae672388f5c6192382e800151ad54cb2fc9a4fd66fde3acb8acb877aaa27b SHA512 d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6 -DIST rust-1.40.0-mips-unknown-linux-gnu.tar.xz 74305992 BLAKE2B cf51e3d843a32a3025232d1bc4374c55d3931d8b8634aed83f3f5e890081d7ed2a09d0aa3f026936d5e2f91fd26b56be704cf2975678db5fa23cf57c34277a89 SHA512 995b875dcbbd8472e3109504e695bf15eca812ea252e5ff1a615fb1c5dd3b66fe637fa4c30618b1584af4b641d4b4d5a4d7e1b6a09cb0ca4ff8fdd8a3488a255 -DIST rust-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz 80925812 BLAKE2B a77123767639e93531fdf30af711a8dafd91c4143e7774edf88a9f513fd6fc928f3c96656ce4d0ede54677077c8eb383d5c37bee6881fd0796fe47257a16d753 SHA512 ebbb01c033c16dd9fe93ce0a532afa39b1459b056896c906f9e561285977e7c569e770c7e624e485cd8014008c9d496dae893921bbc1342c3e2b6520c9b84440 -DIST rust-1.40.0-mipsel-unknown-linux-gnu.tar.xz 76145484 BLAKE2B e06cfc8ac8d6124c4eb7c004c9e792c6ba21de5621d21456a7e47f1cd67f584d480708ddb098d882005953db818da27e396c9409c1e089d7db42844608ba1fe8 SHA512 4d4b52397574cfcbf8e79d71cbf783119b0096ed6d8b1f1a4c191336ac0e616b682342077f3451db477e0271a5ac453ee418314c071e8f922e790eb0e32ae768 -DIST rust-1.40.0-powerpc-unknown-linux-gnu.tar.xz 82846452 BLAKE2B e82e117b0592278b491399f27de4c26b518bf8f7cbb60125fc3ae36ddb033113324222ac7433ac9b02026efe4be477ec9967c55648121869a36ce833c3600afd SHA512 4d71bbf1b29f9ea649f444bafbaa8d6447026d992c264736b50365736c9e2129d28f23e09260aa21be10562727a5f6b298ddaf8f7598b4bad53d65cdd2f9e9f0 -DIST rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz 85231436 BLAKE2B b307d794e9e849d40a98116851950f76576b5ea6bb159c71830bb4210c40d5b6cc37d67d316d1b289735f83a29393699a49dd0c11cafe8191a64de6384ed69af SHA512 eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce -DIST rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz 87972788 BLAKE2B ad1e460dbd7ee5dbe90bf84a68fbcdd89f3d7a1a898ccd94827327bbb2bfeafeb66d5c50651183e0d429f8d14a41e4e26b8f7cae2ff61b055eddcb2c0fa6aecd SHA512 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f -DIST rust-1.40.0-s390x-unknown-linux-gnu.tar.xz 95398844 BLAKE2B e897ac3e1f46a63c7ad14e0e5229b7028ac325256e084439bcad0ced631eb26d50ca72710c46e59accb0e3d0574d08a9c15455be59a8d78173387d35ddd3bed7 SHA512 e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14 -DIST rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz 110186516 BLAKE2B ad89d8cecbd565b23c98ec095bad218de971cb4bb89924bbcb012df6c9ecf0db2b50d624abdf6b050fe1f5067aea9311dc01852950a5ca5e993e99f913fc5dbc SHA512 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1 -DIST rust-1.40.0-x86_64-unknown-linux-musl.tar.xz 96869284 BLAKE2B 61cdf2eab51455e377e079e7013959ee51358c9846f8442f81a3240062af573f452a0f5f007e63cbbcdd0db98ac22ab0d4f3006f6ef30327b609d303410cba8c SHA512 3e6d7cf7b24c09d13266e06f20ab317c5ffb68de3242719c71e95c3d778269c4076e06badfb488e8fc223b822246ebbeb888d4168ddf6e2401793e23e77810bb -DIST rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz 96755608 BLAKE2B f8635737089bb028cfac6d6478c4226a78c2c8a8aa12f28cba267744e2e915e062f49edb505f26b6deaeca0d2fdb4ec4b83e791f87bf1eab6c0536dc41e2c641 SHA512 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e -DIST rust-1.41.1-arm-unknown-linux-gnueabi.tar.xz 98856136 BLAKE2B dbb3996a9ae302290886bf1cd4642d99a9b3f883f9d39817bb15f105565147e416e23d19e0d08314b08ed441f1ac528c20d8bee27ccef68cb585d8ef64a19e45 SHA512 1b01acd430af3cf99d838aa367dec4f6e4bfcec91388d4a2323cd781d53246edae0f14687b087b73b87c349f243e3acabe193538ce31303f07d59c6a03c31565 -DIST rust-1.41.1-arm-unknown-linux-gnueabihf.tar.xz 99107336 BLAKE2B 0dd84e7ad6081b8fdcfcb2691496ed3a493e08db4757e6d3bb2aa9a36fc6f020772a84bc21d0c60efeecf635512f25737b8d6b49a53020c4045c89c5b89881d7 SHA512 462e6d354a4b3b848781bb059decc5eb1ebb4d8a31651623d076a2654e2c8fd02f0f87ddafb124efa40cb134c9438eb252035c2b5bfdf936881b14a23bfbfe9f -DIST rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz 103399676 BLAKE2B da35342be05e58c11e6f96ab566b6a2f334d6975d4251deb2f41069d4a549ebf58aba43e1f07b99dedf0426ab0a8e8616b32799ca54a5f601d70910deca3efaf SHA512 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2 -DIST rust-1.41.1-i686-unknown-linux-gnu.tar.xz 120834812 BLAKE2B 4615eeb7c63392f66487243743fc57677654e232c786f9f970a9be9996dcb08e265631f6764e09e0444f8bb767b9c76366a26fe8fca9dcc149c81df5c2a3dd18 SHA512 c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af -DIST rust-1.41.1-mips-unknown-linux-gnu.tar.xz 92620720 BLAKE2B dff1be71d459e0256a19fb88f324e59cbf2e10fda693157802a63a08329c7dd4feca4b260510b3a1d6afb4afc9ed9dc549b741f598f3aedf50a982810d0bd140 SHA512 4fdca72b98a4fd25a2ddf33e0f31d9549c39fae9dfad6f1648556f144f82cfb2a487f6777d61476ad18bb0a0ac63810b99bb09a18719ec5344e89fccb16ac693 -DIST rust-1.41.1-mips64-unknown-linux-gnuabi64.tar.xz 96215100 BLAKE2B c52d564010d56df01bac6b2f447d56c00855c52ed8ebe6a2ac1b7786e8c73a1d529be7e7d5a4f7b427892494782aadcc4c8cc54157287d43f58938b0a57486c6 SHA512 2ed84ade11c6f4961e83e06a61d998a7abc9165cc384cc69470658e8244dc399e30c3f983a9f11b0bf88032d855bc47fe6d71f5db95cc7168e6f810c69095633 -DIST rust-1.41.1-mipsel-unknown-linux-gnu.tar.xz 93365592 BLAKE2B cd0d16f99a0976076530fa601f9bfeb61e1204bc278f78db015bc8d1629ce8f19da61a12573fdf9cf0d3d29e56f6915338aeaea3ef4d9b374eeb4095189fe71c SHA512 a0b7cc55ffeb0911d1d82d93cf2f4ea2a683ee76a783952b2f42c0b3c3d02b2bfc7df6f5762af91e6d02963e22a08ba26f143f594dfd6d41ad8198f7e8a862c0 -DIST rust-1.41.1-powerpc-unknown-linux-gnu.tar.xz 98530136 BLAKE2B 41399fcc9f1d88cc5a6fe0651012e4ebd1addde428c22611c30918a09ddad3640fb326bf48f94e5d12a610d2709eecf95c5d023f10bc6636eb6de1808a104e48 SHA512 545b2a4459bbfa7049755cbb63ad6e2917bf03cb9568eccbf3b01ea8f846263fbdc97ad29b42c440fa92dd9737b398196c1cdaf96c9716bba2f9e1d4a3a20125 -DIST rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz 104058752 BLAKE2B 10b3e3e4970fc05952f83e80e7d133d308045bdd3342199e885d2e6add113ada7959a93010046f48b1fedfe85f0346793fc54e0bf0c55d096f82622e198a928c SHA512 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995 -DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92ea9599314d12c5f9d0b654b523ceb8f40cc779cdbc2d50b4b07e0a37cd42d34000f0ace9c19154a1bd17110c097e30ee2b617f3a29de4966bb9303301 SHA512 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede -DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153 -DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666 -DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b -DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13 -DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0 -DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf -DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59 -DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057 -DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d -DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2 -DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528 -DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a -DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404 -DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219 -DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46 -DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70 -DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8 DIST rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz 104148868 BLAKE2B ac5db9eb58c502253d001e0c93aef867bc584d045960a1d3c2caf6772a7c1f4fbad7da579d7c72b3376804f61f1332a54e9fc7099ba5f4a65f7e5435df28894a SHA512 b54fad5493344d2370bd77110f0ffb0231f41ab8aa9707e9303304957c5d9067dc83089432eb175605b78dc771dfcf7abfcce63d7fecdbb759dd224c17d12da0 DIST rust-1.43.1-arm-unknown-linux-gnueabi.tar.xz 104779424 BLAKE2B 63c05d7403970bd4a237a6b690bcb8e78f310816a953af43da8d258a74102cd560c8674656c2036b1f391dc964ba6d2be2736bc10686c2365cc332b5c76a5502 SHA512 ea2eae6da6c757c07cf9631c706365c743c58f28b514444763ea70fed4c8fcefc5c36d55136afffc2f5e0d25e9b1fdf3243cb9def7e0f57e37b5a4783d44a61b DIST rust-1.43.1-arm-unknown-linux-gnueabihf.tar.xz 103569032 BLAKE2B fc94eeb777a72fcb1b2821b5d10bb9eaca535d76e8caee3d06aed989107460e00146516c5be5714e9739c49d5170809fc132624f9a035afba146db883346c57a SHA512 1c523dafceb29f916a192261f673048c8f781453bcee237e0e333d694d7d7b71735544906f2edea9e0a8a48fc66a478645ae8ae865a171f4f9a94f0d8e6800c1 @@ -61,14 +14,22 @@ DIST rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz 112921244 BLAKE2B 9fa67664 DIST rust-1.43.1-s390x-unknown-linux-gnu.tar.xz 119547480 BLAKE2B 8ce0d64e2d47f23cb927f3ea3a0f469e3cafc191ac1d47e580bce6cf0b35887484542f7d1b857d9bace5f696a072adb7e17e8c5f64af9bf1fbcc305707a15f9f SHA512 f087e50a91b1cc4a12bf15aea1cefbda9b89518febcecc0d56ea7d0a6a682be06cff7777d0a0b4812e96f3fb3295e7799bf200c1599c88cb7083a78d5002f14a DIST rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz 112817212 BLAKE2B c6153889d9872ed5a60bfc43bc8c98e71654fffdd79ce775c3eb4376ed4714c5532e6aaecb769e447f3ae0bb7a11aed75754a5e879404742cb0813080dcf67eb SHA512 2fc573ca2826d9f03044f746ae4d7715b4e31b9ac933289607aa3449a538bb4dfd519540576a1d0d286c0d754a7ba6ce38beef6aded1090d3af3091b6ba2a9ee DIST rust-1.43.1-x86_64-unknown-linux-musl.tar.xz 103345832 BLAKE2B c16930854ea5e825e1338fdde3966e24d3505230891ab4e10160c5482298996768d8cee9890eadd486bfca41ebd5c9f38f7b7ead35a7848e59e409df8eaf9bdf SHA512 9f6ce2a5eaf98dc20b4ed88dbe60e8fb014ef3e7e82f5c31a28cf0f916d996271929cadeaf39a869f548aafb311f022acb408d51d4312c849c71843bc37ca202 -DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 -DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16 -DIST rustc-1.43.1-src.tar.xz 94405276 BLAKE2B 8679fe937abc4f758f3e35c2542d57cc1ad0bb72111597881873b30779b6e7b6711baa52493cb5ff954bf9cd31367b36db4e4fc8676635026059197a33659048 SHA512 24bb01237b1f3f5412109290bb4406b9742cf8956162f4090a98ed3a59a6e2e8dda399452bec1c93c8afdcf5effd98e4825e7f218238e0e88735c1ff4a5b385f -DIST rustc-1.44.0-src.tar.xz 94754392 BLAKE2B e46da2ceab4ba596ef693c2e7433e5faa3c2f60a10cbb56a446d9c3d66d6c7b08a6296df6fbb4b7c54c0762edcded698a7e2f60c3380990f631934aebb75d42c SHA512 03d6a2ec4c80eb436b278677080f360912c60aacffb98b79c91d5a79967ef988b2e62ccff9ab26993f852cebd62cdad48e149c4498f6dcdeb3699cbed19790e4 +DIST rust-1.44.1-aarch64-unknown-linux-gnu.tar.xz 101259004 BLAKE2B c00274660698c5e980a6fe28839f96783989bc5f102025a5e2b63466928f697afc3c70ff8efd00b525ea4b88823585e801690e6c05b246abf5600af80f911a07 SHA512 97a67addb5995f504d7326a500d1b40c52cc6e6e6f6e946adabcf825ce9b64272232a24bc30ce36e3ea63ccda4b980f3b7b61b0e88a8554f021b731ad79a35f1 +DIST rust-1.44.1-arm-unknown-linux-gnueabi.tar.xz 107474900 BLAKE2B 1b21f28b12507cba83ede592670b715365b1ca1fa311dc70108404bc7fa199914716cf7e5560a682ccf4f37bfaf91357f547456a032b4914e75543fdb7e8e84f SHA512 5bb406cc999317a15988b434c3de53d11e3823359fd3dd798de8195fc2e7e7b32830c7cceb1cb7089f47b333346c42fd4153ba1b441799d89fa27207383b7043 +DIST rust-1.44.1-arm-unknown-linux-gnueabihf.tar.xz 105267436 BLAKE2B 6e4c13028dc1751970b04b99db64be6e1ddbbc3b754318e3eabe03e7ae65031c4a5ed87582ec0ffa605a7ac69bee32c5fd48c6dcd84f298d73199a7f7d1c731f SHA512 fffadfc6d8317512ed50df97785a7d0094f59b9465ce5e762c45d6a3a484cdb3c04a72ac49c3d61abad898503378d841ed6abaa16a072aa6adc9069619e26a49 +DIST rust-1.44.1-armv7-unknown-linux-gnueabihf.tar.xz 109724880 BLAKE2B b53eb6441c18c98c12c6e181b499b7e482c9f4eb5e244f6a1fc694371800fe94ec15a9a60ee5e0695e488d3a9d925bc6ef946c23d084e01b43c2bc659874b713 SHA512 6a7bafba9c4d60bb13fac2a7683702352d3a04df24674f993952e9d872b9def47b5f8070925798343f5fd2f83775377ba2ddcf188b8500ec518fe44eb67483eb +DIST rust-1.44.1-i686-unknown-linux-gnu.tar.xz 124915068 BLAKE2B 5de966d60f8e58e435e29aa63b906e117e7d73897ccdcfa692d0e582cf096c200b8c4f9a6ba76397f6ad29cfafaa4841503cf22764ac9517860bf46172539605 SHA512 fc6259c7b55a1ee457e444885c9604d2bcbe937833bdca9bb70fbfb230032c1e497ea04aa5edd761eefe5b48d34928998c6935563e76c82eccb7a03b1d5aaa45 +DIST rust-1.44.1-mips-unknown-linux-gnu.tar.xz 94537064 BLAKE2B 39a829ad9cea0303599cf8de2654f5fc7291af0a41d03c72cc0f1472162347b7ebf4a2cb7b2ad6e64bbca3b7d39ac7d2843d16a9ad205b8b14be48139b84b34f SHA512 e2284a0cfe38b85e41e5c712ca89b2099617a8836695628c509075772d23314b234730bcbeae060c1fc664bf193286493dcd546f672a6053428304e099acd41d +DIST rust-1.44.1-mips64-unknown-linux-gnuabi64.tar.xz 102649752 BLAKE2B bc57e6a532c7806b6e302ab31f2dde7b88496bbadfec7185b8c389fa9cfd4a2baf18dccfe4c1b69d0914b7f481813dc4db72ad5944a9d67000493122228505bf SHA512 ef69913b8f448a41b3454bfda2e120ae58233349b215b9419e6f0bf6e41528521cd7904b02c97ed55fef029c7687d8cf9d3ce21fbd09ef771e961e24d3f2547f +DIST rust-1.44.1-mipsel-unknown-linux-gnu.tar.xz 100002200 BLAKE2B 5befcaab66a965dd9c2dcc5636050099a461270d70102a0a1c489c3a1b721c432d337dec514b685f2710ea4c9e4fe2b9250cd88c55034c82da9b970b8ebdedb6 SHA512 4fef660c68a265da12863b07bcaa1f0fc19d4e377e2404c504047ea1f407e9b47f29f8947f707cfb0fc75216fa44d123c86ed07e261db70d48017cf93b54dfdb +DIST rust-1.44.1-powerpc-unknown-linux-gnu.tar.xz 97722508 BLAKE2B 98a9ae4dc0c0df087bee8bd5c875e63a54b2ca71465386e19f425a9c35108abe9f04b222ef51f8cbeba3d781ae85f9fb4c612b86f263773ff868ae24866c7df7 SHA512 011dcbdfc8847f6a6004349665207ba89ec84a37d649c082588a1256ff992e374f4bad3d1930270a89d35c2386a16c18be301725b44e46dcc8501f0a98d761f5 +DIST rust-1.44.1-powerpc64-unknown-linux-gnu.tar.xz 107393564 BLAKE2B e3c2d6ae58585e020c4d1129ce26b19441b7f7e5df14d80290855f2931febdf4d2b4c30c4bcdc1747b61b4d1263194777ef7193bdc7c7dc4ce3eab91b137f0a0 SHA512 ff6b96b34b9b7dff362f6f2dcdf3b55fe7f2f349692434de5a11b8ca9956e06dbc6531c2457b4d43d5d19851ecbdbb0108e9f7eb449d9c965ed308ddbd0775a2 +DIST rust-1.44.1-powerpc64le-unknown-linux-gnu.tar.xz 112429740 BLAKE2B 10252623cd291c0e95238ac038544b989d94affd2edf173dce4f10847910aaabec99f8574f3141d4af4115ab6e9ed0536b87c8e8c6c899641e585efc9a3c516d SHA512 cf54b52581d393c2694fbefab90c62aa1f57ece8b200bfd656000950005554fda6fc0145af3aca0c526b8e43b100b8efe632929b6c0c1a4c4f4ce6dde4097283 +DIST rust-1.44.1-s390x-unknown-linux-gnu.tar.xz 119312728 BLAKE2B f5e3209990d3cc0181a200448e4bcbf1f6754847cfc36d7355e191fd49e239d3e0c002310743fd063241c5dec47da3a0776c361241facbcc4a1f1e9254eb805d SHA512 84c6ed736bb7d0c10aaceeb2c2c3c97f6188fd7d7f4466c8ef35ffc591d6bde3b273a0d62d50e60f184ccd81c96a31ed2e610e82fb9ed9efd574e4c5a5f25d26 +DIST rust-1.44.1-x86_64-unknown-linux-gnu.tar.xz 112133992 BLAKE2B c0af6bf1417bbb69be9f552f60805eb0a5f530b667ca2bbd04db9d567f1eb467a9e72912062a3c22d3922c29809258637dd7568c29e461dbeb5d17aa0699dd45 SHA512 540761fd5246f4a48a7606ac0220f0d61963473b57ef703696871dc23fda8154d45351b8e81018d15899c386b44e43b05028cc797d495e9dc46f127fbea7f093 +DIST rust-1.44.1-x86_64-unknown-linux-musl.tar.xz 117456616 BLAKE2B fd2752cf867e1ff701e624caf602fe7a29b47c64e633508e91da1a1b2321f5531441b84cc9f0ad159ef399d38628d60e59f8b7a99e5427df928abceb24f937f2 SHA512 05ca3e07001746511c5fcb5122f487205ffaee771805b0219db018b350d67945f5ab4b0b2cf98b7e7832b53365e3932fef37506a65ecaaf624d0bb8d43cf8427 DIST rustc-1.44.1-src.tar.xz 94756856 BLAKE2B 60f536c3ba0fa1fec4b6333ee57809ee5226090ad5041c14a136b4356ff3b898062e06c3fe54effe873e27931ac8fcb902cd48a38615a8de7eebc6ecb3bdc2bd SHA512 1c17002edae844a710db9b144c17171416330dc565343c65af8a6e112fb61555e2025bb4cf33cac1229d7df689e6ff8858b91ae00552400ccacafaf1de11849b -EBUILD rust-1.41.1.ebuild 10136 BLAKE2B aa077fba0ef2427383552eb9166acd6327a64af942756e2ebd745cec97aec030fa30e90e9522001ed2ae83b6965ebdd01635c9f0906d3614ced1337cf4e49507 SHA512 454a6545398497b192b8ee6b42c493f7f93a35121efb3ddf68287992cf40affec1445de538d97771582a8e689d2af58154688cc7439aee1659b95564a8fb2eaf -EBUILD rust-1.42.0.ebuild 10587 BLAKE2B d676f08d08c81b0dd876bece70e66c99979df6a011d09daf1c93d58fc9f6b8bec25a8a5ad8084eaa69f59f07b1b3a22bdd92ff5226bf4af1cc9f872130c051a5 SHA512 06e3e9b74283ae30fbd1ed7747ecb7a77c2f7af6a8f8a56c1ba42499c7d939d0df6e1bd79d6dc25e9b423f4464d899209606fe5d3d4e0fc0e6d4d2308ebec53b -EBUILD rust-1.43.1.ebuild 11453 BLAKE2B 422593c3f78f18fe63b3fded9f04871afb89019fb2e98726f19906fca7a16335d55aa35c7ae967412847fdd776ad88315648f0f132065c6f231ecb4768b51e5a SHA512 3d5902c19cdd7207acad042ded4fa5d7bc5250e07865fd17c5f826fedaa7a2160a8ac3ac483b09604ed5a078d1f1774dba664ba948ab39bfdd41ac6fe7b4a8e2 -EBUILD rust-1.44.0.ebuild 14712 BLAKE2B 369613de5eea49b105ebc645e34935bc1d00ec9ee3a30e525bb6589b993a8812cc33a8f989700d9705e891d33833f488fd7daca07a1225f5226ef00f1c7394bd SHA512 42be3030a795feb652ad70f0b04fce995f76a3ed6f3582698ca40fa127222a496162f0cc50a783dd6f030292df51f66d59bacfa681f974fb3d0d2a551394e85d -EBUILD rust-1.44.1.ebuild 14917 BLAKE2B f57f49337dcc1821d06894d6cdd9a9f2265d22afcda796d3ec9c02d27566086ed896f2dba3d720c62df41f6d700f4d9f69feed0cb111a8b52672fc34b084ae65 SHA512 1ae01e81eb06b24855a749c3ab9ae9a0abf102b4fb89c735136fa947e4d487caf94c4fcb032d7f3c758d6478695a52bd8a77242b9d90b4ce58ba914fc2e2cc57 +DIST rustc-1.45.2-src.tar.xz 98683036 BLAKE2B a4102a5d4744b7ccc9b076aba00c39d69532f777e7d39e0e4ce2033b663b43e27b55034fdb3a1e13379fae9a16bff9e7748865a84507f7388ef0ebf9d421eac7 SHA512 cc6250c0bc844e77ca6dd7ae013e434ed3009b001914114866ed31f28edf3960221454d131e298b15050e3b8153fb8298d509559c2f7307c64611aa8e36b4d25 +EBUILD rust-1.44.1.ebuild 14912 BLAKE2B 107391d3f6cbd0974c06398f7b9fec061cca9dd24ffd72ca903d5b9758edc630070b841a5973b0688ea17dc5afe95141874734bd365fa6d9fb283b97df7bf27e SHA512 78456cbe534f7735d3b2400f52ad07cd1a1dd3db5ae8c834d62f8744e4b4f5205d04b83d462d0a25a82f53158c19c7f625792d8c2cfbbdb63bc41f373b2ebf8f +EBUILD rust-1.45.2.ebuild 16613 BLAKE2B 450bf4e179e90977d8cd659a5153662548fef31a250682ce9ed496aa9d72cadce3b4c1f2b5dc68dbef5e0a6b9176af1b2742f0bd918526f924d1cbedd7e7aca0 SHA512 8fc4238dddd6e7062ea92b214c1481eeed89fbf76c358b815a536e2705d2237695f2ce269f2414ad7829dff1297820da835ec8cc25fb7540ff7f3a4df1a3d48d MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4 diff --git a/dev-lang/rust/files/1.40.0-add-soname.patch b/dev-lang/rust/files/1.40.0-add-soname.patch deleted file mode 100644 index 7a5c0189c68c..000000000000 --- a/dev-lang/rust/files/1.40.0-add-soname.patch +++ /dev/null @@ -1,36 +0,0 @@ -Description: Set DT_SONAME when building dylibs - In Rust, library filenames include a version-specific hash to help - the run-time linker find the correct version. Unlike in C/C++, the - compiler looks for all libraries matching a glob that ignores the - hash and reads embedded metadata to work out versions, etc. - . - The upshot is that there is no need for the usual "libfoo.so -> - libfoo-1.2.3.so" symlink common with C/C++ when building with Rust, - and no need to communicate an alternate filename to use at run-time - vs compile time. If linking to a Rust dylib from C/C++ however, a - "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in - this case DT_SONAME=libfoo-$hash.so would be required. More - mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't - find DT_SONAME on shared libraries in public directories. - . - This patch passes -Wl,-soname=$outfile when building dylibs (and - using a GNU linker). -Author: Angus Lees -Forwarded: no - ---- a/src/librustc_codegen_ssa/back/link.rs -+++ b/src/librustc_codegen_ssa/back/link.rs -@@ -1034,6 +1034,13 @@ - cmd.args(&rpath::get_rpath_flags(&mut rpath_config)); - } - -+ if (crate_type == config::CrateType::Dylib || crate_type == config::CrateType::Cdylib) -+ && t.options.linker_is_gnu { -+ let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap()); -+ let soname = [String::from("-Wl,-soname=") + &filename]; -+ cmd.args(&soname); -+ } -+ - // Finally add all the linker arguments provided on the command line along - // with any #[link_args] attributes found inside the crate - if let Some(ref args) = sess.opts.cg.link_args { diff --git a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch b/dev-lang/rust/files/1.42.0-fix-bootstrap.patch deleted file mode 100644 index 16e4e6dce1c5..000000000000 --- a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch +++ /dev/null @@ -1,440 +0,0 @@ -From 5f979e9afab42dd7536ca93994de66169880361e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= -Date: Mon, 3 Feb 2020 20:13:30 +0100 -Subject: [PATCH] bootstrap: fix clippy warnings - ---- - src/bootstrap/bin/rustc.rs | 6 +++--- - src/bootstrap/bin/rustdoc.rs | 2 +- - src/bootstrap/builder.rs | 24 ++++++++---------------- - src/bootstrap/builder/tests.rs | 1 - - src/bootstrap/compile.rs | 20 ++++++++++---------- - src/bootstrap/config.rs | 7 +++---- - src/bootstrap/dist.rs | 4 ++-- - src/bootstrap/doc.rs | 2 +- - src/bootstrap/flags.rs | 2 +- - src/bootstrap/install.rs | 5 ++--- - src/bootstrap/lib.rs | 6 +++--- - src/bootstrap/metadata.rs | 1 - - src/bootstrap/native.rs | 4 +--- - src/bootstrap/test.rs | 9 +++------ - src/bootstrap/tool.rs | 2 +- - src/bootstrap/toolstate.rs | 2 +- - src/bootstrap/util.rs | 2 +- - 17 files changed, 41 insertions(+), 58 deletions(-) - -diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs -index a34ec44566bc..a8c00c8c3ca8 100644 ---- a/src/bootstrap/bin/rustc.rs -+++ b/src/bootstrap/bin/rustc.rs -@@ -47,7 +47,7 @@ fn main() { - }; - let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set"); - let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set"); -- let on_fail = env::var_os("RUSTC_ON_FAIL").map(|of| Command::new(of)); -+ let on_fail = env::var_os("RUSTC_ON_FAIL").map(Command::new); - - let rustc = env::var_os(rustc).unwrap_or_else(|| panic!("{:?} was not set", rustc)); - let libdir = env::var_os(libdir).unwrap_or_else(|| panic!("{:?} was not set", libdir)); -@@ -64,7 +64,7 @@ fn main() { - if let Some(crate_name) = crate_name { - if let Some(target) = env::var_os("RUSTC_TIME") { - if target == "all" -- || target.into_string().unwrap().split(",").any(|c| c.trim() == crate_name) -+ || target.into_string().unwrap().split(',').any(|c| c.trim() == crate_name) - { - cmd.arg("-Ztime"); - } -@@ -189,7 +189,7 @@ fn main() { - crate_name, - is_test, - dur.as_secs(), -- dur.subsec_nanos() / 1_000_000 -+ dur.subsec_millis() - ); - - match status.code() { -diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs -index 8c8b33a4e4e0..04345867bf5c 100644 ---- a/src/bootstrap/bin/rustdoc.rs -+++ b/src/bootstrap/bin/rustdoc.rs -@@ -61,7 +61,7 @@ fn main() { - } - - // Needed to be able to run all rustdoc tests. -- if let Some(_) = env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES") { -+ if env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES").is_some() { - // This "unstable-options" can be removed when `--generate-redirect-pages` is stabilized - if !has_unstable { - cmd.arg("-Z").arg("unstable-options"); -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index d9c894aa9c6b..18f6fda76084 100644 ---- a/src/bootstrap/builder.rs -+++ b/src/bootstrap/builder.rs -@@ -510,7 +510,7 @@ impl<'a> Builder<'a> { - Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(), - }; - -- let builder = Builder { -+ Builder { - build, - top_stage: build.config.stage.unwrap_or(2), - kind, -@@ -518,9 +518,7 @@ impl<'a> Builder<'a> { - stack: RefCell::new(Vec::new()), - time_spent_on_dependencies: Cell::new(Duration::new(0, 0)), - paths: paths.to_owned(), -- }; -- -- builder -+ } - } - - pub fn execute_cli(&self) { -@@ -753,13 +751,12 @@ impl<'a> Builder<'a> { - cargo.env("RUST_CHECK", "1"); - } - -- let stage; -- if compiler.stage == 0 && self.local_rebuild { -+ let stage = if compiler.stage == 0 && self.local_rebuild { - // Assume the local-rebuild rustc already has stage1 features. -- stage = 1; -+ 1 - } else { -- stage = compiler.stage; -- } -+ compiler.stage -+ }; - - let mut rustflags = Rustflags::new(&target); - if stage != 0 { -@@ -1252,12 +1249,7 @@ impl<'a> Builder<'a> { - }; - - if self.config.print_step_timings && dur > Duration::from_millis(100) { -- println!( -- "[TIMING] {:?} -- {}.{:03}", -- step, -- dur.as_secs(), -- dur.subsec_nanos() / 1_000_000 -- ); -+ println!("[TIMING] {:?} -- {}.{:03}", step, dur.as_secs(), dur.subsec_millis()); - } - - { -@@ -1302,7 +1294,7 @@ impl Rustflags { - - fn arg(&mut self, arg: &str) -> &mut Self { - assert_eq!(arg.split_whitespace().count(), 1); -- if self.0.len() > 0 { -+ if !self.0.is_empty() { - self.0.push_str(" "); - } - self.0.push_str(arg); -diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs -index 5fefb972866a..cca8ab80c93b 100644 ---- a/src/bootstrap/builder/tests.rs -+++ b/src/bootstrap/builder/tests.rs -@@ -19,7 +19,6 @@ fn configure(host: &[&str], target: &[&str]) -> Config { - config.out = dir; - config.build = INTERNER.intern_str("A"); - config.hosts = vec![config.build] -- .clone() - .into_iter() - .chain(host.iter().map(|s| INTERNER.intern_str(s))) - .collect::>(); -diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index eced03506ab9..7dded96e18ef 100644 ---- a/src/bootstrap/compile.rs -+++ b/src/bootstrap/compile.rs -@@ -18,7 +18,6 @@ use std::str; - use build_helper::{output, t, up_to_date}; - use filetime::FileTime; - use serde::Deserialize; --use serde_json; - - use crate::builder::Cargo; - use crate::dist; -@@ -149,7 +148,8 @@ fn copy_third_party_objects( - // which is provided by std for this target. - if target == "x86_64-fortanix-unknown-sgx" { - let src_path_env = "X86_FORTANIX_SGX_LIBS"; -- let src = env::var(src_path_env).expect(&format!("{} not found in env", src_path_env)); -+ let src = -+ env::var(src_path_env).unwrap_or_else(|_| panic!("{} not found in env", src_path_env)); - copy_and_stamp(Path::new(&src), "libunwind.a"); - } - -@@ -361,7 +361,7 @@ impl Step for StartupObjects { - ); - } - -- let target = sysroot_dir.join(file.to_string() + ".o"); -+ let target = sysroot_dir.join((*file).to_string() + ".o"); - builder.copy(dst_file, &target); - target_deps.push(target); - } -@@ -515,7 +515,7 @@ pub fn rustc_cargo_env(builder: &Builder<'_>, cargo: &mut Cargo, target: Interne - .env("CFG_VERSION", builder.rust_version()) - .env("CFG_PREFIX", builder.config.prefix.clone().unwrap_or_default()); - -- let libdir_relative = builder.config.libdir_relative().unwrap_or(Path::new("lib")); -+ let libdir_relative = builder.config.libdir_relative().unwrap_or_else(|| Path::new("lib")); - cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative); - - if let Some(ref ver_date) = builder.rust_info.commit_date() { -@@ -843,11 +843,11 @@ pub fn run_cargo( - }; - for filename in filenames { - // Skip files like executables -- if !filename.ends_with(".rlib") -- && !filename.ends_with(".lib") -- && !filename.ends_with(".a") -- && !is_dylib(&filename) -- && !(is_check && filename.ends_with(".rmeta")) -+ if !(filename.ends_with(".rlib") -+ || filename.ends_with(".lib") -+ || filename.ends_with(".a") -+ || is_dylib(&filename) -+ || (is_check && filename.ends_with(".rmeta"))) - { - continue; - } -@@ -905,7 +905,7 @@ pub fn run_cargo( - for (prefix, extension, expected_len) in toplevel { - let candidates = contents.iter().filter(|&&(_, ref filename, ref meta)| { - filename.starts_with(&prefix[..]) -- && filename[prefix.len()..].starts_with("-") -+ && filename[prefix.len()..].starts_with('-') - && filename.ends_with(&extension[..]) - && meta.len() == expected_len - }); -diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index 110c8b844d54..709cf2908ead 100644 ---- a/src/bootstrap/config.rs -+++ b/src/bootstrap/config.rs -@@ -16,7 +16,6 @@ use crate::flags::Flags; - pub use crate::flags::Subcommand; - use build_helper::t; - use serde::Deserialize; --use toml; - - /// Global configuration for the entire build and/or bootstrap. - /// -@@ -440,7 +439,7 @@ impl Config { - } - } - }) -- .unwrap_or_else(|| TomlConfig::default()); -+ .unwrap_or_else(TomlConfig::default); - - let build = toml.build.clone().unwrap_or_default(); - // set by bootstrap.py -@@ -539,7 +538,7 @@ impl Config { - config.llvm_ldflags = llvm.ldflags.clone(); - set(&mut config.llvm_use_libcxx, llvm.use_libcxx); - config.llvm_use_linker = llvm.use_linker.clone(); -- config.llvm_allow_old_toolchain = llvm.allow_old_toolchain.clone(); -+ config.llvm_allow_old_toolchain = llvm.allow_old_toolchain; - } - - if let Some(ref rust) = toml.rust { -@@ -606,7 +605,7 @@ impl Config { - target.ar = cfg.ar.clone().map(PathBuf::from); - target.ranlib = cfg.ranlib.clone().map(PathBuf::from); - target.linker = cfg.linker.clone().map(PathBuf::from); -- target.crt_static = cfg.crt_static.clone(); -+ target.crt_static = cfg.crt_static; - target.musl_root = cfg.musl_root.clone().map(PathBuf::from); - target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from); - target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from); -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index 8d13df3ee21a..651506dbaa8a 100644 ---- a/src/bootstrap/dist.rs -+++ b/src/bootstrap/dist.rs -@@ -827,7 +827,7 @@ impl Step for Analysis { - assert!(builder.config.extended); - let name = pkgname(builder, "rust-analysis"); - -- if &compiler.host != builder.config.build { -+ if compiler.host != builder.config.build { - return distdir(builder).join(format!("{}-{}.tar.gz", name, target)); - } - -@@ -876,7 +876,7 @@ fn copy_src_dirs(builder: &Builder<'_>, src_dirs: &[&str], exclude_dirs: &[&str] - Some(path) => path, - None => return false, - }; -- if spath.ends_with("~") || spath.ends_with(".pyc") { -+ if spath.ends_with('~') || spath.ends_with(".pyc") { - return false; - } - -diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs -index 204056598d90..b0d9a5b94641 100644 ---- a/src/bootstrap/doc.rs -+++ b/src/bootstrap/doc.rs -@@ -560,7 +560,7 @@ impl Step for Rustdoc { - builder.ensure(Rustc { stage, target }); - - // Build rustdoc. -- builder.ensure(tool::Rustdoc { compiler: compiler }); -+ builder.ensure(tool::Rustdoc { compiler }); - - // Symlink compiler docs to the output directory of rustdoc documentation. - let out_dir = builder.stage_out(compiler, Mode::ToolRustc).join(target).join("doc"); -diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs -index 2101ef27f9d4..516be6a30c23 100644 ---- a/src/bootstrap/flags.rs -+++ b/src/bootstrap/flags.rs -@@ -571,7 +571,7 @@ fn split(s: &[String]) -> Vec { - } - - fn parse_deny_warnings(matches: &getopts::Matches) -> Option { -- match matches.opt_str("warnings").as_ref().map(|v| v.as_str()) { -+ match matches.opt_str("warnings").as_deref() { - Some("deny") => Some(true), - Some("warn") => Some(false), - Some(value) => { -diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs -index f8734ebdf425..6549262811b9 100644 ---- a/src/bootstrap/install.rs -+++ b/src/bootstrap/install.rs -@@ -126,9 +126,8 @@ fn add_destdir(path: &Path, destdir: &Option) -> PathBuf { - None => return path.to_path_buf(), - }; - for part in path.components() { -- match part { -- Component::Normal(s) => ret.push(s), -- _ => {} -+ if let Component::Normal(s) = part { -+ ret.push(s) - } - } - ret -diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index 1fee3fd9ac1d..0db4fb389010 100644 ---- a/src/bootstrap/lib.rs -+++ b/src/bootstrap/lib.rs -@@ -444,7 +444,7 @@ impl Build { - builder.execute_cli(); - } else { - let builder = builder::Builder::new(&self); -- let _ = builder.execute_cli(); -+ builder.execute_cli(); - } - - // Check for postponed failures from `test --no-fail-fast`. -@@ -839,7 +839,7 @@ impl Build { - .target_config - .get(&target) - .and_then(|t| t.musl_root.as_ref()) -- .or(self.config.musl_root.as_ref()) -+ .or_else(|| self.config.musl_root.as_ref()) - .map(|p| &**p) - } - -@@ -1026,7 +1026,7 @@ impl Build { - } - - fn llvm_link_tools_dynamically(&self, target: Interned) -> bool { -- (target.contains("linux-gnu") || target.contains("apple-darwin")) -+ target.contains("linux-gnu") || target.contains("apple-darwin") - } - - /// Returns the `version` string associated with this compiler for Rust -diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs -index 8a26adc7ed50..292aa3b1e24a 100644 ---- a/src/bootstrap/metadata.rs -+++ b/src/bootstrap/metadata.rs -@@ -5,7 +5,6 @@ use std::process::Command; - - use build_helper::output; - use serde::Deserialize; --use serde_json; - - use crate::cache::INTERNER; - use crate::{Build, Crate}; -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs -index 5bbd9f47fc90..1cfb4b2f63b5 100644 ---- a/src/bootstrap/native.rs -+++ b/src/bootstrap/native.rs -@@ -15,8 +15,6 @@ use std::path::{Path, PathBuf}; - use std::process::Command; - - use build_helper::{output, t}; --use cc; --use cmake; - - use crate::builder::{Builder, RunConfig, ShouldRun, Step}; - use crate::cache::Interned; -@@ -205,7 +203,7 @@ impl Step for Llvm { - cfg.define("LLVM_ENABLE_LIBXML2", "OFF"); - } - -- if enabled_llvm_projects.len() > 0 { -+ if !enabled_llvm_projects.is_empty() { - enabled_llvm_projects.sort(); - enabled_llvm_projects.dedup(); - cfg.define("LLVM_ENABLE_PROJECTS", enabled_llvm_projects.join(";")); -diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs -index 6adf9ddaf343..8d9e62010015 100644 ---- a/src/bootstrap/test.rs -+++ b/src/bootstrap/test.rs -@@ -1424,13 +1424,10 @@ impl Step for ErrorIndex { - } - - fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) -> bool { -- match fs::read_to_string(markdown) { -- Ok(contents) => { -- if !contents.contains("```") { -- return true; -- } -+ if let Ok(contents) = fs::read_to_string(markdown) { -+ if !contents.contains("```") { -+ return true; - } -- Err(_) => {} - } - - builder.info(&format!("doc tests for: {}", markdown.display())); -diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs -index 7f24768a4f10..67e0ed5c5802 100644 ---- a/src/bootstrap/tool.rs -+++ b/src/bootstrap/tool.rs -@@ -234,7 +234,7 @@ pub fn prepare_tool_cargo( - cargo.env("RUSTC_EXTERNAL_TOOL", "1"); - } - -- let mut features = extra_features.iter().cloned().collect::>(); -+ let mut features = extra_features.to_vec(); - if builder.build.config.cargo_native_static { - if path.ends_with("cargo") - || path.ends_with("rls") -diff --git a/src/bootstrap/toolstate.rs b/src/bootstrap/toolstate.rs -index b068c8200ace..bb012a388551 100644 ---- a/src/bootstrap/toolstate.rs -+++ b/src/bootstrap/toolstate.rs -@@ -124,7 +124,7 @@ fn check_changed_files(toolstates: &HashMap, ToolState>) { - let output = t!(String::from_utf8(output.stdout)); - - for (tool, submodule) in STABLE_TOOLS.iter().chain(NIGHTLY_TOOLS.iter()) { -- let changed = output.lines().any(|l| l.starts_with("M") && l.ends_with(submodule)); -+ let changed = output.lines().any(|l| l.starts_with('M') && l.ends_with(submodule)); - eprintln!("Verifying status of {}...", tool); - if !changed { - continue; -diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs -index 7d1efe4610f9..eac790fe504b 100644 ---- a/src/bootstrap/util.rs -+++ b/src/bootstrap/util.rs -@@ -98,7 +98,7 @@ impl Drop for TimeIt { - fn drop(&mut self) { - let time = self.1.elapsed(); - if !self.0 { -- println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_nanos() / 1_000_000); -+ println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_millis()); - } - } - } diff --git a/dev-lang/rust/files/1.42.0-libressl.patch b/dev-lang/rust/files/1.42.0-libressl.patch deleted file mode 100644 index 7d09f88f7665..000000000000 --- a/dev-lang/rust/files/1.42.0-libressl.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 597729ad63b53901da011ebb12ac0f811304bca7 Mon Sep 17 00:00:00 2001 -From: Stefan Strogin -Date: Fri, 10 Apr 2020 09:18:41 +0300 -Subject: [PATCH] Support LibreSSL 3.1.x - -Signed-off-by: Stefan Strogin ---- - vendor/openssl-sys/.cargo-checksum.json | 2 +- - vendor/openssl-sys/build/main.rs | 4 +++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json -index e0bfd3035..0df6df7ef 100644 ---- a/vendor/openssl-sys/.cargo-checksum.json -+++ b/vendor/openssl-sys/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"6e800f4dc5c2cbbd54d1b1b995a2915ff941e17e11300d7091858210d3ce788d","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"} -\ No newline at end of file -+{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"7379da716f13ace24c6782c842fcb08053544475b6401a84735ac6af21b67935","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"} -diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs -index 162e11a66..efac336af 100644 ---- a/vendor/openssl-sys/build/main.rs -+++ b/vendor/openssl-sys/build/main.rs -@@ -204,6 +204,8 @@ See rust-openssl README for more information: - (3, 0, 0) => ('3', '0', '0'), - (3, 0, 1) => ('3', '0', '1'), - (3, 0, _) => ('3', '0', 'x'), -+ (3, 1, 0) => ('3', '1', '0'), -+ (3, 1, _) => ('3', '1', 'x'), - _ => version_error(), - }; - -@@ -244,7 +246,7 @@ fn version_error() -> ! { - " - - This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5 --through 3.0.x, but a different version of OpenSSL was found. The build is now aborting -+through 3.1.x, but a different version of OpenSSL was found. The build is now aborting - due to this version mismatch. - - " --- -2.26.2 - diff --git a/dev-lang/rust/files/1.43.0-llvm10.patch b/dev-lang/rust/files/1.43.0-llvm10.patch deleted file mode 100644 index 14940716abf6..000000000000 --- a/dev-lang/rust/files/1.43.0-llvm10.patch +++ /dev/null @@ -1,194 +0,0 @@ -From fe83c6cd5922fd6f964fa40ca704fb7f92426202 Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Tue, 4 Feb 2020 19:23:45 +0100 -Subject: [PATCH 2/7] Remove trailing newline from llvm-config output - ---- - src/bootstrap/test.rs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs -index 4cfda606c4bc8..aaec10ff10b38 100644 ---- a/src/bootstrap/test.rs -+++ b/src/bootstrap/test.rs -@@ -1142,6 +1142,8 @@ impl Step for Compiletest { - let llvm_config = builder.ensure(native::Llvm { target: builder.config.build }); - if !builder.config.dry_run { - let llvm_version = output(Command::new(&llvm_config).arg("--version")); -+ // Remove trailing newline from llvm-config output. -+ let llvm_version = llvm_version.trim_end(); - cmd.arg("--llvm-version").arg(llvm_version); - } - if !builder.is_rust_llvm(target) { - -From 545f18e8f1c2227b74091fbca5c73595f65eeeed Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Sat, 18 Jan 2020 23:00:30 +0100 -Subject: [PATCH 3/7] Fix LLVM version handling in compiletest - -Convert version string to integer before comparing. Otherwise -we get into trouble with double digit versions ;) ---- - src/tools/compiletest/src/header.rs | 27 +++++++++++++++++++++------ - 1 file changed, 21 insertions(+), 6 deletions(-) - -diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs -index 2a24a8c3c9485..cb648db8830ef 100644 ---- a/src/tools/compiletest/src/header.rs -+++ b/src/tools/compiletest/src/header.rs -@@ -191,6 +191,7 @@ impl EarlyProps { - return true; - } - if let Some(ref actual_version) = config.llvm_version { -+ let actual_version = version_to_int(actual_version); - if line.starts_with("min-llvm-version") { - let min_version = line - .trim_end() -@@ -199,7 +200,7 @@ impl EarlyProps { - .expect("Malformed llvm version directive"); - // Ignore if actual version is smaller the minimum required - // version -- &actual_version[..] < min_version -+ actual_version < version_to_int(min_version) - } else if line.starts_with("min-system-llvm-version") { - let min_version = line - .trim_end() -@@ -208,7 +209,7 @@ impl EarlyProps { - .expect("Malformed llvm version directive"); - // Ignore if using system LLVM and actual version - // is smaller the minimum required version -- config.system_llvm && &actual_version[..] < min_version -+ config.system_llvm && actual_version < version_to_int(min_version) - } else if line.starts_with("ignore-llvm-version") { - // Syntax is: "ignore-llvm-version [- ]" - let range_components = line -@@ -219,15 +220,15 @@ impl EarlyProps { - .take(3) // 3 or more = invalid, so take at most 3. - .collect::>(); - match range_components.len() { -- 1 => &actual_version[..] == range_components[0], -+ 1 => actual_version == version_to_int(range_components[0]), - 2 => { -- let v_min = range_components[0]; -- let v_max = range_components[1]; -+ let v_min = version_to_int(range_components[0]); -+ let v_max = version_to_int(range_components[1]); - if v_max < v_min { - panic!("Malformed LLVM version range: max < min") - } - // Ignore if version lies inside of range. -- &actual_version[..] >= v_min && &actual_version[..] <= v_max -+ actual_version >= v_min && actual_version <= v_max - } - _ => panic!("Malformed LLVM version directive"), - } -@@ -238,6 +239,20 @@ impl EarlyProps { - false - } - } -+ -+ fn version_to_int(version: &str) -> u32 { -+ let version_without_suffix = version.split('-').next().unwrap(); -+ let components: Vec = version_without_suffix -+ .split('.') -+ .map(|s| s.parse().expect("Malformed version component")) -+ .collect(); -+ match components.len() { -+ 1 => components[0] * 10000, -+ 2 => components[0] * 10000 + components[1] * 100, -+ 3 => components[0] * 10000 + components[1] * 100 + components[2], -+ _ => panic!("Malformed version"), -+ } -+ } - } - } - - -From e06fff0609fedf95b826d82ff32ff836b0e3f3da Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Sun, 19 Jan 2020 22:47:45 +0100 -Subject: [PATCH 4/7] Adjust data layout in test - ---- - .../run-make-fulldeps/target-specs/my-awesome-platform.json | 2 +- - .../target-specs/my-x86_64-unknown-linux-gnu-platform.json | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json -index 8d028280a8da7..00de3de05f07a 100644 ---- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json -+++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json -@@ -1,5 +1,5 @@ - { -- "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128", -+ "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128", - "linker-flavor": "gcc", - "llvm-target": "i686-unknown-linux-gnu", - "target-endian": "little", -diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json -index 48040ae3da0ef..6d5e964ed4fee 100644 ---- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json -+++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json -@@ -1,6 +1,6 @@ - { - "pre-link-args": {"gcc": ["-m64"]}, -- "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128", -+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", - "linker-flavor": "gcc", - "llvm-target": "x86_64-unknown-linux-gnu", - "target-endian": "little", - -From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Tue, 4 Feb 2020 20:35:50 +0100 -Subject: [PATCH 5/7] Fix timeTraceProfilerInitialize for LLVM 10 - ---- - src/rustllvm/PassWrapper.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp -index 65071c3ed86e0..ebf4d4017a813 100644 ---- a/src/rustllvm/PassWrapper.cpp -+++ b/src/rustllvm/PassWrapper.cpp -@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() { - } - - extern "C" void LLVMTimeTraceProfilerInitialize() { --#if LLVM_VERSION_GE(9, 0) -+#if LLVM_VERSION_GE(10, 0) -+ timeTraceProfilerInitialize( -+ /* TimeTraceGranularity */ 0, -+ /* ProcName */ "rustc"); -+#elif LLVM_VERSION_GE(9, 0) - timeTraceProfilerInitialize(); - #endif - } - -From aed9cf36bb4b9c6b357e395552dbb5e1802feec9 Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Mon, 2 Mar 2020 22:37:55 +0100 -Subject: [PATCH 6/7] Update CreateMemSet() usage for LLVM 10 - ---- - src/rustllvm/RustWrapper.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp -index 49b6e1bfec38d..002eb031dac64 100644 ---- a/src/rustllvm/RustWrapper.cpp -+++ b/src/rustllvm/RustWrapper.cpp -@@ -1300,8 +1300,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B, - LLVMValueRef Dst, unsigned DstAlign, - LLVMValueRef Val, - LLVMValueRef Size, bool IsVolatile) { -+#if LLVM_VERSION_GE(10, 0) -+ return wrap(unwrap(B)->CreateMemSet( -+ unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile)); -+#else - return wrap(unwrap(B)->CreateMemSet( - unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile)); -+#endif - } - - extern "C" LLVMValueRef diff --git a/dev-lang/rust/files/llvm-gcc10.patch b/dev-lang/rust/files/llvm-gcc10.patch deleted file mode 100644 index 8fbaa923f7c9..000000000000 --- a/dev-lang/rust/files/llvm-gcc10.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b288d90b39f4b905c02092a9bfcfd6d78f99b191 Mon Sep 17 00:00:00 2001 -From: Than McIntosh -Date: Fri, 19 Jul 2019 13:13:54 +0000 -Subject: [PATCH] [NFC] include cstdint/string prior to using uint8_t/string - -Summary: include proper header prior to use of uint8_t typedef -and std::string. - -Subscribers: llvm-commits - -Reviewers: cherry - -Tags: #llvm - -Differential Revision: https://reviews.llvm.org/D64937 - -llvm-svn: 366572 ---- - llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/llbm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h -index da9d9d5bfdc0..3d47471f0ef0 100644 ---- a/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h -+++ b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h -@@ -16,6 +16,8 @@ - #include "llvm/Demangle/DemangleConfig.h" - #include "llvm/Demangle/StringView.h" - #include -+#include -+#include - - namespace llvm { - namespace itanium_demangle { diff --git a/dev-lang/rust/rust-1.41.1.ebuild b/dev-lang/rust/rust-1.41.1.ebuild deleted file mode 100644 index cb0c9d685a86..000000000000 --- a/dev-lang/rust/rust-1.41.1.ebuild +++ /dev/null @@ -1,370 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs - -if [[ ${PV} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SLOT="beta/${PV}" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" -else - ABI_VER="$(ver_cut 1-2)" - SLOT="stable/${ABI_VER}" - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="amd64 ~arm arm64 ppc64 x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) -" - -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling more than one slot -# simultaneously. - -# How to use it: -# 1. List all the working slots (with min versions) in ||, newest first. -# 2. Update the := to specify *max* version, e.g. < 10. -# 3. Specify LLVM_MAX_SLOT, e.g. 9. -LLVM_DEPEND=" - || ( - sys-devel/llvm:9[llvm_targets_WebAssembly?] - ) - "${S}"/config.toml - [llvm] - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = $(toml_usex system-llvm) - [build] - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - docs = $(toml_usex doc) - compiler-docs = $(toml_usex doc) - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = ${extended} - tools = [${tools}] - verbose = 2 - [install] - prefix = "${EPREFIX}/usr" - libdir = "lib" - docdir = "share/doc/${PF}" - mandir = "share/man" - [rust] - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - rpath = false - lld = $(usex system-llvm false $(toml_usex wasm)) - backtrace-on-ice = true - [dist] - src-tarball = false - EOF - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - cat <<- EOF >> "${S}"/config.env - CFLAGS_${rust_target}=${arch_cflags} - EOF - - cat <<- EOF >> "${S}"/config.toml - [target.${rust_target}] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - EOF - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - if use elibc_musl; then - cat <<- EOF >> "${S}"/config.toml - crt-static = false - EOF - fi - if use system-llvm; then - cat <<- EOF >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - EOF - fi - done - - if use wasm; then - cat <<- EOF >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - EOF - fi -} - -src_compile() { - env $(cat "${S}"/config.env)\ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ - --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305 -} - -src_install() { - env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \ - --exclude src/tools/miri || die - - # bug #689562, #689160 - rm "${D}/etc/bash_completion.d/cargo" || die - rmdir "${D}"/etc{/bash_completion.d,} || die - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo - - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die - if use clippy; then - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die - fi - if use rls; then - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die - fi - if use rustfmt; then - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die - fi - - # Move public shared libs to abi specific libdir - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib - if [[ $(get_libdir) != lib ]]; then - dodir /usr/$(get_libdir) - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die - fi - - dodoc COPYRIGHT - - # note: eselect-rust adds EROOT to all paths below - cat <<-EOF > "${T}/provider-${P}" - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - EOF - echo /usr/bin/cargo >> "${T}/provider-${P}" - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use rls; then - echo /usr/bin/rls >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" -} - -pkg_postinst() { - eselect rust update --if-unset - - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi - - if use elibc_musl; then - ewarn "${PN} on *-musl targets is configured with crt-static" - ewarn "" - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" - ewarn "to use it with portage, otherwise you may see failures like" - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " - ewarn "x86_64-unknown-linux-musl does not support these crate types" - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.42.0.ebuild b/dev-lang/rust/rust-1.42.0.ebuild deleted file mode 100644 index 769cc360926b..000000000000 --- a/dev-lang/rust/rust-1.42.0.ebuild +++ /dev/null @@ -1,385 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs - -if [[ ${PV} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SLOT="beta/${PV}" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" -else - ABI_VER="$(ver_cut 1-2)" - SLOT="stable/${ABI_VER}" - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) -" - -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling more than one slot -# simultaneously. - -# How to use it: -# 1. List all the working slots (with min versions) in ||, newest first. -# 2. Update the := to specify *max* version, e.g. < 11. -# 3. Specify LLVM_MAX_SLOT, e.g. 10. -LLVM_DEPEND=" - || ( - sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] - sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] - ) - "${S}"/config.toml - [llvm] - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = $(toml_usex system-llvm) - [build] - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - docs = $(toml_usex doc) - compiler-docs = $(toml_usex doc) - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = ${extended} - tools = [${tools}] - verbose = 2 - [install] - prefix = "${EPREFIX}/usr" - libdir = "lib" - docdir = "share/doc/${PF}" - mandir = "share/man" - [rust] - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - rpath = false - lld = $(usex system-llvm false $(toml_usex wasm)) - backtrace-on-ice = true - [dist] - src-tarball = false - EOF - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - cat <<- EOF >> "${S}"/config.env - CFLAGS_${rust_target}=${arch_cflags} - EOF - - cat <<- EOF >> "${S}"/config.toml - [target.${rust_target}] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - EOF - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - if use elibc_musl; then - cat <<- EOF >> "${S}"/config.toml - crt-static = false - EOF - fi - if use system-llvm; then - cat <<- EOF >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - EOF - fi - done - if use wasm; then - cat <<- EOF >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - EOF - fi - - einfo "Rust configured with the following settings:" - cat "${S}"/config.toml || die -} - -src_compile() { - env $(cat "${S}"/config.env)\ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die -} - -src_install() { - env $(cat "${S}"/config.env) DESTDIR="${D}" \ - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die - - # bug #689562, #689160 - rm "${D}/etc/bash_completion.d/cargo" || die - rmdir "${D}"/etc{/bash_completion.d,} || die - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo - - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die - if use clippy; then - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die - fi - if use miri; then - mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die - mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die - fi - if use rls; then - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die - fi - if use rustfmt; then - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die - fi - - # Move public shared libs to abi specific libdir - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib - if [[ $(get_libdir) != lib ]]; then - dodir /usr/$(get_libdir) - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die - fi - - dodoc COPYRIGHT - - # note: eselect-rust adds EROOT to all paths below - cat <<-EOF > "${T}/provider-${P}" - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - EOF - echo /usr/bin/cargo >> "${T}/provider-${P}" - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use rls; then - echo /usr/bin/rls >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" -} - -pkg_postinst() { - eselect rust update --if-unset - - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - - ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." - ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" - ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi - - if use elibc_musl; then - ewarn "${PN} on *-musl targets is configured with crt-static" - ewarn "" - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" - ewarn "to use it with portage, otherwise you may see failures like" - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " - ewarn "x86_64-unknown-linux-musl does not support these crate types" - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.43.1.ebuild b/dev-lang/rust/rust-1.43.1.ebuild deleted file mode 100644 index 9f54ed8a0668..000000000000 --- a/dev-lang/rust/rust-1.43.1.ebuild +++ /dev/null @@ -1,419 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs - -if [[ ${PV} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SLOT="beta/${PV}" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" -else - ABI_VER="$(ver_cut 1-2)" - SLOT="stable/${ABI_VER}" - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) -" - -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling more than one slot -# simultaneously. - -# How to use it: -# 1. List all the working slots (with min versions) in ||, newest first. -# 2. Update the := to specify *max* version, e.g. < 11. -# 3. Specify LLVM_MAX_SLOT, e.g. 10. -LLVM_DEPEND=" - || ( - sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] - sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] - ) - "${S}"/config.toml - [llvm] - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = $(toml_usex system-llvm) - [build] - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - docs = $(toml_usex doc) - compiler-docs = $(toml_usex doc) - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = false - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr" - libdir = "lib" - docdir = "share/doc/${PF}" - mandir = "share/man" - [rust] - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debuginfo-level-rustc = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - rpath = false - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - dist-src = false - lld = $(usex system-llvm false $(toml_usex wasm)) - backtrace-on-ice = true - jemalloc = false - [dist] - src-tarball = false - EOF - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - cat <<- EOF >> "${S}"/config.env - CFLAGS_${rust_target}=${arch_cflags} - EOF - - cat <<- EOF >> "${S}"/config.toml - [target.${rust_target}] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - EOF - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - if use elibc_musl; then - cat <<- EOF >> "${S}"/config.toml - crt-static = false - EOF - fi - if use system-llvm; then - cat <<- EOF >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - EOF - fi - done - if use wasm; then - cat <<- EOF >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - EOF - fi - - einfo "Rust configured with the following settings:" - cat "${S}"/config.toml || die -} - -src_compile() { - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die -} - -src_test() { - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ - "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \ - src/test/codegen \ - src/test/codegen-units \ - src/test/compile-fail \ - src/test/incremental \ - src/test/mir-opt \ - src/test/pretty \ - src/test/run-fail \ - src/test/run-make \ - src/test/run-make-fulldeps \ - src/test/ui \ - src/test/ui-fulldeps || die -} - -src_install() { - env $(cat "${S}"/config.env) DESTDIR="${D}" \ - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die - - # bug #689562, #689160 - rm "${D}/etc/bash_completion.d/cargo" || die - rmdir "${D}"/etc{/bash_completion.d,} || die - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo - - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die - if use clippy; then - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die - fi - if use miri; then - mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die - mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die - fi - if use rls; then - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die - fi - if use rustfmt; then - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die - fi - - # Move public shared libs to abi specific libdir - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib - if [[ $(get_libdir) != lib ]]; then - dodir /usr/$(get_libdir) - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die - fi - - dodoc COPYRIGHT - rm "${ED}/usr/share/doc/${P}"/*.old || die - rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die - rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-EOF > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - EOF - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use rls; then - echo /usr/bin/rls >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" -} - -pkg_postinst() { - eselect rust update --if-unset - - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi - - if use elibc_musl; then - ewarn "${PN} on *-musl targets is configured with crt-static" - ewarn "" - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" - ewarn "to use it with portage, otherwise you may see failures like" - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " - ewarn "x86_64-unknown-linux-musl does not support these crate types" - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.44.0.ebuild b/dev-lang/rust/rust-1.44.0.ebuild deleted file mode 100644 index bd67db4cdf4b..000000000000 --- a/dev-lang/rust/rust-1.44.0.ebuild +++ /dev/null @@ -1,497 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs - -if [[ ${PV} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SLOT="beta/${PV}" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" -else - ABI_VER="$(ver_cut 1-2)" - SLOT="stable/${ABI_VER}" - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) -" - -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling more than one slot -# simultaneously. - -# How to use it: -# 1. List all the working slots (with min versions) in ||, newest first. -# 2. Update the := to specify *max* version, e.g. < 11. -# 3. Specify LLVM_MAX_SLOT, e.g. 10. -LLVM_DEPEND=" - || ( - sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] - sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] - ) - "${S}"/config.toml - [llvm] - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = $(toml_usex system-llvm) - [build] - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - docs = $(toml_usex doc) - compiler-docs = $(toml_usex doc) - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = false - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr" - libdir = "lib" - docdir = "share/doc/${PF}" - mandir = "share/man" - [rust] - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debuginfo-level-rustc = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - rpath = false - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - dist-src = false - lld = $(usex system-llvm false $(toml_usex wasm)) - backtrace-on-ice = true - jemalloc = false - [dist] - src-tarball = false - EOF - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - cat <<- EOF >> "${S}"/config.env - CFLAGS_${rust_target}=${arch_cflags} - EOF - - cat <<- EOF >> "${S}"/config.toml - [target.${rust_target}] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - EOF - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - if use elibc_musl; then - cat <<- EOF >> "${S}"/config.toml - crt-static = false - EOF - fi - if use system-llvm; then - cat <<- EOF >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - EOF - fi - done - if use wasm; then - cat <<- EOF >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - EOF - fi - - if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then #whitespace intentionally shifted below - # experimental cross support - # discussion: https://bugs.gentoo.org/679878 - # TODO: c*flags, clang, system-llvm, cargo.eclass target support - # it would be much better if we could split out stdlib - # complilation to separate ebuild and abuse CATEGORY to - # just install to /usr/lib/rustlib/ - - # extra targets defined as a bash array - # spec format: :: - # best place would be /etc/portage/env/dev-lang/rust - # Example: - # RUST_CROSS_TARGETS=( - # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" - # ) - # no extra hand holding is done, no target transformations, all - # values are passed as-is with just basic checks, so it's up to user to supply correct values - # valid rust targets can be obtained with - # rustc --print target-list - # matching cross toolchain has to be installed - # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) - # only gcc toolchains installed with crossdev are checked for now. - - # BUG: we can't pass host flags to cross compiler, so just filter for now - # BUG: this should be more fine-grained. - filter-flags '-mcpu=*' '-march=*' '-mtune=*' - - local cross_target_spec - for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do - # extracts first element form :: - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, : - local cross_triples="${cross_target_spec#*:}" - # extracts first element after before : separator - local cross_rust_target="${cross_triples%%:*}" - # extracts last element after : separator - local cross_toolchain="${cross_triples##*:}" - use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" - command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" - - cat <<- EOF >> "${S}"/config.toml - [target.${cross_rust_target}] - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ar = "${cross_toolchain}-ar" - EOF - if use system-llvm; then - cat <<- EOF >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - EOF - fi - - # append cross target to "normal" target list - # example 'target = ["powerpc64le-unknown-linux-gnu"]' - # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' - - rust_targets="${rust_targets},\"${cross_rust_target}\"" - sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die - - ewarn - ewarn "Enabled ${rust_target} rust target" - ewarn "Using ${cross_toolchain} cross toolchain" - ewarn - if ! has_version -b 'sys-devel/binutils[multitarget]' ; then - ewarn "'sys-devel/binutils[multitarget]' is not installed" - ewarn "'strip' will be unable to strip cross libraries" - ewarn "cross targets will be installed with full debug information" - ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" - ewarn - ewarn "Alternatively llvm-strip can be used, it supports stripping any target" - ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" - ewarn - fi - done - fi # I_KNOW_WHAT_I_AM_DOING_CROSS - - einfo "Rust configured with the following settings:" - cat "${S}"/config.toml || die -} - -src_compile() { - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die -} - -src_test() { - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ - "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \ - src/test/codegen \ - src/test/codegen-units \ - src/test/compile-fail \ - src/test/incremental \ - src/test/mir-opt \ - src/test/pretty \ - src/test/run-fail \ - src/test/run-make \ - src/test/run-make-fulldeps \ - src/test/ui \ - src/test/ui-fulldeps || die -} - -src_install() { - env $(cat "${S}"/config.env) DESTDIR="${D}" \ - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die - - # bug #689562, #689160 - rm "${D}/etc/bash_completion.d/cargo" || die - rmdir "${D}"/etc{/bash_completion.d,} || die - dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo - - mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die - mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die - mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die - mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die - mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die - mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die - if use clippy; then - mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die - mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die - fi - if use miri; then - mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die - mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die - fi - if use rls; then - mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die - fi - if use rustfmt; then - mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die - mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die - fi - - # Move public shared libs to abi specific libdir - # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib - if [[ $(get_libdir) != lib ]]; then - dodir /usr/$(get_libdir) - mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die - fi - - dodoc COPYRIGHT - rm "${ED}/usr/share/doc/${P}"/*.old || die - rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die - rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-EOF > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - EOF - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use rls; then - echo /usr/bin/rls >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" -} - -pkg_postinst() { - eselect rust update --if-unset - - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi - - if use elibc_musl; then - ewarn "${PN} on *-musl targets is configured with crt-static" - ewarn "" - ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" - ewarn "to use it with portage, otherwise you may see failures like" - ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " - ewarn "x86_64-unknown-linux-musl does not support these crate types" - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.44.1.ebuild b/dev-lang/rust/rust-1.44.1.ebuild index 1ba3a231d20a..3ddcdaa9ee15 100644 --- a/dev-lang/rust/rust-1.44.1.ebuild +++ b/dev-lang/rust/rust-1.44.1.ebuild @@ -18,7 +18,7 @@ else SLOT="stable/${ABI_VER}" MY_P="rustc-${PV}" SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 arm arm64 ppc64 x86" fi RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" @@ -60,7 +60,7 @@ LLVM_MAX_SLOT=10 BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )" -# libgit2 should be at least same as bungled into libgit-sys #707746 +# libgit2 should be at least same as bundled into libgit-sys #707746 COMMON_DEPEND=" >=dev-libs/libgit2-0.99:= net-libs/libssh2:= diff --git a/dev-lang/rust/rust-1.45.2.ebuild b/dev-lang/rust/rust-1.45.2.ebuild new file mode 100644 index 000000000000..68cc5bb4cb29 --- /dev/null +++ b/dev-lang/rust/rust-1.45.2.ebuild @@ -0,0 +1,550 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 11. +# 3. Specify LLVM_MAX_SLOT, e.g. 10. +LLVM_DEPEND=" + || ( + sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] + sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] + ) + /dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rustc version!" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run \'eselect rust\' and set correct rust version" + die + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=6144 + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rls 512 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + M=$(( $(usex system-llvm 0 2048) + ${M} )) + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 15 10) * ${M} / 10 )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + use system-bootstrap && boostrap_rust_version_check + + # required to link agains system libs, otherwise + # crates use bundled sources and compile own static version + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config" + + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + rust_target="$(rust_abi)" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + compiler-docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)/${P}" + docdir = "share/doc/${PF}" + mandir = "share/${P}/man" + [rust] + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + EOF + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + cat <<- EOF >> "${S}"/config.env + CFLAGS_${rust_target}=${arch_cflags} + EOF + + cat <<- EOF >> "${S}"/config.toml + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF + # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + if use elibc_musl; then + cat <<- EOF >> "${S}"/config.toml + crt-static = false + EOF + fi + if use system-llvm; then + cat <<- EOF >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + EOF + fi + done + if use wasm; then + cat <<- EOF >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + EOF + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then #whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- EOF >> "${S}"/config.toml + [target.${cross_rust_target}] + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ar = "${cross_toolchain}-ar" + EOF + if use system-llvm; then + cat <<- EOF >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + EOF + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \ + src/test/codegen \ + src/test/codegen-units \ + src/test/compile-fail \ + src/test/incremental \ + src/test/mir-opt \ + src/test/pretty \ + src/test/run-fail \ + src/test/run-make \ + src/test/run-make-fulldeps \ + src/test/ui \ + src/test/ui-fulldeps || die +} + +src_install() { + env $(cat "${S}"/config.env) DESTDIR="${D}" \ + "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die + + # bug #689562, #689160 + rm "${D}/etc/bash_completion.d/cargo" || die + rmdir "${D}"/etc{/bash_completion.d,} || die + dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo + + mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die + mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die + mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die + mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die + mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die + mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die + if use clippy; then + mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die + mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die + fi + if use miri; then + mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die + mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die + fi + if use rls; then + mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die + fi + if use rustfmt; then + mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die + mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die + fi + + # Copy shared library versions of standard libraries for all targets + # into the system's abi-dependent lib directories because the rust + # installer only does so for the native ABI. + + local abi_libdir rust_target + for v in $(multilib_get_enabled_abi_pairs); do + if [ ${v##*.} = ${DEFAULT_ABI} ]; then + continue + fi + abi_libdir=$(get_abi_LIBDIR ${v##*.}) + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + mkdir -p "${ED}/usr/${abi_libdir}/${P}" + cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \ + "${ED}/usr/${abi_libdir}/${P}" || die + done + + # versioned libdir/mandir support + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}" + MANPATH="${EPREFIX}/usr/share/${P}/man" + _EOF_ + + dodoc COPYRIGHT + rm -rf "${ED}/usr/$(get_libdir)/${P}"/*.old || die + rm "${ED}/usr/share/doc/${P}"/*.old || die + rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die + rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + EOF + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if use elibc_musl; then + ewarn "${PN} on *-musl targets is configured with crt-static" + ewarn "" + ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" + ewarn "to use it with portage, otherwise you may see failures like" + ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " + ewarn "x86_64-unknown-linux-musl does not support these crate types" + fi +} + +pkg_postrm() { + eselect rust cleanup +} -- cgit v1.2.3