diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-09-03 12:28:20 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-09-03 12:28:20 +0100 |
commit | 3f559ef486314f9b3b48d48eb303d6be68463af9 (patch) | |
tree | 3b70212f31ce4d000911c001ce13363d0909dfd1 /dev-lang | |
parent | 20b6ab983b55b022c6e4af317154089e18ad41cb (diff) |
gentoo auto-resync : 03:09:2024 - 12:28:20
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/Manifest.gz | bin | 21658 -> 21662 bytes | |||
-rw-r--r-- | dev-lang/rust-bin/Manifest | 39 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.71.0.ebuild | 230 | ||||
-rw-r--r-- | dev-lang/rust/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.71.0.ebuild | 748 |
5 files changed, 0 insertions, 1020 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex bd26083d2388..ddb5e0d6c0b6 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 266847fb81dc..83f09c32f557 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -1,40 +1,3 @@ -DIST rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz 209991076 BLAKE2B 1400684c4bd3349dd73c5941e8edb1ba3d334522651d8c8fc614528197ad661d99e58165ab6dc0c384b1b918161602baf068a2b199c103cd17b6c8082fa22b62 SHA512 2a99e296f973f7eb91814debe376b3eb30c0950032c8ed8894d23b0509d2e0b9a2da4aa149dd809139bbd5625a2ae917b71a34f485ac78f07a8b83037b5983f8 -DIST rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 98c26527bb54799e76ffcb637e4c8a5e1e84115bc2aa1f918e1db5b626c6b76a5b3ae86ee6f622ed2050f5685c59dc35f43f3430e8db121396d780b917a9e049 SHA512 66bf98344620b917992b6b6ca35f7ddfb5d20cbe59eaae9ab05d2b8a6badb1a44a4c4e0a18859d2c5b0ccb3e782c9d8a215f6765072ca488943e7055e62e45c9 -DIST rust-1.71.0-aarch64-unknown-linux-musl.tar.xz 193402460 BLAKE2B 7f637ceebf6319b79d61a93a5fbcf70f10783fb9d049a0273f7fe2b38a4802e53e115e3b058aa240cea81ff8f8ccea714bfdb07ecbef3b53b1cccf33c4a6700e SHA512 2bd95b6036680d9e8890e6a1e141c4df6b70e24e4a7c3ea47d02cc0895c6c4693198ecc7a793363fe18a9fc6fd665c4b52e7a315fd3a75883011c1bf874b5c3f -DIST rust-1.71.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 56484d4d5486627f358f83d895a1314b8652a8bca9d1b09f6328421ac4e32ae2d975859c5ee3d68ec1ef1275a3d69a0b3d37d9d9665e658725dac0c33444333c SHA512 d4bb8be012ca57b5ff11b945e0208a13a823025a3e8c3c8cf6c924a812e9556d1db7a61588beac7839504eee1714e1f15503ebad1f7558be32f339bdfe3a6fd4 -DIST rust-1.71.0-arm-unknown-linux-gnueabi.tar.xz 173764116 BLAKE2B 6ca4784b4a844b799d36800fd88126f4fc1d6f2a9599d8e5d9c72a008c06770d0d7ae474306870d83e64373f4adf6a5f87894351cc5780cfb66084eb82b11b21 SHA512 e9b54549e6ac416ee3c261c9779c7e970d99279b4dfe4a032c438f4d854fd7392453873adcc3d6e4d138e0240dea2351d3c08698b00edc5858fc17951df0cc09 -DIST rust-1.71.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B f8170dc6faf26f85259a4ded0cc462e9d59c5884ce0943efa185d5a4bfeb1fb9de1c254ceafdf86e7ddb2c4ec1417142667e52c58b18c9932cfebfd9adafca23 SHA512 e0380cbe0dc2af9ff0664c59c17c8e9c521bbfbd09f2af9ae7d24ecda2128a8f260515831c08ee1220bde36fbf24c3a0f4b251376c5a143c20a868d0bfe13307 -DIST rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz 174050576 BLAKE2B ea0698a4073cd288f4da89ffabd2c9e28999578918e224891115c48539bcb465aad693f7efe0d26592e35da23a43c1689130126d89ea3c33e74efd4e10375660 SHA512 34322d585707e60c5896752b7181efc9e0904869ae24a1228ad243b8e693687785ad6321f93e9d4695e491a614c9ad2d8619f977e85904b0b47f0239fc4d59cc -DIST rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 8d2176f2921601b46fa31884dfe8ea4c2676ed5d0beda839216d3686fc6b02b0d35a17b0f6a3c410672ca11f488d3f1254fbefdab96e062e93900d19cccd1c8a SHA512 5df4b6c60a132cc05abc121f25db1f04cf7de3c14a46490dd103d72b59e5619b1d3b4de0caa00997861d719f8d12ff2aee661358052cdb9e60e269f59cfa44b5 -DIST rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz 178354684 BLAKE2B d0f98052377d3a6359c00ae9aa716240f2a73b41a6078acf855f7518f124ba69a07add924772159b566c16b6aea7be3fdba414377b552a1283f203794a7de526 SHA512 34324db7d5a06c6d57a954aa30da70d8d16b1ef90b0681e0bde8c55dc4ba208125a7b2f969462853c11145152f9add706e61a6cf91afbc4316762a7cb236196f -DIST rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 26eaa3a0a2643db61aa7e9f08513d0b76edc4963de2ad52003eda2af26f33597a4a68a211e0579c324fe55bb0404a45473b1f762b13c0ea2ed22657b78c922ea SHA512 41c8ee305e0ca0e703da55c1e101088ca7efb2d7713f3745ee02473c77c2e6fb1ecee53e206fa5bf22823486fbbd3c13a108ac072d0acc18fd5bb1bcd09dcaaf -DIST rust-1.71.0-i686-unknown-linux-gnu.tar.xz 202182092 BLAKE2B a00b28125209bda56b2cff4dbece301dda405d3181eb081df8fd57bcb7722900f709ef4dfb3130d4a85e252f17cea7cc489de691199316a9652357b5a2857a63 SHA512 a6eedbc044d59e13d79a251c5cef250c41db1680179a7011682a5401e0fc26afeafa50c91a0fba43b723ebda29498579eedfa5f7b1f69df4c540076c835bec72 -DIST rust-1.71.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9876a0aee36b98c160b16eb89b3d51488b780f937681dd7b530469f5f0ddee9e8212048fbfb28f902f4ecbf2ffc667d4214c114f9689af20aec9e908679119b8 SHA512 51ef8bd55e656179d70c33f49387e94dc9d1083630166eb1cfd646b0601c3abb97ec2f244c5445a5612bdcd14d84ee82523db9367d896e4c3e5795b31385973c -DIST rust-1.71.0-loongarch64-unknown-linux-gnu.tar.xz 157813464 BLAKE2B f5891e63685d5d3087820190ececffcda16ac1030a8bc26845b6c7c944040b676adcaebde2003407dec9994bf2dae6be16277a0d3ca0c7f47e1ef744caca90ae SHA512 1872cb88ef536609323cd40acc40473f295699a8d008ed6f9aaa3c2f6993f61d17f798d64ff071f1b4ad8d2574eaac5e88fe431dab35304aefbfa72b83faf4db -DIST rust-1.71.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f799bb6a169dfe5f681bd8535ff34d3b42bd0085aba7491a64ba16b3e65475e5ee9c9f35347be6af9bf35f2f40beefa7af45c79db6b52f7f5192b63b8715cf3d SHA512 84468e736a7cd1d16d7ba065f8162e34b277459d76f47204dc8e086dcc994f0d1b155ef6784018017d7cd92c118c4f5f768d2b8660b388b531f7d6b53367dd36 -DIST rust-1.71.0-mips-unknown-linux-gnu.tar.xz 152295116 BLAKE2B a3d08447b652a2738bf04f15349c6f733290920375e78be905f26e53e6b85811f9d1b0bba3cabf3994470a101cd607b162bb8f60220f258ce17cbc01bafa5902 SHA512 418bcc86c93806dc51f7da54ac5907f53b84381209fe02dc276bcb378a120332ea0df154e5fb4b28aaf425abba047e1265ca888533e3fa55683a402dfc877be1 -DIST rust-1.71.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fc5f101c57de8de6fa69a125ff0fd5f26cf59e5521c566047acf626c4dd3fcaff347636af97441e77ac5edde7da41720a4c4d381cd62e5aa5c7026f19c97e195 SHA512 930467025f3a626e3f439eeb61cc8b873985a52fbeccbe853f67cbcae197be8c7b1a204b433b0dbce35c8f873b54730f427bf97e9cef4c3ac66abead25300d11 -DIST rust-1.71.0-mips64-unknown-linux-gnuabi64.tar.xz 150684312 BLAKE2B ecb130f57b555990dccdddb861b56522605eb3e7552f5eaf8ae4bc93056746fe540bf30468fc03cfd86d3daa9cf437f1e245c28f5ef6392a8e1ff8ccb7418e90 SHA512 029b897ad026f03faf1d73565963c4f1013f996143ba72de06118aee960c176d0320dbf81964bbfa0fe2f50771b5afc156db353a318abd9f0e8dbb5a5b4dd46b -DIST rust-1.71.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 5f72f40cd2d5e5d0bce8d7efd612fb315e2102dee6a4feaac6340047f7fea369956948939cda6632948e778cc41c9794e11a25f5a814b5bfe2037ad157fff660 SHA512 54bfe40e378d565bdee3628e87b8e4facfebf2d88ee4a9ae64fedaeef14399348b9d710cb770c2c36c6fca9831488371078d6560b9e641619775eb931558a5fd -DIST rust-1.71.0-mips64el-unknown-linux-gnuabi64.tar.xz 154483548 BLAKE2B 8cf96a0636b55c037869f944250bdec80b968f396cdce7398dccdbe691fdeb545218e899774e7386e6f0cb7ce5cfde8d1ce6b538fa887e5db7d675dcce6a592f SHA512 db86f3fe6c7df7ea0e49d75a44baed9cf3219fc967edba16be583b1b3fa9815eca84d302e2e01bd1d86339fbef7d2b4b3fc4a154fc07b6d0a9477a7891c54be7 -DIST rust-1.71.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 6b1cc481b0dc991134bdd97dbf27e5b7ba2b0c51055755f835ccf6062c265c7bcf5c50a9edf67aeb2220bac6ae6ce1d9540893ae26a7fe3ec19353829b3b409f SHA512 a34f37e79bac3f09e1042a330e039f52c9ac4c7dad501072555728fdc6825a5faf33b87ef72f5756e26c952360b211f2d0f9fb00935b9cbd5bfa9e052b2d7f86 -DIST rust-1.71.0-mipsel-unknown-linux-gnu.tar.xz 156128712 BLAKE2B 29c995bbb9b6fa5f110fb3fb1d12018084b229d913ee4b6b30549081e8f6eba3984c1aaee50e82f4b41c379476736a580805bf1c74c10888e67ab6bf839207d2 SHA512 6779c9b7f75328a07eaf1c358c2ddd46f9e17b15e667e0b668422b398be70343f1ec49237d9e3de47e144ad13b49006b80ed0945a81cad18c7cbc63119755e4c -DIST rust-1.71.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d0c4948f3e46a215069fe58575ac7ada4a1ff93f5efa85046099c908779b3eba52cd5120554ee92bfe014c681fcd6efa6992b74b8dd6dc00ef5143a056704185 SHA512 ab931513befb14061f2de18f7ea901058c1991deacfef0518156bec8915bcf10502711b106147e65b3ebe1097fe5a088e0bd1d2f0159fcc8fd716faef5e086c0 -DIST rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz 173001556 BLAKE2B 15273f254ae7d60cfe2209edcd9e9c08c317caeac5d35b899a86c84dafa97af154e95d0abc73b0cb72539057b68faf1fcaf5e96483060692163fab04375bda9e SHA512 dd402332f949599440ab2c3d7e1335ce3191d07aa3c4aa36b96e48ee61ea720d1a81d707e89de8717bd76a21b39b300de92ebe97c83421b15ccb4c7c3a5c07c3 -DIST rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 08f7a28a99927e957abedb7a56b23624e5d84eacfcd6f95538c2e20575b7da0a64c51453aff85a2a715aa5d3542a23cea666eaa2682e94242e9747f8c2925d2d SHA512 ccfde9ed8c614aa315dd3ebba5a55a08510b1e04d256a0ff37150cf2b6bb30a6750aa7eed72ed66b49b85c8ae3dd88b579052ab8bbc579e9fac102fcb1dfc5a7 -DIST rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz 172593332 BLAKE2B 82eeebf794b989441fc5a9c18ff1165b36de3f29412f973af4a229475f50e7ac477a004b96605d2267a1bc0f56c8bd4fe66f22e360fbe4a071eab137afcb16cf SHA512 ac3d27414d23dc2755f5683f09f73b1a36e35b7cf77edc746a62c76ef0a83361e8c074db37b716f5cfc843264651ac7bfdd7faae3d8225ef9177bac5975bf331 -DIST rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1e034a4bea8c037ea22c87255c8ae91d338e8dab5830f7aa1138aad32742f97e42a64892f2d9b7b967ce192925c95d75a1a0f5dbc575bf443dd38e353742f5ab SHA512 c068875df6654db7305ba520e75c4ddf766a23905a4206a7a9ae0d414cb493a6c427c3f5f4bfc2111209e42b390bb54bd0eff7ec6b257165d1cbb42f47057b36 -DIST rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz 184310820 BLAKE2B 8a619e8fdfd8310edad2604285ba307124d6a91c46ad6a2449188a50df0dfc7f3aed1140e3da7ee1d589710386b166018bb1a207befb456d9dd0b98c1903f4dd SHA512 841b3aede46a20fdf8a9abe7178fb314ddaa6ed568f3eee9ba085d5a8e9ed320ca8096f8c864a81a524e7978856538bdbc21e2031534f2f72943bcc137c700f3 -DIST rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 74acdcddf4861469ad955f2aeb6feefb2eb07beec2d781cab1ee5b567572b2c9af0d5f06dde4448288e15ca86c2a7c80777a79f4b1df2a592d0158b9d46b22f9 SHA512 6d237e26f9dc6ad350d582173cf96b2e4e495d0cce033b6a2e9481f2a6facb533f5f422753bf826d44e8c43d87cf048a5431e18f64755b4ffa493dbcb9a5662e -DIST rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz 164997272 BLAKE2B 816cd02dcab4128faa8321f7134188231983a7c67f5cbb52fa6d1be5370a8acd7ac01123223a342952b30339219dc4ec6f58383dd98b955f7d5809af8e918592 SHA512 3bcf6520781b70d38762af142e99844f575887116da8f7f117e4f9e1b568f85a2d997e66457c64ca7e274598454e26f2eba2cfcf395fcbc083097115763a0b03 -DIST rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6ccdf48a7e345367bc847e05861c75561511092ad3459fa15515b500536b36d2d94555cb130dc405fb2fbc49c00fe18c20fc27b24c5c52d066c4314e321622ba SHA512 4fc85f2169b9a3db7747736837668d07d8ef17cb701a6300297ccd20700fb538687897f8c8967926ee06c21bdbfff37eaa3a527b9a0ed111bbec4914d6461b4d -DIST rust-1.71.0-s390x-unknown-linux-gnu.tar.xz 195655276 BLAKE2B bb5ca6d712fd109478f1fb33fc224ca2dc6b2d2f32bf14892e21b1918d8a201d815cd899210cec546763b07612a0fa7d734704ce968d96b51feae430eae2fd97 SHA512 f3128d9dfec1ee3c18815b2b26213dbb6624e7f0094b4dd8a259e12e1482eb5a984ea90bbfe287caf1bd749cc30e6fa3cdf25978ba76edc99e58deba7a7de9f4 -DIST rust-1.71.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 54e1f18d7130c7759e0327dd46361ab9755ddcb2738d1ba74b0fea622a7aa0bcee27221bb6c5acf7c6ec4da79d1879ff581e9f87dac94d649cb86f8269a7d332 SHA512 0241b9f02635211434b174532899351d2d273529c67e4f7e94b690247c4a3fed542ac97d269666e1fbf4e5a4297bd68f3206b1c42a980543f84b279a0aec34e0 -DIST rust-1.71.0-sparc64-unknown-linux-gnu.sam.tar.xz 57339712 BLAKE2B f4cd9826be28e9ed449f9bea8e6be70d0b453ad687e29db3770a92474901e43b8925afebd611a402e3bd67c9d7e54234b02868427fb10d7b05d7a9e8b984cb32 SHA512 62c1fc936bbe5989adb97bb001050f00b47342c318b2f534a4bf90e872cb8eaca1244bdb44f20bb9ee210d69fd9ba09936aafc63972ecb5a09eac0367c334b28 -DIST rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz 161430980 BLAKE2B dcafde40a19b0ee40f45d627e063deab934ef3d537f07fca1eaa9b0ebd01bb16a3f6531b50f7967e8fb6216f446016f73095f28bd57487a7f4676bd91097257e SHA512 fcd8a5ae5bc28bf691d37b1abb9574d98a8daca73ef6e1853363baa545f317910230fcd655d4bd4116b93a58959544728f96f785dc9fb9bda109767e1fa54c42 -DIST rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3878bb57f44a1d08b6bf9d61b69d9ea1107e0d2d8de51298f2be892e62eec60788ffa1c135cea4a53dee4564cf31aea61f8fef9a3bfdb7451094955a51d5abd2 SHA512 053f7e253f0c15a98491544a27172c0b7bbc160c169c42629d29acbfbc3be6c94a0483b6b8efc2bbb19b258571e02fcafa33cf19fa316a51f99a94d120b0bd45 -DIST rust-1.71.0-x86_64-unknown-linux-musl.tar.xz 232159228 BLAKE2B fe57a684cd3b5cf0d20e62faf8589308f80342353e80c17dca76da7772a7c1b2debbad7d6b8453d92af306f3adea97f85d7a15b858dd51ea237a41748243c49c SHA512 3bbedf056e176a2a00b8d151b0ec245e18ff109816a665a2b913c1e715815cbdbbe42fe470e8f78e0eb7ae0302f41cef4132cd02e58b550695476a2bb4f49979 -DIST rust-1.71.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 48edbb815080eb34dabe8361e05b0ad73fd7d5c96eb277ef4dbea397a4b78124d8ebdf680da1c45ffce58b0b8ea635d7fecd04c0e70fa5dc61030bb76315c890 SHA512 2beff44790ccba5c6fb414038e05846285f3f62f23b880454e414b449a442c7e09c54fbf9c3b4cb5265b13c18647144d73f3a9e90b4c64323a2b0be42df2f5eb DIST rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz 209839296 BLAKE2B da65e966a6bd8c6a8a13e5ab747da2a8d9b55f90fc20c1bd041ccc1a2f4e2d11d50d2ed9cc7f3a470e7f886ec8b891ef98ea1295491414d5afeae7f83fa3a555 SHA512 a2ea1383a6ea965e4b0c3a7c648bb357fb531a6984418756abcff3c526ccd9221a28aeedd11b65180fd166575e07a00151460dbc15e3b132a0bcac643911d242 DIST rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 52d1fbdba32db7ac2578615fd10a3db1da84441274bb190624e517aec67279c7330f7c6b7fa0835d8e1cd8f578d34952813228a6a221e41c4193e9a079cc6fb6 SHA512 63cbbdd9a73f0223444565b60f59765a734633ef8e93843639969b96fb67550b85fe58079d486a927174f95619f0d6fdfe3f3b84d871f776bc48986be7965238 DIST rust-1.71.1-aarch64-unknown-linux-musl.tar.xz 193170880 BLAKE2B 26384119108f4503d35f79fc5401c46e1eee326eca4dc6cc282949d2f195928fda5d3bf56c0509b04fdaa3e7c3c47f4ba44b2b82a60b02f7bc520360b0433efe SHA512 3e79692cd4dba512516eb48970dc9711448c33e1d7a5ebe7c5fadaed7f053ae9c1a8e6efcd1713f87dd84107a37b0fb21b1246e0d5c3e0dab677e5c7ed210825 @@ -325,7 +288,6 @@ DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz 167553060 BLAKE2B abc6430cfbbea DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb52100a14bfa2775ca7cab5cd0f9dbc489ec3b26a8687876c97b666435c44ce58d86fd9f11d4f4832e79c05fa3ddefd7157edc91a3da25ffeba07da61fbddf9 SHA512 08aad912e47341bff29ee1d1b52cd02df8e609747f7061e61ed6a401d798140a8587378aa992b0d52af955a44d2284eefa00f27a6e94b4ed561c06eed60ad6fe DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz 248220632 BLAKE2B 7f0954379658df0a5cb0bb4bd49fdd1d216bfa5a200789124667d13ad97f0a5278f57e5b6278a969558c834de43a5d7e3f5ad3e331cc5a4c428dc097453a9394 SHA512 079cd3384c0b7f85d5fb2f02f27febe423ff533d71463097fbaa90449a955699fc25d8e4ae16489f7d7920c34c318c0f2e8185eeb9c6fd64c0851e4366c5eca2 DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bad9fdebe33c251b8802ecb0150a074e86becac00874137f793b1805bf36373903fbcfd4744b1086851fd1357c6c81262a7eb321685640d856dc2ee3a37917a7 SHA512 405de0a8676755a63a4fc1e61dd358960efc90e4fd2417cfb4311bfaab5a744397e1f751afbe6a9515c1d92626a79fc782272261eed2f72b37b88fd77a84d7c0 -DIST rust-src-1.71.0.tar.xz 2460128 BLAKE2B 3ab6c6cb76a7e18eb0ba085c45f8b1a8bba16e2569962c27187bb415c54d3c5c1032ce4552c52f93bd4ec2512634d8899fd35fbf1a035298a9b621b5af125971 SHA512 fd59a1ced7e950fa14fd7ec9c978043b99e678bda54338f60faaacced36110630385a2bb62af19670ef27db1144810ff60b03dde542273557473b9bb521bcf49 DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d DIST rust-src-1.73.0.tar.xz 2512888 BLAKE2B 367b68ec0775f49844408d602164634a0bd526dfe1e469b1c8ba9ae5604cbbff2566eb770b7bfb81b2dae892ed1ae16b7441e438726198610ce181c98540955e SHA512 49f493ffd119a0b8b9f7b7f7e049543787eaf96d9beb272d46f2758a35fd648f6523c2edb28864a33fc66337aa07e80a6464ec806307da441a899be4f71bb554 DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 @@ -335,7 +297,6 @@ DIST rust-src-1.77.1.tar.xz 2618128 BLAKE2B d36f74d3b826a071de8e8a92cfab65348bf1 DIST rust-src-1.78.0.tar.xz 2662668 BLAKE2B 131e9616d6f72e87fec6e06735c3ae203fd8b8c2fbe650c23892c3419b057c99d9fd0a6278773addfcb46ac0c9c4eacd905a1122a79d110afa0fb1e4bca8aeca SHA512 ecd1b29ae24ab2978de6b2d6587ebae334cf827cfdc3b1fe3c9dbd068d7e2fc780ac05c50433857ad36e980fc44e2ba0f031e311834355898a9cb7b274b82bfd DIST rust-src-1.79.0.tar.xz 2855740 BLAKE2B 2701e3de018e044b5cc83b8d1b8e509127e3603654ad4893cb22a4701ccb19b2305d22382286e40171c8b8188804136156c0ff2c4c67714b53269067cd17fda2 SHA512 a4489864ab4a0fc05210365be02cc2cdf9f52b20513b57fafc93f025bc1ea5d7df9a4ee0dd23aa02dba1510c5d2cff7269071aa5cb17a946dcb913e0ea35e1aa DIST rust-src-1.80.1.tar.xz 2870456 BLAKE2B 9096fab01b38cc3ea2a32a2ab2e9052e5988d25e92965ebf174c4823c7b3c722196ca25e0dabcfc6db208d1c07434f06594d85fc673b6b9d4e0070ed445215e2 SHA512 bb9fdc593f33c6d94c28569a1820f0fd2413c31e650ddf82903214845adec664cac9d7b10b07e096a36432dd815de96c6aec81709ed13e99f381cd53cb87fd89 -EBUILD rust-bin-1.71.0.ebuild 6981 BLAKE2B 4cde6877d4ec928570cb5a37219776d94f77072ee66dfa9f83c1181da9c3b9948e313af0b9f7695ee93af861c27d96cad521a20ffaaa4e84ab65b98d9ae8b15d SHA512 41df4f732b586353d10036e03f17d3fce503c366ffd22f35eda1bca52cc2d44fb0cf3695c89272216f75cf91a3b82e660f446d6e3375f20b862e3577f35f212b EBUILD rust-bin-1.71.1.ebuild 6974 BLAKE2B f69db92ba55c7782776c37295949ccd562310f246e940d61861b68593f08fce7faf73a40c25789769caf08b1eb25e091909188fc512c36f8e0da49cf666a2366 SHA512 033dbbd50bc72a393ab735919abdf9e2810a95d308fe0320f945d5401a15dd9f9e169f693ad2d90cc23325b344a1f619a1eb835ad8fd3edd5110c38d83cfc185 EBUILD rust-bin-1.73.0.ebuild 7324 BLAKE2B c6d35e727d742d0f2c52c0980f2309bdb01c384f135dd64b7250372dbd2a9c2a62cb053c50da0b2a30c67afbe4d70c9c32afe50009221b170f1f652ea9372bd7 SHA512 86373ad64068930b45cecdabea6d5683331a7abfcfd090d4711a445902bea9da0b9cb4f85980fca57b9b9955c098c90da045c00fe4e1b1b1530fa9be9ba4c08f EBUILD rust-bin-1.74.1.ebuild 7317 BLAKE2B 33a5c12c320eff4c09d5ae9bda261a8ab75c7d4ca7ed61f2c81854b2041d76639cc6529c10b4f97ac2ef460bd209d19239749db81cdf0f5ab8ba54a7c6eeede5 SHA512 8cec5557e16a06c45d5e5e66fe8f2062000752a798ec31759ea39297d86c6b076200259c4efa64285fd96e4d83c78356f787a012ff1ab1c05fca74557dd21d2d diff --git a/dev-lang/rust-bin/rust-bin-1.71.0.ebuild b/dev-lang/rust-bin/rust-bin-1.71.0.ebuild deleted file mode 100644 index 28c5fc7d0f1c..000000000000 --- a/dev-lang/rust-bin/rust-bin-1.71.0.ebuild +++ /dev/null @@ -1,230 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal - -MY_P="rust-${PV}" -# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" -MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-07-13/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash - -DESCRIPTION="Language empowering everyone to build reliable and efficient software" -HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) - rust-src? ( ${MY_SRC_URI} ) -" -# Keep this separate to allow easy commenting out if not yet built -SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz -> ${MY_P}-sparc64-unknown-linux-gnu.sam.tar.xz ) " - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="stable" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" - -DEPEND="" - -RDEPEND=" - >=app-eselect/eselect-rust-20190311 - dev-libs/openssl - sys-apps/lsb-release - sys-devel/gcc:* -" - -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" - -# stripping rust may break it (at least on x86_64) -# https://github.com/rust-lang/rust/issues/112286 -RESTRICT="strip" - -QA_PREBUILT=" - opt/${P}/bin/.* - opt/${P}/lib/.*.so - opt/${P}/libexec/.* - opt/${P}/lib/rustlib/.*/bin/.* - opt/${P}/lib/rustlib/.*/lib/.* -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then - die "${CHOST} is not supported by upstream Rust. You must use a hard float version." - fi -} - -src_unpack() { - # sadly rust-src tarball does not have corresponding .asc file - # so do partial verification - if use verify-sig; then - for f in ${A}; do - if [[ -f ${DISTDIR}/${f}.asc ]]; then - verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" - fi - done - fi - - default_src_unpack - - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - - # start native abi install - pushd "${S}" >/dev/null || die - local analysis std - analysis="$(grep 'analysis' ./components)" - std="$(grep 'std' ./components)" - local components="rustc,cargo,${std}" - use doc && components="${components},rust-docs" - use clippy && components="${components},clippy-preview" - use rustfmt && components="${components},rustfmt-preview" - use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" - # Rust component 'rust-src' is extracted from separate archive - if use rust-src; then - einfo "Combining rust and rust-src installers" - mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die - echo rust-src >> ./components || die - components="${components},rust-src" - fi - ./install.sh \ - --components="${components}" \ - --disable-verify \ - --prefix="${ED}/opt/${P}" \ - --mandir="${ED}/opt/${P}/man" \ - --disable-ldconfig \ - || die - - if use prefix; then - local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash) - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" - find "${ED}/opt/${P}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> - local ver_i="${i}-bin-${PV}" - ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die - dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" - dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" - dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" - dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" - - # make all capital underscored variable - local CARGO_TRIPLET="$(rust_abi)" - CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" - CARGO_TRIPLET="${CARGO_TRIPLET^^}" - cat <<-_EOF_ > "${T}/50${P}" - LDPATH="${EPREFIX}/usr/lib/rust/lib" - MANPATH="${EPREFIX}/usr/lib/rust/man" - $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") - _EOF_ - doenvd "${T}/50${P}" - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/man - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - if use rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" - popd >/dev/null || die - #end native abi install - - else - local rust_target - rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" - dodir "/opt/${P}/lib/rustlib" - cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ - "${ED}/opt/${P}/lib/rustlib" || die - fi - - # BUG: installs x86_64 binary on other arches - rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die -} - -pkg_postinst() { - eselect rust update - - elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 59e15c0c964d..3f3d680af853 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -270,8 +270,6 @@ DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9cd1a51580d9f70f96c83b603716a5edbd8e1c4d4c2f53c07aa9d37c6c47f3bd252c0a1cf26b77bcd60842fb83ed74cd7b6e4ab3a039c3938423372485f8c1f4 SHA512 b65621f91085f4a5c6f84ed5e530fe56502ca12c5b18486afb1197156c5f6087110578647d428a58a1a6c04765569a28c38ae40a14c72fd41f39948349e8115d DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz 247326760 BLAKE2B 36bf6787c69971ba7c445d1895001c005af0aeb48aaa3309e971237125a2b6de3ef5f1534572f8a3f4c1bc024962a8fd030e91b63c02f03444b5aec1a3ed2e5a SHA512 02e5c2a67f5470f3320b04e7c4f0a6f5dbd361d5a97aee7e5860d04224683166b21375794c94ae040a2cc6fc119380be9d3465b8c5e1798abd4142d621cf9f99 DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6dde2d3096f7e47d31b1e13e7e5f41cf278e770dcb8a222d76ab5b93b2ca8a6d9e5b45515e097e5285bd2d76130546b3eb302a8391102460c4564e654c88f03c SHA512 4618852fdd81684ddf5bd8758d2551f1c800ef1614fed8ba91a9a1d29b3b51a0b9bf169c499dd8890347f999d002e5aba7b49a98eb819f20bdfe82fa375ed45a -DIST rustc-1.71.0-src.tar.xz 151962928 BLAKE2B da8d83cd6621947816630ae487efe7d087266c1352949cedbbd441ba7c7f7c7beb13b9470e66e2f3359c37a050d0e44d22481c418532d3ebb339a456ab092648 SHA512 2c93bafdd248563765a285add48ca77c1e4bad4d5431675ae6a5cdee4cfe7a41e6bcc880a489ca1069a307fd9a005f2d5f8e230dfc95b4a69152b4f9ca49ac44 -DIST rustc-1.71.0-src.tar.xz.asc 801 BLAKE2B e5ddc4b18a6caeeb63c5aed5b5d15989d086f408787d2e603e50e7b8548dc078683062627280fd2a0393bec01c314eb1cc59f9b0e3146abf07b8365a0b44c640 SHA512 cb1b208c8b2bfccf02c73c4246fb238edb0dd10e292c1ef781920964e54e40add3089d988769982c0ce06b719014685b1c37daa2d08b513d86ad73808f4ce3ac DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 DIST rustc-1.71.1-src.tar.xz.asc 801 BLAKE2B a88c073a70552d73e2d7695eceabdaa478f34501b7271fabf7f4a09f3efa545181f34353e45776b05918e6aeba88adb02f9731454f7085a7abf1602fc6589983 SHA512 9dd0406cf22f1daa7fcfd015fc1c6f8d36586aa99bf14c1491ee464c1f892ab759feb83e8b55b64713170fb777fdbe038fb5fd01a59c911b6599223baaba0677 DIST rustc-1.73.0-src.tar.xz 154319536 BLAKE2B 077bdedb36fdbc30db3c6331ac6014615eb79393ad42e38488d037ba38eaa6542467d39b2a14228d0bf6717110f915bf6fdcf0074c6293f413720cc748316eff SHA512 75c59680a82cb9d076b9434744a1c65908524ef769293952f5d9c5779d9a9c6fa4d9aa0c7e7d6b7566a21a50a27cd6ae452b5283a4d4606b2fa1acc24dfd8e0c @@ -290,7 +288,6 @@ DIST rustc-1.79.0-src.tar.xz 162359512 BLAKE2B 753c0e9c537644d1a12b4d38024c22952 DIST rustc-1.79.0-src.tar.xz.asc 801 BLAKE2B 860283021f513f5d4c81ea1f8d9567f0a052cc53a1d51d7fd9a804a39b855e24e06ea4c73db53176c1cf846910147de6bbc26da35755f3d0d4b296503e691e64 SHA512 51eec85d71817fe21073502c1d18e44ce694dc11b1c181e82462b529a24a610c8e215e6f2640e8b6d80f028207a360e43354cafa863f49a12c547b4c5f52d7e7 DIST rustc-1.80.1-src.tar.xz 199234944 BLAKE2B 39891362f2a4bc249f5d943e3ded48d2add9cd9c0ee3c085d7fbefbfbc784f1e029308d9486cd35a6c03b77243077dc1196c75980faeea0d4319cee057509b6a SHA512 3c746108a86eeb734c1a8c8f63ba1a45e2cb03a8cb553395a167d07dc3ce5d8d9ea365ddd95533b6952d915069b86cad7ad218d27861e0889f8e878136bd32ab DIST rustc-1.80.1-src.tar.xz.asc 801 BLAKE2B 0fb361678e4b580c89ccc35fd1b29d24ab41af854e5a34d24192671c93140b7d2c91e740a51f1eaa6854d5970bb91a0510aac9cb6cbf2883e77a2b941d65b010 SHA512 9d5731db73b8a982b956cb2c4736c0fc7dedab785d9855508e6a1fc2d2163d561fdcd5b254ea5f7b1f27b3903d10d9d2403366e63f9c690ab722c401109a7c1d -EBUILD rust-1.71.0.ebuild 23453 BLAKE2B 57e78a3c1193d92c8fd6d9c3b14c7863898d5c3a2bb0f376dcdd1b9162624fad8d745e26df0faf8d2b03d46d05513c6a331653924582d99f7c1886d03b9d156f SHA512 389c1f62c20c10e094b0e87399d3467f666cf23ea36ebc897b45e194c50138bbd30843092347df2c80939a3201e3b163ae55f408cc756731e2abfb4a986fb024 EBUILD rust-1.71.1.ebuild 23467 BLAKE2B cc179525f8be2375e4bb0651b3210986254d027414bdef178a33309a7d99deba0a656454b5f1c84a852be104c93edaf5eec24c6f65f067365ed0a202d140fde0 SHA512 2a81e2a2c49d19d88c7794d809648a4630ca476410ea3270a772fa8d315b56c1b1698fc523ff5451a4336e23993f76d444c6c3b12d491ed89019f075a6fceb83 EBUILD rust-1.73.0.ebuild 23843 BLAKE2B 1aca31a60886f472b00023d097a0c9db0ae274e46e59c3bba5cefea80f7f9a660c66ec6ac48869f1e64c734027f54d48423042414926a72bd4aad76a72378489 SHA512 6449142af93b7aafe7d5861c17b84efec4bd37959e122dd82551b0a52d6486129efe8a21347643512531490257f420ef58b01eb2f4754a348c31050ef461e9d5 EBUILD rust-1.74.1.ebuild 25118 BLAKE2B 4de0c3973eb9fff948c6254f6696f0de0b36f4d507fba035ef3873de2cbb92842bf409b371036fda337f6c66fb89fd156f4fbe21c12a72b3ef5ccada586ecfae SHA512 c24a3a85ba60916f12be526f0641546e921b5433f883516bf8e7c5b74362b0c8205c27533094911edc1eca8235bfebfeb820fb316d954509a96d200cf2574151 diff --git a/dev-lang/rust/rust-1.71.0.ebuild b/dev-lang/rust/rust-1.71.0.ebuild deleted file mode 100644 index 15142ee80ec7..000000000000 --- a/dev-lang/rust/rust-1.71.0.ebuild +++ /dev/null @@ -1,748 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig - -if [[ ${PV} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SLOT="beta/${PV}" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" -else - ABI_VER="$(ver_cut 1-2)" - SLOT="stable/${ABI_VER}" - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" - -DESCRIPTION="Language empowering everyone to build reliable and efficient software" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} - verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) -" - -# keep in sync with llvm ebuild of the same version as bundled one. -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling more than one slot -# simultaneously. - -# How to use it: -# List all the working slots in LLVM_VALID_SLOTS, newest first. -LLVM_VALID_SLOTS=( 16 ) -LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" - -# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation -# (-) usedep needed because we may build with older llvm without that target -LLVM_DEPEND="|| ( " -for _s in ${LLVM_VALID_SLOTS[@]}; do - LLVM_DEPEND+=" ( " - for _x in ${ALL_LLVM_TARGETS[@]}; do - LLVM_DEPEND+=" - ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] ) - wasm? ( sys-devel/lld:${_s} )" - done - LLVM_DEPEND+=" )" -done -unset _s _x -LLVM_DEPEND+=" ) - <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= -" - -# to bootstrap we need at least exactly previous version, or same. -# most of the time previous versions fail to bootstrap with newer -# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, -# but it fails to bootstrap with 1.48.x -# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json -RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" -RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" -BOOTSTRAP_DEPEND="|| - ( - =dev-lang/rust-"${RUST_DEP_PREV}" - =dev-lang/rust-bin-"${RUST_DEP_PREV}" - =dev-lang/rust-"${RUST_DEP_CURR}" - =dev-lang/rust-bin-"${RUST_DEP_CURR}" - ) -" - -BDEPEND="${PYTHON_DEPS} - app-eselect/eselect-rust - || ( - >=sys-devel/gcc-4.7 - >=sys-devel/clang-3.5 - ) - system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) - !system-llvm? ( - >=dev-build/cmake-3.13.4 - app-alternatives/ninja - ) - test? ( dev-debug/gdb ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -DEPEND=" - >=app-arch/xz-utils-5.2 - net-misc/curl:=[http2,ssl] - sys-libs/zlib:= - dev-libs/openssl:0= - system-llvm? ( - ${LLVM_DEPEND} - llvm-libunwind? ( sys-libs/llvm-libunwind:= ) - ) - !system-llvm? ( - !llvm-libunwind? ( - elibc_musl? ( sys-libs/libunwind:= ) - ) - ) -" - -RDEPEND="${DEPEND} - app-eselect/eselect-rust - sys-apps/lsb-release -" - -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) - miri? ( nightly ) - parallel-compiler? ( nightly ) - rust-analyzer? ( rust-src ) - test? ( ${ALL_LLVM_TARGETS[*]} ) - wasm? ( llvm_targets_WebAssembly ) - x86? ( cpu_flags_x86_sse2 ) -" - -# we don't use cmake.eclass, but can get a warning -CMAKE_WARN_UNUSED_CLI=no - -QA_FLAGS_IGNORED=" - usr/lib/${PN}/${PV}/bin/.* - usr/lib/${PN}/${PV}/libexec/.* - usr/lib/${PN}/${PV}/lib/lib.*.so - usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -QA_SONAME=" - usr/lib/${PN}/${PV}/lib/lib.*.so.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -QA_PRESTRIPPED=" - usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -# causes double bootstrap -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -PATCHES=( - "${FILESDIR}"/1.71.0-fix-bashcomp-installation.patch - "${FILESDIR}"/1.71.0-lint-docs-libpath.patch - "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch - "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch - "${FILESDIR}"/1.67.0-doc-wasm.patch -) - -S="${WORKDIR}/${MY_P}-src" - -toml_usex() { - usex "${1}" true false -} - -bootstrap_rust_version_check() { - # never call from pkg_pretend. eselect-rust may be not installed yet. - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" - local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then - eerror "Rust >=${rustc_wanted} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too old" - elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then - eerror "Rust <${rustc_toonew} is required" - eerror "please run 'eselect rust' and set correct rust version" - die "selected rust version is too new" - else - einfo "Using rust ${rustc_version} to build" - fi -} - -pre_build_checks() { - local M=8192 - # multiply requirements by 1.3 if we are doing x86-multilib - if use amd64; then - M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) - fi - M=$(( $(usex clippy 128 0) + ${M} )) - M=$(( $(usex miri 128 0) + ${M} )) - M=$(( $(usex rustfmt 256 0) + ${M} )) - # add 2G if we compile llvm and 256M per llvm_target - if ! use system-llvm; then - M=$(( 2048 + ${M} )) - local ltarget - for ltarget in ${ALL_LLVM_TARGETS[@]}; do - M=$(( $(usex ${ltarget} 256 0) + ${M} )) - done - fi - M=$(( $(usex wasm 256 0) + ${M} )) - M=$(( $(usex debug 2 1) * ${M} )) - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - M=$(( 15 * ${M} / 10 )) - fi - eshopts_pop - M=$(( $(usex system-bootstrap 0 1024) + ${M} )) - M=$(( $(usex doc 256 0) + ${M} )) - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -llvm_check_deps() { - has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include <ciso646> -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - [[ ${out} == *HAVE_LIBCXX* ]] -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - python-any-r1_pkg_setup - - export LIBGIT2_NO_PKG_CONFIG=1 #749381 - - use system-bootstrap && bootstrap_rust_version_check - - if use system-llvm; then - llvm_pkg_setup - - local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - export LLVM_LINK_SHARED=1 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" - fi -} - -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die - fi - - default -} - -src_configure() { - filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 - - local rust_target="" rust_targets="" arch_cflags - - # Collect rust target names to compile standard libs for all ABIs. - for v in $(multilib_get_enabled_abi_pairs); do - rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" - done - if use wasm; then - rust_targets+=",\"wasm32-unknown-unknown\"" - if use system-llvm; then - # un-hardcode rust-lld linker for this target - # https://bugs.gentoo.org/715348 - sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die - fi - fi - rust_targets="${rust_targets#,}" - - # cargo and rustdoc are mandatory and should always be included - local tools='"cargo","rustdoc"' - use clippy && tools+=',"clippy"' - use miri && tools+=',"miri"' - use profiler && tools+=',"rust-demangler"' - use rustfmt && tools+=',"rustfmt"' - use rust-analyzer && tools+=',"rust-analyzer"' - use rust-src && tools+=',"src"' - - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" - - rust_target="$(rust_abi)" - - local cm_btype="$(usex debug DEBUG RELEASE)" - cat <<- _EOF_ > "${S}"/config.toml - changelog-seen = 2 - [llvm] - download-ci-llvm = false - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = $(toml_usex system-llvm) - $(if is_libcxx_linked; then - # https://bugs.gentoo.org/732632 - echo "use-libcxx = true" - echo "static-libstdcpp = false" - fi) - $(case "${rust_target}" in - i586-*-linux-*) - # https://github.com/rust-lang/rust/issues/93059 - echo 'cflags = "-fcf-protection=none"' - echo 'cxxflags = "-fcf-protection=none"' - echo 'ldflags = "-fcf-protection=none"' - ;; - *) - ;; - esac) - enable-warnings = false - [llvm.build-config] - CMAKE_VERBOSE_MAKEFILE = "ON" - CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}" - CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}" - CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}" - [build] - build-stage = 2 - test-stage = 2 - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - docs = $(toml_usex doc) - compiler-docs = false - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = $(toml_usex profiler) - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" - sysconfdir = "etc" - docdir = "share/doc/rust" - bindir = "bin" - libdir = "lib" - mandir = "share/man" - [rust] - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debug-assertions-std = $(toml_usex debug) - debuginfo-level = $(usex debug 2 0) - debuginfo-level-rustc = $(usex debug 2 0) - debuginfo-level-std = $(usex debug 2 0) - debuginfo-level-tools = $(usex debug 2 0) - debuginfo-level-tests = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - description = "gentoo" - rpath = false - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - dist-src = false - remap-debuginfo = true - lld = $(usex system-llvm false $(toml_usex wasm)) - # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it - # https://github.com/rust-lang/rust/issues/74976 - # https://github.com/rust-lang/rust/issues/76526 - deny-warnings = $(usex wasm $(usex doc false true) true) - backtrace-on-ice = true - jemalloc = false - lto = "$(usex lto fat off)" - [dist] - src-tarball = false - compression-formats = ["xz"] - compression-profile = "balanced" - _EOF_ - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - export CFLAGS_${rust_target//-/_}="${arch_cflags}" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${rust_target}] - ar = "$(tc-getAR)" - cc = "$(tc-getCC)" - cxx = "$(tc-getCXX)" - linker = "$(tc-getCC)" - ranlib = "$(tc-getRANLIB)" - llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - _EOF_ - fi - # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - # but we patch it and set to false here as well - if use elibc_musl; then - cat <<- _EOF_ >> "${S}"/config.toml - crt-static = false - _EOF_ - fi - done - if use wasm; then - cat <<- _EOF_ >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 - profiler = false - _EOF_ - fi - - if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below - # experimental cross support - # discussion: https://bugs.gentoo.org/679878 - # TODO: c*flags, clang, system-llvm, cargo.eclass target support - # it would be much better if we could split out stdlib - # complilation to separate ebuild and abuse CATEGORY to - # just install to /usr/lib/rustlib/<target> - - # extra targets defined as a bash array - # spec format: <LLVM target>:<rust-target>:<CTARGET> - # best place would be /etc/portage/env/dev-lang/rust - # Example: - # RUST_CROSS_TARGETS=( - # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" - # ) - # no extra hand holding is done, no target transformations, all - # values are passed as-is with just basic checks, so it's up to user to supply correct values - # valid rust targets can be obtained with - # rustc --print target-list - # matching cross toolchain has to be installed - # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) - # only gcc toolchains installed with crossdev are checked for now. - - # BUG: we can't pass host flags to cross compiler, so just filter for now - # BUG: this should be more fine-grained. - filter-flags '-mcpu=*' '-march=*' '-mtune=*' - - local cross_target_spec - for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do - # extracts first element form <LLVM target>:<rust-target>:<CTARGET> - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, <rust-target>:<CTARGET> - local cross_triples="${cross_target_spec#*:}" - # extracts first element after before : separator - local cross_rust_target="${cross_triples%%:*}" - # extracts last element after : separator - local cross_toolchain="${cross_triples##*:}" - use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" - command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${cross_rust_target}] - ar = "${cross_toolchain}-ar" - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ranlib = "${cross_toolchain}-ranlib" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - _EOF_ - fi - if [[ "${cross_toolchain}" == *-musl* ]]; then - cat <<- _EOF_ >> "${S}"/config.toml - musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" - _EOF_ - fi - - # append cross target to "normal" target list - # example 'target = ["powerpc64le-unknown-linux-gnu"]' - # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' - - rust_targets="${rust_targets},\"${cross_rust_target}\"" - sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die - - ewarn - ewarn "Enabled ${cross_rust_target} rust target" - ewarn "Using ${cross_toolchain} cross toolchain" - ewarn - if ! has_version -b 'sys-devel/binutils[multitarget]' ; then - ewarn "'sys-devel/binutils[multitarget]' is not installed" - ewarn "'strip' will be unable to strip cross libraries" - ewarn "cross targets will be installed with full debug information" - ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" - ewarn - ewarn "Alternatively llvm-strip can be used, it supports stripping any target" - ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" - ewarn - fi - done - fi # I_KNOW_WHAT_I_AM_DOING_CROSS - - einfo "Rust configured with the following flags:" - echo - echo RUSTFLAGS="\"${RUSTFLAGS}\"" - echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" - echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" - echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" - env | grep "CARGO_TARGET_.*_RUSTFLAGS=" - env | grep "CFLAGS_.*" - echo - einfo "config.toml contents:" - cat "${S}"/config.toml || die - echo -} - -src_compile() { - RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die -} - -src_test() { - # https://rustc-dev-guide.rust-lang.org/tests/intro.html - - # those are basic and codegen tests. - local tests=( - codegen - codegen-units - compile-fail - incremental - mir-opt - pretty - run-make - ) - - # fails if llvm is not built with ALL targets. - # and known to fail with system llvm sometimes. - use system-llvm || tests+=( assembly ) - - # fragile/expensive/less important tests - # or tests that require extra builds - # TODO: instead of skipping, just make some nonfatal. - if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then - tests+=( - rustdoc - rustdoc-js - rustdoc-js-std - rustdoc-ui - run-make-fulldeps - ui - ui-fulldeps - ) - fi - - local i failed=() - einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" - for i in "${tests[@]}"; do - local t="src/test/${i}" - einfo "rust_src_test: running ${t}" - if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ - -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" - then - failed+=( "${t}" ) - eerror "rust_src_test: ${t} failed" - fi - done - - if [[ ${#failed[@]} -ne 0 ]]; then - eerror "rust_src_test: failure summary: ${failed[@]}" - die "aborting due to test failures" - fi -} - -src_install() { - DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - - # bug #689562, #689160 - rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die - rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die - newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use miri && symlinks+=( miri cargo-miri ) - use profiler && symlinks+=( rust-demangler ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> - # need to fix eselect-rust to remove this hack. - local ver_i="${i}-${PV}" - if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then - einfo "Installing ${i} symlink" - ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die - else - ewarn "${i} symlink requested, but source file not found" - ewarn "please report this" - fi - dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" - dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" - dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" - dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" - - newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib" - MANPATH="${EPREFIX}/usr/lib/rust/man" - _EOF_ - - rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/libexec - /usr/lib/rust/man - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use profiler; then - echo /usr/bin/rust-demangler >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - if use rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" - - if use dist; then - insinto "/usr/lib/${PN}/${PV}/dist" - doins -r "${S}/build/dist/." - fi -} - -pkg_postinst() { - eselect rust update - - if has_version dev-debug/gdb || has_version dev-debug/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - fi - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi -} - -pkg_postrm() { - eselect rust cleanup -} |