1 |
commit: 86f377d22c2cc041d32b53f444f6c32aebd909a4 |
2 |
Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 29 17:04:25 2022 +0000 |
4 |
Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 29 17:06:53 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86f377d2 |
7 |
|
8 |
dev-lang/rust: drop versions |
9 |
|
10 |
leaving mask in place for another couple of week to encourage updating |
11 |
|
12 |
Bug: https://bugs.gentoo.org/821157 |
13 |
Bug: https://bugs.gentoo.org/831638 |
14 |
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> |
15 |
|
16 |
dev-lang/rust/Manifest | 172 ----- |
17 |
....0-ignore-broken-and-non-applicable-tests.patch | 75 --- |
18 |
dev-lang/rust/files/1.53.0-miri-vergen.patch | 53 -- |
19 |
dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch | 234 ------- |
20 |
dev-lang/rust/files/1.54.0-parallel-miri.patch | 43 -- |
21 |
dev-lang/rust/files/1.57.0-selfbootstrap.patch | 56 -- |
22 |
dev-lang/rust/rust-1.53.0.ebuild | 684 -------------------- |
23 |
dev-lang/rust/rust-1.54.0.ebuild | 684 -------------------- |
24 |
dev-lang/rust/rust-1.55.0.ebuild | 683 -------------------- |
25 |
dev-lang/rust/rust-1.56.1.ebuild | 686 -------------------- |
26 |
dev-lang/rust/rust-1.57.0.ebuild | 687 -------------------- |
27 |
dev-lang/rust/rust-1.58.0.ebuild | 699 --------------------- |
28 |
12 files changed, 4756 deletions(-) |
29 |
|
30 |
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest |
31 |
index d82be7271a09..c7463b7a0a1e 100644 |
32 |
--- a/dev-lang/rust/Manifest |
33 |
+++ b/dev-lang/rust/Manifest |
34 |
@@ -1,163 +1,3 @@ |
35 |
-DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz 215549836 BLAKE2B d4179cc67772cd6b92085d68f4bb9de006fca7d8470a56766ac5d94a0379ae675d18c5275ec2ed1eab71274ce4f416a77f3ce74d849a1d4118b5a7ddec205a3c SHA512 7a26e14be6b27c7084c7c85b312341ab991c2df91ea53128f14707a4c725dd03ba7df30b9e9fcef39a509ab4f5d5feb028b99d6d9ffcc059996ed29b83eb90b9 |
36 |
-DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e66afc44186f48548dffcd7c6d7d92b4fbecea48bf3f7970d211844b5401a2556a138993517d049265109146a48856c7106616100ed63a5fa3f263d7023af6b6 SHA512 75ff89cd071641b01f4d483aca5997f6b3857d477b6fb40e6fdf11ff2ecdca74618cc59a9f0d1d2f942bde2d9a8738ac6f821d21d79f3ed85830ef530636a607 |
37 |
-DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz 214159336 BLAKE2B 1b2afb80df6bf75d516127f07d57d12d876f12879c1d87059ab1c40ee1325ddb4e0c22f2fa185dab72f7633bce7d2ff5ed92ce4e88d4e118ac80630a061ec0c4 SHA512 9461c7272ac3e2c854e8e5f24cd57e5d648a3f923a9413eebd9f45a143d27378bc09c4d30ee7a1773a56baa31066dcc9f955b0805ce9f47d81b52e47a3a3e369 |
38 |
-DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 71e8d615e921a70341b543992eef062186f72169a9763562114af8afd8ab3469a104677fe103a04a03881ec308b25fff412ba4eaac6e4ff02f29527ddefce8b8 SHA512 1033d23a2c05ec207c7fe032f5d9986d5a1d839ca54b0ea57a7a35c8c37512e9732835f2f280f436af326e948da913492f84cd6d0dfb9c397a095167f31e4c04 |
39 |
-DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz 195145936 BLAKE2B 3c2e1f947164a18b0a0e642775560c23407eb9f79ce426b6f191eab3204b78288aa404c9f5d388a0831ff124a92c4bad6927edc252ec82f0fed194b361c75256 SHA512 20fd1d03f3c9a935d0fd282fc7ea5808165b45865044ba8a8b09ee07d1410ad80401f800d1c70dab9e42b496deb58def88d8dd10de551e2a086e9cdede06385a |
40 |
-DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d73e4062015a30339dc0210afaa6779912051968b174a21f09e518ecc74a763d01fee8a813e08dbd7103583d7496b76248755e2c382e8e645c0524982a7bc0bb SHA512 e707a9a1960db80602d6b5d827e81fd828cca30807bdf78e7adf9378526450c5ec87d4068b3c395142fc532cf7dee7782a5f077d8ef5051c79f2b86f8631c21b |
41 |
-DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz 195367332 BLAKE2B 72bfb4303f3e3077958cea7050dd4100619eb14fb164d33c6ce696d3b6ddbb2099cc2850dd17b961dfb40cb1b5b20ee8158f87e0fe76426e728b2dd7752870bc SHA512 6b2f4d907ebc53983cadce97a10036a6f7e333aea1e301067fccbc38dfcc6a49ad5770cb366bc2df82aee148d88edc122930355409f0926273f85b72bf4b261f |
42 |
-DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 21a835f06fb41677db5cf1a06244b2ea3caa8462330c2599e6a77d4c82054f8bd717ba790cdf06f280f62adaeb839cb1ff7cc6dbce76fac75ca4791f1d72644d SHA512 ff46a6b6b086bc785faeeaa5db2de0c79d1898651f2113a726a08d81136b687e13eb03bb635c6c43cbeae2ec897999d2867a9c925436131871a61d7f93a5bad2 |
43 |
-DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz 201614124 BLAKE2B 780358a279a80aac343ed737068faea9ddc9ace4a52694a32a0df504e6864fb2da30474ead9e3419370a7c7d6465ffd957fae475d852e504390222a939294270 SHA512 100b9abdc3dc7852f880eea205056a7a6b78af39fc3b7019ebcac712d5eee3c053f0508a6dc1f9da13074ca476e9fb33514bb83098d3b41964e878c0fc6498d4 |
44 |
-DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e93e9ff5068ac52bb85c42c64b528f60fac755e022b9be7680e203ad3acdee44e8cdfa00f06f4096b17106d2fe3287061c66fd411e2e6449301b0c4befd81e98 SHA512 7c8e6cc76b4d22a4b7fdd88e73e5f99fec9bb9d9cd86293a4813d25a11739e4f104f3c8c5a1113240909757b893fd88ef34a6fc7139a6d37923d241ac60c01cf |
45 |
-DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz 214798144 BLAKE2B dae7a81f1bce6f24d9766621d751b090c4a560af83686f19ae4d309da5fc8f59f1a46caea03bad593018a07ff44bd078ac5e775edf4b92ad178f641a5a3f7626 SHA512 10fcf9e891ae8bc6e83b5e71c83b34773c18b024c9e9b580cfae714b4e135d313ba5434fc28c2dffa3db2e50669b3acd07e6874de0cfab89b343db92bfbdff80 |
46 |
-DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 699ca61fbe0f9763b5e3040f0d2854e34d6650f55dae2e864b88aa1d0402551a372970a3b6f4758e03619dba1201fb288c49a255eb1e7ea7ea0cb7668dde9604 SHA512 fc38e23183f104ed092072666bce6e40ab44822568ea69f31d5131508c53532a5db0c7148434605df6ee216559eb5927fac1ac32c17b3a3ebc336953f98a3ae6 |
47 |
-DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz 155487344 BLAKE2B 8f4d1dd47830f9d691e564ccab1a265e4f2622edc93f942d7db222b06c5f855187c855823bf0f38d7c534158905ee9eab6e5455900832891fd34c2b5649f4dc3 SHA512 9395eba6b7c8ddb5a35ff6e7bcc43eddc7fd2c7604a508a30aa63c4648bc3c9fee228cfd54cef6a2604cc8b695178c9d04cd8d05664279ef0bbca886e0d74a6b |
48 |
-DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8d226ab1e1f85620463e4cb1eaf2d363906d3eb5d7bed82e24b4f84c8969c649fc899b0dc446f4160ebc273850f158322cae1553ad499dfeee4ff34eaf161e52 SHA512 ed26f86680332d82aeb3dc8592f634a56b2269f5c4fbc75223b05cbd3775d6d8b4421dbddce96cd1fbf1f84cdd585f2b779c6a3f11639c101245bfe76a0a0cfa |
49 |
-DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz 165086396 BLAKE2B 1241fce74a0583719d5e40cd48239de5fa7e121f87baf0f1e4f18106a69a3e6c6991754cf7c62492f850919ed02fd371c9e7360972d6ab4b556c243c72bcda89 SHA512 6ebda7432d5fd0d5a99c684e2dab2db0446d5d4ba1000696c14c26f5288c763dc0743af197c6fe809e2e6f90d90b12d84714ff64f195ca415760d9110c6f8b0a |
50 |
-DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 58ebdce3798c0a95a08394bd8398dce5e145848fc2a97233c69befd9b541af526324d777dec4909b7586709bdf6af8ec69cae980032dc86c650047dff057e823 SHA512 34a16221fa0e09acf88e67f7425ed6154caa8b9a1dd2eafe4cc8167204bb57cfc96824047e4e070b5e91109c45376a8873d873b329ed74df43b279f29768fa8a |
51 |
-DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz 158692144 BLAKE2B 331afebbbc7d5c0fa5eaf182e8642f7b38c583418469a7e2b282378556db3813445b552ea89a596df56030a119e1deda1e1bbdc1983f5dacd3115e9de7c860c5 SHA512 0149304d963eeffbbb929eb6f1f24a3f1e5d43c627252bcca8df86fe894858d5d399eb5f8ddabbaf8c2768f93ee05fbaa82b1552c76dbb319614f0e93b21558e |
52 |
-DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a4b835e14bcd9f1c24cb66dd1daf4777d25681ab175b377dba37ca4bc51e0bf360df4fb6feb3e85e0c05f79be31e51d180ffea30bc0cd96f69ca455cc4b2238d SHA512 c9b33e4ca113343b08e16410b509aca98c08338e131581d223435f8d1eb1248e2abc6a0ef10cf612fd4a305d88d4fb605785d4c067520dff5b699ce00e2799bf |
53 |
-DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz 170724484 BLAKE2B 1e58e0a338498061c0e46e65660fcf01bd8461b3fcded864ba63196d4fc29e0b56e026e4d80b7535b63bb5bc204c748165498e7cfcda3713a97aa17bd8ac65b1 SHA512 44af21d9cf5d5d654f1f9437aefb61ba5bd3f3bdc67c657fba8ab03494a7ead53b6f5be17153f1f20acf099cd90760de29008c76fd766d6facbab32bf7921523 |
54 |
-DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6e42783107d1aae59f771284f15e1304595da710700a7664cc199fe7544dfb9cdfcb8c5f67e3c520a68ffb7fd7202de2f071cf92ce95b858f38e4ceb72649c4c SHA512 a68c780526a0dc3ba6c9e74258b124f4e64f52dab1dc0d1bcac5cbed752a9884caf858be2a1b9eb987b400a26b824e556bbf5280f64a4f51df0aae8c3073b9aa |
55 |
-DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz 184549672 BLAKE2B 2121f8d22d9348a61ba9eecb40bb13afee199450c7bba2d1852169f3b61ec193ea6979483139875c29a0a767732f5ffe12f81528c713492e0173084691b4b7d2 SHA512 7c24c9193fc4fe2109e38f140a8c240e0535171460de9965291c08003abe7c1ea89796afa7dcb2018eece4d9eed48ebf9469d1a040f06ab4f6a12807c789f7d8 |
56 |
-DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7f5d881c1e1618be807ed6f65551fbec9190345f30c24b3c99c69e19cf87cda39c0fa6d0667d6e10e27444a864f9d49638f79fb8ac2d57558d745c3496ed01c7 SHA512 1b73e49173325b3ec9fea1c346f702ae33235aacd0b821d5b9a90148a26046e45fb547223a0cef6fadf03b5124a824a9b83984f3b5841cd5d3b861aa3223aa88 |
57 |
-DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz 194640544 BLAKE2B aa5e59e6059bbba874c40f7570404fbcfa5108aceb04f53ae42fc8ea4e833917f3cf6e84a1dd69cc5bf9cec3bbf0b3063258ff57699d3d0769038b44f4ccdf33 SHA512 916a3338c850cf804535e25aebc0fdcf6cea8fe9e5df9fed11fbf03ae81fb8220321dc41edd7133f287dfee0dbf19730ff8b020f32322850329865db76bab95e |
58 |
-DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ee33eefaf5b2eb96ef8fc2746334489b798b95f6b10e64deeaad72c4c1b45c9e335e450d8f896eec50c1b912b8e063ecec246c1d35c97f471236a876af7d36b4 SHA512 a66796a7459316f593649ebb309394d67bcf5ac241fd488c8e480df1837818369f79a198d1e56eb0488ab50dbad8d4162392709a2115005694ca0dd16f7e42ed |
59 |
-DIST rust-1.52.0-riscv64gc-unknown-linux-gnu.tar.xz 181497380 BLAKE2B 40f978a60d7eea43b6e5eaeaff85611bfe571b3908a43aba2405b86ffb07c20043509ecd7f78546b4c6d795dbf4d06217e95c0855039f2cf92c372e0b3f959c9 SHA512 f0486885b26848bb1b910dbd6dd898b208ea0fb2f89714f0a8d59db330471447f4f4aad05ca534bbcf267c95e8eaabcb34d6ba41b576a2a8c77d80431c4212d2 |
60 |
-DIST rust-1.52.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 775d1ab86cce821e0dbf95aee99265322cb210745430f48c93e4f51cdbe8cf373f622f7ced8df801aeb830e74b917177cda6839c4504c09f5761d598a145364f SHA512 668f52e962c9b7b0a9efb0f2e33474bdc6cede32c3e657b19a8b374b0d8fa6516d4de42295acd541f6c07683a17f5251ec3fa52be44d573de5cfbb83780f37fb |
61 |
-DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz 194810848 BLAKE2B 72d68066f492c2eb2ed7e9061b2a67a603aa6ef8738004a1d7ec21753c3bb1466c81fd7a18f674d156b8b4e3c755d641b0acccfa726ad04ac17be3199e941938 SHA512 6a91adf7c1947b63db0bf02b4aa4a36fbbfcc5b40d9c18175e4c5efe785b8a17ff21a887476cf76f7e3d3854f2cc362b5d2dc8243493291a4d19a705276e6355 |
62 |
-DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c9b51ff09e6de5d9d3cf93e0f21df52f1738aa6c1e7b93851512d9f464bec757477183c693a1740082a36564c10cd13569c129f026680506c1e1fae8192c835d SHA512 147498154e9ab97ec4e7c0037e6873f4eb5d23c53e2f53068e979815e7d4883c9a7a338048d21abf685f0fa348cc01e342f2d5a32856b11c52663910786750f3 |
63 |
-DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz 143053436 BLAKE2B cdbbd529c5d820318530e56347426bced5addd6f20886719abfbff6e174afadd94be36b1f3e6ba878b14198641b4a53c78f33e79bdc90025696a57659753bdac SHA512 27a8db421ae62af92e2c34dcc1fdd617bf7e8de2c68205773a3037be496ccbf21f5549dd18377a9730102e7915519824231218fef9a09abe9d116441d6ce28d2 |
64 |
-DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ec204ee0968d4114023f40dfdd8654451149b5433dbb4eec192cc68135f45ed28ae7b06eabdab417401529162c11939ee101f7eddce304111fe93e9806347902 SHA512 4ae425def112d8c38e91ded53fdd73a6c7d2043eda22ce955aaa7303ff2cd6e7e8d0cfaa0d596b29195ba449811653f91b9b65c8c96b3cc8136d060609594828 |
65 |
-DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz 239422556 BLAKE2B 8bef78b335b384e6bf7a5dd4a47511aa69ce0de6f9d1ab78146cd55f37e01b358a0cb82b95dcd27d25d4a114b707155b923415f9a91e6a75ab83bca9f5f7e0e3 SHA512 30a9f45f591c3beb34deee23611b5afe0f90b7a2a1b7b813498547b3264ecb98ef1d6bdfb77468bd5364f2942d927418037eb4ffe413db520c701fdf79c89bf2 |
66 |
-DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2d69f81dd47ce7387311b576a7770f2b457beebba8cd1554e5eac501025b7b54e72078b69c7cf8a61bc295298d7f277f39a070ee8d83564942149a1b42089594 SHA512 688e3eaaf2a7e7995a9b36e6856b7922b4deada31fdab198df335b316672d20bc80e5e717cee4e2fc2f51ec8abaf97880dfa5424a7b122e46b02fb7f62836378 |
67 |
-DIST rust-1.53.0-aarch64-unknown-linux-gnu.tar.xz 216240932 BLAKE2B a63eacafe8c9194095cb3ee0856b22c66b210746c208ecbc6495800eca9b480d31d84ebde29ffbb7dc8464dcee164f4da96d7479f73facee6352a74488073c1a SHA512 aed515e60e5eb22478b864f7e9aa74b99b9843afe6d1fcc9d0ad78bfd48a39b0d9c8ee7b785f273c3bf5d3a173c169fd6dcd5c64fa67c49285803ff4598d9f59 |
68 |
-DIST rust-1.53.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 15822fc4762caa2086cb4b4300d1eff2c8401932fe5ca8d12926b7ccd8b950940d4aa43daf288765d55da8a19db781129e4e3f83ea5297fca28f814738826dab SHA512 49e4c27f498faf1e95c5061786771e5008043e4b030fb91b3c1cc406f424a541ddaac435c7065659e27ce379d46ca78cf4f10073c8dc2148be715b621b824981 |
69 |
-DIST rust-1.53.0-aarch64-unknown-linux-musl.tar.xz 213585000 BLAKE2B db26a6d09645b7feded883bdc81d233ff3319a10c42bcf1b4fbc82c499f0099ec83c2de8f175f141daf1d3ea15ac13b835c9e0bdd92edb25fc0e4d91642e96ab SHA512 fc72513ce66784b5f9aa5797bfd6ce35f50e9494d0515371599e94f72bd784fc40357a540d23ef29f08d1733be240ad1c11d68d21550d1ddd55642d2770b06ca |
70 |
-DIST rust-1.53.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1468ff2faec1ea7e43371c5717d5db5eca6ab5376dbd3bd5a5785846ca473f14a90b2a7b978a56329a05111d509b860d834be3fe47263eac8de3ffdc57597a2f SHA512 dacce8e3f8b7c20accc2ae5073165ac86d4ab60cc3da772cf672afd080245dbb37ed4367379408cd359bad29d469eab138394ef87c32a39a075b0c0fb8a2e4ef |
71 |
-DIST rust-1.53.0-arm-unknown-linux-gnueabi.tar.xz 195762312 BLAKE2B 44e8ab86b4970f7312b631d6733a3198756b28286d0e072294d75f59dcce15ebd470e92972d3133e901b6b14d35c6c3cd8afdb185435cc0c8e8c215676f3f8a4 SHA512 64976e51ca98bd57de4a9b17236ac815e5198ea57b018f8cf45a252abb9a681df4c1b11bd647145d5d9fe4570a36e01540cb7c145a11a414d4419611026f2227 |
72 |
-DIST rust-1.53.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d01f42174bfd33e7c069c4aae68a71768ab33496f3764f3238e3a852e6ed11c02153f4dc40a5afc6f279d696c099093808d1887721c085a946dfab15caab6dc9 SHA512 73b86591c1790a98c59be4cce89472bd80171a0b80b509c0c345cc22de9faaa6d9e74fe50618bc1cf83d19ca8c7de9fdf35071a51ba6f4468001bbf6c72caf22 |
73 |
-DIST rust-1.53.0-arm-unknown-linux-gnueabihf.tar.xz 195620064 BLAKE2B 11e09a7cfecdac13911f47ac66eef6e4f419d83e1bf2cc7a01659219ca1255fb2987fbaee95e8dc5dca14616dcb59f69f4841f9f92250b22dd20be67ec9a2d0b SHA512 37749caf422fdc025101c938f39c0539ea33c4c8f17b76485c34a8ba9017e552bb64ab1d827c118e8047ecff4cc79da6a116df641ccc49d220079c0e6c5effd5 |
74 |
-DIST rust-1.53.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2bdc454ee8bb482eedba513b86ed7a38d356761e0a8b48c18c3753668250db7bea9b32b7667dde46b7942282ed9ed3a911e478b0dd35ef22fc89e8625a009b6f SHA512 261831baa9a1d02c58677931c3db36b8ba0f9b1ecb533b993f8c62b5f5329ae7c9b366f346879f95c03b7b13e97b5bfad363815392ea0c55bb72b039c5f1e71b |
75 |
-DIST rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.xz 201618680 BLAKE2B eb2e7a7f2b32ed9667342df7881c9e411619fa31d0805e54d91a7a4cd9c2b7a4b603adb4f288f20b82e0d8257c3526b92d34586dd3c42e857f9f2c2c68608006 SHA512 a3c5f4f0d19a55e51b3a0fbc7dc9f168cc6eb0b9ccbca34e4e5a83f70e4e22149cfc4fa51bf878ec39e5b2988e198630fed32620bf151ad9359c70db2f9af28a |
76 |
-DIST rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 91effad238727c142e4617f548101e6b50c49765203919908604e8ab8e4706a7a962561f34823ff3d04e59ba8345496d6c994270367e6c256f214e3e4f1e7879 SHA512 1cf21620aed1752d0e7bf83264b5afa799e5d86a1e1fa49944b956f8626b28afe8d465923ad6126ca4b5cb7e6cbc9e72469685f46001ded78113687001b120ac |
77 |
-DIST rust-1.53.0-i686-unknown-linux-gnu.tar.xz 220103312 BLAKE2B 9678804edcc7bc5161d704bb28c385c9294496266f653ebc6bd3ed979969d843927593b5f05cfb87a4caf35601da42a7318be4aa9764a8024bc2576cafa8bffd SHA512 404969329b88ce3f3078837e7bd33de28babf0834e366f5663abab79bf810f2c0ddfeea304bb6289415862afc50289d897cb92fc3f0c0ee8a40bcfc8c23b567c |
78 |
-DIST rust-1.53.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f03d9a9d3ec8e05be28f2d270ba94f7fe7572b3678d7c4ba28f03ea571dfb8a078866a5f3069b9c5086bd354fd870e8ebadaeb08e367d07d90a8fb0992700e0a SHA512 efc69883330307976582f65a2562ffc76e110af7a4eef10ff9234cdeaf50f8971154dccb36608d338259fc02e48825078e12d582d61609bb22026daa3a8d0f50 |
79 |
-DIST rust-1.53.0-mips-unknown-linux-gnu.tar.xz 157896460 BLAKE2B 8fe6a70ba1bb17cd92e58f2e8f6315eafb04870acf99b30cc4311387c5c3e021a7927ba1cd4a9081a833be9ca07032f4f6dc1f1464133b53c49a5719352a31dd SHA512 6b76a2f6a35366336410f8e293f9828ae3d9a23412c52abdf7bbb0055a50ba3a19c6becf7c8cd3a81b1d3c65dbe8c60b8bea6583013d207c49c89052111c373b |
80 |
-DIST rust-1.53.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bcb1100430e98969def3de8cad66022c2c7442fbe8315c70dcc6a5f4d7990f11f127db51f5e60c86d0d45d36af2ad87f551146ecce50c81a56a46fa2b7a05823 SHA512 406c493fba40c706019c980777f43b9531112d5c99bd79f5726698d94308fd0121bc30272f2d12667179a32d7bdf9f23bbfe3f133fd99640bb378f0602361aaf |
81 |
-DIST rust-1.53.0-mips64-unknown-linux-gnuabi64.tar.xz 165679184 BLAKE2B fe7f20759899a7dc3fd6db247fcf4a5360c64d7f03ee8a526b7a025e5dd5360a645da9cd0104e2156b1fbfbe1022d31f222fead7a4df65ff1d40e2dcbcdf32cd SHA512 f8c1fc4ca7a958ace63ca008f70d5b56d12862e1c3c00cc29d62a692c7a282de68c1969f996fb93cc7247c671f09e694dbade9b1f9464c95c809cfccca8fa6a2 |
82 |
-DIST rust-1.53.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 62f3809e249c8f8d47f1f5356d999b6e051f7c55b21b82bb6fc9403d55462648f348f7e4821d604fbf7d36761b876f2af673c0693134ff9ae2dd7fd574292a10 SHA512 ce00c5e7b8db9506c88edc1160a9c7a3114456873b3fd164f384cdf22b41dcf59c36095180a729d09760ae95e4a7cd7cd5926bd148f0acf03434fc914bb73bfd |
83 |
-DIST rust-1.53.0-mipsel-unknown-linux-gnu.tar.xz 159577548 BLAKE2B 0742cdbecbe492186ed9ea15f3d8795354a6e63c131cf683f96b2a494c4cad11b2fefced9a7d8be2700677a8aa495bbae05c96fdc0fab0fe69a36e67d5440a94 SHA512 eda7b827b64baf325be7f42fd3fc5d4a487d243ba83d0573e7eb1861c8ed510e8c2fdbe499f6c46ee9aaaf3b0017e235d758222ae5d7f88f8abd76f5eed8bdaf |
84 |
-DIST rust-1.53.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fa574a037814d6e15970a6588721d7626dd9fbd5da567770a62b31ff9fb7158cdf4b5bbce42c7be384a647138ce4d1bd8d08e148b429d58f284fb0e9a855aedd SHA512 5dc1097534ca36c9c8867f3c736b34f36006afa6add46a8c1a406414278abc2487f3778dcd162edd21534c0fee81b181caa3c633f3105b93ca759896c268f580 |
85 |
-DIST rust-1.53.0-powerpc-unknown-linux-gnu.tar.xz 173771788 BLAKE2B ac83aaab909151ab1cb3f8d9de696dc692356ad5696208b7879b3a8e2fd8a584b59c921c6259dc913f1faf06bcf073a2e27ee876e01e7d751cbfc39df26849dd SHA512 0fe291660b975f9051b2ef045033577785b0f1d513a351d94efb7f4406fa6a3c59b11c7c7208adc15e3840bca704c4c826c51a2f6f762eab2ee812767bdb4034 |
86 |
-DIST rust-1.53.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 097927a93b86187b8b5520c6d6f0de345956fd4b52ce823611bbbddb71608b032d4be593d42c433a6156296132f98fa23b4a32bbd0423a26806cfcc54f5b2799 SHA512 babd75f4f0850b8fa11171dfeca1185ace1f6ea5ed4a672b598771c28f2eb7568d9696824ae405ae468b58543262d22892c12eb8201b730d73a09ad68f702457 |
87 |
-DIST rust-1.53.0-powerpc64-unknown-linux-gnu.tar.xz 184849964 BLAKE2B ac498b1cdb7909c3812bce66359f4197cce3e7c4eee4c7702d251f896c09c1ff388f50fe16a0f6a671c04d9243eb8948e64dc84b1c96ab37dc7d67f9c3c63c16 SHA512 573815b4b93e2484108990814c8c63cc8c783b1909c24ff9c856b3920ec3553016aed66309e459bae5d16319ae925f470c6449aeae653791af4a90384ccb9be8 |
88 |
-DIST rust-1.53.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1f8cd752429865e448899ad6a7ed337f30a0fc52be0c2674c727b182bac25302f1ecf6e1db199c24ddfbbe62c05957a93999201753f1b8f6f9d54508e78f91c5 SHA512 5e41ce5e6be48b0148f57e686203520d1d7b70516d1a991035f0073a666f896bc964b26c710db7284d87de455a293b8c97d33bbfbca1a63077e8ed0dc197b4bb |
89 |
-DIST rust-1.53.0-powerpc64le-unknown-linux-gnu.tar.xz 194345592 BLAKE2B e0758697ae3da0c00f60e93e5e665d8f0d6346c9b0e48d39eda4666d8bc01432263b39798f2e1b4f46267d572518289a6cf1313f7225ef25f38e9ecfbd39d813 SHA512 f418272864889635494553cd1f6216b0487c016c31603532920e45435da85154f6ec275bee6d2a32ef6755fb12f57151ce2d3c7c5d6d97c2eb3d81f7c2842c48 |
90 |
-DIST rust-1.53.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e577b834c6173bc90e671d28fac974eda672cb888c4ce6dcf012687edd3f21fa603e47c27c08c042079b239d1d63915f7db7e0e37dc97f171f4d9d141979c564 SHA512 df255926f1468658ada27e4f9d78af2d204142e205108724cb4ce740cdbb019a34e4b3f1a6c88c05c9b5c2da0b5fd92b46eee1f6fddf3ec3e80a2020a459e4bc |
91 |
-DIST rust-1.53.0-riscv64gc-unknown-linux-gnu.tar.xz 181354760 BLAKE2B f99fcf4ae35163371e42e10cc61429c53874858311f55dfb480763bf818c64c05148a6487ec7cb5b150e902260f9afb48566ec2712d6fda058808ec1c2bfc517 SHA512 ef06941ff66f9d9a5723352ccb10c3958f4edfdc542f348145d65b4c5d123f750dd3c07b3146a359316c402a9ff032ddf7e48d28a75cbfb668df4d42d7c8aa6d |
92 |
-DIST rust-1.53.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 03c3c367e79dd056e61cef642e373b62d4d66d54a70ff81e53f2d6c0819da1411563410b8ec0a28e6c310e291cea70edb1299038dd92691590046dc99ef52fe8 SHA512 bc337fca44914408f8a7c4c22b3f9d50887d44483c863560864d94614da235c8a53b272cfd297fd4643bfac5abebc0a84e3af3b81434eacddeca8aa920f2e727 |
93 |
-DIST rust-1.53.0-s390x-unknown-linux-gnu.tar.xz 193691664 BLAKE2B 627431518faafa7bc0ecd07ed1d315d9e73029c47773feaaa6e4f9c27c4e0c730fb51b8017d4f6966d8ccceda2af93592239dea99269a741b7f5ce54e93e29eb SHA512 ca142b436b1396ad978ba1d1a0993a4bba105d9e99bf89a9aea731b7406399a2132a531664fa6fec17af20f99ebd5c0a7ad329d2b143565fb878f4e7290aeb4c |
94 |
-DIST rust-1.53.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c0e13c32eb4f8a4eb3dbae03853c38351a608ddee13a22475080d7afe7f1dfa12d894e6701786e3c9841e285266262b8143154ba4d130e6c3e5d7bdf5cd41075 SHA512 eca733edac17aa2d1de8f7f09835826ea31e1d1ec06d9c817370d6508f0bd444378ff530281dc5cab91df0db5ba53a45117baddb94d77a2c050c9f886860a040 |
95 |
-DIST rust-1.53.0-x86_64-unknown-linux-gnu.tar.xz 147158552 BLAKE2B 0e3037221da381ceee360ac005a98bf581dd143357835dcd5f5b39f7337e4de566666b21c62a794d1d20473b31004b8742cf84ca273cffc03b378853a4ebbb84 SHA512 3b1ee4a549917fc514de7dfb99392cfa058cb06fb93266e4864d4df3ff86372eeef9a9d2a459f93462eaab8f223d3eaff1e824d42be7b983c44d18ec1579c6fa |
96 |
-DIST rust-1.53.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b40e46258e54771b814e07433318eb05e471c8bb65bfe016ad3830b94fe0be5234a1c9821c746cc452714719a78f24c5e0012f1d4c81569b36c6161c50ae034f SHA512 ecea8c4df0b72fa70d3a9a0c4b38812424006f21832c8805c9070ae4ee5255bfe6a7153eb44d453302162c7fc8a1a2dd6bb8574bedeb4e4f7a769d51de2cbde9 |
97 |
-DIST rust-1.53.0-x86_64-unknown-linux-musl.tar.xz 252250024 BLAKE2B e99c7a78d6d6a8b357ac17cdaa9540cc895d138480ddea25866d2f8235b48b6a1670ba7c9256355ddecfade28bed9eeec8b53e85f1c13af5c56c0ba7a12e2371 SHA512 33ee4d82cc1feeb4c478948a05eb44f7daa90f749191bd200a216dabe810420f47a3a258255c680302ddbc83020df4729d5b3ca9569003a89aa7768697e2fb64 |
98 |
-DIST rust-1.53.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 24283ac5457eb84de6a5588f69a22076a78c2ce9e5c3c245608bf963544a5c9f8fa8006e2ae216af65f5083cf5fe21f4d1c5286cf0b491ef4995be5ab8ac7c64 SHA512 fbd6b1477efbfc23da3f4f753c317f714a29495425a52d771d2527a42cfe7ad99b9973538da0978a6afa80f545823c9d0448d9cd29e6ef53559252e328d7deb8 |
99 |
-DIST rust-1.54.0-aarch64-unknown-linux-gnu.tar.xz 231424908 BLAKE2B 6c403acd4b6b27208f95eb3fbfee5c8e7a63f3314f29ea7498dc0a4ae720d77c249c9ebc02a95d50278ac7f07b8d943b1c9c5e1561858f72ad1d8cdb29b779cc SHA512 3e6f638a35ed391f5393be7c92ef2560ed6bb26af1ea6ebf784bfadd3e153d1effd88fe49128eb98f5ec2ced7a65f3f4a596db71b9c4eca90429e50a8f168d11 |
100 |
-DIST rust-1.54.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f655d6f53a580041642871abd10993b771835770bebb6de1ff1dcc9b250ae52f862212feece533a9932c6efb0c3d02769cbbb03114d941c7e8d3117e1e23ce75 SHA512 d9508ae502e26694f83c04bbea3f95aeeee7990e703c8bb8be9ba098e0df86a39272022e1a94f8852ed23b8378ecb338dbd87ef226da444e29ccf7fb1f44e5f6 |
101 |
-DIST rust-1.54.0-aarch64-unknown-linux-musl.tar.xz 231629132 BLAKE2B 339e341eadd2cb0c763eb00b5a6750a1082da26bcae1b3c06459c99c64b4babf4aec5173222187eed7271e3c5847da47b49e6ab75674161b6e28297bb62ec781 SHA512 f0e20c079e4351fac5e8d635a37502e833a56fd216fd015117fb12be8b72e022bce946ec8e1612b320530dd186b1702b4384e74d64a479099db4562bcfc68453 |
102 |
-DIST rust-1.54.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 5aa9872ad96668d392c1aecf7f54c171e7bef6e17f65efc6c3fff7eee8dd7fc3eacee03e6544cdc27c5d34ea946d1a61aca6298c91812e9f35c391211b563506 SHA512 07694566ae33492df31083887fe9b7d43fb9f7c469ccd2fe9c77d3c8d3bd6b58ddc5e185462e982f78d63db39703a60986acaad51f953ea7434bcd9432a96946 |
103 |
-DIST rust-1.54.0-arm-unknown-linux-gnueabi.tar.xz 209386412 BLAKE2B f33b802bdfa3cbafdd86eff2d43e0af99e54777b1a26f1106016a8bdc4c06b5cdac8810ac68785f6da4cbe6a6d7fa74c13a855a5ef9c5703b16a2100ef60f2df SHA512 5f68879abd5da5d37b555b0b6ca5850d68663878bd23b5f6a31efd0a9dd43809c4d413154f8f343688eca23a96adbd08fcb3132831b848690261964d6a24e160 |
104 |
-DIST rust-1.54.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 7b90cdac8d068bcd565b42bed2289deff1490ae51cb65bbf2f0c308f6187e4fcfd98898e8e590ade2c2af7f10080821a417445e5c3046b4e39e0099c32e62624 SHA512 35bc49bc4140207af140e561023826e565751e47bbee6c1fd374bd7a992b6499051f4d84ca12e17101ea552bcafd6b96b111af888cd891f6dc18fceda11c83c8 |
105 |
-DIST rust-1.54.0-arm-unknown-linux-gnueabihf.tar.xz 209102396 BLAKE2B 1190da5c96336a121b4d4f92dba36c52c5f2bb0b26fdd92ca92ae4954256aaa375ea174c9669a285365ff02d4f3cadbf2d2ac92b847b00e10606e3832629a864 SHA512 ca38f1948b02008c1e9355c12f6d1fd3721ae9c06e686a09a7eea48670d889879ac0f81c462d21f467d600fc0972b920219e7378f7ba438e756cbc9b419a5f43 |
106 |
-DIST rust-1.54.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 9f01100804d72dc7afb7660277daa5a0f0cd96e478a7dc5a242360d07b25a22c5769727a67a46d63f3283e22e89ef5a6f6f6c48ac46f01075e2d908bf681be5d SHA512 316662676cf52a2e58c6cbeb46152da3919e54b0385c33a8fd1d46c25e71604f7803174278f80d4cb72cae54829ba00e3c4ba58001b43cc1148347f1788fdb02 |
107 |
-DIST rust-1.54.0-armv7-unknown-linux-gnueabihf.tar.xz 217891252 BLAKE2B 657f366344fe911c5d93585ee0b1063815fb158069136c742512f21d3b47c64e42555d4e52ba305e5ddebbb1fb37fa8ba8ebc36f9a9e5fe5fe7ffdb31472e012 SHA512 0f4f4e075299cd369b4b53a425e9b290cd9cedca6a88878c6a4ae0487fe976b15bea0c8b92e7e376f77dc370552d95d738e99b7fa184a8e2c0e5ab94d65e7595 |
108 |
-DIST rust-1.54.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c23e12a70df5e58dfca0e9c66432844424dc166cbc7dfeef4f692ba076ba687fd871bbbb5d37ed82ed5662ada170520c56c426f89be4fa07a0c88cfb773fe91b SHA512 14a5674ed5862b6cd3ddcd3efff4ab1298285bc0d5604a869e74e055a319401b9bf48a60d44583ddeb2230dcfab2e5584e5149947fbc40d97c112a6dae51745a |
109 |
-DIST rust-1.54.0-i686-unknown-linux-gnu.tar.xz 226774108 BLAKE2B c56fb6ef24cda0c89b76403a38893a32382b09be8a8d08b066fbd437ac0a73a7d00af175c59bb7af6e6f5d8a74324e10afed2ea35d830f9f96f5ceaa4ec345d6 SHA512 15bc0c31a306aa1e2b16fec7f97963ca291b2632664c49add4281d3244054b2e2f51b0ade86a9d63db87124071fa25bd7d5e662acf4c30cf3267eb56da4a1f1f |
110 |
-DIST rust-1.54.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4d53a7760abd54973ef8ce95c10671db41136d7031a25ea0c0362feb65ce5755223d60a01c3418b69b902feebf75651bc4379ea66f98c862a573a8774a5e99c2 SHA512 e3dcef4d17bea43a1b0858da52e899d7a14db8ee7b9e3f506e9297dd0aba910d3808c25163a3f95698f32d25a3f128bb1759a808c84b8c75404300f60198fbd5 |
111 |
-DIST rust-1.54.0-mips-unknown-linux-gnu.tar.xz 147938432 BLAKE2B 38e7b768773cef9e3cfe707a716ba59ed67e2bbefe59db5531b06489131df219eba6a46eeb5c06bfd6d943fa4453f3d6f4b869725108fd2e069ab6ebbfa3d08b SHA512 aab52c26bd80b058772e0cd815bbd5ca0ab0fb10fa0ba43c07fc6151ec6e99d7ab48613a3e5cbdcb8f00b83108a716bd8b9f5d6f2c8518499b2482aa4d423a91 |
112 |
-DIST rust-1.54.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 05f4c8ee719ff857aa0a53661f6483c450a561905150217f886c25cf5c3e8dc3a36ebe2da38c75f843e3de4274d92c0c274906af40a94a6ecb122a9d38703e7f SHA512 6ba884e92b0ead2049f639405308ab6363268a8b42f827c9ecbfc5b16a0755bd1d345d989243f28662ce8c53611fb5984104001b3edec7b2dc22cc914970a7e5 |
113 |
-DIST rust-1.54.0-mips64-unknown-linux-gnuabi64.tar.xz 157458264 BLAKE2B cd68d03e058922a020665a35765913f3405b0c0d5c7e252da1dc63b4b6af27d31fa5ce7eee562635241baea422c84d7e2a9539a79e6ae152794aeb9636e97a46 SHA512 74a85d869141fc941bf4f9821945ce0efd0169415fc209cc2288015d4e358716380cf91e41342a231cd34ce88321f24c4d20fffec3be702498cec3846a14298b |
114 |
-DIST rust-1.54.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B aaca9b8e5007e0efc459a04ab95e6a3d76ab6cf177964acd4bb148f09ffac4f9c9bfba4ca4834e1ccc9505c259511f45ed1830285307388d79ac66b8dcddbbc5 SHA512 8d5d2a1200af550cdbc85b2dc847e524ada7f16fbc5f4c29d0e9e4e8c0067e04daaa273a99c14e6ad1a7d622e4f9d3da720b41f4ee75ff50cf2153cc190642e5 |
115 |
-DIST rust-1.54.0-mipsel-unknown-linux-gnu.tar.xz 154497208 BLAKE2B 40ab905d6088cb2e4364e2e6a0e4fb257365af05302abab81604d78b62bc255377ff7088884d9222f2997312befbf8efcd7f1821fd4bcf2dbae149c70cfa1224 SHA512 c61abff1df5e787d330abe4b3cbe8c3e67f02974dba3eb0fa4cbfeb0a74a956abb48199301e7f9af915b9be5a0d6ff7771198414458da52af18e9a74cab52620 |
116 |
-DIST rust-1.54.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f525e1849a0c753a077ffadb7dd0b1d67b5fb369c061ec895878fbbd8d377572db2b5bb1fb5e1a24bcef61eb3f80b6f6bbb3d93b611e6b00e535b2e516ae0681 SHA512 d55ac3c329b20bd4e7f095ee2c710bd5c5be825ae517561bf670b96626427db39d362be553c3b92c90710ab8d9b677d2367aa85a397a4568c1146e0dff10cda6 |
117 |
-DIST rust-1.54.0-powerpc-unknown-linux-gnu.tar.xz 164089736 BLAKE2B a4e3c0b6f78444a2f48e842468e828e517d32fb1b62b2ad0c0000bee97ac5730977c8dacdc614ea2182fabf25e23804efed53b493ec611dd5d4d5d8ec237feb4 SHA512 ae8ba40e5843bd3ecc25156521f7e7cc7c869457151896371fd5faa3bc565ff9a6b7d437e3587dd9f1e87e9fa19463259ec18fe03badbd89372c11ddc7b577ee |
118 |
-DIST rust-1.54.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ac59496efd850b618b4013d0cbe09172f5828e60ae07afd0b233749ff3c1699e524e3a4fa93fea906f79dbc44f1d94ad52bf3952c2a4014d9d2653702d86349f SHA512 daf5da203c079cfca365990b0111d9df16defb49e1bc9c24407e423873992a9920d88fc2a097e1df8d2b03e05d1118bb3786e908d4f46fb282357c62d24df88c |
119 |
-DIST rust-1.54.0-powerpc64-unknown-linux-gnu.tar.xz 178088044 BLAKE2B e059572d2044aa05683d29370c395b714f25d0c7ec820bcb133d29667e9066b82e62e11000a3183a66cbeb87625517284d12263c2ea0eec60dc537ba3c78e6b9 SHA512 543dcaf3bab3343e796b3535a3b4e12d77227006e64e91b885f599fd94ffc9c1cc8d8c5ce3b788df0399c79dc785ff7c8dc375ae20d3b4156d1b16a7dec5a371 |
120 |
-DIST rust-1.54.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 663a3f7027c61f4a7e38bd0a72ffa55b9de2673cc0d48e94bb964e950b8a356b01011e94904efb3525c0ee2cd57e82ce8af50d2360a7e5b200b6eefeb4580927 SHA512 f0d03c2c3da60731cc05b9370df53766d6fc14ea3d49edbe0a7e809e35560a7cf06c4d8291896a604fdaddb665d117c53ec93671a0402dc093442ed3cbf4c596 |
121 |
-DIST rust-1.54.0-powerpc64le-unknown-linux-gnu.tar.xz 187058704 BLAKE2B bd90f56b50024cfce5bbfb5e84d28c06687b6a5524b1964064b1e53111b49805815d3dec47fd035f9e1d78c426d0b0689ac7c8baa1044cfbb9343da452d77694 SHA512 9d13d53a1ef106b190161096122da1bc9090dc495604c8ddbb9d6b02323e6b7c9b8bec82dfe33ae6cf1820e986811a701f7a4d4c3eb7c297c777fe3563b8e9ee |
122 |
-DIST rust-1.54.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3cfdbc8958b7025b6b3b76a6aef603820418c3aa2ee63c0a257dcd36004ca90203abb1b60a921310a9aea10545e32a11291a9d9baf3caf3e2b5a27ab4724bd9f SHA512 3ece925a1e3797cc6bf6ce44a3ca4768f57bc9bc3bb1261d6a82905907c635bb20ea7f5eeed062ff02582b035a22508990bfe83640006fe77fde8e699d5d55cc |
123 |
-DIST rust-1.54.0-riscv64gc-unknown-linux-gnu.tar.xz 180939260 BLAKE2B 856a431c22f286d42069dcd34101cc6e539004024619ba061a39d3bcc48834ce0002e2499466f976b81a7aa7d47f1c3249f2b21c69233df4d7d0940d80f5761c SHA512 5af3bbd68706bff03d51daf76551830810a8e225e8f0a9a394fd29a4fe9f0389bed3e0d94333483e089b4cce375c0320cc6ae360ddc4f08fca0ae80e671ba2a4 |
124 |
-DIST rust-1.54.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 366ef8f21801cc510b22217c4d974343ccb9f941faf08fba584b3f068a9d3128e3a15f5dc1400ed3749166afb622bb3aaafcf15381a0f2a5b60767db6ca9d3f2 SHA512 fdafdedb8f667124cb71eb44a6a61b1cef1df0baab385d2f5c674d900cd24139e555aa30df99f9d496b5fb30031bb86a43b118fafa083a24e2be10126e68df67 |
125 |
-DIST rust-1.54.0-s390x-unknown-linux-gnu.tar.xz 186478732 BLAKE2B 3d3ef6c37e0c24a4622814c51bfe1a5093f261e393a3dbb9c5eda023f8d0a63ebf0080cba5d43c8448b79503aecc62f04ccc18f040562db57dcd2ff1cb243124 SHA512 5033e3f61af7de144c3ed441f9fdf9f0c00a837d018ec3c0d4ef67f032e7f808d2dcc586e7b85b733ff9bc2196c2e05fcd104b3daa85698cc0e4e9ab69b870bd |
126 |
-DIST rust-1.54.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b375bf65d9bef4a54792f93ac52fa408c85407d6aa646b64ee85d9220fdd9d7dda76c1e118def5262f5ab8fd9b7637c5d681d37c50d9e917eb6ba0d5b25e42fc SHA512 3bd16cdc61033d6e38de595ac145f0e7cebf3c3455491325ba89de8067cf6096beac7f00b3e4dc942cf4bf0f5ab59f6233b5d24f0ebf97ab3562260182baae4c |
127 |
-DIST rust-1.54.0-x86_64-unknown-linux-gnu.tar.xz 136593024 BLAKE2B 2f10b636982f335a200149d11c6cf212adb3e27f7d3eda9069881565a07f29aa6f2010ca786c3746190a3bbb8b8d79d531bee906e21e21f2c132f6c1e4198e17 SHA512 d2aad46556b164dac54be76a2459789fc686781b157f0c7d647464db3b03cbb902c8c4de5c6ef2e0811a94bdbba2973c93698c4f3a7c6ba294c0e652994e3fdc |
128 |
-DIST rust-1.54.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cdfb03b6a75cd86e565b0b502cbd72636b67a92f9039fb148ca19fbef3d0775616ff03420cebeffe36db3d1d1db75e7e77ac473841a399dc2a218df09598b2eb SHA512 144ec35e82194d16cbf4e56c34dc25aa83d8ec8021052cc471ec85f169b74bd9394ec52c21c898d3ac0b966fd7463cd567d729eec9152f5fb8307c87eb02877d |
129 |
-DIST rust-1.54.0-x86_64-unknown-linux-musl.tar.xz 267840732 BLAKE2B 32e50467c4ee88cc502ea7e3e8cda9cbd89bcb6b7fac0c84b1509abf0a5c551d43f6522d148f54e4af65e0738b1dd13bfebaaba7e863909047fd53cac03bbbac SHA512 131f4743e5990c3e1ec2b7a0d1eb107a0e5264e6ce387cf4aa6db9a1693d0fe4a42de5722072708d72d580500d566f7772513974ce5589ea07997374fbdefdb9 |
130 |
-DIST rust-1.54.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 8b9194ce2b172cdd1fecbe064ddaa0047d30ddeafeaa903637e65775b139207c47da7eb17475ed17b1792b7c872ae71058c1f2cb7d59bd2d42a78cc590f9ec03 SHA512 2aaa42cab5272b6ee2ad0d3cd67b7dc648af68c5b9b5fd8f816688c0ebcc2cb0a24ac8c2a23dda5f17f7ba04f544625b3b03b22882c9122852bba680d8155afc |
131 |
-DIST rust-1.55.0-aarch64-unknown-linux-gnu.tar.xz 233469360 BLAKE2B ac0529d771dcd22ed55cf52af12a5b55a8ee008d9dec2c09fb1aacb0c7ced78e87a6b7cd8d17a3dd81241d553b750720e48631c3a3702ee59bcac905f3a51420 SHA512 223a024701762675adb5c7c59fc54717d23f2ae4ea5984cd1cc0568d39c5207aa07a104ddad68da057f6434eecf23415ae13be2235797897d8d0f7cb5f2fc4b5 |
132 |
-DIST rust-1.55.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 02fec5fd64e97da4c74aa5354f557b3090c3df9c55d827c1811fbc41fe513ba00d8f854f95babafc7c9a4d2dadf50f4cbe6d3bf60cc10f12609c0957971c571b SHA512 1c2f41efb85971009a705ff3f82a45b6e3688d12b2c919c2555cc19dcc3b9575b516223a72caccb5ec3622e353fa0380ae3481a63ed2fa9b89f8e01c2771c95e |
133 |
-DIST rust-1.55.0-aarch64-unknown-linux-musl.tar.xz 233248308 BLAKE2B 263506150ecb677c73a9a670952796d7df90b572ceada5fa4afd8b1478363670d802f6a26f47d0d6cbb34544edc63279dd4b08a9131e5702f4119a2236a91f6b SHA512 a74050bbeabee752d030b07f830b919467af59755b7b79f64edbbb7acf822bfbbd1d013d25091d37ce255ee9796056966d102bf5b3da475a859788af7ebbdf68 |
134 |
-DIST rust-1.55.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b1b43bf430d33acc9a9b5f99148f1e0b930d3e271d40834a44ca839bf00369a01bfbcc69f4851e1cc951b26d6f7eedfd6f02b6ff9ada8dac85ccda0c22b1ce36 SHA512 04d31f458c285801b0185308a56700f0bc3bc2ad8c4548a1aa91e73bf94878810dbcf483403ad5815e80e87fb1417d958dbb18e6fdf090d2fd41b90d1c8c040c |
135 |
-DIST rust-1.55.0-arm-unknown-linux-gnueabi.tar.xz 210542012 BLAKE2B 91e6eb6c42f99e13aaeae97ef85cb266378a0201c64c3588335022a7218bd95c438d290a66390ed004a627a667ed6e4acded9f79fd6a7d47017457fe9955c658 SHA512 3cfd6e6968ed4b7872376da4d33f2eae0bf10d99eaf5fcf59e6d9be432f0239b03baf46b70f0146175894f2eb1ef118854d263d4ba8d18913e4f820fdd1f97e8 |
136 |
-DIST rust-1.55.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 0902e4acc3a70750d8c2de86c22cfefad261e2b204c63d948c7e232adece894c4f7e15d799eaa3fadcef9a63953e603f5bf1e17c6f4b601cb4d93b88d8c970bd SHA512 39db8c7421e86c79189f1e0cc5a79dfae6e7633c43749f49cff371af862c0becead4a977cb75295b06da75d64516ceef68de4f42beee6d63e1eb4fb0bf976dd5 |
137 |
-DIST rust-1.55.0-arm-unknown-linux-gnueabihf.tar.xz 210534624 BLAKE2B cf02334a4b0182073b5387f3d1f16b6ae0d0508fc07e81ecc7623eb21031b03c1e6ab10cb2b6fd23071c3cc0c77adcf4cbd7d34d38e81853cd0ef02368c99036 SHA512 83a888c334caeda24f365df43df0fb83f367fda477d1bd7c869c88cff5407ffc134d8bd172a037c27a34d79cb28eb2e9629f26a7cfbc0db9209e581e06ec86bf |
138 |
-DIST rust-1.55.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 17911a4745c705f7a4a2849301901912161c85300305e77588180d0fa4160a7ccd9188415c97a266613f35fdfd5b0b45879814c0afef6c6c2fea2bac700d0f39 SHA512 95d0731d84b49ecec8388fbcc0cb65f0ce93956a44dc62e1628f7e51e5726de6b611ed426a5e5c586a028d8808e6bca4257a8a1354b524087d833a32c3e0a231 |
139 |
-DIST rust-1.55.0-armv7-unknown-linux-gnueabihf.tar.xz 216342104 BLAKE2B ea2cb2d41c0a994124c5a5893cd3764f078157cb225117d9ca8641ca8896f02724beab7561a828d1163055e4c999ecece669f77920ccce0f495f2ff1b6632368 SHA512 b06b3c36b5ca35391030f3c9d2f64725263ac987002923d9263c4c27877d91453db3191e01d40c78f439a48f83da220926a2841337d815dd333591d453f2fc0e |
140 |
-DIST rust-1.55.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f35d5adf2ef48d52d22f6066a2dbf6a61543cf7e478a5d201caf1831f5cda53b7003148477fd043de98530bf3160de51f44f87d4e30be6cb7768344c6754f16e SHA512 e3cc3596e3f96d0aa6ec915690730118cea023e57b7bd9255acf80782acb865a1aa5ed3e404654d7eaa8110947f50f42b575d3df1eaef616afd2c55e8502b535 |
141 |
-DIST rust-1.55.0-i686-unknown-linux-gnu.tar.xz 228160060 BLAKE2B a5c37f6a25b8e09b3ca831f4f69d65d71f97bf0b0e975e7c92e8a4b2ec791f166f477b2fdce0ae6d9f539e598887a54b1e9ed0bc603da0e0c787cd2ba4b59565 SHA512 a0222c68c63ddd67afee552dd9ed636ea02fd3f26000deb7a1dc47806a1ec0b2fafaed903d4dabb0fddeb9e4026bf0da8bb2161c14db24d2883c084932e306b6 |
142 |
-DIST rust-1.55.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 62cc675de6155892cd6c0932d0b354cac4b3a07be58b2d6b021f7e86df058d5ecccef8e4ad9bedfd2432e84cea9720a982cbf9a50bf8a42149d8f197a27f8fb1 SHA512 21efa3b95a0344913666220f2996a8273e7d41077410b9eaafb7467976d0eca0139c780326b3e645d83db0b410e5db3a36342d89af668e65d045309f541c1c1e |
143 |
-DIST rust-1.55.0-mips-unknown-linux-gnu.tar.xz 152431144 BLAKE2B b5b27cf62f92f551a39ed65c957b73ce30ef9d1d956b5ca342641bb647c4874d7e325ec5f1c22a340668315c8f50c34240d0a2044ac8e5a88608c02fdf4f7e39 SHA512 e7eb3a64ea87c211a77ac73c4cfa001849fde1f73605d4e58cab84b09c886ab1a9a850cf1dcc9e1af19fcea0ea53400529a74adab531bc0a5ae3cee70a7cc99e |
144 |
-DIST rust-1.55.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 31dde6a6991040bc4772bba2577946837af84922b01c12bfa1ac9003f90f118c24d63bdcaff339b3a256f48cbfc55aac0bd1823727c35ca6424c5cf3b049d4b0 SHA512 685e6d15e79f71de45c9c2532cbbf7ded0c6b8d986c2bbb78887c43c05cc91ad5430c5f04c80d8007a3a86fe2936b29d7c8d92905cebf0ddbd152c526f324077 |
145 |
-DIST rust-1.55.0-mips64-unknown-linux-gnuabi64.tar.xz 159792528 BLAKE2B b762f4965771184fcf3ceaf38c7c8b62d9f4cbafe0fbc0a1e01a30ab9a5c951bff9472796c72ae1945d2a510b0efefd576f3ef0b4041eec7103cb5e5deb75e14 SHA512 74b199449c2237d71d2d8de4d8de05c82f631cda1fbf00b342707b4e99aa6aa7f89957d606c29dfeebb5990b3e6f09de5f360c484c8153cd17076bffbbfac251 |
146 |
-DIST rust-1.55.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 92a173654e7de569734b9c56f4f9d73d67fdad625b71db20c1f1fbbe20a12cb54a54a69bd215846101fc620b6a995d1f91dccdd59c97a5d6f2efdf59f1c40b3e SHA512 2f166793f3d814f39b11c968921fb9d95627325f588eab9d7b26b76c5824222978286cbfd2cc3b197d7a53711e74dc5da39eb422d0dfead9e2ad2638a2d3692f |
147 |
-DIST rust-1.55.0-mipsel-unknown-linux-gnu.tar.xz 155530648 BLAKE2B ffdaba2d35b5a6287fa78234df4368cab5e95ee139600d2d0964398eb0eddddf0382fc5e17f721eff3c1b61feaadadfa056727e249266d4a1783dfd441316eb3 SHA512 b4de4aab16039b7119760922fc18e7a5e0d1a1cc61ba5b3b5f778ce9d1d234448c8cfb5d46ced58a5b5705c1ae1a79403b394f0c4894e6387d7a9276768b2014 |
148 |
-DIST rust-1.55.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bf9a712e8b3ee8e44a4a1e9bb5e70486d11a65a09134845553c8f2d201eb1f674e64a6dc50a9de7eba3c8c457a747a0c14ec8228710e2725fc4a4630dea9414d SHA512 f9f62b8d12d33446504e193df49b11507cf47f17ea63abe329505af25c29ef928505049e161bd0157f03dab5f54bd59c38382e0e2cd891e79bcb831dc4c1ddef |
149 |
-DIST rust-1.55.0-powerpc-unknown-linux-gnu.tar.xz 165801508 BLAKE2B 752325711493d0caccd005a2509121992dfd3850eb87cd4100b61be08f42d0680d16098c631b15e4b94f63dc5d11f63f75e2d3d38ff7817fcf254563f80cc6af SHA512 c78fb4a5e7c59fc96f937eaee2e8ddf08be32376f45a6916aebdf046363f5ad792f67dbe1d42b699ee82b5f968671e710233f72d1677e70efaa90c9a54d36688 |
150 |
-DIST rust-1.55.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bdcea33c2655a29bbb154129e981229cacff826483d950f32b5df5fb9ba7728c68d25d35df796bd75a26cad20ff525e6de4a059d0c908449a68460ae83112767 SHA512 f3ba9d98da9d4eb60c0f07ac509c24281cca419b805e1efe89583c93bb050665992f63069b3a76d8cd810b5a81d28b3f732c54eba081c40e9f8e6e0d39e452ab |
151 |
-DIST rust-1.55.0-powerpc64-unknown-linux-gnu.tar.xz 179595992 BLAKE2B 3ed33cd7d28f0d8f91fa0ad2e46b7e8e53afe3f0fe8b8557530aa7ddeb3489e054635b636bdedc85bf91f17ea074b286f603b83cdad1c149eec431bd0b440ab5 SHA512 367ddaee0131ae05945b0a81efb73fde479140cb8078d10ec166c0da68afc1fa2aff40a8e6246c2b4861a876b8672a8d8d126bf15d23830c6e170aa27c1d6a7b |
152 |
-DIST rust-1.55.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 795eda0483df19dc9c3f4439ab01dd3a647cbcd7bdb03a6d236d699214c6d1e2b1d794515bc09b067b0c4ab789893d07ba9905821d4851c84e4b16cdc38e85b7 SHA512 e2c527769342b8c05b60065e74ab7c8b3fa05e39a78f7cdca3044fc3b3167c62911194402d2256cc98ea69a30d5ef8b726dfec76755b7211cb0e9f0131eb556a |
153 |
-DIST rust-1.55.0-powerpc64le-unknown-linux-gnu.tar.xz 188758520 BLAKE2B 789d6a835f4bf3c5631e55645cb7d8b77674dfa66b49c6f5c089b2a913785aa8962ee5db90a34000958f946b0f00b648a31346aa93d509e898e6476c14d6f551 SHA512 67c98c7cc44482082daa5daa3926dc92782b373b3173181413e68d59ea07f6eee61d46f3832a3fce18bdc44dd563e2e1f85709435e04c599b299981ecd932a9f |
154 |
-DIST rust-1.55.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ef25130d02f4570b433ddcd52545c7ceea9b239204a6bf138cc210f8a7fbd48922a0b8ab5a93a9f1c2b2f1d608bf525dd4f5402b03863defc8979fb84ec19760 SHA512 4a707f12d4b1c3113e0b4202fb0a7b66a04572f9c522ad6f0da0b049e1915ccdd9d3978cc03fb9a47a97639430101f3871869e99953374bfc5541d02ee0d7ff8 |
155 |
-DIST rust-1.55.0-riscv64gc-unknown-linux-gnu.tar.xz 182350256 BLAKE2B 1b139ae02b036719c7173d9607329a225455ac430d3911adce74ed0edd7c85e0f63a0beee563b7e26a4efe147083bcecf2dc93b5babad66303dcb7231bd83048 SHA512 c28beb76d9ae3a0727ae368845b4f62f8a087570a5464eac3b966ece6dd30d324696240a404f67c90cf005004bbfac8da31410d51469a7c34a6af3415e958acd |
156 |
-DIST rust-1.55.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e04e2c6ae4c2192c558b41201aec4fede2fcb05022f2e841e9048f2891b3baad5737e27297c0479e7363f920b7a63a502fca0fa7481ffdeca5084d1fd8bd2a4d SHA512 96b6412bfe84c6b4d13a13a8bfccb28505e8070c2e5ee94bc572be84dc5a59a7c5208659d20fe0d37cf3c02ca8475e5c9c0d4f0a5b9b86aecce2a35bc91c5a11 |
157 |
-DIST rust-1.55.0-s390x-unknown-linux-gnu.tar.xz 187722100 BLAKE2B 030413321337cab855fdcf6ff4ffdca4cf1105e633fc4b28d049263a5fe40a0097a9e03ff4aeff80b57c761c672d96e65c9f774cd83a9aba0f95180a2eb2dac9 SHA512 7fc83c8723493864a470f32a05db9e16ecba0ff621080d8a3a257e6f42a37bfcc8d364d71aff696991dd85635f6596ffa72efdefee1620c308984536b48d212a |
158 |
-DIST rust-1.55.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fa4d8d8bb025a9010a44a9f021ba2fb443146debd9281ba520d764b49db6dd0e8b7b614d7a131f1722b29be4b80eabd3694e14f47a05d87cb3382c799ef96a88 SHA512 9ed8aefb443bc51a33e3cbca80f3ce1e65a565735672a966b73e5f4c8f7363c6d8204ab0f9387739765b70dfa8269372156500d99cc4d74ed94d1c2473c807f2 |
159 |
-DIST rust-1.55.0-x86_64-unknown-linux-gnu.tar.xz 139040728 BLAKE2B 1d7905411b55617178c88a062a1ff3048edb8020126a8c4c047aef762c4fd13b1c8c5de4c06a97477d9cfacadf6dc008c2b7b66862dc0c3fb9a8dc48f12f5ed2 SHA512 4bc304727b1e9459194a9a9ad5c8e1fe63501f01047d479585de6708365b3f59e09aade64c7f4969df204f8bbcf9de9508745d2b96bc25cb74ed093f8053a4d6 |
160 |
-DIST rust-1.55.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d454086c93147737c7c144af288394512528e4ce759dc221d7371b62724857fe16e391949b5b4dac436bdcaef8bf817f577e8d951e1f4bae098d687b4a7bdbb5 SHA512 b175e3ddefd036fce29c80c65a86565583167f7859f0941dee6718fd71baa8596f1788a6bed5d992096959e1deda98dc9c10e8cbc896114b7938a05951c29f02 |
161 |
-DIST rust-1.55.0-x86_64-unknown-linux-musl.tar.xz 267291288 BLAKE2B b96e8fa1c8d2e55c07781db37ddd33ec7180cde29c84f5020f2ba0fbf6aa83f9db32723e191c15df765f965d1314a57d12d80e73d20deaab1333afca65bdfac7 SHA512 6fb700d5d17c084fa520b29f3012ac565eaf891705a27c7738a61bb9899bc952f679987ef3790875b5a7adae836c602b394c7e19103f30bbdf5ec82cf3e86567 |
162 |
-DIST rust-1.55.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 5ccf03518eae6406ff66bff108b26988a6a859e5cf88ca44327f9826d880ea26d6e115fb3e63f6a40d1cb15adc25d6f1c056438466095b7223269fb0d74540fe SHA512 8d84a976d9922d28a5ddac0f47258759a4c7542df02fb9ffede4a3e98ceecc6415229f3eb676a22536ffff842c6e7ee35d50d1507f2d818301493ee3a7db9bb5 |
163 |
-DIST rust-1.56.0-aarch64-unknown-linux-gnu.tar.xz 223490136 BLAKE2B 29085e44fbc7337a11d396e452e53c43c0ea2ef53d2bfd6e294c837f890ce4400e9274705764ab40680226010ab502798131b1d717d7a4a1cc590313ec65f8d2 SHA512 858a28c6d74848bed5e731cd785995b095b78375d6b10834b2cca97778d571a9bed2bc2104a924d099297eebe91f9e829d7558acba0a46b31d7cfffad520bc44 |
164 |
-DIST rust-1.56.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7b6bd9c532801b1759524007ea1aa7037303a94cc0571cc3265f4be867d4f69d5a3c732598db01c43716ceaa19717c418ca7d5df6ca030ef014618b849cf72e4 SHA512 d8d05fc573f93a7063bbe54a6785305171b096b8348a44b0e72753a5500d97cd1b903394c0e8fea601e33892592cda6dc667285bb095e4d4fe0c4fff8cf12b46 |
165 |
-DIST rust-1.56.0-aarch64-unknown-linux-musl.tar.xz 219878296 BLAKE2B 5f7b0670820f2ecf8499c47d5731ec371234be923dad2abd261cbb4cb6da39d27a813d7ceaef22aa75f9ffce3067500e6f02c157a517951a0377073847919a6b SHA512 9a1445794558352005921c92d64a454b3270a1052dbd6dc1ff5e407057403b232dea5183920459fd2c9a6f22423c28af60b427c2edcd3f19565e036f918570fa |
166 |
-DIST rust-1.56.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B fbab4bc200ec56df82cceb8511d5e11c94a64cf2202eac7fd9eb32857ef4f7acd441482ebaea24fa04d4df6709f14852d937b6b62e500609f678044507f3ce68 SHA512 796365d5bbff1f39b46df8353a0ce282c368e649569a202c50e13e1bdf8e280630d38630a752f18dc8da545561675fd5112cefac207cd98adfaf556029514d5d |
167 |
-DIST rust-1.56.0-arm-unknown-linux-gnueabi.tar.xz 202166060 BLAKE2B 1e73ce9ad86bc9f4f7a920a822829ce12c991e763f09cfdf16d1118ca16ba8f8ef217232eae303fdcfa0eccf5b913b80f771d8236a2fc0bcefa9c9e30f5cb92e SHA512 31ba5c7a8aca7f42789b606775145ef776d03a5b06c46e4336aabdd38f92633e2bc206ad74c28676c52387dd979acf742f56ea49c3de8bab868c98f18242e8b9 |
168 |
-DIST rust-1.56.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B ee433953b9fc732f1e8606b4070d379dfe373b94b702316f10ae5d0802baa7bd6ed19d01c6a4eeb206066a6cfbab7329f76c175c7b76023adacef030ad666f80 SHA512 d64bc0635f9d87323cbce77dfa779a3d360df76ca161cd4b175e5aa63e2a4cfe1c8609b38d678d7ef8bccc011326bc4851dd81b55836223ff84fb85e29cc6364 |
169 |
-DIST rust-1.56.0-arm-unknown-linux-gnueabihf.tar.xz 198940944 BLAKE2B 651932afcf232292611b20ca43a034e2b54060a15b6c4bf0c37c40b2864e59d9ef3ad865cc6a0729b02de34abe23a09e758029860d3d196080fef43268fd2546 SHA512 6e5edb3df13fcd0b4501e78ae55d2b62bca2c696e938f3e913cd15dd1e3fa802bbc813fbe5696cf5bfecf1e9fed99e6c83b23be423a467b084f6f66cf08646cb |
170 |
-DIST rust-1.56.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 94363ce80bc31d867583484eab662c3a3012019c9e90205959b71df6a8893a92524673246e1c1831b3a228fc75233184bdcea13cb28ed1dafb3b8a0764fc8161 SHA512 2eff4a8d702c88a1e283139a9a435d845a1ba30fd2f2857f8c19c0d19fc94698ad6b6ac87be0b1d3ca4a78a6ad658bc57357c9c84e8983505dc29d080a4041f1 |
171 |
-DIST rust-1.56.0-armv7-unknown-linux-gnueabihf.tar.xz 204645860 BLAKE2B 4d1bcbb704954aa09fe89d0e2d15e886dc5e25c91c24a2239caeae228ebeb94fa40ccd7bacdf67a3b9ecb5aa0cb5b1d54306642d879591675380496142699acc SHA512 952edc69bd1747bcb711ea81c58c580b8b2128722edf851cb0a20e6b85674e9bba0e234e6eacd5e3052480a72d896f2792f1a281ed8e99b23dfe1c51b467e3dd |
172 |
-DIST rust-1.56.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B be71c4cc8ee6e64e8850cf4c95b6f34c115fc1bfb62890c7f1794a229656fc3be1b54321db1174e7804540ca307360c49d07e45e418bd0ce7e1b1db20bb83da8 SHA512 2e9b2d38beb4199062f87c40875622ea2d914023d0fae2cd631db5f04b423c868089084e8731c3260a180d2d5aed531714ddd3c383f06703cae720942c90ef6f |
173 |
-DIST rust-1.56.0-i686-unknown-linux-gnu.tar.xz 215611688 BLAKE2B 759781d0e5771cf058eb47ef6f5aa2cf5bc2c692d71ddad6bccf37af62a587cb38f70d23c7ba2ba0bdc07635b6516d2ed63a99497bdd03433bdab16a611e46aa SHA512 6e19d19ec3aa00262c90e66a7be46805b36601f8e13ff3b026479c589965c6006d045c92bc56a063fb284e830220af1124a80df1a2e7850bdfe1cc0fdd149f3b |
174 |
-DIST rust-1.56.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c416bfa472174a38631022988de8b6294585a797b764766a9547564e5099f9fe24d46f27d734eb81c82156ccd135fd60c97aa9e13f69dc2a84b9a8554407ebaa SHA512 04a040802634f42fd2d9ea62a26b89d10c44426eb7f00ea4532859903fa89c7dec6dbe37fc572b6986653fb862236ca0d48be87c6febc7983a670c452c145ac5 |
175 |
-DIST rust-1.56.0-mips-unknown-linux-gnu.tar.xz 160762656 BLAKE2B 74a98ca534020c1beea16ed0aae5d55087e52e80743ecb5d4e23861cfa3e39c9f3eb216c948095f76be25a5fe89c47f2e1c7354b5b4f56acdd3532ae3874ee49 SHA512 a6e33f557faa842f3c5fd49223216516c012d4af9b3c5efb3f53778a38f02138e1b522b98ec91bfe523f507ebc932f6966d329f23b36fad6a3d105d4020bce3b |
176 |
-DIST rust-1.56.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fd9cf1b07e64c4196e25c023dbd7b5dd9ecc346c3590f8dd4e5d3ed3b03b6b04da90a8549178eed0db0cee2acd5efa4be300da6907cdfa5424acc52ed047696b SHA512 a7278ed6ffa56025257c70e77f5dff3aabed699282e05b01f7f3eba8ca1a813f43f0ee07357518dde78df11fd3600cfd6dbc45757a20850694a0bdd2c079cd20 |
177 |
-DIST rust-1.56.0-mips64-unknown-linux-gnuabi64.tar.xz 165953860 BLAKE2B f02278555bbc3c8169bb4dff02383b8736fea8ca8dbf395aae5d62a10c0a9e25088d1d56b7d6b0fba6d4384f988f55d1d82153ec0038bbef0044fc8316cb7786 SHA512 fec707ddb8ee51700716ec6283f3ecdb910f7ddbd8ad4fef7882595afe5b55b1c8f862240172ed20cc8e07bc8db9682184fcc10ad58d2ef7e4eddb3e54a14dc3 |
178 |
-DIST rust-1.56.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B a1509f1799555bc84ba43eafff55c4e6e62821c3eef27280682210823cfafb627ec28d0b3faf1cf624f88c9bd2e83af1438b8659acdf3d33413d7e95a2271a53 SHA512 6a39541d53229f432090a1304797c1f2c2d203c72ee266a07e408907ed56a1dba15f644a074235dd56058f77bafeb27bde32087546db2a86b64a65bc7bbbd41d |
179 |
-DIST rust-1.56.0-mipsel-unknown-linux-gnu.tar.xz 164590680 BLAKE2B a5c7c7e1ecb0a6cb079677b1a72c17fb0b141588a6003ec5ad01c54ecfc2d5e1f928246f978e7606b166e8a60c2defa375287931e04fb28da341037cd226040c SHA512 3b05f8f0e624e75608f94cb51be5c032b7ad56c9ee99220cac73a7f8f6c40cc35c3b5f846c2c930398eabdff2622c1d447720063b831006615c1ec4d2c25e01a |
180 |
-DIST rust-1.56.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ef21a9b209ec1b88df8cde1444bb5704656d3b435b1a4749ab65a13d0352392030c4ab4b59d71c2c03e554136c55fe44614b65d09fea644b7de572d357ccfdf SHA512 fd9efde43ae9d3427a56cab3128481733e0ee51d14365b8b5e65dbb5173bb11a564a4fdf68ad23ec443ab3371267399aba3ba704f3da41ded038a2d2ee898b46 |
181 |
-DIST rust-1.56.0-powerpc-unknown-linux-gnu.tar.xz 172592208 BLAKE2B 54016cd5f94e2fdba36329e5af7eb161de0485adc4f0e7b7933694bceffde8b101fc778880eb66156851f38cee66303b24095a6928f668d08bcba4277e2f6e92 SHA512 dd5e5a0f073c3de04a605cdfadb19538884ce1a715946e60fdc85408fa09a45d230eb3141ad999c5edb469a789151d5e6c7565743e162f7ce9add99021cb32ec |
182 |
-DIST rust-1.56.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 56f2c613dcf42d969da0734f7c5d6d544d1a2883b4435e941c0779f9406c9b02a9eb8eeb4d8393cf7abc389ba2df78f05b78dad56848c24df1023971101a9a92 SHA512 a5a933921e9670b3b55a9ffb01d8eb5b7520a7e73bec987a161a7f37d07f9024266566a7059b47592e66f6c1926934ef2306b1e7283e88329e68a124255f07d5 |
183 |
-DIST rust-1.56.0-powerpc64-unknown-linux-gnu.tar.xz 186235644 BLAKE2B 13754e77299dd432adba0773586910a215a8916399ea827a6b5ab5d8866b731ec0af2a0772a8ef83ad897c491add7c513c4f3f06c41c61bd600f2ff742610b3e SHA512 1ad3c1b7da0cb4a697c8bbe8a0580a3a8f01e1a8e415b75ab4798f5425098855ca9c95ec636a36e796d919464f3ed3ca651e8d3811f3adb9b040976422fecaab |
184 |
-DIST rust-1.56.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 62277bf7ee93ff6ad847cd9c69e89a2bd58f31efd235eafc7c4814c2e465ec24390c4a9fd99fc2c4c53fd994be159720b03ee169486f0c7af31da50b91cec2b0 SHA512 fab2896c285dd6641b5a7e6c8d1a9e96c084b65fe05cb519cc20abef7d5d42dfc0aaa2c61c137c89db26d0701fd4b32dee6453e98651f98b2d63ee34c8627dcd |
185 |
-DIST rust-1.56.0-powerpc64le-unknown-linux-gnu.tar.xz 195350800 BLAKE2B 2ceeb04ae5a5482ee3908f07dc50e306426fac09aaab154c6235392ca9e403ed36f492dbf23b3f6172e964d2ce7360fc0d19f345ea39cc28874d812e21e22b8f SHA512 bcddee74d0c7c52e7ec17b4b808b0caca764bd6f4ce6235cceed5c93983673c768981cd8403b2a7cb993eb5055625af2679c8635955d4765acd871643eabb6b4 |
186 |
-DIST rust-1.56.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e4085f8f853cfd50e44b0bb8ca70a73fe2cb14827261aef40c98fe399ed2aaee9d29acaabe2d85d51d77ec1ccf6eeb263aba1042c4e06c2b0ff7539ace11368c SHA512 6d21afed2e7eebc11d1713774feb662abaf84d1ad524edd506efb0910654b84828017db6c07248156514a37c176dde48088cf387aebccf6476ecdbdfc961c0dd |
187 |
-DIST rust-1.56.0-riscv64gc-unknown-linux-gnu.tar.xz 192792856 BLAKE2B 85af51b16ef1f749b1903cf98d4cb5d92d26bb17d5b5c2d493862feb8d21316a2d4aad73f3f9c8e2ef1436544a592d8a8378f3671c4c099b39e6e24f597bd4ba SHA512 ff9959be93e6d4049030d9e07fe6dc8be67fc635698ac37630b0cd8e1e446e6909879a4aaac4b0b08b93dcc2ce7650986d961ae1001fb683b235efc101b7e470 |
188 |
-DIST rust-1.56.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da4e11a82df51283edc6066d5a54b1f2c5937e1f8a9e45ecc10d1509a7377c630a63c141b413123b01d6df67c0be6c63b0017bfae20b13c654d3a5de98981410 SHA512 2fa854448aa07f2c23bfc6145bab5973e73f0c444dbde8f0f823b6a843f2125773115fd91660906e7dbede25d44bee2ae3873d299ebf75a8123c618afd07fb4d |
189 |
-DIST rust-1.56.0-s390x-unknown-linux-gnu.tar.xz 194222748 BLAKE2B 4cc8ac554f85ccf0963da9935da46d51640f37346fec2486fea50afabdd881c331c54af6ea15ef76a53d850dc9cbd8cfab8f4125b4749045d985393ead77b1b9 SHA512 8b00ed11f12604c377cafe7c206f8db10980a4c73bfe4b4d1d628ca6fcbb3df0553decd89a9ef775c06e62f446b817d4d51ed7b55bba5f1826e9d384fca7a26d |
190 |
-DIST rust-1.56.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 443228e6dc0fcf1da9a33a89938710efef0881f835daa2af1b7593e32f90403992b752bcaa321d5241f233faee3773f205a9afa44f12b59978cc84c261b85ba6 SHA512 608a7062e93e7ada52fe9688f2efe1e3caa4d768f0e7be31cf47b8665a8dc550e9287d339da6712366cb68a14868e07e5b68c4a25b86c2bac1fe738f77815b3f |
191 |
-DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz 147894784 BLAKE2B 6cbdb8a82aba4715d07c41497443a90cbe2bbed32ca95b3a8ca4bfd048334f1158b30f221bdec10bbef2d07344e8a35d4320ba8b991006263a6b764932cdc7e4 SHA512 bfc3a7493c208b35b42f40867286a6b3d97bda1c45983379d4223df31291e046a1214df1f88df2cb6558cafd8912cb8f0bab99a45899321b128e729ad03b9493 |
192 |
-DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e0ed39db46b40631f69fa379a04ec37ba314587a4f081aa1f3251e01b7221ee8732b668cfcc4c24c1a3950f3f8dcfd542a1a73c603cea545b812d5d3a9527055 SHA512 3e9d0b159684a496e29c9e40af11f16f5ef5cadd8bc4852018a953310e77a4e29db6c14ffcc86198908aa4998550c83cfd3f2cc42e007122d56167d664776c44 |
193 |
-DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz 255010720 BLAKE2B 286e91cbf001de6f888bd82139e6711b32f03d45c599f26b01f60222d98c3521a1933b3b9b7f8c46fa79d481780dc8dc47e5e24985b721a6998d620b446c38b4 SHA512 fb5a914a25ef3cb39393207a75c40f1313740167062feb4cda4084e738f4e93a51624a8a9591acc18553cfd6e2e232984c8c84acc3dfd77fbe38b17085850881 |
194 |
-DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bb7cfc775c1c44569276e687028e9a7ffac31577310052d9c354179a541ee13b0ca00a025e994e03ab17086d0abe6dda6845ed1cb10879425439c7651bdc9269 SHA512 cb23d98cfb1b59fcccaec575145b6f38846f3f49b16a3be199b06d6198b1db13720157ca65a01f6ef76abf742507bba39776d130f0fd03aa228acf5917457f7d |
195 |
DIST rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz 228665060 BLAKE2B 98fe268d060a7f19c284bf02fec148550807b6c75fad042b85f07b22c127f911e4e7e6d9738b4bef42b5a46cc888e5a0df79307cc84e39adf3ed9da3fd531188 SHA512 71d32e1ed3fc4a2eaf3594112b3b43ab82bd28b35e547542f6c1ed006175d7cf805be373a4da8b962762962dd32fe951c8ca7c0a424addad5d4e828441d5386c |
196 |
DIST rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fc832ff510b498a5763a26b420a6cdcf6b2b5fa8ce655f01ab23190f527cfaac144ac68378c6af3d3048440330f94b5d213d049c65ad87f0701b0555ebfa2b6f SHA512 a225f1db92c6e57b977873a3e5dbd07fa1288d2f8d79a879cc72dfc0dff66e70ce56619198cf36376b2774272c85363b8e8abf14efe8404f4cc038410c648ad3 |
197 |
DIST rust-1.57.0-aarch64-unknown-linux-musl.tar.xz 224700500 BLAKE2B 2eb3122af42c499bf92b93946b20b6414d51ba895a77a8e9c53dc437a20093605b2e9f22d8f88b4fc3ca7f7b75d425a2442b36fcea54b583692c32f728f23bfc SHA512 0850861d9d2c22d76b1550e7d6b64c746c3cc24b51a68949948528bdd93621f74e6c07d23428fcdb280e884e469f2e4f2d3f9a7f81ccfa61d41265e31af3a9cb |
198 |
@@ -190,17 +30,5 @@ DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz 151033748 BLAKE2B 61ecece6a8aa3 |
199 |
DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ea41b27fd25cc75efac73203688ee0882767fc76a2fe09b5e424c42467d3e332463c5560cc58f3b20f6e4b44289a25cfb0d36e38a7a9a7b3950ef875a59dc9ae SHA512 8b955bfce6c130e4b95054b98646f7f9b89e621256759ee1ff533df5f777312dd7adbb192ee0076c9b9baa6883a74a9def50ef598ba8c707762290d465c9a8b7 |
200 |
DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz 260333980 BLAKE2B 75342ae8637355e714d5217d78604cfa6a601d3f9bc0ed4667ff0ca57c6521567b19b9bdb10f79761e2e5fd21ca10e12f3fae0c65791118fdb0c35f8f88349f4 SHA512 204ed493528757b8e3e8df13d062c9ae74c75c3e3adc1a2efc0dfc33d2525629168a558dd32653f44a4365191bf203a4415a77152276288a8e122e6bd587394a |
201 |
DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 506400c3ea70469cbda0e492e85d41b7f94fba790ec19d1c3491bf4a00d283f97c8fb37319ad6c4a43b22a2195c21d1b9e3c16a5b2a9a82833ff61ad49bdc793 SHA512 793369dc7a854c48a72d81446a0c8eb9d83a071af77758e0bcbb8e4d518fb87c5a23c085202b9b427a02bdd772ad9c82724b34295b851f26f384c3e801bf9a04 |
202 |
-DIST rustc-1.53.0-src.tar.xz 115686332 BLAKE2B fa068f89d42f927fdc79ee31aad1386eaf2aa596a060e059c5a1a73fe48c48d008fc952cd6c7912b743e41d77a94b205639eed0f728b2539b62f18a772cabfe3 SHA512 70485cf7a0f7fc36ee31644e546374079dc387a85b44e5e793707fd0a4d7ca05d311291e78b86db955485d8f21c47ff9e1908acc4da68ba04929287213a40c24 |
203 |
-DIST rustc-1.53.0-src.tar.xz.asc 801 BLAKE2B 75d3aa4122968f10a119f7a04df897f496588c7a1a2ddf1ea2222099c9efb0e320f5677a26c3271f86e7f500120664485f54c6025ae3c6df30d2b0fe758f5826 SHA512 e337579b9ab4febca4594c2c5d42c279b51cfc745c383be9a430204188311a25319c04c73fde34fdb2bb98a88bfd8daaddc67765834330e6c279a6e5a5648247 |
204 |
-DIST rustc-1.54.0-src.tar.xz 116286856 BLAKE2B 5ac47822646a0b6205f09282168b4d4ddcace9f6bc8f242c890327ca4074626f129514f8bcae5c5556015745f718990cce490658076f5cd3526623439540416b SHA512 5162f85b43ca2c5af93fdbfb2597d75df8a838f7fcc025a5298499ce1043db50f1ea2fbba753e47ce5daad3d80d4b612acf6527ef902c34117763e687fdbbcfa |
205 |
-DIST rustc-1.54.0-src.tar.xz.asc 801 BLAKE2B 5ee9166eaa00e4ffec10fb82b18946d403bc2030c6e04de6449311cbccc2ef1b017044f451a1c19be3a0a9640c4a9a9e4bd22d28e2115509f333ae38eb25e9d4 SHA512 5ad91f43515de14114964db0348cd28c08adc6dc935f110bf339053414b8eab8a40f1074ceffa44ed2df61254f8368d867479400618c44efaa0333642ab49d07 |
206 |
-DIST rustc-1.55.0-src.tar.xz 117197580 BLAKE2B 8d9739ce7571146aee0e07c6287de9a8c4f1a914606cd47819eb1ef118b15772ecf22d0d43d7732f03c234a013fa54a4a7f0578a3f136af518f71bf64a03305d SHA512 7522f2fa95d5af92472404ecc97d7d9e745e88c933196a83fa373ce1efff6db3c295e0e2afdbfa1ff00644554efa0c3c7f6c11f9119ecf9010cb440b3f27c2da |
207 |
-DIST rustc-1.55.0-src.tar.xz.asc 801 BLAKE2B 5b4ba951ed7ed56c7bd9c71df89cc1e966485d77411016ad71a811ad8e21b88295deec08f24f65afdb163e69ee0fe19288bcc64d18fe272bea51319caddb66b2 SHA512 9bc858ce26cc069cafaefe6165cb15a07e144ad6d6312bcbe115a0a51fec6e281d3e8a7977e958d7fa10e77139548d57396b1552a2802ec74b7bc6ac641e7ae4 |
208 |
-DIST rustc-1.56.1-src.tar.xz 121798264 BLAKE2B 09677b0332022f28a0d80949a6735929dbf64276f7eb57195d8c33e6c80f13c903432ff77d8834093ab551677618fb1d385f2300e2b1b4c064f9c245c696be32 SHA512 193468e211cde9ebc5f6e30b8e3733b79bd8710fe6dd45c7ed8d4392f91010d30466787afd4d0b2041cd7dd994924fee8ad111048824e248bd994959e55bf15f |
209 |
-DIST rustc-1.56.1-src.tar.xz.asc 801 BLAKE2B 70ed1c26971e864aa6cc9b05eb52c4a140d0d0cccb3ff66d4a13e1b1dbac958c5369f76524c4702311566ed26aff635f5e3d35d9da71d96e070f5f0e978dc2ba SHA512 f997e7962ef8b283c19c97d8b898f3642f1a58c89a9cc5470cf88682263a42e2054d670c12bf93c41e81edf8324a5b51453f402a74bccb7744c7f463cf689aa8 |
210 |
-DIST rustc-1.57.0-src.tar.xz 122681768 BLAKE2B 739fe2c34b01bb0c6beeb7717badeb2ba12f00b91831977bf0d8782d806071f8ed696e94bf51d53509ae6e5c5773544b2dcf4187e81682c2f765d0975c64ca7d SHA512 7903bcfc7c1db208da5d5991bd5b7f55dbe5917d4814274a8badf0d3b767211e81f8626c355ea93142f236abf116d5921c0b542ef309fbe84ece1ce84e5af30f |
211 |
-DIST rustc-1.57.0-src.tar.xz.asc 801 BLAKE2B e5c2e91999d8d2bcb5be36ddc8559a59fc53445f639bd179239489f9fd2a2f00f2191cdbb2000b73866fbb332b51be090e95e348a3573676dc24e00cdbb071fa SHA512 fcf1393a1be3c585447e08078b804e7ffcddcb47d87877c13526592e317b889b15ad1786baef5d6adf020631a6773a9dd31c04779f475a528b28871920a4641f |
212 |
-DIST rustc-1.58.0-src.tar.xz 124348768 BLAKE2B e5a0d919a1ca1202e218cec3da93fc69cba163069b1f2b4051778a49184715579c14cd6b03baa0225b10a8f1adf758aca427c910d95dfa2e647bbf8b7d133785 SHA512 70104f4d3b474dcb9935200ef0503f29cb15f10d38ba8630e1dadbb384924dd9137fced647794699efe83ac88083e4ae5f45712f0e1c8bc0a6f8c23eecdb0aeb |
213 |
-DIST rustc-1.58.0-src.tar.xz.asc 801 BLAKE2B d8b3ae366d20e0a27b53973e0d215c0fd5f596116ede15ac0e729db4a92fff6c602fc3893674863040a97abaaab36b351413e87a2c6d77f823fcda5805d23daa SHA512 e4bffe84637b2708d00fae091e3eb868063a8f65da918a847ef7db3f1edd35f96068489cae77238decfc134f4456cf6e3122f993e61f1e4986d3ec7f029d7125 |
214 |
DIST rustc-1.58.1-src.tar.xz 124353160 BLAKE2B 686c7272db544ad46f7fb01b4e05f24f4e08ff959a000cadfaef5d8fc413b93f5ed839077bc9715defc7a0a179af091f65c7a5d7104b0b3153f0654c237c094b SHA512 eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce |
215 |
DIST rustc-1.58.1-src.tar.xz.asc 801 BLAKE2B f0b600a503b0ca777dd5d690dca7252ecc6d7d49ca4a9cc8edc0647038f727e9052a861f9868292f837d78d6b02efe9ed5efa85843262c44cf6f73254cc7c9b0 SHA512 983c1ffdc4febf8bce6efc123c76b13f233772bc0a152ffaeb7ebf8f1f7b82a6b5d653407a4d293953d6fbf62c0df4ff4d398a1133061b53ae0f85317a14380b |
216 |
|
217 |
diff --git a/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch |
218 |
deleted file mode 100644 |
219 |
index ff1707f4b8a4..000000000000 |
220 |
--- a/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch |
221 |
+++ /dev/null |
222 |
@@ -1,75 +0,0 @@ |
223 |
-From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 |
224 |
-From: Samuel Holland <samuel@××××××××.org> |
225 |
-Date: Sun, 16 Sep 2018 16:38:48 +0000 |
226 |
-Subject: [PATCH 12/15] Ignore broken and non-applicable tests |
227 |
- |
228 |
-c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 |
229 |
-env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) |
230 |
-long-linker-command-lines: takes >10 minutes to run (but still passes) |
231 |
-simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 |
232 |
-sparc-struct-abi: no sparc target |
233 |
-sysroot-crates-are-unstable: can't run rustc without RPATH |
234 |
---- |
235 |
- src/test/codegen/sparc-struct-abi.rs | 1 + |
236 |
- src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++ |
237 |
- src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++ |
238 |
- src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++ |
239 |
- src/test/ui/env-funky-keys.rs | 1 + |
240 |
- 6 files changed, 10 insertions(+) |
241 |
- |
242 |
-diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs |
243 |
-index 78e5b14a212..6f93e93286b 100644 |
244 |
---- a/src/test/codegen/sparc-struct-abi.rs |
245 |
-+++ b/src/test/codegen/sparc-struct-abi.rs |
246 |
-@@ -4,6 +4,7 @@ |
247 |
- |
248 |
- // only-sparc64 |
249 |
- // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib |
250 |
-+// ignore-test |
251 |
- #![feature(no_core, lang_items)] |
252 |
- #![no_core] |
253 |
- |
254 |
-diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile |
255 |
-index f124ca2ab61..363b18f0985 100644 |
256 |
---- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile |
257 |
-+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile |
258 |
-@@ -1,3 +1,5 @@ |
259 |
-+# ignore-aarch64 |
260 |
-+ |
261 |
- -include ../tools.mk |
262 |
- |
263 |
- all: |
264 |
-diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile |
265 |
-index 5876fbc94bc..5f167ece1a2 100644 |
266 |
---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile |
267 |
-+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile |
268 |
-@@ -1,3 +1,5 @@ |
269 |
-+# ignore-test |
270 |
-+ |
271 |
- -include ../tools.mk |
272 |
- |
273 |
- all: |
274 |
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile |
275 |
-index 9e770706857..6d92ec5cec8 100644 |
276 |
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile |
277 |
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile |
278 |
-@@ -1,1 +1,3 @@ |
279 |
-+# ignore-test |
280 |
-+ |
281 |
- all: |
282 |
- python2.7 test.py |
283 |
-diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs |
284 |
-index c5c824ac58d..f3fe047a79c 100644 |
285 |
---- a/src/test/ui/env-funky-keys.rs |
286 |
-+++ b/src/test/ui/env-funky-keys.rs |
287 |
-@@ -1,6 +1,7 @@ |
288 |
- // run-pass |
289 |
- // Ignore this test on Android, because it segfaults there. |
290 |
- |
291 |
-+// ignore-test |
292 |
- // ignore-android |
293 |
- // ignore-windows |
294 |
- // ignore-cloudabi no execve |
295 |
--- |
296 |
-2.24.1 |
297 |
- |
298 |
|
299 |
diff --git a/dev-lang/rust/files/1.53.0-miri-vergen.patch b/dev-lang/rust/files/1.53.0-miri-vergen.patch |
300 |
deleted file mode 100644 |
301 |
index 347f147c9942..000000000000 |
302 |
--- a/dev-lang/rust/files/1.53.0-miri-vergen.patch |
303 |
+++ /dev/null |
304 |
@@ -1,53 +0,0 @@ |
305 |
-From 64f128c45687d18d64fc6856a30fde585b007e00 Mon Sep 17 00:00:00 2001 |
306 |
-From: Ralf Jung <post@×××××.de> |
307 |
-Date: Sat, 15 May 2021 14:17:30 +0200 |
308 |
-Subject: [PATCH] support building Miri outside a git repo |
309 |
- |
310 |
---- |
311 |
- cargo-miri/bin.rs | 14 ++++++++------ |
312 |
- cargo-miri/build.rs | 2 +- |
313 |
- 2 files changed, 9 insertions(+), 7 deletions(-) |
314 |
- |
315 |
-diff --git a/cargo-miri/bin.rs b/cargo-miri/bin.rs |
316 |
-index e29bdc771..84447b3a1 100644 |
317 |
---- a/src/tools/miri/cargo-miri/bin.rs |
318 |
-+++ b/src/tools/miri/cargo-miri/bin.rs |
319 |
-@@ -6,6 +6,7 @@ use std::io::{self, BufRead, BufReader, BufWriter, Read, Write}; |
320 |
- use std::ops::Not; |
321 |
- use std::path::{Path, PathBuf}; |
322 |
- use std::process::Command; |
323 |
-+use std::fmt::{Write as _}; |
324 |
- |
325 |
- use serde::{Deserialize, Serialize}; |
326 |
- |
327 |
-@@ -90,12 +91,13 @@ fn show_help() { |
328 |
- } |
329 |
- |
330 |
- fn show_version() { |
331 |
-- println!( |
332 |
-- "miri {} ({} {})", |
333 |
-- env!("CARGO_PKG_VERSION"), |
334 |
-- env!("VERGEN_GIT_SHA_SHORT"), |
335 |
-- env!("VERGEN_GIT_COMMIT_DATE") |
336 |
-- ); |
337 |
-+ let mut version = format!("miri {}", env!("CARGO_PKG_VERSION")); |
338 |
-+ // Only use `option_env` on vergen variables to ensure the build succeeds |
339 |
-+ // when vergen failed to find the git info. |
340 |
-+ if let Some(sha) = option_env!("VERGEN_GIT_SHA_SHORT") { |
341 |
-+ write!(&mut version, " ({} {})", sha, option_env!("VERGEN_GIT_COMMIT_DATE").unwrap()).unwrap(); |
342 |
-+ } |
343 |
-+ println!("{}", version); |
344 |
- } |
345 |
- |
346 |
- fn show_error(msg: String) -> ! { |
347 |
-diff --git a/cargo-miri/build.rs b/cargo-miri/build.rs |
348 |
-index cff135fe4..ebd8e7003 100644 |
349 |
---- a/src/tools/miri/cargo-miri/build.rs |
350 |
-+++ b/src/tools/miri/cargo-miri/build.rs |
351 |
-@@ -7,5 +7,5 @@ fn main() { |
352 |
- let mut gen_config = vergen::Config::default(); |
353 |
- *gen_config.git_mut().sha_kind_mut() = vergen::ShaKind::Short; |
354 |
- *gen_config.git_mut().commit_timestamp_kind_mut() = vergen::TimestampKind::DateOnly; |
355 |
-- vergen(gen_config).expect("Unable to generate vergen keys!"); |
356 |
-+ vergen(gen_config).ok(); // Ignore failure (in case we are built outside a git repo) |
357 |
- } |
358 |
|
359 |
diff --git a/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch b/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch |
360 |
deleted file mode 100644 |
361 |
index bc6ae8be00b7..000000000000 |
362 |
--- a/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch |
363 |
+++ /dev/null |
364 |
@@ -1,234 +0,0 @@ |
365 |
-From 12efa21eb88cb43d3b927952da0c5635373ac92b Mon Sep 17 00:00:00 2001 |
366 |
-From: David Tolnay <dtolnay@×××××.com> |
367 |
-Date: Thu, 17 Jun 2021 22:34:55 -0700 |
368 |
-Subject: [PATCH] Update rustversion to 1.0.5 |
369 |
- |
370 |
---- |
371 |
- Cargo.lock | 4 +-- |
372 |
- vendor/rustversion/.cargo-checksum.json | 2 +- |
373 |
- vendor/rustversion/Cargo.toml | 2 +- |
374 |
- vendor/rustversion/build/build.rs | 6 ++++ |
375 |
- vendor/rustversion/build/rustc.rs | 30 +++++++++----------- |
376 |
- vendor/rustversion/src/lib.rs | 15 ++++++++++ |
377 |
- vendor/rustversion/src/time.rs | 13 +++++++-- |
378 |
- vendor/rustversion/tests/test_parse.rs | 10 +++++++ |
379 |
- vendor/rustversion/tests/ui/bad-bound.stderr | 4 +-- |
380 |
- vendor/rustversion/tests/ui/bad-date.stderr | 4 +-- |
381 |
- 10 files changed, 63 insertions(+), 27 deletions(-) |
382 |
- |
383 |
-diff --git a/Cargo.lock b/Cargo.lock |
384 |
-index 0939f19cdfe..26a89caf050 100644 |
385 |
---- a/Cargo.lock |
386 |
-+++ b/Cargo.lock |
387 |
-@@ -4582,9 +4582,9 @@ dependencies = [ |
388 |
- |
389 |
- [[package]] |
390 |
- name = "rustversion" |
391 |
--version = "1.0.4" |
392 |
-+version = "1.0.5" |
393 |
- source = "registry+https://github.com/rust-lang/crates.io-index" |
394 |
--checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd" |
395 |
-+checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" |
396 |
- |
397 |
- [[package]] |
398 |
- name = "ryu" |
399 |
-diff --git a/vendor/rustversion/.cargo-checksum.json b/vendor/rustversion/.cargo-checksum.json |
400 |
-index e1277df7b59..0a134695aaf 100644 |
401 |
---- a/vendor/rustversion/.cargo-checksum.json |
402 |
-+++ b/vendor/rustversion/.cargo-checksum.json |
403 |
-@@ -1 +1 @@ |
404 |
--{"files":{"Cargo.toml":"1a91782510461d54726e816ae776042b95c79c9949d49c11b8782caefc22ead2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"01dc6a1bf499a12bd0bfbbfe4db2ca8460b2c151235bcf2aad2356de4c2ec50a","build/build.rs":"481daf363b7004c90ffc3e012863a4102e9f26b9aaa2a4a295c2dd78f690be28","build/rustc.rs":"4dc8f1764672137bd15758cc19242740b0d6ab99e4a69171ad0999f9112a15a6","src/attr.rs":"9301cd4aff5a9648c057d5d8de9eb66921f0c3a715c51ada4459576bd49c8b19","src/bound.rs":"44bda74d3aacfeeeac9dae2f7eef3acc844d4c3c7eaa9d3e6288e5aeff269dff","src/constfn.rs":"613b8f53b21cc06b4f619fce9000993d3e7873b650701ca01cef1e53bed5b40a","src/date.rs":"454c749a60db8144a706a813e06fe3ae39c981920ba9832ef82f3f9debe1f052","src/error.rs":"cb37102f03ebbaca313d80f9714fe08dfef92fe956789ee87d93eb6121705f4f","src/expr.rs":"8e8ca76f4f5838436d9d7273f499c698bb41f6c15bc07d32ec5c1cb8bd3dd731","sr |
405 |
c/iter.rs":"8d4b817b9abc4e817105b673e15f29ef9bb8284a010ce01ac2d83387fe136947","src/lib.rs":"f8347832d8072058dbb4af6b8d67a834a02fe9c5460bbaa26defec4b66317f1b","src/release.rs":"abb8ddd877c39a023bf5e7bd67063d6e4144e79758a8bafa338167f9d15b89f1","src/time.rs":"45fb48ff0a0046a5a1b108b9ce53b14885637ad868ede1d66970379c2b7f16ef","src/token.rs":"824ce765f692db73afa02d3ebb0281c750748035efc98fa547be29d3072665ce","src/version.rs":"afdb048bba95bbb885945eba5527b6bf0eca0105642bfc304c2f82a8b7d556df","tests/compiletest.rs":"0a52a44786aea1c299c695bf948b2ed2081e4cc344e5c2cadceab4eb03d0010d","tests/test_const.rs":"a8297ca6559f895a3b2664964a42b6f82bbbc3c8faa9556a513006e6e1827995","tests/test_eval.rs":"6f0ee3f49c9a0d0c374a4d0e9a9dce753cd9fc2ca7725e000a435dbd5f4a9ce3","tests/test_parse.rs":"fbf9695f4208263743715e6c8b6294dfffee21462a65dfeb9339a70c0e18dbc6","tests/ui/bad-bound.rs":"25bde278fcaabf62868417148a5e5f2006bf589d7ebd7bf6004fb8d78e47594f","tests/ui/bad-bound.stderr":"bc9297f758c2541fb0a8b48d5785f4bb |
406 |
cd0d2a07d876ba0baf2fc9de9275e7e6","tests/ui/bad-date.rs":"6e23714dae8b6346fefe50dacd4abba3265248bbadfdd60c739138aa8a0037ba","tests/ui/bad-date.stderr":"1ac3cab13ee900fc8344e8fab21ff4d9cad476aca44925a4c1b2293a6b59b742","tests/ui/bad-not.rs":"f003df8bd245e9dd8edc3a6d94078ee5162fac7a98db881271f0f5b6db98d45d","tests/ui/bad-not.stderr":"d4ef78fae4a82419e737757158796cb103a5920df498956eaf57ed201797b463","tests/ui/bad-version.rs":"f4ea2cd038e6c63deb9c2e3ceffce93dbf179d9ce18c16d88f3b6cd7138a8c8e","tests/ui/bad-version.stderr":"60ed51c62f4c2fb6ff95cff7523cfca379ed434f319da9d82704318588792338","tests/ui/const-not-fn.rs":"10bbe38f0d89391fff0698756e4cfd4e72a41090360393a0c951b67df14d1c35","tests/ui/const-not-fn.stderr":"9551f7f222445b31d7af2415d467301c332d55bb3d5a143846484f2f00047a01"},"package":"cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd"} |
407 |
-\ No newline at end of file |
408 |
-+{"files":{"Cargo.toml":"a09ee758f816eddff8a8c7fb5be54dd95e74caad18a207251faedd251ecfaf1c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"01dc6a1bf499a12bd0bfbbfe4db2ca8460b2c151235bcf2aad2356de4c2ec50a","build/build.rs":"bae427f344972e6e0e348ec48dce0947274b3ec6cac0938497a8d3da5c9834e5","build/rustc.rs":"3e4acf7ea679f9331dd4e8dbe42a08a312f58379ea1eee5898793a9848d06d8c","src/attr.rs":"9301cd4aff5a9648c057d5d8de9eb66921f0c3a715c51ada4459576bd49c8b19","src/bound.rs":"44bda74d3aacfeeeac9dae2f7eef3acc844d4c3c7eaa9d3e6288e5aeff269dff","src/constfn.rs":"613b8f53b21cc06b4f619fce9000993d3e7873b650701ca01cef1e53bed5b40a","src/date.rs":"454c749a60db8144a706a813e06fe3ae39c981920ba9832ef82f3f9debe1f052","src/error.rs":"cb37102f03ebbaca313d80f9714fe08dfef92fe956789ee87d93eb6121705f4f","src/expr.rs":"8e8ca76f4f5838436d9d7273f499c698bb41f6c15bc07d32ec5c1cb8bd3dd731","sr |
409 |
c/iter.rs":"8d4b817b9abc4e817105b673e15f29ef9bb8284a010ce01ac2d83387fe136947","src/lib.rs":"5652f6f84fc80136bd29b2125f7676e80e0df7d40aac274b0658c99cecbd871d","src/release.rs":"abb8ddd877c39a023bf5e7bd67063d6e4144e79758a8bafa338167f9d15b89f1","src/time.rs":"bdd05a743b07a6bbfa0dbc9d4e415e051aba4a51a430c3be1e23447eae298c8b","src/token.rs":"824ce765f692db73afa02d3ebb0281c750748035efc98fa547be29d3072665ce","src/version.rs":"afdb048bba95bbb885945eba5527b6bf0eca0105642bfc304c2f82a8b7d556df","tests/compiletest.rs":"0a52a44786aea1c299c695bf948b2ed2081e4cc344e5c2cadceab4eb03d0010d","tests/test_const.rs":"a8297ca6559f895a3b2664964a42b6f82bbbc3c8faa9556a513006e6e1827995","tests/test_eval.rs":"6f0ee3f49c9a0d0c374a4d0e9a9dce753cd9fc2ca7725e000a435dbd5f4a9ce3","tests/test_parse.rs":"cdfe376020b9391330292968046117b0935c828d73385e8faeb2e333ec897088","tests/ui/bad-bound.rs":"25bde278fcaabf62868417148a5e5f2006bf589d7ebd7bf6004fb8d78e47594f","tests/ui/bad-bound.stderr":"a03dc78b380191c10d3b3406b1fd3208 |
410 |
bb2609d4c26b9c33ccd335721e3cd072","tests/ui/bad-date.rs":"6e23714dae8b6346fefe50dacd4abba3265248bbadfdd60c739138aa8a0037ba","tests/ui/bad-date.stderr":"3a607fb950a69f7dc1b503295bce53541f9dee9f4674edc5d13ee3a69ff0e8cd","tests/ui/bad-not.rs":"f003df8bd245e9dd8edc3a6d94078ee5162fac7a98db881271f0f5b6db98d45d","tests/ui/bad-not.stderr":"d4ef78fae4a82419e737757158796cb103a5920df498956eaf57ed201797b463","tests/ui/bad-version.rs":"f4ea2cd038e6c63deb9c2e3ceffce93dbf179d9ce18c16d88f3b6cd7138a8c8e","tests/ui/bad-version.stderr":"60ed51c62f4c2fb6ff95cff7523cfca379ed434f319da9d82704318588792338","tests/ui/const-not-fn.rs":"10bbe38f0d89391fff0698756e4cfd4e72a41090360393a0c951b67df14d1c35","tests/ui/const-not-fn.stderr":"9551f7f222445b31d7af2415d467301c332d55bb3d5a143846484f2f00047a01"},"package":"61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088"} |
411 |
-\ No newline at end of file |
412 |
-diff --git a/vendor/rustversion/Cargo.toml b/vendor/rustversion/Cargo.toml |
413 |
-index 56995ff0792..c72b1b2b343 100644 |
414 |
---- a/vendor/rustversion/Cargo.toml |
415 |
-+++ b/vendor/rustversion/Cargo.toml |
416 |
-@@ -13,7 +13,7 @@ |
417 |
- [package] |
418 |
- edition = "2018" |
419 |
- name = "rustversion" |
420 |
--version = "1.0.4" |
421 |
-+version = "1.0.5" |
422 |
- authors = ["David Tolnay <dtolnay@×××××.com>"] |
423 |
- build = "build/build.rs" |
424 |
- description = "Conditional compilation according to rustc compiler version" |
425 |
-diff --git a/vendor/rustversion/build/build.rs b/vendor/rustversion/build/build.rs |
426 |
-index 2a8bc4af39f..15312510d68 100644 |
427 |
---- a/vendor/rustversion/build/build.rs |
428 |
-+++ b/vendor/rustversion/build/build.rs |
429 |
-@@ -1,3 +1,9 @@ |
430 |
-+#![allow( |
431 |
-+ clippy::enum_glob_use, |
432 |
-+ clippy::must_use_candidate, |
433 |
-+ clippy::single_match_else |
434 |
-+)] |
435 |
-+ |
436 |
- mod rustc; |
437 |
- |
438 |
- use std::env; |
439 |
-diff --git a/vendor/rustversion/build/rustc.rs b/vendor/rustversion/build/rustc.rs |
440 |
-index 723e6bdd0e2..dfc6a05166f 100644 |
441 |
---- a/vendor/rustversion/build/rustc.rs |
442 |
-+++ b/vendor/rustversion/build/rustc.rs |
443 |
-@@ -48,23 +48,21 @@ pub fn parse(string: &str) -> Option<Version> { |
444 |
- Some(channel) if channel == "dev" => Dev, |
445 |
- Some(channel) if channel.starts_with("beta") => Beta, |
446 |
- Some(channel) if channel == "nightly" => match words.next() { |
447 |
-- Some(hash) => { |
448 |
-- if !hash.starts_with('(') { |
449 |
-- return None; |
450 |
-+ Some(hash) if hash.starts_with('(') => match words.next() { |
451 |
-+ None if hash.ends_with(')') => Dev, |
452 |
-+ Some(date) if date.ends_with(')') => { |
453 |
-+ let mut date = date[..date.len() - 1].split('-'); |
454 |
-+ let year = date.next()?.parse().ok()?; |
455 |
-+ let month = date.next()?.parse().ok()?; |
456 |
-+ let day = date.next()?.parse().ok()?; |
457 |
-+ match date.next() { |
458 |
-+ None => Nightly(Date { year, month, day }), |
459 |
-+ Some(_) => return None, |
460 |
-+ } |
461 |
- } |
462 |
-- let date = words.next()?; |
463 |
-- if !date.ends_with(')') { |
464 |
-- return None; |
465 |
-- } |
466 |
-- let mut date = date[..date.len() - 1].split('-'); |
467 |
-- let year = date.next()?.parse().ok()?; |
468 |
-- let month = date.next()?.parse().ok()?; |
469 |
-- let day = date.next()?.parse().ok()?; |
470 |
-- match date.next() { |
471 |
-- None => Nightly(Date { year, month, day }), |
472 |
-- Some(_) => return None, |
473 |
-- } |
474 |
-- } |
475 |
-+ None | Some(_) => return None, |
476 |
-+ }, |
477 |
-+ Some(_) => return None, |
478 |
- None => Dev, |
479 |
- }, |
480 |
- Some(_) => return None, |
481 |
-diff --git a/vendor/rustversion/src/lib.rs b/vendor/rustversion/src/lib.rs |
482 |
-index 2614105dd1a..172eb89382f 100644 |
483 |
---- a/vendor/rustversion/src/lib.rs |
484 |
-+++ b/vendor/rustversion/src/lib.rs |
485 |
-@@ -145,6 +145,21 @@ |
486 |
- //! |
487 |
- //! <br> |
488 |
- |
489 |
-+#![allow( |
490 |
-+ clippy::cast_lossless, |
491 |
-+ clippy::cast_possible_truncation, |
492 |
-+ clippy::doc_markdown, |
493 |
-+ clippy::enum_glob_use, |
494 |
-+ clippy::from_iter_instead_of_collect, |
495 |
-+ clippy::module_name_repetitions, |
496 |
-+ clippy::must_use_candidate, |
497 |
-+ clippy::needless_doctest_main, |
498 |
-+ clippy::needless_pass_by_value, |
499 |
-+ clippy::redundant_else, |
500 |
-+ clippy::toplevel_ref_arg, |
501 |
-+ clippy::unreadable_literal |
502 |
-+)] |
503 |
-+ |
504 |
- extern crate proc_macro; |
505 |
- |
506 |
- mod attr; |
507 |
-diff --git a/vendor/rustversion/src/time.rs b/vendor/rustversion/src/time.rs |
508 |
-index 1e6dd9066b4..3c21463dd80 100644 |
509 |
---- a/vendor/rustversion/src/time.rs |
510 |
-+++ b/vendor/rustversion/src/time.rs |
511 |
-@@ -1,4 +1,5 @@ |
512 |
- use crate::date::Date; |
513 |
-+use std::env; |
514 |
- use std::time::{SystemTime, UNIX_EPOCH}; |
515 |
- |
516 |
- // Timestamp of 2016-03-01 00:00:00 in UTC. |
517 |
-@@ -13,14 +14,20 @@ |
518 |
- |
519 |
- pub fn today() -> Date { |
520 |
- let default = Date { |
521 |
-- year: 2019, |
522 |
-- month: 1, |
523 |
-- day: 1, |
524 |
-+ year: 2020, |
525 |
-+ month: 2, |
526 |
-+ day: 25, |
527 |
- }; |
528 |
- try_today().unwrap_or(default) |
529 |
- } |
530 |
- |
531 |
- fn try_today() -> Option<Date> { |
532 |
-+ if let Some(pkg_name) = env::var_os("CARGO_PKG_NAME") { |
533 |
-+ if pkg_name.to_str() == Some("rustversion-tests") { |
534 |
-+ return None; // Stable date for ui testing. |
535 |
-+ } |
536 |
-+ } |
537 |
-+ |
538 |
- let now = SystemTime::now(); |
539 |
- let since_epoch = now.duration_since(UNIX_EPOCH).ok()?; |
540 |
- let secs = since_epoch.as_secs(); |
541 |
-diff --git a/vendor/rustversion/tests/test_parse.rs b/vendor/rustversion/tests/test_parse.rs |
542 |
-index 843bd73d3e5..cb39b3179f5 100644 |
543 |
---- a/vendor/rustversion/tests/test_parse.rs |
544 |
-+++ b/vendor/rustversion/tests/test_parse.rs |
545 |
-@@ -1,3 +1,5 @@ |
546 |
-+#![allow(clippy::enum_glob_use, clippy::must_use_candidate)] |
547 |
-+ |
548 |
- include!("../build/rustc.rs"); |
549 |
- |
550 |
- #[test] |
551 |
-@@ -76,6 +78,14 @@ fn test_parse() { |
552 |
- }), |
553 |
- }, |
554 |
- ), |
555 |
-+ ( |
556 |
-+ "rustc 1.52.1-nightly (gentoo)", |
557 |
-+ Version { |
558 |
-+ minor: 52, |
559 |
-+ patch: 1, |
560 |
-+ channel: Dev, |
561 |
-+ }, |
562 |
-+ ), |
563 |
- ]; |
564 |
- |
565 |
- for (string, expected) in cases { |
566 |
-diff --git a/vendor/rustversion/tests/ui/bad-bound.stderr b/vendor/rustversion/tests/ui/bad-bound.stderr |
567 |
-index f8c498c8577..2c56acbdb33 100644 |
568 |
---- a/vendor/rustversion/tests/ui/bad-bound.stderr |
569 |
-+++ b/vendor/rustversion/tests/ui/bad-bound.stderr |
570 |
-@@ -1,10 +1,10 @@ |
571 |
--error: expected rustc release number like 1.31, or nightly date like 2020-10-26 |
572 |
-+error: expected rustc release number like 1.31, or nightly date like 2020-02-25 |
573 |
- --> $DIR/bad-bound.rs:1:22 |
574 |
- | |
575 |
- 1 | #[rustversion::since(stable)] |
576 |
- | ^^^^^^ |
577 |
- |
578 |
--error: expected rustc release number like 1.31, or nightly date like 2020-10-26 |
579 |
-+error: expected rustc release number like 1.31, or nightly date like 2020-02-25 |
580 |
- --> $DIR/bad-bound.rs:4:26 |
581 |
- | |
582 |
- 4 | #[rustversion::any(since(stable))] |
583 |
-diff --git a/vendor/rustversion/tests/ui/bad-date.stderr b/vendor/rustversion/tests/ui/bad-date.stderr |
584 |
-index 734d7889075..c523ccc02bf 100644 |
585 |
---- a/vendor/rustversion/tests/ui/bad-date.stderr |
586 |
-+++ b/vendor/rustversion/tests/ui/bad-date.stderr |
587 |
-@@ -1,10 +1,10 @@ |
588 |
--error: expected nightly date, like 2020-10-26 |
589 |
-+error: expected nightly date, like 2020-02-25 |
590 |
- --> $DIR/bad-date.rs:1:24 |
591 |
- | |
592 |
- 1 | #[rustversion::nightly(stable)] |
593 |
- | ^^^^^^ |
594 |
- |
595 |
--error: expected nightly date, like 2020-10-26 |
596 |
-+error: expected nightly date, like 2020-02-25 |
597 |
- --> $DIR/bad-date.rs:4:28 |
598 |
- | |
599 |
- 4 | #[rustversion::any(nightly(stable))] |
600 |
--- |
601 |
-2.32.0 |
602 |
- |
603 |
|
604 |
diff --git a/dev-lang/rust/files/1.54.0-parallel-miri.patch b/dev-lang/rust/files/1.54.0-parallel-miri.patch |
605 |
deleted file mode 100644 |
606 |
index 68239d98d374..000000000000 |
607 |
--- a/dev-lang/rust/files/1.54.0-parallel-miri.patch |
608 |
+++ /dev/null |
609 |
@@ -1,43 +0,0 @@ |
610 |
-From a789b49e4c0e7d742cc39713484596293d844537 Mon Sep 17 00:00:00 2001 |
611 |
-From: hyd-dev <yd-huang@×××××××.com> |
612 |
-Date: Fri, 30 Jul 2021 21:28:34 +0800 |
613 |
-Subject: [PATCH] Use `Lrc` instead of `Rc` in `MiriCompilerCalls::config()` |
614 |
- |
615 |
---- |
616 |
- src/bin/miri.rs | 5 +++-- |
617 |
- 1 file changed, 3 insertions(+), 2 deletions(-) |
618 |
- |
619 |
-diff --git a/src/tools/miri/src/bin/miri.rs b/src/tools/miri/src/bin/miri.rs |
620 |
-index 5a8f07263..18c393815 100644 |
621 |
---- a/src/tools/miri/src/bin/miri.rs |
622 |
-+++ b/src/tools/miri/src/bin/miri.rs |
623 |
-@@ -1,5 +1,6 @@ |
624 |
- #![feature(rustc_private, bool_to_option, stmt_expr_attributes)] |
625 |
- |
626 |
-+extern crate rustc_data_structures; |
627 |
- extern crate rustc_driver; |
628 |
- extern crate rustc_errors; |
629 |
- extern crate rustc_hir; |
630 |
-@@ -12,12 +13,12 @@ use std::convert::TryFrom; |
631 |
- use std::env; |
632 |
- use std::num::NonZeroU64; |
633 |
- use std::path::PathBuf; |
634 |
--use std::rc::Rc; |
635 |
- use std::str::FromStr; |
636 |
- |
637 |
- use hex::FromHexError; |
638 |
- use log::debug; |
639 |
- |
640 |
-+use rustc_data_structures::sync::Lrc; |
641 |
- use rustc_driver::Compilation; |
642 |
- use rustc_errors::emitter::{ColorConfig, HumanReadableErrorType}; |
643 |
- use rustc_hir::{self as hir, def_id::LOCAL_CRATE, Node}; |
644 |
-@@ -42,7 +43,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls { |
645 |
- // HACK: rustc will emit "crate ... required to be available in rlib format, but |
646 |
- // was not found in this form" errors once we use `tcx.dependency_formats()` if |
647 |
- // there's no rlib provided, so setting a dummy path here to workaround those errors. |
648 |
-- Rc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All)); |
649 |
-+ Lrc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All)); |
650 |
- crate_source |
651 |
- }; |
652 |
- }); |
653 |
|
654 |
diff --git a/dev-lang/rust/files/1.57.0-selfbootstrap.patch b/dev-lang/rust/files/1.57.0-selfbootstrap.patch |
655 |
deleted file mode 100644 |
656 |
index e30d0ee0e482..000000000000 |
657 |
--- a/dev-lang/rust/files/1.57.0-selfbootstrap.patch |
658 |
+++ /dev/null |
659 |
@@ -1,56 +0,0 @@ |
660 |
-From aca8bcb48feca8c87b9af4e440835992d3f6d470 Mon Sep 17 00:00:00 2001 |
661 |
-From: Pietro Albini <pietro.albini@×××××××××××××××.com> |
662 |
-Date: Tue, 19 Oct 2021 09:29:19 +0200 |
663 |
-Subject: [PATCH] remove "field is never read" warning |
664 |
- |
665 |
---- |
666 |
- src/bootstrap/lib.rs | 1 - |
667 |
- src/bootstrap/metadata.rs | 3 +-- |
668 |
- src/tools/bump-stage0/src/main.rs | 1 - |
669 |
- 3 files changed, 1 insertion(+), 4 deletions(-) |
670 |
- |
671 |
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs |
672 |
-index 2d4e152789724..3b3c8a9227d95 100644 |
673 |
---- a/src/bootstrap/lib.rs |
674 |
-+++ b/src/bootstrap/lib.rs |
675 |
-@@ -277,7 +277,6 @@ pub struct Build { |
676 |
- struct Crate { |
677 |
- name: Interned<String>, |
678 |
- deps: HashSet<Interned<String>>, |
679 |
-- id: String, |
680 |
- path: PathBuf, |
681 |
- } |
682 |
- |
683 |
-diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs |
684 |
-index a38391c7b88f2..65e229697dc87 100644 |
685 |
---- a/src/bootstrap/metadata.rs |
686 |
-+++ b/src/bootstrap/metadata.rs |
687 |
-@@ -14,7 +14,6 @@ struct Output { |
688 |
- |
689 |
- #[derive(Deserialize)] |
690 |
- struct Package { |
691 |
-- id: String, |
692 |
- name: String, |
693 |
- source: Option<String>, |
694 |
- manifest_path: String, |
695 |
-@@ -50,7 +49,7 @@ pub fn build(build: &mut Build) { |
696 |
- .filter(|dep| dep.source.is_none()) |
697 |
- .map(|dep| INTERNER.intern_string(dep.name)) |
698 |
- .collect(); |
699 |
-- build.crates.insert(name, Crate { name, id: package.id, deps, path }); |
700 |
-+ build.crates.insert(name, Crate { name, deps, path }); |
701 |
- } |
702 |
- } |
703 |
- } |
704 |
-diff --git a/src/tools/bump-stage0/src/main.rs b/src/tools/bump-stage0/src/main.rs |
705 |
-index 96d3c87384331..d6364e28fef97 100644 |
706 |
---- a/src/tools/bump-stage0/src/main.rs |
707 |
-+++ b/src/tools/bump-stage0/src/main.rs |
708 |
-@@ -196,7 +196,6 @@ struct ManifestPackage { |
709 |
- |
710 |
- #[derive(Debug, serde::Deserialize)] |
711 |
- struct ManifestTargetPackage { |
712 |
-- available: bool, |
713 |
- url: Option<String>, |
714 |
- hash: Option<String>, |
715 |
- xz_url: Option<String>, |
716 |
|
717 |
diff --git a/dev-lang/rust/rust-1.53.0.ebuild b/dev-lang/rust/rust-1.53.0.ebuild |
718 |
deleted file mode 100644 |
719 |
index d17441423822..000000000000 |
720 |
--- a/dev-lang/rust/rust-1.53.0.ebuild |
721 |
+++ /dev/null |
722 |
@@ -1,684 +0,0 @@ |
723 |
-# Copyright 1999-2021 Gentoo Authors |
724 |
-# Distributed under the terms of the GNU General Public License v2 |
725 |
- |
726 |
-EAPI=7 |
727 |
- |
728 |
-PYTHON_COMPAT=( python3_{7..9} ) |
729 |
- |
730 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
731 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
732 |
- |
733 |
-if [[ ${PV} = *beta* ]]; then |
734 |
- betaver=${PV//*beta} |
735 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
736 |
- MY_P="rustc-beta" |
737 |
- SLOT="beta/${PV}" |
738 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
739 |
-else |
740 |
- ABI_VER="$(ver_cut 1-2)" |
741 |
- SLOT="stable/${ABI_VER}" |
742 |
- MY_P="rustc-${PV}" |
743 |
- SRC="${MY_P}-src.tar.xz" |
744 |
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" |
745 |
-fi |
746 |
- |
747 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
748 |
- |
749 |
-DESCRIPTION="Systems programming language from Mozilla" |
750 |
-HOMEPAGE="https://www.rust-lang.org/" |
751 |
- |
752 |
-SRC_URI=" |
753 |
- https://static.rust-lang.org/dist/${SRC} |
754 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
755 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
756 |
-" |
757 |
- |
758 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
759 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
760 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
761 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
762 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
763 |
- |
764 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
765 |
- |
766 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
767 |
- |
768 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
769 |
-# we need to *really* make sure we're not pulling more than one slot |
770 |
-# simultaneously. |
771 |
- |
772 |
-# How to use it: |
773 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
774 |
-LLVM_VALID_SLOTS=( 12 ) |
775 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
776 |
- |
777 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
778 |
-# (-) usedep needed because we may build with older llvm without that target |
779 |
-LLVM_DEPEND="|| ( " |
780 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
781 |
- LLVM_DEPEND+=" ( " |
782 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
783 |
- LLVM_DEPEND+=" |
784 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
785 |
- done |
786 |
- LLVM_DEPEND+=" )" |
787 |
-done |
788 |
-unset _s _x |
789 |
-LLVM_DEPEND+=" ) |
790 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
791 |
- wasm? ( sys-devel/lld ) |
792 |
-" |
793 |
- |
794 |
-# to bootstrap we need at least exactly previous version, or same. |
795 |
-# most of the time previous versions fail to bootstrap with newer |
796 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
797 |
-# but it fails to bootstrap with 1.48.x |
798 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
799 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
800 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
801 |
-BOOTSTRAP_DEPEND="|| |
802 |
- ( |
803 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
804 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
805 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
806 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
807 |
- ) |
808 |
-" |
809 |
- |
810 |
-BDEPEND="${PYTHON_DEPS} |
811 |
- app-eselect/eselect-rust |
812 |
- || ( |
813 |
- >=sys-devel/gcc-4.7 |
814 |
- >=sys-devel/clang-3.5 |
815 |
- ) |
816 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
817 |
- !system-llvm? ( |
818 |
- >=dev-util/cmake-3.13.4 |
819 |
- dev-util/ninja |
820 |
- ) |
821 |
- test? ( sys-devel/gdb ) |
822 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
823 |
-" |
824 |
- |
825 |
-DEPEND=" |
826 |
- >=app-arch/xz-utils-5.2 |
827 |
- net-misc/curl:=[http2,ssl] |
828 |
- sys-libs/zlib:= |
829 |
- dev-libs/openssl:0= |
830 |
- elibc_musl? ( sys-libs/libunwind:= ) |
831 |
- system-llvm? ( ${LLVM_DEPEND} ) |
832 |
-" |
833 |
- |
834 |
-# we need to block older versions due to layout changes. |
835 |
-RDEPEND="${DEPEND} |
836 |
- app-eselect/eselect-rust |
837 |
- !<dev-lang/rust-1.47.0-r1 |
838 |
- !<dev-lang/rust-bin-1.47.0-r1 |
839 |
-" |
840 |
- |
841 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
842 |
- miri? ( nightly ) |
843 |
- parallel-compiler? ( nightly ) |
844 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
845 |
- wasm? ( llvm_targets_WebAssembly ) |
846 |
- x86? ( cpu_flags_x86_sse2 ) |
847 |
-" |
848 |
- |
849 |
-# we don't use cmake.eclass, but can get a warnings |
850 |
-CMAKE_WARN_UNUSED_CLI=no |
851 |
- |
852 |
-QA_FLAGS_IGNORED=" |
853 |
- usr/lib/${PN}/${PV}/bin/.* |
854 |
- usr/lib/${PN}/${PV}/libexec/.* |
855 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
856 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
857 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
858 |
-" |
859 |
- |
860 |
-QA_SONAME=" |
861 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
862 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
863 |
-" |
864 |
- |
865 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
866 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
867 |
-# so we can safely silence the warning for this QA check. |
868 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
869 |
- |
870 |
-# causes double bootstrap |
871 |
-RESTRICT="test" |
872 |
- |
873 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
874 |
- |
875 |
-PATCHES=( |
876 |
- "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch |
877 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
878 |
- "${FILESDIR}"/1.53.0-rustversion-1.0.5.patch # https://github.com/rust-lang/rust/pull/86425 |
879 |
- "${FILESDIR}"/1.53.0-miri-vergen.patch # https://github.com/rust-lang/rust/issues/84182 |
880 |
-) |
881 |
- |
882 |
-S="${WORKDIR}/${MY_P}-src" |
883 |
- |
884 |
-toml_usex() { |
885 |
- usex "${1}" true false |
886 |
-} |
887 |
- |
888 |
-bootstrap_rust_version_check() { |
889 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
890 |
- [[ ${MERGE_TYPE} == binary ]] && return |
891 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
892 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
893 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
894 |
- rustc_version=${rustc_version[0]#rust-bin-} |
895 |
- rustc_version=${rustc_version#rust-} |
896 |
- |
897 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
898 |
- |
899 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
900 |
- eerror "Rust >=${rustc_wanted} is required" |
901 |
- eerror "please run 'eselect rust' and set correct rust version" |
902 |
- die "selected rust version is too old" |
903 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
904 |
- eerror "Rust <${rustc_toonew} is required" |
905 |
- eerror "please run 'eselect rust' and set correct rust version" |
906 |
- die "selected rust version is too new" |
907 |
- else |
908 |
- einfo "Using rust ${rustc_version} to build" |
909 |
- fi |
910 |
-} |
911 |
- |
912 |
-pre_build_checks() { |
913 |
- local M=8192 |
914 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
915 |
- if use amd64; then |
916 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
917 |
- fi |
918 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
919 |
- M=$(( $(usex miri 128 0) + ${M} )) |
920 |
- M=$(( $(usex rls 512 0) + ${M} )) |
921 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
922 |
- # add 2G if we compile llvm and 256M per llvm_target |
923 |
- if ! use system-llvm; then |
924 |
- M=$(( 2048 + ${M} )) |
925 |
- local ltarget |
926 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
927 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
928 |
- done |
929 |
- fi |
930 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
931 |
- M=$(( $(usex debug 2 1) * ${M} )) |
932 |
- eshopts_push -s extglob |
933 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
934 |
- M=$(( 15 * ${M} / 10 )) |
935 |
- fi |
936 |
- eshopts_pop |
937 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
938 |
- M=$(( $(usex doc 256 0) + ${M} )) |
939 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
940 |
-} |
941 |
- |
942 |
-llvm_check_deps() { |
943 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
944 |
-} |
945 |
- |
946 |
-pkg_pretend() { |
947 |
- pre_build_checks |
948 |
-} |
949 |
- |
950 |
-pkg_setup() { |
951 |
- pre_build_checks |
952 |
- python-any-r1_pkg_setup |
953 |
- |
954 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
955 |
- |
956 |
- use system-bootstrap && bootstrap_rust_version_check |
957 |
- |
958 |
- if use system-llvm; then |
959 |
- llvm_pkg_setup |
960 |
- |
961 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
962 |
- export LLVM_LINK_SHARED=1 |
963 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
964 |
- fi |
965 |
-} |
966 |
- |
967 |
-src_prepare() { |
968 |
- if ! use system-bootstrap; then |
969 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
970 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
971 |
- |
972 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
973 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
974 |
- fi |
975 |
- |
976 |
- default |
977 |
-} |
978 |
- |
979 |
-src_configure() { |
980 |
- local rust_target="" rust_targets="" arch_cflags |
981 |
- |
982 |
- # Collect rust target names to compile standard libs for all ABIs. |
983 |
- for v in $(multilib_get_enabled_abi_pairs); do |
984 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
985 |
- done |
986 |
- if use wasm; then |
987 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
988 |
- if use system-llvm; then |
989 |
- # un-hardcode rust-lld linker for this target |
990 |
- # https://bugs.gentoo.org/715348 |
991 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
992 |
- fi |
993 |
- fi |
994 |
- rust_targets="${rust_targets#,}" |
995 |
- |
996 |
- local tools="\"cargo\"," |
997 |
- if use clippy; then |
998 |
- tools="\"clippy\",$tools" |
999 |
- fi |
1000 |
- if use miri; then |
1001 |
- tools="\"miri\",$tools" |
1002 |
- fi |
1003 |
- if use rls; then |
1004 |
- tools="\"rls\",\"analysis\",\"src\",$tools" |
1005 |
- fi |
1006 |
- if use rustfmt; then |
1007 |
- tools="\"rustfmt\",$tools" |
1008 |
- fi |
1009 |
- |
1010 |
- local rust_stage0_root |
1011 |
- if use system-bootstrap; then |
1012 |
- local printsysroot |
1013 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
1014 |
- rust_stage0_root="${printsysroot}" |
1015 |
- else |
1016 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
1017 |
- fi |
1018 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
1019 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
1020 |
- |
1021 |
- rust_target="$(rust_abi)" |
1022 |
- |
1023 |
- cat <<- _EOF_ > "${S}"/config.toml |
1024 |
- changelog-seen = 2 |
1025 |
- [llvm] |
1026 |
- download-ci-llvm = false |
1027 |
- optimize = $(toml_usex !debug) |
1028 |
- release-debuginfo = $(toml_usex debug) |
1029 |
- assertions = $(toml_usex debug) |
1030 |
- ninja = true |
1031 |
- targets = "${LLVM_TARGETS// /;}" |
1032 |
- experimental-targets = "" |
1033 |
- link-shared = $(toml_usex system-llvm) |
1034 |
- [build] |
1035 |
- build-stage = 2 |
1036 |
- test-stage = 2 |
1037 |
- doc-stage = 2 |
1038 |
- build = "${rust_target}" |
1039 |
- host = ["${rust_target}"] |
1040 |
- target = [${rust_targets}] |
1041 |
- cargo = "${rust_stage0_root}/bin/cargo" |
1042 |
- rustc = "${rust_stage0_root}/bin/rustc" |
1043 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
1044 |
- docs = $(toml_usex doc) |
1045 |
- compiler-docs = false |
1046 |
- submodules = false |
1047 |
- python = "${EPYTHON}" |
1048 |
- locked-deps = true |
1049 |
- vendor = true |
1050 |
- extended = true |
1051 |
- tools = [${tools}] |
1052 |
- verbose = 2 |
1053 |
- sanitizers = false |
1054 |
- profiler = false |
1055 |
- cargo-native-static = false |
1056 |
- [install] |
1057 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
1058 |
- sysconfdir = "etc" |
1059 |
- docdir = "share/doc/rust" |
1060 |
- bindir = "bin" |
1061 |
- libdir = "lib" |
1062 |
- mandir = "share/man" |
1063 |
- [rust] |
1064 |
- # https://github.com/rust-lang/rust/issues/54872 |
1065 |
- codegen-units-std = 1 |
1066 |
- optimize = true |
1067 |
- debug = $(toml_usex debug) |
1068 |
- debug-assertions = $(toml_usex debug) |
1069 |
- debug-assertions-std = $(toml_usex debug) |
1070 |
- debuginfo-level = $(usex debug 2 0) |
1071 |
- debuginfo-level-rustc = $(usex debug 2 0) |
1072 |
- debuginfo-level-std = $(usex debug 2 0) |
1073 |
- debuginfo-level-tools = $(usex debug 2 0) |
1074 |
- debuginfo-level-tests = 0 |
1075 |
- backtrace = true |
1076 |
- incremental = false |
1077 |
- default-linker = "$(tc-getCC)" |
1078 |
- parallel-compiler = $(toml_usex parallel-compiler) |
1079 |
- channel = "$(usex nightly nightly stable)" |
1080 |
- description = "gentoo" |
1081 |
- rpath = false |
1082 |
- verbose-tests = true |
1083 |
- optimize-tests = $(toml_usex !debug) |
1084 |
- codegen-tests = true |
1085 |
- dist-src = false |
1086 |
- remap-debuginfo = true |
1087 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
1088 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
1089 |
- # https://github.com/rust-lang/rust/issues/74976 |
1090 |
- # https://github.com/rust-lang/rust/issues/76526 |
1091 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
1092 |
- backtrace-on-ice = true |
1093 |
- jemalloc = false |
1094 |
- [dist] |
1095 |
- src-tarball = false |
1096 |
- compression-formats = ["gz"] |
1097 |
- _EOF_ |
1098 |
- |
1099 |
- for v in $(multilib_get_enabled_abi_pairs); do |
1100 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
1101 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
1102 |
- |
1103 |
- cat <<- _EOF_ >> "${S}"/config.env |
1104 |
- CFLAGS_${rust_target}=${arch_cflags} |
1105 |
- _EOF_ |
1106 |
- |
1107 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1108 |
- [target.${rust_target}] |
1109 |
- cc = "$(tc-getBUILD_CC)" |
1110 |
- cxx = "$(tc-getBUILD_CXX)" |
1111 |
- linker = "$(tc-getCC)" |
1112 |
- ar = "$(tc-getAR)" |
1113 |
- _EOF_ |
1114 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
1115 |
- if use elibc_musl; then |
1116 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1117 |
- crt-static = false |
1118 |
- _EOF_ |
1119 |
- fi |
1120 |
- if use system-llvm; then |
1121 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1122 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
1123 |
- _EOF_ |
1124 |
- fi |
1125 |
- done |
1126 |
- if use wasm; then |
1127 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1128 |
- [target.wasm32-unknown-unknown] |
1129 |
- linker = "$(usex system-llvm lld rust-lld)" |
1130 |
- _EOF_ |
1131 |
- fi |
1132 |
- |
1133 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
1134 |
- # experimental cross support |
1135 |
- # discussion: https://bugs.gentoo.org/679878 |
1136 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
1137 |
- # it would be much better if we could split out stdlib |
1138 |
- # complilation to separate ebuild and abuse CATEGORY to |
1139 |
- # just install to /usr/lib/rustlib/<target> |
1140 |
- |
1141 |
- # extra targets defined as a bash array |
1142 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
1143 |
- # best place would be /etc/portage/env/dev-lang/rust |
1144 |
- # Example: |
1145 |
- # RUST_CROSS_TARGETS=( |
1146 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
1147 |
- # ) |
1148 |
- # no extra hand holding is done, no target transformations, all |
1149 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
1150 |
- # valid rust targets can be obtained with |
1151 |
- # rustc --print target-list |
1152 |
- # matching cross toolchain has to be installed |
1153 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
1154 |
- # only gcc toolchains installed with crossdev are checked for now. |
1155 |
- |
1156 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
1157 |
- # BUG: this should be more fine-grained. |
1158 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
1159 |
- |
1160 |
- local cross_target_spec |
1161 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
1162 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
1163 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
1164 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
1165 |
- local cross_triples="${cross_target_spec#*:}" |
1166 |
- # extracts first element after before : separator |
1167 |
- local cross_rust_target="${cross_triples%%:*}" |
1168 |
- # extracts last element after : separator |
1169 |
- local cross_toolchain="${cross_triples##*:}" |
1170 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
1171 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
1172 |
- |
1173 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1174 |
- [target.${cross_rust_target}] |
1175 |
- cc = "${cross_toolchain}-gcc" |
1176 |
- cxx = "${cross_toolchain}-g++" |
1177 |
- linker = "${cross_toolchain}-gcc" |
1178 |
- ar = "${cross_toolchain}-ar" |
1179 |
- _EOF_ |
1180 |
- if use system-llvm; then |
1181 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1182 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
1183 |
- _EOF_ |
1184 |
- fi |
1185 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
1186 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1187 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
1188 |
- _EOF_ |
1189 |
- fi |
1190 |
- |
1191 |
- # append cross target to "normal" target list |
1192 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
1193 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
1194 |
- |
1195 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
1196 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
1197 |
- |
1198 |
- ewarn |
1199 |
- ewarn "Enabled ${cross_rust_target} rust target" |
1200 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
1201 |
- ewarn |
1202 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
1203 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
1204 |
- ewarn "'strip' will be unable to strip cross libraries" |
1205 |
- ewarn "cross targets will be installed with full debug information" |
1206 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
1207 |
- ewarn |
1208 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
1209 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
1210 |
- ewarn |
1211 |
- fi |
1212 |
- done |
1213 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
1214 |
- |
1215 |
- einfo "Rust configured with the following flags:" |
1216 |
- echo |
1217 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
1218 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
1219 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
1220 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
1221 |
- cat "${S}"/config.env || die |
1222 |
- echo |
1223 |
- einfo "config.toml contents:" |
1224 |
- cat "${S}"/config.toml || die |
1225 |
- echo |
1226 |
-} |
1227 |
- |
1228 |
-src_compile() { |
1229 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
1230 |
- ( |
1231 |
- IFS=$'\n' |
1232 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
1233 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
1234 |
- ) |
1235 |
-} |
1236 |
- |
1237 |
-src_test() { |
1238 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
1239 |
- |
1240 |
- # those are basic and codegen tests. |
1241 |
- local tests=( |
1242 |
- codegen |
1243 |
- codegen-units |
1244 |
- compile-fail |
1245 |
- incremental |
1246 |
- mir-opt |
1247 |
- pretty |
1248 |
- run-make |
1249 |
- ) |
1250 |
- |
1251 |
- # fails if llvm is not built with ALL targets. |
1252 |
- # and known to fail with system llvm sometimes. |
1253 |
- use system-llvm || tests+=( assembly ) |
1254 |
- |
1255 |
- # fragile/expensive/less important tests |
1256 |
- # or tests that require extra builds |
1257 |
- # TODO: instead of skipping, just make some nonfatal. |
1258 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
1259 |
- tests+=( |
1260 |
- rustdoc |
1261 |
- rustdoc-js |
1262 |
- rustdoc-js-std |
1263 |
- rustdoc-ui |
1264 |
- run-make-fulldeps |
1265 |
- ui |
1266 |
- ui-fulldeps |
1267 |
- ) |
1268 |
- fi |
1269 |
- |
1270 |
- local i failed=() |
1271 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
1272 |
- for i in "${tests[@]}"; do |
1273 |
- local t="src/test/${i}" |
1274 |
- einfo "rust_src_test: running ${t}" |
1275 |
- if ! ( |
1276 |
- IFS=$'\n' |
1277 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
1278 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
1279 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
1280 |
- ) |
1281 |
- then |
1282 |
- failed+=( "${t}" ) |
1283 |
- eerror "rust_src_test: ${t} failed" |
1284 |
- fi |
1285 |
- done |
1286 |
- |
1287 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
1288 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
1289 |
- die "aborting due to test failures" |
1290 |
- fi |
1291 |
-} |
1292 |
- |
1293 |
-src_install() { |
1294 |
- ( |
1295 |
- IFS=$'\n' |
1296 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
1297 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
1298 |
- ) |
1299 |
- |
1300 |
- # bug #689562, #689160 |
1301 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
1302 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
1303 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
1304 |
- |
1305 |
- local symlinks=( |
1306 |
- cargo |
1307 |
- rustc |
1308 |
- rustdoc |
1309 |
- rust-gdb |
1310 |
- rust-gdbgui |
1311 |
- rust-lldb |
1312 |
- ) |
1313 |
- |
1314 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
1315 |
- use miri && symlinks+=( miri cargo-miri ) |
1316 |
- use rls && symlinks+=( rls ) |
1317 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
1318 |
- |
1319 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
1320 |
- local i |
1321 |
- for i in "${symlinks[@]}"; do |
1322 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
1323 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
1324 |
- # need to fix eselect-rust to remove this hack. |
1325 |
- local ver_i="${i}-${PV}" |
1326 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
1327 |
- einfo "Installing ${i} symlink" |
1328 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
1329 |
- else |
1330 |
- ewarn "${i} symlink requested, but source file not found" |
1331 |
- ewarn "please report this" |
1332 |
- fi |
1333 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
1334 |
- done |
1335 |
- |
1336 |
- # symlinks to switch components to active rust in eselect |
1337 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
1338 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
1339 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
1340 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
1341 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
1342 |
- |
1343 |
- newenvd - "50${P}" <<-_EOF_ |
1344 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
1345 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
1346 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
1347 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
1348 |
- _EOF_ |
1349 |
- |
1350 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
1351 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
1352 |
- |
1353 |
- # note: eselect-rust adds EROOT to all paths below |
1354 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
1355 |
- /usr/bin/cargo |
1356 |
- /usr/bin/rustdoc |
1357 |
- /usr/bin/rust-gdb |
1358 |
- /usr/bin/rust-gdbgui |
1359 |
- /usr/bin/rust-lldb |
1360 |
- /usr/lib/rustlib |
1361 |
- /usr/lib/rust/lib |
1362 |
- /usr/lib/rust/libexec |
1363 |
- /usr/lib/rust/man |
1364 |
- /usr/share/doc/rust |
1365 |
- _EOF_ |
1366 |
- |
1367 |
- if use clippy; then |
1368 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
1369 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
1370 |
- fi |
1371 |
- if use miri; then |
1372 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
1373 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
1374 |
- fi |
1375 |
- if use rls; then |
1376 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
1377 |
- fi |
1378 |
- if use rustfmt; then |
1379 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
1380 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
1381 |
- fi |
1382 |
- |
1383 |
- insinto /etc/env.d/rust |
1384 |
- doins "${T}/provider-${P}" |
1385 |
-} |
1386 |
- |
1387 |
-pkg_postinst() { |
1388 |
- eselect rust update |
1389 |
- |
1390 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
1391 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
1392 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
1393 |
- fi |
1394 |
- |
1395 |
- if has_version app-editors/emacs; then |
1396 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
1397 |
- fi |
1398 |
- |
1399 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
1400 |
- elog "install app-vim/rust-vim to get vim support for rust." |
1401 |
- fi |
1402 |
-} |
1403 |
- |
1404 |
-pkg_postrm() { |
1405 |
- eselect rust cleanup |
1406 |
-} |
1407 |
|
1408 |
diff --git a/dev-lang/rust/rust-1.54.0.ebuild b/dev-lang/rust/rust-1.54.0.ebuild |
1409 |
deleted file mode 100644 |
1410 |
index 893af8bad162..000000000000 |
1411 |
--- a/dev-lang/rust/rust-1.54.0.ebuild |
1412 |
+++ /dev/null |
1413 |
@@ -1,684 +0,0 @@ |
1414 |
-# Copyright 1999-2021 Gentoo Authors |
1415 |
-# Distributed under the terms of the GNU General Public License v2 |
1416 |
- |
1417 |
-EAPI=7 |
1418 |
- |
1419 |
-PYTHON_COMPAT=( python3_{7..9} ) |
1420 |
- |
1421 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
1422 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
1423 |
- |
1424 |
-if [[ ${PV} = *beta* ]]; then |
1425 |
- betaver=${PV//*beta} |
1426 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
1427 |
- MY_P="rustc-beta" |
1428 |
- SLOT="beta/${PV}" |
1429 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
1430 |
-else |
1431 |
- ABI_VER="$(ver_cut 1-2)" |
1432 |
- SLOT="stable/${ABI_VER}" |
1433 |
- MY_P="rustc-${PV}" |
1434 |
- SRC="${MY_P}-src.tar.xz" |
1435 |
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" |
1436 |
-fi |
1437 |
- |
1438 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
1439 |
- |
1440 |
-DESCRIPTION="Systems programming language from Mozilla" |
1441 |
-HOMEPAGE="https://www.rust-lang.org/" |
1442 |
- |
1443 |
-SRC_URI=" |
1444 |
- https://static.rust-lang.org/dist/${SRC} |
1445 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
1446 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
1447 |
-" |
1448 |
- |
1449 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
1450 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
1451 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
1452 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
1453 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
1454 |
- |
1455 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
1456 |
- |
1457 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
1458 |
- |
1459 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
1460 |
-# we need to *really* make sure we're not pulling more than one slot |
1461 |
-# simultaneously. |
1462 |
- |
1463 |
-# How to use it: |
1464 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
1465 |
-LLVM_VALID_SLOTS=( 12 ) |
1466 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
1467 |
- |
1468 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
1469 |
-# (-) usedep needed because we may build with older llvm without that target |
1470 |
-LLVM_DEPEND="|| ( " |
1471 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
1472 |
- LLVM_DEPEND+=" ( " |
1473 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
1474 |
- LLVM_DEPEND+=" |
1475 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
1476 |
- done |
1477 |
- LLVM_DEPEND+=" )" |
1478 |
-done |
1479 |
-unset _s _x |
1480 |
-LLVM_DEPEND+=" ) |
1481 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
1482 |
- wasm? ( sys-devel/lld ) |
1483 |
-" |
1484 |
- |
1485 |
-# to bootstrap we need at least exactly previous version, or same. |
1486 |
-# most of the time previous versions fail to bootstrap with newer |
1487 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
1488 |
-# but it fails to bootstrap with 1.48.x |
1489 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
1490 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
1491 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
1492 |
-BOOTSTRAP_DEPEND="|| |
1493 |
- ( |
1494 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
1495 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
1496 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
1497 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
1498 |
- ) |
1499 |
-" |
1500 |
- |
1501 |
-BDEPEND="${PYTHON_DEPS} |
1502 |
- app-eselect/eselect-rust |
1503 |
- || ( |
1504 |
- >=sys-devel/gcc-4.7 |
1505 |
- >=sys-devel/clang-3.5 |
1506 |
- ) |
1507 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
1508 |
- !system-llvm? ( |
1509 |
- >=dev-util/cmake-3.13.4 |
1510 |
- dev-util/ninja |
1511 |
- ) |
1512 |
- test? ( sys-devel/gdb ) |
1513 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
1514 |
-" |
1515 |
- |
1516 |
-DEPEND=" |
1517 |
- >=app-arch/xz-utils-5.2 |
1518 |
- net-misc/curl:=[http2,ssl] |
1519 |
- sys-libs/zlib:= |
1520 |
- dev-libs/openssl:0= |
1521 |
- elibc_musl? ( sys-libs/libunwind:= ) |
1522 |
- system-llvm? ( ${LLVM_DEPEND} ) |
1523 |
-" |
1524 |
- |
1525 |
-# we need to block older versions due to layout changes. |
1526 |
-RDEPEND="${DEPEND} |
1527 |
- app-eselect/eselect-rust |
1528 |
- !<dev-lang/rust-1.47.0-r1 |
1529 |
- !<dev-lang/rust-bin-1.47.0-r1 |
1530 |
-" |
1531 |
- |
1532 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
1533 |
- miri? ( nightly ) |
1534 |
- parallel-compiler? ( nightly ) |
1535 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
1536 |
- wasm? ( llvm_targets_WebAssembly ) |
1537 |
- x86? ( cpu_flags_x86_sse2 ) |
1538 |
-" |
1539 |
- |
1540 |
-# we don't use cmake.eclass, but can get a warnings |
1541 |
-CMAKE_WARN_UNUSED_CLI=no |
1542 |
- |
1543 |
-QA_FLAGS_IGNORED=" |
1544 |
- usr/lib/${PN}/${PV}/bin/.* |
1545 |
- usr/lib/${PN}/${PV}/libexec/.* |
1546 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
1547 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
1548 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
1549 |
-" |
1550 |
- |
1551 |
-QA_SONAME=" |
1552 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
1553 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
1554 |
-" |
1555 |
- |
1556 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
1557 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
1558 |
-# so we can safely silence the warning for this QA check. |
1559 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
1560 |
- |
1561 |
-# causes double bootstrap |
1562 |
-RESTRICT="test" |
1563 |
- |
1564 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
1565 |
- |
1566 |
-PATCHES=( |
1567 |
- "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch |
1568 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
1569 |
- "${FILESDIR}"/1.53.0-rustversion-1.0.5.patch # https://github.com/rust-lang/rust/pull/86425 |
1570 |
- "${FILESDIR}"/1.54.0-parallel-miri.patch # https://github.com/rust-lang/miri/pull/1863 |
1571 |
-) |
1572 |
- |
1573 |
-S="${WORKDIR}/${MY_P}-src" |
1574 |
- |
1575 |
-toml_usex() { |
1576 |
- usex "${1}" true false |
1577 |
-} |
1578 |
- |
1579 |
-bootstrap_rust_version_check() { |
1580 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
1581 |
- [[ ${MERGE_TYPE} == binary ]] && return |
1582 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
1583 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
1584 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
1585 |
- rustc_version=${rustc_version[0]#rust-bin-} |
1586 |
- rustc_version=${rustc_version#rust-} |
1587 |
- |
1588 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
1589 |
- |
1590 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
1591 |
- eerror "Rust >=${rustc_wanted} is required" |
1592 |
- eerror "please run 'eselect rust' and set correct rust version" |
1593 |
- die "selected rust version is too old" |
1594 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
1595 |
- eerror "Rust <${rustc_toonew} is required" |
1596 |
- eerror "please run 'eselect rust' and set correct rust version" |
1597 |
- die "selected rust version is too new" |
1598 |
- else |
1599 |
- einfo "Using rust ${rustc_version} to build" |
1600 |
- fi |
1601 |
-} |
1602 |
- |
1603 |
-pre_build_checks() { |
1604 |
- local M=4096 |
1605 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
1606 |
- if use amd64; then |
1607 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
1608 |
- fi |
1609 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
1610 |
- M=$(( $(usex miri 128 0) + ${M} )) |
1611 |
- M=$(( $(usex rls 512 0) + ${M} )) |
1612 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
1613 |
- # add 2G if we compile llvm and 256M per llvm_target |
1614 |
- if ! use system-llvm; then |
1615 |
- M=$(( 2048 + ${M} )) |
1616 |
- local ltarget |
1617 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
1618 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
1619 |
- done |
1620 |
- fi |
1621 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
1622 |
- M=$(( $(usex debug 2 1) * ${M} )) |
1623 |
- eshopts_push -s extglob |
1624 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
1625 |
- M=$(( 15 * ${M} / 10 )) |
1626 |
- fi |
1627 |
- eshopts_pop |
1628 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
1629 |
- M=$(( $(usex doc 256 0) + ${M} )) |
1630 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
1631 |
-} |
1632 |
- |
1633 |
-llvm_check_deps() { |
1634 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
1635 |
-} |
1636 |
- |
1637 |
-pkg_pretend() { |
1638 |
- pre_build_checks |
1639 |
-} |
1640 |
- |
1641 |
-pkg_setup() { |
1642 |
- pre_build_checks |
1643 |
- python-any-r1_pkg_setup |
1644 |
- |
1645 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
1646 |
- |
1647 |
- use system-bootstrap && bootstrap_rust_version_check |
1648 |
- |
1649 |
- if use system-llvm; then |
1650 |
- llvm_pkg_setup |
1651 |
- |
1652 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
1653 |
- export LLVM_LINK_SHARED=1 |
1654 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
1655 |
- fi |
1656 |
-} |
1657 |
- |
1658 |
-src_prepare() { |
1659 |
- if ! use system-bootstrap; then |
1660 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
1661 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
1662 |
- |
1663 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
1664 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
1665 |
- fi |
1666 |
- |
1667 |
- default |
1668 |
-} |
1669 |
- |
1670 |
-src_configure() { |
1671 |
- local rust_target="" rust_targets="" arch_cflags |
1672 |
- |
1673 |
- # Collect rust target names to compile standard libs for all ABIs. |
1674 |
- for v in $(multilib_get_enabled_abi_pairs); do |
1675 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
1676 |
- done |
1677 |
- if use wasm; then |
1678 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
1679 |
- if use system-llvm; then |
1680 |
- # un-hardcode rust-lld linker for this target |
1681 |
- # https://bugs.gentoo.org/715348 |
1682 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
1683 |
- fi |
1684 |
- fi |
1685 |
- rust_targets="${rust_targets#,}" |
1686 |
- |
1687 |
- local tools="\"cargo\"," |
1688 |
- if use clippy; then |
1689 |
- tools="\"clippy\",$tools" |
1690 |
- fi |
1691 |
- if use miri; then |
1692 |
- tools="\"miri\",$tools" |
1693 |
- fi |
1694 |
- if use rls; then |
1695 |
- tools="\"rls\",\"analysis\",\"src\",$tools" |
1696 |
- fi |
1697 |
- if use rustfmt; then |
1698 |
- tools="\"rustfmt\",$tools" |
1699 |
- fi |
1700 |
- |
1701 |
- local rust_stage0_root |
1702 |
- if use system-bootstrap; then |
1703 |
- local printsysroot |
1704 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
1705 |
- rust_stage0_root="${printsysroot}" |
1706 |
- else |
1707 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
1708 |
- fi |
1709 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
1710 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
1711 |
- |
1712 |
- rust_target="$(rust_abi)" |
1713 |
- |
1714 |
- cat <<- _EOF_ > "${S}"/config.toml |
1715 |
- changelog-seen = 2 |
1716 |
- [llvm] |
1717 |
- download-ci-llvm = false |
1718 |
- optimize = $(toml_usex !debug) |
1719 |
- release-debuginfo = $(toml_usex debug) |
1720 |
- assertions = $(toml_usex debug) |
1721 |
- ninja = true |
1722 |
- targets = "${LLVM_TARGETS// /;}" |
1723 |
- experimental-targets = "" |
1724 |
- link-shared = $(toml_usex system-llvm) |
1725 |
- [build] |
1726 |
- build-stage = 2 |
1727 |
- test-stage = 2 |
1728 |
- doc-stage = 2 |
1729 |
- build = "${rust_target}" |
1730 |
- host = ["${rust_target}"] |
1731 |
- target = [${rust_targets}] |
1732 |
- cargo = "${rust_stage0_root}/bin/cargo" |
1733 |
- rustc = "${rust_stage0_root}/bin/rustc" |
1734 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
1735 |
- docs = $(toml_usex doc) |
1736 |
- compiler-docs = false |
1737 |
- submodules = false |
1738 |
- python = "${EPYTHON}" |
1739 |
- locked-deps = true |
1740 |
- vendor = true |
1741 |
- extended = true |
1742 |
- tools = [${tools}] |
1743 |
- verbose = 2 |
1744 |
- sanitizers = false |
1745 |
- profiler = false |
1746 |
- cargo-native-static = false |
1747 |
- [install] |
1748 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
1749 |
- sysconfdir = "etc" |
1750 |
- docdir = "share/doc/rust" |
1751 |
- bindir = "bin" |
1752 |
- libdir = "lib" |
1753 |
- mandir = "share/man" |
1754 |
- [rust] |
1755 |
- # https://github.com/rust-lang/rust/issues/54872 |
1756 |
- codegen-units-std = 1 |
1757 |
- optimize = true |
1758 |
- debug = $(toml_usex debug) |
1759 |
- debug-assertions = $(toml_usex debug) |
1760 |
- debug-assertions-std = $(toml_usex debug) |
1761 |
- debuginfo-level = $(usex debug 2 0) |
1762 |
- debuginfo-level-rustc = $(usex debug 2 0) |
1763 |
- debuginfo-level-std = $(usex debug 2 0) |
1764 |
- debuginfo-level-tools = $(usex debug 2 0) |
1765 |
- debuginfo-level-tests = 0 |
1766 |
- backtrace = true |
1767 |
- incremental = false |
1768 |
- default-linker = "$(tc-getCC)" |
1769 |
- parallel-compiler = $(toml_usex parallel-compiler) |
1770 |
- channel = "$(usex nightly nightly stable)" |
1771 |
- description = "gentoo" |
1772 |
- rpath = false |
1773 |
- verbose-tests = true |
1774 |
- optimize-tests = $(toml_usex !debug) |
1775 |
- codegen-tests = true |
1776 |
- dist-src = false |
1777 |
- remap-debuginfo = true |
1778 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
1779 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
1780 |
- # https://github.com/rust-lang/rust/issues/74976 |
1781 |
- # https://github.com/rust-lang/rust/issues/76526 |
1782 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
1783 |
- backtrace-on-ice = true |
1784 |
- jemalloc = false |
1785 |
- [dist] |
1786 |
- src-tarball = false |
1787 |
- compression-formats = ["gz"] |
1788 |
- _EOF_ |
1789 |
- |
1790 |
- for v in $(multilib_get_enabled_abi_pairs); do |
1791 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
1792 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
1793 |
- |
1794 |
- cat <<- _EOF_ >> "${S}"/config.env |
1795 |
- CFLAGS_${rust_target}=${arch_cflags} |
1796 |
- _EOF_ |
1797 |
- |
1798 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1799 |
- [target.${rust_target}] |
1800 |
- cc = "$(tc-getBUILD_CC)" |
1801 |
- cxx = "$(tc-getBUILD_CXX)" |
1802 |
- linker = "$(tc-getCC)" |
1803 |
- ar = "$(tc-getAR)" |
1804 |
- _EOF_ |
1805 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
1806 |
- if use elibc_musl; then |
1807 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1808 |
- crt-static = false |
1809 |
- _EOF_ |
1810 |
- fi |
1811 |
- if use system-llvm; then |
1812 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1813 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
1814 |
- _EOF_ |
1815 |
- fi |
1816 |
- done |
1817 |
- if use wasm; then |
1818 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1819 |
- [target.wasm32-unknown-unknown] |
1820 |
- linker = "$(usex system-llvm lld rust-lld)" |
1821 |
- _EOF_ |
1822 |
- fi |
1823 |
- |
1824 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
1825 |
- # experimental cross support |
1826 |
- # discussion: https://bugs.gentoo.org/679878 |
1827 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
1828 |
- # it would be much better if we could split out stdlib |
1829 |
- # complilation to separate ebuild and abuse CATEGORY to |
1830 |
- # just install to /usr/lib/rustlib/<target> |
1831 |
- |
1832 |
- # extra targets defined as a bash array |
1833 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
1834 |
- # best place would be /etc/portage/env/dev-lang/rust |
1835 |
- # Example: |
1836 |
- # RUST_CROSS_TARGETS=( |
1837 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
1838 |
- # ) |
1839 |
- # no extra hand holding is done, no target transformations, all |
1840 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
1841 |
- # valid rust targets can be obtained with |
1842 |
- # rustc --print target-list |
1843 |
- # matching cross toolchain has to be installed |
1844 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
1845 |
- # only gcc toolchains installed with crossdev are checked for now. |
1846 |
- |
1847 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
1848 |
- # BUG: this should be more fine-grained. |
1849 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
1850 |
- |
1851 |
- local cross_target_spec |
1852 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
1853 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
1854 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
1855 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
1856 |
- local cross_triples="${cross_target_spec#*:}" |
1857 |
- # extracts first element after before : separator |
1858 |
- local cross_rust_target="${cross_triples%%:*}" |
1859 |
- # extracts last element after : separator |
1860 |
- local cross_toolchain="${cross_triples##*:}" |
1861 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
1862 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
1863 |
- |
1864 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1865 |
- [target.${cross_rust_target}] |
1866 |
- cc = "${cross_toolchain}-gcc" |
1867 |
- cxx = "${cross_toolchain}-g++" |
1868 |
- linker = "${cross_toolchain}-gcc" |
1869 |
- ar = "${cross_toolchain}-ar" |
1870 |
- _EOF_ |
1871 |
- if use system-llvm; then |
1872 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1873 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
1874 |
- _EOF_ |
1875 |
- fi |
1876 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
1877 |
- cat <<- _EOF_ >> "${S}"/config.toml |
1878 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
1879 |
- _EOF_ |
1880 |
- fi |
1881 |
- |
1882 |
- # append cross target to "normal" target list |
1883 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
1884 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
1885 |
- |
1886 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
1887 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
1888 |
- |
1889 |
- ewarn |
1890 |
- ewarn "Enabled ${cross_rust_target} rust target" |
1891 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
1892 |
- ewarn |
1893 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
1894 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
1895 |
- ewarn "'strip' will be unable to strip cross libraries" |
1896 |
- ewarn "cross targets will be installed with full debug information" |
1897 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
1898 |
- ewarn |
1899 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
1900 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
1901 |
- ewarn |
1902 |
- fi |
1903 |
- done |
1904 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
1905 |
- |
1906 |
- einfo "Rust configured with the following flags:" |
1907 |
- echo |
1908 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
1909 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
1910 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
1911 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
1912 |
- cat "${S}"/config.env || die |
1913 |
- echo |
1914 |
- einfo "config.toml contents:" |
1915 |
- cat "${S}"/config.toml || die |
1916 |
- echo |
1917 |
-} |
1918 |
- |
1919 |
-src_compile() { |
1920 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
1921 |
- ( |
1922 |
- IFS=$'\n' |
1923 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
1924 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
1925 |
- ) |
1926 |
-} |
1927 |
- |
1928 |
-src_test() { |
1929 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
1930 |
- |
1931 |
- # those are basic and codegen tests. |
1932 |
- local tests=( |
1933 |
- codegen |
1934 |
- codegen-units |
1935 |
- compile-fail |
1936 |
- incremental |
1937 |
- mir-opt |
1938 |
- pretty |
1939 |
- run-make |
1940 |
- ) |
1941 |
- |
1942 |
- # fails if llvm is not built with ALL targets. |
1943 |
- # and known to fail with system llvm sometimes. |
1944 |
- use system-llvm || tests+=( assembly ) |
1945 |
- |
1946 |
- # fragile/expensive/less important tests |
1947 |
- # or tests that require extra builds |
1948 |
- # TODO: instead of skipping, just make some nonfatal. |
1949 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
1950 |
- tests+=( |
1951 |
- rustdoc |
1952 |
- rustdoc-js |
1953 |
- rustdoc-js-std |
1954 |
- rustdoc-ui |
1955 |
- run-make-fulldeps |
1956 |
- ui |
1957 |
- ui-fulldeps |
1958 |
- ) |
1959 |
- fi |
1960 |
- |
1961 |
- local i failed=() |
1962 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
1963 |
- for i in "${tests[@]}"; do |
1964 |
- local t="src/test/${i}" |
1965 |
- einfo "rust_src_test: running ${t}" |
1966 |
- if ! ( |
1967 |
- IFS=$'\n' |
1968 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
1969 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
1970 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
1971 |
- ) |
1972 |
- then |
1973 |
- failed+=( "${t}" ) |
1974 |
- eerror "rust_src_test: ${t} failed" |
1975 |
- fi |
1976 |
- done |
1977 |
- |
1978 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
1979 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
1980 |
- die "aborting due to test failures" |
1981 |
- fi |
1982 |
-} |
1983 |
- |
1984 |
-src_install() { |
1985 |
- ( |
1986 |
- IFS=$'\n' |
1987 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
1988 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
1989 |
- ) |
1990 |
- |
1991 |
- # bug #689562, #689160 |
1992 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
1993 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
1994 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
1995 |
- |
1996 |
- local symlinks=( |
1997 |
- cargo |
1998 |
- rustc |
1999 |
- rustdoc |
2000 |
- rust-gdb |
2001 |
- rust-gdbgui |
2002 |
- rust-lldb |
2003 |
- ) |
2004 |
- |
2005 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
2006 |
- use miri && symlinks+=( miri cargo-miri ) |
2007 |
- use rls && symlinks+=( rls ) |
2008 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
2009 |
- |
2010 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
2011 |
- local i |
2012 |
- for i in "${symlinks[@]}"; do |
2013 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
2014 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
2015 |
- # need to fix eselect-rust to remove this hack. |
2016 |
- local ver_i="${i}-${PV}" |
2017 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
2018 |
- einfo "Installing ${i} symlink" |
2019 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
2020 |
- else |
2021 |
- ewarn "${i} symlink requested, but source file not found" |
2022 |
- ewarn "please report this" |
2023 |
- fi |
2024 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
2025 |
- done |
2026 |
- |
2027 |
- # symlinks to switch components to active rust in eselect |
2028 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
2029 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
2030 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
2031 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
2032 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
2033 |
- |
2034 |
- newenvd - "50${P}" <<-_EOF_ |
2035 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
2036 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
2037 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
2038 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
2039 |
- _EOF_ |
2040 |
- |
2041 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
2042 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
2043 |
- |
2044 |
- # note: eselect-rust adds EROOT to all paths below |
2045 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
2046 |
- /usr/bin/cargo |
2047 |
- /usr/bin/rustdoc |
2048 |
- /usr/bin/rust-gdb |
2049 |
- /usr/bin/rust-gdbgui |
2050 |
- /usr/bin/rust-lldb |
2051 |
- /usr/lib/rustlib |
2052 |
- /usr/lib/rust/lib |
2053 |
- /usr/lib/rust/libexec |
2054 |
- /usr/lib/rust/man |
2055 |
- /usr/share/doc/rust |
2056 |
- _EOF_ |
2057 |
- |
2058 |
- if use clippy; then |
2059 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
2060 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
2061 |
- fi |
2062 |
- if use miri; then |
2063 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
2064 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
2065 |
- fi |
2066 |
- if use rls; then |
2067 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
2068 |
- fi |
2069 |
- if use rustfmt; then |
2070 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
2071 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
2072 |
- fi |
2073 |
- |
2074 |
- insinto /etc/env.d/rust |
2075 |
- doins "${T}/provider-${P}" |
2076 |
-} |
2077 |
- |
2078 |
-pkg_postinst() { |
2079 |
- eselect rust update |
2080 |
- |
2081 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
2082 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
2083 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
2084 |
- fi |
2085 |
- |
2086 |
- if has_version app-editors/emacs; then |
2087 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
2088 |
- fi |
2089 |
- |
2090 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
2091 |
- elog "install app-vim/rust-vim to get vim support for rust." |
2092 |
- fi |
2093 |
-} |
2094 |
- |
2095 |
-pkg_postrm() { |
2096 |
- eselect rust cleanup |
2097 |
-} |
2098 |
|
2099 |
diff --git a/dev-lang/rust/rust-1.55.0.ebuild b/dev-lang/rust/rust-1.55.0.ebuild |
2100 |
deleted file mode 100644 |
2101 |
index 2cb07abe8789..000000000000 |
2102 |
--- a/dev-lang/rust/rust-1.55.0.ebuild |
2103 |
+++ /dev/null |
2104 |
@@ -1,683 +0,0 @@ |
2105 |
-# Copyright 1999-2021 Gentoo Authors |
2106 |
-# Distributed under the terms of the GNU General Public License v2 |
2107 |
- |
2108 |
-EAPI=7 |
2109 |
- |
2110 |
-PYTHON_COMPAT=( python3_{7..9} ) |
2111 |
- |
2112 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
2113 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
2114 |
- |
2115 |
-if [[ ${PV} = *beta* ]]; then |
2116 |
- betaver=${PV//*beta} |
2117 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
2118 |
- MY_P="rustc-beta" |
2119 |
- SLOT="beta/${PV}" |
2120 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
2121 |
-else |
2122 |
- ABI_VER="$(ver_cut 1-2)" |
2123 |
- SLOT="stable/${ABI_VER}" |
2124 |
- MY_P="rustc-${PV}" |
2125 |
- SRC="${MY_P}-src.tar.xz" |
2126 |
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" |
2127 |
-fi |
2128 |
- |
2129 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
2130 |
- |
2131 |
-DESCRIPTION="Systems programming language from Mozilla" |
2132 |
-HOMEPAGE="https://www.rust-lang.org/" |
2133 |
- |
2134 |
-SRC_URI=" |
2135 |
- https://static.rust-lang.org/dist/${SRC} |
2136 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
2137 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
2138 |
-" |
2139 |
- |
2140 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
2141 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
2142 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
2143 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
2144 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
2145 |
- |
2146 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
2147 |
- |
2148 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
2149 |
- |
2150 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
2151 |
-# we need to *really* make sure we're not pulling more than one slot |
2152 |
-# simultaneously. |
2153 |
- |
2154 |
-# How to use it: |
2155 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
2156 |
-LLVM_VALID_SLOTS=( 12 ) |
2157 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
2158 |
- |
2159 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
2160 |
-# (-) usedep needed because we may build with older llvm without that target |
2161 |
-LLVM_DEPEND="|| ( " |
2162 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
2163 |
- LLVM_DEPEND+=" ( " |
2164 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
2165 |
- LLVM_DEPEND+=" |
2166 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
2167 |
- done |
2168 |
- LLVM_DEPEND+=" )" |
2169 |
-done |
2170 |
-unset _s _x |
2171 |
-LLVM_DEPEND+=" ) |
2172 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
2173 |
- wasm? ( sys-devel/lld ) |
2174 |
-" |
2175 |
- |
2176 |
-# to bootstrap we need at least exactly previous version, or same. |
2177 |
-# most of the time previous versions fail to bootstrap with newer |
2178 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
2179 |
-# but it fails to bootstrap with 1.48.x |
2180 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
2181 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
2182 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
2183 |
-BOOTSTRAP_DEPEND="|| |
2184 |
- ( |
2185 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
2186 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
2187 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
2188 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
2189 |
- ) |
2190 |
-" |
2191 |
- |
2192 |
-BDEPEND="${PYTHON_DEPS} |
2193 |
- app-eselect/eselect-rust |
2194 |
- || ( |
2195 |
- >=sys-devel/gcc-4.7 |
2196 |
- >=sys-devel/clang-3.5 |
2197 |
- ) |
2198 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
2199 |
- !system-llvm? ( |
2200 |
- >=dev-util/cmake-3.13.4 |
2201 |
- dev-util/ninja |
2202 |
- ) |
2203 |
- test? ( sys-devel/gdb ) |
2204 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
2205 |
-" |
2206 |
- |
2207 |
-DEPEND=" |
2208 |
- >=app-arch/xz-utils-5.2 |
2209 |
- net-misc/curl:=[http2,ssl] |
2210 |
- sys-libs/zlib:= |
2211 |
- dev-libs/openssl:0= |
2212 |
- elibc_musl? ( sys-libs/libunwind:= ) |
2213 |
- system-llvm? ( ${LLVM_DEPEND} ) |
2214 |
-" |
2215 |
- |
2216 |
-# we need to block older versions due to layout changes. |
2217 |
-RDEPEND="${DEPEND} |
2218 |
- app-eselect/eselect-rust |
2219 |
- !<dev-lang/rust-1.47.0-r1 |
2220 |
- !<dev-lang/rust-bin-1.47.0-r1 |
2221 |
-" |
2222 |
- |
2223 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
2224 |
- miri? ( nightly ) |
2225 |
- parallel-compiler? ( nightly ) |
2226 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
2227 |
- wasm? ( llvm_targets_WebAssembly ) |
2228 |
- x86? ( cpu_flags_x86_sse2 ) |
2229 |
-" |
2230 |
- |
2231 |
-# we don't use cmake.eclass, but can get a warnings |
2232 |
-CMAKE_WARN_UNUSED_CLI=no |
2233 |
- |
2234 |
-QA_FLAGS_IGNORED=" |
2235 |
- usr/lib/${PN}/${PV}/bin/.* |
2236 |
- usr/lib/${PN}/${PV}/libexec/.* |
2237 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
2238 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
2239 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
2240 |
-" |
2241 |
- |
2242 |
-QA_SONAME=" |
2243 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
2244 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
2245 |
-" |
2246 |
- |
2247 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
2248 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
2249 |
-# so we can safely silence the warning for this QA check. |
2250 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
2251 |
- |
2252 |
-# causes double bootstrap |
2253 |
-RESTRICT="test" |
2254 |
- |
2255 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
2256 |
- |
2257 |
-PATCHES=( |
2258 |
- "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch |
2259 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
2260 |
- "${FILESDIR}"/1.54.0-parallel-miri.patch # https://github.com/rust-lang/miri/pull/1863 |
2261 |
-) |
2262 |
- |
2263 |
-S="${WORKDIR}/${MY_P}-src" |
2264 |
- |
2265 |
-toml_usex() { |
2266 |
- usex "${1}" true false |
2267 |
-} |
2268 |
- |
2269 |
-bootstrap_rust_version_check() { |
2270 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
2271 |
- [[ ${MERGE_TYPE} == binary ]] && return |
2272 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
2273 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
2274 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
2275 |
- rustc_version=${rustc_version[0]#rust-bin-} |
2276 |
- rustc_version=${rustc_version#rust-} |
2277 |
- |
2278 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
2279 |
- |
2280 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
2281 |
- eerror "Rust >=${rustc_wanted} is required" |
2282 |
- eerror "please run 'eselect rust' and set correct rust version" |
2283 |
- die "selected rust version is too old" |
2284 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
2285 |
- eerror "Rust <${rustc_toonew} is required" |
2286 |
- eerror "please run 'eselect rust' and set correct rust version" |
2287 |
- die "selected rust version is too new" |
2288 |
- else |
2289 |
- einfo "Using rust ${rustc_version} to build" |
2290 |
- fi |
2291 |
-} |
2292 |
- |
2293 |
-pre_build_checks() { |
2294 |
- local M=4096 |
2295 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
2296 |
- if use amd64; then |
2297 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
2298 |
- fi |
2299 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
2300 |
- M=$(( $(usex miri 128 0) + ${M} )) |
2301 |
- M=$(( $(usex rls 512 0) + ${M} )) |
2302 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
2303 |
- # add 2G if we compile llvm and 256M per llvm_target |
2304 |
- if ! use system-llvm; then |
2305 |
- M=$(( 2048 + ${M} )) |
2306 |
- local ltarget |
2307 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
2308 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
2309 |
- done |
2310 |
- fi |
2311 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
2312 |
- M=$(( $(usex debug 2 1) * ${M} )) |
2313 |
- eshopts_push -s extglob |
2314 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
2315 |
- M=$(( 15 * ${M} / 10 )) |
2316 |
- fi |
2317 |
- eshopts_pop |
2318 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
2319 |
- M=$(( $(usex doc 256 0) + ${M} )) |
2320 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
2321 |
-} |
2322 |
- |
2323 |
-llvm_check_deps() { |
2324 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
2325 |
-} |
2326 |
- |
2327 |
-pkg_pretend() { |
2328 |
- pre_build_checks |
2329 |
-} |
2330 |
- |
2331 |
-pkg_setup() { |
2332 |
- pre_build_checks |
2333 |
- python-any-r1_pkg_setup |
2334 |
- |
2335 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
2336 |
- |
2337 |
- use system-bootstrap && bootstrap_rust_version_check |
2338 |
- |
2339 |
- if use system-llvm; then |
2340 |
- llvm_pkg_setup |
2341 |
- |
2342 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
2343 |
- export LLVM_LINK_SHARED=1 |
2344 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
2345 |
- fi |
2346 |
-} |
2347 |
- |
2348 |
-src_prepare() { |
2349 |
- if ! use system-bootstrap; then |
2350 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
2351 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
2352 |
- |
2353 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
2354 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
2355 |
- fi |
2356 |
- |
2357 |
- default |
2358 |
-} |
2359 |
- |
2360 |
-src_configure() { |
2361 |
- local rust_target="" rust_targets="" arch_cflags |
2362 |
- |
2363 |
- # Collect rust target names to compile standard libs for all ABIs. |
2364 |
- for v in $(multilib_get_enabled_abi_pairs); do |
2365 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
2366 |
- done |
2367 |
- if use wasm; then |
2368 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
2369 |
- if use system-llvm; then |
2370 |
- # un-hardcode rust-lld linker for this target |
2371 |
- # https://bugs.gentoo.org/715348 |
2372 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
2373 |
- fi |
2374 |
- fi |
2375 |
- rust_targets="${rust_targets#,}" |
2376 |
- |
2377 |
- local tools="\"cargo\"," |
2378 |
- if use clippy; then |
2379 |
- tools="\"clippy\",$tools" |
2380 |
- fi |
2381 |
- if use miri; then |
2382 |
- tools="\"miri\",$tools" |
2383 |
- fi |
2384 |
- if use rls; then |
2385 |
- tools="\"rls\",\"analysis\",\"src\",$tools" |
2386 |
- fi |
2387 |
- if use rustfmt; then |
2388 |
- tools="\"rustfmt\",$tools" |
2389 |
- fi |
2390 |
- |
2391 |
- local rust_stage0_root |
2392 |
- if use system-bootstrap; then |
2393 |
- local printsysroot |
2394 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
2395 |
- rust_stage0_root="${printsysroot}" |
2396 |
- else |
2397 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
2398 |
- fi |
2399 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
2400 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
2401 |
- |
2402 |
- rust_target="$(rust_abi)" |
2403 |
- |
2404 |
- cat <<- _EOF_ > "${S}"/config.toml |
2405 |
- changelog-seen = 2 |
2406 |
- [llvm] |
2407 |
- download-ci-llvm = false |
2408 |
- optimize = $(toml_usex !debug) |
2409 |
- release-debuginfo = $(toml_usex debug) |
2410 |
- assertions = $(toml_usex debug) |
2411 |
- ninja = true |
2412 |
- targets = "${LLVM_TARGETS// /;}" |
2413 |
- experimental-targets = "" |
2414 |
- link-shared = $(toml_usex system-llvm) |
2415 |
- [build] |
2416 |
- build-stage = 2 |
2417 |
- test-stage = 2 |
2418 |
- doc-stage = 2 |
2419 |
- build = "${rust_target}" |
2420 |
- host = ["${rust_target}"] |
2421 |
- target = [${rust_targets}] |
2422 |
- cargo = "${rust_stage0_root}/bin/cargo" |
2423 |
- rustc = "${rust_stage0_root}/bin/rustc" |
2424 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
2425 |
- docs = $(toml_usex doc) |
2426 |
- compiler-docs = false |
2427 |
- submodules = false |
2428 |
- python = "${EPYTHON}" |
2429 |
- locked-deps = true |
2430 |
- vendor = true |
2431 |
- extended = true |
2432 |
- tools = [${tools}] |
2433 |
- verbose = 2 |
2434 |
- sanitizers = false |
2435 |
- profiler = false |
2436 |
- cargo-native-static = false |
2437 |
- [install] |
2438 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
2439 |
- sysconfdir = "etc" |
2440 |
- docdir = "share/doc/rust" |
2441 |
- bindir = "bin" |
2442 |
- libdir = "lib" |
2443 |
- mandir = "share/man" |
2444 |
- [rust] |
2445 |
- # https://github.com/rust-lang/rust/issues/54872 |
2446 |
- codegen-units-std = 1 |
2447 |
- optimize = true |
2448 |
- debug = $(toml_usex debug) |
2449 |
- debug-assertions = $(toml_usex debug) |
2450 |
- debug-assertions-std = $(toml_usex debug) |
2451 |
- debuginfo-level = $(usex debug 2 0) |
2452 |
- debuginfo-level-rustc = $(usex debug 2 0) |
2453 |
- debuginfo-level-std = $(usex debug 2 0) |
2454 |
- debuginfo-level-tools = $(usex debug 2 0) |
2455 |
- debuginfo-level-tests = 0 |
2456 |
- backtrace = true |
2457 |
- incremental = false |
2458 |
- default-linker = "$(tc-getCC)" |
2459 |
- parallel-compiler = $(toml_usex parallel-compiler) |
2460 |
- channel = "$(usex nightly nightly stable)" |
2461 |
- description = "gentoo" |
2462 |
- rpath = false |
2463 |
- verbose-tests = true |
2464 |
- optimize-tests = $(toml_usex !debug) |
2465 |
- codegen-tests = true |
2466 |
- dist-src = false |
2467 |
- remap-debuginfo = true |
2468 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
2469 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
2470 |
- # https://github.com/rust-lang/rust/issues/74976 |
2471 |
- # https://github.com/rust-lang/rust/issues/76526 |
2472 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
2473 |
- backtrace-on-ice = true |
2474 |
- jemalloc = false |
2475 |
- [dist] |
2476 |
- src-tarball = false |
2477 |
- compression-formats = ["gz"] |
2478 |
- _EOF_ |
2479 |
- |
2480 |
- for v in $(multilib_get_enabled_abi_pairs); do |
2481 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
2482 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
2483 |
- |
2484 |
- cat <<- _EOF_ >> "${S}"/config.env |
2485 |
- CFLAGS_${rust_target}=${arch_cflags} |
2486 |
- _EOF_ |
2487 |
- |
2488 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2489 |
- [target.${rust_target}] |
2490 |
- cc = "$(tc-getBUILD_CC)" |
2491 |
- cxx = "$(tc-getBUILD_CXX)" |
2492 |
- linker = "$(tc-getCC)" |
2493 |
- ar = "$(tc-getAR)" |
2494 |
- _EOF_ |
2495 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
2496 |
- if use elibc_musl; then |
2497 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2498 |
- crt-static = false |
2499 |
- _EOF_ |
2500 |
- fi |
2501 |
- if use system-llvm; then |
2502 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2503 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
2504 |
- _EOF_ |
2505 |
- fi |
2506 |
- done |
2507 |
- if use wasm; then |
2508 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2509 |
- [target.wasm32-unknown-unknown] |
2510 |
- linker = "$(usex system-llvm lld rust-lld)" |
2511 |
- _EOF_ |
2512 |
- fi |
2513 |
- |
2514 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
2515 |
- # experimental cross support |
2516 |
- # discussion: https://bugs.gentoo.org/679878 |
2517 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
2518 |
- # it would be much better if we could split out stdlib |
2519 |
- # complilation to separate ebuild and abuse CATEGORY to |
2520 |
- # just install to /usr/lib/rustlib/<target> |
2521 |
- |
2522 |
- # extra targets defined as a bash array |
2523 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
2524 |
- # best place would be /etc/portage/env/dev-lang/rust |
2525 |
- # Example: |
2526 |
- # RUST_CROSS_TARGETS=( |
2527 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
2528 |
- # ) |
2529 |
- # no extra hand holding is done, no target transformations, all |
2530 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
2531 |
- # valid rust targets can be obtained with |
2532 |
- # rustc --print target-list |
2533 |
- # matching cross toolchain has to be installed |
2534 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
2535 |
- # only gcc toolchains installed with crossdev are checked for now. |
2536 |
- |
2537 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
2538 |
- # BUG: this should be more fine-grained. |
2539 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
2540 |
- |
2541 |
- local cross_target_spec |
2542 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
2543 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
2544 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
2545 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
2546 |
- local cross_triples="${cross_target_spec#*:}" |
2547 |
- # extracts first element after before : separator |
2548 |
- local cross_rust_target="${cross_triples%%:*}" |
2549 |
- # extracts last element after : separator |
2550 |
- local cross_toolchain="${cross_triples##*:}" |
2551 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
2552 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
2553 |
- |
2554 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2555 |
- [target.${cross_rust_target}] |
2556 |
- cc = "${cross_toolchain}-gcc" |
2557 |
- cxx = "${cross_toolchain}-g++" |
2558 |
- linker = "${cross_toolchain}-gcc" |
2559 |
- ar = "${cross_toolchain}-ar" |
2560 |
- _EOF_ |
2561 |
- if use system-llvm; then |
2562 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2563 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
2564 |
- _EOF_ |
2565 |
- fi |
2566 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
2567 |
- cat <<- _EOF_ >> "${S}"/config.toml |
2568 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
2569 |
- _EOF_ |
2570 |
- fi |
2571 |
- |
2572 |
- # append cross target to "normal" target list |
2573 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
2574 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
2575 |
- |
2576 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
2577 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
2578 |
- |
2579 |
- ewarn |
2580 |
- ewarn "Enabled ${cross_rust_target} rust target" |
2581 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
2582 |
- ewarn |
2583 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
2584 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
2585 |
- ewarn "'strip' will be unable to strip cross libraries" |
2586 |
- ewarn "cross targets will be installed with full debug information" |
2587 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
2588 |
- ewarn |
2589 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
2590 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
2591 |
- ewarn |
2592 |
- fi |
2593 |
- done |
2594 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
2595 |
- |
2596 |
- einfo "Rust configured with the following flags:" |
2597 |
- echo |
2598 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
2599 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
2600 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
2601 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
2602 |
- cat "${S}"/config.env || die |
2603 |
- echo |
2604 |
- einfo "config.toml contents:" |
2605 |
- cat "${S}"/config.toml || die |
2606 |
- echo |
2607 |
-} |
2608 |
- |
2609 |
-src_compile() { |
2610 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
2611 |
- ( |
2612 |
- IFS=$'\n' |
2613 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
2614 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
2615 |
- ) |
2616 |
-} |
2617 |
- |
2618 |
-src_test() { |
2619 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
2620 |
- |
2621 |
- # those are basic and codegen tests. |
2622 |
- local tests=( |
2623 |
- codegen |
2624 |
- codegen-units |
2625 |
- compile-fail |
2626 |
- incremental |
2627 |
- mir-opt |
2628 |
- pretty |
2629 |
- run-make |
2630 |
- ) |
2631 |
- |
2632 |
- # fails if llvm is not built with ALL targets. |
2633 |
- # and known to fail with system llvm sometimes. |
2634 |
- use system-llvm || tests+=( assembly ) |
2635 |
- |
2636 |
- # fragile/expensive/less important tests |
2637 |
- # or tests that require extra builds |
2638 |
- # TODO: instead of skipping, just make some nonfatal. |
2639 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
2640 |
- tests+=( |
2641 |
- rustdoc |
2642 |
- rustdoc-js |
2643 |
- rustdoc-js-std |
2644 |
- rustdoc-ui |
2645 |
- run-make-fulldeps |
2646 |
- ui |
2647 |
- ui-fulldeps |
2648 |
- ) |
2649 |
- fi |
2650 |
- |
2651 |
- local i failed=() |
2652 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
2653 |
- for i in "${tests[@]}"; do |
2654 |
- local t="src/test/${i}" |
2655 |
- einfo "rust_src_test: running ${t}" |
2656 |
- if ! ( |
2657 |
- IFS=$'\n' |
2658 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
2659 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
2660 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
2661 |
- ) |
2662 |
- then |
2663 |
- failed+=( "${t}" ) |
2664 |
- eerror "rust_src_test: ${t} failed" |
2665 |
- fi |
2666 |
- done |
2667 |
- |
2668 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
2669 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
2670 |
- die "aborting due to test failures" |
2671 |
- fi |
2672 |
-} |
2673 |
- |
2674 |
-src_install() { |
2675 |
- ( |
2676 |
- IFS=$'\n' |
2677 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
2678 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
2679 |
- ) |
2680 |
- |
2681 |
- # bug #689562, #689160 |
2682 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
2683 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
2684 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
2685 |
- |
2686 |
- local symlinks=( |
2687 |
- cargo |
2688 |
- rustc |
2689 |
- rustdoc |
2690 |
- rust-gdb |
2691 |
- rust-gdbgui |
2692 |
- rust-lldb |
2693 |
- ) |
2694 |
- |
2695 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
2696 |
- use miri && symlinks+=( miri cargo-miri ) |
2697 |
- use rls && symlinks+=( rls ) |
2698 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
2699 |
- |
2700 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
2701 |
- local i |
2702 |
- for i in "${symlinks[@]}"; do |
2703 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
2704 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
2705 |
- # need to fix eselect-rust to remove this hack. |
2706 |
- local ver_i="${i}-${PV}" |
2707 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
2708 |
- einfo "Installing ${i} symlink" |
2709 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
2710 |
- else |
2711 |
- ewarn "${i} symlink requested, but source file not found" |
2712 |
- ewarn "please report this" |
2713 |
- fi |
2714 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
2715 |
- done |
2716 |
- |
2717 |
- # symlinks to switch components to active rust in eselect |
2718 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
2719 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
2720 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
2721 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
2722 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
2723 |
- |
2724 |
- newenvd - "50${P}" <<-_EOF_ |
2725 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
2726 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
2727 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
2728 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
2729 |
- _EOF_ |
2730 |
- |
2731 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
2732 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
2733 |
- |
2734 |
- # note: eselect-rust adds EROOT to all paths below |
2735 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
2736 |
- /usr/bin/cargo |
2737 |
- /usr/bin/rustdoc |
2738 |
- /usr/bin/rust-gdb |
2739 |
- /usr/bin/rust-gdbgui |
2740 |
- /usr/bin/rust-lldb |
2741 |
- /usr/lib/rustlib |
2742 |
- /usr/lib/rust/lib |
2743 |
- /usr/lib/rust/libexec |
2744 |
- /usr/lib/rust/man |
2745 |
- /usr/share/doc/rust |
2746 |
- _EOF_ |
2747 |
- |
2748 |
- if use clippy; then |
2749 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
2750 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
2751 |
- fi |
2752 |
- if use miri; then |
2753 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
2754 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
2755 |
- fi |
2756 |
- if use rls; then |
2757 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
2758 |
- fi |
2759 |
- if use rustfmt; then |
2760 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
2761 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
2762 |
- fi |
2763 |
- |
2764 |
- insinto /etc/env.d/rust |
2765 |
- doins "${T}/provider-${P}" |
2766 |
-} |
2767 |
- |
2768 |
-pkg_postinst() { |
2769 |
- eselect rust update |
2770 |
- |
2771 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
2772 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
2773 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
2774 |
- fi |
2775 |
- |
2776 |
- if has_version app-editors/emacs; then |
2777 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
2778 |
- fi |
2779 |
- |
2780 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
2781 |
- elog "install app-vim/rust-vim to get vim support for rust." |
2782 |
- fi |
2783 |
-} |
2784 |
- |
2785 |
-pkg_postrm() { |
2786 |
- eselect rust cleanup |
2787 |
-} |
2788 |
|
2789 |
diff --git a/dev-lang/rust/rust-1.56.1.ebuild b/dev-lang/rust/rust-1.56.1.ebuild |
2790 |
deleted file mode 100644 |
2791 |
index c9a8ac4881ee..000000000000 |
2792 |
--- a/dev-lang/rust/rust-1.56.1.ebuild |
2793 |
+++ /dev/null |
2794 |
@@ -1,686 +0,0 @@ |
2795 |
-# Copyright 1999-2021 Gentoo Authors |
2796 |
-# Distributed under the terms of the GNU General Public License v2 |
2797 |
- |
2798 |
-EAPI=7 |
2799 |
- |
2800 |
-PYTHON_COMPAT=( python3_{7..10} ) |
2801 |
- |
2802 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
2803 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
2804 |
- |
2805 |
-if [[ ${PV} = *beta* ]]; then |
2806 |
- betaver=${PV//*beta} |
2807 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
2808 |
- MY_P="rustc-beta" |
2809 |
- SLOT="beta/${PV}" |
2810 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
2811 |
-else |
2812 |
- ABI_VER="$(ver_cut 1-2)" |
2813 |
- SLOT="stable/${ABI_VER}" |
2814 |
- MY_P="rustc-${PV}" |
2815 |
- SRC="${MY_P}-src.tar.xz" |
2816 |
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" |
2817 |
-fi |
2818 |
- |
2819 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
2820 |
- |
2821 |
-DESCRIPTION="Systems programming language from Mozilla" |
2822 |
-HOMEPAGE="https://www.rust-lang.org/" |
2823 |
- |
2824 |
-SRC_URI=" |
2825 |
- https://static.rust-lang.org/dist/${SRC} |
2826 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
2827 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
2828 |
-" |
2829 |
- |
2830 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
2831 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
2832 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
2833 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
2834 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
2835 |
- |
2836 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
2837 |
- |
2838 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
2839 |
- |
2840 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
2841 |
-# we need to *really* make sure we're not pulling more than one slot |
2842 |
-# simultaneously. |
2843 |
- |
2844 |
-# How to use it: |
2845 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
2846 |
-LLVM_VALID_SLOTS=( 13 ) |
2847 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
2848 |
- |
2849 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
2850 |
-# (-) usedep needed because we may build with older llvm without that target |
2851 |
-LLVM_DEPEND="|| ( " |
2852 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
2853 |
- LLVM_DEPEND+=" ( " |
2854 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
2855 |
- LLVM_DEPEND+=" |
2856 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
2857 |
- done |
2858 |
- LLVM_DEPEND+=" )" |
2859 |
-done |
2860 |
-unset _s _x |
2861 |
-LLVM_DEPEND+=" ) |
2862 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
2863 |
- wasm? ( sys-devel/lld ) |
2864 |
-" |
2865 |
- |
2866 |
-# to bootstrap we need at least exactly previous version, or same. |
2867 |
-# most of the time previous versions fail to bootstrap with newer |
2868 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
2869 |
-# but it fails to bootstrap with 1.48.x |
2870 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
2871 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
2872 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
2873 |
-BOOTSTRAP_DEPEND="|| |
2874 |
- ( |
2875 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
2876 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
2877 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
2878 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
2879 |
- ) |
2880 |
-" |
2881 |
- |
2882 |
-BDEPEND="${PYTHON_DEPS} |
2883 |
- app-eselect/eselect-rust |
2884 |
- || ( |
2885 |
- >=sys-devel/gcc-4.7 |
2886 |
- >=sys-devel/clang-3.5 |
2887 |
- ) |
2888 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
2889 |
- !system-llvm? ( |
2890 |
- >=dev-util/cmake-3.13.4 |
2891 |
- dev-util/ninja |
2892 |
- ) |
2893 |
- test? ( sys-devel/gdb ) |
2894 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
2895 |
-" |
2896 |
- |
2897 |
-DEPEND=" |
2898 |
- >=app-arch/xz-utils-5.2 |
2899 |
- net-misc/curl:=[http2,ssl] |
2900 |
- sys-libs/zlib:= |
2901 |
- dev-libs/openssl:0= |
2902 |
- elibc_musl? ( sys-libs/libunwind:= ) |
2903 |
- system-llvm? ( ${LLVM_DEPEND} ) |
2904 |
-" |
2905 |
- |
2906 |
-# we need to block older versions due to layout changes. |
2907 |
-RDEPEND="${DEPEND} |
2908 |
- app-eselect/eselect-rust |
2909 |
- !<dev-lang/rust-1.47.0-r1 |
2910 |
- !<dev-lang/rust-bin-1.47.0-r1 |
2911 |
-" |
2912 |
- |
2913 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
2914 |
- miri? ( nightly ) |
2915 |
- parallel-compiler? ( nightly ) |
2916 |
- rls? ( rust-src ) |
2917 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
2918 |
- wasm? ( llvm_targets_WebAssembly ) |
2919 |
- x86? ( cpu_flags_x86_sse2 ) |
2920 |
-" |
2921 |
- |
2922 |
-# we don't use cmake.eclass, but can get a warnings |
2923 |
-CMAKE_WARN_UNUSED_CLI=no |
2924 |
- |
2925 |
-QA_FLAGS_IGNORED=" |
2926 |
- usr/lib/${PN}/${PV}/bin/.* |
2927 |
- usr/lib/${PN}/${PV}/libexec/.* |
2928 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
2929 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
2930 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
2931 |
-" |
2932 |
- |
2933 |
-QA_SONAME=" |
2934 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
2935 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
2936 |
-" |
2937 |
- |
2938 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
2939 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
2940 |
-# so we can safely silence the warning for this QA check. |
2941 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
2942 |
- |
2943 |
-# causes double bootstrap |
2944 |
-RESTRICT="test" |
2945 |
- |
2946 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
2947 |
- |
2948 |
-PATCHES=( |
2949 |
- "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch |
2950 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
2951 |
-) |
2952 |
- |
2953 |
-S="${WORKDIR}/${MY_P}-src" |
2954 |
- |
2955 |
-toml_usex() { |
2956 |
- usex "${1}" true false |
2957 |
-} |
2958 |
- |
2959 |
-bootstrap_rust_version_check() { |
2960 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
2961 |
- [[ ${MERGE_TYPE} == binary ]] && return |
2962 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
2963 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
2964 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
2965 |
- rustc_version=${rustc_version[0]#rust-bin-} |
2966 |
- rustc_version=${rustc_version#rust-} |
2967 |
- |
2968 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
2969 |
- |
2970 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
2971 |
- eerror "Rust >=${rustc_wanted} is required" |
2972 |
- eerror "please run 'eselect rust' and set correct rust version" |
2973 |
- die "selected rust version is too old" |
2974 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
2975 |
- eerror "Rust <${rustc_toonew} is required" |
2976 |
- eerror "please run 'eselect rust' and set correct rust version" |
2977 |
- die "selected rust version is too new" |
2978 |
- else |
2979 |
- einfo "Using rust ${rustc_version} to build" |
2980 |
- fi |
2981 |
-} |
2982 |
- |
2983 |
-pre_build_checks() { |
2984 |
- local M=4096 |
2985 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
2986 |
- if use amd64; then |
2987 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
2988 |
- fi |
2989 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
2990 |
- M=$(( $(usex miri 128 0) + ${M} )) |
2991 |
- M=$(( $(usex rls 512 0) + ${M} )) |
2992 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
2993 |
- # add 2G if we compile llvm and 256M per llvm_target |
2994 |
- if ! use system-llvm; then |
2995 |
- M=$(( 2048 + ${M} )) |
2996 |
- local ltarget |
2997 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
2998 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
2999 |
- done |
3000 |
- fi |
3001 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
3002 |
- M=$(( $(usex debug 2 1) * ${M} )) |
3003 |
- eshopts_push -s extglob |
3004 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
3005 |
- M=$(( 15 * ${M} / 10 )) |
3006 |
- fi |
3007 |
- eshopts_pop |
3008 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
3009 |
- M=$(( $(usex doc 256 0) + ${M} )) |
3010 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
3011 |
-} |
3012 |
- |
3013 |
-llvm_check_deps() { |
3014 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
3015 |
-} |
3016 |
- |
3017 |
-pkg_pretend() { |
3018 |
- pre_build_checks |
3019 |
-} |
3020 |
- |
3021 |
-pkg_setup() { |
3022 |
- pre_build_checks |
3023 |
- python-any-r1_pkg_setup |
3024 |
- |
3025 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
3026 |
- |
3027 |
- use system-bootstrap && bootstrap_rust_version_check |
3028 |
- |
3029 |
- if use system-llvm; then |
3030 |
- llvm_pkg_setup |
3031 |
- |
3032 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3033 |
- export LLVM_LINK_SHARED=1 |
3034 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
3035 |
- fi |
3036 |
-} |
3037 |
- |
3038 |
-src_prepare() { |
3039 |
- if ! use system-bootstrap; then |
3040 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
3041 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
3042 |
- |
3043 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
3044 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
3045 |
- fi |
3046 |
- |
3047 |
- default |
3048 |
-} |
3049 |
- |
3050 |
-src_configure() { |
3051 |
- local rust_target="" rust_targets="" arch_cflags |
3052 |
- |
3053 |
- # Collect rust target names to compile standard libs for all ABIs. |
3054 |
- for v in $(multilib_get_enabled_abi_pairs); do |
3055 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
3056 |
- done |
3057 |
- if use wasm; then |
3058 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
3059 |
- if use system-llvm; then |
3060 |
- # un-hardcode rust-lld linker for this target |
3061 |
- # https://bugs.gentoo.org/715348 |
3062 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
3063 |
- fi |
3064 |
- fi |
3065 |
- rust_targets="${rust_targets#,}" |
3066 |
- |
3067 |
- local tools="\"cargo\"," |
3068 |
- if use clippy; then |
3069 |
- tools="\"clippy\",$tools" |
3070 |
- fi |
3071 |
- if use miri; then |
3072 |
- tools="\"miri\",$tools" |
3073 |
- fi |
3074 |
- if use rls; then |
3075 |
- tools="\"rls\",\"analysis\",$tools" |
3076 |
- fi |
3077 |
- if use rustfmt; then |
3078 |
- tools="\"rustfmt\",$tools" |
3079 |
- fi |
3080 |
- if use rust-src; then |
3081 |
- tools="\"src\",$tools" |
3082 |
- fi |
3083 |
- |
3084 |
- local rust_stage0_root |
3085 |
- if use system-bootstrap; then |
3086 |
- local printsysroot |
3087 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
3088 |
- rust_stage0_root="${printsysroot}" |
3089 |
- else |
3090 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
3091 |
- fi |
3092 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
3093 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
3094 |
- |
3095 |
- rust_target="$(rust_abi)" |
3096 |
- |
3097 |
- cat <<- _EOF_ > "${S}"/config.toml |
3098 |
- changelog-seen = 2 |
3099 |
- [llvm] |
3100 |
- download-ci-llvm = false |
3101 |
- optimize = $(toml_usex !debug) |
3102 |
- release-debuginfo = $(toml_usex debug) |
3103 |
- assertions = $(toml_usex debug) |
3104 |
- ninja = true |
3105 |
- targets = "${LLVM_TARGETS// /;}" |
3106 |
- experimental-targets = "" |
3107 |
- link-shared = $(toml_usex system-llvm) |
3108 |
- [build] |
3109 |
- build-stage = 2 |
3110 |
- test-stage = 2 |
3111 |
- doc-stage = 2 |
3112 |
- build = "${rust_target}" |
3113 |
- host = ["${rust_target}"] |
3114 |
- target = [${rust_targets}] |
3115 |
- cargo = "${rust_stage0_root}/bin/cargo" |
3116 |
- rustc = "${rust_stage0_root}/bin/rustc" |
3117 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
3118 |
- docs = $(toml_usex doc) |
3119 |
- compiler-docs = false |
3120 |
- submodules = false |
3121 |
- python = "${EPYTHON}" |
3122 |
- locked-deps = true |
3123 |
- vendor = true |
3124 |
- extended = true |
3125 |
- tools = [${tools}] |
3126 |
- verbose = 2 |
3127 |
- sanitizers = false |
3128 |
- profiler = false |
3129 |
- cargo-native-static = false |
3130 |
- [install] |
3131 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
3132 |
- sysconfdir = "etc" |
3133 |
- docdir = "share/doc/rust" |
3134 |
- bindir = "bin" |
3135 |
- libdir = "lib" |
3136 |
- mandir = "share/man" |
3137 |
- [rust] |
3138 |
- # https://github.com/rust-lang/rust/issues/54872 |
3139 |
- codegen-units-std = 1 |
3140 |
- optimize = true |
3141 |
- debug = $(toml_usex debug) |
3142 |
- debug-assertions = $(toml_usex debug) |
3143 |
- debug-assertions-std = $(toml_usex debug) |
3144 |
- debuginfo-level = $(usex debug 2 0) |
3145 |
- debuginfo-level-rustc = $(usex debug 2 0) |
3146 |
- debuginfo-level-std = $(usex debug 2 0) |
3147 |
- debuginfo-level-tools = $(usex debug 2 0) |
3148 |
- debuginfo-level-tests = 0 |
3149 |
- backtrace = true |
3150 |
- incremental = false |
3151 |
- default-linker = "$(tc-getCC)" |
3152 |
- parallel-compiler = $(toml_usex parallel-compiler) |
3153 |
- channel = "$(usex nightly nightly stable)" |
3154 |
- description = "gentoo" |
3155 |
- rpath = false |
3156 |
- verbose-tests = true |
3157 |
- optimize-tests = $(toml_usex !debug) |
3158 |
- codegen-tests = true |
3159 |
- dist-src = false |
3160 |
- remap-debuginfo = true |
3161 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
3162 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
3163 |
- # https://github.com/rust-lang/rust/issues/74976 |
3164 |
- # https://github.com/rust-lang/rust/issues/76526 |
3165 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
3166 |
- backtrace-on-ice = true |
3167 |
- jemalloc = false |
3168 |
- [dist] |
3169 |
- src-tarball = false |
3170 |
- compression-formats = ["gz"] |
3171 |
- _EOF_ |
3172 |
- |
3173 |
- for v in $(multilib_get_enabled_abi_pairs); do |
3174 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
3175 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
3176 |
- |
3177 |
- cat <<- _EOF_ >> "${S}"/config.env |
3178 |
- CFLAGS_${rust_target}=${arch_cflags} |
3179 |
- _EOF_ |
3180 |
- |
3181 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3182 |
- [target.${rust_target}] |
3183 |
- cc = "$(tc-getBUILD_CC)" |
3184 |
- cxx = "$(tc-getBUILD_CXX)" |
3185 |
- linker = "$(tc-getCC)" |
3186 |
- ar = "$(tc-getAR)" |
3187 |
- _EOF_ |
3188 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
3189 |
- if use elibc_musl; then |
3190 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3191 |
- crt-static = false |
3192 |
- _EOF_ |
3193 |
- fi |
3194 |
- if use system-llvm; then |
3195 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3196 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3197 |
- _EOF_ |
3198 |
- fi |
3199 |
- done |
3200 |
- if use wasm; then |
3201 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3202 |
- [target.wasm32-unknown-unknown] |
3203 |
- linker = "$(usex system-llvm lld rust-lld)" |
3204 |
- _EOF_ |
3205 |
- fi |
3206 |
- |
3207 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
3208 |
- # experimental cross support |
3209 |
- # discussion: https://bugs.gentoo.org/679878 |
3210 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
3211 |
- # it would be much better if we could split out stdlib |
3212 |
- # complilation to separate ebuild and abuse CATEGORY to |
3213 |
- # just install to /usr/lib/rustlib/<target> |
3214 |
- |
3215 |
- # extra targets defined as a bash array |
3216 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
3217 |
- # best place would be /etc/portage/env/dev-lang/rust |
3218 |
- # Example: |
3219 |
- # RUST_CROSS_TARGETS=( |
3220 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
3221 |
- # ) |
3222 |
- # no extra hand holding is done, no target transformations, all |
3223 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
3224 |
- # valid rust targets can be obtained with |
3225 |
- # rustc --print target-list |
3226 |
- # matching cross toolchain has to be installed |
3227 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
3228 |
- # only gcc toolchains installed with crossdev are checked for now. |
3229 |
- |
3230 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
3231 |
- # BUG: this should be more fine-grained. |
3232 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
3233 |
- |
3234 |
- local cross_target_spec |
3235 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
3236 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
3237 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
3238 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
3239 |
- local cross_triples="${cross_target_spec#*:}" |
3240 |
- # extracts first element after before : separator |
3241 |
- local cross_rust_target="${cross_triples%%:*}" |
3242 |
- # extracts last element after : separator |
3243 |
- local cross_toolchain="${cross_triples##*:}" |
3244 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
3245 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
3246 |
- |
3247 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3248 |
- [target.${cross_rust_target}] |
3249 |
- cc = "${cross_toolchain}-gcc" |
3250 |
- cxx = "${cross_toolchain}-g++" |
3251 |
- linker = "${cross_toolchain}-gcc" |
3252 |
- ar = "${cross_toolchain}-ar" |
3253 |
- _EOF_ |
3254 |
- if use system-llvm; then |
3255 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3256 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3257 |
- _EOF_ |
3258 |
- fi |
3259 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
3260 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3261 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
3262 |
- _EOF_ |
3263 |
- fi |
3264 |
- |
3265 |
- # append cross target to "normal" target list |
3266 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
3267 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
3268 |
- |
3269 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
3270 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
3271 |
- |
3272 |
- ewarn |
3273 |
- ewarn "Enabled ${cross_rust_target} rust target" |
3274 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
3275 |
- ewarn |
3276 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
3277 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
3278 |
- ewarn "'strip' will be unable to strip cross libraries" |
3279 |
- ewarn "cross targets will be installed with full debug information" |
3280 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
3281 |
- ewarn |
3282 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
3283 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
3284 |
- ewarn |
3285 |
- fi |
3286 |
- done |
3287 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
3288 |
- |
3289 |
- einfo "Rust configured with the following flags:" |
3290 |
- echo |
3291 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
3292 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
3293 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
3294 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
3295 |
- cat "${S}"/config.env || die |
3296 |
- echo |
3297 |
- einfo "config.toml contents:" |
3298 |
- cat "${S}"/config.toml || die |
3299 |
- echo |
3300 |
-} |
3301 |
- |
3302 |
-src_compile() { |
3303 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
3304 |
- ( |
3305 |
- IFS=$'\n' |
3306 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
3307 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
3308 |
- ) |
3309 |
-} |
3310 |
- |
3311 |
-src_test() { |
3312 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
3313 |
- |
3314 |
- # those are basic and codegen tests. |
3315 |
- local tests=( |
3316 |
- codegen |
3317 |
- codegen-units |
3318 |
- compile-fail |
3319 |
- incremental |
3320 |
- mir-opt |
3321 |
- pretty |
3322 |
- run-make |
3323 |
- ) |
3324 |
- |
3325 |
- # fails if llvm is not built with ALL targets. |
3326 |
- # and known to fail with system llvm sometimes. |
3327 |
- use system-llvm || tests+=( assembly ) |
3328 |
- |
3329 |
- # fragile/expensive/less important tests |
3330 |
- # or tests that require extra builds |
3331 |
- # TODO: instead of skipping, just make some nonfatal. |
3332 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
3333 |
- tests+=( |
3334 |
- rustdoc |
3335 |
- rustdoc-js |
3336 |
- rustdoc-js-std |
3337 |
- rustdoc-ui |
3338 |
- run-make-fulldeps |
3339 |
- ui |
3340 |
- ui-fulldeps |
3341 |
- ) |
3342 |
- fi |
3343 |
- |
3344 |
- local i failed=() |
3345 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
3346 |
- for i in "${tests[@]}"; do |
3347 |
- local t="src/test/${i}" |
3348 |
- einfo "rust_src_test: running ${t}" |
3349 |
- if ! ( |
3350 |
- IFS=$'\n' |
3351 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
3352 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
3353 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
3354 |
- ) |
3355 |
- then |
3356 |
- failed+=( "${t}" ) |
3357 |
- eerror "rust_src_test: ${t} failed" |
3358 |
- fi |
3359 |
- done |
3360 |
- |
3361 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
3362 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
3363 |
- die "aborting due to test failures" |
3364 |
- fi |
3365 |
-} |
3366 |
- |
3367 |
-src_install() { |
3368 |
- ( |
3369 |
- IFS=$'\n' |
3370 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
3371 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
3372 |
- ) |
3373 |
- |
3374 |
- # bug #689562, #689160 |
3375 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
3376 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
3377 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
3378 |
- |
3379 |
- local symlinks=( |
3380 |
- cargo |
3381 |
- rustc |
3382 |
- rustdoc |
3383 |
- rust-gdb |
3384 |
- rust-gdbgui |
3385 |
- rust-lldb |
3386 |
- ) |
3387 |
- |
3388 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
3389 |
- use miri && symlinks+=( miri cargo-miri ) |
3390 |
- use rls && symlinks+=( rls ) |
3391 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
3392 |
- |
3393 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
3394 |
- local i |
3395 |
- for i in "${symlinks[@]}"; do |
3396 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
3397 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
3398 |
- # need to fix eselect-rust to remove this hack. |
3399 |
- local ver_i="${i}-${PV}" |
3400 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
3401 |
- einfo "Installing ${i} symlink" |
3402 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
3403 |
- else |
3404 |
- ewarn "${i} symlink requested, but source file not found" |
3405 |
- ewarn "please report this" |
3406 |
- fi |
3407 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
3408 |
- done |
3409 |
- |
3410 |
- # symlinks to switch components to active rust in eselect |
3411 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
3412 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
3413 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
3414 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
3415 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
3416 |
- |
3417 |
- newenvd - "50${P}" <<-_EOF_ |
3418 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
3419 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
3420 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
3421 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
3422 |
- _EOF_ |
3423 |
- |
3424 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
3425 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
3426 |
- |
3427 |
- # note: eselect-rust adds EROOT to all paths below |
3428 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
3429 |
- /usr/bin/cargo |
3430 |
- /usr/bin/rustdoc |
3431 |
- /usr/bin/rust-gdb |
3432 |
- /usr/bin/rust-gdbgui |
3433 |
- /usr/bin/rust-lldb |
3434 |
- /usr/lib/rustlib |
3435 |
- /usr/lib/rust/lib |
3436 |
- /usr/lib/rust/libexec |
3437 |
- /usr/lib/rust/man |
3438 |
- /usr/share/doc/rust |
3439 |
- _EOF_ |
3440 |
- |
3441 |
- if use clippy; then |
3442 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
3443 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
3444 |
- fi |
3445 |
- if use miri; then |
3446 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
3447 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
3448 |
- fi |
3449 |
- if use rls; then |
3450 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
3451 |
- fi |
3452 |
- if use rustfmt; then |
3453 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
3454 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
3455 |
- fi |
3456 |
- |
3457 |
- insinto /etc/env.d/rust |
3458 |
- doins "${T}/provider-${P}" |
3459 |
-} |
3460 |
- |
3461 |
-pkg_postinst() { |
3462 |
- eselect rust update |
3463 |
- |
3464 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
3465 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
3466 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
3467 |
- fi |
3468 |
- |
3469 |
- if has_version app-editors/emacs; then |
3470 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
3471 |
- fi |
3472 |
- |
3473 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
3474 |
- elog "install app-vim/rust-vim to get vim support for rust." |
3475 |
- fi |
3476 |
-} |
3477 |
- |
3478 |
-pkg_postrm() { |
3479 |
- eselect rust cleanup |
3480 |
-} |
3481 |
|
3482 |
diff --git a/dev-lang/rust/rust-1.57.0.ebuild b/dev-lang/rust/rust-1.57.0.ebuild |
3483 |
deleted file mode 100644 |
3484 |
index 39b05b5407cd..000000000000 |
3485 |
--- a/dev-lang/rust/rust-1.57.0.ebuild |
3486 |
+++ /dev/null |
3487 |
@@ -1,687 +0,0 @@ |
3488 |
-# Copyright 1999-2021 Gentoo Authors |
3489 |
-# Distributed under the terms of the GNU General Public License v2 |
3490 |
- |
3491 |
-EAPI=7 |
3492 |
- |
3493 |
-PYTHON_COMPAT=( python3_{7..10} ) |
3494 |
- |
3495 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
3496 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
3497 |
- |
3498 |
-if [[ ${PV} = *beta* ]]; then |
3499 |
- betaver=${PV//*beta} |
3500 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
3501 |
- MY_P="rustc-beta" |
3502 |
- SLOT="beta/${PV}" |
3503 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
3504 |
-else |
3505 |
- ABI_VER="$(ver_cut 1-2)" |
3506 |
- SLOT="stable/${ABI_VER}" |
3507 |
- MY_P="rustc-${PV}" |
3508 |
- SRC="${MY_P}-src.tar.xz" |
3509 |
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" |
3510 |
-fi |
3511 |
- |
3512 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
3513 |
- |
3514 |
-DESCRIPTION="Systems programming language from Mozilla" |
3515 |
-HOMEPAGE="https://www.rust-lang.org/" |
3516 |
- |
3517 |
-SRC_URI=" |
3518 |
- https://static.rust-lang.org/dist/${SRC} |
3519 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
3520 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
3521 |
-" |
3522 |
- |
3523 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
3524 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
3525 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
3526 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
3527 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
3528 |
- |
3529 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
3530 |
- |
3531 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
3532 |
- |
3533 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
3534 |
-# we need to *really* make sure we're not pulling more than one slot |
3535 |
-# simultaneously. |
3536 |
- |
3537 |
-# How to use it: |
3538 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
3539 |
-LLVM_VALID_SLOTS=( 13 ) |
3540 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
3541 |
- |
3542 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
3543 |
-# (-) usedep needed because we may build with older llvm without that target |
3544 |
-LLVM_DEPEND="|| ( " |
3545 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
3546 |
- LLVM_DEPEND+=" ( " |
3547 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
3548 |
- LLVM_DEPEND+=" |
3549 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
3550 |
- done |
3551 |
- LLVM_DEPEND+=" )" |
3552 |
-done |
3553 |
-unset _s _x |
3554 |
-LLVM_DEPEND+=" ) |
3555 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
3556 |
- wasm? ( sys-devel/lld ) |
3557 |
-" |
3558 |
- |
3559 |
-# to bootstrap we need at least exactly previous version, or same. |
3560 |
-# most of the time previous versions fail to bootstrap with newer |
3561 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
3562 |
-# but it fails to bootstrap with 1.48.x |
3563 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
3564 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
3565 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
3566 |
-BOOTSTRAP_DEPEND="|| |
3567 |
- ( |
3568 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
3569 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
3570 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
3571 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
3572 |
- ) |
3573 |
-" |
3574 |
- |
3575 |
-BDEPEND="${PYTHON_DEPS} |
3576 |
- app-eselect/eselect-rust |
3577 |
- || ( |
3578 |
- >=sys-devel/gcc-4.7 |
3579 |
- >=sys-devel/clang-3.5 |
3580 |
- ) |
3581 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
3582 |
- !system-llvm? ( |
3583 |
- >=dev-util/cmake-3.13.4 |
3584 |
- dev-util/ninja |
3585 |
- ) |
3586 |
- test? ( sys-devel/gdb ) |
3587 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
3588 |
-" |
3589 |
- |
3590 |
-DEPEND=" |
3591 |
- >=app-arch/xz-utils-5.2 |
3592 |
- net-misc/curl:=[http2,ssl] |
3593 |
- sys-libs/zlib:= |
3594 |
- dev-libs/openssl:0= |
3595 |
- elibc_musl? ( sys-libs/libunwind:= ) |
3596 |
- system-llvm? ( ${LLVM_DEPEND} ) |
3597 |
-" |
3598 |
- |
3599 |
-# we need to block older versions due to layout changes. |
3600 |
-RDEPEND="${DEPEND} |
3601 |
- app-eselect/eselect-rust |
3602 |
- !<dev-lang/rust-1.47.0-r1 |
3603 |
- !<dev-lang/rust-bin-1.47.0-r1 |
3604 |
-" |
3605 |
- |
3606 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
3607 |
- miri? ( nightly ) |
3608 |
- parallel-compiler? ( nightly ) |
3609 |
- rls? ( rust-src ) |
3610 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
3611 |
- wasm? ( llvm_targets_WebAssembly ) |
3612 |
- x86? ( cpu_flags_x86_sse2 ) |
3613 |
-" |
3614 |
- |
3615 |
-# we don't use cmake.eclass, but can get a warnings |
3616 |
-CMAKE_WARN_UNUSED_CLI=no |
3617 |
- |
3618 |
-QA_FLAGS_IGNORED=" |
3619 |
- usr/lib/${PN}/${PV}/bin/.* |
3620 |
- usr/lib/${PN}/${PV}/libexec/.* |
3621 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
3622 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
3623 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
3624 |
-" |
3625 |
- |
3626 |
-QA_SONAME=" |
3627 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
3628 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
3629 |
-" |
3630 |
- |
3631 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
3632 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
3633 |
-# so we can safely silence the warning for this QA check. |
3634 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
3635 |
- |
3636 |
-# causes double bootstrap |
3637 |
-RESTRICT="test" |
3638 |
- |
3639 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
3640 |
- |
3641 |
-PATCHES=( |
3642 |
- "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch |
3643 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
3644 |
- "${FILESDIR}"/1.57.0-selfbootstrap.patch |
3645 |
-) |
3646 |
- |
3647 |
-S="${WORKDIR}/${MY_P}-src" |
3648 |
- |
3649 |
-toml_usex() { |
3650 |
- usex "${1}" true false |
3651 |
-} |
3652 |
- |
3653 |
-bootstrap_rust_version_check() { |
3654 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
3655 |
- [[ ${MERGE_TYPE} == binary ]] && return |
3656 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
3657 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
3658 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
3659 |
- rustc_version=${rustc_version[0]#rust-bin-} |
3660 |
- rustc_version=${rustc_version#rust-} |
3661 |
- |
3662 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
3663 |
- |
3664 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
3665 |
- eerror "Rust >=${rustc_wanted} is required" |
3666 |
- eerror "please run 'eselect rust' and set correct rust version" |
3667 |
- die "selected rust version is too old" |
3668 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
3669 |
- eerror "Rust <${rustc_toonew} is required" |
3670 |
- eerror "please run 'eselect rust' and set correct rust version" |
3671 |
- die "selected rust version is too new" |
3672 |
- else |
3673 |
- einfo "Using rust ${rustc_version} to build" |
3674 |
- fi |
3675 |
-} |
3676 |
- |
3677 |
-pre_build_checks() { |
3678 |
- local M=4096 |
3679 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
3680 |
- if use amd64; then |
3681 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
3682 |
- fi |
3683 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
3684 |
- M=$(( $(usex miri 128 0) + ${M} )) |
3685 |
- M=$(( $(usex rls 512 0) + ${M} )) |
3686 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
3687 |
- # add 2G if we compile llvm and 256M per llvm_target |
3688 |
- if ! use system-llvm; then |
3689 |
- M=$(( 2048 + ${M} )) |
3690 |
- local ltarget |
3691 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
3692 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
3693 |
- done |
3694 |
- fi |
3695 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
3696 |
- M=$(( $(usex debug 2 1) * ${M} )) |
3697 |
- eshopts_push -s extglob |
3698 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
3699 |
- M=$(( 15 * ${M} / 10 )) |
3700 |
- fi |
3701 |
- eshopts_pop |
3702 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
3703 |
- M=$(( $(usex doc 256 0) + ${M} )) |
3704 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
3705 |
-} |
3706 |
- |
3707 |
-llvm_check_deps() { |
3708 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
3709 |
-} |
3710 |
- |
3711 |
-pkg_pretend() { |
3712 |
- pre_build_checks |
3713 |
-} |
3714 |
- |
3715 |
-pkg_setup() { |
3716 |
- pre_build_checks |
3717 |
- python-any-r1_pkg_setup |
3718 |
- |
3719 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
3720 |
- |
3721 |
- use system-bootstrap && bootstrap_rust_version_check |
3722 |
- |
3723 |
- if use system-llvm; then |
3724 |
- llvm_pkg_setup |
3725 |
- |
3726 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3727 |
- export LLVM_LINK_SHARED=1 |
3728 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
3729 |
- fi |
3730 |
-} |
3731 |
- |
3732 |
-src_prepare() { |
3733 |
- if ! use system-bootstrap; then |
3734 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
3735 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
3736 |
- |
3737 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
3738 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
3739 |
- fi |
3740 |
- |
3741 |
- default |
3742 |
-} |
3743 |
- |
3744 |
-src_configure() { |
3745 |
- local rust_target="" rust_targets="" arch_cflags |
3746 |
- |
3747 |
- # Collect rust target names to compile standard libs for all ABIs. |
3748 |
- for v in $(multilib_get_enabled_abi_pairs); do |
3749 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
3750 |
- done |
3751 |
- if use wasm; then |
3752 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
3753 |
- if use system-llvm; then |
3754 |
- # un-hardcode rust-lld linker for this target |
3755 |
- # https://bugs.gentoo.org/715348 |
3756 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
3757 |
- fi |
3758 |
- fi |
3759 |
- rust_targets="${rust_targets#,}" |
3760 |
- |
3761 |
- local tools="\"cargo\"," |
3762 |
- if use clippy; then |
3763 |
- tools="\"clippy\",$tools" |
3764 |
- fi |
3765 |
- if use miri; then |
3766 |
- tools="\"miri\",$tools" |
3767 |
- fi |
3768 |
- if use rls; then |
3769 |
- tools="\"rls\",\"analysis\",$tools" |
3770 |
- fi |
3771 |
- if use rustfmt; then |
3772 |
- tools="\"rustfmt\",$tools" |
3773 |
- fi |
3774 |
- if use rust-src; then |
3775 |
- tools="\"src\",$tools" |
3776 |
- fi |
3777 |
- |
3778 |
- local rust_stage0_root |
3779 |
- if use system-bootstrap; then |
3780 |
- local printsysroot |
3781 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
3782 |
- rust_stage0_root="${printsysroot}" |
3783 |
- else |
3784 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
3785 |
- fi |
3786 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
3787 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
3788 |
- |
3789 |
- rust_target="$(rust_abi)" |
3790 |
- |
3791 |
- cat <<- _EOF_ > "${S}"/config.toml |
3792 |
- changelog-seen = 2 |
3793 |
- [llvm] |
3794 |
- download-ci-llvm = false |
3795 |
- optimize = $(toml_usex !debug) |
3796 |
- release-debuginfo = $(toml_usex debug) |
3797 |
- assertions = $(toml_usex debug) |
3798 |
- ninja = true |
3799 |
- targets = "${LLVM_TARGETS// /;}" |
3800 |
- experimental-targets = "" |
3801 |
- link-shared = $(toml_usex system-llvm) |
3802 |
- [build] |
3803 |
- build-stage = 2 |
3804 |
- test-stage = 2 |
3805 |
- doc-stage = 2 |
3806 |
- build = "${rust_target}" |
3807 |
- host = ["${rust_target}"] |
3808 |
- target = [${rust_targets}] |
3809 |
- cargo = "${rust_stage0_root}/bin/cargo" |
3810 |
- rustc = "${rust_stage0_root}/bin/rustc" |
3811 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
3812 |
- docs = $(toml_usex doc) |
3813 |
- compiler-docs = false |
3814 |
- submodules = false |
3815 |
- python = "${EPYTHON}" |
3816 |
- locked-deps = true |
3817 |
- vendor = true |
3818 |
- extended = true |
3819 |
- tools = [${tools}] |
3820 |
- verbose = 2 |
3821 |
- sanitizers = false |
3822 |
- profiler = false |
3823 |
- cargo-native-static = false |
3824 |
- [install] |
3825 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
3826 |
- sysconfdir = "etc" |
3827 |
- docdir = "share/doc/rust" |
3828 |
- bindir = "bin" |
3829 |
- libdir = "lib" |
3830 |
- mandir = "share/man" |
3831 |
- [rust] |
3832 |
- # https://github.com/rust-lang/rust/issues/54872 |
3833 |
- codegen-units-std = 1 |
3834 |
- optimize = true |
3835 |
- debug = $(toml_usex debug) |
3836 |
- debug-assertions = $(toml_usex debug) |
3837 |
- debug-assertions-std = $(toml_usex debug) |
3838 |
- debuginfo-level = $(usex debug 2 0) |
3839 |
- debuginfo-level-rustc = $(usex debug 2 0) |
3840 |
- debuginfo-level-std = $(usex debug 2 0) |
3841 |
- debuginfo-level-tools = $(usex debug 2 0) |
3842 |
- debuginfo-level-tests = 0 |
3843 |
- backtrace = true |
3844 |
- incremental = false |
3845 |
- default-linker = "$(tc-getCC)" |
3846 |
- parallel-compiler = $(toml_usex parallel-compiler) |
3847 |
- channel = "$(usex nightly nightly stable)" |
3848 |
- description = "gentoo" |
3849 |
- rpath = false |
3850 |
- verbose-tests = true |
3851 |
- optimize-tests = $(toml_usex !debug) |
3852 |
- codegen-tests = true |
3853 |
- dist-src = false |
3854 |
- remap-debuginfo = true |
3855 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
3856 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
3857 |
- # https://github.com/rust-lang/rust/issues/74976 |
3858 |
- # https://github.com/rust-lang/rust/issues/76526 |
3859 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
3860 |
- backtrace-on-ice = true |
3861 |
- jemalloc = false |
3862 |
- [dist] |
3863 |
- src-tarball = false |
3864 |
- compression-formats = ["gz"] |
3865 |
- _EOF_ |
3866 |
- |
3867 |
- for v in $(multilib_get_enabled_abi_pairs); do |
3868 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
3869 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
3870 |
- |
3871 |
- cat <<- _EOF_ >> "${S}"/config.env |
3872 |
- CFLAGS_${rust_target}=${arch_cflags} |
3873 |
- _EOF_ |
3874 |
- |
3875 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3876 |
- [target.${rust_target}] |
3877 |
- cc = "$(tc-getBUILD_CC)" |
3878 |
- cxx = "$(tc-getBUILD_CXX)" |
3879 |
- linker = "$(tc-getCC)" |
3880 |
- ar = "$(tc-getAR)" |
3881 |
- _EOF_ |
3882 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
3883 |
- if use elibc_musl; then |
3884 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3885 |
- crt-static = false |
3886 |
- _EOF_ |
3887 |
- fi |
3888 |
- if use system-llvm; then |
3889 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3890 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3891 |
- _EOF_ |
3892 |
- fi |
3893 |
- done |
3894 |
- if use wasm; then |
3895 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3896 |
- [target.wasm32-unknown-unknown] |
3897 |
- linker = "$(usex system-llvm lld rust-lld)" |
3898 |
- _EOF_ |
3899 |
- fi |
3900 |
- |
3901 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
3902 |
- # experimental cross support |
3903 |
- # discussion: https://bugs.gentoo.org/679878 |
3904 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
3905 |
- # it would be much better if we could split out stdlib |
3906 |
- # complilation to separate ebuild and abuse CATEGORY to |
3907 |
- # just install to /usr/lib/rustlib/<target> |
3908 |
- |
3909 |
- # extra targets defined as a bash array |
3910 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
3911 |
- # best place would be /etc/portage/env/dev-lang/rust |
3912 |
- # Example: |
3913 |
- # RUST_CROSS_TARGETS=( |
3914 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
3915 |
- # ) |
3916 |
- # no extra hand holding is done, no target transformations, all |
3917 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
3918 |
- # valid rust targets can be obtained with |
3919 |
- # rustc --print target-list |
3920 |
- # matching cross toolchain has to be installed |
3921 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
3922 |
- # only gcc toolchains installed with crossdev are checked for now. |
3923 |
- |
3924 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
3925 |
- # BUG: this should be more fine-grained. |
3926 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
3927 |
- |
3928 |
- local cross_target_spec |
3929 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
3930 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
3931 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
3932 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
3933 |
- local cross_triples="${cross_target_spec#*:}" |
3934 |
- # extracts first element after before : separator |
3935 |
- local cross_rust_target="${cross_triples%%:*}" |
3936 |
- # extracts last element after : separator |
3937 |
- local cross_toolchain="${cross_triples##*:}" |
3938 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
3939 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
3940 |
- |
3941 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3942 |
- [target.${cross_rust_target}] |
3943 |
- cc = "${cross_toolchain}-gcc" |
3944 |
- cxx = "${cross_toolchain}-g++" |
3945 |
- linker = "${cross_toolchain}-gcc" |
3946 |
- ar = "${cross_toolchain}-ar" |
3947 |
- _EOF_ |
3948 |
- if use system-llvm; then |
3949 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3950 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
3951 |
- _EOF_ |
3952 |
- fi |
3953 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
3954 |
- cat <<- _EOF_ >> "${S}"/config.toml |
3955 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
3956 |
- _EOF_ |
3957 |
- fi |
3958 |
- |
3959 |
- # append cross target to "normal" target list |
3960 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
3961 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
3962 |
- |
3963 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
3964 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
3965 |
- |
3966 |
- ewarn |
3967 |
- ewarn "Enabled ${cross_rust_target} rust target" |
3968 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
3969 |
- ewarn |
3970 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
3971 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
3972 |
- ewarn "'strip' will be unable to strip cross libraries" |
3973 |
- ewarn "cross targets will be installed with full debug information" |
3974 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
3975 |
- ewarn |
3976 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
3977 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
3978 |
- ewarn |
3979 |
- fi |
3980 |
- done |
3981 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
3982 |
- |
3983 |
- einfo "Rust configured with the following flags:" |
3984 |
- echo |
3985 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
3986 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
3987 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
3988 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
3989 |
- cat "${S}"/config.env || die |
3990 |
- echo |
3991 |
- einfo "config.toml contents:" |
3992 |
- cat "${S}"/config.toml || die |
3993 |
- echo |
3994 |
-} |
3995 |
- |
3996 |
-src_compile() { |
3997 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
3998 |
- ( |
3999 |
- IFS=$'\n' |
4000 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
4001 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
4002 |
- ) |
4003 |
-} |
4004 |
- |
4005 |
-src_test() { |
4006 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
4007 |
- |
4008 |
- # those are basic and codegen tests. |
4009 |
- local tests=( |
4010 |
- codegen |
4011 |
- codegen-units |
4012 |
- compile-fail |
4013 |
- incremental |
4014 |
- mir-opt |
4015 |
- pretty |
4016 |
- run-make |
4017 |
- ) |
4018 |
- |
4019 |
- # fails if llvm is not built with ALL targets. |
4020 |
- # and known to fail with system llvm sometimes. |
4021 |
- use system-llvm || tests+=( assembly ) |
4022 |
- |
4023 |
- # fragile/expensive/less important tests |
4024 |
- # or tests that require extra builds |
4025 |
- # TODO: instead of skipping, just make some nonfatal. |
4026 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
4027 |
- tests+=( |
4028 |
- rustdoc |
4029 |
- rustdoc-js |
4030 |
- rustdoc-js-std |
4031 |
- rustdoc-ui |
4032 |
- run-make-fulldeps |
4033 |
- ui |
4034 |
- ui-fulldeps |
4035 |
- ) |
4036 |
- fi |
4037 |
- |
4038 |
- local i failed=() |
4039 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
4040 |
- for i in "${tests[@]}"; do |
4041 |
- local t="src/test/${i}" |
4042 |
- einfo "rust_src_test: running ${t}" |
4043 |
- if ! ( |
4044 |
- IFS=$'\n' |
4045 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
4046 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
4047 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
4048 |
- ) |
4049 |
- then |
4050 |
- failed+=( "${t}" ) |
4051 |
- eerror "rust_src_test: ${t} failed" |
4052 |
- fi |
4053 |
- done |
4054 |
- |
4055 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
4056 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
4057 |
- die "aborting due to test failures" |
4058 |
- fi |
4059 |
-} |
4060 |
- |
4061 |
-src_install() { |
4062 |
- ( |
4063 |
- IFS=$'\n' |
4064 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
4065 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
4066 |
- ) |
4067 |
- |
4068 |
- # bug #689562, #689160 |
4069 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
4070 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
4071 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
4072 |
- |
4073 |
- local symlinks=( |
4074 |
- cargo |
4075 |
- rustc |
4076 |
- rustdoc |
4077 |
- rust-gdb |
4078 |
- rust-gdbgui |
4079 |
- rust-lldb |
4080 |
- ) |
4081 |
- |
4082 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
4083 |
- use miri && symlinks+=( miri cargo-miri ) |
4084 |
- use rls && symlinks+=( rls ) |
4085 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
4086 |
- |
4087 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
4088 |
- local i |
4089 |
- for i in "${symlinks[@]}"; do |
4090 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
4091 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
4092 |
- # need to fix eselect-rust to remove this hack. |
4093 |
- local ver_i="${i}-${PV}" |
4094 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
4095 |
- einfo "Installing ${i} symlink" |
4096 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
4097 |
- else |
4098 |
- ewarn "${i} symlink requested, but source file not found" |
4099 |
- ewarn "please report this" |
4100 |
- fi |
4101 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
4102 |
- done |
4103 |
- |
4104 |
- # symlinks to switch components to active rust in eselect |
4105 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
4106 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
4107 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
4108 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
4109 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
4110 |
- |
4111 |
- newenvd - "50${P}" <<-_EOF_ |
4112 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
4113 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
4114 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
4115 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
4116 |
- _EOF_ |
4117 |
- |
4118 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
4119 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
4120 |
- |
4121 |
- # note: eselect-rust adds EROOT to all paths below |
4122 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
4123 |
- /usr/bin/cargo |
4124 |
- /usr/bin/rustdoc |
4125 |
- /usr/bin/rust-gdb |
4126 |
- /usr/bin/rust-gdbgui |
4127 |
- /usr/bin/rust-lldb |
4128 |
- /usr/lib/rustlib |
4129 |
- /usr/lib/rust/lib |
4130 |
- /usr/lib/rust/libexec |
4131 |
- /usr/lib/rust/man |
4132 |
- /usr/share/doc/rust |
4133 |
- _EOF_ |
4134 |
- |
4135 |
- if use clippy; then |
4136 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
4137 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
4138 |
- fi |
4139 |
- if use miri; then |
4140 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
4141 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
4142 |
- fi |
4143 |
- if use rls; then |
4144 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
4145 |
- fi |
4146 |
- if use rustfmt; then |
4147 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
4148 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
4149 |
- fi |
4150 |
- |
4151 |
- insinto /etc/env.d/rust |
4152 |
- doins "${T}/provider-${P}" |
4153 |
-} |
4154 |
- |
4155 |
-pkg_postinst() { |
4156 |
- eselect rust update |
4157 |
- |
4158 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
4159 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
4160 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
4161 |
- fi |
4162 |
- |
4163 |
- if has_version app-editors/emacs; then |
4164 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
4165 |
- fi |
4166 |
- |
4167 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
4168 |
- elog "install app-vim/rust-vim to get vim support for rust." |
4169 |
- fi |
4170 |
-} |
4171 |
- |
4172 |
-pkg_postrm() { |
4173 |
- eselect rust cleanup |
4174 |
-} |
4175 |
|
4176 |
diff --git a/dev-lang/rust/rust-1.58.0.ebuild b/dev-lang/rust/rust-1.58.0.ebuild |
4177 |
deleted file mode 100644 |
4178 |
index 05df5cfc5f9d..000000000000 |
4179 |
--- a/dev-lang/rust/rust-1.58.0.ebuild |
4180 |
+++ /dev/null |
4181 |
@@ -1,699 +0,0 @@ |
4182 |
-# Copyright 1999-2022 Gentoo Authors |
4183 |
-# Distributed under the terms of the GNU General Public License v2 |
4184 |
- |
4185 |
-EAPI=7 |
4186 |
- |
4187 |
-PYTHON_COMPAT=( python3_{7..10} ) |
4188 |
- |
4189 |
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ |
4190 |
- multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig |
4191 |
- |
4192 |
-if [[ ${PV} = *beta* ]]; then |
4193 |
- betaver=${PV//*beta} |
4194 |
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" |
4195 |
- MY_P="rustc-beta" |
4196 |
- SLOT="beta/${PV}" |
4197 |
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" |
4198 |
-else |
4199 |
- ABI_VER="$(ver_cut 1-2)" |
4200 |
- SLOT="stable/${ABI_VER}" |
4201 |
- MY_P="rustc-${PV}" |
4202 |
- SRC="${MY_P}-src.tar.xz" |
4203 |
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" |
4204 |
-fi |
4205 |
- |
4206 |
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" |
4207 |
- |
4208 |
-DESCRIPTION="Systems programming language from Mozilla" |
4209 |
-HOMEPAGE="https://www.rust-lang.org/" |
4210 |
- |
4211 |
-SRC_URI=" |
4212 |
- https://static.rust-lang.org/dist/${SRC} |
4213 |
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) |
4214 |
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) |
4215 |
-" |
4216 |
- |
4217 |
-# keep in sync with llvm ebuild of the same version as bundled one. |
4218 |
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 |
4219 |
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) |
4220 |
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) |
4221 |
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} |
4222 |
- |
4223 |
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
4224 |
- |
4225 |
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" |
4226 |
- |
4227 |
-# Please keep the LLVM dependency block separate. Since LLVM is slotted, |
4228 |
-# we need to *really* make sure we're not pulling more than one slot |
4229 |
-# simultaneously. |
4230 |
- |
4231 |
-# How to use it: |
4232 |
-# List all the working slots in LLVM_VALID_SLOTS, newest first. |
4233 |
-LLVM_VALID_SLOTS=( 13 ) |
4234 |
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" |
4235 |
- |
4236 |
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation |
4237 |
-# (-) usedep needed because we may build with older llvm without that target |
4238 |
-LLVM_DEPEND="|| ( " |
4239 |
-for _s in ${LLVM_VALID_SLOTS[@]}; do |
4240 |
- LLVM_DEPEND+=" ( " |
4241 |
- for _x in ${ALL_LLVM_TARGETS[@]}; do |
4242 |
- LLVM_DEPEND+=" |
4243 |
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" |
4244 |
- done |
4245 |
- LLVM_DEPEND+=" )" |
4246 |
-done |
4247 |
-unset _s _x |
4248 |
-LLVM_DEPEND+=" ) |
4249 |
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= |
4250 |
- wasm? ( sys-devel/lld ) |
4251 |
-" |
4252 |
- |
4253 |
-# to bootstrap we need at least exactly previous version, or same. |
4254 |
-# most of the time previous versions fail to bootstrap with newer |
4255 |
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, |
4256 |
-# but it fails to bootstrap with 1.48.x |
4257 |
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt |
4258 |
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" |
4259 |
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" |
4260 |
-BOOTSTRAP_DEPEND="|| |
4261 |
- ( |
4262 |
- =dev-lang/rust-"${RUST_DEP_PREV}" |
4263 |
- =dev-lang/rust-bin-"${RUST_DEP_PREV}" |
4264 |
- =dev-lang/rust-"${RUST_DEP_CURR}" |
4265 |
- =dev-lang/rust-bin-"${RUST_DEP_CURR}" |
4266 |
- ) |
4267 |
-" |
4268 |
- |
4269 |
-BDEPEND="${PYTHON_DEPS} |
4270 |
- app-eselect/eselect-rust |
4271 |
- || ( |
4272 |
- >=sys-devel/gcc-4.7 |
4273 |
- >=sys-devel/clang-3.5 |
4274 |
- ) |
4275 |
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) |
4276 |
- !system-llvm? ( |
4277 |
- >=dev-util/cmake-3.13.4 |
4278 |
- dev-util/ninja |
4279 |
- ) |
4280 |
- test? ( sys-devel/gdb ) |
4281 |
- verify-sig? ( sec-keys/openpgp-keys-rust ) |
4282 |
-" |
4283 |
- |
4284 |
-DEPEND=" |
4285 |
- >=app-arch/xz-utils-5.2 |
4286 |
- net-misc/curl:=[http2,ssl] |
4287 |
- sys-libs/zlib:= |
4288 |
- dev-libs/openssl:0= |
4289 |
- elibc_musl? ( sys-libs/libunwind:= ) |
4290 |
- system-llvm? ( ${LLVM_DEPEND} ) |
4291 |
-" |
4292 |
- |
4293 |
-# we need to block older versions due to layout changes. |
4294 |
-RDEPEND="${DEPEND} |
4295 |
- app-eselect/eselect-rust |
4296 |
- !<dev-lang/rust-1.47.0-r1 |
4297 |
- !<dev-lang/rust-bin-1.47.0-r1 |
4298 |
-" |
4299 |
- |
4300 |
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) |
4301 |
- miri? ( nightly ) |
4302 |
- parallel-compiler? ( nightly ) |
4303 |
- rls? ( rust-src ) |
4304 |
- test? ( ${ALL_LLVM_TARGETS[*]} ) |
4305 |
- wasm? ( llvm_targets_WebAssembly ) |
4306 |
- x86? ( cpu_flags_x86_sse2 ) |
4307 |
-" |
4308 |
- |
4309 |
-# we don't use cmake.eclass, but can get a warning |
4310 |
-CMAKE_WARN_UNUSED_CLI=no |
4311 |
- |
4312 |
-QA_FLAGS_IGNORED=" |
4313 |
- usr/lib/${PN}/${PV}/bin/.* |
4314 |
- usr/lib/${PN}/${PV}/libexec/.* |
4315 |
- usr/lib/${PN}/${PV}/lib/lib.*.so |
4316 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* |
4317 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
4318 |
-" |
4319 |
- |
4320 |
-QA_SONAME=" |
4321 |
- usr/lib/${PN}/${PV}/lib/lib.*.so.* |
4322 |
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so |
4323 |
-" |
4324 |
- |
4325 |
-QA_PRESTRIPPED=" |
4326 |
- usr/lib/rust/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp |
4327 |
-" |
4328 |
-# An rmeta file is custom binary format that contains the metadata for the crate. |
4329 |
-# rmeta files do not support linking, since they do not contain compiled object files. |
4330 |
-# so we can safely silence the warning for this QA check. |
4331 |
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" |
4332 |
- |
4333 |
-# causes double bootstrap |
4334 |
-RESTRICT="test" |
4335 |
- |
4336 |
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc |
4337 |
- |
4338 |
-PATCHES=( |
4339 |
- "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch |
4340 |
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch |
4341 |
-) |
4342 |
- |
4343 |
-S="${WORKDIR}/${MY_P}-src" |
4344 |
- |
4345 |
-toml_usex() { |
4346 |
- usex "${1}" true false |
4347 |
-} |
4348 |
- |
4349 |
-bootstrap_rust_version_check() { |
4350 |
- # never call from pkg_pretend. eselect-rust may be not installed yet. |
4351 |
- [[ ${MERGE_TYPE} == binary ]] && return |
4352 |
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" |
4353 |
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" |
4354 |
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) |
4355 |
- rustc_version=${rustc_version[0]#rust-bin-} |
4356 |
- rustc_version=${rustc_version#rust-} |
4357 |
- |
4358 |
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" |
4359 |
- |
4360 |
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then |
4361 |
- eerror "Rust >=${rustc_wanted} is required" |
4362 |
- eerror "please run 'eselect rust' and set correct rust version" |
4363 |
- die "selected rust version is too old" |
4364 |
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then |
4365 |
- eerror "Rust <${rustc_toonew} is required" |
4366 |
- eerror "please run 'eselect rust' and set correct rust version" |
4367 |
- die "selected rust version is too new" |
4368 |
- else |
4369 |
- einfo "Using rust ${rustc_version} to build" |
4370 |
- fi |
4371 |
-} |
4372 |
- |
4373 |
-pre_build_checks() { |
4374 |
- local M=4096 |
4375 |
- # multiply requirements by 1.5 if we are doing x86-multilib |
4376 |
- if use amd64; then |
4377 |
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) |
4378 |
- fi |
4379 |
- M=$(( $(usex clippy 128 0) + ${M} )) |
4380 |
- M=$(( $(usex miri 128 0) + ${M} )) |
4381 |
- M=$(( $(usex rls 512 0) + ${M} )) |
4382 |
- M=$(( $(usex rustfmt 256 0) + ${M} )) |
4383 |
- # add 2G if we compile llvm and 256M per llvm_target |
4384 |
- if ! use system-llvm; then |
4385 |
- M=$(( 2048 + ${M} )) |
4386 |
- local ltarget |
4387 |
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do |
4388 |
- M=$(( $(usex ${ltarget} 256 0) + ${M} )) |
4389 |
- done |
4390 |
- fi |
4391 |
- M=$(( $(usex wasm 256 0) + ${M} )) |
4392 |
- M=$(( $(usex debug 2 1) * ${M} )) |
4393 |
- eshopts_push -s extglob |
4394 |
- if is-flagq '-g?(gdb)?([1-9])'; then |
4395 |
- M=$(( 15 * ${M} / 10 )) |
4396 |
- fi |
4397 |
- eshopts_pop |
4398 |
- M=$(( $(usex system-bootstrap 0 1024) + ${M} )) |
4399 |
- M=$(( $(usex doc 256 0) + ${M} )) |
4400 |
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} |
4401 |
-} |
4402 |
- |
4403 |
-llvm_check_deps() { |
4404 |
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" |
4405 |
-} |
4406 |
- |
4407 |
-pkg_pretend() { |
4408 |
- pre_build_checks |
4409 |
-} |
4410 |
- |
4411 |
-pkg_setup() { |
4412 |
- pre_build_checks |
4413 |
- python-any-r1_pkg_setup |
4414 |
- |
4415 |
- export LIBGIT2_NO_PKG_CONFIG=1 #749381 |
4416 |
- |
4417 |
- use system-bootstrap && bootstrap_rust_version_check |
4418 |
- |
4419 |
- if use system-llvm; then |
4420 |
- llvm_pkg_setup |
4421 |
- |
4422 |
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
4423 |
- export LLVM_LINK_SHARED=1 |
4424 |
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" |
4425 |
- fi |
4426 |
-} |
4427 |
- |
4428 |
-src_prepare() { |
4429 |
- if ! use system-bootstrap; then |
4430 |
- local rust_stage0_root="${WORKDIR}"/rust-stage0 |
4431 |
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" |
4432 |
- |
4433 |
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ |
4434 |
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die |
4435 |
- fi |
4436 |
- |
4437 |
- default |
4438 |
-} |
4439 |
- |
4440 |
-src_configure() { |
4441 |
- local rust_target="" rust_targets="" arch_cflags |
4442 |
- |
4443 |
- # Collect rust target names to compile standard libs for all ABIs. |
4444 |
- for v in $(multilib_get_enabled_abi_pairs); do |
4445 |
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" |
4446 |
- done |
4447 |
- if use wasm; then |
4448 |
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" |
4449 |
- if use system-llvm; then |
4450 |
- # un-hardcode rust-lld linker for this target |
4451 |
- # https://bugs.gentoo.org/715348 |
4452 |
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die |
4453 |
- fi |
4454 |
- fi |
4455 |
- rust_targets="${rust_targets#,}" |
4456 |
- |
4457 |
- local tools="\"cargo\"," |
4458 |
- if use clippy; then |
4459 |
- tools="\"clippy\",$tools" |
4460 |
- fi |
4461 |
- if use miri; then |
4462 |
- tools="\"miri\",$tools" |
4463 |
- fi |
4464 |
- if use rls; then |
4465 |
- tools="\"rls\",\"analysis\",$tools" |
4466 |
- fi |
4467 |
- if use rustfmt; then |
4468 |
- tools="\"rustfmt\",$tools" |
4469 |
- fi |
4470 |
- if use rust-src; then |
4471 |
- tools="\"src\",$tools" |
4472 |
- fi |
4473 |
- |
4474 |
- local rust_stage0_root |
4475 |
- if use system-bootstrap; then |
4476 |
- local printsysroot |
4477 |
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" |
4478 |
- rust_stage0_root="${printsysroot}" |
4479 |
- else |
4480 |
- rust_stage0_root="${WORKDIR}"/rust-stage0 |
4481 |
- fi |
4482 |
- # in case of prefix it will be already prefixed, as --print sysroot returns full path |
4483 |
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" |
4484 |
- |
4485 |
- rust_target="$(rust_abi)" |
4486 |
- |
4487 |
- cat <<- _EOF_ > "${S}"/config.toml |
4488 |
- changelog-seen = 2 |
4489 |
- [llvm] |
4490 |
- download-ci-llvm = false |
4491 |
- optimize = $(toml_usex !debug) |
4492 |
- release-debuginfo = $(toml_usex debug) |
4493 |
- assertions = $(toml_usex debug) |
4494 |
- ninja = true |
4495 |
- targets = "${LLVM_TARGETS// /;}" |
4496 |
- experimental-targets = "" |
4497 |
- link-shared = $(toml_usex system-llvm) |
4498 |
- $(case "${rust_target}" in |
4499 |
- i586-*-linux-*) |
4500 |
- # https://github.com/rust-lang/rust/issues/93059 |
4501 |
- echo 'cflags = "-fcf-protection=none"' |
4502 |
- echo 'cxxflags = "-fcf-protection=none"' |
4503 |
- echo 'ldflags = "-fcf-protection=none"' |
4504 |
- ;; |
4505 |
- esac) |
4506 |
- [build] |
4507 |
- build-stage = 2 |
4508 |
- test-stage = 2 |
4509 |
- doc-stage = 2 |
4510 |
- build = "${rust_target}" |
4511 |
- host = ["${rust_target}"] |
4512 |
- target = [${rust_targets}] |
4513 |
- cargo = "${rust_stage0_root}/bin/cargo" |
4514 |
- rustc = "${rust_stage0_root}/bin/rustc" |
4515 |
- rustfmt = "${rust_stage0_root}/bin/rustfmt" |
4516 |
- docs = $(toml_usex doc) |
4517 |
- compiler-docs = false |
4518 |
- submodules = false |
4519 |
- python = "${EPYTHON}" |
4520 |
- locked-deps = true |
4521 |
- vendor = true |
4522 |
- extended = true |
4523 |
- tools = [${tools}] |
4524 |
- verbose = 2 |
4525 |
- sanitizers = false |
4526 |
- profiler = false |
4527 |
- cargo-native-static = false |
4528 |
- [install] |
4529 |
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" |
4530 |
- sysconfdir = "etc" |
4531 |
- docdir = "share/doc/rust" |
4532 |
- bindir = "bin" |
4533 |
- libdir = "lib" |
4534 |
- mandir = "share/man" |
4535 |
- [rust] |
4536 |
- # https://github.com/rust-lang/rust/issues/54872 |
4537 |
- codegen-units-std = 1 |
4538 |
- optimize = true |
4539 |
- debug = $(toml_usex debug) |
4540 |
- debug-assertions = $(toml_usex debug) |
4541 |
- debug-assertions-std = $(toml_usex debug) |
4542 |
- debuginfo-level = $(usex debug 2 0) |
4543 |
- debuginfo-level-rustc = $(usex debug 2 0) |
4544 |
- debuginfo-level-std = $(usex debug 2 0) |
4545 |
- debuginfo-level-tools = $(usex debug 2 0) |
4546 |
- debuginfo-level-tests = 0 |
4547 |
- backtrace = true |
4548 |
- incremental = false |
4549 |
- default-linker = "$(tc-getCC)" |
4550 |
- parallel-compiler = $(toml_usex parallel-compiler) |
4551 |
- channel = "$(usex nightly nightly stable)" |
4552 |
- description = "gentoo" |
4553 |
- rpath = false |
4554 |
- verbose-tests = true |
4555 |
- optimize-tests = $(toml_usex !debug) |
4556 |
- codegen-tests = true |
4557 |
- dist-src = false |
4558 |
- remap-debuginfo = true |
4559 |
- lld = $(usex system-llvm false $(toml_usex wasm)) |
4560 |
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it |
4561 |
- # https://github.com/rust-lang/rust/issues/74976 |
4562 |
- # https://github.com/rust-lang/rust/issues/76526 |
4563 |
- deny-warnings = $(usex wasm $(usex doc false true) true) |
4564 |
- backtrace-on-ice = true |
4565 |
- jemalloc = false |
4566 |
- [dist] |
4567 |
- src-tarball = false |
4568 |
- compression-formats = ["gz"] |
4569 |
- _EOF_ |
4570 |
- |
4571 |
- for v in $(multilib_get_enabled_abi_pairs); do |
4572 |
- rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) |
4573 |
- arch_cflags="$(get_abi_CFLAGS ${v##*.})" |
4574 |
- |
4575 |
- cat <<- _EOF_ >> "${S}"/config.env |
4576 |
- CFLAGS_${rust_target}=${arch_cflags} |
4577 |
- _EOF_ |
4578 |
- |
4579 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4580 |
- [target.${rust_target}] |
4581 |
- ar = "$(tc-getAR)" |
4582 |
- cc = "$(tc-getCC)" |
4583 |
- cxx = "$(tc-getCXX)" |
4584 |
- linker = "$(tc-getCC)" |
4585 |
- ranlib = "$(tc-getRANLIB)" |
4586 |
- _EOF_ |
4587 |
- # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; |
4588 |
- if use elibc_musl; then |
4589 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4590 |
- crt-static = false |
4591 |
- _EOF_ |
4592 |
- fi |
4593 |
- if use system-llvm; then |
4594 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4595 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
4596 |
- _EOF_ |
4597 |
- fi |
4598 |
- done |
4599 |
- if use wasm; then |
4600 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4601 |
- [target.wasm32-unknown-unknown] |
4602 |
- linker = "$(usex system-llvm lld rust-lld)" |
4603 |
- _EOF_ |
4604 |
- fi |
4605 |
- |
4606 |
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below |
4607 |
- # experimental cross support |
4608 |
- # discussion: https://bugs.gentoo.org/679878 |
4609 |
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support |
4610 |
- # it would be much better if we could split out stdlib |
4611 |
- # complilation to separate ebuild and abuse CATEGORY to |
4612 |
- # just install to /usr/lib/rustlib/<target> |
4613 |
- |
4614 |
- # extra targets defined as a bash array |
4615 |
- # spec format: <LLVM target>:<rust-target>:<CTARGET> |
4616 |
- # best place would be /etc/portage/env/dev-lang/rust |
4617 |
- # Example: |
4618 |
- # RUST_CROSS_TARGETS=( |
4619 |
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" |
4620 |
- # ) |
4621 |
- # no extra hand holding is done, no target transformations, all |
4622 |
- # values are passed as-is with just basic checks, so it's up to user to supply correct values |
4623 |
- # valid rust targets can be obtained with |
4624 |
- # rustc --print target-list |
4625 |
- # matching cross toolchain has to be installed |
4626 |
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) |
4627 |
- # only gcc toolchains installed with crossdev are checked for now. |
4628 |
- |
4629 |
- # BUG: we can't pass host flags to cross compiler, so just filter for now |
4630 |
- # BUG: this should be more fine-grained. |
4631 |
- filter-flags '-mcpu=*' '-march=*' '-mtune=*' |
4632 |
- |
4633 |
- local cross_target_spec |
4634 |
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do |
4635 |
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET> |
4636 |
- local cross_llvm_target="${cross_target_spec%%:*}" |
4637 |
- # extracts toolchain triples, <rust-target>:<CTARGET> |
4638 |
- local cross_triples="${cross_target_spec#*:}" |
4639 |
- # extracts first element after before : separator |
4640 |
- local cross_rust_target="${cross_triples%%:*}" |
4641 |
- # extracts last element after : separator |
4642 |
- local cross_toolchain="${cross_triples##*:}" |
4643 |
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" |
4644 |
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" |
4645 |
- |
4646 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4647 |
- [target.${cross_rust_target}] |
4648 |
- ar = "${cross_toolchain}-ar" |
4649 |
- cc = "${cross_toolchain}-gcc" |
4650 |
- cxx = "${cross_toolchain}-g++" |
4651 |
- linker = "${cross_toolchain}-gcc" |
4652 |
- ranlib = "${cross_toolchain}-ranlib" |
4653 |
- _EOF_ |
4654 |
- if use system-llvm; then |
4655 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4656 |
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" |
4657 |
- _EOF_ |
4658 |
- fi |
4659 |
- if [[ "${cross_toolchain}" == *-musl* ]]; then |
4660 |
- cat <<- _EOF_ >> "${S}"/config.toml |
4661 |
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" |
4662 |
- _EOF_ |
4663 |
- fi |
4664 |
- |
4665 |
- # append cross target to "normal" target list |
4666 |
- # example 'target = ["powerpc64le-unknown-linux-gnu"]' |
4667 |
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' |
4668 |
- |
4669 |
- rust_targets="${rust_targets},\"${cross_rust_target}\"" |
4670 |
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die |
4671 |
- |
4672 |
- ewarn |
4673 |
- ewarn "Enabled ${cross_rust_target} rust target" |
4674 |
- ewarn "Using ${cross_toolchain} cross toolchain" |
4675 |
- ewarn |
4676 |
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then |
4677 |
- ewarn "'sys-devel/binutils[multitarget]' is not installed" |
4678 |
- ewarn "'strip' will be unable to strip cross libraries" |
4679 |
- ewarn "cross targets will be installed with full debug information" |
4680 |
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" |
4681 |
- ewarn |
4682 |
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target" |
4683 |
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" |
4684 |
- ewarn |
4685 |
- fi |
4686 |
- done |
4687 |
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS |
4688 |
- |
4689 |
- einfo "Rust configured with the following flags:" |
4690 |
- echo |
4691 |
- echo RUSTFLAGS="${RUSTFLAGS:-}" |
4692 |
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" |
4693 |
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" |
4694 |
- env | grep "CARGO_TARGET_.*_RUSTFLAGS=" |
4695 |
- cat "${S}"/config.env || die |
4696 |
- echo |
4697 |
- einfo "config.toml contents:" |
4698 |
- cat "${S}"/config.toml || die |
4699 |
- echo |
4700 |
-} |
4701 |
- |
4702 |
-src_compile() { |
4703 |
- # we need \n IFS to have config.env with spaces loaded properly. #734018 |
4704 |
- ( |
4705 |
- IFS=$'\n' |
4706 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ |
4707 |
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
4708 |
- ) |
4709 |
-} |
4710 |
- |
4711 |
-src_test() { |
4712 |
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html |
4713 |
- |
4714 |
- # those are basic and codegen tests. |
4715 |
- local tests=( |
4716 |
- codegen |
4717 |
- codegen-units |
4718 |
- compile-fail |
4719 |
- incremental |
4720 |
- mir-opt |
4721 |
- pretty |
4722 |
- run-make |
4723 |
- ) |
4724 |
- |
4725 |
- # fails if llvm is not built with ALL targets. |
4726 |
- # and known to fail with system llvm sometimes. |
4727 |
- use system-llvm || tests+=( assembly ) |
4728 |
- |
4729 |
- # fragile/expensive/less important tests |
4730 |
- # or tests that require extra builds |
4731 |
- # TODO: instead of skipping, just make some nonfatal. |
4732 |
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then |
4733 |
- tests+=( |
4734 |
- rustdoc |
4735 |
- rustdoc-js |
4736 |
- rustdoc-js-std |
4737 |
- rustdoc-ui |
4738 |
- run-make-fulldeps |
4739 |
- ui |
4740 |
- ui-fulldeps |
4741 |
- ) |
4742 |
- fi |
4743 |
- |
4744 |
- local i failed=() |
4745 |
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" |
4746 |
- for i in "${tests[@]}"; do |
4747 |
- local t="src/test/${i}" |
4748 |
- einfo "rust_src_test: running ${t}" |
4749 |
- if ! ( |
4750 |
- IFS=$'\n' |
4751 |
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ |
4752 |
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ |
4753 |
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" |
4754 |
- ) |
4755 |
- then |
4756 |
- failed+=( "${t}" ) |
4757 |
- eerror "rust_src_test: ${t} failed" |
4758 |
- fi |
4759 |
- done |
4760 |
- |
4761 |
- if [[ ${#failed[@]} -ne 0 ]]; then |
4762 |
- eerror "rust_src_test: failure summary: ${failed[@]}" |
4763 |
- die "aborting due to test failures" |
4764 |
- fi |
4765 |
-} |
4766 |
- |
4767 |
-src_install() { |
4768 |
- ( |
4769 |
- IFS=$'\n' |
4770 |
- env $(cat "${S}"/config.env) DESTDIR="${D}" \ |
4771 |
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die |
4772 |
- ) |
4773 |
- |
4774 |
- # bug #689562, #689160 |
4775 |
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die |
4776 |
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die |
4777 |
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo |
4778 |
- |
4779 |
- local symlinks=( |
4780 |
- cargo |
4781 |
- rustc |
4782 |
- rustdoc |
4783 |
- rust-gdb |
4784 |
- rust-gdbgui |
4785 |
- rust-lldb |
4786 |
- ) |
4787 |
- |
4788 |
- use clippy && symlinks+=( clippy-driver cargo-clippy ) |
4789 |
- use miri && symlinks+=( miri cargo-miri ) |
4790 |
- use rls && symlinks+=( rls ) |
4791 |
- use rustfmt && symlinks+=( rustfmt cargo-fmt ) |
4792 |
- |
4793 |
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" |
4794 |
- local i |
4795 |
- for i in "${symlinks[@]}"; do |
4796 |
- # we need realpath on /usr/bin/* symlink return version-appended binary path. |
4797 |
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> |
4798 |
- # need to fix eselect-rust to remove this hack. |
4799 |
- local ver_i="${i}-${PV}" |
4800 |
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then |
4801 |
- einfo "Installing ${i} symlink" |
4802 |
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die |
4803 |
- else |
4804 |
- ewarn "${i} symlink requested, but source file not found" |
4805 |
- ewarn "please report this" |
4806 |
- fi |
4807 |
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" |
4808 |
- done |
4809 |
- |
4810 |
- # symlinks to switch components to active rust in eselect |
4811 |
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" |
4812 |
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" |
4813 |
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" |
4814 |
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" |
4815 |
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" |
4816 |
- |
4817 |
- newenvd - "50${P}" <<-_EOF_ |
4818 |
- LDPATH="${EPREFIX}/usr/lib/rust/lib" |
4819 |
- MANPATH="${EPREFIX}/usr/lib/rust/man" |
4820 |
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
4821 |
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') |
4822 |
- _EOF_ |
4823 |
- |
4824 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die |
4825 |
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die |
4826 |
- |
4827 |
- # note: eselect-rust adds EROOT to all paths below |
4828 |
- cat <<-_EOF_ > "${T}/provider-${P}" |
4829 |
- /usr/bin/cargo |
4830 |
- /usr/bin/rustdoc |
4831 |
- /usr/bin/rust-gdb |
4832 |
- /usr/bin/rust-gdbgui |
4833 |
- /usr/bin/rust-lldb |
4834 |
- /usr/lib/rustlib |
4835 |
- /usr/lib/rust/lib |
4836 |
- /usr/lib/rust/libexec |
4837 |
- /usr/lib/rust/man |
4838 |
- /usr/share/doc/rust |
4839 |
- _EOF_ |
4840 |
- |
4841 |
- if use clippy; then |
4842 |
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}" |
4843 |
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" |
4844 |
- fi |
4845 |
- if use miri; then |
4846 |
- echo /usr/bin/miri >> "${T}/provider-${P}" |
4847 |
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}" |
4848 |
- fi |
4849 |
- if use rls; then |
4850 |
- echo /usr/bin/rls >> "${T}/provider-${P}" |
4851 |
- fi |
4852 |
- if use rustfmt; then |
4853 |
- echo /usr/bin/rustfmt >> "${T}/provider-${P}" |
4854 |
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" |
4855 |
- fi |
4856 |
- |
4857 |
- insinto /etc/env.d/rust |
4858 |
- doins "${T}/provider-${P}" |
4859 |
-} |
4860 |
- |
4861 |
-pkg_postinst() { |
4862 |
- eselect rust update |
4863 |
- |
4864 |
- if has_version sys-devel/gdb || has_version dev-util/lldb; then |
4865 |
- elog "Rust installs a helper script for calling GDB and LLDB," |
4866 |
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." |
4867 |
- fi |
4868 |
- |
4869 |
- if has_version app-editors/emacs; then |
4870 |
- elog "install app-emacs/rust-mode to get emacs support for rust." |
4871 |
- fi |
4872 |
- |
4873 |
- if has_version app-editors/gvim || has_version app-editors/vim; then |
4874 |
- elog "install app-vim/rust-vim to get vim support for rust." |
4875 |
- fi |
4876 |
-} |
4877 |
- |
4878 |
-pkg_postrm() { |
4879 |
- eselect rust cleanup |
4880 |
-} |