diff --git a/app-crypt/rpm-sequoia/Manifest b/app-crypt/rpm-sequoia/Manifest new file mode 100644 index 0000000..9ba4885 --- /dev/null +++ b/app-crypt/rpm-sequoia/Manifest @@ -0,0 +1,241 @@ +DIST aead-0.5.2.crate 15509 BLAKE2B 0214f3e8ee85a7e18c7d20f9a3fcbdbb9e5af6fdfdcb427e915279b505556dbd2df6d09d5c90561417c56796236a56ab24b2b11389745bc03a0a6da45c0e8636 SHA512 61926a615618e64efd0e9342d729a89f80d6e092dda50e018252a06147e2ca0dc2a989136416f57ae02019695757dfa3d3f3cf3799f138e440662744ecab4a44 +DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79 +DIST aes-gcm-0.10.3.crate 148991 BLAKE2B e1376b741386577277a8cb9535c1ad3e15ea383c0f324bc5cedff09a76b11f2c9e29226535688f9431e904bf2800b8e140c4b1cab333e572208eefd19ca897f1 SHA512 f9aec1e2609262c30921bf83cdd82117d147905d4ca311f9fef4b9f1734d3a57893ba2586f0ccfd39cf9264d347ba2c2d2c52b4726495eda8fec7fbec42d6db3 +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed +DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a +DIST ascii-canvas-3.0.0.crate 10575 BLAKE2B fc40c40551e3e1b2bec6ae5a85ee8b0a1ab1ef3425cdd19ec6dd47d849205004781a2c8f51470417fe7556cf8524cc63b84a532532c5081604adbcd92d286b44 SHA512 216056640604f5faba6d46e2c94ff75234fec83d3bc2dc7cf34dd279706362874e3a513c717b23bc591da07cc3088458913c4e9aa5f280550c93d261095c8703 +DIST assert_cmd-2.0.14.crate 24591 BLAKE2B 2a25812480770ce8549700b6c5afd0e3fc230c280c66b5b61480a2db0dc6c5a95b6a564ca7eb6024fa43498168d8bd3511a6cd659498540bf1a5a3bdbc2a3fc8 SHA512 112c3f933a013715c0dfcf29889ec023c88097a70fe212a7d98d0a5272d5f6da87df9353da006483830a0ac3c42a12e12d8fabeb90eb62453982edbc75215613 +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST base16ct-0.2.0.crate 10240 BLAKE2B a8097674e84bb85fa72ea752d71446fc39e695fea9acc0f98178bb4e6569180f9acb4c7a9820708359d1c4733b57af6448015cce83f8c610985e6d2f7858fc33 SHA512 efe7c810102646733cb24c5cab62bd58d797e77b117d0fa5d651c34630f77de4d768fb99c981af5968393734bc32a2c1944a719f9f1a192b5062c0af8bb3413a +DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 +DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c +DIST bindgen-0.68.1.crate 218997 BLAKE2B e3706a992c166c16cd8b8ef996b2eba6a0d67f493825e7257ba660f597de33002a32df7fea0fc2508fb47155f70ace0765e9ac4e4649d1f24b2bbac8ecf06d8f SHA512 29520e30db93ef3e239273854c926eba7bbbe2ec70e5162a4722e03947461510732319bfcfc20d5dfc0df137d69e8c1ad97daa0236c5bd4da8a1679bfd696a90 +DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 +DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST block-padding-0.3.3.crate 8504 BLAKE2B d62481c25fd8680cdf0ad0bc259bd3777c3985ee91d5bb4995f484a15d4a9bde21c5d20f8c2efd0eb340aa0b8c7faac0f3fd817202ef4350d17994f478715eae SHA512 0849c99f2027f4e1a12872d2210310e9669f98929c99690febfeec90c0199b2274e20a5f83824f200f75f2553be2029ca85b0c5d0db4d9d477ffee9a71dd3b7c +DIST blowfish-0.9.1.crate 16734 BLAKE2B edb9ef86b168259d37ae74ca5f961d4a2f79f0bd83c64a157b1605655001a8e82a1b40b0e03a24719dd9cc273fd50d1ad6a406b47b1925a9c2c687c119bcae0c SHA512 e005212e2cd0233321f1e84170829c6e05b4f4e47b81342e0fef7e12ac05f09dc6db288b6b28ea2826e9d19afa49366b74b186f2f20db6da77b57f09e124e3a8 +DIST botan-0.10.7.crate 40376 BLAKE2B 63332415636f353323b72a4a2aec2910da4da71adedbe649b753b8d8531a4b10054aea588e216ae2a240bcb91873acb63cef2a1d34c364bbee383dda0f24718e SHA512 a03e0a76b8bc0bc777bafc3e2df7667dc78fffb35dc3bb227773aa23b3ebef872efec9d5144513940dcd44e18ddd87d881806803ce3736c73cf96221befe16c5 +DIST botan-sys-0.10.5.crate 8245 BLAKE2B beef1579600f7fea44b7a701cc29b2f530cd1da8da6090f1cf8fdcc00e68fab711064b0d037604796aa0633f2e71495f8cbcbe69047ef773098a36ffe2069867 SHA512 6f22a5c42e4b13ae2531e1b46ad0d93c62faf96b056f80a145370816296fbf33c93c2dda94736afca7a73bcfd336003a39171c359723e05bb5c269ebb4784339 +DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172 +DIST buffered-reader-1.3.1.crate 63723 BLAKE2B 7a7553b5994c01666c95a678712005ed3c02fbf8f0b45d80f2e80b2bd46c5993376b16f5d89d50a7cd915aed9da6dc164901c6e62091922e615bc8b9284f3328 SHA512 4b7efde96c2db48f8452e56a904b1fc865b7317bcc324c10c0a23147b96eb14cd5097b3178910a1a74d54948b50d6499fa7f5c8630274a80ff05f1eeb2c7054f +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST camellia-0.1.0.crate 89085 BLAKE2B 88f67a01f18e236a8ec2613cea4f0d38fdd65b2191e5478bd7c1155feb45832d693bff15ad4b880651cdc9c74e89cdc0131548864b2c51f7cec38ecb11b5d113 SHA512 b851c285509d21ed02428ab45378dc145959bd196ab75daebb7df60bce3b71e059d4dbb5639697ef21fd6f7554c122cab8a5702b1d118c743fe02f65054f66df +DIST cast5-0.11.1.crate 37018 BLAKE2B ed3d9283131df32dc18a5e4110a325b7713936e109b43bed8da0d22b0afe81a0f00c9e4fab0bca1194c93fe6f0bf326a5474af6f9274c310632b93d24dc9328a SHA512 0fe363b576ece2661616c47c4de1801756c5aaa2a56c720a7b4eedf23e031ba9d30af9d086a16b0f957c39b473cea1f059295dd1c776e9a9cd4393e6c895d015 +DIST cc-1.0.106.crate 80289 BLAKE2B 10a7c9e25f9ea0fc09bcac63111d7655029da65e00c0d3f920b6b8c3748c298a253b023cae252e991815be041b4dadc656d0c4c31102623d9ecf4f2bb05eda1c SHA512 1ffe4b1f109bb889a68498f5b60f81865de7d1d528508f013c82463d12883684f7c0c623e7b3483b53e6b2beef9ffa649bc07271b28f09747b53c182f2d071a3 +DIST cdylib-link-lines-0.1.5.crate 2946 BLAKE2B f1b3908b2cbca38e0dfb7b099188b7dc566d4332bd799a48000ceb509c995111fb6f9974aabf549e97e0d95ed43e17874bc555210f0181ba691ed6174e05aec9 SHA512 3080a84a4a414ce11956c004ebc7ab87c4617778f39a3979cd38057d08c401c11176ec2efb577ee129a730fca8f1186fea95029c7cb339a8813c504f8cdca62e +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfb-mode-0.8.2.crate 25334 BLAKE2B e004871204d40258a052b7771f6d770f710857fd7355dd87ceaacff49ad0be2b3bbcbc8b439bff054432f336792e11e312b8bd472eca53e58036dcc4bd2f3286 SHA512 14bf9367317b2652cd070572f2a7d5f98884064a2d42c8841fe4a966e9944c8e5df3e14244c16a78a32ba8e2fa3df9348427d2f0ca6632df07fd24b75cfd7099 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846 +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST cmac-0.7.2.crate 44847 BLAKE2B ab8539f41e720f132b2da3176e9c533a2309cbb3dcdb027af4c5bdd6ac68e4a2a97f53efda52236527a15786b73bd96ad940385002412330d7cde60e3492a6fc SHA512 9e55f9f9323dff330ef45da953bc35da79ff8fe643b3984479dbab10b35e05e4d613f7329c46bc119fefa589d8f5f3bb268a7e7f0853003c1e192fe324e83315 +DIST const-oid-0.9.6.crate 45382 BLAKE2B ac27c689784fbb1f486cec1c17502c8738ce3d7d1b579391a151cb0f0a6a0c8335e474d0a517c59230fcac74317396f20ac15d66e2f6685780be01dab197fd96 SHA512 b871d3b4326c4828b1c1d7a3e968315fa320e0b52e97081a95617ded0dc5b93d42b3f79ad26ff3b58a4835dcc442473f3965c2b60026412ad6aacc0c23e9f399 +DIST core-foundation-sys-0.8.6.crate 37629 BLAKE2B 683d5a84b6a3816317f87359532a8339f08bb4043f1d70a8588636eb5dbe6ebb3843e2a12d9a7e5fd1637a912c52a5aefbb8d44796330b09593e7adefd3babd8 SHA512 24a8958cb16b081862a9000affb0147b8b3be1a664b834c3dbddbff03e709de3f4060ff4800e5a35453f4392ccf33168e8b864be71b17be38cb264a39b915100 +DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6 +DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025 +DIST crypto-bigint-0.5.5.crate 83384 BLAKE2B f688f22331b4b3620299ae9b50aa9ba6e1b2c7a4ae55e4236f7ccb8ddee4f61950ee0332b6b67005bad505434f3be74b1a0caa426036dde94162289c6926c8d4 SHA512 04668d432b4169154934d55b8ab14f708e59f70a70704b56cd72ceaca460e15589965aa92a22bef20b32ce637a423cc6e1a8819dfba38a32353bd749f7126021 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST ctr-0.9.2.crate 18344 BLAKE2B 195dce5872a0f59b90bedc268c5a5796f3076d12868f29f887294301b3576047ea82098e73ae996f564e400ce316cf1cdd9016ffb714559aaa0465dc826f0cbf SHA512 6a027f4e3881e51e3dbcb89348c961a2086bb63e70652c49107f49b7d021e31f74ec8c6ae91fd1605928f93f5ffa27889f257c166669e18508995168f17b46a5 +DIST curve25519-dalek-4.1.3.crate 306017 BLAKE2B 0c02e769ae48e6839e37e622fecb8b1987fec0653049775a80bc53827329b50d6b8aa8288f26af306208d4a2edb94ef92a64d955c395d980cdd2624c35f0cc26 SHA512 a1dd318f96b5f1851d82a6fbd29c44dc85d2f75da16e5bcf9d6ba3abecddf5e0eaee4a7415d8afc09923064fa41529ede2622f8a5fe0b3e6d4c88b418c41bb5d +DIST curve25519-dalek-derive-0.1.1.crate 11723 BLAKE2B 442b0e4fc519f233d3fa46c17c2e25807374360bd6576e97b4ec33e6c2cc228bc917e4e395a1d70aa19be7bae57db36d2c09c4c7d505691b53d5a624db67eb6e SHA512 60861002465d2ba12a6089b31fcd7a75f7a6d77319159d5383f29e857adea8cb7e5c9c0ab6977c8cfa34b60e1012a1a5dec57f637e6a225e60269ff49c25b29b +DIST dbl-0.3.2.crate 6336 BLAKE2B bb912351efaf270363c2a6cefe4da42ae8c6a552690b566e5a7b70115721efd2ef42801500d534de0245b6feff5b6895bed74924c86eda3c5e9a5322f32e1392 SHA512 efed499069e1eacb709598b9a250be353d65dd9a1a27c7fac6d23af6262af0fda60b121c283b9318f301be2d80194ec1ce33733daa554f54ed3f690478d37cfe +DIST der-0.7.9.crate 85173 BLAKE2B f2dcf402e3d8b6a7ca818a8f260e0996290c77517b06bba8b22849c4d0e0c8f3dd57d664a06d9a7bfb1da6a39abd0740cd7d9776e75669aa970cc3ef63f924d4 SHA512 6de996346365647ac0da23d3fa9c72100d665c9225dc2f0bf1f553c4f0e7eb5c6acf3f1e36a11a7cc20e8b1c44752997e6f592c1d142755df145c5e302800f5b +DIST des-0.8.1.crate 38783 BLAKE2B e85ae2d87866a537baf593afeb4e8c9aa2d6d7e239ceb0db077176455d8bae8e7e1617cec084360ebd7b1f1b47245beaa5dc7a4021d920ed1e8a07dde836c3f7 SHA512 2d54b2eecc3fb269f3fd17231088644d685feb81473043131f5bc68b5f682f726065426dc710f76e8c25cec9de597c90a30790ea3a62163a9e9539115e16c88f +DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766 +DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5 +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba +DIST dsa-0.6.3.crate 25991 BLAKE2B f8db8e4eac2b967206e0641f83da560de847e59cbaaac7cd8f497324f8c698fa1b22873f463b8372f61da6fcec02eb5f7043e4f5506f9daa20d511a49cbe6fad SHA512 ddc74666a39fcecde77bc1714133b0cf796091d71099c13d4d13c61523c4d431c5f6a47e5eaa171d3fd5d94ffe16cb80643316834e028afb4d58f3ae6f527dff +DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 +DIST eax-0.5.0.crate 14882 BLAKE2B e0c4a922cf71aa5ae09f8dc434301242443004895a638eca6237d437f4ee72250036423a21e01eee6f2d27b3d11e943dc68788b0b125ae3ba88918d407cecc3e SHA512 d43f2356586a94915a901e700fc9fd84a4be019c605c7675fc1ae79140b9af161cd30ebc68d35dc10306893ae385d51aedfc42a62aef16050271f2022d9c55c3 +DIST ecb-0.1.2.crate 6210 BLAKE2B 6e8ea36849f3deaf685c689823f2c276431d84353c8fc5ca02d5256aa36488a7da29e7b6d98cf9d402814581a507c306671b2d4b8ab34884b87858125276f812 SHA512 104c1631de32cee02291c3902a8e28c704d843cc12d3765f53c892d67e3a9429b340bee36e763e1bc929f18e1180a04ffce30d3f15407decae7a834da1ffb408 +DIST ecdsa-0.16.9.crate 31406 BLAKE2B f827c0ea9f80555a1c4e37efa3509ef57bcb8c2abbefac29cfd85c3904d82495753bc5917e8e2b8659bd091d73c2d57bc2f6c8477b7d5d44ab858bd3a99229af SHA512 c69f921653a3dd47fede16aa886675c35b082c7b83486a6fea2c39cf2f98535a00263d7f0e68c5593d16b7cbee757ea913060bcaaa4c69884ca6fe2d3b149222 +DIST ed25519-2.2.3.crate 17802 BLAKE2B aff96de3343d0cfba058203e90b6fd2c6cbd24531abca3a37977a1ed2f1eff0f4d4b6decbfcd9759617f381f88eed32d78397e6fa8d310b99b98d603b809de44 SHA512 3bfbfcd7f442dbb6d49860c530525bac60182bc57f6778e4ee097c7ace9c6a9d32ce430339ec15931070a538d3bb1e1f7b1cf572537ffb782bc5551fab49b2b2 +DIST ed25519-dalek-2.1.1.crate 85736 BLAKE2B 77dd4019467da3dfbe574ceb574849ea665ffd8dc91660f6a9b2596fb886400508bc632dac10a06461f35fce5400f27b89b1270514188ab488a952288309beda SHA512 a3e3838a3d4eef726b65a38196e66456f586b7e29cc328eb243bacc5a247b50f10ce76df6259aa102a08ca921f07d0395793088445f36de33f5dc1aae5223ed9 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST elliptic-curve-0.13.8.crate 63198 BLAKE2B 542536886019beb276b587f906c5552d88229eb06364d93db5eb6c93f70555e9e38e4636bda14789e5ba5b54321c0c6da85aa8d584e638fccda107e296c4d8f1 SHA512 64ec7868cfd2350f5a0e9f4fa7e2225b7f5532b8514ed6d5b8a7718f252f94caba4acf51b2471ac59717783289c9f2ab35d47881210ffbdeff08a85f68ef3042 +DIST ena-0.14.3.crate 22986 BLAKE2B d79daa3b5f3723aa7cd3c0b432b7332a0c43a5961adfcc8bed7e43bc656e54ea7e06eb1028714c7f0b52509cf8e6b972d2ac95c65ce808deb0facad2bafe0f62 SHA512 d4c893973372011505a762f4a823ddd4b50d8ff3a2f91298382f9c580fb6f688aeaab43d504a0783f8384280f7be9c585e8a079cb38959e8fdd4a078d1a642f0 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 +DIST ff-0.13.0.crate 17688 BLAKE2B c32379ebfea6cadd162dc169e0b413577fd191620f4f2a1c7d18e50ddfbe561ca865bc3e0fee3be287f43f6c9f2982992cbc56629889689bcbbf652e512da80b SHA512 eab19938f5a2cddb0fcc78b0724efd788aab7f17f04c482e0d06acac4d1cef2bcbfc74d6e4b2d9f535f9c955bf39c2153e010bdd2fa72d6d637d44baf8bf5f63 +DIST fiat-crypto-0.2.9.crate 495390 BLAKE2B 9201d3faedab8c73b606dce70d65d1138f5fb29e480d56b25cd66a8d2a150fb6d946c9e0ca98eaab0227490cea288b4c78917ccfb6693022d70d74dee94e6e78 SHA512 d916fe8ba3e82a365d20485b93c36994363059dead84c0266b7bfa0bcc74122d71b4a5c8689226c0e1007e7e01fc6f6c76e8687ae14fcc38f6f159287810f510 +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST generic-array-1.1.0.crate 27344 BLAKE2B c3aab4928709a33898082fa440440ad66e9e6b37167a746d276c8a2502d2a2c1aec66c97193b31a6a1241af425e7b869d19961e6a4cbb7dde436b37168f7769f SHA512 d7666c4fd7de31693837359dfd167d1660afc41bae1bde1a6aaf17340c65e9b269c9b2d3848afff2db74df619956a18155896b10055d9501cf3d72cfc3d3cb29 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST ghash-0.5.1.crate 9482 BLAKE2B 77510c9a42ebc486e35cda6893e7f9f464628d6e4ef2f2f1adfe5d6371dc2f7e2d0578665d02dc5647651a96f3f06ed9cd3825caf462d70a740c9e937ac8cb50 SHA512 00041605bb458305f0fc54d2c8dde2cae672451646fc41a94dacf83950ee44f75464a926439e7e6d1ca3ded05a9b697138f62fba6f4e86ea3df034ad7240af06 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST group-0.13.0.crate 16526 BLAKE2B 099ced5b8d16e6fefc331f2d89aee931ec5900a168dbe31bfbe29bd00304e8525fa5763dbcd60cb19ac6c62c8d77877f2d83e700c7ab18255b08c9b42be60d24 SHA512 359db06bee4cb51ffe799d9c408791e310e72fde3bb3fd447cf97482ebb909af07b43e9b728e3639d5497fc905b650bf00403b3a6b21515e6628c2466e0851e3 +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST hkdf-0.12.4.crate 171163 BLAKE2B ffa03876879110dcdd3081cdeadc9490534c44763b3b49f1d6a5f4407a7346e6fa1ea18303f429b23adcd23e8898ba8fbf3797f5ef9f7ab7b11499d130311d68 SHA512 a43fe20b7d14fa26b118c6eba2b84219645f65f2ff33fcca679b139ae3e96f72abc1e7a47eb8887aac5afe4e34211434a4eb5a2fdbc014666d82c4af340a4b21 +DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8 +DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 +DIST idea-0.5.1.crate 23243 BLAKE2B 3db4dc0fe83e1cb408e7e2b69996e6d58af18d43efc2cf4b04227f5465ca2446e805b12bc760f10f0acca284f6d79045a9173e1593977f04690de680acb9fe4d SHA512 f5d7254816210734f4c6f4e74801b38ecb44765cc97692843444975e7e62d6975e021f7010c11e991bfe46e254478fc0ea08634759ea9ad5c37ec2c7ee8141cd +DIST idna-1.0.2.crate 142869 BLAKE2B d37c0c6937671750c1f3a682e829e870c01e025c453cb9d5e32e532aaeb1cbe5c70bcee26395b25480563466b209e598d73fc4484a514bd2e3876df6daa31319 SHA512 41a27ff65e606d4ad5cfb149962bf9b0d3aa60a0a582b269b9311f05135890e1dbe9f613dc5b0860549f458399dcd66061f4536eeafc2d9aa8925a70a13b437a +DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea +DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb +DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 +DIST js-sys-0.3.69.crate 81083 BLAKE2B 529c94cd2289883b3b43a848d47d8ae025ad0909548a38ba93ebc684ed3edafab16842b922da6c8b6be5ba39c36a1c05057dd3dd93fc8936d5dac372937ab8f6 SHA512 506722e6dc13484828a4147d974822ff9d103d9e7db58a48181b0957770d9fc43b97605ced105c5b680d8b2cda5fa1705f605707611cb48ed8a45a96d5f196b9 +DIST lalrpop-0.20.2.crate 240370 BLAKE2B 024026e9d206f24f3f0675f87a5d8204237c00c96331c3cce43f563639c2750f363b173bcf928bb69b3707917ef0769c9e174316b1c85f76e8fbedc6d0262bb8 SHA512 1f22f3aab724e720c7f78b268a9f6ee468fbdc7fbc0ecf83e0a35130ca56371aa2e38752e02cff5ddf0f003d5a8bce43c735c6d5ce09a3bfcda924f2c5ab0674 +DIST lalrpop-util-0.20.2.crate 15064 BLAKE2B 7304f30748afad37ac9be5f9cb890b70b0362bf889a86f7385e7e83a067e5919e42d85f892a018d255d0eab56f7c3b8fd9564fc5d24b657916dd915bc45f0a46 SHA512 91034c6d82a0a006bf35208f84503660d55170a36e38d5c64a6c0ceaa0302c43e268df21feee6b60b70723462f6e4f09022ce83547560ab7c51b5de0954cfb28 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 +DIST libloading-0.8.4.crate 28636 BLAKE2B 5961c69ce15cf2bfb4ad743ead808374f5a7a9d98ad5585d895fa4654b1c31309d968eb3f5d63e7dd5fa95b77ea59c80e666ab0e467849c858a807cc3a68ffb2 SHA512 670d82fde2ddbfcc28efaf7736d799690e4fe4b7872d95854b9c4320d64f45d4b33c0e1917228302a7625f2e5e55e5ad56e113ee8e67d59fb384b7054a0cc849 +DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST litemap-0.7.3.crate 28728 BLAKE2B 00a04ca0e4e774b317218ab990da4c6ca1f342bbf229957db51801f8ec36339b665133bfe3847ca68a40d901d78d87e0041e09f0740898ac38ea3c8504309c31 SHA512 2c3bc6c4cbf6609f3cc2d986e701d23b73f5bac55995887c90aed01bf4392a42c718a69c0050296fa635a46f7cc9ef3dd6c6a2a505d3cccc690899aa345455a8 +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memsec-0.7.0.crate 6532 BLAKE2B 48fd0c732a5c83c5e0ca23816b61bdb7283c665ad73d20089238ba0b6863992554a7f8a3b41ae8b4cb0f31204b03b32b3cc7fd5a0af657a24bcee01b3443ce58 SHA512 73501130770d2ac0e3904e7f293cf0ca6bd0947a6e05e53a40498c950b8519fe591d3888badd5cf6134e1f567c18fa2ed6ce6fa3ac3c8c0d441645c3e95cddc0 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST nettle-7.4.0.crate 583944 BLAKE2B 79392e3b2df0551ed22865a42f0ededeab2421764e6daf0b6388c08080d0674bbb88f733ae5d29ada841e567c734a641e7fa6ab2bd8e8c627f63125c9c153598 SHA512 f132a9c7ea566930fcc813a9c799d4ec6849522dc70e8b478655988a9ce1f75ca731b0c0b7d2a702f96273d51770b47725014e6d1e407ff58343a0b4b7560871 +DIST nettle-sys-2.3.0.crate 28576 BLAKE2B 23518adea067a8a2cd4235ccaa851ed62336847db9bc8a6adfd77cfde8c57f4a8de104cfac0e17068027702e1e4d79efbe77c3733cdb032650fff1eb1ff15457 SHA512 f453608d860edf86ba62ed959aa1d04301c06d13bef5179b2a69f7faebe1e1ea41fce163aa4a48617d21fc493cce16c28cc11a051ccfd13d0be93c66405aa5d3 +DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48 +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST num-bigint-dig-0.8.4.crate 123825 BLAKE2B 9710266116ea15d0e56792b7c8e217931765dcf2377bc05f23bd386625087eb6a7d7aca7b8f0beeb78ace9f280895565a6de3b14ffda7721e35c741ff64b71c0 SHA512 88ea682c5aabc61c0cab9234e31a2dccdb5458d3bc018e1f9ccbbf0a9f09ed0053341e93bc53f65b5bee55bafe71d50bbcd48fd085ac723ef4662e15664925b8 +DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae +DIST num-iter-0.1.45.crate 10320 BLAKE2B 9f2a60a819e31a6e7e048ae86f7fa029015a73888348676e54ec6fdfe76abe94b632a49a82b53b86488ea5af1031f677b0eed8ba7c5e843ce804c6d6af123622 SHA512 6195c7bd5f904e9f0aeee3ce17b42c0383d053f9d37954a9ce3b4ff0a048afa121c9a37aa9c74b9ace7353d7fd9f57a7d04c7a18e1456fc2c4c298d8ecfd0172 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST opaque-debug-0.3.1.crate 7066 BLAKE2B dc1dcadbb5654a5f69c59b84faeb3095f008a6eb4f63e3cff95bd4e97f803201e2f16f59a65f8ea21b662e77e3fed0d0870eb1db7f5a4f95cc02422907732951 SHA512 f325214d604e74197ddd9209a596851c5bf0c0f3299b79b6267c35e0ff6351205b628fb5086279684fbb29fd07746c91ede4f45019657e761d8400fef2b3d8bf +DIST openssl-0.10.64.crate 272306 BLAKE2B a8b618aa403cdb06a7f135cd966775f21c99739365c55aabde2680a6154d03c7d554bfae6c62a069841c70ed82ece6c3f0cd589da8c26022b7022c3c4d79a6d8 SHA512 a1fa9f71cfebbb37ed9d4a902360f2cc95a78f55b5da5d51eef69db38cef016fc03236485158d689ccf054e04937b8cddf88e3f0f31672997fb30c6cac73cbf6 +DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c +DIST openssl-sys-0.9.102.crate 68622 BLAKE2B 0d3d3c9ef8e2542c7f35db1d8feaf512cc7313481bfcc99354d601e8d6332adfc2e7ee8b35599a9241de35c163efd840186e904375bdc9c65ee743abbc154cba SHA512 7ecfaa0b49cea5c60f6f063fe5217252a65b27c5e6d1185e0aa1bb4b59c4cf9bf326840e8795a870a537c18ee5a987feedaaf2dd767cd6f1380f25468a1622bd +DIST p256-0.13.2.crate 63434 BLAKE2B 8c0d6997b60299382f1da2b7caa1b0353b787352bc3de9ec7168bf224ff7ca15b2ffa28f99377eb11cb6cec3481e5d28c68042ac88c1cea27e84aa8fff5e0658 SHA512 4105c597346e2bc74ad7b7173d13b3b46cf4a1df87ea1699586cb7d09beb1b9f8d152b2bd0bc6849c69771fe4d320dc15a9e275470923b495971e9aae54b0ca9 +DIST p384-0.13.0.crate 236495 BLAKE2B 240fa9cf7cc066cba64e9c89d78ae65d0f0fff3e875b0175646114784a2eb0083cbdac9e1a17e6de6b3e9a6074b8f318e8d6abfe63b7de432c2d19dfc0fc0091 SHA512 e81451d336b2fd0c1dc3483f1e586b7d4059b3ee7cfc935edca6be1be02d23b1e380859a44d0a6cc6538fbdfbb22cc22b8d3aba11cf90c6fdfd0e8edecdfba17 +DIST p521-0.13.3.crate 138499 BLAKE2B 758cd3d1917e9e3055d1ce26194443b4c5aa72812194cf63abef0750342501d58a4c27b92272504e2295a44fa291e614b462dc112742e8576126e280a6cccb0b SHA512 fada6c066deb17c1d046ab4e321b32b35ab851e4f39ef9d095b7a05163a4a43d1e4d35fed4f9594b854a6a1dc32d257685eeff33956698f20f805980ee763a8b +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST pem-rfc7468-0.7.0.crate 24159 BLAKE2B 478d355dd970b9705ebcf44d74d61ae0694db6de16b2018548fda88546f53e35b965ff72d939def399a49fe97d3c8317a10385ace94b3d552797ec64ace1eb8f SHA512 f47d3b6c7c8bf4547916acc2a3d6671f6c1308e74641419c8f1df810d8bd940aba8f94d361e4cbef3eae3b7f11587cd3996a11be3be41d19111abfcde7a9272a +DIST petgraph-0.6.5.crate 710970 BLAKE2B 7f590e93fb44f1bfb8920e512402edc1cb087ff9d5dac7bc4be965f64ffacf9c1c503eab4156cd2005f41099f6b34f51e49b21dfa217271fcc0d4ee16ae85366 SHA512 454e9805731374abf1085f1a8a72aaed85e83cd30ab9601bcfe0e46882ba6656242284bdf32b6e75c2f5ebdd1325d5f8873d5f720aabf297822ca97311afb677 +DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5 +DIST pkcs1-0.7.5.crate 35790 BLAKE2B 0cee88bc3406b60d225593b4b01a4eca11d14a916bd589843300f6130729e7926d2af32b9b7d03e98b6934775e30e5627754e7e32e1785f59c8ede36c28ea40d SHA512 a3584ce492116d6e617a733a0d3d5696404aa7b10ae95070313b4a41dbc21d0940850870b711e375ac8b54fdd179b4083d61c48e902e6efd8a3a11cb630076a3 +DIST pkcs8-0.10.2.crate 26360 BLAKE2B a62b5b7386eedba6fcbc4cff2b103b899dbf6179101445283f9076080489129543561af1ad6f09061564f68c28954262e49d0bb3e182f2ce7495e19d6f34bd5e SHA512 87127d51f0e1fe085d46b30394f2a580e857cd64f5c6fe4a3ac3b8871230aa426598dbb007e8bdfd5d729b99a9c0b4d84116f0768886605342d2ed112c51dfa8 +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST polyval-0.6.2.crate 18425 BLAKE2B 59ae2ec631060ee8e2e1d4bc250abbb4762c97ca7ba5c543c0292f561bb967e059410ad7e79d8dfd7912cb30a6284169ecc2f4c94bdb165037acf8c3eaf1209c SHA512 113646edef3a7f60d59db3cf06c1796bf81305b66835c71bbce0fdc07345f41e23f2bbd7d5cebc50c72eac11c98f351bc793e2f568b5fc0bbf9fb2597eb44f0d +DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a +DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05 +DIST predicates-3.1.0.crate 23090 BLAKE2B 6c51fa390f3335501df604afda47ff1d2a69322d928a1412bcc4829f16c3ff5d345ae52f54d797c9698b0eb7b26495e594d8c21f04fdd77c8119ad4635184adb SHA512 1ee38c715b4b55038497a4a4996e12de91d356d53173d3a034d6a1f56859cb3a4a61a82d016fbefdd6ff291519097ce9cef950547d3d437035cd7093d965dbf0 +DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702 +DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3 +DIST primeorder-0.13.6.crate 21296 BLAKE2B 2ba479defa1c26d14f8711f6be5020eee9bb91a39fa7a7c14a93dedc6de920e0ef1c9f6240d308233d0e0d6bce4be9500d0e9cfb01b6c4f9902e0f77a2f97352 SHA512 fdf52b47b36403d5218220b886a3ccec7828731b5a59ea1d48a25fa85de754544fa9c94d51356d2ed904bf2d908bdb4fa87c53e597a3c9f2941d7310f70198ac +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST redox_syscall-0.5.2.crate 23957 BLAKE2B 6261df25a59af5119a21d31fc3b6a8800bb1783cf2fd63a5524d48d0b187f5f2e65ebbdec00d9282adf110ba8f307d4ceb154bf029a0c6a26e8a887fc722b2d7 SHA512 b7e39a08e220153370449cec7b058c2dbc4916ff7be01b34658e1793035323ecc28f40712194cb9bfc9b863e4bb316e58662721eb0e54f68f09438bd880ea032 +DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4 +DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST rfc6979-0.4.0.crate 9140 BLAKE2B 662d967b1d818439e972d19bd251a4e3609c65bae945b4d11c0ff4966e9fcfaecb739d0b63bd767cda6a22e77a52f3386f02cb27c5c76ce9008837c882f8df33 SHA512 fb68114f5f8c1e7b921ed175fc01813531a584b8cb2df1264b72e1925bd66b4c021714b3627fbbcf3fabc26e4d6578c4d246369a0c98049d4058dca4cbabb20f +DIST ripemd-0.1.3.crate 16601 BLAKE2B b72f950d20e0f6f19e5e4dac9da24a5fdfe3dfa441596a89fc7a8350cea3a297ec04caab43c7c24c4d8e499e50de306656b5a5a608d5b01d0ae86014aa4931aa SHA512 eb4510c2a5879984dc662a985515e17f0c22f91babd1ad9914a030058bf8e703a72375e82672c382294a0bf7e004c776e9c5ae30ee0f6acbddc44d22b48e2e03 +DIST rpm-sequoia-1.7.0.tar.gz 90276 BLAKE2B 61e25e3a28f34793de0c25593d1f5e687b549f86593a012f11d1ee17ac8398dee89bf211ff55635bcebdf5f499cf16e7a614ce1aac257d188822b06ee13f77a1 SHA512 88fbe95463f8583a3bc0d30ec7d2833d77154c9897adca3d5a8cc6cded67ec4f09f2eb3a7f93f08464fe99aac988cd628a5f5b1686605b5201e25374dded7d37 +DIST rsa-0.9.6.crate 80048 BLAKE2B 0021065c262a351c3c3e9e63984442e9ff8e739f0f60c79f0eec031fc3ecf928756a0da656a0eeb4bcb94cd6f10ced2326a83666efba3b85b8a518b0aaec3d18 SHA512 0af7737181236f0e5544a83eb41d7e780df1a488b7b782b2c97eb4eab3dd599b86d18adcdc69bb56f9aac548a24dc88806e7bdc32fbc43c33b4d7a9817cfab9c +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db +DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST sec1-0.7.3.crate 17979 BLAKE2B c30d4e617f9c0c21b80f14a7df88a164ad43f4c18fbedc1ec32af41193053e67ff6ea83db54f46c8cd6389d930984120c2a1688662fd8083e0c23bd4995d510b SHA512 be646413d84b39a43a0af478854f47db3b167c2bf1bedf7a58392782c423aaaa38df3b3676f9807a98c6128152295c426edd16d67d62ae7048caa635bf39641e +DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec +DIST sequoia-openpgp-1.21.1.crate 3017511 BLAKE2B 920a291aeaa371ad7fa785e20203c4ff5d86ba435f7654319c94ec746002f5b97e9ef2499d1f31cee81f58d6aaf3ce42b3af32ed47e11850948d4935264fd1a0 SHA512 37f5458c778678b69000cd4b9c63b81af93cccf352219b10b558e3ee3757072c1ffba1614f223eaa3aa156321160bf62a533712f1e864055177ba49fbd0a2e50 +DIST sequoia-policy-config-0.6.0.crate 42529 BLAKE2B b58960a3296d1c3289036a2218e842bb63bfef11968ccae7c42cb61869e04d26fb52736876bcf32d276177c488d0be4d9ff3ed50fbfb0ba68bff3c0410a460cd SHA512 499d350426f80627278310b2eded6a69a7ad833058129ea5ed9ebd0255621ff70f9f04228fc8ca79830e6ec11d14b121bb3e5a6c5fc2721135d725bdf0d886ee +DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f +DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e +DIST sha1collisiondetection-0.3.4.crate 799321 BLAKE2B 6a36035f19330da30fff69ec304c17ca0d8af74673b43dbf421dd9e67f3e522575e7a6780a2eaca3c4e799304acb40eecd0a3909642f03f18996196b3dde19e3 SHA512 d74b317f272ea600659288af786c656005009b7e2fcf060eafb71df07cb3de2b698e74088217ff99fa911a59e00653835cebe6bbd5457e549c3f9015d8dc8d7a +DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7 +DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee +DIST spki-0.7.3.crate 16409 BLAKE2B 6b39144e4e718ce5eb454e21ee89fb936ffd31ec99554b0150fee47bca396bdfe4ef39603ec029d4af4d8c4c3ba2de7f6c549244f8c20114de9b43ff14921681 SHA512 d33a6a7844b33c37628024ccf25c1a631f7a6661595e063049b8c9a9b4edb28f0335397faefc592c6fc5e96378b870ab5dab9b0649c3387577b2370ec8210db9 +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479 +DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd +DIST syn-2.0.70.crate 266388 BLAKE2B 3141299d952bef20423d72ef0ffc232492342a975452aebdc69b724c56cf3620cafb14c583b1a49dab59a195d1e5231368b478cf67004daeb82f1421e6e28808 SHA512 41685481a841a1a32a35e8a11ebb804289fefd5481e98bb446e194f9d574f2ca18214471800e1259f08f25cc3c91b927d311ad22d839046600772ff6cdd0dead +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa +DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39 +DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a +DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 +DIST thiserror-1.0.61.crate 21264 BLAKE2B 97337830507c009dbb4cad84cdfc02bc097b9d39d0af2fdecfaa63f0c12229e60727244fa4e44c2d54daee67bf8b4e8492d94a5de55d1a90b8eeab8c0d082e80 SHA512 9c08b868eaa47178ee60733aaeeda60dc46d58d2b9c15985ba3dcae4923e8edf02b97556df52f508753b0ff52782f6ca3227e9ef6343066e5d5d3a89e03f3f15 +DIST thiserror-impl-1.0.61.crate 15786 BLAKE2B d63773424aa047c6eed8a6c9bcc8dfcee9841a2d4fdf6fc2c117695c09359371931722198b2e0b2bae32b0c54b6275f964e679b78b8bef1c365ca33aa41562c9 SHA512 b43bd2ba6b751b777e2fc78aac92a3e662a1876f704625c4e894019fc68a6b7628b9c3b7ddfbd2cb15fe6fdc0ff679ff94b0c47e2660a40919000ad2fe1cfeec +DIST tiny-keccak-2.0.2.crate 20129 BLAKE2B 105a2d2af36cc053cd95721ea563108f33b8a3feb2ae84c75a04a65ed5d548dfe35d8b2e48977a82f725c0ebcf914f21157c547f4a74bb4d98c2e894385139be SHA512 c0219f23361eb07e0a68575c461a36b7286d9bdebae89080d9e259178d402b0c7762ccf33e65a16951ea168392322c44a24eb55189cf143e22d09d6dfc4acec1 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 +DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 +DIST twofish-0.7.1.crate 12156 BLAKE2B 282ba2e6e4610297a67aff0e06db6089c57edcb0056b4d6592a84b96dffed7e2394c7ef0418e7c0b7628b2b9585b6ce8a0f0f981de36c3f10b8ebd3fa85289a8 SHA512 9f6f9768e0ec227d03de0f95d5baed803a710b286fb18a2fc4e325eb518ac2e483fba6928b14f7b6a38643b0320d6d37fa1f3d2fdd26e805cd23705753cd1055 +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c +DIST universal-hash-0.5.1.crate 9146 BLAKE2B 9095f95faa8ed4128c3787226f3899acec4278d36799ae30a7ca71ade7179c274a1807f62605e687e60ee97e6bebfe818100ed0441db455bdee0f8e5dd451809 SHA512 83b3ddb1f0d7ff621ca2b3d426c2e682d8339a2adedbbbb3a4584977e2e996549d665578729bff65b5693059460e9e04b9df2181c404980d3b3d946c80e0b589 +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 +DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.92.crate 184119 BLAKE2B ca256c686bb3854492bad6afe3cd27dab314561a1ea2e0205579820066b462bacdb2cc01075fb420bd20eb33b03a648ce1ff46feee04d8759ea8aa990ff8232a SHA512 6e46501276c0d4befbf930c816d6ae6c3764e3b5ce0ef4aafa627a6ea371f1a056ecc15970a817e9e9bf51c0a2ffa57df427d758b2d367beb6a474d75b8939a5 +DIST wasm-bindgen-backend-0.2.92.crate 28348 BLAKE2B 425497aa7a023b70549c55d5a15dfed80877c5503863b186c0a9d11b29551c4606c1cd5961c7dfdeee2eab5662952ad7ad215513e93abe727a33f84b30bd181e SHA512 22e4f5848d62bd1fd55f4f054ea1293e223b3cd6f916bde2523eec10388e733623492c3a3246d61831e696dffdec5d000b95e9aa1217be6e38dd6459872166aa +DIST wasm-bindgen-macro-0.2.92.crate 13835 BLAKE2B 1f2202fdaeb78c32813eaf08b2fbd7aa9c469228386df71b8ffd81a46374e39a7104b79991f702505f9b7e97957fda8574517fbb03e3f9e93098c4d6e1e46be3 SHA512 78d2ddac88a9ca3ca5eef8a7af81cdf2366187a67d844e69f65f6893d1949f9723ab5f2be762c2217a5c21aee2f3dbc2d5d55ef0c9cbf0dec0d52d67a6ba7462 +DIST wasm-bindgen-macro-support-0.2.92.crate 20092 BLAKE2B 8e274a4053e7afc680740e811c3941478caf5342e2206e3d28cdea9f9514bedbfa4f2b6bc608817306a1c455dd7134b7e17f0f04499f6bfb5302f29b041ac7ae SHA512 92543d2aad0b25798ec20e68832b823610c2c01401088cd9cac1684a86ddd1b567b3e2712acb862060f9c645a0df509b01d9834fd3e13cdaab97960f66d8daa7 +DIST wasm-bindgen-shared-0.2.92.crate 7263 BLAKE2B e54895486b9a31cc4651b7bb042059cc84421708346c06a9764315ebd4f440a1077520c7d325d6889a690b2c06aa185d40cede2dc4d061b363594cbde20fac31 SHA512 70e3a22731ed8aec428433bf30500eb3f62e3b7f4f1be34d8bb3b6f34f99690fc85d49eb413caecab807064494cfec64242c6a42709dffd638046e370bf86e07 +DIST win-crypto-ng-0.5.1.crate 44667 BLAKE2B 112a40af7aaa7d3e1c6d6eba99f3eafc7173a10f149e122eb5c658619f6898add8086ab8523695b8433bed89952d70a63e6f445b39ad4e9bd64ed98931002817 SHA512 735d245c56928db70dd4ca0b95dbd8be9f3b55dcd88961549dd51cf8e671eaa3a203b76a1e2ba073ed8b0042f9aea08fdff505f7efe19d8b2153589f9e811692 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 +DIST x25519-dalek-2.0.1.crate 87820 BLAKE2B 039749d0278d95996016260f9e32162b370594085186044665685288d879e067fa16a5d4d42e939d2bd05f7b47a81036cb4f573d841cc81ece078c7a08eb672d SHA512 13dde8a8d4772dfccc3849a37717828ff6fdf6b4deaae86b5d6bbfce9b6dabbaf039d95c163cc6764447d503c1a62d602ae5b5d1f7204cc002d3fb13ca85acb9 +DIST xxhash-rust-0.8.11.crate 20656 BLAKE2B 444856bbedad0116bac05a7ce84cec95be49f7276dfea0c31bc66d03be3915ad4543daa5eae1132e7963d6773955c03b591738a1c42e55901f32d7c213d72142 SHA512 b14bb8247aff9b0eec701b2c6a7545364a88e2e7cdbf1acad109fddd59a53d72fea8bf31cbf9a50f203f64134d151ac8371a3d40598eea53b42ea558868bc146 +DIST yoke-0.7.4.crate 27781 BLAKE2B 42d6176af3e8d046b42fa89eacc0bb249eb0a6e13dbe7e97890b0cae98c3cc0059255f15314bbc343610d60605bf2d13869402c17d36cbf7f495956496572212 SHA512 b3d1456e28d53723470644ae15a4298fa96a79593d90729221ca4e45a6f09de4d7c554703425c61595c4e78959652122db95865c0337cc0cd6a4ec57d7bea84d +DIST yoke-derive-0.7.4.crate 7470 BLAKE2B e5c0ca6f9cad4336b6b7554d05c3926d1720707aa70b588ebb884426747eb7d3d82614ba20563a5e801c4645f90fed9e067f50f43749a66e52f20c4204fb94db SHA512 5be38b8ae8dcb640a3fcb097e5b118354b45a41a0367afeff3c2ba5d13458524e88f9433848f09c670533d36a49a0e2b393e23368921553b5bb008e66e8e4a40 +DIST zerofrom-0.1.4.crate 5044 BLAKE2B 8ad9a14b8b0c251cffb420f7ac673669fd29b74bc2f5e220c8e86d592f58cbb2c7be88d906b7dac8803dbd76ec459c4a249b7d1ede75a055454a1626b387f128 SHA512 11f37a67108185a8090cda71338b02492fabd15e6cfe018833a165cd869ed65338e12d7c5680ffb0b763fc3acbdff6fe4df30457653dfe4d79ecc864b69d780f +DIST zerofrom-derive-0.1.4.crate 8232 BLAKE2B 98f69cdeff7df52822b982e3c089ccfa3ac2ce67f320b0d32eeffa899d2b34627268ed0a01b03504a0a6fcb6bef34d808cc79c811d5daed7f8acf59282e82088 SHA512 f2ea4650fcb4e7c3583f0f7c6146c7734cf6e80e07d92c330c6bc6a0a4e0fe14ae3393845713331240c70685e92eec114565c5be21189e687fe6232aef75a9c0 +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zeroize_derive-1.4.2.crate 11141 BLAKE2B a40add656369a3a40d5b5f3397a77a1e9f803d4b8ae5b7d51c9f2ebb332a289b3c1ea528655806a26998e081a1cc9f4b07828664542de8d8d2619faf079d25c5 SHA512 d6966b024ce5e265c93e7056659ccbb97bbf6baa30f759fd96dc4391a6487426637f61f0a2713b6160019d778cf7d8ff1f25bb33d6c4f4585b990baae418b226 +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 diff --git a/app-crypt/rpm-sequoia/metadata.xml b/app-crypt/rpm-sequoia/metadata.xml new file mode 100644 index 0000000..393d58d --- /dev/null +++ b/app-crypt/rpm-sequoia/metadata.xml @@ -0,0 +1,19 @@ + + + + + pastalian46@gmail.com + Takuya Wakazono + + + proxy-maint@gentoo.org + Proxy Maintainers + + + rpm-software-management/rpm-sequoia + + + Use dev-libs/nettle as a crypto backend + Use dev-libs/openssl as a crypto backend + + diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild new file mode 100644 index 0000000..aa54956 --- /dev/null +++ b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild @@ -0,0 +1,317 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstyle@1.0.7 + anyhow@1.0.86 + ascii-canvas@3.0.0 + assert_cmd@2.0.14 + autocfg@1.3.0 + base16ct@0.2.0 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@2.6.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + camellia@0.1.0 + cast5@0.11.1 + cc@1.0.106 + cdylib-link-lines@0.1.5 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + dbl@0.3.2 + der@0.7.9 + des@0.8.1 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + displaydoc@0.2.5 + doc-comment@0.3.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.13.0 + elliptic-curve@0.13.8 + ena@0.14.3 + equivalent@1.0.1 + errno@0.3.9 + fastrand@2.1.0 + ff@0.13.0 + fiat-crypto@0.2.9 + fixedbitset@0.4.2 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + generic-array@1.1.0 + getrandom@0.2.15 + ghash@0.5.1 + glob@0.3.1 + group@0.13.0 + hashbrown@0.14.5 + hkdf@0.12.4 + hmac@0.12.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idea@0.5.1 + idna@1.0.2 + indexmap@2.2.6 + inout@0.1.3 + itertools@0.11.0 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.4 + libm@0.2.8 + libredox@0.1.3 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.22 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.7.0 + minimal-lexical@0.2.1 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nom@7.1.3 + num-bigint-dig@0.8.4 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-macros@0.1.1 + openssl-sys@0.9.102 + openssl@0.10.64 + p256@0.13.2 + p384@0.13.0 + p521@0.13.3 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + petgraph@0.6.5 + phf_shared@0.10.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + polyval@0.6.2 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.86 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.5.2 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + rfc6979@0.4.0 + ripemd@0.1.3 + rsa@0.9.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustversion@1.0.17 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver@1.0.23 + sequoia-openpgp@1.21.1 + sequoia-policy-config@0.6.0 + serde@1.0.204 + serde_derive@1.0.204 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.9.8 + spki@0.7.3 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + subtle@2.6.1 + syn@2.0.70 + synstructure@0.13.1 + tempfile@3.10.1 + term@0.7.0 + termtree@0.4.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + tiny-keccak@2.0.2 + tinystr@0.7.6 + toml@0.5.11 + twofish@0.7.1 + typenum@1.17.0 + unicode-ident@1.0.12 + unicode-xid@0.2.4 + universal-hash@0.5.1 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.52.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + write16@1.0.0 + writeable@0.5.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.11 + yoke-derive@0.7.4 + yoke@0.7.4 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.74.1" +RUST_NEEDS_LLVM=1 + +inherit cargo llvm-r1 + +DESCRIPTION="Implementation of the RPM PGP interface using Sequoia" +HOMEPAGE="https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia" +SRC_URI=" + https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="LGPL-2+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-3.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~sparc ~x86" +IUSE="nettle +openssl" +REQUIRED_USE="^^ ( nettle openssl )" + +DEPEND=" + nettle? ( + dev-libs/gmp:= + dev-libs/nettle:= + ) + openssl? ( dev-libs/openssl:= ) +" +RDEPEND="${DEPEND}" +# Clang is required for bindgen +BDEPEND=" + virtual/pkgconfig + nettle? ( $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') ) +" + +QA_FLAGS_IGNORED="usr/lib.*/librpm_sequoia.so.1" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_configure() { + local myfeatures=( + $(usev nettle crypto-nettle) + $(usev openssl crypto-openssl) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + # These variables will be used to generate the pkgconfig file. + PREFIX="${EPREFIX}/usr" LIBDIR="${PREFIX}"/$(get_libdir) cargo_src_compile +} + +src_install() { + newlib.so "$(cargo_target_dir)"/librpm_sequoia.so librpm_sequoia.so.1 + dosym librpm_sequoia.so.1 /usr/$(get_libdir)/librpm_sequoia.so + + insinto /usr/$(get_libdir)/pkgconfig + # build.rs sets the output dir to be target/, so don't use helper. + doins target/$(usex debug debug release)/rpm-sequoia.pc +} diff --git a/app-crypt/sequoia-chameleon-gnupg/Manifest b/app-crypt/sequoia-chameleon-gnupg/Manifest new file mode 100644 index 0000000..f6aa81d --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/Manifest @@ -0,0 +1,400 @@ +DIST addr2line-0.22.0.crate 39156 BLAKE2B 3fbb55f6cacbb177d06359bcd39885247a9eeef96d95ffac0dfd1d45ed394dcd1e9e069c02c71a9ffca0b69e3a974e4d96bc3385470ee39c87d7a30ea7914303 SHA512 b334f51bd369348b4446805b4f624ec9b4cc8eefcc53ceb57b523ff55bf018d1dfe23259daf48d1878170ad4fcb44181d4738456eb5e35ede6932ff29686268e +DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST aead-0.5.2.crate 15509 BLAKE2B 0214f3e8ee85a7e18c7d20f9a3fcbdbb9e5af6fdfdcb427e915279b505556dbd2df6d09d5c90561417c56796236a56ab24b2b11389745bc03a0a6da45c0e8636 SHA512 61926a615618e64efd0e9342d729a89f80d6e092dda50e018252a06147e2ca0dc2a989136416f57ae02019695757dfa3d3f3cf3799f138e440662744ecab4a44 +DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79 +DIST aes-gcm-0.10.3.crate 148991 BLAKE2B e1376b741386577277a8cb9535c1ad3e15ea383c0f324bc5cedff09a76b11f2c9e29226535688f9431e904bf2800b8e140c4b1cab333e572208eefd19ca897f1 SHA512 f9aec1e2609262c30921bf83cdd82117d147905d4ca311f9fef4b9f1734d3a57893ba2586f0ccfd39cf9264d347ba2c2d2c52b4726495eda8fec7fbec42d6db3 +DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a +DIST ascii-canvas-3.0.0.crate 10575 BLAKE2B fc40c40551e3e1b2bec6ae5a85ee8b0a1ab1ef3425cdd19ec6dd47d849205004781a2c8f51470417fe7556cf8524cc63b84a532532c5081604adbcd92d286b44 SHA512 216056640604f5faba6d46e2c94ff75234fec83d3bc2dc7cf34dd279706362874e3a513c717b23bc591da07cc3088458913c4e9aa5f280550c93d261095c8703 +DIST async-trait-0.1.81.crate 28896 BLAKE2B 154e6b8da082193832bca7bbc097eb5ee25ed8365d1cb8dedf27f62fbffc710cfbfd0094a200a10399e942014083b74f521dae01cc4601e0f6b9d7364761fce0 SHA512 1fabbaa813ba320012c0bad54d27232eebca4d3fff1cc5ed771df9f90d9e9bfaca4f7b018358dc599fd30c5974d00b34ffc05ce6e9151a57ba572543bff83fd0 +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST backtrace-0.3.73.crate 87617 BLAKE2B 585eebbb44671dfb3ff088092f62c7b25118ffc34e148b9b6ac67707923254ea43056861e2658c5fac7b9ed16fa56c30e7734e976fc3178f1fc03912d1d44c40 SHA512 dacedfd32cb91fe408e4f395441baf09c0a4b3bc4ba8f79d088359455cc903c93d24969567c7c5b2feb806433ffbb63a526d73f53caa4bee9c51961b61f831d9 +DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 +DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 +DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c +DIST bindgen-0.68.1.crate 218997 BLAKE2B e3706a992c166c16cd8b8ef996b2eba6a0d67f493825e7257ba660f597de33002a32df7fea0fc2508fb47155f70ace0765e9ac4e4649d1f24b2bbac8ecf06d8f SHA512 29520e30db93ef3e239273854c926eba7bbbe2ec70e5162a4722e03947461510732319bfcfc20d5dfc0df137d69e8c1ad97daa0236c5bd4da8a1679bfd696a90 +DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 +DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST block-padding-0.3.3.crate 8504 BLAKE2B d62481c25fd8680cdf0ad0bc259bd3777c3985ee91d5bb4995f484a15d4a9bde21c5d20f8c2efd0eb340aa0b8c7faac0f3fd817202ef4350d17994f478715eae SHA512 0849c99f2027f4e1a12872d2210310e9669f98929c99690febfeec90c0199b2274e20a5f83824f200f75f2553be2029ca85b0c5d0db4d9d477ffee9a71dd3b7c +DIST botan-0.10.7.crate 40376 BLAKE2B 63332415636f353323b72a4a2aec2910da4da71adedbe649b753b8d8531a4b10054aea588e216ae2a240bcb91873acb63cef2a1d34c364bbee383dda0f24718e SHA512 a03e0a76b8bc0bc777bafc3e2df7667dc78fffb35dc3bb227773aa23b3ebef872efec9d5144513940dcd44e18ddd87d881806803ce3736c73cf96221befe16c5 +DIST botan-sys-0.10.5.crate 8245 BLAKE2B beef1579600f7fea44b7a701cc29b2f530cd1da8da6090f1cf8fdcc00e68fab711064b0d037604796aa0633f2e71495f8cbcbe69047ef773098a36ffe2069867 SHA512 6f22a5c42e4b13ae2531e1b46ad0d93c62faf96b056f80a145370816296fbf33c93c2dda94736afca7a73bcfd336003a39171c359723e05bb5c269ebb4784339 +DIST buffered-reader-1.3.1.crate 63723 BLAKE2B 7a7553b5994c01666c95a678712005ed3c02fbf8f0b45d80f2e80b2bd46c5993376b16f5d89d50a7cd915aed9da6dc164901c6e62091922e615bc8b9284f3328 SHA512 4b7efde96c2db48f8452e56a904b1fc865b7317bcc324c10c0a23147b96eb14cd5097b3178910a1a74d54948b50d6499fa7f5c8630274a80ff05f1eeb2c7054f +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST bytes-1.7.1.crate 63623 BLAKE2B c399f7f25b85ac284bd2f139d895838eeba7deb56d109c8579966be4b8a7a56bbc26f9387bd0bef9fe5449d5e2ae8d11b254a7ef93048a4827d945ddddb5ce09 SHA512 04cb5bb1718ee378be1d9d56aef2d117ed561935ddadd78139ef2839f998e92c88369c79560bce9d23246a3ebda1dc888af373f9ad4827a0b9a249379bc71e81 +DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555 +DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b +DIST capnp-0.19.6.crate 143197 BLAKE2B 39ac9a96351609e6ae57cdc44798444f99be346366756aabf5b9499709650795783cb826bc105be27b05b03104a902b4870420f5fa534f6a4f216642d9b6d82e SHA512 1fb8804b86fdb85f70681203261b16993cce6be720968be757c53c836c536d0a1a231256c523b69f8e4f1c8f0db4fd5edaa0394cc95d16d53d57cbe07632baf6 +DIST capnp-futures-0.19.0.crate 12275 BLAKE2B 86eb409ce0ac5b1340572cd3ac0c79c4ae4db8418b3a6183aba5774ebc3f7e7c3d6d89984201e93f29a3f11f70ed2a38bb4a47816495967e2339fdb0474b68e9 SHA512 3db50310d40921d082b09d99dd2ecff1de901ac64672236d9c32f28858cd7e0beb377cc129c83f791c2b87aaa6d0ed2cac26a852244010d1970597afb23b4316 +DIST capnp-rpc-0.19.2.crate 93175 BLAKE2B 5affd8e2bdc11e734ace094b8e9bd811f06af341c871c800fd071a7dd5116a9d5ba3d4b2beb7ef900f2c8bdd50b1187f100518de75925abf973fc052199458af SHA512 08a9e766289f9e849ee56cff527e84c4a8d4afb62ebcd554402ab67d71b53c53797fae61d3930aeab50b0e0976663aac7ba0a7fe8b9ba3e29265423ffba8bc84 +DIST cc-1.1.15.crate 83085 BLAKE2B 14077692d5fc47afc59b44227353aa24d91708fecd316b058e553940e6a9b6c8f148115cde2b7d6cb2a3462f487aa3b45bd670a2beab03f677e4bf63a06fc3f7 SHA512 2f1e4f3a4dad3638f680448520e218e3c984a7c13c3984d620949a9d3c4f13d68b3a0749997dace1e43faffe3477ea15394bd4e32a959bd56e3c35c27a4aa4de +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846 +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-4.5.16.crate 56627 BLAKE2B 83a6a9ad12b826affa68df179dc1cb534f58b6ae505f4794ca6dfaa8f8a9e33d93b9babd7931bf48bc13da31cb3078b442c4a2a2e84a8f2e675b5d620100c50d SHA512 d13bfda2c3f77cf194acd87763d5f2fea83ec2135504b173af2941547a7d3dcf75c3757532c60b53c57600bf4859395ddc94a7dd92b17f44c60d3e781741f928 +DIST clap_builder-4.5.15.crate 163717 BLAKE2B 795fa9c6de6a3f4d9a1288c3340613c14b11a5346e314f5f486bee76346f5f88396e54d95d051bd84184a91bb1f2d3575f870fca56a4b9b590ea2d9939beb415 SHA512 52efd99bce20bb8ff2187c4cef8bc27bef6cdc52598f00b47639b797683f18c76a79a6ebf34d1d250621a49cab0e9ec9e7824d323516f1ed3fa721cfd34cd713 +DIST clap_complete-4.5.24.crate 51275 BLAKE2B 1ef83aa5ae504ac98fd8ebbaae840a166124a54eb0d35d918a85ac501a827047b7e5b510eaeeafc51be62fed5776d8845506eca9f56f9000c29a39f3e843d3df SHA512 42b247aa2fc9ce26ac2d8a69b6faffdcf96618f0dd38ca2d3ca6067335356b21c604da0c735ffc6245d15f815bfb13a4e2b81eda73e8be1daed87f58e4777a15 +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST clap_mangen-0.2.23.crate 15368 BLAKE2B 915cc4250a3f377ac0f5ea103d18cfaa7b827b3c686fb485f98619465eac23400df828cb06572c4748af42584c7e78c0a903c4114c8e4cb867e320521d8d8add SHA512 fddcf6e7173eb0ff84fd05218bf70b2bcbc3a212b7cc1dbb8eb85cd59504fe89f8b4078669d4a45308ca5c2d9d87d387c5cd0c48cc9a9376646f13008971e531 +DIST cmac-0.7.2.crate 44847 BLAKE2B ab8539f41e720f132b2da3176e9c533a2309cbb3dcdb027af4c5bdd6ac68e4a2a97f53efda52236527a15786b73bd96ad940385002412330d7cde60e3492a6fc SHA512 9e55f9f9323dff330ef45da953bc35da79ff8fe643b3984479dbab10b35e05e4d613f7329c46bc119fefa589d8f5f3bb268a7e7f0853003c1e192fe324e83315 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST const-oid-0.9.6.crate 45382 BLAKE2B ac27c689784fbb1f486cec1c17502c8738ce3d7d1b579391a151cb0f0a6a0c8335e474d0a517c59230fcac74317396f20ac15d66e2f6685780be01dab197fd96 SHA512 b871d3b4326c4828b1c1d7a3e968315fa320e0b52e97081a95617ded0dc5b93d42b3f79ad26ff3b58a4835dcc442473f3965c2b60026412ad6aacc0c23e9f399 +DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST cpufeatures-0.2.13.crate 12999 BLAKE2B 4c49e01e91fff33c61bfae48a07a9d76a69565840f5a12399a3515f6e6808743dda0d4c6877feabfd276bdeb05c285daa3bce6062a87cc3da50bbe3b6c0fe1e3 SHA512 e961ccd9fc001cce661b6360b18abc4ce2daa4080eb5fd84dc5704d8d5ddb6ce6cc66b5d42440bffdda03137af9c5ba20b6793130692168e7e28729841c3f352 +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994 +DIST crossbeam-channel-0.5.13.crate 91174 BLAKE2B 7a9aed6f4922c1d10e4ae12508a03dc7daca773adad6a317c4ea38e544d7c28c56a06623d958aec540fcaa86fa9051a1aaa2c859dadff72873f18f2f3a951449 SHA512 0f31223a7099f84e39e6b76b19cf26736e0c3907fffc2ed3eb0012c7984b1993570bf6d155eba5bfb82897ef0e4fc93b89096071410bbac256ca6be9a9568ff8 +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST ctor-0.2.8.crate 11053 BLAKE2B 6451c50f78bbfd0f9661f17a9a5fbd99b16cfe9e33af7ff2458f72a65d76541fdfdea9dc780bdf711b308d0ff264ba50d8866d664e68b90a432e00bd82112cd1 SHA512 576700ff278039c37105697e67812ab451fd9439c890342bcb2d7dffe167a45561d867b2a60a9b730477d7754a74b2db7ea552d72e70fe5aa28afb411ba67d1a +DIST ctr-0.9.2.crate 18344 BLAKE2B 195dce5872a0f59b90bedc268c5a5796f3076d12868f29f887294301b3576047ea82098e73ae996f564e400ce316cf1cdd9016ffb714559aaa0465dc826f0cbf SHA512 6a027f4e3881e51e3dbcb89348c961a2086bb63e70652c49107f49b7d021e31f74ec8c6ae91fd1605928f93f5ffa27889f257c166669e18508995168f17b46a5 +DIST curve25519-dalek-4.1.3.crate 306017 BLAKE2B 0c02e769ae48e6839e37e622fecb8b1987fec0653049775a80bc53827329b50d6b8aa8288f26af306208d4a2edb94ef92a64d955c395d980cdd2624c35f0cc26 SHA512 a1dd318f96b5f1851d82a6fbd29c44dc85d2f75da16e5bcf9d6ba3abecddf5e0eaee4a7415d8afc09923064fa41529ede2622f8a5fe0b3e6d4c88b418c41bb5d +DIST curve25519-dalek-derive-0.1.1.crate 11723 BLAKE2B 442b0e4fc519f233d3fa46c17c2e25807374360bd6576e97b4ec33e6c2cc228bc917e4e395a1d70aa19be7bae57db36d2c09c4c7d505691b53d5a624db67eb6e SHA512 60861002465d2ba12a6089b31fcd7a75f7a6d77319159d5383f29e857adea8cb7e5c9c0ab6977c8cfa34b60e1012a1a5dec57f637e6a225e60269ff49c25b29b +DIST daemonize-0.5.0.crate 7125 BLAKE2B 9706f4ffb140533f73fe520755a06ee909fe1768e3f2e9b553acd2c1b80bcd4aff152058d1d70fb1ece7a7de6059cefa9d2db0fadf493aae641e1445e3c6d686 SHA512 8ab439f3cb43a83a84ff11fed4ef37adaac4ef5a83e497e8d6ad06ba1f10359366eed9741a07f3c97f3c83472da5513b5e28b6ded4b4b3ca9a1c536b7de62921 +DIST darling-0.20.10.crate 32031 BLAKE2B 038c2a4d919a8e9ff6eff5f83911b40cf4e918ac27c90f313b6b9131c41770f83cc3901973fea1c6fea2886a8360f3c5cf73b807d14e579b8b8e87f15e3bc6dc SHA512 7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55 +DIST darling_core-0.20.10.crate 65015 BLAKE2B a94adcc6092a7a69728725ec4bf4cb7c163bc3fe0890f272bba9963c256697bbe1ad964d58a975c80742019c59d4e1b3e56e624f938576996e216d2f99e21f2d SHA512 2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d +DIST darling_macro-0.20.10.crate 1874 BLAKE2B 29cbdc6bd63e4eb0731c8f8f0a50cfcae9a88f116f8cfc0068e5d3cddc20b42b7f0f20f128ffa0f7bcb8d72f0188b04b3838b8327fa6f3ab45de4cf5c3bbf317 SHA512 565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52 +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST dbl-0.3.2.crate 6336 BLAKE2B bb912351efaf270363c2a6cefe4da42ae8c6a552690b566e5a7b70115721efd2ef42801500d534de0245b6feff5b6895bed74924c86eda3c5e9a5322f32e1392 SHA512 efed499069e1eacb709598b9a250be353d65dd9a1a27c7fac6d23af6262af0fda60b121c283b9318f301be2d80194ec1ce33733daa554f54ed3f690478d37cfe +DIST der-0.7.9.crate 85173 BLAKE2B f2dcf402e3d8b6a7ca818a8f260e0996290c77517b06bba8b22849c4d0e0c8f3dd57d664a06d9a7bfb1da6a39abd0740cd7d9776e75669aa970cc3ef63f924d4 SHA512 6de996346365647ac0da23d3fa9c72100d665c9225dc2f0bf1f553c4f0e7eb5c6acf3f1e36a11a7cc20e8b1c44752997e6f592c1d142755df145c5e302800f5b +DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43 +DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1 +DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766 +DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a +DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5 +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba +DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 +DIST eax-0.5.0.crate 14882 BLAKE2B e0c4a922cf71aa5ae09f8dc434301242443004895a638eca6237d437f4ee72250036423a21e01eee6f2d27b3d11e943dc68788b0b125ae3ba88918d407cecc3e SHA512 d43f2356586a94915a901e700fc9fd84a4be019c605c7675fc1ae79140b9af161cd30ebc68d35dc10306893ae385d51aedfc42a62aef16050271f2022d9c55c3 +DIST ed25519-2.2.3.crate 17802 BLAKE2B aff96de3343d0cfba058203e90b6fd2c6cbd24531abca3a37977a1ed2f1eff0f4d4b6decbfcd9759617f381f88eed32d78397e6fa8d310b99b98d603b809de44 SHA512 3bfbfcd7f442dbb6d49860c530525bac60182bc57f6778e4ee097c7ace9c6a9d32ce430339ec15931070a538d3bb1e1f7b1cf572537ffb782bc5551fab49b2b2 +DIST ed25519-dalek-2.1.1.crate 85736 BLAKE2B 77dd4019467da3dfbe574ceb574849ea665ffd8dc91660f6a9b2596fb886400508bc632dac10a06461f35fce5400f27b89b1270514188ab488a952288309beda SHA512 a3e3838a3d4eef726b65a38196e66456f586b7e29cc328eb243bacc5a247b50f10ce76df6259aa102a08ca921f07d0395793088445f36de33f5dc1aae5223ed9 +DIST editdistancek-1.0.2.crate 9254 BLAKE2B b7ae2f34dac51b47dbdf89c0789d5f835849914892961c061f77bb57335bee781b11f531d02d16043d745ab7a6e29f6926c92b2ba8d33687d6f2261ab0d095c9 SHA512 209d17055032d90b62661907f36d1fab2e93c3744a19a9c7ce0ec5307a88ec140147dc5a2fdf0e60094daa4fd4db1572941bc2d8af11e626a1c80426602b9c96 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST embedded-io-0.6.1.crate 13133 BLAKE2B 2521aa9ee265515aa1b393764d4930cfa1c7ff3833c4fa7385da93488ae536ad19eeb787e8cd45f136ca36d3cd2f96c42d0b2a0c79c9e8458fea4946d60d66bc SHA512 7fbd25740c74de3ed20c0effb39818576add1d3caf696e5a1e617db2f802eb75d08138771f2eb29047fe83e928a667ced6a23edb9f971143d198340235378e54 +DIST ena-0.14.3.crate 22986 BLAKE2B d79daa3b5f3723aa7cd3c0b432b7332a0c43a5961adfcc8bed7e43bc656e54ea7e06eb1028714c7f0b52509cf8e6b972d2ac95c65ce808deb0facad2bafe0f62 SHA512 d4c893973372011505a762f4a823ddd4b50d8ff3a2f91298382f9c580fb6f688aeaab43d504a0783f8384280f7be9c585e8a079cb38959e8fdd4a078d1a642f0 +DIST encoding_rs-0.8.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6 +DIST endian-type-0.1.2.crate 2340 BLAKE2B 6048948b467403409807fec776add4366685282a277d4ca40c5fc901228c0652c5759210048b28a94c8bb04c39bb3b359d43254e953e5b476112da7e49151a5b SHA512 d8a9b125fb87099f8bcbaf3688e2feb1c463ce624cd3dd36396e75e7aff177ed5033ecc295c02f491be04dbf240aac376e79a5c7cb591c3b208c442e1c1e6bbd +DIST enum-as-inner-0.6.0.crate 12079 BLAKE2B fea251b187470b6204f686eede8d9d2fc3869a396d50051a45c72e3628b4d893a2393760afdbe14676cf505b1892ff67846226ffdc4a23f59a18b2cda1a2629c SHA512 c06e0bbc43068161a07a8b34bf1382311273cfc5390f3fb4c90b758d47cf49baf648f6bb277770a983942f7d2effd242bf1f6eaa4eab77e7f6f4fe9ef6ce188b +DIST enumber-0.3.1.crate 10171 BLAKE2B dc5d404430d380f83825042de278d43ec9492fa77b56f1eb42cd55dcd2a3a2841732e63d56764e7c13aba43f1c0cd9750f5a7eadb5b02e5fca7f607ea58daf5e SHA512 f27f81fe0ff2f940a20617a032ccf07c1dc4d4d27c2eb286c815d817f158cc229d2dbf11fa54643b0990d14aa7dde955d76ae9b3190b0ca6b44810265d5d70cd +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST fallible-iterator-0.3.0.crate 19639 BLAKE2B 58b8fe842fd6514fa4327eacc81b157a4a9bec4ad9b8e69248c0f0aa5610dbddb9c8a72e6e6ef9fb8216e8f79e6aab439e90d4d527e35634ab222347cbe39974 SHA512 c655918fcda5deb8ce792708509e4959139f113c1006dd41b94d7073ffc204512a22cdeeee05c87534db9c414da3f4eb716e1a26970646fcb1c139a14eb8a2fa +DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc +DIST fastrand-2.1.1.crate 14983 BLAKE2B a4535b1612b103376fe64d71a393f7bfc37668c574d9122ca90a631aeb91cf0895bb030e597b79a80a4a37ea4d514c4c0836332030bb10a60bd971573a6d6ee0 SHA512 9a51185132c1c89fc31af463c664e996f431e607ce96676b8301f28ff11a99661d18025dd460e3332e373af68d20017d96481719746fc3c5de742d08d63aba3e +DIST fd-lock-4.0.2.crate 13675 BLAKE2B 055e7254c6ea0185a099cba229c15a1044a6c0826eb6151e990134c816be4dd26bb8ab41631be8650340bacc16324a706656d2901c3969354a854216ad3cb306 SHA512 acc5aaf6e89169062c1c59d5258b590d4bde21a35f0acb7da2e3167d0668fa678d1febc305e32d95329a7e5bdb784fadb9b85417a5e4e5deea53d59f05bea74e +DIST fiat-crypto-0.2.9.crate 495390 BLAKE2B 9201d3faedab8c73b606dce70d65d1138f5fb29e480d56b25cd66a8d2a150fb6d946c9e0ca98eaab0227490cea288b4c78917ccfb6693022d70d74dee94e6e78 SHA512 d916fe8ba3e82a365d20485b93c36994363059dead84c0266b7bfa0bcc74122d71b4a5c8689226c0e1007e7e01fc6f6c76e8687ae14fcc38f6f159287810f510 +DIST filetime-0.2.24.crate 14938 BLAKE2B 85e05026b35ba195637dec12d2f47cc30a189db0c565c2aae22ab1bf407e910874abebf401167b0c330c790f3e014c37108610063b5428031d28452eb78009d2 SHA512 b371bcdbd0e41b875de623c7b7f122e8f0e421382e741084645372b774cf09614eec9fe74514c90199b7110e8af27c62625e92281f3544afc9374889372c27f8 +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST flate2-1.0.33.crate 108838 BLAKE2B 9fd23b3b0a75c29f750c873f74de8565f0d8f3a574c7d28e11d15e6c3c4686c42ba98b5769a08c21f3b9c6ffe7140196c3e7001153ff5a046ee7af40f7f6d965 SHA512 59a871137518586f1d66810528595acad5ca763ec5acc100098a372194f55f33b48e59c0806fd237c644a6d797b5deb26c541fa871a1194ee3ac725da3b6d134 +DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50 +DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e +DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c +DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4 +DIST futures-executor-0.3.30.crate 17744 BLAKE2B 927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b SHA512 fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f +DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2 +DIST futures-macro-0.3.30.crate 11278 BLAKE2B 6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0 SHA512 220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc +DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3 +DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d +DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951 +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST generic-array-1.1.0.crate 27344 BLAKE2B c3aab4928709a33898082fa440440ad66e9e6b37167a746d276c8a2502d2a2c1aec66c97193b31a6a1241af425e7b869d19961e6a4cbb7dde436b37168f7769f SHA512 d7666c4fd7de31693837359dfd167d1660afc41bae1bde1a6aaf17340c65e9b269c9b2d3848afff2db74df619956a18155896b10055d9501cf3d72cfc3d3cb29 +DIST gethostname-0.4.3.crate 9336 BLAKE2B 12be5fdca0b6e3788cf3d67a4a80f283d240611b4fd37b6d1c37eb2503e4a7025b17bbb70adf421ac840d8f952434bdedf4691f31362780a267e21e8c4d3a006 SHA512 8c5dc404132f2ecf9bf82d8b89cbd698b4cb6d43141c47a60b95401da2e8c314347ab0a0ad5fba50cf98f01a621faa68293cb78f48977d3ddfe6e6f21926abf7 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST ghash-0.5.1.crate 9482 BLAKE2B 77510c9a42ebc486e35cda6893e7f9f464628d6e4ef2f2f1adfe5d6371dc2f7e2d0578665d02dc5647651a96f3f06ed9cd3825caf462d70a740c9e937ac8cb50 SHA512 00041605bb458305f0fc54d2c8dde2cae672451646fc41a94dacf83950ee44f75464a926439e7e6d1ca3ded05a9b697138f62fba6f4e86ea3df034ad7240af06 +DIST gimli-0.29.0.crate 275756 BLAKE2B 092e5bce9503a337451f63706e7ae7d12a4228db6a43d2c14fa6af74640a790ec70ea2055ac84db3919d19612ee6ee0453f64981390667abec97637679ff06d3 SHA512 a6b591d48dbe93a1fa6b814759a5cb61fba0838288840667aaecf01346a3ab862fbfe1cab51b057a425ba9a0ce35c8421b28cd5195464be881f38905062f1446 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST h2-0.3.26.crate 168315 BLAKE2B 81c65e519bacc8570a28b82808828044d1c94f8cf9111ae432b1684f216ce51c1b583b87a2bda3c36cf206dd508084b8f0877e93d58c8d511f87eb143bc77ca9 SHA512 3e1fb02d42d86c9fbaee6f10fec78eebd9a31a70efbead1f4ca22664ee0e96809a52b06e23a9b6f5d0646422dc8054b5ff5d82644ef65cbc0ed2b3729d849163 +DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST hashlink-0.9.1.crate 28928 BLAKE2B 14276fe00fb8aa7a8183b5cedc99eb403c0a68cb662555cd51efbe55a46c864f68f3d421395f56defcd1a87576c5a38509581adb5d02b831d9aab2efdd376f9f SHA512 16189f332b9e2a71f8cf4c8b72485eb107c4a84d4bfe3c739ecea8fe5dec33ad3c796d57830b12c176bc65a2066913c809a0f7c8db83e9da1bb0c555de8d3717 +DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 +DIST hickory-client-0.24.1.crate 37830 BLAKE2B 5b996ffc2d2e10edec0fb2aad9f361be2383c2adc2524ce583ffc3c43f3cb0a49236a00c70ff10624b805b41f20016c12d9ac97281fb79a16fe1710868f91287 SHA512 b47f6e7e237c803ce0a1ae7b034e9173b64b9c4e5db74259348e943004f5a506b36c57563590337755ad2eb411524f09593d771f3d2bb66eba225a7418ee0792 +DIST hickory-proto-0.24.1.crate 374410 BLAKE2B 342ac0893684c2f350e4e1e26d37323e066782ab1c37db41f00d97b47856f2ff9b18c216fd162884b330dfeb542d9bd4da1eaad05a869d83f3245b5e6d451ab7 SHA512 9b14d8f4763b8034313ec48f96ffbcab0cbbdac73c0b32e04eabb5a11cfbb3ba8c6d2a84bff5ce2b1a625db5a76be895929a60bc3582b56012c736c897fb99ba +DIST hickory-resolver-0.24.1.crate 91134 BLAKE2B 9a0930e26f64317012e507ceab8b06ba44a367bc32bea7d0d58cf27a6980a6b82a66411cb629a576a5890a1d7ebe8717634dba928f5d420094d4f1f971f215d6 SHA512 f24e726b4f6b884be6d5072d030e4f542c9f25bbdc594fcb68f2003aa6425209a51a044fd4e83f2ac4746e67bd7a5fcd2b6b0105e5b63fcfc777dde173029609 +DIST histo-1.0.0.crate 12629 BLAKE2B 7af155af1b99d2fc83a753ad99c69bbe084b916fedb5d2a7b2e065aa0a205e67c269df6c7828dbb1d8bad63fe4e9f9d1293812e7e3e79b85f320274ca1e6ca62 SHA512 4c38fe917efbfba05f24cefba0f3d1777ca5061f2332ad7b59d41985891b254e27cc9e9229109b663c4a2895c80a37e27f0e7116eb4a09496995b239e5da293b +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 +DIST http-0.2.12.crate 101964 BLAKE2B c35c2ae5f9494cafdfacefd778b4b6824588e74685fe5204bc6efa87b667d00b28f59cae667115fe45ae332d8542e7a0c2c7c42fdeb302302f89b00cb716f380 SHA512 e32dd4600aae7e26f1d530871815b30fa0b9bf95293005649bd9a7bc4df7f69a1d8de503d1b8873e67a5496e644d0a47db2a0680fa1e9058bee4dcecccebee58 +DIST http-body-0.4.6.crate 10773 BLAKE2B 828a43f8ec79a7187cd6f5379edd50127cefa8e80e9bc1205e80c567f506f4778387dcb1d2808e68f1b88bfc7e2d6405ddf9ede9403d35584e31bc62db0b7756 SHA512 fd74fcbd25044aefa183e3caad6cde0967cbb00b6d80addec2589d037b752cdafcdfd02d29d38a12b5c7d87cf1cb5e5ed80488057735b9dd73e03904006a5462 +DIST httparse-1.9.4.crate 38555 BLAKE2B 24949d12a08fad7c90f57de628fed1cf9d0a726ddf1b1f66def1d7037f509406911e6a54067eb299436d865881fcb5b4dcd54bc9a7fd166f9ab6f562ca29a3c7 SHA512 7a6c34cd0e60aea6a4e747b1e0711c7227f0cb6f332ed34b8b5424ab2d21772a77e60295e4df6421e921f6f9afe1e9955db1be5bf1dbc065200d4aa7d23a4aef +DIST httpdate-1.0.3.crate 10639 BLAKE2B ce0b401c69f76252639c10f6c2e4a823574a58565d7c5cc3633c72837aa4ec3630b34b148de4378ec498db196e3b2e1413ca0e5a4d9247855380fe19a8c20f94 SHA512 0586888fe89f40b838d5ceb083084d0b8058feff1d2933faedb96896dc86eec68b541a0374a508fd11b86eeadab3c62f88568ffe2c53206fad438373a50b2e5a +DIST hyper-0.14.30.crate 198175 BLAKE2B 9aa000132bc5db1cf566df48d243484b52a099d47d68aa2fc02d11455f3eece99f6a954bcc9900c0173cb39f145d371cf97b024517aefee4c7bea7746f800dfd SHA512 037f19ad0ee461dede269acc634955b087cc021abe52053de74805243621e35037b4968e20fa0ce7fcfd83ae05bf485c8003cf1df55dc30bc4cd64e62fcde633 +DIST hyper-tls-0.5.0.crate 13257 BLAKE2B 50cbe4ca7c1862fd3fff192de070341dd32bfb9f108b516e1e261ec8da7c4f7972b7b66e3d45c1497733a913b0281bef706994270ec8bd03eba7368612127aa4 SHA512 45dc16cc9ce48706e0b3575dca35ba1b6b3084dda8c2cc489d126e1c4f0bb96a9b2baa860d09f68c5e0a48c2a69e3eaf62f4f0406fffc4efefcd79d26c82896e +DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 +DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 +DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST idna-1.0.2.crate 142869 BLAKE2B d37c0c6937671750c1f3a682e829e870c01e025c453cb9d5e32e532aaeb1cbe5c70bcee26395b25480563466b209e598d73fc4484a514bd2e3876df6daa31319 SHA512 41a27ff65e606d4ad5cfb149962bf9b0d3aa60a0a582b269b9311f05135890e1dbe9f613dc5b0860549f458399dcd66061f4536eeafc2d9aa8925a70a13b437a +DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37 +DIST indexmap-2.4.0.crate 83544 BLAKE2B f4b3e1b877c9355a491e33d10e3ef730f943b54bb14f33ed476120e2a8f0cd3550f6aeee1a56e1868881e1853b3d41283ab803faf5afbf32c86b36e08e7f2026 SHA512 9c7f2b495f0568ce56e2fa8d3355948783b490b23b46a83acade2864e41eb31a50cf372d818b2a1d3d24327282a9866e690348134a20ee481d748bdc581145ec +DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb +DIST interprocess-1.2.1.crate 115320 BLAKE2B 51a149b89cb6798883e0f4af3e27748ee8b54162f5c976a271856885cb8037374c5bd586f01ef47514a3dc9371bc02ccf71d127e83934605baacd5c660281fef SHA512 37f528d875059d6ffade117d7ecad3fac50895ded8d8be7a96a748e9097df0860e2f236bdb5761fcea5dff28c1fa088104a1f2743868db99a33604a8f3a011fe +DIST ipconfig-0.3.2.crate 24468 BLAKE2B dbaedc8f4ec23fbbe48a8c79f16fa1575b8374f055237447d12eb009694067a82bd54b503f73f9520e9b731dbf2b7797ee2d6fe2c07ad3946146b32cdc68ad0e SHA512 6029a7d453db77bcf397580fd44c5c777ce6c288c251376cb591174e9fe0aa66b49925764050cc9bcb2d656a8f6c4af0cbcd6685b2ea4616c2d2cf8de9bd67bf +DIST ipnet-2.9.0.crate 27627 BLAKE2B e7e1c74815b965e9cec1cd37cc3dca76671168feb689620d44d5e635f3a5fa92a7276cb3022f25a9512ffbaaa11b0a8719cc1b838a7dacda71a5beb1a992ecc0 SHA512 8ce429ba2bae53cfdaf8a7d6bf980e10b9dd515446ef3ed4e4e11432043a18e09454260567419818f523bc589fc367194bc345660f2cc808d281db235d3e0b54 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST js-sys-0.3.70.crate 53863 BLAKE2B 15e75a94a2b7c77ff18847f98f76a1442b6e5f66960f3375534440c382a255e6b16ba3cb8c5345365d2195f7598564bf856755988f1288eb1b0b964e26446e21 SHA512 5dff8e790447a475b3c0a7068f0bdf1cced5fb8be2d66c92cb6f6c799f9d807f9d3c498e4f42c67e16d83dd4bb3be70472ece20fc42c3a8c8d57615ac8d398d7 +DIST lalrpop-0.20.2.crate 240370 BLAKE2B 024026e9d206f24f3f0675f87a5d8204237c00c96331c3cce43f563639c2750f363b173bcf928bb69b3707917ef0769c9e174316b1c85f76e8fbedc6d0262bb8 SHA512 1f22f3aab724e720c7f78b268a9f6ee468fbdc7fbc0ecf83e0a35130ca56371aa2e38752e02cff5ddf0f003d5a8bce43c735c6d5ce09a3bfcda924f2c5ab0674 +DIST lalrpop-util-0.20.2.crate 15064 BLAKE2B 7304f30748afad37ac9be5f9cb890b70b0362bf889a86f7385e7e83a067e5919e42d85f892a018d255d0eab56f7c3b8fd9564fc5d24b657916dd915bc45f0a46 SHA512 91034c6d82a0a006bf35208f84503660d55170a36e38d5c64a6c0ceaa0302c43e268df21feee6b60b70723462f6e4f09022ce83547560ab7c51b5de0954cfb28 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.158.crate 751340 BLAKE2B a67318ab24bb86c4df682cdf846d51f5f0a69504567acff43cc6e724f2641521945dc75dddc10c1c265fda960cb28b528575b5d39ce321073844dbddbc77bdb8 SHA512 c2d90d58480cca3464db475d7c70cd66bc1492239d8183038b48def8f5d8a437a1e2a2f084cb2bd9456889221b10aa07981cd5e9bcbb6bea28a2bde3c76f1105 +DIST libloading-0.8.5.crate 28902 BLAKE2B a0fca8f8876092e874964b3dcbaacd417451704fc1d687669a95a0b9df22ccda73a754118ac0bd706a7c7d86e4eceb2ad012e20e341d71548b34ea8d629bbfdf SHA512 f332884fa75cf210460f4678d45091345b23469c09301614c476e95bc54163afd6d4f098a34f9e0d529fa1ec63892395b50957598070ff327743e4c3b0871074 +DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST libsqlite3-sys-0.28.0.crate 4975624 BLAKE2B e8d9e637a9ed616372e6e9496a9a7095eea281e1496ffa5b312f632958c751d50d9051f5ad09777e23a18dec08821cf9c43a405c4ac64fbb8719820c12886b54 SHA512 4a3d16eec47c6e3e53e00232501fd50fa77f1ee1370f4ab6c984496f2f897b4acd1c15c697caa8babd635d31a946e147d5d090378615676a3b5c4a9656355016 +DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST litemap-0.7.3.crate 28728 BLAKE2B 00a04ca0e4e774b317218ab990da4c6ca1f342bbf229957db51801f8ec36339b665133bfe3847ca68a40d901d78d87e0041e09f0740898ac38ea3c8504309c31 SHA512 2c3bc6c4cbf6609f3cc2d986e701d23b73f5bac55995887c90aed01bf4392a42c718a69c0050296fa635a46f7cc9ef3dd6c6a2a505d3cccc690899aa345455a8 +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1 +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 +DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memsec-0.7.0.crate 6532 BLAKE2B 48fd0c732a5c83c5e0ca23816b61bdb7283c665ad73d20089238ba0b6863992554a7f8a3b41ae8b4cb0f31204b03b32b3cc7fd5a0af657a24bcee01b3443ce58 SHA512 73501130770d2ac0e3904e7f293cf0ca6bd0947a6e05e53a40498c950b8519fe591d3888badd5cf6134e1f567c18fa2ed6ce6fa3ac3c8c0d441645c3e95cddc0 +DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST miniz_oxide-0.7.4.crate 56119 BLAKE2B 68facfec9ff405bebe99f52bcf3aac6788f1b5eef313ca393e2a15e1158bf294003cbe31efea4c793e644e8ab4e00ef67d38f7d32849ab6f01a8e19d31c30221 SHA512 482bf02d7bfd25bd8abe5e5959132677202d8c5dc014b9b0b64fbdc204be1b8431867095c140a1183dd1ca59f6ba871a355422fbd148ce34d62960cad2b7a978 +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST mio-1.0.2.crate 102777 BLAKE2B 9b87abd99269c62e48c6be4fa197d2b12527b672c435d5f1f623f986c60ed391597dbde7d5b73a624a4df0eeaf9c9cedcd56cfd7ce4239757d59e67e9892c59f SHA512 77eae1170a318d4a53550dda3462ae070d25656cda51db4cb2dbcb28210802f9b7e279900e6d6eba68314a0c814c90eb4af7acc561f611535cb364f75ad4e317 +DIST native-tls-0.2.12.crate 29517 BLAKE2B 76f4bb2aa8fefc306a04ff50a62d6617f71c3c34aa83ed35f11714ef2306fd82f76c7e26ab7ce50f8eabed40602ba02589dde2d98b55ea6113b45cc539c84bb6 SHA512 15fbc9d02134d3d55334d2f02fe4f64be50db991d75720b38d802088f06cf5f844cba6b25dfd7beb92f2cd367ba477ec2098e3c7336c4e5a5a7fd39c753fc723 +DIST nettle-7.4.0.crate 583944 BLAKE2B 79392e3b2df0551ed22865a42f0ededeab2421764e6daf0b6388c08080d0674bbb88f733ae5d29ada841e567c734a641e7fa6ab2bd8e8c627f63125c9c153598 SHA512 f132a9c7ea566930fcc813a9c799d4ec6849522dc70e8b478655988a9ce1f75ca731b0c0b7d2a702f96273d51770b47725014e6d1e407ff58343a0b4b7560871 +DIST nettle-sys-2.3.0.crate 28576 BLAKE2B 23518adea067a8a2cd4235ccaa851ed62336847db9bc8a6adfd77cfde8c57f4a8de104cfac0e17068027702e1e4d79efbe77c3733cdb032650fff1eb1ff15457 SHA512 f453608d860edf86ba62ed959aa1d04301c06d13bef5179b2a69f7faebe1e1ea41fce163aa4a48617d21fc493cce16c28cc11a051ccfd13d0be93c66405aa5d3 +DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48 +DIST nibble_vec-0.1.0.crate 11796 BLAKE2B 2e80648e4e18d17fdd41671acc1e166a8337fe1ec1765e5a7f08c19fbcb23ce43b11d1cb396b867b9a2c0ae58e30225d9b13fa337793d8c32abf99969e7c11af SHA512 21bc50bfa5f11f50b19a20691346f098db083ceb6891faed72fb91d2e911cee060ad4d19ee1c98792c5809cb6ab2bd65061bc051a1dea75d9096060b87497f67 +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST ntest-0.9.3.crate 4582 BLAKE2B dafe2efb3e124fca7884beb476d25940953f447a04d04e73ccb0f19b5434631ec89cd79604db1b2305fddf6c55a6c3ca148e3b3757bad2b0ff1018c60f5b5125 SHA512 8b8b18b802773191ece4a3f683099b9340524d2a4a45004d71a54128ee126a8298bd0715147a9d99ffb5a7acaa2a902093e4718eb53b4dc3daf932e490e3bbdc +DIST ntest_test_cases-0.9.3.crate 4804 BLAKE2B c8c992f03a61ea74fa6bc3a2f7b3f9e9f3eda41d2cbd652bba4afede8a39ed34f937761c06867ad7ef229d90b0e74262941bda38336ef0d0a7df98d2a3f60593 SHA512 8de679f8fe246b8489bbf1c20c1a8da2c55cb3bbf52f7b6816ccab46483d525dfe749d12bf1e60349daf319a12c027066763bb368f77409032de534c64726b21 +DIST ntest_timeout-0.9.3.crate 3229 BLAKE2B 25940ea34e335646cc4b8d16c7cb406244382cfac8e35409bd1eeac72b4deb0855326aed4639c1ab9650558b83ebef0d7de914fa70e0f4a0f5d28befbc4d2e47 SHA512 754cefc5aca666fe33a15d7454628d9a67db51d35b8b08b1c06756aed23a2ddee7b332c87f2433838080d236a6df912534c0114f84f59c22e53701bb0d88efe0 +DIST num-bigint-dig-0.8.4.crate 123825 BLAKE2B 9710266116ea15d0e56792b7c8e217931765dcf2377bc05f23bd386625087eb6a7d7aca7b8f0beeb78ace9f280895565a6de3b14ffda7721e35c741ff64b71c0 SHA512 88ea682c5aabc61c0cab9234e31a2dccdb5458d3bc018e1f9ccbbf0a9f09ed0053341e93bc53f65b5bee55bafe71d50bbcd48fd085ac723ef4662e15664925b8 +DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 +DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae +DIST num-iter-0.1.45.crate 10320 BLAKE2B 9f2a60a819e31a6e7e048ae86f7fa029015a73888348676e54ec6fdfe76abe94b632a49a82b53b86488ea5af1031f677b0eed8ba7c5e843ce804c6d6af123622 SHA512 6195c7bd5f904e9f0aeee3ce17b42c0383d053f9d37954a9ce3b4ff0a048afa121c9a37aa9c74b9ace7353d7fd9f57a7d04c7a18e1456fc2c4c298d8ecfd0172 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST object-0.36.3.crate 325288 BLAKE2B 0701822a51a82a1674514d7572c5f91bb40834e23d40b0fb440d933221e8256b7eb36711e8b8870d866384774c7c1e36b89363d7f6bb94af92f9f567f7aca211 SHA512 2f8175d757a66658bf91234d6a58905ef9a410bb19973e81bdd8b28322f6865e32f5b9cfd0ad38195cb07b2721ababf240876270f39a6c7ab8a36a127dc18f0e +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST opaque-debug-0.3.1.crate 7066 BLAKE2B dc1dcadbb5654a5f69c59b84faeb3095f008a6eb4f63e3cff95bd4e97f803201e2f16f59a65f8ea21b662e77e3fed0d0870eb1db7f5a4f95cc02422907732951 SHA512 f325214d604e74197ddd9209a596851c5bf0c0f3299b79b6267c35e0ff6351205b628fb5086279684fbb29fd07746c91ede4f45019657e761d8400fef2b3d8bf +DIST openpgp-cert-d-0.3.2.crate 31488 BLAKE2B 56823716b125c1d7e57f9c5c2d3fe8c7a5a6bf635cb4b28a9fdfcba527ad20ee37dfdf019f00951c7f8d2d0b252e4bf3cb9f6b00093b1b7c065b45f0b4ecf984 SHA512 849e1597677822aacc1dbe4b9854ae0acbfc113a5620206f4732a1f51fc6b67e91dd7ed020d789a4bba9458ea79391618aa3a949aeacd31007dd790076651adf +DIST openssh-keys-0.6.4.crate 22213 BLAKE2B 249b6dc48785b59cd0ce649a90e788b3be477702e95cbd34fa4bdfbaf558b3e9b360d82ec2fba0b63166192e13871bdb6c5a295f7795a603348f4a8668e3732f SHA512 6d572dbb4656352d4abfa5a622e3e9f1f5576d7ac1216947a524032bf6d8772c672c351bfe3f7c33c21716a4c4ae9cf410379f7529f3ba2deec7edd1bdf0c066 +DIST openssl-0.10.66.crate 273705 BLAKE2B 7892e96dac3b24ad5622833b4061bd82028210f9f26ec9772cebb65905ff6e45da8b21ad1aabfb87bb5610f534018da6bd20c10eaee8c189dd08a7ebfbf12b4b SHA512 2f4dd6e40dd8aff8c04563517fabeecd5ac0d986764649cc9af9bf4ce25757a67f75655eee207703b46fe57661a216ff00144358ffcbc70525447a063fa086c1 +DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c +DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c +DIST openssl-sys-0.9.103.crate 71552 BLAKE2B 4cc1ab93f5a444b4b985c84f6ae90f345da4639e4ff7c5502dc1ae59f842d46e3855057a7c05855f7cd739b5311f330dff361480ef2a0102fe46471506956148 SHA512 61b802f6baf918ec055be90ee47c69fe0184f6d9a1d29c748386192a11d4df115758961ec9b636126a6b42d7d8f7509248c59f7c035905558c4cc35b804a8eaf +DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56 +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST petgraph-0.6.5.crate 710970 BLAKE2B 7f590e93fb44f1bfb8920e512402edc1cb087ff9d5dac7bc4be965f64ffacf9c1c503eab4156cd2005f41099f6b34f51e49b21dfa217271fcc0d4ee16ae85366 SHA512 454e9805731374abf1085f1a8a72aaed85e83cd30ab9601bcfe0e46882ba6656242284bdf32b6e75c2f5ebdd1325d5f8873d5f720aabf297822ca97311afb677 +DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5 +DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pkcs8-0.10.2.crate 26360 BLAKE2B a62b5b7386eedba6fcbc4cff2b103b899dbf6179101445283f9076080489129543561af1ad6f09061564f68c28954262e49d0bb3e182f2ce7495e19d6f34bd5e SHA512 87127d51f0e1fe085d46b30394f2a580e857cd64f5c6fe4a3ac3b8871230aa426598dbb007e8bdfd5d729b99a9c0b4d84116f0768886605342d2ed112c51dfa8 +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST polyval-0.6.2.crate 18425 BLAKE2B 59ae2ec631060ee8e2e1d4bc250abbb4762c97ca7ba5c543c0292f561bb967e059410ad7e79d8dfd7912cb30a6284169ecc2f4c94bdb165037acf8c3eaf1209c SHA512 113646edef3a7f60d59db3cf06c1796bf81305b66835c71bbce0fdc07345f41e23f2bbd7d5cebc50c72eac11c98f351bc793e2f568b5fc0bbf9fb2597eb44f0d +DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05 +DIST proc-macro-crate-3.2.0.crate 11164 BLAKE2B dba3e1f4e38f427df72794ad891746fbb8c24239cf06b076e75ab6795a7e8c9abf25ae0f40379e07a696827156e7a3780ae242da7e5442cf1224d058f54b83a6 SHA512 41479ec5e414a8b05dffaa0ece21122387d5165a54e60d8ee3502f8a3c0a2ac0247f56996f933d5d77f1efe41a56bffe16874e8c6a34b66100cf047e4b760863 +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 +DIST radix_trie-0.2.1.crate 251366 BLAKE2B 14b50e45eacbc5b42cdde8a4f8e8642adfdfa3cc569c3fe0e3aa1fdab901713b3929d706dc0aede1b679762fb8fb1af345efca15befc9234322db434c8a3923c SHA512 f6f54511860b6b878c83de4455bdbd71289599dba93234d5c7469342f3401cba99a9ea6bca2d32df2e31ba657f40e42e7d5fd7de66786ddd2814e22fe867f9d8 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rand_distr-0.4.3.crate 58255 BLAKE2B c93a4db62e1c27bde51c77423e15674c4bafd04a63424ee8b8863e4eb27e56f774136949edc8b05ff4189dfab1f0dffc92855706f4a612be897523e7712ee830 SHA512 e5209a78b8ca1af97ac6c6add858ee6d91e67c1edd124bb297f787d37218a5f1afd570252da2eb25738b8d77482df4e93aa1eb3c4a8165f90219410dba495cda +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.3.crate 23830 BLAKE2B 0a38235ec277144f0c3e7bcb1d273c7f357d85aef33dbd06328ef16bab7df0a07b523431590899ea58d55e8e1d84c32392478530200cca3a9483e8a47b29e233 SHA512 777d1208004b7756887d6c5745ea408972670e59430e1d299d01a463ae41b98e0920ee77aefef8755fc949d4799dca679afaaae9c1a7d060f76f69af5b90427e +DIST redox_users-0.4.6.crate 15585 BLAKE2B 1d60d0b7781395ff271d79264910d24fb021cd8ef612714265abae25b26ac158d48f542f1e73701bf5b99bd67546a7b878e4a14e40cdbd478b35bcc8b4778f5f SHA512 719d63fec42bad3cbed39deb9242ce1daf3f391bccafa8121f63198120371f112d78b0da8d66458519e946581511004983f04b0a697071f22294ac7c831120c9 +DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST reqwest-0.11.27.crate 163155 BLAKE2B 0135a99a42400d601a19299d379e28f2df7454dc85864bf3905a8148c908fb1b0f363cecd3fc2ed0c4ba0c108739eb3ec5116d511bcb73530bbff6acb10c691e SHA512 95e5c2e375e345a3ac9d4f4b4fa9aec28f45a457c1615d303d4b4dddb639749995ef2834a6f8659f5f0cbb49e0876e89c9925bb2b2ba62207e393c9b12e58ad3 +DIST resolv-conf-0.7.0.crate 17352 BLAKE2B 32b565a11d5d752e2cce2ac7b44e483b8a682220c99a9ca34d0a440d87cb5a874c407d474e47757f128bc5d78ea57940452eb099ea6fa433d8f6d1fe881f4302 SHA512 538b97f88fee8b82f15845f9a596e09757e3c2869c4e8708ddff97e19348e9f88d4bcf75e810d2aee47113fa64d550a9fe2deac6fc38d95242ebc20228e9b5f4 +DIST roff-0.2.2.crate 11648 BLAKE2B 38431e1dbfe394274c09e32a9f4c99f7e208130efd1765e9df0c08cf313a0ca81d13198158af6342ec658648cfcfe2e3cae5a5306f8e27e18af7b8163359e896 SHA512 0098d4cc921435cd48fd924d96e8dd27f6443a9b6cba847388ec4be7c2222bffa7a1507862b8c120314d32d08e0cc04e52d44973e25d85536a3a2560fa2a06aa +DIST rpassword-7.3.1.crate 8164 BLAKE2B 60e89fc36d78a64d9441bd902866500872f4ddbd28ffe4bc5c26b5882ec1dd9bcf50dc06105c87f5fef8c51b327bb9af1a324831cb6396796afab3cb7f4a2288 SHA512 28905b33e5fa26d9a7bc0d682b94edc6119b2d8c2a6826c89d61fa86033230707c54f3ed8047ee3f5da4393c119c70f102ff61efdc1d4bac38e583c04e3b4382 +DIST rtoolbox-0.0.2.crate 9179 BLAKE2B 4cc9faea86aaf0f9e9ed95269d0fa8c633d7c05d539a435bbfcadc563ad5fd0d3f06bc33f83a24432a53da483bc7771edca21e6237888254b1d000f7af1ee41c SHA512 2e239e821d0bdb171ff9d03d3b8df2fbb561ae67ed653f66096ca32b2a83badc7d1b74b4ed1f0f41f141ff2a383fd06618f4f7740a03514b256eca4db0699d42 +DIST rusqlite-0.31.0.crate 152252 BLAKE2B 5ef8396ab6ee9f6887466e7ff856c6260f40ef85361ca451e230d8590019d6ffa4952df15abd21cf300cf51da4a6ea4e82f5dc88dfba474f2f62036cee76caa3 SHA512 6d20b015ab72d3d75c363111c0cb41feae8bff83104ebdfcb8e5efc1bfb63eb48a17f6de2e6c96cb1e916b4795fea6d58466ab0820b151b12d1dc4c29800ba66 +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db +DIST rustix-0.38.35.crate 369206 BLAKE2B f52d40dce187c8712fe8dbeb0fb8c338656f5d9bc92b7e886bd93008732462e8a2cb64f64825e9fa8ada41054f22bc2a0eb2b9c32c856c89d6d572f9eb9b894b SHA512 0f5367d596797f5719a154e0f929b24db8c5f2b92b3ed4772b89e11663beb0b3fd6447e1ddbde32bb2507450ca60504ba0ba6b4d58510fc64dfd70e5099ccdef +DIST rustls-pemfile-1.0.4.crate 22092 BLAKE2B 9a776027d6e43a336ecfdd6713d4b1e6642378f81b73c97752563ee1d2cac5b3988afd48c92d25d55f655a6fa248436954aaa0e0bd9c7c679c987ce7df0cc99f SHA512 bc748ee06f2c101d8e54e8c4555e88c5ca824ac7bb0182f8e49bfe1fc66d418d2a3da8e454f3741697f491ad0c7bc8e924a752697023a191c1bb6eb98c48aa37 +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST schannel-0.1.23.crate 41667 BLAKE2B 3f34ecf4cc519f5302f0ab5207907a275c68e6fcbb47630aec4ed5d5f1a1cc7475f6d7a8c22361e9878002f9f54314c1f630ab0c1f77ea309714bdb7ada6c9af SHA512 dfce25e3b8bc09d8dd1fce2783fe02ec83f74697cb24aa212ef9369a628685ba488f821cb3e5f863798e0e59995038c8d748f74b89f7929eb8cfd804d5066b84 +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST security-framework-2.11.1.crate 80188 BLAKE2B 844d36d2b2216cc7055687110d54ea783a7ed9bfe6375fd4dcbea267ec85531e666fe002648110315f42c3364ff5ff5aeba711cf8d1f5358ba65c8393e96f55c SHA512 02786d62fd9dded80bae3942896bc8fea2a90763427f582bf5d9f127ca5682097b59b5dbff2cde373198ba659316ab5906a68d3141ba00c7408b73ebe353fac1 +DIST security-framework-sys-2.11.1.crate 18755 BLAKE2B 6e4f8617ab92304a435489492f1126eff2913f5332dacb8b48704b5f051e87893e5f4239ee5d6a8e5c350d14cf5226fe57a36d8119b1e150407e9b157e74232d SHA512 8565d7ca296995c2bba78a328758c84c500e95cbafc988cb595e040ce95d4114c1de46fa30224a310981c3dd2a9b7d1d98c87f129d98a0b2fbc44c72f9085d23 +DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec +DIST sequoia-cert-store-0.6.0.crate 187906 BLAKE2B 1372e9938120997ae2d385849cc11df8ad6a47007e5d42b61d1dfddd504926e40662e874edee24f45d1fb665eb3d72a72060622142bf6280b30efca4a5fd0d65 SHA512 94b1c66acdb2101e20898ffa3428af25b60c3951a8247b63c4f87f71fed4b10f1b6fc88720de4136556a61a0a360dc8828f7e1a0f25f915dfe5c0544a98c496c +DIST sequoia-chameleon-gnupg-0.11.2-v0.11.2.tar.bz2 974784 BLAKE2B ea70b015b63ad10dc28a539269e3414258403149d5aa79d7f1e12717f3704bb52308aa7ef1633dd6e80de380e8291928430fff6524afe3006526449d6c7d302e SHA512 5d1c71fd365e3bc4658e60e0413c32b898e1d29d2d345605e34cb53dd212b8d8b6df559fb43ecfec584c7805682c27777dcac6180eb7df959f911f282c409c9c +DIST sequoia-gpg-agent-0.4.2.crate 142966 BLAKE2B 7699ed02620c186a58a68a3c2b8d7d8fb7028207a28322b5da3bb0c3407184f99793eac4df7f8c11a33fbe41626b9733ce71a236c30ae4c12dc330c600746cf1 SHA512 2fcfa38c14c9ed3990f05e3db735c094fc8f7a6ad7595e1044fb7f22a198fa21d07e67e361425d16bb15e508f12c0ca353d91445524291b4aa044e889db1192a +DIST sequoia-ipc-0.35.0.crate 4484979 BLAKE2B 68705ffe74d4b6163730971ccdfb022b7516913247cfdff743f31b04afb26b294e65e894d6d81ca3bf5dbf77f4ff6acd4c66ecba22a70002419afb4a4bec625a SHA512 020f48cdd20a2df79c6c8889d5d60822afc171f1dedd433ced725d124850b75ace5dc9dddee1534b5a7873791a4e0d6c1d3275e9de6cdf7ab4fbf55209357072 +DIST sequoia-net-0.28.0.crate 49672 BLAKE2B e89656e0428bdadb6f9d4fb479c985d5d187dcbade342906610222d85c22d90c60b09ff4eaa3eef62d6650ed06c92b86a3123a001faa358fc775ef0e74d44265 SHA512 1a87d9b078c2b44220882611e8d49c6117906d8cbd81e50301a6b31d7428cef5622223ed234e28558fa83e31c47df84dfed087f1b1962bd42a7d1bc2f0fe9fff +DIST sequoia-openpgp-1.21.2.crate 3017548 BLAKE2B 86fd51244c808c3fa44e2722c7028bc2746c9ae9db1f6620f6935ae7c1af7ab331b322fd9e8b28dd0119c71aa72dc2a3e2cc144b84112ad465ff2e9cedb7571f SHA512 bc8f0121dcbe083c688d14abfa9dbe3f850aedc02ede98ea4c56f8b8fc28adabcbe1a2ab02cc266e35b28c1f5f563377422e5f8f99ecee0f21eb05a32b94e8a8 +DIST sequoia-policy-config-0.6.0.crate 42529 BLAKE2B b58960a3296d1c3289036a2218e842bb63bfef11968ccae7c42cb61869e04d26fb52736876bcf32d276177c488d0be4d9ff3ed50fbfb0ba68bff3c0410a460cd SHA512 499d350426f80627278310b2eded6a69a7ad833058129ea5ed9ebd0255621ff70f9f04228fc8ca79830e6ec11d14b121bb3e5a6c5fc2721135d725bdf0d886ee +DIST sequoia-wot-0.12.0.crate 1079750 BLAKE2B 8b42a4f3f0ec99671ba244d8db85c6664a5fd26b03c5a76ac7feab9a7603f6a002a937fcfbeb64aa9fa1bf802f092ded19a5f31729eb70b54113a3f2f4b207a4 SHA512 fb4e99e620cd03549d5b39f9fa4b0054f27ec820b911341fce93f1e2ba02d84b4e949b98c9ce6973c6cf916dc485ed467752f688d4f396ef0bf9c3900583c10a +DIST serde-1.0.209.crate 78364 BLAKE2B f6b4c2bd931a8067482ca033211c4e85c0dfd6084cb599c38a9ba666cce30489685a3a6a8a539eb6e41141a52328943dccbfe25dbd857af16665094fdf7c3f45 SHA512 25d2236eedc08fa3b9d078a1971df705c4f428b7a4e6a2d28d9f0f9893c19de745bffffe3fa9f3c08074bf4359aaf09cc28770e4b14c21c66d6a0b9411738f7b +DIST serde_derive-1.0.209.crate 56023 BLAKE2B 752bc9f46b880d0ed8a4f7e29ffde1343c63c4be1e9740afb1a28dcbff5bedfe077eb51c7052adecfbdbd9942c30b63a27914deb6401a2ecaf70fef0f64cd80a SHA512 22c4eb76412bd73814d0b86209b110b9e59626f64b41cbc250755144e545ff30fa69972ac93d74f988a3a6a239d9138f4e8a23b283c746a0aa5fcddfbe077cd6 +DIST serde_json-1.0.127.crate 149465 BLAKE2B da5048f70a0b7594be0112efbfccf8d6575a77b324d59321cbd34d355978aadb2ceea1bbcb182412547587235f58873ddd2232822f020e2db85c1599cb0bca8b SHA512 f14f5eeebe07261daded47c3cbb6d511da4633bfcc46ea1b0600063730dd4211a0c310959e4f8731a688d18d60a46f6dc1c1a1f052f170b6207877b93742a88b +DIST serde_urlencoded-0.7.1.crate 12822 BLAKE2B 38c74ea862f041828467dfa586bad9b8e1d1d64a9f82fb7f98727e3965377d00e59f2dbf20955a9dce976b6911c0a619d2a6e4cc9dfc73cf0f6c449d873fd072 SHA512 b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60 +DIST serde_with-3.9.0.crate 145089 BLAKE2B a4d5032d864a996c2d6edf0b1ef4657784ab76b9cc437d86214024f6bd77dd59908efa594f24db4d2dca490f4e072d688681eee9d24f92c8a528d8940e991fc4 SHA512 90ae5faa9bdcc2ce2198599c546a0ee9593fffb3271c3fcc07bef5eb39fe7b44697dabdd6eaf059a166a67dc5694c70ae2908ca3f6fc65e25747cd391e3121b1 +DIST serde_with_macros-3.9.0.crate 30865 BLAKE2B 69c764f45180463047045f81106961f274411200ecec6997baad0c8ed0cc25f7550ceccba122fe3fd8d248e3a3a6bc3326f7f9ea0bd3c08e81b93589b75de537 SHA512 451af6f14cac8ead53b9705c530cb6494063ea8f20d1a7ca80561d16334985b98541bd9c3a50857a4cf377ab5d84593baadd5503676540da8212f9c5fea89e90 +DIST sha1collisiondetection-0.3.4.crate 799321 BLAKE2B 6a36035f19330da30fff69ec304c17ca0d8af74673b43dbf421dd9e67f3e522575e7a6780a2eaca3c4e799304acb40eecd0a3909642f03f18996196b3dde19e3 SHA512 d74b317f272ea600659288af786c656005009b7e2fcf060eafb71df07cb3de2b698e74088217ff99fa911a59e00653835cebe6bbd5457e549c3f9015d8dc8d7a +DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST shellexpand-3.1.0.crate 25591 BLAKE2B ba395d9d98fed37979e97609689f909b264ddb44dae56ae4958da9a0e85aa382a00bbca42530cda2701e934233aa1d44509495235ba0512beb33a827cee5c9f0 SHA512 9b20074425db359cf92f29c52be91a3a58a91e6f3116b210913f24dc31b5371ef9d77fe46e7da39e42eac87fa4ccb8ebf9175d7bd5fe6b520d12b9d3b31cc65e +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signal-hook-registry-1.4.2.crate 18064 BLAKE2B 7274d4c115678eae2640a709bf9d682ce867c1f6295a0c5f49e492f95dd1c457f20b56207a74221df1fd9d744b24c6260e28f705777e3c7d47b7bdd36f1d57fb SHA512 16362d232b1d301007c069198d7716848aa73d898ef92e050422b36c09001b4334390dc95a6650e5315377fd8960d4336e5ae869b0a305e8525e977b8327c508 +DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7 +DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST socket2-0.5.7.crate 55758 BLAKE2B 148d2e2b6610895ec555b1357b340576984eb76cb3ea719f85af50cc4215b2ea2db739e2a61434c09360a0c1ff8e05911764e18dc4a59451c0aeb0eb60b8403f SHA512 ca37157bfa970cf3cee8b45c7fe64930becf2ffbbc309ea4613be968400279b70edd084d159f65b76fe1130917312d81455023c0d7c1bab7a59c79542aef9dcd +DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee +DIST spki-0.7.3.crate 16409 BLAKE2B 6b39144e4e718ce5eb454e21ee89fb936ffd31ec99554b0150fee47bca396bdfe4ef39603ec029d4af4d8c4c3ba2de7f6c549244f8c20114de9b43ff14921681 SHA512 d33a6a7844b33c37628024ccf25c1a631f7a6661595e063049b8c9a9b4edb28f0335397faefc592c6fc5e96378b870ab5dab9b0649c3387577b2370ec8210db9 +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST stfu8-0.2.7.crate 42753 BLAKE2B 0fd14038b094f0351fc80d9de4b8d5f83b047577d0c59af549e7ba5c980f4e7db71b8368dfa29d877c8d834dcb59a752e2234c502914900a97d4a0bf796c83ec SHA512 5584cd8b16b78e6131a6f4f6601fcfafc737bcf614855595e5a2253b20c031045dd48fa5fddc124538f27c031b879be7d71918f588edc273dd52fdece70e3e59 +DIST streaming-stats-0.1.29.crate 8816 BLAKE2B bc73050da55ebd0208d3d3a9c48c98a7ad2aca46f3feb3996f29f3ae76ca0302211f185a66f797d40271d4ad7d960eb60be7ea4fd8d9d95dd59a834e447d56e6 SHA512 84d4c1ca803740e41f8c3b60939f9f78de3ee99fa53316afd636713790207cd9f5c2fd5053106f615d4fc8db0fac050c0fa911e55421c99270e4d948ba2bbd42 +DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.76.crate 268798 BLAKE2B 5446965c6331fbb445a313ca8da9d8e7454e31d9a36c2f595747edc65c0d2a05e9d8e4e9fb6dbb30da8264c7db36b1cea14110201bb06e40bca69b25c3f79f1c SHA512 c633b9f68e67b3cbf2432d3648e42f8d92403877a0128becd22cb108c0cfab9f1bc6b941b9cde225d8b727890e9f86457fad05b544fd07be4c01c2e60a2cdeaa +DIST sync_wrapper-0.1.2.crate 6933 BLAKE2B 0ec797ddead298a95bde0a508ae942a4e90943948d3c1e4833fb3ad1cefd3566b7fd1aa0b133d614839707e3f416e3e739099ac73441527213da81b6d1c47d50 SHA512 ca7cd7a6dd242fa420e8dba820117d85b1b11ea6a9fd99c92a5a260f12263cac0c034c9f9fe10090d5830fb5bf5eefc8a5a0d0b5a40f3f809d69e5393693d5c8 +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa +DIST system-configuration-0.5.1.crate 12618 BLAKE2B fa75a24f8db6eafe578bcbf162fcd110ca059c58af24916acd64959b48d8541e0aa95ce2c929a8a50c62e7e8a967de9101640d1da7805fce2f76b7c5c86c4544 SHA512 af77ed5be890e826b9b8f975bd2e63f3905adb24a597069a887ff2a861820f1ed40582b918f35c3d4eb063800e179b93e5acd7d5b48b147e9b16e3cf4c12840f +DIST system-configuration-sys-0.5.0.crate 6730 BLAKE2B e40c4b5e7897cfe30b2fb6daa9b44fe2b83eb2a12d798a1ad8908b51abc735566becb0e001f52f5f8a0d3596f62a9eec631341c3a9cbd132a4f650f988c74b93 SHA512 764168ee5efe1ba82e847ed74a14d1f5f1892735e98657c3ecaafcb4b405d4f779592dfaade252f6a577ca2cfd5cd5e467c0b6326bbdcfa573c3ab01cdc8fc34 +DIST tar-0.4.41.crate 51871 BLAKE2B 7b24e1d923089cff48e7f5be141838f5a3db78477ba58304b7a076d5d2eb31525f307d674546e0023e78836f992566646724870eee556db50e96d5a0c851cbcb SHA512 547d4a10cca5b593a04e3775bfc175a3a4de27f3c4dede305c6d50b63b4eb38152c6f06280098f14c4fadcca4cc9aa98626ea50aebe9bab2cb7b7f4e0c4d2b92 +DIST tempfile-3.12.0.crate 34423 BLAKE2B a8b84f54a54be636f5b69791ca567e8b692d6a8485ef37e5a8340d26b32b1b0f9f8e9fcd9a2da90ec2fbd39c281d364dfc5723d06892832edb79ea5cf45d069c SHA512 1a27513548060984be894e6f8fc215831e4b2054b2244c6188bee76c477c001f294c762f2f4a14488c58c04e5d1473806d589c7bba1eaa2cc02d97656709be66 +DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a +DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753 +DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102 +DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133 +DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 +DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4 +DIST tiny-keccak-2.0.2.crate 20129 BLAKE2B 105a2d2af36cc053cd95721ea563108f33b8a3feb2ae84c75a04a65ed5d548dfe35d8b2e48977a82f725c0ebcf914f21157c547f4a74bb4d98c2e894385139be SHA512 c0219f23361eb07e0a68575c461a36b7286d9bdebae89080d9e259178d402b0c7762ccf33e65a16951ea168392322c44a24eb55189cf143e22d09d6dfc4acec1 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 +DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST to_method-1.1.0.crate 4738 BLAKE2B 3648a6da105b96ed442f0d9c0ad279c60667b77590e861292357effc433108a734ddc0fa756e662887fc9114ed00978e1cab5b4cea8fc7f3b1a363df58cb61b2 SHA512 a5fba8d041f1862460fad430361ada6e622bf0879e4e7fb39d1d1d0aa286426e5de0a48f97c5019b4cc6bd8a04b7e58b3a5a42eb37ecca43e8f224995902c376 +DIST tokio-1.39.3.crate 782858 BLAKE2B f7612d99dd400d6bf28a7da8fd392bcfcc99b84c1c97bea9282cde86e655c48e9c5257271157e6d463af2ca8a479753fafab005531451e550d3c3c45d0a9c693 SHA512 cd3c4ec1a3a7ffb9a7c9b0e320d7b9dba3258fa0feebc0ab38b50ee2a34314632c4f62347089197e23eed7c76700bd12a73f9caba56dea51077ad1de56063567 +DIST tokio-macros-2.4.0.crate 12501 BLAKE2B 9b358adb86e828faeb956d24a1ebf68b51a69bce519ad9760ec3d3b8eb1cf4435afd4edc5ddbf634fe152bc77b8675182dda3f076f1011c5b5b97850c1fa1689 SHA512 f4a445f6c2cc7c1cfb5825919cd3dea3af52720c7793c20601d05870e7efbcfe0c6231fba7ada49b5ce46757f0e1475b3667914ff33c2fcb25e9a40151bd2501 +DIST tokio-native-tls-0.3.1.crate 20676 BLAKE2B 4c752179aab8b4beaa6aa212dc8d9e4a2b7c12be0dbf80406f20f92fd12844a3390e88a1536875596ab44774a67ce35115ca4622f9faa977c80c4261ab4c06ea SHA512 bda2e77671e030a021f628ad760b3fbdc26e7483a5f9ef6c6892ae0fc38b538d52d527805c020d578079896d50fff0bbc036a87cc91604904840d5b7dc181914 +DIST tokio-socks-0.5.2.crate 22102 BLAKE2B e090d5bf4cba7962f135728bec9b6c2745fa500c1876239ef4e5f88562b59600bd94cb5375a1c65ed923f0f11a0ee08d374dcdaa77e68d848b1b6c81612aa603 SHA512 ee0704ae63ccf65715bed2bb1b27f92042016e2cf4ea7c2dbb3799e60d068ab9a541ab3bf1a55523d8391351430b54c93829cb54f7290f47ee949e826c98342f +DIST tokio-util-0.7.11.crate 113421 BLAKE2B 2bb1c64e4698b99a149ac3db137d9f80a691199397f98f1e6fbba14f411e849859d061e7052cd3955f000b31d97d594a4bab7928fcbfefcc9723980d3a1c80f5 SHA512 09956fc3eac8587f48cc739370883b96d19eb3de19293d240396b64b187178adc081248a5ed3d15accf97c27f9aabd0e6a1e3e2a194f330a0efcbebcd5055360 +DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_edit-0.22.20.crate 106726 BLAKE2B c545e7460ffcff1404dcb77e577121f6ef332645cc0566b2e23af72743cd40e571a74660e8034ddfe75c4ae5b0bac8d9cf2915e8c62c283eb977ed3a43449410 SHA512 f1514cb1c89fd0d89bcf13a448cd8f0a0a31e05b9c483d9167e6890d70594175dab570c267cbc6596382c2300299c8d1677a5a331bc407e80832da5b7a580294 +DIST tower-service-0.3.3.crate 6950 BLAKE2B 32ca66bff783eeb015af982b539acb63c9d426b931832b27aa45088382712df3894132a9e6e96fe1ed9d0f9e582b7a25b33e0ab73711acb06b4e134e69158452 SHA512 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd +DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275 +DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0 +DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521 +DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08 +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 +DIST unicode-xid-0.2.5.crate 15530 BLAKE2B 99dc8a0f9727c86fe3ec1ee119487ba4cae579d009720556ed598b58c0ec593f32b4f7459df81d4e4d06db351d368d2c565af7b03e15d4e5c984fd50f133cbe4 SHA512 ad8a23407aaf16eae14a44de201c4a0152bb07584bd36a5c460fb744859978cae131424c32033be4ebacc9f9a1dcd611f9ff4a98b84f560109d0c313585ce5ce +DIST universal-hash-0.5.1.crate 9146 BLAKE2B 9095f95faa8ed4128c3787226f3899acec4278d36799ae30a7ca71ade7179c274a1807f62605e687e60ee97e6bebfe818100ed0441db455bdee0f8e5dd451809 SHA512 83b3ddb1f0d7ff621ca2b3d426c2e682d8339a2adedbbbb3a4584977e2e996549d665578729bff65b5693059460e9e04b9df2181c404980d3b3d946c80e0b589 +DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526 +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.93.crate 43769 BLAKE2B e1abf981a042ebbc5c506975d5c2258942278fc000ac62aafe4221725fc52003c4032dc04a396e8fc8ec6712155e056ea9381a72070ee7c45b348ce470f52c7c SHA512 0c0a63b04b02b57fca78d2c0b885ea752ef1e8e4317c27dc84fd35843c9c396ae20557a1321c03a405b050f21895e6f25e95ddb56f3a3e8cec13928858ae8422 +DIST wasm-bindgen-backend-0.2.93.crate 30344 BLAKE2B d0b9f0cd0e6191dc3f57869023450952f2d73c0432fd4516522df5f63090de021f44f11ce7676fd2f87b31f6b236eb155b22b36eb80c3ccf3880f55ca23d4b0b SHA512 c67dad5fa26f78b233612cb6ebd44f48edd84253e46a2f5094e95da935185cf2a7be14d49247e8b8cd1d916721ed82ea44046080a40b2fe37ad88175a5f96597 +DIST wasm-bindgen-futures-0.4.43.crate 14207 BLAKE2B b7337c1863af9975ef4a10ef64b129cb7b579fa83849ffb8406637c10bd86da4db0709d1af4161c787de986c98acfb9c6b382a4871f53298e0db30cf2c482eb8 SHA512 2499b47329c3dec1d15666eb7307fabaca086881a46e1a53ff2a551df1122eb2b74b18ea1e7620152a35407ad49a93223332e20ac042295799e55f156b7061de +DIST wasm-bindgen-macro-0.2.93.crate 6822 BLAKE2B 3704c01b90ae900032e455a265b614d1057a7ed7b7eef1ebfdce75a7b0f0b97083211db562d1602160cf9e70843a1949be836465398787315d66ccf85fbe0801 SHA512 8b1a690bf4fc344728bae21a11c8ce4641d81b02e215d88a489f8155433d8e579ed367c96bc19a345b561f2ddb42afa44056b71e15dc935a4fe38fd7f937a632 +DIST wasm-bindgen-macro-support-0.2.93.crate 20642 BLAKE2B 3fef9d35c09e97317e8531f11c3cfcafc5cb58126ab7a96374cd5e2e3f8736ef016b4c0b3b16bcdc0bef686e9f07439f263c54dc980649e9963b12d0a6814ddc SHA512 9fe590636e229184a944acbb8472c03db0a48a9094cd9ee204c09cee6c5241194a9757f06b09e7c30ba9db1a2feca616cd1e7dc0e52c7f1c1560c50c9d3adbb8 +DIST wasm-bindgen-shared-0.2.93.crate 7527 BLAKE2B a2df995ba72d83beb3f347909c004d9693ee06cec62de248a1f96b0244c05dd8b62d46356f1b7eb0a29122517bc23270eb4eaf045e6cdbb7122089dc84829d9f SHA512 4e9271a746d3b3ea44bae472b7d9722edbcf262fdec2e03c18788d95b923c71c26f309e316ad3c621d5773311d6b1d5ad468cd7bdff015d162193b6effaf8420 +DIST web-sys-0.3.70.crate 615438 BLAKE2B cbc8b7ec572a3df1b42d603efb3af1914621957a79f0217e75b6eaa192db6dcf2de9782e130ebc364f704e624913a13cf9dbbe816087db340bcff4a4021b7526 SHA512 337a12d7eaf2a643a7a49a026bccebde73fbef44f729daa6feb71c228d7d8ef72155f9f501b7ef9ea5c22a619b8a8591487841a67a1e12a6d1105d92f3cc708b +DIST widestring-1.1.0.crate 85046 BLAKE2B 591f8ba6c3c45721d342fd4668805c19915d500b2b46b8e1e75a485ebc772db187acec791205415e5cbf288ee70299a5813a3185d933443d426eb61d7fc6003f SHA512 a4feb959e19d5238e89b0973f040b26849f896e7e9fd567d0e74fbb4972958a4dd76e74de5ea8d407b74cff28f20f9c80446488da6abdbee38aa87a94d683435 +DIST win-crypto-ng-0.5.1.crate 44667 BLAKE2B 112a40af7aaa7d3e1c6d6eba99f3eafc7173a10f149e122eb5c658619f6898add8086ab8523695b8433bed89952d70a63e6f445b39ad4e9bd64ed98931002817 SHA512 735d245c56928db70dd4ca0b95dbd8be9f3b55dcd88961549dd51cf8e671eaa3a203b76a1e2ba073ed8b0042f9aea08fdff505f7efe19d8b2153589f9e811692 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.6.18.crate 163357 BLAKE2B 7a43eba294c43b187211c6eabc449775081f44405045ec4786c5f10290639e18d002e872f9db14caa94e26fd99079c7ce2f99e70dcb20d842c0886ac203d8ca8 SHA512 3a146d9dc8fe3fcc855f7766852cd69c49a28f9048d553d3952d7722d49216cb44652d98b15ae1ddee99b2bbc3caefb107a9b85c309242dac943deeca65a81dc +DIST winreg-0.50.0.crate 29703 BLAKE2B db9a968ef96cc07bc1088831affc4627e09c7ab8170a54fdf70a599c2d6180a8a9ac46b6304b61fdd2fac96e01bb004ebd8051940300c7b52c5b7b7975732d11 SHA512 2f52a9e3ab794665263499c88dfdf06009c6477d180a90ebbe86e786ae7f5003c9dc8b3c26224024e79450f3b94688000458f2ea8b1ae1c3691453c3d4df4787 +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 +DIST xxhash-rust-0.8.12.crate 21329 BLAKE2B e9596bb83cd0f0465c279deecaf4dd87aac05db1c8c7d3aed4f0689022c5a0522d976379fb3dcf6cfe1c18452c87890e95f3d17998c777d92f5cbe58119a20a9 SHA512 6fd17ec65be94b58f109b6aa9bb283e51092621e8af624f8c2c2c95558a3d0461d743cb8a65a0da5853ff7fd98273daec0dcc5b632440868524f99894beeff3d +DIST yoke-0.7.4.crate 27781 BLAKE2B 42d6176af3e8d046b42fa89eacc0bb249eb0a6e13dbe7e97890b0cae98c3cc0059255f15314bbc343610d60605bf2d13869402c17d36cbf7f495956496572212 SHA512 b3d1456e28d53723470644ae15a4298fa96a79593d90729221ca4e45a6f09de4d7c554703425c61595c4e78959652122db95865c0337cc0cd6a4ec57d7bea84d +DIST yoke-derive-0.7.4.crate 7470 BLAKE2B e5c0ca6f9cad4336b6b7554d05c3926d1720707aa70b588ebb884426747eb7d3d82614ba20563a5e801c4645f90fed9e067f50f43749a66e52f20c4204fb94db SHA512 5be38b8ae8dcb640a3fcb097e5b118354b45a41a0367afeff3c2ba5d13458524e88f9433848f09c670533d36a49a0e2b393e23368921553b5bb008e66e8e4a40 +DIST z-base-32-0.1.4.crate 14008 BLAKE2B 099ed86e96c8434f1784c8e80143de91a357fdbf9db096fc461daa13de031b8561dac5e6cc1ab6edea1732b50e2dca3e15541b09e239852c04cad82e324dd96e SHA512 83eef93391d22782fd38ba30957a5569a74e7be529354eed3b24da71eb958a7bf17da7b3366e4f204accc2145a967819f0a07ae33e021063640ce9ffce7534aa +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zerofrom-0.1.4.crate 5044 BLAKE2B 8ad9a14b8b0c251cffb420f7ac673669fd29b74bc2f5e220c8e86d592f58cbb2c7be88d906b7dac8803dbd76ec459c4a249b7d1ede75a055454a1626b387f128 SHA512 11f37a67108185a8090cda71338b02492fabd15e6cfe018833a165cd869ed65338e12d7c5680ffb0b763fc3acbdff6fe4df30457653dfe4d79ecc864b69d780f +DIST zerofrom-derive-0.1.4.crate 8232 BLAKE2B 98f69cdeff7df52822b982e3c089ccfa3ac2ce67f320b0d32eeffa899d2b34627268ed0a01b03504a0a6fcb6bef34d808cc79c811d5daed7f8acf59282e82088 SHA512 f2ea4650fcb4e7c3583f0f7c6146c7734cf6e80e07d92c330c6bc6a0a4e0fe14ae3393845713331240c70685e92eec114565c5be21189e687fe6232aef75a9c0 +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 diff --git a/app-crypt/sequoia-chameleon-gnupg/metadata.xml b/app-crypt/sequoia-chameleon-gnupg/metadata.xml new file mode 100644 index 0000000..68ffb82 --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/metadata.xml @@ -0,0 +1,15 @@ + + + + + Sam James + sam@gentoo.org + + + Florian Schmaus + flow@gentoo.org + + + sequoia-pgp/sequoia-chameleon-gnupg + + diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.11.2.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.11.2.ebuild new file mode 100644 index 0000000..7769d33 --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.11.2.ebuild @@ -0,0 +1,466 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler2@2.0.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.86 + ascii-canvas@3.0.0 + async-trait@0.1.81 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block-padding@0.3.3 + botan-sys@0.10.5 + botan@0.10.7 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.7.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + capnp-futures@0.19.0 + capnp-rpc@0.19.2 + capnp@0.19.6 + cc@1.1.15 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + clap@4.5.16 + clap_builder@4.5.15 + clap_complete@4.5.24 + clap_lex@0.7.2 + clap_mangen@0.2.23 + cmac@0.7.2 + colorchoice@1.0.2 + const-oid@0.9.6 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.13 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + daemonize@0.5.0 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + diff@0.1.13 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + doc-comment@0.3.3 + dyn-clone@1.0.17 + eax@0.5.0 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + editdistancek@1.0.2 + either@1.13.0 + embedded-io@0.6.1 + ena@0.14.3 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.1 + fd-lock@4.0.2 + fiat-crypto@0.2.9 + filetime@0.2.24 + fixedbitset@0.4.2 + flate2@1.0.33 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + generic-array@1.1.0 + gethostname@0.4.3 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.29.0 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + hermit-abi@0.3.9 + hex@0.4.3 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + histo@1.0.0 + hostname@0.3.1 + http-body@0.4.6 + http@0.2.12 + httparse@1.9.4 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.30 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + idna@1.0.2 + indexmap@1.9.3 + indexmap@2.4.0 + inout@0.1.3 + interprocess@1.2.1 + ipconfig@0.3.2 + ipnet@2.9.0 + is_terminal_polyfill@1.70.1 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.70 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.158 + libloading@0.8.5 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.22 + lru-cache@0.1.2 + match_cfg@0.1.0 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.7.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + miniz_oxide@0.8.0 + mio@1.0.2 + native-tls@0.2.12 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nom@7.1.3 + ntest@0.9.3 + ntest_test_cases@0.9.3 + ntest_timeout@0.9.3 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.36.3 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssh-keys@0.6.4 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + petgraph@0.6.5 + phf_shared@0.10.0 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs8@0.10.2 + pkg-config@0.3.30 + polyval@0.6.2 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + precomputed-hash@0.1.1 + proc-macro-crate@3.2.0 + proc-macro2@1.0.86 + quick-error@1.2.3 + quote@1.0.37 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.6 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + reqwest@0.11.27 + resolv-conf@0.7.0 + roff@0.2.2 + rpassword@7.3.1 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.35 + rustls-pemfile@1.0.4 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + security-framework-sys@2.11.1 + security-framework@2.11.1 + semver@1.0.23 + sequoia-cert-store@0.6.0 + sequoia-gpg-agent@0.4.2 + sequoia-ipc@0.35.0 + sequoia-net@0.28.0 + sequoia-openpgp@1.21.2 + sequoia-policy-config@0.6.0 + sequoia-wot@0.12.0 + serde@1.0.209 + serde_derive@1.0.209 + serde_json@1.0.127 + serde_urlencoded@0.7.1 + serde_with@3.9.0 + serde_with_macros@3.9.0 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-registry@1.4.2 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.9.8 + spki@0.7.3 + stable_deref_trait@1.2.0 + stfu8@0.2.7 + streaming-stats@0.1.29 + string_cache@0.8.7 + strsim@0.11.1 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.76 + sync_wrapper@0.1.2 + synstructure@0.13.1 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.41 + tempfile@3.12.0 + term@0.7.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + to_method@1.1.0 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.2 + tokio-util@0.7.11 + tokio@1.39.3 + toml@0.5.11 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tower-service@0.3.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.5 + universal-hash@0.5.1 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + utf8parse@0.2.2 + vcpkg@0.2.15 + version_check@0.9.5 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-futures@0.4.43 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + web-sys@0.3.70 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.18 + winreg@0.50.0 + write16@1.0.0 + writeable@0.5.5 + xxhash-rust@0.8.12 + yoke-derive@0.7.4 + yoke@0.7.4 + z-base-32@0.1.4 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +LLVM_COMPAT=( 20 ) +RUST_NEEDS_LLVM=1 + +inherit cargo llvm-r1 xdg-utils + +DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" +HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV}-baeb68d59f3af6bfb15bf7bc1562ba922e58bfa7 + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MPL-2.0 Unicode-3.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm64" +# Still some issue to do with columns? +RESTRICT="test" + +DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +RDEPEND="${DEPEND}" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" + +QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_test() { + local -x GNUPGHOME="${T}"/.gnupg + local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg + local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv + + mkdir "${GNUPGHOME}" || die + chmod 700 "${GNUPGHOME}" || die + + xdg_environment_reset + RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-crypt/sequoia-sq/Manifest b/app-crypt/sequoia-sq/Manifest new file mode 100644 index 0000000..8a34fed --- /dev/null +++ b/app-crypt/sequoia-sq/Manifest @@ -0,0 +1,522 @@ +DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST aead-0.5.2.crate 15509 BLAKE2B 0214f3e8ee85a7e18c7d20f9a3fcbdbb9e5af6fdfdcb427e915279b505556dbd2df6d09d5c90561417c56796236a56ab24b2b11389745bc03a0a6da45c0e8636 SHA512 61926a615618e64efd0e9342d729a89f80d6e092dda50e018252a06147e2ca0dc2a989136416f57ae02019695757dfa3d3f3cf3799f138e440662744ecab4a44 +DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79 +DIST aes-gcm-0.10.3.crate 148991 BLAKE2B e1376b741386577277a8cb9535c1ad3e15ea383c0f324bc5cedff09a76b11f2c9e29226535688f9431e904bf2800b8e140c4b1cab333e572208eefd19ca897f1 SHA512 f9aec1e2609262c30921bf83cdd82117d147905d4ca311f9fef4b9f1734d3a57893ba2586f0ccfd39cf9264d347ba2c2d2c52b4726495eda8fec7fbec42d6db3 +DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST aligned-0.4.2.crate 8519 BLAKE2B 338a4b1e06e754206fb37a86a46ddad3d9c3b11f1a72ae2354cd752d59dd0f9af5b67b150f4483aaff79097ad177d27ab89ee074af866c77b9af65cdefd1212f SHA512 e3aed914447ca1f6ea6338238f4dba8f903f673ac7d4299a8dde486335b0448161882b49b2f41d78c79d9c319b98d5cfaef73d99a797e160355aaa1f03561903 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.18.crate 29681 BLAKE2B b6f72cda084b38f1e1cfe60de2562e8d62ebbc352176bdf668a2d6be09349bec46d291cd475e8af814ce66def44d95cb98c325761150130752284a82d8a84f21 SHA512 5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963 +DIST anstyle-1.0.10.crate 15725 BLAKE2B 36e656bd8f9c584f11fda5cfe0c2e24e8426b9e1b602aad34ed118ae6950a55440e292d2e0ff7615f5e4f466fd06f07536be198a59506a587d40cb0c4ede4f80 SHA512 621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea +DIST anstyle-parse-0.2.6.crate 22343 BLAKE2B 85eba405dc5cf806283cf442984e86583dfe6c681f849eb7a347b7b67bd2b6f692e84fc9b5bd86486633cb2f05960ec16e8778300df114ae6676da43442db9bb SHA512 e28c9818afcda0e9b84c205d9c6697ce64cb06c21df2c3666869c07d66893105d9c5e96a27fcf2410a09f6af00735252e22b5c7d8c6cb3f68c4a8f376c49d396 +DIST anstyle-query-1.1.2.crate 9969 BLAKE2B 179b8dd6dd709c2ca67f4eb5c9a502b2867cb6744a39f824c4fdebedc67c6c3e07d107c7d817e2ffb589d13b7ed4900cf9653ddc0a43663217042ee92ce8c9da SHA512 26069d936c4b1fb09bc65cda0253fe9be8fa4e96c0821f980c772602b4e9230035ec8c9d092ef95e0a0354ac559f8d25f57a14c34086d4d241b5fba688951837 +DIST anstyle-wincon-3.0.6.crate 12271 BLAKE2B d9f4d9d46fa93a1168ca340562681718be852ffa94e30c9ea208af53af9d6697ca84921837a325ddc36681caab2b866b7f574901c80b5c0d862dcb765b81b68b SHA512 59ec6f5a53bd68b6344d82e923eb8c45ddac481dd0d270a7b452dc5b0540ee1656705697c1508942ecc131e7c075248c85d8f4159f27d97ea94f22469ce2eeb5 +DIST anyhow-1.0.95.crate 52155 BLAKE2B fc9cebdfae0afed86f2dfb7faf62f5a108000895317dd0cab9c83d6e48c891558fc3a1d8b9940b623b4c6fd861631a0f0344a9915517a9bc39dbfbe48ec6b45b SHA512 8c5c176381c3e861c3c4451f7cd3d9e2447c0a55735ececfd3199288d65d36dc5fdc4a19a0798f62a0b9d6ca2c155a616c7eab8bcd53e6ece743aed57ec3d0fa +DIST arraydeque-0.5.1.crate 17671 BLAKE2B 0dfd28da55d17c68795220a17a1c6ecc42380a853c96b80c8a5395eb8859706b5c573e54ea0ed71257b7668662bdd67363e3fa0531b99792511e4d41c03d364d SHA512 11d9af9882072d3f4d662789f13653481d7d3539bf9b8db74257cff25977e6419535f092683f7c5384a0ed3cf05cfcb568c1292b413f5f46580370775bf3e232 +DIST as-slice-0.2.1.crate 6942 BLAKE2B bf012f6069b5c483daad74f556515472ed54f91dca1374807828c7e785649b7d438441ce9583800b3bbb02d97bc88cf263dc88f448c3771c27441cd2618d83c9 SHA512 97925c90833707aa88fd56c031059825b6c1f4454bf39fa732a0065e049671e92913fa546008db093dc17cb0925eb19cedeebc9d9eaee1a8fd818098c18b62ff +DIST ascii-canvas-3.0.0.crate 10575 BLAKE2B fc40c40551e3e1b2bec6ae5a85ee8b0a1ab1ef3425cdd19ec6dd47d849205004781a2c8f51470417fe7556cf8524cc63b84a532532c5081604adbcd92d286b44 SHA512 216056640604f5faba6d46e2c94ff75234fec83d3bc2dc7cf34dd279706362874e3a513c717b23bc591da07cc3088458913c4e9aa5f280550c93d261095c8703 +DIST ascii-canvas-4.0.0.crate 10940 BLAKE2B 5d4463984d81ec13be403f696dc1ced4b3aee054fc2091479413b4af14ce2b461c4fb5eb3d0f0f8c94b0d6752bd4fd131e682c9ca56e9c567801616452bc4239 SHA512 ac5be82f8491c3245b48548aae0664f3621649b00483fc6ccfcfeac5fef8423c7017c7bc8dc2fd51784d42e0ce2384de531e574539c0541753feef2dd9b57cd3 +DIST assert_cmd-2.0.16.crate 26554 BLAKE2B fc803af7ca45de94e120c560efb7e1e39ecb706738d292695680f9fe14b2d570f7214dcda37122dbc1227228ba265c6dac7d7afa4fb22178c38b015bc8745828 SHA512 0b9167282d75169b0b1fad0b1401b42884185976ae0dd690851671aedbc1a9af26dd33f3047400eb4a1b5070216acc293aade149aded7e4f86dd5c0ef0e9a6a9 +DIST async-generic-1.1.2.crate 7441 BLAKE2B 1c3f77cd721643a1d0bda6a7bbe20bc3eba596f187bd19dfad16c50593a09f698bb124daf9a0252d6424da86ba0c6aaab804da16aa87d26a8fe98612f902ad34 SHA512 36fdf5ac969470995bbc24c7ecdb3c230b0216bb97c2ba2f32c8ed72673c275ec6e30e01aee65548165779936cc1b81b985a408418c4c7b8a98e5ecc05d6eb2e +DIST async-trait-0.1.83.crate 29054 BLAKE2B 4991f79abd8b9260b9541e754c30d3e0731ff786fcf65cc3f3eb75a5fcedcb37be147222778e1a0fa6c68d8fb872144b2b55b43cf6f8f4de371f24175cef405d SHA512 15969eafbdbe51e80433b53196962293daed2a70d3d9bac91c58e5e7359f60fc99ef519ceb1fd54e34d627c94f821329474a602f25f85179318d10c3147b5649 +DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c +DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c +DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520 +DIST base16ct-0.2.0.crate 10240 BLAKE2B a8097674e84bb85fa72ea752d71446fc39e695fea9acc0f98178bb4e6569180f9acb4c7a9820708359d1c4733b57af6448015cce83f8c610985e6d2f7858fc33 SHA512 efe7c810102646733cb24c5cab62bd58d797e77b117d0fa5d651c34630f77de4d768fb99c981af5968393734bc32a2c1944a719f9f1a192b5062c0af8bb3413a +DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 +DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 +DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c +DIST bindgen-0.68.1.crate 218997 BLAKE2B e3706a992c166c16cd8b8ef996b2eba6a0d67f493825e7257ba660f597de33002a32df7fea0fc2508fb47155f70ace0765e9ac4e4649d1f24b2bbac8ecf06d8f SHA512 29520e30db93ef3e239273854c926eba7bbbe2ec70e5162a4722e03947461510732319bfcfc20d5dfc0df137d69e8c1ad97daa0236c5bd4da8a1679bfd696a90 +DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 +DIST bit-set-0.8.0.crate 16289 BLAKE2B b27bd0a273d7e45e2fbdf46d4c5df4d82f710071cee82b19e95204cecfb13dda26aa346696f489a52f66347e7123a67cd0d05f7c2a4d7164d671f712fba1b9da SHA512 eb06e6b9285f33fb0dca69ce189838138f679e97e72538d09923e29348cb25ff1043cf4ef4ef4b74644de9a601859159d9d9d74354def92eb10b86e6067047fa +DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 +DIST bit-vec-0.8.0.crate 24132 BLAKE2B e9bb9e1b7aba90337e546e9cf6aced966ddea82e825c76c34806604746b774ab03b19756a24084f6df35bb64c21600ba4cd1c477196b34dfe4bf56efa6e4a23d SHA512 20d55f09994bff368381d2da5e0aa4ec3d336361d0e0111d72d147fa0e44cdafe3df62c3dc30d42d745dbf42dfc0b75037f046e5335085f3fb88f586e52fa571 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST block-padding-0.3.3.crate 8504 BLAKE2B d62481c25fd8680cdf0ad0bc259bd3777c3985ee91d5bb4995f484a15d4a9bde21c5d20f8c2efd0eb340aa0b8c7faac0f3fd817202ef4350d17994f478715eae SHA512 0849c99f2027f4e1a12872d2210310e9669f98929c99690febfeec90c0199b2274e20a5f83824f200f75f2553be2029ca85b0c5d0db4d9d477ffee9a71dd3b7c +DIST blowfish-0.9.1.crate 16734 BLAKE2B edb9ef86b168259d37ae74ca5f961d4a2f79f0bd83c64a157b1605655001a8e82a1b40b0e03a24719dd9cc273fd50d1ad6a406b47b1925a9c2c687c119bcae0c SHA512 e005212e2cd0233321f1e84170829c6e05b4f4e47b81342e0fef7e12ac05f09dc6db288b6b28ea2826e9d19afa49366b74b186f2f20db6da77b57f09e124e3a8 +DIST botan-0.11.0.crate 40677 BLAKE2B 24fe69266d50991ebaf760ae4f296d4e466798c802b7090700f7e263cd5f9e93eb8be44c58312c5df5ff6efa2b9b2a9eb4b6ed79a024113c61220215f852d699 SHA512 0f2370aee4fb019f2f1c6badeb29ad751af2e44caf9090ca07094ecb9ee783be83f0e86a2f97e5b0d7cdafd0403f9ced6d767087e3b490685c44ce693865a370 +DIST botan-sys-0.11.0.crate 8405 BLAKE2B c751b2d7e90bd4391ef27f072ed4b63251de0d367ce391c3e6033f1086aa042afa50b336449b568de0c5ea205aa7e894dd02515eb29d75f23f5d129f9443c830 SHA512 29e64d07f4aed4be117680a241c469a789421527793a6b15d15a47ede07eaa9e1a36bf6b8e62d9c2d592c1084bb00615141afabd30a9893f5429797c6e2c40a7 +DIST bstr-1.11.1.crate 351485 BLAKE2B 639c2e610e088120674a70dc5dac0b9c437f7454fdcb385b7ec9e66184b8d016f7190c864f7c8e25fdbfe5f884a9b4cf8815c1a0bb94efb03028fa966b4207cb SHA512 04c28eab447ee13e8d3af12fd165947c26086e8cb990840226197c16b4716bc018a48c6dbdd055f837a7d64eeb3c594b0b3629103ce7f910af0c3c7d3cc79edb +DIST buffered-reader-1.3.2.crate 63738 BLAKE2B 397c9c78d467692240d4f6ce0004a089af48ff01697ca98b923e63f1df3832f16f1c0d015981863225710dd8c28e3b9dabf4acf0171e9aa227f6071d2ccb17e1 SHA512 a121f3ddc14713c79cf3b61484e3b21953eaf0fc079385a238d38c3de3b8a88b16a0793986f07bbcb7270510439eeae5fe5dc007a358ecc0f683d0b74a320167 +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST bytes-1.9.0.crate 67320 BLAKE2B d5a89fc1dced217bd78c6c50d0494308b69b0841506c4663b6df3755b91a9eedbd242ce1322a71b8a96847db7920b2b15744fb060aa2d69f5c8d9bcbf2745b9a SHA512 e6c0681c535db6035c1fb1c0481725bb8ab341b6324acde07ac4b60cc4f490ec6ff01478bc00fae00ade2bc5420f9d14cc44438e5d156bcce91cc0f06118296b +DIST bzip2-0.5.0.crate 34197 BLAKE2B 77c60e6cbec72b667781f1f676b296e69d81725f4e1287515ed16bf0c0a2246a1077652a39403cc73bb5dd129cc6228c7ff67b92954fc0614565071f06ac7686 SHA512 afd17286e6eaa4a9acfd2dcd37b52a9a24a1fa711308b958c207e27a7f4170a4686c4ee071b0b1580ebcc9c342352398ca0a0fb93c5dbd0b9c25a03e5cc558a1 +DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b +DIST camellia-0.1.0.crate 89085 BLAKE2B 88f67a01f18e236a8ec2613cea4f0d38fdd65b2191e5478bd7c1155feb45832d693bff15ad4b880651cdc9c74e89cdc0131548864b2c51f7cec38ecb11b5d113 SHA512 b851c285509d21ed02428ab45378dc145959bd196ab75daebb7df60bce3b71e059d4dbb5639697ef21fd6f7554c122cab8a5702b1d118c743fe02f65054f66df +DIST capnp-0.19.8.crate 143635 BLAKE2B 826ca0f2d815e0224eb56e5d6e75cc5ca021e739bb0c254db25200cd7566bf4c65e45e954a3963f5596d348d486f509a1cf35ad94abf4323495d955ae7099c24 SHA512 8047aec230f4056994714e31c572e0fa65a8dbf6bd633d63ac1e83f8aff723775d283e474ede9806c29bdfa8c602ad80529294ce2fdcbba1308a43df867b6761 +DIST capnp-futures-0.19.1.crate 12493 BLAKE2B bcca7626ea4b384c5a6b8863eff9f01d603bd7e1c9128bfad08aeafbcbc3c327a70d12cb2ec35d14487bdd32e760a3329bf648c12756d98733a0d9303b9136db SHA512 c9ce9743a36cd54301499e0e8bd2ab8cc2746c661d6f09c1d6b1d5249c1bc2c9c39d031944b587c6041d9047efe7c4f9a67e96d7edabf28ddcf562ed68f45682 +DIST capnp-rpc-0.19.5.crate 94361 BLAKE2B 3137b328d47acaced0be7783d4c0942893084a5b7a0a809daff6174c4b932629315ea80beeb9372adc6b9e79a0d4da781d02ece884c36f53272ac61afe3f958f SHA512 bee03fb348d521406b15fdf9d09a395b8e8fb2622939c42aa8bc5efe542712f30faf1571269ac3dd15696ad7f1e2a334ae64911076685b4929358af0347b5527 +DIST capnpc-0.19.0.crate 33806 BLAKE2B 05224fcfd8c848651f8f7ac1ebf301db9c66504e3a003fe64a0df1b61c0325b8db7a79958d2c9941b306707a87ae4b82b3b0a7011bcf16c48c643a9d26627ca1 SHA512 df2e6917b20c414cd09c50f58803c4368029999af76a7ff70559eb1e31b8d6c75ed789f8075591269a31e1b73e268da9c555fc745b0121aa94f721c742288f7d +DIST cast5-0.11.1.crate 37018 BLAKE2B ed3d9283131df32dc18a5e4110a325b7713936e109b43bed8da0d22b0afe81a0f00c9e4fab0bca1194c93fe6f0bf326a5474af6f9274c310632b93d24dc9328a SHA512 0fe363b576ece2661616c47c4de1801756c5aaa2a56c720a7b4eedf23e031ba9d30af9d086a16b0f957c39b473cea1f059295dd1c776e9a9cd4393e6c895d015 +DIST cc-1.2.6.crate 99923 BLAKE2B 61e091267c5b18d3c2886ee50870ccd3aced59d9f5eea31967e8739a49523226e2d1f0f383c7b5c3c9b6dc19d65bee319efb081f0c05c9d25847063d7f628081 SHA512 a9a2a00c58e0625aef2023c0c84827f17ee260bcde7e9407c98b38300ecaa5df852babbe896d857920c3455089e3608b54014812da88e597c500017bdd9a52ab +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfb-mode-0.8.2.crate 25334 BLAKE2B e004871204d40258a052b7771f6d770f710857fd7355dd87ceaacff49ad0be2b3bbcbc8b439bff054432f336792e11e312b8bd472eca53e58036dcc4bd2f3286 SHA512 14bf9367317b2652cd070572f2a7d5f98884064a2d42c8841fe4a966e9944c8e5df3e14244c16a78a32ba8e2fa3df9348427d2f0ca6632df07fd24b75cfd7099 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST chrono-0.4.39.crate 222248 BLAKE2B eeff1694a98e8775524c261c5c46ebf09bf1ffc6222a945576960e8153af99e4549d8c988bd086507fa430f9cb15a3159be85300247ab3c6f5e77ab515f0988b SHA512 5b258f76bea58ab9baa0fe8fb32c41928b8b655c76bb2fbaae9300ef8380cbb881296cee6b9e9886dce62b0759c73e84f6409e374a86cf0c80e3383512f98571 +DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846 +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-4.5.23.crate 56460 BLAKE2B 5c0ff6ecc072368022b8dc08703d87802160817e40228fccbf9cbdc15d86dfaf0eec141dec4e8f1327e5a6d1622df9b334e94797027372dbe8765a12b918961e SHA512 4a8ef8731c9768844debcd1ba83a79a607fd32d9fbfe7411abefb8939c5c442e8a206738bb54dddd136117d3992f519ffd1640694ad7796c4e0aae3f95502c7c +DIST clap_builder-4.5.23.crate 164180 BLAKE2B 90948ac5e8ea620be3e1ec1334677b0ae9dc227a00354fcd3d78e2cf23a1c101e009e6cc96fc19c0a2395e1b9ac6272fd9615abc1acf1a5d60392e337cfc961b SHA512 0889876990f0a361cc6b6d41f2a8f4b1decd376987a02fe69888455c92f3e583d6ff70880c6f0ea154ba62f4be7d2e7b18cdc4e0e2f243e6b17f250c3e8d1c2a +DIST clap_complete-4.5.40.crate 47827 BLAKE2B cbcde3d6c151aea0ee1dd0baf2f2315aaef58dcb58d46f30a3e16c44addde33d6e22c4759d5667da1bd439820b8c666523176fa6df7b70ee260bc386ea38fb87 SHA512 3d5dcdec9394e09822924be2ad2722a98a4b9d8deeb097e90f446cd04fe26974afa66eb4ce6ed275eeca192cc4006280e64ddd92981dc2d043bbfb2585ffef1c +DIST clap_derive-4.5.18.crate 30131 BLAKE2B ff962e52d8d8afcc9639365e27753c6c6943fd809ef89d9e555e8be5b2f13efa650bf1f9ae451f4c127c1529a0af1d892c3b02153b46deb912029b45983e01cb SHA512 035bb918bc7e9badd59341560f23e3a8a2e7cf945b6d8183f74052c4edfcbecf07c9ea6fce0ceef0b84c89a99d62b11760af39398897e4ee7dad0170a96cfefa +DIST clap_lex-0.7.4.crate 12858 BLAKE2B a5ecd50cc503157dd69746f3b6e9c288e0fe4f6d5d82271499f657134fd401fbe076255e2be6a23ed0b69daf3941c6429dad8b288223b0ad390a2c435575cdd1 SHA512 a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e +DIST cmac-0.7.2.crate 44847 BLAKE2B ab8539f41e720f132b2da3176e9c533a2309cbb3dcdb027af4c5bdd6ac68e4a2a97f53efda52236527a15786b73bd96ad940385002412330d7cde60e3492a6fc SHA512 9e55f9f9323dff330ef45da953bc35da79ff8fe643b3984479dbab10b35e05e4d613f7329c46bc119fefa589d8f5f3bb268a7e7f0853003c1e192fe324e83315 +DIST colorchoice-1.0.3.crate 7923 BLAKE2B 7055fe61677143f0d4445ed5f6be2cbc284c155aa6ceac04df6f3fa2563a225e440ba708bf40e298ad09775ab7c7e1842b5f6dd78422b06dbd1250908e3227ee SHA512 fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14 +DIST console-0.15.10.crate 36449 BLAKE2B d0d2f161ea045854f0f53af39490c37af170888241b2f63bb47749b288ac387e24e52f936651763a5584a20bcca3512b28d50cfc4435d97ff06cb5de20768e29 SHA512 2d4b99912215a1e7083ac4cdd594f6ef7914152c683f007babecde2be7f3d6c2a861a198c9b4306242d84722d44965185ba846041e2ef13ee9ee9a5d43c370d5 +DIST const-oid-0.9.6.crate 45382 BLAKE2B ac27c689784fbb1f486cec1c17502c8738ce3d7d1b579391a151cb0f0a6a0c8335e474d0a517c59230fcac74317396f20ac15d66e2f6685780be01dab197fd96 SHA512 b871d3b4326c4828b1c1d7a3e968315fa320e0b52e97081a95617ded0dc5b93d42b3f79ad26ff3b58a4835dcc442473f3965c2b60026412ad6aacc0c23e9f399 +DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST cpufeatures-0.2.16.crate 13405 BLAKE2B 06d061cb2577057bd2afbc8cd6783488595701dbc46772533645d86aed71ba8b20905625b897840c90aaebb41360a286935824ca49bdebc0763a81df4bd64402 SHA512 97707ae1b533ecd3a6fe412a22fb70cf4ac278c2d7dba407fa7dbebd110d06f88a7b3aee3fb7cf4b0b5ca88f6fecf390c4d3e5ccbd4d18a75fc2f93a647e7074 +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994 +DIST crossbeam-channel-0.5.14.crate 92728 BLAKE2B 0da1bb0f0dc6f35c4ce8d4bb058d61b7c3ff4854f71b58968edc691c1d7016ec845f27e2fffa34835e86f19fdf4507275b013946b2fe3135dfa83d328ecb5199 SHA512 ab3448f7adeccab3c1d988746c3db1fc1e8854a53f7b5cad63fb7874e5b6f5663d34541d4c5383472db56a7c8b272fddfc78ea2ac1792a18d6c8230dfbabad45 +DIST crossbeam-deque-0.8.6.crate 22471 BLAKE2B 02b854df171b0430ca8a40349674ff251698d0c322c317055da8678da6661730c945d86737fa4947c3bd824ffe402271ee2f77fd6a505d2d46b4a41454c510c8 SHA512 9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-queue-0.3.12.crate 16270 BLAKE2B 75be9d53340ab72e5e52c940bf6ba5dc417d3245fe18c456ca68b460c7747f7d99340517fa1387c7153faa8a0beac002fe3eabedc8638d044e0c05f4c5b98d56 SHA512 a117977e55c0c2eca2a6141e3292dbc75ae5d80c087f0667cd767b9e9ee0f9c87084ceab34937b66b28a586b071e518a483684bb041e6410b2c3ab5924bef769 +DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8 +DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025 +DIST crypto-bigint-0.5.5.crate 83384 BLAKE2B f688f22331b4b3620299ae9b50aa9ba6e1b2c7a4ae55e4236f7ccb8ddee4f61950ee0332b6b67005bad505434f3be74b1a0caa426036dde94162289c6926c8d4 SHA512 04668d432b4169154934d55b8ab14f708e59f70a70704b56cd72ceaca460e15589965aa92a22bef20b32ce637a423cc6e1a8819dfba38a32353bd749f7126021 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST ctor-0.2.9.crate 11032 BLAKE2B 3dd71580df939114cbaa0555410c721c66eef82628aa5be34a51365217944d3880d9b51ffbe3d734349cf87e4341237bed9093cc59e281ab8fc5cd49b9e73ee0 SHA512 70c3febb597883eaf99e5c640c41d29091d4da436e272e22238110cde1a762c37dc2f4a0d26c76a212c25013b00a88d7a391dd5e28a36dce88523974519808bf +DIST ctr-0.9.2.crate 18344 BLAKE2B 195dce5872a0f59b90bedc268c5a5796f3076d12868f29f887294301b3576047ea82098e73ae996f564e400ce316cf1cdd9016ffb714559aaa0465dc826f0cbf SHA512 6a027f4e3881e51e3dbcb89348c961a2086bb63e70652c49107f49b7d021e31f74ec8c6ae91fd1605928f93f5ffa27889f257c166669e18508995168f17b46a5 +DIST culpa-1.0.2.crate 10733 BLAKE2B 795534d91d5b53973b223d5cc4dec8ff6d5227dbcfb38df35de056199291ee30dde829132ae664b438a4926c4183197f800b03f3e0c08f4457a39e7cf52a29c2 SHA512 346afd0147e76f4e99f2ccaf848a8201f35c6dddebf90a5deb2769df2c2033c08ee1df03b4c80395d60bc30c882d506031f070547871bdf6254d5dceb4cc6de7 +DIST culpa-macros-1.0.2.crate 3325 BLAKE2B b61179fd0991c81048253c16bf1ed1f513c45d7e2f57861d33318b54aa607d571ccdcc31a4ab8e2f5cbc14c24ebe4041b2ecacc16c5c22ad6e9ffa60bb2d01c9 SHA512 99723c8bcfed3e8a544db3a219cb22354410646783f91dee08d2c6b794955c9bc2878346f7abd87aed995b775de8b10730d3839da55b2f18abce936683c806f4 +DIST curve25519-dalek-4.1.3.crate 306017 BLAKE2B 0c02e769ae48e6839e37e622fecb8b1987fec0653049775a80bc53827329b50d6b8aa8288f26af306208d4a2edb94ef92a64d955c395d980cdd2624c35f0cc26 SHA512 a1dd318f96b5f1851d82a6fbd29c44dc85d2f75da16e5bcf9d6ba3abecddf5e0eaee4a7415d8afc09923064fa41529ede2622f8a5fe0b3e6d4c88b418c41bb5d +DIST curve25519-dalek-derive-0.1.1.crate 11723 BLAKE2B 442b0e4fc519f233d3fa46c17c2e25807374360bd6576e97b4ec33e6c2cc228bc917e4e395a1d70aa19be7bae57db36d2c09c4c7d505691b53d5a624db67eb6e SHA512 60861002465d2ba12a6089b31fcd7a75f7a6d77319159d5383f29e857adea8cb7e5c9c0ab6977c8cfa34b60e1012a1a5dec57f637e6a225e60269ff49c25b29b +DIST cvt-0.1.2.crate 6214 BLAKE2B e4cd8f4ad2735d0d81cc4ae1a2b0c4b0b6da23aad1fdcb757417e7bbd711a33560605551144d9a1c08bf85ffbcd074c758884e1684c608f89645a98ce382f2a2 SHA512 88c5030e88ac367259017b3dd4940079b29c568343b922280eb0c558fe98c5d57b165008491d8cef0534c8f54e60e4179ce08ec5b01dc0fbc42db68c3527218d +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST dbl-0.3.2.crate 6336 BLAKE2B bb912351efaf270363c2a6cefe4da42ae8c6a552690b566e5a7b70115721efd2ef42801500d534de0245b6feff5b6895bed74924c86eda3c5e9a5322f32e1392 SHA512 efed499069e1eacb709598b9a250be353d65dd9a1a27c7fac6d23af6262af0fda60b121c283b9318f301be2d80194ec1ce33733daa554f54ed3f690478d37cfe +DIST der-0.7.9.crate 85173 BLAKE2B f2dcf402e3d8b6a7ca818a8f260e0996290c77517b06bba8b22849c4d0e0c8f3dd57d664a06d9a7bfb1da6a39abd0740cd7d9776e75669aa970cc3ef63f924d4 SHA512 6de996346365647ac0da23d3fa9c72100d665c9225dc2f0bf1f553c4f0e7eb5c6acf3f1e36a11a7cc20e8b1c44752997e6f592c1d142755df145c5e302800f5b +DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43 +DIST des-0.8.1.crate 38783 BLAKE2B e85ae2d87866a537baf593afeb4e8c9aa2d6d7e239ceb0db077176455d8bae8e7e1617cec084360ebd7b1f1b47245beaa5dc7a4021d920ed1e8a07dde836c3f7 SHA512 2d54b2eecc3fb269f3fd17231088644d685feb81473043131f5bc68b5f682f726065426dc710f76e8c25cec9de597c90a30790ea3a62163a9e9539115e16c88f +DIST descape-2.0.3.crate 12266 BLAKE2B cb89babf02cedd75f304250d8fb88129cc5f2839f2dea0913a072c801f27ee2198f406557b5e3a1dc8e93b8f8b03388378475b54ec4c71d62c9a8f9fe28e9e9e SHA512 e146b763770cbcff501236b4e7eb0f90172bc44334cba5ba7ab301333551225d0b86c6192b58d9684d855df720ac487b7eefe855405fe49742a79646d708c64c +DIST deunicode-1.6.0.crate 170864 BLAKE2B db0a3d0459a43c224fc0bbe84bed044ff81b9f05063e364fa38c44bc51a12106805f93569d07469b6544745b684097cf3f03d6cebefc93dfa0deb232fc73f7f9 SHA512 39e5de0d1ed93bf3fcd37e87a04ac3b23d3a50d28b37b0962b30f9461753b3c1e3639c9760101bbaf1d4269c7eaa8568764b481d3cac6faa6b9580f51d11144c +DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST directories-5.0.1.crate 15833 BLAKE2B 2348af89efae3020f901bc6d97a42028c12d3168ec57a9a19668eacfaed61da95df597a26afeb0faa82c9322fd3772478290f00216acee636694a67441e408e0 SHA512 4ec733bccf79940190b983e022ad4a5741c32136aac7bd942423e63a2e7a7c07b87e2692ae42eb21b7a5cc81c60ad883d55c568e0d6c10a7c7c64652ec0df83e +DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1 +DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766 +DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a +DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5 +DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba +DIST dsa-0.6.3.crate 25991 BLAKE2B f8db8e4eac2b967206e0641f83da560de847e59cbaaac7cd8f497324f8c698fa1b22873f463b8372f61da6fcec02eb5f7043e4f5506f9daa20d511a49cbe6fad SHA512 ddc74666a39fcecde77bc1714133b0cf796091d71099c13d4d13c61523c4d431c5f6a47e5eaa171d3fd5d94ffe16cb80643316834e028afb4d58f3ae6f527dff +DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 +DIST eax-0.5.0.crate 14882 BLAKE2B e0c4a922cf71aa5ae09f8dc434301242443004895a638eca6237d437f4ee72250036423a21e01eee6f2d27b3d11e943dc68788b0b125ae3ba88918d407cecc3e SHA512 d43f2356586a94915a901e700fc9fd84a4be019c605c7675fc1ae79140b9af161cd30ebc68d35dc10306893ae385d51aedfc42a62aef16050271f2022d9c55c3 +DIST ecb-0.1.2.crate 6210 BLAKE2B 6e8ea36849f3deaf685c689823f2c276431d84353c8fc5ca02d5256aa36488a7da29e7b6d98cf9d402814581a507c306671b2d4b8ab34884b87858125276f812 SHA512 104c1631de32cee02291c3902a8e28c704d843cc12d3765f53c892d67e3a9429b340bee36e763e1bc929f18e1180a04ffce30d3f15407decae7a834da1ffb408 +DIST ecdsa-0.16.9.crate 31406 BLAKE2B f827c0ea9f80555a1c4e37efa3509ef57bcb8c2abbefac29cfd85c3904d82495753bc5917e8e2b8659bd091d73c2d57bc2f6c8477b7d5d44ab858bd3a99229af SHA512 c69f921653a3dd47fede16aa886675c35b082c7b83486a6fea2c39cf2f98535a00263d7f0e68c5593d16b7cbee757ea913060bcaaa4c69884ca6fe2d3b149222 +DIST ed25519-2.2.3.crate 17802 BLAKE2B aff96de3343d0cfba058203e90b6fd2c6cbd24531abca3a37977a1ed2f1eff0f4d4b6decbfcd9759617f381f88eed32d78397e6fa8d310b99b98d603b809de44 SHA512 3bfbfcd7f442dbb6d49860c530525bac60182bc57f6778e4ee097c7ace9c6a9d32ce430339ec15931070a538d3bb1e1f7b1cf572537ffb782bc5551fab49b2b2 +DIST ed25519-dalek-2.1.1.crate 85736 BLAKE2B 77dd4019467da3dfbe574ceb574849ea665ffd8dc91660f6a9b2596fb886400508bc632dac10a06461f35fce5400f27b89b1270514188ab488a952288309beda SHA512 a3e3838a3d4eef726b65a38196e66456f586b7e29cc328eb243bacc5a247b50f10ce76df6259aa102a08ca921f07d0395793088445f36de33f5dc1aae5223ed9 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST elliptic-curve-0.13.8.crate 63198 BLAKE2B 542536886019beb276b587f906c5552d88229eb06364d93db5eb6c93f70555e9e38e4636bda14789e5ba5b54321c0c6da85aa8d584e638fccda107e296c4d8f1 SHA512 64ec7868cfd2350f5a0e9f4fa7e2225b7f5532b8514ed6d5b8a7718f252f94caba4acf51b2471ac59717783289c9f2ab35d47881210ffbdeff08a85f68ef3042 +DIST embedded-io-0.6.1.crate 13133 BLAKE2B 2521aa9ee265515aa1b393764d4930cfa1c7ff3833c4fa7385da93488ae536ad19eeb787e8cd45f136ca36d3cd2f96c42d0b2a0c79c9e8458fea4946d60d66bc SHA512 7fbd25740c74de3ed20c0effb39818576add1d3caf696e5a1e617db2f802eb75d08138771f2eb29047fe83e928a667ced6a23edb9f971143d198340235378e54 +DIST ena-0.14.3.crate 22986 BLAKE2B d79daa3b5f3723aa7cd3c0b432b7332a0c43a5961adfcc8bed7e43bc656e54ea7e06eb1028714c7f0b52509cf8e6b972d2ac95c65ce808deb0facad2bafe0f62 SHA512 d4c893973372011505a762f4a823ddd4b50d8ff3a2f91298382f9c580fb6f688aeaab43d504a0783f8384280f7be9c585e8a079cb38959e8fdd4a078d1a642f0 +DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359 +DIST encoding_rs-0.8.35.crate 1381050 BLAKE2B 2db6797e4f226b3836c18496ed77f3fb113fbc075864fd264f23c4fec8396eb3a01c439985ba0586a4464ac4043ddd3acac80e0ecf897cb59569e5065ce2137c SHA512 4b55b53553c5cb6fe05ae81d1c6f3b0bab73ecd3d426b15c58b9de9ea8dd61617bf0bb2e6d3ae2514c7cb6e73019b1a083173d1423b3ece2d190770c597114c4 +DIST endian-type-0.1.2.crate 2340 BLAKE2B 6048948b467403409807fec776add4366685282a277d4ca40c5fc901228c0652c5759210048b28a94c8bb04c39bb3b359d43254e953e5b476112da7e49151a5b SHA512 d8a9b125fb87099f8bcbaf3688e2feb1c463ce624cd3dd36396e75e7aff177ed5033ecc295c02f491be04dbf240aac376e79a5c7cb591c3b208c442e1c1e6bbd +DIST enum-as-inner-0.6.1.crate 12190 BLAKE2B c2162a838bb717ea7859d5c11ea820aa6bc79210bd6a9e06e4f05bcd17a3c92bdb7d98453d58911f96dac79bdf553730b58d4949d268321aeae324187602ae09 SHA512 e6f80a4a47f5901301debff47f1e88291ee6d29dda2805373ebee62f77c149a2c7f8d1188f8a365f2e11f5497025036aae4a4c3a7f570928961d1d25d6caabd1 +DIST env_filter-0.1.3.crate 15191 BLAKE2B 95fa27602c10e819ef09b8f4935dcc3204104f7c5a0227e5fd33cc51fd77f70cdab3d822670d216321f263643d1f5220f5849002ad857925d4170b1b56cd3fd7 SHA512 94db29f1639636655e05ab02611cf14d5c2c8778be6eddddf0b6b8c21f364a71909a2ecc3acf3f4062d5d3c79a6316e9ef30b2fe042f617108af8431e198d344 +DIST env_logger-0.11.6.crate 31105 BLAKE2B 536f7b02bc6bd4f186061d55d2c5fb0d57aa91adc73d0c2521e0136573283147d5d336228fa7b64306daec9f488a2a83c83b96f06d648f45c3b52d04699b15d9 SHA512 1ec41e4c4eee4ea6bea38d40e739b1f324ef236fc786553fd77c6bacf6303f13d35c1626d3408a18346d42ebf5c896869deba133ef34b8cccf3729957c72de0e +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.10.crate 11824 BLAKE2B f9976b538868daba3cd2d47ff2fdcda16b4a436ca767f865f23d1139e7f232aba263dd4aa38d573442c762999c8a8beab8a4a8c10649d21b49090fa65ced1ec7 SHA512 fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f +DIST fallible-iterator-0.3.0.crate 19639 BLAKE2B 58b8fe842fd6514fa4327eacc81b157a4a9bec4ad9b8e69248c0f0aa5610dbddb9c8a72e6e6ef9fb8216e8f79e6aab439e90d4d527e35634ab222347cbe39974 SHA512 c655918fcda5deb8ce792708509e4959139f113c1006dd41b94d7073ffc204512a22cdeeee05c87534db9c414da3f4eb716e1a26970646fcb1c139a14eb8a2fa +DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc +DIST fastrand-2.3.0.crate 15076 BLAKE2B 15c9a1c4f64d94c4bfd38ae139c6fe19b6b621a495c1b57209edd6d76d978eaf018ba77f356b5086c3f462a6de044fb5e3b172fc288309569911a17ec39951bc SHA512 267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947 +DIST fd-lock-4.0.2.crate 13675 BLAKE2B 055e7254c6ea0185a099cba229c15a1044a6c0826eb6151e990134c816be4dd26bb8ab41631be8650340bacc16324a706656d2901c3969354a854216ad3cb306 SHA512 acc5aaf6e89169062c1c59d5258b590d4bde21a35f0acb7da2e3167d0668fa678d1febc305e32d95329a7e5bdb784fadb9b85417a5e4e5deea53d59f05bea74e +DIST ff-0.13.0.crate 17688 BLAKE2B c32379ebfea6cadd162dc169e0b413577fd191620f4f2a1c7d18e50ddfbe561ca865bc3e0fee3be287f43f6c9f2982992cbc56629889689bcbbf652e512da80b SHA512 eab19938f5a2cddb0fcc78b0724efd788aab7f17f04c482e0d06acac4d1cef2bcbfc74d6e4b2d9f535f9c955bf39c2153e010bdd2fa72d6d637d44baf8bf5f63 +DIST fiat-crypto-0.2.9.crate 495390 BLAKE2B 9201d3faedab8c73b606dce70d65d1138f5fb29e480d56b25cd66a8d2a150fb6d946c9e0ca98eaab0227490cea288b4c78917ccfb6693022d70d74dee94e6e78 SHA512 d916fe8ba3e82a365d20485b93c36994363059dead84c0266b7bfa0bcc74122d71b4a5c8689226c0e1007e7e01fc6f6c76e8687ae14fcc38f6f159287810f510 +DIST filetime-0.2.25.crate 14940 BLAKE2B 1ffcbad3b2023ba5e9b2d71e279fd8c3564458b28290f3e19bf43b87083e1e3c0e18f191f6dc67540baccb83075df453950230089f243e6276e413321cceedc7 SHA512 90b4f3c4df29a3456c393f78f636d70f2615cba748a972dc9b937c2fcbbf4544f5b0d28c6c8fcfed5d5eda026ac670afffec18ab7d7127cee9afa2717146ccf2 +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST flate2-1.0.35.crate 109188 BLAKE2B 8bd6e51c3bcc06044e5b8d7ead950c3beab6c6337052fd48e86175f0fc98c8d12804274308ee515dc6156bbedb2277dfa2706cdcd7baaf2a789122473248486e SHA512 aa2c4f0ad46cfbc7d2bfbdffd226eaa37f5223a34d132d8fb2dfd04c20d15a96c4882cc377fd72afbc7d13e512f5e9934386b0390a0ab2b171d081335c58fad4 +DIST float-cmp-0.10.0.crate 10702 BLAKE2B e1285cdaa5abc561cea8916bb89cb022da8574faa0070d05cd4ab7537b6e429220ae9a11db2ee24551a52eda5b541c157b8d18f00f27458bf380b45df6f20f00 SHA512 024d6cce0c16f56e4f42381fecff1f3c6b9f960d62e81cdd78b1c77103dc4bbac11c5d656d44ec5fcb644edcd7b9c1a905533df3d758470137e48e3dde4633c7 +DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50 +DIST fs_at-0.2.1.crate 35800 BLAKE2B 4957cb668fa65114451179914b50402cf8deaf2f2319f6ad3ea05f1f92874ea9ecfa2a1fa257273e20628ef759aee05b196954b5b73c0e3114985c1cd0537a09 SHA512 c97ead1629ef726d65da4bc3b68841b0e9cf1483d179ac3c39ea119c160cfab3db25fe50497470f4e7807eb423ca9afc51b4549dd46aacc6faed5034194ec1cc +DIST fs_extra-1.3.0.crate 31298 BLAKE2B 96dfb4e886767d3d3850d94cc789867c3ed461feb9da0ba90c600b2b41c3119067953ba795cea5e6c8c338adb6fe6426769a6e6894ea3e02eb1ab11794eb8d5f SHA512 090d2ace0517b86dd2f54c5491366cbb6e1677f64cf64f024f7dc6a3c42c4f8c54b215e954572e2df10ae7f0e956890ecf7ccbeebf66b645c7647409484c845d +DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d +DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 +DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 +DIST futures-executor-0.3.31.crate 17965 BLAKE2B e111467391cc99d1b6a1f5fd3aafdb86922a2d2d9e360112402d68489577527aa35f4f65e6c0dc8f48372927e6d7a6a4a97c7b9525c369cb14e34ca2dafbe64c SHA512 337e70bd3a3bd3075b51e2afe8f157902ebe486696587cc2706b6a5770478ee2ee4216aa9e155e9821ed1d02ba437cdd3abd0c05aa960378ea192e2ed39af564 +DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf +DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 +DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 +DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 +DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 +DIST generator-0.7.5.crate 29947 BLAKE2B d6c68ecaa48f30e3657bab1315228194c679e6bdf71cf7ea28273ac20aa34ba416309d6253ac19cb5e940e7c058eed39eff1c0a5594103389136d10148bd1338 SHA512 fb634f5fa252acc3d22ff925cfc06f02c4c82c64c567c98fde9040b457b8248a6199d0ccbdf27d759e75134318c0bc1a9d9cb351af4edf5332cc184c90c89d3e +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST generic-array-1.1.1.crate 27846 BLAKE2B b8c88e419a1fa801f7bc437191a65f4820dc0d16ac2f157a8f77ffa0df938677b5bf465763b464e8c81c95dfe719ffb1b5c0e8cbbf9bdefccb1703a5da4b7249 SHA512 96801e4533bda1a44a151adee73c6804a99b69bdb924e95851963ce7cf96efa606a32b64095864449e7ddbe21af51cfa32dd819c82b93cb916704b5fb978e96e +DIST gethostname-0.5.0.crate 8772 BLAKE2B 00617e07f5a96a5c67b33e614b1cf92864e8ed48d4dd882ab952821379f03cf88c21a979a8d7ed9c5a32b3c0eeae671a1a5bc6b5ee3a9b1841bc22d5d450f88d SHA512 67a7341724fd7a67c4d9bfbf809cd39d0149a669ce65679db91c70869624f3ec397953494e03c03804827fea269ec961f678076627b1a9c25369a871305a6294 +DIST getopts-0.2.21.crate 18457 BLAKE2B 10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d SHA512 5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST ghash-0.5.1.crate 9482 BLAKE2B 77510c9a42ebc486e35cda6893e7f9f464628d6e4ef2f2f1adfe5d6371dc2f7e2d0578665d02dc5647651a96f3f06ed9cd3825caf462d70a740c9e937ac8cb50 SHA512 00041605bb458305f0fc54d2c8dde2cae672451646fc41a94dacf83950ee44f75464a926439e7e6d1ca3ded05a9b697138f62fba6f4e86ea3df034ad7240af06 +DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949 +DIST glob-0.3.2.crate 22359 BLAKE2B 564b72e2738cce5311aee12d8d6147631cb571f7b96d8d3823098d3dd449bcc23ffed5a6584f8979402bef95536b0e73fe9772f273295a0079782b9f7d88d19f SHA512 d15389441e337e3fab9c30102fe7b4b1b3e68d8cbb5d14162d2fd7e7d01a9812b2d6d6d2a24a60116418be41e2075e70becd6994c13b34365d512521e8debb02 +DIST globset-0.4.15.crate 25177 BLAKE2B 5556f4cd7c311b2ead3a83fb2c84280a48e493f024bfd7269c91cde6ab81315d2d7f051f7cee9d7d34e6c8563c2452f0ec04a9d5a8ba5273bce66f5ff8f9054b SHA512 b9281b8bf48d2e297be533aa31c701c0115978b4e580b684b78a385eb2ecb4125187605368a6858311d6cdf5caae7d733cf1406c79241b7d19e7193f5a111dad +DIST globwalk-0.9.1.crate 12572 BLAKE2B 3518672646219e391aa0f157ae6597c78603bbef776d92403b874f848846d60ff8734e75b117dc76b1be91f830157cfce698058f445773748b9dda9cdaf3afce SHA512 9c95d6832950b35cf6ac87bd986116a75c847f11dd2e96ec0cbeb6c223ff901c949429669698cd75c4244a60c3de7df9adec648bc531303cdfba889e09f29448 +DIST group-0.13.0.crate 16526 BLAKE2B 099ced5b8d16e6fefc331f2d89aee931ec5900a168dbe31bfbe29bd00304e8525fa5763dbcd60cb19ac6c62c8d77877f2d83e700c7ab18255b08c9b42be60d24 SHA512 359db06bee4cb51ffe799d9c408791e310e72fde3bb3fd447cf97482ebb909af07b43e9b728e3639d5497fc905b650bf00403b3a6b21515e6628c2466e0851e3 +DIST h2-0.4.7.crate 174114 BLAKE2B bf146baa6f998b6d95bfee77f190be7f85af5304a8b8b9931674a35a0ba0a1262d26ba097149327482dd988f8900e996086a820fd828fb023e52adb104e21bce SHA512 0d56fd3a67473d98199e0d944d2bc094c36638f3a2d986942e6bb2e1c8022e7a53f184d5ac5e8d435ae97da481ddb8d5b2a039c70180345c8006290fef39a59e +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST hashbrown-0.15.2.crate 138478 BLAKE2B 453888ce68b10cd6e93d787986603fceb29b83fe2dc417e7e57316b9e0060d0bba51ec7fb71d46a038662c99f60deac8237a8f349297208d1d223bcc13f0d0ea SHA512 d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd +DIST hashlink-0.9.1.crate 28928 BLAKE2B 14276fe00fb8aa7a8183b5cedc99eb403c0a68cb662555cd51efbe55a46c864f68f3d421395f56defcd1a87576c5a38509581adb5d02b831d9aab2efdd376f9f SHA512 16189f332b9e2a71f8cf4c8b72485eb107c4a84d4bfe3c739ecea8fe5dec33ad3c796d57830b12c176bc65a2066913c809a0f7c8db83e9da1bb0c555de8d3717 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hickory-client-0.24.2.crate 37573 BLAKE2B 9a0a0a055e02a3db4893163f981dcc293879af323374a934ba719f306a31cd9bf7e4e839e0ce56155c07c112db4580a978d0b81b43585f127179c061b93e5e5a SHA512 ca819f9936af515c31e646a337a9e73f67a02e1991a56a07015214786f77ef891a2a20ec247c151efcacf1b3d93ba526552ff9c58944716aa65b138f49ef7aa1 +DIST hickory-proto-0.24.2.crate 372860 BLAKE2B 81e36f8e86f3a9884e4e22bab989d9183e9efc53c57bbc611cf99549c2dd083fef5f4f8f982e72147dc4c64c313be5d6fa3c56c8309f8384518ebb3df3c1a4ed SHA512 f3ab93d60f28ebe85225c55b27abf43613e73db645699c8b8291ce8cdf76dc66bb0160ad0f1dd4b3f7e01e23d05bcf0fd702f2753d72ac0de62c5b5f2256f275 +DIST hickory-resolver-0.24.2.crate 90292 BLAKE2B 7b09d1a954d3aaa89d2b44b180ef922da3068505432361b1f4e522bf386d381dd788830313b3257c169d74fb0d3363de46e518db9710ba83c61e34bff007fede SHA512 8a6febc9036a163a5c5dfe83468ede61121270763ea8d672bd5e32277becf84789d32e62074dedb49fc88a51eb19589bb0b489620eb77a3d3b6e61df21e9171d +DIST hkdf-0.12.4.crate 171163 BLAKE2B ffa03876879110dcdd3081cdeadc9490534c44763b3b49f1d6a5f4407a7346e6fa1ea18303f429b23adcd23e8898ba8fbf3797f5ef9f7ab7b11499d130311d68 SHA512 a43fe20b7d14fa26b118c6eba2b84219645f65f2ff33fcca679b139ae3e96f72abc1e7a47eb8887aac5afe4e34211434a4eb5a2fdbc014666d82c4af340a4b21 +DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8 +DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 +DIST html-escape-0.2.13.crate 23345 BLAKE2B a138f627fe019eed647230dd88bc37228fd00a356b709fdf82aca1e3dc9eef9518336d9de2c3be14537266e971ab5439890e84443f3a6f1c286a9db2b5757835 SHA512 3b6328313a4cec3fbf3f2d7fd417c6ac19ade8ae196ecdb3a3255a335c7d2e557180eec199319f6ca4aafe443ed99d8341296f0b1732fd4944ca0bbd178bb54d +DIST http-1.2.0.crate 105932 BLAKE2B efc9fc4ccc4a622781ed895f77c1752baf34e82d249acf97687ac8d4260aeafb333040833d9f8df5916cb105cc8217c8f27ddd021636b9248ad551ebfe4d83a6 SHA512 2c8e7234ec3aa720c9dd762c0bb06367fbc39ea89446fc9d8d2e55052a4ac461559a20a8294c877879f3e94d5db06fe41e2cdbb9664ea7ab1bc8003abb038bb5 +DIST http-body-1.0.1.crate 6125 BLAKE2B e253f2c85c0553382db955ce9ed18072f8916738962083223f2466034803553818e7f5a11649ebf5ea9118e7ce1067bd9b999379a03a335b88c810bcd312cafc SHA512 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd +DIST http-body-util-0.1.2.crate 12821 BLAKE2B 43ed71d7b7247d8d11f6f204bcac1b3b81c002cf7ec89e6c381554132293c11e6ca148cdf0dae8bc213409c9e0523dd388cdfc6f636dc1bc5ec7a0f7d3796dd2 SHA512 1f3eddc475791d860848041075d9df8a3d613c9761b2248364e406c84b070b9d2e4d7e8ced61d7445d97919d5cb96d5c1424e8298ddbe6069110c6d4a5c9246e +DIST httparse-1.9.5.crate 39029 BLAKE2B 3318ed1d82f1cc52cf3596a133b59b9613fd09b6e50e4cc0073fbd37275fe53ae6dc23c322569d06272068cc196aa253527d45a939361797f6c77a488ebda874 SHA512 88f4489610c6d3338353731c38cd368a565f362bba1e9b0e1e9cffc1ad9fb871ec2282ab1e3956947e41e0087d1170d35a0e2b71b9e823c1acbb7ee4c6c8f48d +DIST humansize-2.1.3.crate 11953 BLAKE2B f5ed4a378fd6692a6241c84657f9ce5422ba7331be6fe79b3d94ec87827ecb8459a1b214f7ff6db00696fbb17bf921c718860de4139b969a0f386d7423c1a4b5 SHA512 0adb6825650fa074a0ff33a4090563987ef311de5ab23e12f715286d8198310d17cca9028f41b8ef0e17d15b939e50d165419853ffde6a7ccf977d33acd920fe +DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c +DIST hyper-1.5.2.crate 152817 BLAKE2B e5e1cdf2bbedc51e076d6084261b6c4462495c5e71ae230251758b1271d7909b612ceb97b7e5a83e7668ca5af0fdf3918e3cf02680dc75df609ae7b16734e579 SHA512 bbf3b72650c464b8ce36c96e25dbb975fc1c28cf2a78315d03be8e377b505e57534dda4ce600a5b1d57ae974ba869675ff5bdc3e80c8721b575593fc12b55b94 +DIST hyper-rustls-0.27.5.crate 34660 BLAKE2B de261692fa4765f3ffdf8c384250532a0747b2595c41fbbc1a01c69c2c8a68a87656572f70228ecadb4aea04851ea6e7a0ab7077d6ffbe75b1a15805e64fbcbf SHA512 6a2451be2f42880978b0236385e8775fdfc3f538d9642c7fd6993ce85b16d623357f97a8c2a328e76e31c76083a8be557a4e7447f34aa52b9e990f4c9680e193 +DIST hyper-tls-0.6.0.crate 15052 BLAKE2B 2d9baa91bb89078e58b6a3af87af6796c110cc26f79604d56552836b3fc770ea63b215b44623a57394d1d60382d65f9ac0502e68700ccef4a2d4b19414497545 SHA512 6b99b08669e689005a27f2ca70a12aa51298a6a4226de072cd84fb15275339dde8e2054838541096484d732a1d2d913bfa945ff3003054eb62ac4c2d0a8ecbd8 +DIST hyper-util-0.1.10.crate 72887 BLAKE2B 9d8ae7445ea56505e19f57ad680020b748e943a5cc3eca7292c06d93be1b58499db5769b214687aba53a0e9aa6fff3b3f63d1623157350ea826cd2decaf8d0aa SHA512 0a16c5d8857cf522bd53017dac50e530ae685c512eb55221fd6808299c7d716815f7b8192f8a9a504421b938cc0536bd497c7388d2f70ebbd91c46b644496b2a +DIST iana-time-zone-0.1.61.crate 27685 BLAKE2B 2091f0bdbfae3f63ff846e27136d9779a2d65f85cef899ea3ab0ff7c987329e6a584cf49c57de566f08e0277bd4981ac3db30ea0cec6a6757ed50d96e2c6583f SHA512 d16c67f435606334042c3a286350db46ff3409f142c0782509b136150b4069aafff0dc5c2ecfb7519dd8d105b9a2e6649df2a7bec33ee3966dc94034c9d5a1c4 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db +DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 +DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 +DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 +DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 +DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f +DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac +DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac +DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 +DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 +DIST idea-0.5.1.crate 23243 BLAKE2B 3db4dc0fe83e1cb408e7e2b69996e6d58af18d43efc2cf4b04227f5465ca2446e805b12bc760f10f0acca284f6d79045a9173e1593977f04690de680acb9fe4d SHA512 f5d7254816210734f4c6f4e74801b38ecb44765cc97692843444975e7e62d6975e021f7010c11e991bfe46e254478fc0ea08634759ea9ad5c37ec2c7ee8141cd +DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126 +DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e +DIST ignore-0.4.23.crate 55901 BLAKE2B 8c5138e723cbccffe84aa215b2e73daa18d8b2d39136a901ba1514def3a67437f79d932e4762578dd1b28dd8360a397aaba29ab8bb67a93a587a1c71cf5d1aa1 SHA512 ae354b00994ae8570751bc5c09167edd0e2891709d4c4878cf75b24619421d23a1b83e28886d54ed9d31aa427f49153e9a5fc42b5de7262abda20c1c0061b299 +DIST indexmap-2.7.0.crate 85335 BLAKE2B c7430ef510738ac5fc4658f3e4d927ca5cde780774a07848791ea87503be09fb4677c52803f6cdaaed73eee600f47e0595ac3db74a498947d0e180cbd10fb7aa SHA512 efac370b9f365a49489aa2c5406eb503044a4df7d6ceb772e0191b02244b6c2c1bf6c43ad4c8924160c1a2bd76d46c630b500a1c4252fc52366295d1cb04b48d +DIST indicatif-0.17.9.crate 65246 BLAKE2B 9ce758e7dbafb3394d632a6fca910ea3d1237309ac9bad0ca1236cca9563abfc442509ca96fda1cc7be6916875416cf2b85390c53266f59bc18c6589addbeef1 SHA512 a0d798fa86cc4b75d080bd233e274d6554d82e1532b3590d27b9fcdfdfde4da2717afa16ef42b180ca0ad43ad151db8b0963890de106e36b6bdf07f87a519bdf +DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb +DIST ipconfig-0.3.2.crate 24468 BLAKE2B dbaedc8f4ec23fbbe48a8c79f16fa1575b8374f055237447d12eb009694067a82bd54b503f73f9520e9b731dbf2b7797ee2d6fe2c07ad3946146b32cdc68ad0e SHA512 6029a7d453db77bcf397580fd44c5c777ce6c288c251376cb591174e9fe0aa66b49925764050cc9bcb2d656a8f6c4af0cbcd6685b2ea4616c2d2cf8de9bd67bf +DIST ipnet-2.10.1.crate 28407 BLAKE2B 50c27384d58bf57ad2c3dd0ffe44f1ceb1ae302dd40e451b0c0d69f227050fae17c368c417666c1ec9d087caf775132db7387d5a6c919a0863c78a151912ea64 SHA512 7f55f23b2b0936e3a7dafa2db0447dcf1b63a092df4af8f6fd88a02ecc8f0a290b0d21b18fe777eb573201bf82f56ae475a447650ed0803af676b1e0c0970cb4 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 +DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 +DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987 +DIST js-sys-0.3.76.crate 54420 BLAKE2B 8d211aee6d8af87c339250e06e321bf02d2ff313b80505f696f66c43298e2aee8286076f2b291aa853730f8e1b9940f09c56535d3534fc7990aeb16653844250 SHA512 54e9a6be3f5a19021351d22d655a3aa55579c80f1453a99aba5989fafc7429078dea57ffebada4240b9185d3260d02f30da250fa539ac12c4bdda975adfe0dad +DIST keccak-0.1.5.crate 13120 BLAKE2B 26b5d52a18550e67e79eb51d26c5329607699b14014d82136ed34199adf1144be8271fd50ef176b913b366b45f249ae5fc09560b0c6e5626b2fb2041de314e89 SHA512 95d5c12f903c572750ee2fa0829b8ccbf2ee2fa473bf0eae5434e08a7c1980dc435ffb36e53bd2d2fe840a55ca1c13b7650be1a0727cc8b79f649d73634f1b0e +DIST lalrpop-0.20.2.crate 240370 BLAKE2B 024026e9d206f24f3f0675f87a5d8204237c00c96331c3cce43f563639c2750f363b173bcf928bb69b3707917ef0769c9e174316b1c85f76e8fbedc6d0262bb8 SHA512 1f22f3aab724e720c7f78b268a9f6ee468fbdc7fbc0ecf83e0a35130ca56371aa2e38752e02cff5ddf0f003d5a8bce43c735c6d5ce09a3bfcda924f2c5ab0674 +DIST lalrpop-0.22.0.crate 244992 BLAKE2B 407f7978552de76a474a243cc4a2ee18f4cf25e18d433975d91632ba177da99867e34054b176691e127c4b62b51ec28dd244bca8ef0282b3b9f06815045fb878 SHA512 c1657d49a0a4642301d108b1f3445f6d74b2e99654ad90174a27e59cebcb12ec5ec015aa22206109905bb9ff8a5e9e72d57838759ed81516e9aa100b88bbac9d +DIST lalrpop-util-0.20.2.crate 15064 BLAKE2B 7304f30748afad37ac9be5f9cb890b70b0362bf889a86f7385e7e83a067e5919e42d85f892a018d255d0eab56f7c3b8fd9564fc5d24b657916dd915bc45f0a46 SHA512 91034c6d82a0a006bf35208f84503660d55170a36e38d5c64a6c0ceaa0302c43e268df21feee6b60b70723462f6e4f09022ce83547560ab7c51b5de0954cfb28 +DIST lalrpop-util-0.22.0.crate 15225 BLAKE2B efcd5d94968b1f90a3e68729d54797d403ed8206a205b0eae236808a71cc47f1d65a5e2dad60baecf1258a9253e1a5be1c5589386f1896436bbfa979bd8daeb3 SHA512 c26279f2a4c573c27a21ec6cbbede0522ec478557face8f1a9bd437d9066c162f047de4b9d2a648e2a5d1fe11580d31f1000c21a970400a2a63805ab77138422 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.169.crate 757901 BLAKE2B 1012cf93d8975aa20fc3f2332e253426ff66be6aed63ace5292cc8568ee419b0f1a4b5b39ddbb78d9c2dfd8d72eb0d068c98faa229ab55556da5e674429f0e97 SHA512 c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce +DIST libloading-0.8.6.crate 28922 BLAKE2B cd9d7c2652bc4b0220e1c29cbfbca41f44d12d76c4dab3d025c21e5d317407ab656a88add0db95f1086934a424f55b4b413f33cb2a52cdcadde7641f9c5b3fc3 SHA512 f49ab79244d4b54c2f181bd9d7506fe5df9824a09446924dc429636e08ed7bcd6f5d2afaf8a0c862982e2c2c5832370b118266d36f36bc7b7522668bd598fc81 +DIST libm-0.2.11.crate 111477 BLAKE2B b1247b197dc66a38b9a1f9db0e32655c9ee09575347895bb1e3f22e6953c334d74574a7015f214b0af0eed564ff2ee4576d07d0db5421aae917a7aa1e10ea142 SHA512 86742b5d97dc976cec5bbf75f565b40c7058e74cf840cbc7baf4d84823318040ac692b5796a407bd44caac553dda3f5a087d3bf8d6099cf26305123ce106c7bb +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST libsqlite3-sys-0.30.1.crate 5122296 BLAKE2B 3f3d5ecc434af6ce6e28836dc6bccc812d53da909e5e4a92f0eb7b6dd56c66c5243e29901867df2e72be424f20fed6c896da59bfd5349fad831a6305cb25db51 SHA512 6ffb2a23a78f3221ac8f6c9260713741970e522bebc1ec7f3e1d7405f25dac9024ebe3a73d76a6ed74dc7109a8333d6936ad1c64a0a7c75d6d81f97c3524e952 +DIST line-col-0.2.1.crate 3915 BLAKE2B 7723ef44a9e7f1cf875db5dc496133b4c1b282850d9e5595d90f35f9ecd4dc83e3f3fda500702d177153d02cb243f2816b624e2bac21880f145a1dd5c37e1554 SHA512 386827d209d462f38929b0615921764ffe77ddb116b322c61f4220fe4eb19c3ba62e1a235263afd22b01416f2005073964d7ccbc775366f735e3d7306547b427 +DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST loom-0.5.6.crate 72186 BLAKE2B 0d31e1533b954c59c7c46a3158587dff2b9ad53c73d369a9134cf731c9d4d239f0755221cec50ab15e3cd42a35f0b7eaebeccf07285b0a89675df8c0d5cffe56 SHA512 e4dfb7d4b07acd33b6db8e6fa54f66d33782060c553a71723329bc9e5c1e3afc10de882f3ce3b882c0b6b84b9eb19f4d6699e534961192e0933f88093247a4a7 +DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1 +DIST marked-yaml-0.7.2.crate 24771 BLAKE2B aae1094bf8be3c4cec12a47b23f19841b6f6049e705e85f134482aa5f07852be2c67b5490fb0e8236206350d50fbb095016e24154b8657c4ced10f7f545b9fe1 SHA512 1c6e5ca888f7206f6154db06c2bed4a8d36c6f00953b6b3afdcc8a98267ad7cb7071dc095608e67392abc2ed6d7276ca3b77c6f120b2988a75cdd675d2f953d9 +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 +DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 +DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memsec-0.7.0.crate 6532 BLAKE2B 48fd0c732a5c83c5e0ca23816b61bdb7283c665ad73d20089238ba0b6863992554a7f8a3b41ae8b4cb0f31204b03b32b3cc7fd5a0af657a24bcee01b3443ce58 SHA512 73501130770d2ac0e3904e7f293cf0ca6bd0947a6e05e53a40498c950b8519fe591d3888badd5cf6134e1f567c18fa2ed6ce6fa3ac3c8c0d441645c3e95cddc0 +DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST miniz_oxide-0.8.2.crate 59068 BLAKE2B 22808b2137b4afae29cc5cf25d9f643d24824293524542e2cbac3ed0fb0341417c052310602a6f0a003843abdbe7715a95a6068c807cc0c843ed867958650215 SHA512 e58802e332a72123954ba1751cdb59509789bf930ad74da3d06e2c1c3737547fc0b9848be816a66b6585830786b7a0fce7c9fb574789e15f3b540709563cf854 +DIST mio-1.0.3.crate 103703 BLAKE2B 0d2360e4ef45f37104208a31e9aa467d6db041dfeb97403a010a36e1e1427f51d97f8408948c75c0084e6c118f058267bfe87d36e7911cb37366f2b1ac6eb693 SHA512 2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2 +DIST native-tls-0.2.12.crate 29517 BLAKE2B 76f4bb2aa8fefc306a04ff50a62d6617f71c3c34aa83ed35f11714ef2306fd82f76c7e26ab7ce50f8eabed40602ba02589dde2d98b55ea6113b45cc539c84bb6 SHA512 15fbc9d02134d3d55334d2f02fe4f64be50db991d75720b38d802088f06cf5f844cba6b25dfd7beb92f2cd367ba477ec2098e3c7336c4e5a5a7fd39c753fc723 +DIST nettle-7.4.0.crate 583944 BLAKE2B 79392e3b2df0551ed22865a42f0ededeab2421764e6daf0b6388c08080d0674bbb88f733ae5d29ada841e567c734a641e7fa6ab2bd8e8c627f63125c9c153598 SHA512 f132a9c7ea566930fcc813a9c799d4ec6849522dc70e8b478655988a9ce1f75ca731b0c0b7d2a702f96273d51770b47725014e6d1e407ff58343a0b4b7560871 +DIST nettle-sys-2.3.0.crate 28576 BLAKE2B 23518adea067a8a2cd4235ccaa851ed62336847db9bc8a6adfd77cfde8c57f4a8de104cfac0e17068027702e1e4d79efbe77c3733cdb032650fff1eb1ff15457 SHA512 f453608d860edf86ba62ed959aa1d04301c06d13bef5179b2a69f7faebe1e1ea41fce163aa4a48617d21fc493cce16c28cc11a051ccfd13d0be93c66405aa5d3 +DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48 +DIST nibble_vec-0.1.0.crate 11796 BLAKE2B 2e80648e4e18d17fdd41671acc1e166a8337fe1ec1765e5a7f08c19fbcb23ce43b11d1cb396b867b9a2c0ae58e30225d9b13fa337793d8c32abf99969e7c11af SHA512 21bc50bfa5f11f50b19a20691346f098db083ceb6891faed72fb91d2e911cee060ad4d19ee1c98792c5809cb6ab2bd65061bc051a1dea75d9096060b87497f67 +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea +DIST normpath-1.3.0.crate 20719 BLAKE2B 6f7e91bd80a6fac14fbb72e304aecb6353b05a5e970d75899b8c40313b095f79463fa4cca1f7879c11d41e2437d499247c36915075b4190054f2f9a810e1e682 SHA512 a3cd341d1b4ead252f25a77e42165cd5a6b1459946ef55a5319558b89301e01e445f7cdafa13231836d336284798e48cd4e17632cba53a17213badbad3ce7a6f +DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043 +DIST num-bigint-dig-0.8.4.crate 123825 BLAKE2B 9710266116ea15d0e56792b7c8e217931765dcf2377bc05f23bd386625087eb6a7d7aca7b8f0beeb78ace9f280895565a6de3b14ffda7721e35c741ff64b71c0 SHA512 88ea682c5aabc61c0cab9234e31a2dccdb5458d3bc018e1f9ccbbf0a9f09ed0053341e93bc53f65b5bee55bafe71d50bbcd48fd085ac723ef4662e15664925b8 +DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 +DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae +DIST num-iter-0.1.45.crate 10320 BLAKE2B 9f2a60a819e31a6e7e048ae86f7fa029015a73888348676e54ec6fdfe76abe94b632a49a82b53b86488ea5af1031f677b0eed8ba7c5e843ce804c6d6af123622 SHA512 6195c7bd5f904e9f0aeee3ce17b42c0383d053f9d37954a9ce3b4ff0a048afa121c9a37aa9c74b9ace7353d7fd9f57a7d04c7a18e1456fc2c4c298d8ecfd0172 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df +DIST object-0.36.7.crate 329938 BLAKE2B 0b02cf2f44e99002909b38125edada1a259feae59fd0e5ef52001755b6878cac710c87c60fbafdbe405281e039f68572ea3d8093d16128899090fd70df7f2fa8 SHA512 dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478 +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 +DIST opaque-debug-0.3.1.crate 7066 BLAKE2B dc1dcadbb5654a5f69c59b84faeb3095f008a6eb4f63e3cff95bd4e97f803201e2f16f59a65f8ea21b662e77e3fed0d0870eb1db7f5a4f95cc02422907732951 SHA512 f325214d604e74197ddd9209a596851c5bf0c0f3299b79b6267c35e0ff6351205b628fb5086279684fbb29fd07746c91ede4f45019657e761d8400fef2b3d8bf +DIST openpgp-cert-d-0.3.3.crate 31670 BLAKE2B b618d83d9f31b6abdd160f566be8e266ff90ec0e7c079b416e424337d7fbd407c833dee7012154ebabbc0824ec0f556f9b844667e2fa0bf1b243142251f4d267 SHA512 3ea564c98adabf458c9a5085d742c536a13245a40d64e137b27565eb29d0ddb1357ca4b13b7cba625254e7a4fbb5e6aa52f2a994cb3081b7365583ebcfea8dac +DIST openssl-0.10.68.crate 276578 BLAKE2B da7c42f8a87150c76cde12316fe1c170593e76a4bd55176ca5ab7a43c57d5457246bfa91bf7bbf73ca47c87a066789226529fb7ad57c5e93c551baa67f6a9eba SHA512 2b0c7f5a888b0e398ebee9c0fffb6fdb8408c36f96eb99182ebb9e162106c012334554304ddaaa6689d3ae41cdf638ba08187a40088efb95a5e9f6aca032a22f +DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c +DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c +DIST openssl-sys-0.9.104.crate 72287 BLAKE2B d9af8f2ae8a8dfd53b3bb68433a4dd2a4b30038858ac58aa98d7a23b2d23e0b7c7d8fc36c1733d0330bcb9f51284667b2c32fc5a5bd4d9e1a5df7b98d610a997 SHA512 e812d5323bc0ec7376f176a980dd9856dad6d36513e854d333b93ce8a14c20a9ca61be88db82ba2a8ae4e086df5c3fe6965ed10ac155eb7b502e0225c0124278 +DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56 +DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532 +DIST p256-0.13.2.crate 63434 BLAKE2B 8c0d6997b60299382f1da2b7caa1b0353b787352bc3de9ec7168bf224ff7ca15b2ffa28f99377eb11cb6cec3481e5d28c68042ac88c1cea27e84aa8fff5e0658 SHA512 4105c597346e2bc74ad7b7173d13b3b46cf4a1df87ea1699586cb7d09beb1b9f8d152b2bd0bc6849c69771fe4d320dc15a9e275470923b495971e9aae54b0ca9 +DIST p384-0.13.0.crate 236495 BLAKE2B 240fa9cf7cc066cba64e9c89d78ae65d0f0fff3e875b0175646114784a2eb0083cbdac9e1a17e6de6b3e9a6074b8f318e8d6abfe63b7de432c2d19dfc0fc0091 SHA512 e81451d336b2fd0c1dc3483f1e586b7d4059b3ee7cfc935edca6be1be02d23b1e380859a44d0a6cc6538fbdfbb22cc22b8d3aba11cf90c6fdfd0e8edecdfba17 +DIST p521-0.13.3.crate 138499 BLAKE2B 758cd3d1917e9e3055d1ce26194443b4c5aa72812194cf63abef0750342501d58a4c27b92272504e2295a44fa291e614b462dc112742e8576126e280a6cccb0b SHA512 fada6c066deb17c1d046ab4e321b32b35ab851e4f39ef9d095b7a05163a4a43d1e4d35fed4f9594b854a6a1dc32d257685eeff33956698f20f805980ee763a8b +DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST pem-rfc7468-0.7.0.crate 24159 BLAKE2B 478d355dd970b9705ebcf44d74d61ae0694db6de16b2018548fda88546f53e35b965ff72d939def399a49fe97d3c8317a10385ace94b3d552797ec64ace1eb8f SHA512 f47d3b6c7c8bf4547916acc2a3d6671f6c1308e74641419c8f1df810d8bd940aba8f94d361e4cbef3eae3b7f11587cd3996a11be3be41d19111abfcde7a9272a +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST pest-2.7.15.crate 127895 BLAKE2B 6a0161a85c35e533f1c4992b842d6d1e8b83a0f39365280f6e156dacaf5a313c8a4dd24c241788200282fe0df8ab3372dbffe648b6326b3917dabff7b0ce7945 SHA512 a044c8e92bf63dca6522da1aecf714329278def96b037ebb38dd485d6063bb7b15ecf762fdfdecd2026136c42b6edd89702f624cde14b437161c372d6c3d87c3 +DIST pest_derive-2.7.15.crate 40745 BLAKE2B 6d1b81bc50a6a70e88cf5ef2f40adecbfd65702dacb7c8ae64f3d77bcb6c632f4cb17b0facd72e3bc60a12d758461acbbdc6d81b110faf8df6c764904bce970b SHA512 22cd53c1c9062db988dcf8645a6320f96219777fe35f9d8fe05f69df445d58a39157c029a93d5fc26781c5c44961afffb9bd959b3d4ecba2d4e17b23cc422250 +DIST pest_generator-2.7.15.crate 18417 BLAKE2B 258d73a82601722a791801b2b0b8c676b9c793cf5e3f74bb39fc7cbbf3b2be247b839eef01ac4aebe98363a865bc19235c9b13cb06b3d1f383bf7b7a15c64b96 SHA512 98e0101900cb4fd0e22af2a214f380269de10b590078a7a9f03154ead159912abfec664e1f89c57aae38ca8b54a163da4302d2954713711bb133a9c2ced32f48 +DIST pest_meta-2.7.15.crate 42121 BLAKE2B 7211276778d6f6017cf9273a5c181740808fb67782b59993158641a67a670d496d59f5702486d07fbdfb15eda225dff9ba7fa35c2235eba8e60d7111aee39b5b SHA512 dac3e599b280f2ad9d3d6c1362ca18e27929f15047ed9195a3cea1e1ecc03bab98355cb39de1c793764affe41b24f0efcb6660ad0c81f7a6c5201f402e4c6a64 +DIST petgraph-0.6.5.crate 710970 BLAKE2B 7f590e93fb44f1bfb8920e512402edc1cb087ff9d5dac7bc4be965f64ffacf9c1c503eab4156cd2005f41099f6b34f51e49b21dfa217271fcc0d4ee16ae85366 SHA512 454e9805731374abf1085f1a8a72aaed85e83cd30ab9601bcfe0e46882ba6656242284bdf32b6e75c2f5ebdd1325d5f8873d5f720aabf297822ca97311afb677 +DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5 +DIST pikchr-0.1.3.crate 77527 BLAKE2B b08214feacbfa6c693fc3ffa81557b8e2b63b2a1b21da4baebdff1f243843e85380f43d1a5ed71375da1546958d8ffce709114b16b012fa23aeaceee5b436ab4 SHA512 4794b6abe022127fe90619b3a78fd1cc23139a89607576892a5fbf783fafb75317ca66c612ccb84a0c3adf8b8b4a027aa745271044257926a4206cc2b671fa14 +DIST pin-project-lite-0.2.15.crate 29683 BLAKE2B da9dd581eca047f089c2a069a355caf66a631b3ff81fc07220a3c378dc77ea2c399b165ff8a1d2f6556595ec52dc1bbdcbbdea5ad9e5e317281650c9158b3669 SHA512 ba3c22c70f98ee0d0e78fb8a25bdc3100b26c3f03f3e4c6c0c238fde75774c5634d6014660c39406a828d1c28f17f44f20fe19dacd331c4da2f4961a7f7c124c +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pkcs1-0.7.5.crate 35790 BLAKE2B 0cee88bc3406b60d225593b4b01a4eca11d14a916bd589843300f6130729e7926d2af32b9b7d03e98b6934775e30e5627754e7e32e1785f59c8ede36c28ea40d SHA512 a3584ce492116d6e617a733a0d3d5696404aa7b10ae95070313b4a41dbc21d0940850870b711e375ac8b54fdd179b4083d61c48e902e6efd8a3a11cb630076a3 +DIST pkcs8-0.10.2.crate 26360 BLAKE2B a62b5b7386eedba6fcbc4cff2b103b899dbf6179101445283f9076080489129543561af1ad6f09061564f68c28954262e49d0bb3e182f2ce7495e19d6f34bd5e SHA512 87127d51f0e1fe085d46b30394f2a580e857cd64f5c6fe4a3ac3b8871230aa426598dbb007e8bdfd5d729b99a9c0b4d84116f0768886605342d2ed112c51dfa8 +DIST pkg-config-0.3.31.crate 20880 BLAKE2B ab7676e810751f89639b60ae70bdebe1d57edc76319f83077c3680049a701a26e72e8cc485fe77cdc4346fe3571d32c59e7384c8c86fef17e00d7d81df5daf43 SHA512 ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4 +DIST polyval-0.6.2.crate 18425 BLAKE2B 59ae2ec631060ee8e2e1d4bc250abbb4762c97ca7ba5c543c0292f561bb967e059410ad7e79d8dfd7912cb30a6284169ecc2f4c94bdb165037acf8c3eaf1209c SHA512 113646edef3a7f60d59db3cf06c1796bf81305b66835c71bbce0fdc07345f41e23f2bbd7d5cebc50c72eac11c98f351bc793e2f568b5fc0bbf9fb2597eb44f0d +DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19 +DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05 +DIST predicates-3.1.3.crate 24063 BLAKE2B f57d4d19128107107b436bcce2be5efcb2a17cb18952221bbcb63691f5bb0fa3932a50e721dcfbd959d27b34084a6a9931378bc55c3c23a6668fa6a552e72abf SHA512 0da703faeb708e3f9eb9bb8803dd8cf6a493b02d38b9b617fd1eed7ccb870ae96c5be6cfe63b7ea8855cb2a019a7ea59799faf2bd78fb490d62e640d1a7de1e2 +DIST predicates-core-1.0.9.crate 8618 BLAKE2B e5ff73c0756f4cd91ff5d2fdd7dfd33e300dae34731933c11798d7ad2e07d9500dbb7828e7473a055c55b5ffa8a761f02a9d04ef313e544e477e4cb94159576b SHA512 618db56d417f44f5575159265f245fbb62399951824730546df735dd9bc9dba2200f58c0a7c7830040bf27954bb48e01fddb5fe0f4d4890d5e172cb1c586735b +DIST predicates-tree-1.0.12.crate 8392 BLAKE2B 4b124a7b718d2942f5624d410fb8c59c06e90ec5b576fdfe20542dd00da64fe6a5fbacadcde3c3a6f19b8ef99efd862b08be08e08691e858a4b3d7bd72a4cf71 SHA512 f5f6d7d0cba4ca7176a26d9adea5ded46f1a3361f9b6ceaa7dcf468ce616912cf3b764b8250f39a42a24eac71fb94e0d4d822c89361aae02472cf761ba55dfaa +DIST primeorder-0.13.6.crate 21296 BLAKE2B 2ba479defa1c26d14f8711f6be5020eee9bb91a39fa7a7c14a93dedc6de920e0ef1c9f6240d308233d0e0d6bce4be9500d0e9cfb01b6c4f9902e0f77a2f97352 SHA512 fdf52b47b36403d5218220b886a3ccec7828731b5a59ea1d48a25fa85de754544fa9c94d51356d2ed904bf2d908bdb4fa87c53e597a3c9f2941d7310f70198ac +DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee +DIST pulldown-cmark-0.12.2.crate 149070 BLAKE2B 35e4543dd530a80ed500384c6a6f2bd10bba0cdb4e03f472d630ed17251b85f7d0a91635995964ad8d40f7c849e0b179de643ee3645a81b311b78c4ec3678f47 SHA512 7514c4282d3c4ef0b0f7ae65374a549c1a027d7fdd5eddad8a2de93dde49aee2e3a2eec2c5c598967b128c2edc6981fa6dc55972c8194206abc9e7a673eb9482 +DIST pulldown-cmark-escape-0.11.0.crate 6719 BLAKE2B 232d5e5efaa6c9b5ba140051e21cbc16b46b32fc40931bf434fe25c24fea5d8a39e47926a6256a826548081e246b4ae36c41c7449a866cdaf60037eb64ee0965 SHA512 b8244d6c93a983bcade5e1ff699f334aa72eb638b7e4d22cc746b713b1d0144e6c1eac243476362a77bfed37a3a13a6315ac8d57920dadee7d2734f4d96023e0 +DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9 +DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af +DIST radix_trie-0.2.1.crate 251366 BLAKE2B 14b50e45eacbc5b42cdde8a4f8e8642adfdfa3cc569c3fe0e3aa1fdab901713b3929d706dc0aede1b679762fb8fb1af345efca15befc9234322db434c8a3923c SHA512 f6f54511860b6b878c83de4455bdbd71289599dba93234d5c7469342f3401cba99a9ea6bca2d32df2e31ba657f40e42e7d5fd7de66786ddd2814e22fe867f9d8 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.8.crate 26319 BLAKE2B bd69a69e2a0f3d84843a8f76199ef6b3991698ebac58b23f69c26d02f5f3e24e77a9d5e8259e9fbff3887f06d15ced94ff23b5a3272ab475918e6e3e753dcde6 SHA512 5f9632f1f89f4963c36ede4da9b955c3474b673c3414d81cdbb61f46c08eff67167f703a0b06b239beeb2d720f8fa592a5493c0f7e872728b5b95f561ff11348 +DIST redox_users-0.4.6.crate 15585 BLAKE2B 1d60d0b7781395ff271d79264910d24fb021cd8ef612714265abae25b26ac158d48f542f1e73701bf5b99bd67546a7b878e4a14e40cdbd478b35bcc8b4778f5f SHA512 719d63fec42bad3cbed39deb9242ce1daf3f391bccafa8121f63198120371f112d78b0da8d66458519e946581511004983f04b0a697071f22294ac7c831120c9 +DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 +DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f +DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2 +DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST remove_dir_all-1.0.0.crate 20461 BLAKE2B ed11b39ee0bd3270bce6d8a069e9d16b4b19301ef6f63dd3e2b3db188b8bb94ef7fa9060f335c1485a54685a19f5f0f6c7776c289f6a191c76964fdd2f310c96 SHA512 c7a4e5b248d227ffe39c40fbc5914b8db6508fbcf7b7e8ab14b3b1846e70e61a8661c6785f5cb613b82aed90ffb7a22cf86418bc54734080a7946bf52929ec93 +DIST reqwest-0.12.12.crate 193321 BLAKE2B d024aac31fdc9f67db81ea0c8f6ac328cdb176220634373931598d5fa9270819ef5775dfd9c2a8da99454e04198390327cdfb02e904f9f54eea5e188f7fda05e SHA512 c94ba8449d5a1d709e9676537ffab187b5f844fec44c80118e7fe467282305660f195995ade0bd1a49529ab9a8284f82a52094b43ea4be87e4517014be6ae349 +DIST resolv-conf-0.7.0.crate 17352 BLAKE2B 32b565a11d5d752e2cce2ac7b44e483b8a682220c99a9ca34d0a440d87cb5a874c407d474e47757f128bc5d78ea57940452eb099ea6fa433d8f6d1fe881f4302 SHA512 538b97f88fee8b82f15845f9a596e09757e3c2869c4e8708ddff97e19348e9f88d4bcf75e810d2aee47113fa64d550a9fe2deac6fc38d95242ebc20228e9b5f4 +DIST rfc6979-0.4.0.crate 9140 BLAKE2B 662d967b1d818439e972d19bd251a4e3609c65bae945b4d11c0ff4966e9fcfaecb739d0b63bd767cda6a22e77a52f3386f02cb27c5c76ce9008837c882f8df33 SHA512 fb68114f5f8c1e7b921ed175fc01813531a584b8cb2df1264b72e1925bd66b4c021714b3627fbbcf3fabc26e4d6578c4d246369a0c98049d4058dca4cbabb20f +DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358 +DIST ripemd-0.1.3.crate 16601 BLAKE2B b72f950d20e0f6f19e5e4dac9da24a5fdfe3dfa441596a89fc7a8350cea3a297ec04caab43c7c24c4d8e499e50de306656b5a5a608d5b01d0ae86014aa4931aa SHA512 eb4510c2a5879984dc662a985515e17f0c22f91babd1ad9914a030058bf8e703a72375e82672c382294a0bf7e004c776e9c5ae30ee0f6acbddc44d22b48e2e03 +DIST roadmap-0.7.0.crate 12738 BLAKE2B 7066ee20a081777b3d1374de80cfbc7e1a3298852532ac5d222117313a74a38f3cac5ca8a57c7e7220cc8d647144d94056e4a0cee98b6952934c3fdbd87f21b8 SHA512 5c1af1fc3dcadec173a0170c2273616807a79de87bdfe8d513561c7490b252069734388169e713b5c959d52e3e643965066c573ffd4762c6942a133b63955f50 +DIST roff-0.2.2.crate 11648 BLAKE2B 38431e1dbfe394274c09e32a9f4c99f7e208130efd1765e9df0c08cf313a0ca81d13198158af6342ec658648cfcfe2e3cae5a5306f8e27e18af7b8163359e896 SHA512 0098d4cc921435cd48fd924d96e8dd27f6443a9b6cba847388ec4be7c2222bffa7a1507862b8c120314d32d08e0cc04e52d44973e25d85536a3a2560fa2a06aa +DIST rpassword-7.3.1.crate 8164 BLAKE2B 60e89fc36d78a64d9441bd902866500872f4ddbd28ffe4bc5c26b5882ec1dd9bcf50dc06105c87f5fef8c51b327bb9af1a324831cb6396796afab3cb7f4a2288 SHA512 28905b33e5fa26d9a7bc0d682b94edc6119b2d8c2a6826c89d61fa86033230707c54f3ed8047ee3f5da4393c119c70f102ff61efdc1d4bac38e583c04e3b4382 +DIST rsa-0.9.7.crate 80231 BLAKE2B b8f6e435f35776f2a67f79f5791d035ee5753512fb8e05386aadc5ed4962d88be7ae4c016ed43bcf2333e2913687155aebd3ccc79aae7f2b04b0307915dd6257 SHA512 dff7f46609a006dc8342a36c43f841592cc6ded5cb88d63bc252f221372cd756eac820d57e218ae573ea8a643875463c8707ddd3e01f2fdcf729215c75e7030d +DIST rtoolbox-0.0.2.crate 9179 BLAKE2B 4cc9faea86aaf0f9e9ed95269d0fa8c633d7c05d539a435bbfcadc563ad5fd0d3f06bc33f83a24432a53da483bc7771edca21e6237888254b1d000f7af1ee41c SHA512 2e239e821d0bdb171ff9d03d3b8df2fbb561ae67ed653f66096ca32b2a83badc7d1b74b4ed1f0f41f141ff2a383fd06618f4f7740a03514b256eca4db0699d42 +DIST rusqlite-0.32.1.crate 155563 BLAKE2B fb310ccf297ca0be6f0fa045ece633f12c5664defc56c71763fb44f60292e85103ef235cd37eb60fb2cdc91cbdabdb311b6937696bb96146513f687af9a786d9 SHA512 f21986063af655842c41cb1f9a7711d289d52f69850d02b7c08eb5381e43c0b740fc047912dca5f9a745469ccf6bed12b751d2cc5e351adafdbf37fd69946cd9 +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 +DIST rustix-0.38.42.crate 378683 BLAKE2B 4071e1118ab8111bab9efef39c6e35f8a3030cb230cb3643df7ae09ffc750b18becf1f069c2714b0b6d13e334c12446433057fd015c9dec04d7a1372a354ae05 SHA512 438bf1e4663cacbc7c0af23b10ecc11c8b01c53e18c2e82a740c46b4a61f06cdd25d926aff27a9c39084c39d9c950c222a1a3a6d5878dd240554fa593fa762a5 +DIST rustls-0.23.20.crate 335933 BLAKE2B 754a580f74b16ebb8f0f3dea9f3730fdd0ab9c4d04b0abb5741ecb69548cc32c54713636922031ac1acf2019df602db101da2dc363e50f224c815f1f8edca37e SHA512 3778f649026b59c4698bca9207ecb516a237e3d782d7727bcd93a2a20f0ed7b02e3931cf956b75cbec8fd806b54a9b231e3b663d0123f9894b54283e34e78dfd +DIST rustls-pemfile-2.2.0.crate 25849 BLAKE2B dfb94a77fe9d86b17b0c6badc6b715f247e9aaf0b312bc9698dbe8d38fff281428ceaec2ec73bef8009667dd93536dda2bc7e7c49d194b36244dca38dd86d577 SHA512 1e69f0b72c6060eb0a54ec8a1cb51809525b053771a1d417892205f8f5dbcf4ba45250fc0d6a836e0cc8fede06d934f0a90c47d475cd8e066dcb3f7504ddaf17 +DIST rustls-pki-types-1.10.1.crate 58944 BLAKE2B 1bf83e046802a5eef5dc597bcbe045a7aef146c489ef5fca442bc20a9a80dcb2d15cc8e07ffff45890df069b99698bca2a9463d1c2925a8f1a5eaa673ebf621c SHA512 ec63005b54bb9676fb6ab3f7a399aa816881c34670577e8c8de7f86a46a834e71c2363049ef152475d784f12b6cc9301b4fa20e9d478e95a8f1b9ad75f6ba2d8 +DIST rustls-webpki-0.102.8.crate 204327 BLAKE2B 8db832f181b46bdecc419e1433dd5550bc181cbffa1961aa90b2533f92696ebe15d71d742225bf806e2dc3a4ebb110d48bf62b0677089df1eede6d5a072c0a28 SHA512 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba +DIST rustversion-1.0.19.crate 20616 BLAKE2B 025944fe053ef928f26affb890ef6a563b0e63cf6acc0ce7bd4ff104541f819bbda48ebb59fd8a677e44ca1ea21f4a18c209adf2004c9ad79604dfbeca43b5fb SHA512 45b959aea8155ee47c51aa1d87c6c344b5f4b20199a2646ca30bdabe1c2458b014be91fe0c48c29c2261ad9e5de6df7eef7ddead1682e584d4a906c17984baab +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST schannel-0.1.27.crate 42772 BLAKE2B 55b3cdf596d6d490fdbc10298eed7cb1b1bb8d6349ac8700ac2e7db66e1d75f0a5bea5b1b322bf30cc0f982262e96aa421998151a8ee1e620b5a09d25ad4263f SHA512 f469d03c2be014c248e7b6408f541584f250a9d58bc8dd8ff4d1e63f5720cadba1c0579b1e5d97b58844fadaeff10e9cfae6d5cd33c5de0fa4ebe699a8ead4a8 +DIST scoped-tls-1.0.1.crate 8202 BLAKE2B 20be49f0546691bcff3f0fc257345e432e200836a60b297ff3fe698699ef6a2fe8a5dc6977902a08f7dc63c578aa27607dae0f1889b849c257c59c48a458e1ed SHA512 342f43d53edd33ea3e2197faf5dce37bfbeb0b20b6f0febad4dc6244c3185df127b2c10488e95561260a0ef968f32707460f2d0d23667cebece19b167c0a0c25 +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST sec1-0.7.3.crate 17979 BLAKE2B c30d4e617f9c0c21b80f14a7df88a164ad43f4c18fbedc1ec32af41193053e67ff6ea83db54f46c8cd6389d930984120c2a1688662fd8083e0c23bd4995d510b SHA512 be646413d84b39a43a0af478854f47db3b167c2bf1bedf7a58392782c423aaaa38df3b3676f9807a98c6128152295c426edd16d67d62ae7048caa635bf39641e +DIST security-framework-2.11.1.crate 80188 BLAKE2B 844d36d2b2216cc7055687110d54ea783a7ed9bfe6375fd4dcbea267ec85531e666fe002648110315f42c3364ff5ff5aeba711cf8d1f5358ba65c8393e96f55c SHA512 02786d62fd9dded80bae3942896bc8fea2a90763427f582bf5d9f127ca5682097b59b5dbff2cde373198ba659316ab5906a68d3141ba00c7408b73ebe353fac1 +DIST security-framework-sys-2.13.0.crate 20496 BLAKE2B 5ac84d004ed09afdeeaf531d96e81fcaac3af32207d7c8b2180a506fe0512fe6616ab3b4244c75667088e7a8215c1d33dd9274a60a400afb1952254070dbbb15 SHA512 a5b69044571e8426277b2ac241bafb53d268adbb7340c0626cf00fd356c654baccdd36277995d38601e19cfca00da8481a9c861d01bbab3ce51685a7dd186832 +DIST semver-1.0.24.crate 31267 BLAKE2B 934f55d953ca52f6c11696889182e1e4c660a6eae3917b15b411d91a18b22c6a1178708caf95da93e70e6ea97c0762ed9154333d60bf0a08b156ca7b50c4077e SHA512 751bb04fb50abfbb92b2612e1d1097f612a1ceee1861852681d6ad67fe459d77a72898903b14f2f01d8185fbbc022c7471913785610c2a8e9d6530e48094869a +DIST sequoia-autocrypt-0.25.1.crate 41241 BLAKE2B 5fcb7131447b2e11aceeef037743b0a368693a92fca3b4296bd6d0d76fca5ef89c059556dc2591c944b2e9f545fd4e1a8008def5ccb1110b293e3a0f93954141 SHA512 a8835ddf7c782abbedc182d1d6062e23d420898480277f01869fe7d06ca5338ef1199c41b11091e4eec9ec304106ce1d09cc033ee298d4f72c918688584e3705 +DIST sequoia-cert-store-0.6.2.crate 263569 BLAKE2B 455faf4620fd975101685fc496dfe5f7d091e84cfd74e3bfa9539874c20b7721e13589f532182dc4405d0152bcde05225bf358ebc6fb90be5f4bc5898170c0b6 SHA512 c833697afa1fdcfc60a6c73e6ac30e3fa902a15f2325045ad5eba8082c686ad123311488e946ad76b0fdb86d7573289ffe5f482cbccd9b32f91f7c98f87da944 +DIST sequoia-directories-0.1.0.crate 21519 BLAKE2B 58e324dc7b72c8edda6a598d8de40c06c9b9254caf4ea73f464a3a6373f3018ffc3e25461ad7cb9059257204be43db328f7448fd6114940885a9300680bb661a SHA512 e814a14eba5873f1c58f25630cdf4549a0e1145f52e784c81c294467c64f67f2a50c674a26ad62d46e2082f71c7e09863ca2f9e1cd4dfcc311946dc5060caceb +DIST sequoia-gpg-agent-0.5.0.crate 138617 BLAKE2B 87b252f9e145e33fe98889458ceb62ec7969fee844c6a9f5c6c9a166148cf69164c09fc98b26df36856749a9d65231a6c3c6ca30c06ed33c77ea80529cb5169b SHA512 c49aed11f85ed657775649d184ca575eb9a740ea4e224d46043cb2d0477bce0faf6d9abbc73b33a18aff8fa05bc487db4a3f546b8b61a31fba84948b7d8c698f +DIST sequoia-ipc-0.35.1.crate 4503842 BLAKE2B 9892e43cbcfdeb96284a34ea948d1ed4f2ff70e58289a5cdbfb1b4e96c3e88604173262ea9bf2da19c84f0956b8408175b8929a23205073aca5968bbab2bb08a SHA512 0cc7cb84436795497f51d884feb96930c44ad79ff88374c117a068ef95f1fa469e15f38dacf7f9f47790d9d2c2eea3aac9f943bd1668713a819e3ded5d290a38 +DIST sequoia-keystore-0.6.2.crate 90708 BLAKE2B 71f281df32bfc9dcf15ba3c5e9378948adc8dbfae4196a874f8caf2e8591c6fba7f747d84f7e7094b3ae35f83a202f336a897e7461265907861f709bcc247c2d SHA512 90d6492543521b97686f64b560bf80f42b6acafe5fa2f746a0acbf43a079c3845193ce8ace7f466545be0e897ff1febe77f5e4109dcb858a43171ea8cf5b35ae +DIST sequoia-keystore-backend-0.6.0.crate 76232 BLAKE2B 71b1e3f3407a7e9c451a84e96ebe6b016ec8164e8c7a522e0594abec3a83f85187e9aa67b0a6492382386c79e2b5187643f56584e715ed4b5e475136953911db SHA512 1589f80fe5a96f3a3f205739e8e1d44ad784dd403e80cf3ae32fb541b1594e402fe7a533da22bc6e25477806444397d31ca96bced688c18669324ab327def388 +DIST sequoia-keystore-gpg-agent-0.4.1.crate 18482 BLAKE2B d4a44d767a57a492e4624e71aaebab0d999e7eba0e0c56c534762689cfb0c5eed2c86cf720b721be88b0586fbaadd3860c2d3d9fdf443cac269aa56d89c76fe1 SHA512 ed77b34b80c67eff4e66421f2d7dfba6927403115104f8ba77fd2aa298b081268bdfbeaa2952298362be600a418e3ff9e0f160fcf95dbfd990ab084b8919e38d +DIST sequoia-keystore-softkeys-0.6.0.crate 19702 BLAKE2B 2639a83cae845b613d8c11df94b310376749b2acc4a1768aa188be9de18b5cea06011fba07164e2cf4350560b99dd870219e4a8b21a0f8f4b5026c87914648e1 SHA512 7d3e683cf17c8cb1cc07ed2c8f17f2c3fb16bba0f33bf2756f9eeb00237b1b90ccfa4c7ca4d5d439a4b6cfe6eb4fcd93baf11edf342eeaa5ce9e56967885bb20 +DIST sequoia-net-0.29.0.crate 49014 BLAKE2B c24461cd4f05cb369f3765f4fda7188fc22ad50e5306e34506af750f47a11a3d84d4120436022e1eddefdeaa8a41d2d986b3e0804dab407c4e9988823adb2dae SHA512 18bdb9d774f39c0c42f6fc482b79996d0e61104d8a848f14770414569bc4b23a100b021261aca8498cb3b39a4126d6f49c2183abf7fa961e444069113843750a +DIST sequoia-openpgp-1.22.0.crate 3017622 BLAKE2B 83be10aaa9adcd3af9a8b4657474892d4042c262c2349e2b7cd4669c23c27606c04674317daa6c143f8277684f58a1b85a2df77bc1cfeff3d79473480937401e SHA512 10893cff011ced034382d4fca9c04e61b7bdb5f2f621cbf4f36d611423248c7b411d7440433607cffdc1d646898607ede159248d1e69a6d2ca69bbc14db6f95a +DIST sequoia-policy-config-0.7.0.crate 106066 BLAKE2B e3d02172c530264fb6af51ecc7729d0e9b70b7e88e74d25ef66b1fd60d50c88fa6eed5bf9df0f954c18e8d68251e761752dd75196971b6c0d29fece569b5c7e7 SHA512 24db46b8d47877bb533f2379db104464e78492305e2d7c0b058a1fefe5408ddb744a8a84ec239d750d9dc12166e79a49595e096e9d3cc24989455571b7c4e0f3 +DIST sequoia-sq-v1.1.0.tar.bz2 670352 BLAKE2B c69f77b0c8f1f3d4f02d3518d240b6c15a711838e565bb080c22863240a1bfd2a47958d39313ac274bbc4d808548043ad8dd07252f310cb9d51f5f098a0159a6 SHA512 f23103f1863dd6712e7830ed9d23b0209cddeeb4d209b4d71d920b41d58adaac22b9e19218f7a26d4f513e0a211646f6c2eb8b8cdf18da13c96c599cbf116f6f +DIST sequoia-wot-0.13.2.crate 1021102 BLAKE2B 1d8cea68cb13f3092ac08912ba83ac0ff1a5cff21e6cace2768ca3d2bb77f7a5870ec7cbcd2788ffb13f50958d69396595e3b80571e7303dccd5d92aad5b372d SHA512 c606e8f07fc239d0f6042873f460c05540b25faacd04a1284fdcb77e88d030c52f3be4bc00bcc572c24d63a6ab2cf6f84cc2b82572afbdb1be7262cf66f0a7ea +DIST serde-1.0.217.crate 79019 BLAKE2B a0aacff795d34583365ddd469fa14c58a6cccf8afbb248210aaff3134c7ce6e34b3d03f437326d7c01b3e78f82a5d19c37ed9fa4372970d8b2793f2889288e1c SHA512 f97b3b54b9e99c9a027390405cc054c3072f49c92803a4ed5f5f69e76a179deda9d77993b645b3581437085912d881da88d0451b9e0da423c64033a23fdd8054 +DIST serde_derive-1.0.217.crate 57749 BLAKE2B 63b4930122d80d64492ba2718630513012202e42bbaa74510729ee66a0e72b8a1ad123784b479697ba562db43868f4bddfdf5e94bb3d744cd68a547471ba40aa SHA512 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76 +DIST serde_json-1.0.134.crate 154351 BLAKE2B 546f8ffe9373444e8c9e81910476da281dcef10498dceabc8bec9f9063c55f4a9033b83586a09b0f410369515882c37712a2bd75ff1fff05815d904f37386124 SHA512 ab6323799bf19da8ec6e6c428370d37cd230192b45ef54d2c65c7d83907b2dde71d51650e44f1fcca1084e75e0e195e97b28437f53a331bf48effed3d59b58a5 +DIST serde_path_to_error-0.1.16.crate 16657 BLAKE2B c9064b28677201ead32eaa91f20444251b75e7fc7f512075cd53079fcad54006f531ab4fada27ad7414f57a385441de65def5702d592143916d0106fa8e70182 SHA512 d937e2ef7eb6f58e741f0b1805431fd8cfc583d558fd5b58aa04aefcfc61694503afeca33ad62f6a09b4039555e3199c18d5912b7d5d928120ff631949cfc30e +DIST serde_urlencoded-0.7.1.crate 12822 BLAKE2B 38c74ea862f041828467dfa586bad9b8e1d1d64a9f82fb7f98727e3965377d00e59f2dbf20955a9dce976b6911c0a619d2a6e4cc9dfc73cf0f6c449d873fd072 SHA512 b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60 +DIST sha1collisiondetection-0.3.4.crate 799321 BLAKE2B 6a36035f19330da30fff69ec304c17ca0d8af74673b43dbf421dd9e67f3e522575e7a6780a2eaca3c4e799304acb40eecd0a3909642f03f18996196b3dde19e3 SHA512 d74b317f272ea600659288af786c656005009b7e2fcf060eafb71df07cb3de2b698e74088217ff99fa911a59e00653835cebe6bbd5457e549c3f9015d8dc8d7a +DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST sha3-0.10.8.crate 858216 BLAKE2B 0251020db34e0be3f150d342d055bae00c7fe17e2eb1f5134016389e45a4d3ef35ab8e533f58cedd7e10412955c4a011ba8e604e129fc5bd9a433ff756f0ca5e SHA512 390102cea4cbb0de4fa772a0842cf6d13dadde9fd95c5dfa9e75ebf89e98a2b4bb10f05257797e8f688af78ac42d951cb71df71e3b7ec36e52e2661932479c7e +DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb +DIST shell-words-1.1.0.crate 9871 BLAKE2B 7923b36f0ba50c17ac4eebfdda34566b615291253b7b41879b3f64b3fc1325e63948d3d44801e40748b11ddd2ab201b81d238af2a2007c7a57d71f5dcd0667f6 SHA512 05c280a8e1f65b205746560a82e397689a3b5ec934219b558ece3a25efbfdefe903f9172319240e96039b38fb2c4be6e070805aedbdfd10344d9144b9c93de00 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7 +DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST slug-0.1.6.crate 6787 BLAKE2B 941e41d80d63e13fde103af7a750ecd93992a1ee6bd168a82b67163973f1d088082cea6a458008db26b2dbd77328612e7287955483cd2f50fb2317f34af3e11f SHA512 31f29befdbba462a1e5a34d3ab97c0e2d054869daf76420dc1985c4f9a87098ba0353d52da19476bd848bd8b625b6af94c13303bb25d4cd58f3b90ab133e191d +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST smawk-0.3.2.crate 13831 BLAKE2B 551ed3406db797765034e2ba53d5aa75eec57cce608097eaf0f1a94fd1df8aa8bd248087a8a3b037d844fc91773f74501686180802a6d75165f771ea1f20ba96 SHA512 39f3cab5a6eaaef6f4e7703a6840ce7a805f6175e02968090a58a12d3420f0a144533e5d6542f1e9ec0e36902046a180386548713ef6148064922ff837fa1602 +DIST socket2-0.5.8.crate 56309 BLAKE2B 309e5a0e46d0b9debbbd6049a138e56b82df4fc0e9d1115745ed935eb40c81b004ad748844f641934e13b5b88773db5cc4a57fc9e61dc82b5322fa0232110864 SHA512 b7d03608a3d4cf3e2d1539b5a375412effcc96279e8f57668fa8cf67b3f0a3a6b611ea5e2e72f282460582954acbb5364320611f7798a11ec9e4833e53830b60 +DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee +DIST spki-0.7.3.crate 16409 BLAKE2B 6b39144e4e718ce5eb454e21ee89fb936ffd31ec99554b0150fee47bca396bdfe4ef39603ec029d4af4d8c4c3ba2de7f6c549244f8c20114de9b43ff14921681 SHA512 d33a6a7844b33c37628024ccf25c1a631f7a6661595e063049b8c9a9b4edb28f0335397faefc592c6fc5e96378b870ab5dab9b0649c3387577b2370ec8210db9 +DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST state-0.6.0.crate 30182 BLAKE2B e70fd59581691689c09e03688dd74f1590e24ae0e731682694abfca247c87659f8743e642fe27a4f8fdd3e6721f04eca7ddb643964a50fa1ee3bb0d716a5170e SHA512 88c459d07be79559cf8075d777364dc2b3d2455a03a213372b52499e419a9c3250f3fd606bebde1dca3f6bbbc085156abc1f16d86627ccc162e1fe95058433ba +DIST stfu8-0.2.7.crate 42753 BLAKE2B 0fd14038b094f0351fc80d9de4b8d5f83b047577d0c59af549e7ba5c980f4e7db71b8368dfa29d877c8d834dcb59a752e2234c502914900a97d4a0bf796c83ec SHA512 5584cd8b16b78e6131a6f4f6601fcfafc737bcf614855595e5a2253b20c031045dd48fa5fddc124538f27c031b879be7d71918f588edc273dd52fdece70e3e59 +DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST subplot-0.12.0.crate 133795 BLAKE2B 1ce69bcd9d9fea1e19b34810cd5e3495b437cef05e0e1e725fc7266407b98ccca6cef733009959ea8b0e233f3ba24f3dfc2a259ccb38ff74d39c188fdf5cc5a1 SHA512 7dccbd92b98efd88b81499eb91f046bfeb4207ba5c0360fba1d61b2a9af84ac5d6424f8db27a1dd10ebcdb324e4a253f9614c1eec66c71aaec991ef7bec0b00e +DIST subplot-build-0.12.0.crate 2441 BLAKE2B 34c89dc227b4afd1497a15fd2e56a321772d09ca8c2daddef1eef293de1683667116fa81067f5216967d1fe7f88d91300ee76068d2a0ae1ade6ddede531eb8ef SHA512 a21533926d8c3e227d2d6757a040b29fd25e0d043ce6f45bcb1a0aaab4c7887e5f7849ef5e6431aad89ec500fc3d45e4ec234365bea1cbb16af6bde6e31dc233 +DIST subplotlib-0.12.0.crate 22285 BLAKE2B 0b19358492afdab54432fbdb73f02607277eba144a653a05410fd974c88a9027567a17316e344024b0a976bae12e7432d2dbb2ef645c4fa9212dc3073a18a296 SHA512 cec7b7d48ac46942778846a75cbfcb438b450d5fbfc41a3db1ed75ef5eea71bdf4b0afb719639f591612a3f3fe9a4e5787c1928feef62711567d0cbd743022f2 +DIST subplotlib-derive-0.12.0.crate 6078 BLAKE2B 118fc1f5368c87aa3b6402bc0d628433d0e50ebc3ba2d27cc60ea5d1f5aee9b712a42c55f24b23d2b0a450a0cef3b43bd16277f0630cd5436ff0ddb1f6888bc4 SHA512 ad44ac828ca2759a12b04250cfd986d4e9c38b493556417c38918eb4a92356dfa3263d46ccb19f6462a4d9b8f6b0deeaaf34ecb0e07db4a687c5be8d6170fa8f +DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd +DIST syn-2.0.93.crate 293925 BLAKE2B c36aabae91b4d25149d03d58576dcc067a481ba456ebd6ec9ebe2ab5606e0dc1aff3c6aa714e6a0dd40dd8b8e01d3f48243b6e831f68ed2c12c799b25a347ddb SHA512 0f76fb495402b9d4eda239d65fd4697f77231b702ad4aa1c4d2991b899a092b892c30d1dace92bb54a53f5a7d2baf7637ed3c1804d11c6708987cb1e2b50450b +DIST sync_wrapper-1.0.2.crate 6958 BLAKE2B b2e162f982ea827229dcff468bcf31c6286c57ea3491a909784cdb50b0ba36c3a1a6fbdc7b34fc2aa9a7df1d174393d61ea9dc7ab3439a5e1a1884e2473a70f8 SHA512 aa314a6ab3ba028d2a169ea55a50eecf3b73b475a81c91330430ece9f1734296562627a8c32fad51b5a26796931f364e2803b3a13075ccd9a0aa614d5220903c +DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa +DIST system-configuration-0.6.1.crate 17935 BLAKE2B 9f4d8f60b3b000995b39f9c3a2ab56e6587293dd64c26558763203bde641adf57ce1dc5107b4f73b392daf3997038309e02b3da8c6bb0e4beccc0732becd0333 SHA512 ba7eddeba87d22206c250908f0158120b4984750cf7b2b8d57a50a32b323d3346321c8f2bab726c1d7ad97fc5da0b19d663c0e2db27ff74e3889463639a4ec89 +DIST system-configuration-sys-0.6.0.crate 11090 BLAKE2B 2bc38fa55070e33e762cba4baa7e1f5a637e625c150a821bfdf99c60d08343e83cc26a302f4f70a44cee967bd8b4784caacc15436df82d10e05751831b46c1e6 SHA512 02b1693b8c18ae3484e366a7f7395a31902a026e0864a8ffc7643c7b4a856f912f58f2ec19ba52a50d0d1dc09a806888fa1f3222e1af1f65b8a16eedcc966234 +DIST tempfile-3.14.0.crate 35065 BLAKE2B d155a39f6ed6e846bfd572ffdc73f306d30942642e07f2b497963ae150b8ef774dd046bfb3ce410fa326c8e1df27b0cada804100215e01d02272d6059d5294e3 SHA512 98c1ab70eb3efd2d8b16ed58c8c83f8599663af7ef269304e908a04c38334f659a4d0b1647a13dc0d1eb90a293f1b37ec8ff0b9b45ef5b7ff1b4452bbfcdcb15 +DIST tera-1.20.0.crate 104452 BLAKE2B 8d264f78bf2c9fecd16d94b15def76e3109763f74818f70e0aaa2fb7897733259402103f0416578c36cf1b918e3d734528e0a47a8a1ad5200a4c32f7a1d8ecb8 SHA512 1bea8153253c1c301077bda258bc88ff2f4092efb67066f07b46754df00a01908e5aacaa41df089a73d5d8ffc49e518b6d0312a7d6846d5b548c85298bde6150 +DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a +DIST term-1.0.1.crate 36846 BLAKE2B 722e4479d485e4985cfd45cf9782c8a7a8c4e10ebfe03d8f6e1be27c68c2c49dddaa7e5fbe9514a7413f87ed8748e5e1d071b80e535e615fde0e90feb06e03b4 SHA512 9e3d6d01aaf30896415469b5b1755d0952d2a51533f3516d9546724a8c69e5ddc6a3917f6db89888176549428e7924d1a5fcd504bd800b83fa3ab59e9d54bee7 +DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a +DIST terminal_size-0.4.1.crate 10037 BLAKE2B 1d99577917b88498902d85718b4ba71ddcd7a1daca4f1b38f4b5ea4c34533eab9cda2cc344cdec5a31ffe0152fbcc5d499ccb40dc73f985f083a3ea21b0b1226 SHA512 e07bdbdf695bf9a607ea7c7c4c5b22a8637b0871877114aa305717a04d31a6b7670e2a79435810aefefe25db8c9a655e4c4ba6075d4ec76322a30cdf71ff03be +DIST termtree-0.5.1.crate 8498 BLAKE2B ebe1face80741908e28d3fbf828bd0a7a70bb317f4532fe38ac9b6adae898a7032f751718a39300ecca8c7bf0ea6cca028c02c93c7ce7a645d67656318e90172 SHA512 43d92132cef6d352c6c0190ce4a688d7cffb61ee86dbc6b49ba1f4c404661f9b329331198063d913ae52b2d4c69e6a2d9f5cd62886894c468093abd8604f0125 +DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b +DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899 +DIST thiserror-2.0.9.crate 28531 BLAKE2B 7789458ffcb381e2cf02f182248396c5e6c20a818e4c5a2c7da8a8f50099c548646b51dbfe0630a242f24e9aff65e215a4473e13f63bbffbd80a3429237c65c7 SHA512 b7b5f54cde87c21e8fac3526d5a140c0d64116e700d07eb28714df3db372a42fba30bb37817282d0ee1b5333f1998d1f628d43054e59fc39393fb567c3df4cb0 +DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3 +DIST thiserror-impl-2.0.9.crate 21023 BLAKE2B c2def0cfe9b9854ce33075fc246a2baba386d8f3a70f26516124f5ff4f7dbb0cd0b8887882c491f37652b565ee4fb3e7895a39cf34564a21e96890fa6e3ce125 SHA512 408f6a4c0f6cee36f69fff5a2f08cbd349db44753e6b6ac730c418fa1fc06ba7f69fbf248182af947843ae49d5cb5ff53980cdb18cb850ea8d7d9ac7dc8d67fa +DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492 +DIST time-0.3.37.crate 123257 BLAKE2B 5968d85182e3a945c194c0e405a3c771698472f4b4028a01870e8dedcfc5c10a32e167715c7c12626b46b9ddd758c72e0188b55e45c0396cbaa42a65920ae28e SHA512 6d007507f79c45a7408675b3223bbf83a133bbaf96429ae6a02b5db09acccf884bb8323dc6f3dd05e7ce87a78366a55bafa6c6ba31b04198a31026df4ef425e2 +DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 +DIST time-macros-0.2.19.crate 24268 BLAKE2B 18f0601f5307d310010bea20dc7171adc8600c5b2e6303dc9b38ebfbaa7fb59a029dddb627cf5a5b7fd2f7ed66186dbb5321cad0f90f3f85b6edcc901a8c2855 SHA512 c58aa596247a4cab720bef74ff43be44686db2da2978826a1f9b58c640113b5696efc2ae1746bf84042fdbb94bec42c7fc34f7ae6812478f55849a12a90dff5e +DIST tiny-keccak-2.0.2.crate 20129 BLAKE2B 105a2d2af36cc053cd95721ea563108f33b8a3feb2ae84c75a04a65ed5d548dfe35d8b2e48977a82f725c0ebcf914f21157c547f4a74bb4d98c2e894385139be SHA512 c0219f23361eb07e0a68575c461a36b7286d9bdebae89080d9e259178d402b0c7762ccf33e65a16951ea168392322c44a24eb55189cf143e22d09d6dfc4acec1 +DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 +DIST tinyvec-1.8.1.crate 47269 BLAKE2B d72ec2417520fa0481b8447e6d75e1f24731d38f9083a711185785174a8567c81f6416468b9eabf426f9d32683231e7c5e80202292d1e424f9e4ac9cc8b3e765 SHA512 db32a6beb1c86eb3e9f5ff2732a4acc03d1d684f0e54df5de2ecbfd08399639f47396ae8b17eb5f0122a09ba0c313f39bd73a6f7c44cc38d1891d1bdf3f2d176 +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST tokio-1.42.0.crate 806998 BLAKE2B 9d33a892eb8de63a65218da70f29f21b75b5b9635cbde0ae0667f6de117a4c6660cb2bbc1316b76e9e796960b7dc6c2b31c146f016cc147a2f11333b26391a5d SHA512 3cdc72f3209057cd0f954913f3d26d275246e0a2d63171f84449257de55d1a416c65b340d38a0d0c7fa33bde36bb612f550cbd43a49df22781c84f8ab2bdad9f +DIST tokio-macros-2.4.0.crate 12501 BLAKE2B 9b358adb86e828faeb956d24a1ebf68b51a69bce519ad9760ec3d3b8eb1cf4435afd4edc5ddbf634fe152bc77b8675182dda3f076f1011c5b5b97850c1fa1689 SHA512 f4a445f6c2cc7c1cfb5825919cd3dea3af52720c7793c20601d05870e7efbcfe0c6231fba7ada49b5ce46757f0e1475b3667914ff33c2fcb25e9a40151bd2501 +DIST tokio-native-tls-0.3.1.crate 20676 BLAKE2B 4c752179aab8b4beaa6aa212dc8d9e4a2b7c12be0dbf80406f20f92fd12844a3390e88a1536875596ab44774a67ce35115ca4622f9faa977c80c4261ab4c06ea SHA512 bda2e77671e030a021f628ad760b3fbdc26e7483a5f9ef6c6892ae0fc38b538d52d527805c020d578079896d50fff0bbc036a87cc91604904840d5b7dc181914 +DIST tokio-rustls-0.26.1.crate 31214 BLAKE2B c5829570c90b5d4dffe73c8b3a5bcba799bc48e8b742ff10030805067201848c362fad9f4ff319b003eb734b078389a35420186e90a434464f45dc1b6b3391ad SHA512 0cee6b356ebc4be05c484d459ac457280f41401093ca942cc61a6e6514dd4a48b1cc921f7dc02f9c8bc34b751d4d40d6d4768b21193d5a12c38ebd140bad4896 +DIST tokio-util-0.7.13.crate 115191 BLAKE2B f4acc65d0fd14a88d46545bec2313cb1f25e1cb76014d09c34f8a8be62c6901ab09b18d7b32fdab58f6594fb861bfcb8bfdc8825871347d7eabe2bd8117768bf SHA512 2a1e8fbdd094f81e00ee87eb5ebc4c62825945048105970e52d6d0a872769d268a41ddf91c60158c02a303ecbaa1b19795948b5416f9bbfcb079c5b27d39d51f +DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_edit-0.22.22.crate 106387 BLAKE2B c658eef2dc8420266a6928d7ef46340372af2593e4db0d3a67ec88aaf8f601d37d1e9b5bac231a799be8a2ee68a7d98b5f651e9c109d23d8b19b60cf75debddb SHA512 0f98b371f7e27ae7f435a207c0915f942af145cc5dfabfe6d57f2b797efa3e706025401e501fccc6df70c001ce27051381556b8e7824447edd23ea25d047da4d +DIST tower-0.5.2.crate 109417 BLAKE2B 414f17e97102224f1fdf23a03e6aa958e0a2d6cfcfce93ac3f2e911d68267aee33aa079c94540626ec3fa895e1780e6e5d18b4831f9f05cdf3e8c26ff73b7279 SHA512 e89c4ffd83fec3566334a4c4e9151ddeabfd3437269afc8bffb46201391bc1cdc82cbb97c69643a30f8873e87c511ad9aefc6c081241a4419fe315c99c61ffce +DIST tower-layer-0.3.3.crate 6180 BLAKE2B 20435102dd62113c3e961bb28d7b18ac6f8ec6d5f0051f511e6f5eb044b20016f247ddd1b8eae9dc9f1ee259d8cc31e0bbddd26f5a22fadeea4007a3011b8500 SHA512 edf36671076cd29bb32c29351b648afbf3e7134316988a697c7807db62de7a63cb0339e4db7c0f36ed60d8aced7f3e493318cccc272070c037b01e2dd189b934 +DIST tower-service-0.3.3.crate 6950 BLAKE2B 32ca66bff783eeb015af982b539acb63c9d426b931832b27aa45088382712df3894132a9e6e96fe1ed9d0f9e582b7a25b33e0ab73711acb06b4e134e69158452 SHA512 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd +DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c +DIST tracing-attributes-0.1.28.crate 33280 BLAKE2B 4f4bfab16ad8a296c9399125edfd4314d55ef58977d8a1f3e867618617feed898cd14766527c9b788d5fe3d3f8ee5bcca0e26dae79a2e6cf05366991ac23dc10 SHA512 4a3d5fd76efc414c86af0721aab9e9aa70fcd6b08eed4acee8c2af5af56fd665197aea612187c7f6022d1acf5567d5b9e72a7dcdcf25cc401135d875d95a99ed +DIST tracing-core-0.1.33.crate 63434 BLAKE2B bc36332ffe5f4c95ae2d12df43944bcf589746cdb923a39098e5f4007fd1f19d7c3bb115011ddc40c13e3ae0e5cfc9a59c49861824e99fed7430fd29479abacf SHA512 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef +DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285 +DIST tracing-subscriber-0.3.19.crate 198345 BLAKE2B c7083168e62619c856b872570b85b44475edd687fb6d5c3334246622900fcbf4e4a8484c23362fbfb358d6d9f8088f7dbad2e2ed30954aebf76d1b57324b712b SHA512 840e35103f1152e94ef9138d0f03f157b296def538bab6c7464fa7d363aef7734feed196091782dd3aa9bf06c7dc181a2c37149a23f5be036f00c00b5200686c +DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08 +DIST twofish-0.7.1.crate 12156 BLAKE2B 282ba2e6e4610297a67aff0e06db6089c57edcb0056b4d6592a84b96dffed7e2394c7ef0418e7c0b7628b2b9585b6ce8a0f0f981de36c3f10b8ebd3fa85289a8 SHA512 9f6f9768e0ec227d03de0f95d5baed803a710b286fb18a2fc4e325eb518ac2e483fba6928b14f7b6a38643b0320d6d37fa1f3d2fdd26e805cd23705753cd1055 +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST ucd-trie-0.1.7.crate 46795 BLAKE2B 1901b49ae246f0d9628b675d4320c1005707bf97d4c8b0ff99e916d198e31698fddfdb0551222f36b73b9ec7d9e648d679848841d81e975bb9ea69bd1e30aea7 SHA512 382a832e38654a9159ebb40a8e8bf6e7f2f3108940e5b9c388f3a1441848a241201e7e5cfb125e098f04f0b2893da231b8a0e5124270e774215374bff3c5445f +DIST unic-char-property-0.9.0.crate 6809 BLAKE2B d2bb66259b66e59e831ad74d89528882336a7cf6dfac7a9f49308a70a3d61d5ab88f3ade9df2c086f27ff4a6eae0d2d2b8e63bd154ce3e700cc525769f34542a SHA512 ef969968c61eae6a7d68e6ccb0b40f6618a69bfc4714b51bf4ee8c5ec4532d10b9c6675a4cd5121c904a578ceec7c6471d1496fedbf121059f076ad1c5ccb70d +DIST unic-char-range-0.9.0.crate 7020 BLAKE2B ab79b4298b999a9fbb769bf191f83e259b40b8d06cc5cb82abac48434162216a283fa82c1bc9af8b40656c2d06e5b6a919ff7888852eabb9001a92db12fa48d7 SHA512 bb0ede1695f4f016bdf9ec83bb49639527248c175c71d24993b8651ea6be0a411251ed8518893101dd5e96fd2913cf15ec27799c677ddb08b8e408da06ae0ceb +DIST unic-common-0.9.0.crate 2558 BLAKE2B 4efd81198a61076ed45f6fff73561de21b5b7500277de206ed41cfb01ce8e5046a1e2c5f90ac75c03eb1897b7f54a14cf0a8f6d9cb39f624b3a9fac375468e58 SHA512 9212f99afd4c694a3a671963d63e5349f81adde6d5f50c92ec39d15e7ee24aa91eee63ba578a857c8b21380937860968a8e13cd16bb0ee0c0ccd96b3094ad155 +DIST unic-segment-0.9.0.crate 34848 BLAKE2B cf04b1d875ebc835758b17f8fa0937da8e47b5c3aa3d2389b9ee35160805b1a0696c3a654d68b60a515fd31dba0571b0a087e97f6815ebd075e1bfeefd0a623a SHA512 cc2a27459dca554a78ce24fee42f0e4d0fbac37c42b4c5a1275f9e3b412cd1c813a4b4864857ddc33b549d99f10c9ce9c277b00f9fa7d93f130f5e47106d8fb3 +DIST unic-ucd-segment-0.9.0.crate 39262 BLAKE2B 73a2f0bfeb17ee731c17e7eb4b7188a800fcd3745c5c6480916240d087df5a856e4f51556e1aaee1e6668b216377acdaf4879beee6b285da040f6871f0c04e6b SHA512 04aab71f97785453dce7f561acfb2382a23d60a68735f3664577015a256191463dd6b1f90694e4440c4889eb9b6380c16c7a0ec2dfc2d49fc44a284eeca43c09 +DIST unic-ucd-version-0.9.0.crate 2246 BLAKE2B c546ee182387db997e6cd699a25bc201fc943306d8e87f96edc1a3dc1cd5ab8ad96f34e8275721a5604765aa6fb6f81e3d8d9eae690d04e5ba71325a769b065b SHA512 153219ff18be02e23ff3dc90bba11fa8c7cda11b972e0d84500d9a0742fb7d84466f2cc63ee278a24098c39634e50742af3317cd942f4ea882ef5a2a8e003d7b +DIST unicase-2.8.1.crate 24088 BLAKE2B 29fe558490245cc1f9c551ba524ab452a4ea18d5f3e5763bc58e6b4c52e21bb8bb5e3f16df35bb96652801c3d96e53f8a39cffd31a0cfd1c83f0fa3161f4ed4d SHA512 99a3944a5c987376bdea5fe6c0797e881bc8e6f629c56120ce811c8ebbed0a3ba24617decb74d6939699c8fc994c662eb292869ab407c0ba0ec460a32ede0190 +DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a +DIST unicode-linebreak-0.1.5.crate 15324 BLAKE2B dc560d5b36ed01357c22750feb7f09fd0f57fb0ea543180f6e31c0b71b51df4faaa70ac8482f9cd60e5d1faa5bfd4bebfbfd628dd5913c2c4a858ec04beeca3f SHA512 f37be2f7b04b886e95bb7d0f33bd392b78bb940ef9a01cec487062cf31ec0367306650fad7004df556887a324c714eeb28f697044aad9a429ce07b7b7344af60 +DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb +DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d +DIST unicode-xid-0.2.6.crate 15744 BLAKE2B b1bad25897717f6346f988d5a7c90c51fb842da113f19aa434a64add8f2e637258d9fab0f7b871fd2aac02e83c68359fc679b326232793cbc804523e2bff5056 SHA512 f68e78484479a5341b14d7e3391e691265851fa00feeca53af745479af6aa9b4ce3570456df785c8362043db9b04e2e57f9bad05d8305946f16af405bc611764 +DIST universal-hash-0.5.1.crate 9146 BLAKE2B 9095f95faa8ed4128c3787226f3899acec4278d36799ae30a7ca71ade7179c274a1807f62605e687e60ee97e6bebfe818100ed0441db455bdee0f8e5dd451809 SHA512 83b3ddb1f0d7ff621ca2b3d426c2e682d8339a2adedbbbb3a4584977e2e996549d665578729bff65b5693059460e9e04b9df2181c404980d3b3d946c80e0b589 +DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416 +DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d +DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa +DIST utf8-width-0.1.7.crate 2977 BLAKE2B 319871431fd21dc30f812460ca69bf0f3b1f6f9bdf749e4ab650eee1597e3a86afebeb646f4abf4b32ab661142433eb9bd2b0917d0f5c0a93d154168c2ea3278 SHA512 ae870bc338bc74f9e214acbb31155ed37e3c686abcda81e7a3f9b8440d2782e4b29efa6d1a52afb22da390f3e64f012380f18ba1e3c1a37bde927812c361909e +DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db +DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526 +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.99.crate 46136 BLAKE2B 04e69294da3dc4feff9001185bcc5b864d1f14a1ead6b9a31c830b2043dde191f9f7c65755d607365a3b8885bd340bbd266e26cfa74c48464933c8d7a1164f94 SHA512 184aec11998b99a730ea5b63d6141260cd0b7cdc29b02696f533b3e75ec79f7c17c6aac892e7a7b24036c6e73592d01df638ca31b54bda11d3bdbf857b1489c2 +DIST wasm-bindgen-backend-0.2.99.crate 30928 BLAKE2B ecfa94a461df79a33fd2bb9807374a2a0c7ac370b443e5a1103ba73a29c9d337ed3feb427c80571ccc15599f81135987742e698199528a9c1bb570baef3e9d09 SHA512 8369a5e618223f09fff7cdc35662a930b3eb11024af51bf5fb9e70c45dfa22452a518d723f3d912c0c970fc4bf748ef2d83d48756483174993f7d04c92d9621f +DIST wasm-bindgen-futures-0.4.49.crate 14838 BLAKE2B a549a84dae70f480e387e01b4366994404370ae8f0989146d8548106267884096442d2fd6bca0a8cd22e21a3eff6b16aca1edcbc23c73af757a043311aa49081 SHA512 e141d6a97d2bbd6c54bc23d4857124d6e43ca1ab51c37e867287d771fcc0d8b7a2488acc56d46202c2e9b2380684ebeed688e7322175dae67475b77fb307ebda +DIST wasm-bindgen-macro-0.2.99.crate 7011 BLAKE2B 07182a9fb98f519d1e5c934e609d7a42cf2409319f59dd901e2a5bec77972b4d16fc6f67cf40ade58af874b05faa981c894443d3950616e2aad117ac7355ac6f SHA512 344bf5192e43582246efad257c600003c41b589234c1900f6ed201f96b6f7665eb55226da15d612060042f89c6214e452489cf3aabc61645843be9c27f9cca0b +DIST wasm-bindgen-macro-support-0.2.99.crate 22800 BLAKE2B 9772cc94a64f768eecae12072e6d700bf95fded306297b84e235f3450f7c5630cb1985def3eaef05aee193c693f92c6fa61d7a6ca18e84a2b73aa38f070d47e7 SHA512 936ab8211a13fbe8b8f21a870a78c03e24219d0872731561353cfcae245e9f632246f179b67f2b13e106c799e68c5c39f9e388370a8ad3f93f299c4804f5907e +DIST wasm-bindgen-shared-0.2.99.crate 7773 BLAKE2B 73489af59d16f4d0a1ea51b535cd02d2759b5b7b07873d8a71fa6bd6b6ce1cfc6e8139e6a79346abec13665ed9aeadd0b5b6aed28ae008f9dcb3d5da9fce665a SHA512 8da0f107be99b6666cf1859d68ac0a7295fc03e7b494fce1df9dbe57d21807de8e2bc95f5b974562303923ca4646f38c5297588ad7c97bd59ef236218b2a64f9 +DIST wasm-streams-0.4.2.crate 36773 BLAKE2B 601f8bc4bf872943de47903de57c9e833afa2500d7e30205046ee02a8a2a8d6486b546117009e81f399f9ece69de89145fff85557ae87d37f989095bbe2046c0 SHA512 f93693b41220e819c4efce0fe756633f1aaffbb57b8a9c028031a6b02a7a221ff4d5bacf162a0b301b55794745ad1f4c97a7bbd46ac396e1518689c0639ecd65 +DIST web-sys-0.3.76.crate 635842 BLAKE2B ecd166e739e4ae4ebccc51fe0d429723ed7e4209bc9bd4658b5447486d7d58d8f2d2a6186e433e8ff11e7b52fe159d842a28de6251d61cd5f5876a92a7d945fe SHA512 370fb49edffd9ce125f77a9451389dd23ab5b70fd49263248d5794310ed757c28839a29436111df2fe6369ae8d6af56a64ac59af5258743cccfd9d18cd07dbd1 +DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f +DIST widestring-1.1.0.crate 85046 BLAKE2B 591f8ba6c3c45721d342fd4668805c19915d500b2b46b8e1e75a485ebc772db187acec791205415e5cbf288ee70299a5813a3185d933443d426eb61d7fc6003f SHA512 a4feb959e19d5238e89b0973f040b26849f896e7e9fd567d0e74fbb4972958a4dd76e74de5ea8d407b74cff28f20f9c80446488da6abdbee38aa87a94d683435 +DIST win-crypto-ng-0.5.1.crate 44667 BLAKE2B 112a40af7aaa7d3e1c6d6eba99f3eafc7173a10f149e122eb5c658619f6898add8086ab8523695b8433bed89952d70a63e6f445b39ad4e9bd64ed98931002817 SHA512 735d245c56928db70dd4ca0b95dbd8be9f3b55dcd88961549dd51cf8e671eaa3a203b76a1e2ba073ed8b0042f9aea08fdff505f7efe19d8b2153589f9e811692 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-0.48.0.crate 11864177 BLAKE2B 39c0e4f058f68a829ee08721818a0b04287af20dfe6e03a125b75566b4c8a58b56557d685600f1f9c215811154f9782f12368d42848445d54dcf9bfd6471349d SHA512 7c906f885fa0a730f1cb1ef4e62f5b602a49d44343febe1d38fcd4cbc28e0342766983796042585fe457aa229333558715b6270e378946faa8f398a7ecc2af8c +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-registry-0.2.0.crate 10470 BLAKE2B 65deb9af12935a537d3334c026b6a6430c9ba5d14152bcd5da03fe6732cc3df60567c8b6f61af844e2c202337eaf5ccdfc74abd498c126c3d9328666b727d61e SHA512 bc952f9cc8dfb90481a7d7951b8b08eb64e049cb99239a506319fa4ef332563b8064926218195b2062413671e35a13ba642bb3144bbf8436eca8c8fcbaaf7669 +DIST windows-result-0.2.0.crate 12756 BLAKE2B bd61fda1930933bfc9c55981b399c1f9d6d674b47ac194f413de8b4e69e476d9db7da2edd2990ce7918dd5ae28d42927bde1c8858a8f8dcab1ce9d5871d9e3dd SHA512 a8e52682e8b22f6a3d9b6fc759b69a7e1a093c777303b7fced725023b4e91dab4c5a07f8415222428e04fcaaffdc49d2b2738bac5f6a0db374cfc3ff9c540b55 +DIST windows-strings-0.1.0.crate 13832 BLAKE2B cf824e6587238df812470695dc623dbf8bed115f985ef62cda86f7a3836fca47fe0360b5bfcef81494617ad418588775673fbb8037746c75315ab6824bd3ac18 SHA512 f932d81985d7ad7598006e1271ebf2e7275b20a46cca421697f4a8517a2878264b6ece79dd684c6ecfecac0a61311d99137aa2d5c5944bc419a66749c4b99604 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.6.21.crate 164981 BLAKE2B 7621e7a0af704ad0295c210d7c9d32c4f2a93e56117dbccc50de4049eada9b908ff366bd5f6d58de04d2fe4601a2ffacc78d34a24089cca9a087c074de14a99c SHA512 0905430fc2c080be002cc41ea737c182e1b5100b699a3bdc45e58bbdf9fb3448cf0c3da99c033545deb3b983ccd938d300675260ca1fae51096b6faab9d10800 +DIST winreg-0.50.0.crate 29703 BLAKE2B db9a968ef96cc07bc1088831affc4627e09c7ab8170a54fdf70a599c2d6180a8a9ac46b6304b61fdd2fac96e01bb004ebd8051940300c7b52c5b7b7975732d11 SHA512 2f52a9e3ab794665263499c88dfdf06009c6477d180a90ebbe86e786ae7f5003c9dc8b3c26224024e79450f3b94688000458f2ea8b1ae1c3691453c3d4df4787 +DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 +DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 +DIST x25519-dalek-2.0.1.crate 87820 BLAKE2B 039749d0278d95996016260f9e32162b370594085186044665685288d879e067fa16a5d4d42e939d2bd05f7b47a81036cb4f573d841cc81ece078c7a08eb672d SHA512 13dde8a8d4772dfccc3849a37717828ff6fdf6b4deaae86b5d6bbfce9b6dabbaf039d95c163cc6764447d503c1a62d602ae5b5d1f7204cc002d3fb13ca85acb9 +DIST xxhash-rust-0.8.15.crate 21515 BLAKE2B 0d82ffaecfedc3001e4273c7cb3211e847c110334c0558099c02c2457ccc1f6381b5b1c9c13ec87236e23f4e5551e3cb09101bca75358481ed7ae8ecb83d4866 SHA512 80a73a93249cfa0043a743e883f078d9e4bbedc236dec239d9f89b6816715c614f212930fe8842f0598275d2676a0e406a1ab7101158c163f50b9d1d00265925 +DIST yaml-rust2-0.9.0.crate 136382 BLAKE2B b3da4b67ac428aa6875bcedfb9ace38150b2ccb2e438ea5a175d292593ecfafa54139655e047406301ea2f449ef86fc664fb52638e88f9e85ee999d52f64c5a7 SHA512 7dfb211232c469621f842eb1a90343485ccfc46612dbb85b65892cfd3d326b6d53abd12bb10da2545e33ff8cb67289c3a1fb2943eefeef428d7c715fbc4494a2 +DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef +DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6 +DIST z-base-32-0.1.4.crate 14008 BLAKE2B 099ed86e96c8434f1784c8e80143de91a357fdbf9db096fc461daa13de031b8561dac5e6cc1ab6edea1732b50e2dca3e15541b09e239852c04cad82e324dd96e SHA512 83eef93391d22782fd38ba30957a5569a74e7be529354eed3b24da71eb958a7bf17da7b3366e4f204accc2145a967819f0a07ae33e021063640ce9ffce7534aa +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544 +DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298 +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zeroize_derive-1.4.2.crate 11141 BLAKE2B a40add656369a3a40d5b5f3397a77a1e9f803d4b8ae5b7d51c9f2ebb332a289b3c1ea528655806a26998e081a1cc9f4b07828664542de8d8d2619faf079d25c5 SHA512 d6966b024ce5e265c93e7056659ccbb97bbf6baa30f759fd96dc4391a6487426637f61f0a2713b6160019d778cf7d8ff1f25bb33d6c4f4585b990baae418b226 +DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 +DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 diff --git a/app-crypt/sequoia-sq/metadata.xml b/app-crypt/sequoia-sq/metadata.xml new file mode 100644 index 0000000..8754f11 --- /dev/null +++ b/app-crypt/sequoia-sq/metadata.xml @@ -0,0 +1,18 @@ + + + + + Florian Schmaus + flow@gentoo.org + + + Sam James + sam@gentoo.org + + + sequoia-pgp/sequoia + sequoia-pgp/sequoia-sq + https://gitlab.com/sequoia-pgp/sequoia-sq/-/tags + https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues + + diff --git a/app-crypt/sequoia-sq/sequoia-sq-1.1.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-1.1.0.ebuild new file mode 100644 index 0000000..30b055a --- /dev/null +++ b/app-crypt/sequoia-sq/sequoia-sq-1.1.0.ebuild @@ -0,0 +1,601 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + aligned@0.4.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.18 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.6 + anstyle@1.0.10 + anyhow@1.0.95 + arraydeque@0.5.1 + as-slice@0.2.1 + ascii-canvas@3.0.0 + ascii-canvas@4.0.0 + assert_cmd@2.0.16 + async-generic@1.1.2 + async-trait@0.1.83 + atomic-waker@1.1.2 + autocfg@1.4.0 + backtrace@0.3.74 + base16ct@0.2.0 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-set@0.8.0 + bit-vec@0.6.3 + bit-vec@0.8.0 + bitflags@2.6.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.11.0 + botan@0.11.0 + bstr@1.11.1 + buffered-reader@1.3.2 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.9.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.5.0 + camellia@0.1.0 + capnp-futures@0.19.1 + capnp-rpc@0.19.5 + capnp@0.19.8 + capnpc@0.19.0 + cast5@0.11.1 + cc@1.2.6 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.39 + cipher@0.4.4 + clang-sys@1.8.1 + clap@4.5.23 + clap_builder@4.5.23 + clap_complete@4.5.40 + clap_derive@4.5.18 + clap_lex@0.7.4 + cmac@0.7.2 + colorchoice@1.0.3 + console@0.15.10 + const-oid@0.9.6 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.16 + crc32fast@1.4.2 + crossbeam-channel@0.5.14 + crossbeam-deque@0.8.6 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.12 + crossbeam-utils@0.8.21 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctor@0.2.9 + ctr@0.9.2 + culpa-macros@1.0.2 + culpa@1.0.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + cvt@0.1.2 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + des@0.8.1 + descape@2.0.3 + deunicode@1.6.0 + difflib@0.4.0 + digest@0.10.7 + directories@5.0.1 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + doc-comment@0.3.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.13.0 + elliptic-curve@0.13.8 + embedded-io@0.6.1 + ena@0.14.3 + encode_unicode@1.0.0 + encoding_rs@0.8.35 + endian-type@0.1.2 + enum-as-inner@0.6.1 + env_filter@0.1.3 + env_logger@0.11.6 + equivalent@1.0.1 + errno@0.3.10 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.3.0 + fd-lock@4.0.2 + ff@0.13.0 + fiat-crypto@0.2.9 + filetime@0.2.25 + fixedbitset@0.4.2 + flate2@1.0.35 + float-cmp@0.10.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + fs_at@0.2.1 + fs_extra@1.3.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-util@0.3.31 + futures@0.3.31 + generator@0.7.5 + generic-array@0.14.7 + generic-array@1.1.1 + gethostname@0.5.0 + getopts@0.2.21 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.31.1 + glob@0.3.2 + globset@0.4.15 + globwalk@0.9.1 + group@0.13.0 + h2@0.4.7 + hashbrown@0.14.5 + hashbrown@0.15.2 + hashlink@0.9.1 + heck@0.5.0 + hermit-abi@0.3.9 + hickory-client@0.24.2 + hickory-proto@0.24.2 + hickory-resolver@0.24.2 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + hostname@0.3.1 + html-escape@0.2.13 + http-body-util@0.1.2 + http-body@1.0.1 + http@1.2.0 + httparse@1.9.5 + humansize@2.1.3 + humantime@2.1.0 + hyper-rustls@0.27.5 + hyper-tls@0.6.0 + hyper-util@0.1.10 + hyper@1.5.2 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idea@0.5.1 + idna@1.0.3 + idna_adapter@1.2.0 + ignore@0.4.23 + indexmap@2.7.0 + indicatif@0.17.9 + inout@0.1.3 + ipconfig@0.3.2 + ipnet@2.10.1 + is_terminal_polyfill@1.70.1 + itertools@0.11.0 + itertools@0.13.0 + itoa@1.0.14 + js-sys@0.3.76 + keccak@0.1.5 + lalrpop-util@0.20.2 + lalrpop-util@0.22.0 + lalrpop@0.20.2 + lalrpop@0.22.0 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.169 + libloading@0.8.6 + libm@0.2.11 + libredox@0.1.3 + libsqlite3-sys@0.30.1 + line-col@0.2.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.4 + lock_api@0.4.12 + log@0.4.22 + loom@0.5.6 + lru-cache@0.1.2 + marked-yaml@0.7.2 + match_cfg@0.1.0 + matchers@0.1.0 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.7.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.8.2 + mio@1.0.3 + native-tls@0.2.12 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nix@0.29.0 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.3.0 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + object@0.36.7 + once_cell@1.20.2 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.3 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.104 + openssl@0.10.68 + option-ext@0.2.0 + overload@0.1.1 + p256@0.13.2 + p384@0.13.0 + p521@0.13.3 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + pest@2.7.15 + pest_derive@2.7.15 + pest_generator@2.7.15 + pest_meta@2.7.15 + petgraph@0.6.5 + phf_shared@0.10.0 + pikchr@0.1.3 + pin-project-lite@0.2.15 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.31 + polyval@0.6.2 + portable-atomic@1.10.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + precomputed-hash@0.1.1 + predicates-core@1.0.9 + predicates-tree@1.0.12 + predicates@3.1.3 + primeorder@0.13.6 + proc-macro2@1.0.92 + pulldown-cmark-escape@0.11.0 + pulldown-cmark@0.12.2 + quick-error@1.2.3 + quote@1.0.38 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.8 + redox_users@0.4.6 + regex-automata@0.1.10 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + remove_dir_all@1.0.0 + reqwest@0.12.12 + resolv-conf@0.7.0 + rfc6979@0.4.0 + ring@0.17.8 + ripemd@0.1.3 + roadmap@0.7.0 + roff@0.2.2 + rpassword@7.3.1 + rsa@0.9.7 + rtoolbox@0.0.2 + rusqlite@0.32.1 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.1 + rustix@0.38.42 + rustls-pemfile@2.2.0 + rustls-pki-types@1.10.1 + rustls-webpki@0.102.8 + rustls@0.23.20 + rustversion@1.0.19 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.27 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.13.0 + security-framework@2.11.1 + semver@1.0.24 + sequoia-autocrypt@0.25.1 + sequoia-cert-store@0.6.2 + sequoia-directories@0.1.0 + sequoia-gpg-agent@0.5.0 + sequoia-ipc@0.35.1 + sequoia-keystore-backend@0.6.0 + sequoia-keystore-gpg-agent@0.4.1 + sequoia-keystore-softkeys@0.6.0 + sequoia-keystore@0.6.2 + sequoia-net@0.29.0 + sequoia-openpgp@1.22.0 + sequoia-policy-config@0.7.0 + sequoia-wot@0.13.2 + serde@1.0.217 + serde_derive@1.0.217 + serde_json@1.0.134 + serde_path_to_error@0.1.16 + serde_urlencoded@0.7.1 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + sha3@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + slug@0.1.6 + smallvec@1.13.2 + smawk@0.3.2 + socket2@0.5.8 + spin@0.9.8 + spki@0.7.3 + stable_deref_trait@1.2.0 + state@0.6.0 + stfu8@0.2.7 + string_cache@0.8.7 + strsim@0.11.1 + subplot-build@0.12.0 + subplot@0.12.0 + subplotlib-derive@0.12.0 + subplotlib@0.12.0 + subtle@2.6.1 + syn@2.0.93 + sync_wrapper@1.0.2 + synstructure@0.13.1 + system-configuration-sys@0.6.0 + system-configuration@0.6.1 + tempfile@3.14.0 + tera@1.20.0 + term@0.7.0 + term@1.0.1 + termcolor@1.4.1 + terminal_size@0.4.1 + termtree@0.5.1 + textwrap@0.16.1 + thiserror-impl@1.0.69 + thiserror-impl@2.0.9 + thiserror@1.0.69 + thiserror@2.0.9 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.19 + time@0.3.37 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.8.1 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-rustls@0.26.1 + tokio-util@0.7.13 + tokio@1.42.0 + toml@0.5.11 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tower-layer@0.3.3 + tower-service@0.3.3 + tower@0.5.2 + tracing-attributes@0.1.28 + tracing-core@0.1.33 + tracing-log@0.2.0 + tracing-subscriber@0.3.19 + tracing@0.1.41 + try-lock@0.2.5 + twofish@0.7.1 + typenum@1.17.0 + ucd-trie@0.1.7 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-segment@0.9.0 + unic-ucd-segment@0.9.0 + unic-ucd-version@0.9.0 + unicase@2.8.1 + unicode-ident@1.0.14 + unicode-linebreak@0.1.5 + unicode-width@0.1.14 + unicode-width@0.2.0 + unicode-xid@0.2.6 + universal-hash@0.5.1 + untrusted@0.9.0 + url@2.5.4 + utf16_iter@1.0.5 + utf8-width@0.1.7 + utf8_iter@1.0.4 + utf8parse@0.2.2 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.5 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.99 + wasm-bindgen-futures@0.4.49 + wasm-bindgen-macro-support@0.2.99 + wasm-bindgen-macro@0.2.99 + wasm-bindgen-shared@0.2.99 + wasm-bindgen@0.2.99 + wasm-streams@0.4.2 + web-sys@0.3.76 + web-time@1.1.0 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-registry@0.2.0 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.48.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.21 + winreg@0.50.0 + write16@1.0.0 + writeable@0.5.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.15 + yaml-rust2@0.9.0 + yoke-derive@0.7.5 + yoke@0.7.5 + z-base-32@0.1.4 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zerofrom-derive@0.1.5 + zerofrom@0.1.5 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +LLVM_COMPAT=( 20 ) + +inherit cargo llvm-r1 shell-completion + +DESCRIPTION="CLI of the Sequoia OpenPGP implementation" +HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 + Unicode-3.0 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sq" + +COMMON_DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/capnproto +" +RDEPEND=" + ${COMMON_DEPEND} +" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_compile() { + # Set this here so that it doesn't change if we run tests + # and cause a recompilation. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + cargo_src_compile +} + +src_install() { + cargo_src_install + + doman "${asset_dir}"/man-pages/* + + local completion_dir="${asset_dir}"/shell-completions + newbashcomp "${completion_dir}"/sq.bash sq + dozshcomp "${completion_dir}"/_sq + dofishcomp "${completion_dir}"/sq.fish +} diff --git a/app-crypt/sequoia-sqv/Manifest b/app-crypt/sequoia-sqv/Manifest new file mode 100644 index 0000000..ac7a861 --- /dev/null +++ b/app-crypt/sequoia-sqv/Manifest @@ -0,0 +1,245 @@ +DIST aead-0.5.2.crate 15509 BLAKE2B 0214f3e8ee85a7e18c7d20f9a3fcbdbb9e5af6fdfdcb427e915279b505556dbd2df6d09d5c90561417c56796236a56ab24b2b11389745bc03a0a6da45c0e8636 SHA512 61926a615618e64efd0e9342d729a89f80d6e092dda50e018252a06147e2ca0dc2a989136416f57ae02019695757dfa3d3f3cf3799f138e440662744ecab4a44 +DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79 +DIST aes-gcm-0.10.3.crate 148991 BLAKE2B e1376b741386577277a8cb9535c1ad3e15ea383c0f324bc5cedff09a76b11f2c9e29226535688f9431e904bf2800b8e140c4b1cab333e572208eefd19ca897f1 SHA512 f9aec1e2609262c30921bf83cdd82117d147905d4ca311f9fef4b9f1734d3a57893ba2586f0ccfd39cf9264d347ba2c2d2c52b4726495eda8fec7fbec42d6db3 +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.13.crate 30928 BLAKE2B 0c6d0932dc486ccbe8d7e6f97bd8aae03fb84d4db90d0488070b7109de673e0af845a70a39e546af87f71f4c7f7bb159ab8ed68ac0f03a0297457062d9d69dc0 SHA512 4f9ccfd135de9be22a01230f39d571c8d8ccf7c3eba837fbf0868c9660693b60ee0c1c2f9490a587d5307e892ed45cb946da7a0690a9f972619c94fb050bde09 +DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa +DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399 +DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc +DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931 +DIST anyhow-1.0.76.crate 44259 BLAKE2B 7be61550d78bafe866fc90dd1643cf335110e1f41faaecf295c5433c81894e7398f31f825394aa13df783a3bde3aa6dc11f129d882f0e452a635cfe88b77b84e SHA512 53f2240f952fd806ad0f247b1ee26f988cb8e237e067ddaa12e67efc8d2477ecc5eea0e7fbe59a7f35935185238b184860e3c594c67a96856b0c6407a09cad55 +DIST ascii-canvas-3.0.0.crate 10575 BLAKE2B fc40c40551e3e1b2bec6ae5a85ee8b0a1ab1ef3425cdd19ec6dd47d849205004781a2c8f51470417fe7556cf8524cc63b84a532532c5081604adbcd92d286b44 SHA512 216056640604f5faba6d46e2c94ff75234fec83d3bc2dc7cf34dd279706362874e3a513c717b23bc591da07cc3088458913c4e9aa5f280550c93d261095c8703 +DIST assert_cmd-2.0.13.crate 23917 BLAKE2B 72fbb8afc12429a96c89b07dce8b2a969a1c2656aedf19ac9cd2bd1e5d5f29b3c558616858ad01a86807b787c88efc556ad432a55b59b0df5b4bdbeb9b6ab05e SHA512 3599483d28f1893945b63d693f38d656724f382ac7a0c2cb0773d72e6bba3dcc9137cca51575fca984c2435b081cd6ad68ed5d1fa04e606484926528cc41a305 +DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc +DIST base16ct-0.2.0.crate 10240 BLAKE2B a8097674e84bb85fa72ea752d71446fc39e695fea9acc0f98178bb4e6569180f9acb4c7a9820708359d1c4733b57af6448015cce83f8c610985e6d2f7858fc33 SHA512 efe7c810102646733cb24c5cab62bd58d797e77b117d0fa5d651c34630f77de4d768fb99c981af5968393734bc32a2c1944a719f9f1a192b5062c0af8bb3413a +DIST base64-0.22.0.crate 81568 BLAKE2B 55e6bf8888de846bc14010fd706686544a1706dc9cea034435b5bf97bbbfcdab57210e69b425c9f2adf7b088b6f2cbe0f8148077a8be3aad88114c404738682c SHA512 116928d2fed66b43ecc8ffb4e1cdafb1aec3005e0034e2cacf1cd3cac7a591aed8e423fb2523900c25a4592ada49d3a0e438703afe7bb66dd1ab9fcaade24000 +DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c +DIST bindgen-0.68.1.crate 218997 BLAKE2B e3706a992c166c16cd8b8ef996b2eba6a0d67f493825e7257ba660f597de33002a32df7fea0fc2508fb47155f70ace0765e9ac4e4649d1f24b2bbac8ecf06d8f SHA512 29520e30db93ef3e239273854c926eba7bbbe2ec70e5162a4722e03947461510732319bfcfc20d5dfc0df137d69e8c1ad97daa0236c5bd4da8a1679bfd696a90 +DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 +DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9 +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST block-padding-0.3.3.crate 8504 BLAKE2B d62481c25fd8680cdf0ad0bc259bd3777c3985ee91d5bb4995f484a15d4a9bde21c5d20f8c2efd0eb340aa0b8c7faac0f3fd817202ef4350d17994f478715eae SHA512 0849c99f2027f4e1a12872d2210310e9669f98929c99690febfeec90c0199b2274e20a5f83824f200f75f2553be2029ca85b0c5d0db4d9d477ffee9a71dd3b7c +DIST blowfish-0.9.1.crate 16734 BLAKE2B edb9ef86b168259d37ae74ca5f961d4a2f79f0bd83c64a157b1605655001a8e82a1b40b0e03a24719dd9cc273fd50d1ad6a406b47b1925a9c2c687c119bcae0c SHA512 e005212e2cd0233321f1e84170829c6e05b4f4e47b81342e0fef7e12ac05f09dc6db288b6b28ea2826e9d19afa49366b74b186f2f20db6da77b57f09e124e3a8 +DIST botan-0.10.7.crate 40376 BLAKE2B 63332415636f353323b72a4a2aec2910da4da71adedbe649b753b8d8531a4b10054aea588e216ae2a240bcb91873acb63cef2a1d34c364bbee383dda0f24718e SHA512 a03e0a76b8bc0bc777bafc3e2df7667dc78fffb35dc3bb227773aa23b3ebef872efec9d5144513940dcd44e18ddd87d881806803ce3736c73cf96221befe16c5 +DIST botan-sys-0.10.5.crate 8245 BLAKE2B beef1579600f7fea44b7a701cc29b2f530cd1da8da6090f1cf8fdcc00e68fab711064b0d037604796aa0633f2e71495f8cbcbe69047ef773098a36ffe2069867 SHA512 6f22a5c42e4b13ae2531e1b46ad0d93c62faf96b056f80a145370816296fbf33c93c2dda94736afca7a73bcfd336003a39171c359723e05bb5c269ebb4784339 +DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172 +DIST buffered-reader-1.3.1.crate 63723 BLAKE2B 7a7553b5994c01666c95a678712005ed3c02fbf8f0b45d80f2e80b2bd46c5993376b16f5d89d50a7cd915aed9da6dc164901c6e62091922e615bc8b9284f3328 SHA512 4b7efde96c2db48f8452e56a904b1fc865b7317bcc324c10c0a23147b96eb14cd5097b3178910a1a74d54948b50d6499fa7f5c8630274a80ff05f1eeb2c7054f +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST camellia-0.1.0.crate 89085 BLAKE2B 88f67a01f18e236a8ec2613cea4f0d38fdd65b2191e5478bd7c1155feb45832d693bff15ad4b880651cdc9c74e89cdc0131548864b2c51f7cec38ecb11b5d113 SHA512 b851c285509d21ed02428ab45378dc145959bd196ab75daebb7df60bce3b71e059d4dbb5639697ef21fd6f7554c122cab8a5702b1d118c743fe02f65054f66df +DIST cast5-0.11.1.crate 37018 BLAKE2B ed3d9283131df32dc18a5e4110a325b7713936e109b43bed8da0d22b0afe81a0f00c9e4fab0bca1194c93fe6f0bf326a5474af6f9274c310632b93d24dc9328a SHA512 0fe363b576ece2661616c47c4de1801756c5aaa2a56c720a7b4eedf23e031ba9d30af9d086a16b0f957c39b473cea1f059295dd1c776e9a9cd4393e6c895d015 +DIST cc-1.0.94.crate 76456 BLAKE2B bf72e0007d9fe022a66ccc12be48acbc5dd1b716a47f18e4062b415405140764db6ed26bcab071307142167309c9c9ab55382c7973ad43fd15d06e3fe6b24b69 SHA512 67ce0e73904cf7fac81b0b914ec5fd4d9e59f358602199530f51d203a2e42be9814b04f65497a644a0e2720cc6e58c5e4bf1ad4782ded35b710b22c9b0f2bee5 +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfb-mode-0.8.2.crate 25334 BLAKE2B e004871204d40258a052b7771f6d770f710857fd7355dd87ceaacff49ad0be2b3bbcbc8b439bff054432f336792e11e312b8bd472eca53e58036dcc4bd2f3286 SHA512 14bf9367317b2652cd070572f2a7d5f98884064a2d42c8841fe4a966e9944c8e5df3e14244c16a78a32ba8e2fa3df9348427d2f0ca6632df07fd24b75cfd7099 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846 +DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81 +DIST clap-4.4.18.crate 55269 BLAKE2B cb5d4b093bb7958d013b28ee25f9cbf0479ada392b81265834d75a5fa2e6a4a687f8d4a71520d5bdce05785a874ffaa09beb5707766d59e70928dab00bc122ad SHA512 1f151864b92dcfcc69a66c2a8aa8310ce28171895698d82e2e69e19a6b51ed8780e5eaa77410df9aae2d17c9b45117b913a4c23ef879106c1b7a96182656ebb9 +DIST clap_builder-4.4.18.crate 163538 BLAKE2B 9991c1a8aba5feda466fc878f9415ad9b5922ea1835c17e1dd6c640234ee85e623bc556ba0e4edd84100a0879ae462028c74304465310d69f9d58e333c2ba8a3 SHA512 ff04ce8e700d8df4a0ae94e8341c3bcc1ebd415312e3b21d56e6beadf604aa5576641861506fa1c901a615a013e4f30bf8e6467889d637b34fa37ef22e2a15c2 +DIST clap_complete-4.4.10.crate 37761 BLAKE2B 41364c37c96e82bfdbf0fde377512e894ff720542ded85fe49da4e305ebfdf39a2d511a48d6662c0ff2e3d191ea95c59704dbfe89e7531a969be42de9409e82c SHA512 d0f541bd167c9f755f149e5ab3171a4b5a9e4a37dba2de62ed51eeaa20691eb7602ef0061392cc7e4ca3594a0a69a7eeec75bf65f14e92fa6bc45285725c3f1b +DIST clap_derive-4.4.7.crate 29046 BLAKE2B 96ca919b8f9901b2e89c58ee8cf8bd3881ff715ac27999c03c867b317321e4839d9e923f68d411a05b45c34d54557af12b8a173f2445732fb6de16f30dad8e2b SHA512 4be40460468f7ce22906cdc9eea8d01bb07cb206d4ce0c3df2abd929d6925b175a49cf63907925ca16ae6297d6f4d933087fa5b35958e551117ec7ae050be167 +DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e +DIST clap_mangen-0.2.19.crate 14857 BLAKE2B 713c5a6b52c60f2310c4f3198f39e7ff97b5eec2bffec0ae8c885472caa7bb9d26e99a31e2c02587899ed5f825dee2d739f0c927ba8e27bd3d61e22e1830a4c7 SHA512 2e6961efe2ac33278ab6312ee3bc2ae9faa098787d9086b7e33901e1df91776e75e60ab0efe6c73c1566e39655eb6eee8cc331b4001d06c87aba1e0ef8eb0ed4 +DIST cmac-0.7.2.crate 44847 BLAKE2B ab8539f41e720f132b2da3176e9c533a2309cbb3dcdb027af4c5bdd6ac68e4a2a97f53efda52236527a15786b73bd96ad940385002412330d7cde60e3492a6fc SHA512 9e55f9f9323dff330ef45da953bc35da79ff8fe643b3984479dbab10b35e05e4d613f7329c46bc119fefa589d8f5f3bb268a7e7f0853003c1e192fe324e83315 +DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551 +DIST const-oid-0.9.6.crate 45382 BLAKE2B ac27c689784fbb1f486cec1c17502c8738ce3d7d1b579391a151cb0f0a6a0c8335e474d0a517c59230fcac74317396f20ac15d66e2f6685780be01dab197fd96 SHA512 b871d3b4326c4828b1c1d7a3e968315fa320e0b52e97081a95617ded0dc5b93d42b3f79ad26ff3b58a4835dcc442473f3965c2b60026412ad6aacc0c23e9f399 +DIST core-foundation-sys-0.8.6.crate 37629 BLAKE2B 683d5a84b6a3816317f87359532a8339f08bb4043f1d70a8588636eb5dbe6ebb3843e2a12d9a7e5fd1637a912c52a5aefbb8d44796330b09593e7adefd3babd8 SHA512 24a8958cb16b081862a9000affb0147b8b3be1a664b834c3dbddbff03e709de3f4060ff4800e5a35453f4392ccf33168e8b864be71b17be38cb264a39b915100 +DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6 +DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025 +DIST crypto-bigint-0.5.5.crate 83384 BLAKE2B f688f22331b4b3620299ae9b50aa9ba6e1b2c7a4ae55e4236f7ccb8ddee4f61950ee0332b6b67005bad505434f3be74b1a0caa426036dde94162289c6926c8d4 SHA512 04668d432b4169154934d55b8ab14f708e59f70a70704b56cd72ceaca460e15589965aa92a22bef20b32ce637a423cc6e1a8819dfba38a32353bd749f7126021 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST ctr-0.9.2.crate 18344 BLAKE2B 195dce5872a0f59b90bedc268c5a5796f3076d12868f29f887294301b3576047ea82098e73ae996f564e400ce316cf1cdd9016ffb714559aaa0465dc826f0cbf SHA512 6a027f4e3881e51e3dbcb89348c961a2086bb63e70652c49107f49b7d021e31f74ec8c6ae91fd1605928f93f5ffa27889f257c166669e18508995168f17b46a5 +DIST curve25519-dalek-4.1.2.crate 305477 BLAKE2B 7553435f9d431739793feeb503a542619dd67178bfb0f41fd3d56907e9217f114e68ea78e6d6ad57c746b6e6a281f38023cd9b6f78e39e65725591d0295a9d5a SHA512 a6aa320a16c5a64f1a151717175978df651765d0772bfc2e06590e7656d34ff898e47fe11a5590580340a028b0d3524b1a5e150b37996e3c5774b8bf93c5f3d5 +DIST curve25519-dalek-derive-0.1.1.crate 11723 BLAKE2B 442b0e4fc519f233d3fa46c17c2e25807374360bd6576e97b4ec33e6c2cc228bc917e4e395a1d70aa19be7bae57db36d2c09c4c7d505691b53d5a624db67eb6e SHA512 60861002465d2ba12a6089b31fcd7a75f7a6d77319159d5383f29e857adea8cb7e5c9c0ab6977c8cfa34b60e1012a1a5dec57f637e6a225e60269ff49c25b29b +DIST dbl-0.3.2.crate 6336 BLAKE2B bb912351efaf270363c2a6cefe4da42ae8c6a552690b566e5a7b70115721efd2ef42801500d534de0245b6feff5b6895bed74924c86eda3c5e9a5322f32e1392 SHA512 efed499069e1eacb709598b9a250be353d65dd9a1a27c7fac6d23af6262af0fda60b121c283b9318f301be2d80194ec1ce33733daa554f54ed3f690478d37cfe +DIST der-0.7.9.crate 85173 BLAKE2B f2dcf402e3d8b6a7ca818a8f260e0996290c77517b06bba8b22849c4d0e0c8f3dd57d664a06d9a7bfb1da6a39abd0740cd7d9776e75669aa970cc3ef63f924d4 SHA512 6de996346365647ac0da23d3fa9c72100d665c9225dc2f0bf1f553c4f0e7eb5c6acf3f1e36a11a7cc20e8b1c44752997e6f592c1d142755df145c5e302800f5b +DIST des-0.8.1.crate 38783 BLAKE2B e85ae2d87866a537baf593afeb4e8c9aa2d6d7e239ceb0db077176455d8bae8e7e1617cec084360ebd7b1f1b47245beaa5dc7a4021d920ed1e8a07dde836c3f7 SHA512 2d54b2eecc3fb269f3fd17231088644d685feb81473043131f5bc68b5f682f726065426dc710f76e8c25cec9de597c90a30790ea3a62163a9e9539115e16c88f +DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766 +DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5 +DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba +DIST dsa-0.6.3.crate 25991 BLAKE2B f8db8e4eac2b967206e0641f83da560de847e59cbaaac7cd8f497324f8c698fa1b22873f463b8372f61da6fcec02eb5f7043e4f5506f9daa20d511a49cbe6fad SHA512 ddc74666a39fcecde77bc1714133b0cf796091d71099c13d4d13c61523c4d431c5f6a47e5eaa171d3fd5d94ffe16cb80643316834e028afb4d58f3ae6f527dff +DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 +DIST eax-0.5.0.crate 14882 BLAKE2B e0c4a922cf71aa5ae09f8dc434301242443004895a638eca6237d437f4ee72250036423a21e01eee6f2d27b3d11e943dc68788b0b125ae3ba88918d407cecc3e SHA512 d43f2356586a94915a901e700fc9fd84a4be019c605c7675fc1ae79140b9af161cd30ebc68d35dc10306893ae385d51aedfc42a62aef16050271f2022d9c55c3 +DIST ecb-0.1.2.crate 6210 BLAKE2B 6e8ea36849f3deaf685c689823f2c276431d84353c8fc5ca02d5256aa36488a7da29e7b6d98cf9d402814581a507c306671b2d4b8ab34884b87858125276f812 SHA512 104c1631de32cee02291c3902a8e28c704d843cc12d3765f53c892d67e3a9429b340bee36e763e1bc929f18e1180a04ffce30d3f15407decae7a834da1ffb408 +DIST ecdsa-0.16.9.crate 31406 BLAKE2B f827c0ea9f80555a1c4e37efa3509ef57bcb8c2abbefac29cfd85c3904d82495753bc5917e8e2b8659bd091d73c2d57bc2f6c8477b7d5d44ab858bd3a99229af SHA512 c69f921653a3dd47fede16aa886675c35b082c7b83486a6fea2c39cf2f98535a00263d7f0e68c5593d16b7cbee757ea913060bcaaa4c69884ca6fe2d3b149222 +DIST ed25519-2.2.3.crate 17802 BLAKE2B aff96de3343d0cfba058203e90b6fd2c6cbd24531abca3a37977a1ed2f1eff0f4d4b6decbfcd9759617f381f88eed32d78397e6fa8d310b99b98d603b809de44 SHA512 3bfbfcd7f442dbb6d49860c530525bac60182bc57f6778e4ee097c7ace9c6a9d32ce430339ec15931070a538d3bb1e1f7b1cf572537ffb782bc5551fab49b2b2 +DIST ed25519-dalek-2.1.1.crate 85736 BLAKE2B 77dd4019467da3dfbe574ceb574849ea665ffd8dc91660f6a9b2596fb886400508bc632dac10a06461f35fce5400f27b89b1270514188ab488a952288309beda SHA512 a3e3838a3d4eef726b65a38196e66456f586b7e29cc328eb243bacc5a247b50f10ce76df6259aa102a08ca921f07d0395793088445f36de33f5dc1aae5223ed9 +DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff +DIST elliptic-curve-0.13.8.crate 63198 BLAKE2B 542536886019beb276b587f906c5552d88229eb06364d93db5eb6c93f70555e9e38e4636bda14789e5ba5b54321c0c6da85aa8d584e638fccda107e296c4d8f1 SHA512 64ec7868cfd2350f5a0e9f4fa7e2225b7f5532b8514ed6d5b8a7718f252f94caba4acf51b2471ac59717783289c9f2ab35d47881210ffbdeff08a85f68ef3042 +DIST ena-0.14.2.crate 22991 BLAKE2B b609831e2f5dfb6602293cc3260098bf0dac09afd516a8e6062453724d7d3f516bf14811e81ac3e11efd917087dbbf4f9a3524fd30ba79cca85cee2c0c63d77a SHA512 e66eea99484c2b7fa2df7c8b3df3a10dd185163b781fa03b1695900a148a7c1a1676f7e6dfe2c5d18b61a90a6756de0bc42e9c873fc7a53de3dac799b7c23c01 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d +DIST fastrand-2.0.2.crate 14674 BLAKE2B ea23f52d745f4fcfd4ec911d48d77c60da837f57942994b17458daac7cae38953cf679459908d68e5f393d03a90cd6eddba23d2a86c2bc11ebfeed0bb41fe4dd SHA512 3ef9c21e4928071619adbad6421165ea82feb04c26ee18893b172f9f8a510b9a2097257ae31647a907680412b68d6662eff13cb27649ed9f5e68c374619701cf +DIST ff-0.13.0.crate 17688 BLAKE2B c32379ebfea6cadd162dc169e0b413577fd191620f4f2a1c7d18e50ddfbe561ca865bc3e0fee3be287f43f6c9f2982992cbc56629889689bcbbf652e512da80b SHA512 eab19938f5a2cddb0fcc78b0724efd788aab7f17f04c482e0d06acac4d1cef2bcbfc74d6e4b2d9f535f9c955bf39c2153e010bdd2fa72d6d637d44baf8bf5f63 +DIST fiat-crypto-0.2.7.crate 495388 BLAKE2B bf3c64cea6e28bff4b21be6bad51e6acd38c5a63e24214ef52feffc43bdcd30e5bf6cf9ed2423026b71b028cea16f949d130c8a570c28e7721043a321401893a SHA512 aba4ec81c04b7dc5358a9cc35b50c2596f46ef9d47d848dee51e1727d82b5cfc2ca9e6de1a45958900f030a5bb4b6a564518193b2ffd4ba85aa6f82aef48d95a +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8 +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658 +DIST ghash-0.5.1.crate 9482 BLAKE2B 77510c9a42ebc486e35cda6893e7f9f464628d6e4ef2f2f1adfe5d6371dc2f7e2d0578665d02dc5647651a96f3f06ed9cd3825caf462d70a740c9e937ac8cb50 SHA512 00041605bb458305f0fc54d2c8dde2cae672451646fc41a94dacf83950ee44f75464a926439e7e6d1ca3ded05a9b697138f62fba6f4e86ea3df034ad7240af06 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST group-0.13.0.crate 16526 BLAKE2B 099ced5b8d16e6fefc331f2d89aee931ec5900a168dbe31bfbe29bd00304e8525fa5763dbcd60cb19ac6c62c8d77877f2d83e700c7ab18255b08c9b42be60d24 SHA512 359db06bee4cb51ffe799d9c408791e310e72fde3bb3fd447cf97482ebb909af07b43e9b728e3639d5497fc905b650bf00403b3a6b21515e6628c2466e0851e3 +DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356 +DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 +DIST hkdf-0.12.4.crate 171163 BLAKE2B ffa03876879110dcdd3081cdeadc9490534c44763b3b49f1d6a5f4407a7346e6fa1ea18303f429b23adcd23e8898ba8fbf3797f5ef9f7ab7b11499d130311d68 SHA512 a43fe20b7d14fa26b118c6eba2b84219645f65f2ff33fcca679b139ae3e96f72abc1e7a47eb8887aac5afe4e34211434a4eb5a2fdbc014666d82c4af340a4b21 +DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8 +DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST idea-0.5.1.crate 23243 BLAKE2B 3db4dc0fe83e1cb408e7e2b69996e6d58af18d43efc2cf4b04227f5465ca2446e805b12bc760f10f0acca284f6d79045a9173e1593977f04690de680acb9fe4d SHA512 f5d7254816210734f4c6f4e74801b38ecb44765cc97692843444975e7e62d6975e021f7010c11e991bfe46e254478fc0ea08634759ea9ad5c37ec2c7ee8141cd +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea +DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb +DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 +DIST js-sys-0.3.69.crate 81083 BLAKE2B 529c94cd2289883b3b43a848d47d8ae025ad0909548a38ba93ebc684ed3edafab16842b922da6c8b6be5ba39c36a1c05057dd3dd93fc8936d5dac372937ab8f6 SHA512 506722e6dc13484828a4147d974822ff9d103d9e7db58a48181b0957770d9fc43b97605ced105c5b680d8b2cda5fa1705f605707611cb48ed8a45a96d5f196b9 +DIST lalrpop-0.20.2.crate 240370 BLAKE2B 024026e9d206f24f3f0675f87a5d8204237c00c96331c3cce43f563639c2750f363b173bcf928bb69b3707917ef0769c9e174316b1c85f76e8fbedc6d0262bb8 SHA512 1f22f3aab724e720c7f78b268a9f6ee468fbdc7fbc0ecf83e0a35130ca56371aa2e38752e02cff5ddf0f003d5a8bce43c735c6d5ce09a3bfcda924f2c5ab0674 +DIST lalrpop-util-0.20.2.crate 15064 BLAKE2B 7304f30748afad37ac9be5f9cb890b70b0362bf889a86f7385e7e83a067e5919e42d85f892a018d255d0eab56f7c3b8fd9564fc5d24b657916dd915bc45f0a46 SHA512 91034c6d82a0a006bf35208f84503660d55170a36e38d5c64a6c0ceaa0302c43e268df21feee6b60b70723462f6e4f09022ce83547560ab7c51b5de0954cfb28 +DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4 +DIST libloading-0.8.3.crate 28480 BLAKE2B b8588be0e7034e94c808490adb8ee6e81c29e962aec436a0d8f8c7617b3ba9177887ce59b95b2f0af00ab030bc77b73e0a889d8a77b84deb437245211a969c94 SHA512 af8fa5fe2428fa98177d6adfc01bcd6e701b0d77ac18c95b8b8d5abb3a6376f16241ccc71b9fe100782c73c843ca53c9bad465545d8bb7def52320dad0eecef9 +DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62 +DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3 +DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b +DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca +DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 +DIST memsec-0.6.3.crate 5512 BLAKE2B ed2a36cb139098be66fda58f052c2cf22bc025e34b9ac2b11a1a8f848d94df6165f205543ea30a5e7b347b85fe41670973155f68c970dde145b41fda551c5644 SHA512 6d4ed30d9b975b00a3eb4b92bb1c7b83269c2fcec7629975334e53b7683ee28e4432ba4390d1590d88d1c4a0e689dcab38f338a6bdcefd3bfaba75067b819d8f +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST nettle-7.4.0.crate 583944 BLAKE2B 79392e3b2df0551ed22865a42f0ededeab2421764e6daf0b6388c08080d0674bbb88f733ae5d29ada841e567c734a641e7fa6ab2bd8e8c627f63125c9c153598 SHA512 f132a9c7ea566930fcc813a9c799d4ec6849522dc70e8b478655988a9ce1f75ca731b0c0b7d2a702f96273d51770b47725014e6d1e407ff58343a0b4b7560871 +DIST nettle-sys-2.3.0.crate 28576 BLAKE2B 23518adea067a8a2cd4235ccaa851ed62336847db9bc8a6adfd77cfde8c57f4a8de104cfac0e17068027702e1e4d79efbe77c3733cdb032650fff1eb1ff15457 SHA512 f453608d860edf86ba62ed959aa1d04301c06d13bef5179b2a69f7faebe1e1ea41fce163aa4a48617d21fc493cce16c28cc11a051ccfd13d0be93c66405aa5d3 +DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48 +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea +DIST num-bigint-dig-0.8.4.crate 123825 BLAKE2B 9710266116ea15d0e56792b7c8e217931765dcf2377bc05f23bd386625087eb6a7d7aca7b8f0beeb78ace9f280895565a6de3b14ffda7721e35c741ff64b71c0 SHA512 88ea682c5aabc61c0cab9234e31a2dccdb5458d3bc018e1f9ccbbf0a9f09ed0053341e93bc53f65b5bee55bafe71d50bbcd48fd085ac723ef4662e15664925b8 +DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae +DIST num-iter-0.1.44.crate 10249 BLAKE2B 9e70a4ee02e784c5eafb033dd321f70ee92582c2a75871688ad43970a1313ffbcd49c26a8c6787e537f041ac60fd269131e157bb61ff2bef09e5ccfa372b2a09 SHA512 f7cff4e6ceee82aa6de469b9db834a45b50a3b73cb068ea714fe237f74fe4875a33881f3421a71ed31c47dca847e3f3b7e21cdaaec52f0aafe6dfb8927f39f42 +DIST num-traits-0.2.18.crate 51930 BLAKE2B 6c40e155d7a52267a7183d8030ef34245492d33f103cc24551b10da3eaa18e3db485062ff87057dc23e6b55e381e5c5d2a2633aaf6f4763c06677a0a0c524f02 SHA512 e395ad9f3b21b0dd1d3a94cefe0d68a42d1b1d429ddb2823696f9cd75042568a635d93d133ddb9497ed357e5b3be5caddb8e4a4af87b65882bbdc60b05c74ebc +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST opaque-debug-0.3.1.crate 7066 BLAKE2B dc1dcadbb5654a5f69c59b84faeb3095f008a6eb4f63e3cff95bd4e97f803201e2f16f59a65f8ea21b662e77e3fed0d0870eb1db7f5a4f95cc02422907732951 SHA512 f325214d604e74197ddd9209a596851c5bf0c0f3299b79b6267c35e0ff6351205b628fb5086279684fbb29fd07746c91ede4f45019657e761d8400fef2b3d8bf +DIST openssl-0.10.64.crate 272306 BLAKE2B a8b618aa403cdb06a7f135cd966775f21c99739365c55aabde2680a6154d03c7d554bfae6c62a069841c70ed82ece6c3f0cd589da8c26022b7022c3c4d79a6d8 SHA512 a1fa9f71cfebbb37ed9d4a902360f2cc95a78f55b5da5d51eef69db38cef016fc03236485158d689ccf054e04937b8cddf88e3f0f31672997fb30c6cac73cbf6 +DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c +DIST openssl-sys-0.9.102.crate 68622 BLAKE2B 0d3d3c9ef8e2542c7f35db1d8feaf512cc7313481bfcc99354d601e8d6332adfc2e7ee8b35599a9241de35c163efd840186e904375bdc9c65ee743abbc154cba SHA512 7ecfaa0b49cea5c60f6f063fe5217252a65b27c5e6d1185e0aa1bb4b59c4cf9bf326840e8795a870a537c18ee5a987feedaaf2dd767cd6f1380f25468a1622bd +DIST p256-0.13.2.crate 63434 BLAKE2B 8c0d6997b60299382f1da2b7caa1b0353b787352bc3de9ec7168bf224ff7ca15b2ffa28f99377eb11cb6cec3481e5d28c68042ac88c1cea27e84aa8fff5e0658 SHA512 4105c597346e2bc74ad7b7173d13b3b46cf4a1df87ea1699586cb7d09beb1b9f8d152b2bd0bc6849c69771fe4d320dc15a9e275470923b495971e9aae54b0ca9 +DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c +DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032 +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST pem-rfc7468-0.7.0.crate 24159 BLAKE2B 478d355dd970b9705ebcf44d74d61ae0694db6de16b2018548fda88546f53e35b965ff72d939def399a49fe97d3c8317a10385ace94b3d552797ec64ace1eb8f SHA512 f47d3b6c7c8bf4547916acc2a3d6671f6c1308e74641419c8f1df810d8bd940aba8f94d361e4cbef3eae3b7f11587cd3996a11be3be41d19111abfcde7a9272a +DIST petgraph-0.6.4.crate 185895 BLAKE2B 9ddfb2796c461d2820db8227753113b02024e5dcb694a0bb2826bc1f375f028d8b98a3bd67555485db7fab88eb86043f5b768585dbe0c60703cc655976030a2c SHA512 b5a21572526387af3151dd4f864bd95c94f65eaf0612d96f99926faf646214df205bcc652b98d3b281f2e270779a4c1fdd6a32614ed60b3612e5d594b2bf3f20 +DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5 +DIST pkcs1-0.7.5.crate 35790 BLAKE2B 0cee88bc3406b60d225593b4b01a4eca11d14a916bd589843300f6130729e7926d2af32b9b7d03e98b6934775e30e5627754e7e32e1785f59c8ede36c28ea40d SHA512 a3584ce492116d6e617a733a0d3d5696404aa7b10ae95070313b4a41dbc21d0940850870b711e375ac8b54fdd179b4083d61c48e902e6efd8a3a11cb630076a3 +DIST pkcs8-0.10.2.crate 26360 BLAKE2B a62b5b7386eedba6fcbc4cff2b103b899dbf6179101445283f9076080489129543561af1ad6f09061564f68c28954262e49d0bb3e182f2ce7495e19d6f34bd5e SHA512 87127d51f0e1fe085d46b30394f2a580e857cd64f5c6fe4a3ac3b8871230aa426598dbb007e8bdfd5d729b99a9c0b4d84116f0768886605342d2ed112c51dfa8 +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST platforms-3.4.0.crate 29298 BLAKE2B 7d3f85ffc526ec95b2e95073d0621bd57e9becd86406789971cb87ee072fecdb42c90cc01e16f320d793dcb6ccae02688c0952861e8c7b25723347c21e1663f0 SHA512 16bd9bd104040827d457595bbea3385e103cd82530e84f17132ffccd3a20fca80cc92b5b72b452e7307c7aefa8e4a947c0bde7d9224f0e38b06caaad28907c70 +DIST polyval-0.6.2.crate 18425 BLAKE2B 59ae2ec631060ee8e2e1d4bc250abbb4762c97ca7ba5c543c0292f561bb967e059410ad7e79d8dfd7912cb30a6284169ecc2f4c94bdb165037acf8c3eaf1209c SHA512 113646edef3a7f60d59db3cf06c1796bf81305b66835c71bbce0fdc07345f41e23f2bbd7d5cebc50c72eac11c98f351bc793e2f568b5fc0bbf9fb2597eb44f0d +DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a +DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05 +DIST predicates-3.1.0.crate 23090 BLAKE2B 6c51fa390f3335501df604afda47ff1d2a69322d928a1412bcc4829f16c3ff5d345ae52f54d797c9698b0eb7b26495e594d8c21f04fdd77c8119ad4635184adb SHA512 1ee38c715b4b55038497a4a4996e12de91d356d53173d3a034d6a1f56859cb3a4a61a82d016fbefdd6ff291519097ce9cef950547d3d437035cd7093d965dbf0 +DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702 +DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3 +DIST primeorder-0.13.6.crate 21296 BLAKE2B 2ba479defa1c26d14f8711f6be5020eee9bb91a39fa7a7c14a93dedc6de920e0ef1c9f6240d308233d0e0d6bce4be9500d0e9cfb01b6c4f9902e0f77a2f97352 SHA512 fdf52b47b36403d5218220b886a3ccec7828731b5a59ea1d48a25fa85de754544fa9c94d51356d2ed904bf2d908bdb4fa87c53e597a3c9f2941d7310f70198ac +DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7 +DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d +DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4 +DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b +DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1 +DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76 +DIST rfc6979-0.4.0.crate 9140 BLAKE2B 662d967b1d818439e972d19bd251a4e3609c65bae945b4d11c0ff4966e9fcfaecb739d0b63bd767cda6a22e77a52f3386f02cb27c5c76ce9008837c882f8df33 SHA512 fb68114f5f8c1e7b921ed175fc01813531a584b8cb2df1264b72e1925bd66b4c021714b3627fbbcf3fabc26e4d6578c4d246369a0c98049d4058dca4cbabb20f +DIST ripemd-0.1.3.crate 16601 BLAKE2B b72f950d20e0f6f19e5e4dac9da24a5fdfe3dfa441596a89fc7a8350cea3a297ec04caab43c7c24c4d8e499e50de306656b5a5a608d5b01d0ae86014aa4931aa SHA512 eb4510c2a5879984dc662a985515e17f0c22f91babd1ad9914a030058bf8e703a72375e82672c382294a0bf7e004c776e9c5ae30ee0f6acbddc44d22b48e2e03 +DIST roff-0.2.1.crate 10605 BLAKE2B 34d66bc4f4eb828523c464cd75632171277f6b1901916f2337013f8daf39915e1b7ee9154e18413145c9ae103917e0f34c2b6261ba16b3e969a2cd078a372c61 SHA512 001cbc21c5c8ca4362f91fb237b867966653e6f49fa20be1a6c3d3e8d9f2cca66c474eb0b59ecff1527c771554e8503cef94181295dcb007fbc1a50dab49ce0f +DIST rsa-0.9.6.crate 80048 BLAKE2B 0021065c262a351c3c3e9e63984442e9ff8e739f0f60c79f0eec031fc3ecf928756a0da656a0eeb4bcb94cd6f10ced2326a83666efba3b85b8a518b0aaec3d18 SHA512 0af7737181236f0e5544a83eb41d7e780df1a488b7b782b2c97eb4eab3dd599b86d18adcdc69bb56f9aac548a24dc88806e7bdc32fbc43c33b4d7a9817cfab9c +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db +DIST rustix-0.38.32.crate 376999 BLAKE2B 681ea50f5405b3a749a26a481995d3a85800378067734bb857e32e5d3764687b0da4b3749d227174440e432b374ae9ada154a8288e4353ca2ff1b851698477f4 SHA512 8f028b4df785aa78fc798f3e053d0a4fb9b3c552a47f66f52f1666f4c1324441be6581ed643c4ef0f56d92e1a078c6d3b45be183fc3df0ed1fc89de0d610cad6 +DIST rustversion-1.0.15.crate 17406 BLAKE2B ef68a3a83e11f6734be94117e5170f92f9e1211d353a81b45ed11d4c738278c7f519ebfc9896681d564698fbcc579da10f97fddd77d56b14dbb96b90e16ea811 SHA512 e0e37511c25b71a64bd6f91cd8b29e43c4073ef56196de808634f3408cc297fc7fda1316a5adc5fffde9192b7d64f1940deb7cf396277a3805e89e15b2a855da +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST sec1-0.7.3.crate 17979 BLAKE2B c30d4e617f9c0c21b80f14a7df88a164ad43f4c18fbedc1ec32af41193053e67ff6ea83db54f46c8cd6389d930984120c2a1688662fd8083e0c23bd4995d510b SHA512 be646413d84b39a43a0af478854f47db3b167c2bf1bedf7a58392782c423aaaa38df3b3676f9807a98c6128152295c426edd16d67d62ae7048caa635bf39641e +DIST semver-1.0.22.crate 30446 BLAKE2B b77a951d959a3685b0373c80b9991a8567f8926d093b23b7b8fab48595b5d565acf7408fbfc8f4d58331f39e316a8068885d28bcd70c1476d1cda436a2dd88b2 SHA512 7dcf9b6a02650d71d6c9ab3c29e44fdef95af296208f26aa7be6fd6e16773e5e5e66418c303a0589d1165df6dbfd46ad6ebf9eb5b3adab25a51f340947b2d949 +DIST sequoia-openpgp-1.20.0.crate 3002022 BLAKE2B 7bd2ecdbe2885b749dc3b7f36f58a0092cc2b96409631d5b6da87488476eaa9bc3e71033ce292b04bb17b3b824fb3d163e6f95c470c5fa17b5482b7daadcdfb0 SHA512 692664d80a029395f0d921a4250baf7ae12111f2038f9fa1b98217d4c862b14ea07e36d4f3684d2828c97a8652149c3cb698d8b18f2a74d8927c06e7d74d1130 +DIST sequoia-policy-config-0.6.0.crate 42529 BLAKE2B b58960a3296d1c3289036a2218e842bb63bfef11968ccae7c42cb61869e04d26fb52736876bcf32d276177c488d0be4d9ff3ed50fbfb0ba68bff3c0410a460cd SHA512 499d350426f80627278310b2eded6a69a7ad833058129ea5ed9ebd0255621ff70f9f04228fc8ca79830e6ec11d14b121bb3e5a6c5fc2721135d725bdf0d886ee +DIST sequoia-sqv-v1.2.1.tar.bz2 56814 BLAKE2B a390daf4dca292ca0aa12f8aa3078f24a13d490fb15fc6c2302ece80d4298b891511897b2ceacaaddf91e8494334c2ea86d6e7515e4bef90ddda0bf5bc32ecd1 SHA512 ee934ba845368aff8cf4880ce1a5cd60f86c2529e5c407e304f7e56bbf9b8039dd15649a5d8e1785b3cd0e6bfedcb90ca873099c3ba523096272cb6ec0b6d0a9 +DIST serde-1.0.198.crate 77577 BLAKE2B 10d18e00a17f38e6eca67f78a3df6bea777053b4c510be7fb89ecde7d0ac2ffe37399031ea0cdc6113a0b80f8f3f1095271bc6aa3f2147e2d675cb3f5df713d1 SHA512 561e4ec8858148e9cf59f1b824c489ab259b63819e6b031205db8d89b30a5b0c12c3828fc587cef67316d1b9752f3618d089fa21b3a27cb87a074d943f27c7ff +DIST serde_derive-1.0.198.crate 55787 BLAKE2B 6fb5b68d3bd0010283a1f61d9af5471845d9f2f5a6b476245348c6bf3d3c5d3026325de87cc8ffab0300d31dfe03e093acc40e4a7f334d33b9d33cb8e03645c0 SHA512 f33fd1e1ced08a305a41114e354ec174e09c8918e28bd486549ffbb859a139e41b5de27932cb24767f4b3db4703c25e6987c55c9b3ea566d60b9f6cd893b38ef +DIST sha1collisiondetection-0.3.4.crate 799321 BLAKE2B 6a36035f19330da30fff69ec304c17ca0d8af74673b43dbf421dd9e67f3e522575e7a6780a2eaca3c4e799304acb40eecd0a3909642f03f18996196b3dde19e3 SHA512 d74b317f272ea600659288af786c656005009b7e2fcf060eafb71df07cb3de2b698e74088217ff99fa911a59e00653835cebe6bbd5457e549c3f9015d8dc8d7a +DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7 +DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST spin-0.5.2.crate 12004 BLAKE2B d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c SHA512 fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267 +DIST spki-0.7.3.crate 16409 BLAKE2B 6b39144e4e718ce5eb454e21ee89fb936ffd31ec99554b0150fee47bca396bdfe4ef39603ec029d4af4d8c4c3ba2de7f6c549244f8c20114de9b43ff14921681 SHA512 d33a6a7844b33c37628024ccf25c1a631f7a6661595e063049b8c9a9b4edb28f0335397faefc592c6fc5e96378b870ab5dab9b0649c3387577b2370ec8210db9 +DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479 +DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 +DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0 +DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d +DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39 +DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a +DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681 +DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 +DIST thiserror-1.0.58.crate 21025 BLAKE2B 2915ed6ab691fe94e97a834ce5874d37a388c3240499889cff633ee6c67d46a2ca88098ba40c225ca0e2e3c1ac7bdcfafcfde3dcefc50867e299dc49505d6fc0 SHA512 3cba2d1f4965bc56bac8fc70540d8cd442ab6b8c7d25d328bde7f4cc108535d83c75f293316d730bbd86eb247400b6e35107d610c7caf47f43a28b1f52fed578 +DIST thiserror-impl-1.0.58.crate 15645 BLAKE2B 9c6f643a582666ee4eb43330340888e7141f0dd89d927e3345268c3eaca02fa42b018514ef38b3db3ff9722b25ebdd43c36b11ecfc7bcb36950ce2c204ff78e1 SHA512 9bbc623f54c71595e48b33bdb3e4f12eb2e48074b15ebe400d6faab43410b363e5af94df071aaa324c59dc6958173e3c301fd51b216969f095e19cb98a27292b +DIST tiny-keccak-2.0.2.crate 20129 BLAKE2B 105a2d2af36cc053cd95721ea563108f33b8a3feb2ae84c75a04a65ed5d548dfe35d8b2e48977a82f725c0ebcf914f21157c547f4a74bb4d98c2e894385139be SHA512 c0219f23361eb07e0a68575c461a36b7286d9bdebae89080d9e259178d402b0c7762ccf33e65a16951ea168392322c44a24eb55189cf143e22d09d6dfc4acec1 +DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 +DIST twofish-0.7.1.crate 12156 BLAKE2B 282ba2e6e4610297a67aff0e06db6089c57edcb0056b4d6592a84b96dffed7e2394c7ef0418e7c0b7628b2b9585b6ce8a0f0f981de36c3f10b8ebd3fa85289a8 SHA512 9f6f9768e0ec227d03de0f95d5baed803a710b286fb18a2fc4e325eb518ac2e483fba6928b14f7b6a38643b0320d6d37fa1f3d2fdd26e805cd23705753cd1055 +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 +DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c +DIST universal-hash-0.5.1.crate 9146 BLAKE2B 9095f95faa8ed4128c3787226f3899acec4278d36799ae30a7ca71ade7179c274a1807f62605e687e60ee97e6bebfe818100ed0441db455bdee0f8e5dd451809 SHA512 83b3ddb1f0d7ff621ca2b3d426c2e682d8339a2adedbbbb3a4584977e2e996549d665578729bff65b5693059460e9e04b9df2181c404980d3b3d946c80e0b589 +DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 +DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.92.crate 184119 BLAKE2B ca256c686bb3854492bad6afe3cd27dab314561a1ea2e0205579820066b462bacdb2cc01075fb420bd20eb33b03a648ce1ff46feee04d8759ea8aa990ff8232a SHA512 6e46501276c0d4befbf930c816d6ae6c3764e3b5ce0ef4aafa627a6ea371f1a056ecc15970a817e9e9bf51c0a2ffa57df427d758b2d367beb6a474d75b8939a5 +DIST wasm-bindgen-backend-0.2.92.crate 28348 BLAKE2B 425497aa7a023b70549c55d5a15dfed80877c5503863b186c0a9d11b29551c4606c1cd5961c7dfdeee2eab5662952ad7ad215513e93abe727a33f84b30bd181e SHA512 22e4f5848d62bd1fd55f4f054ea1293e223b3cd6f916bde2523eec10388e733623492c3a3246d61831e696dffdec5d000b95e9aa1217be6e38dd6459872166aa +DIST wasm-bindgen-macro-0.2.92.crate 13835 BLAKE2B 1f2202fdaeb78c32813eaf08b2fbd7aa9c469228386df71b8ffd81a46374e39a7104b79991f702505f9b7e97957fda8574517fbb03e3f9e93098c4d6e1e46be3 SHA512 78d2ddac88a9ca3ca5eef8a7af81cdf2366187a67d844e69f65f6893d1949f9723ab5f2be762c2217a5c21aee2f3dbc2d5d55ef0c9cbf0dec0d52d67a6ba7462 +DIST wasm-bindgen-macro-support-0.2.92.crate 20092 BLAKE2B 8e274a4053e7afc680740e811c3941478caf5342e2206e3d28cdea9f9514bedbfa4f2b6bc608817306a1c455dd7134b7e17f0f04499f6bfb5302f29b041ac7ae SHA512 92543d2aad0b25798ec20e68832b823610c2c01401088cd9cac1684a86ddd1b567b3e2712acb862060f9c645a0df509b01d9834fd3e13cdaab97960f66d8daa7 +DIST wasm-bindgen-shared-0.2.92.crate 7263 BLAKE2B e54895486b9a31cc4651b7bb042059cc84421708346c06a9764315ebd4f440a1077520c7d325d6889a690b2c06aa185d40cede2dc4d061b363594cbde20fac31 SHA512 70e3a22731ed8aec428433bf30500eb3f62e3b7f4f1be34d8bb3b6f34f99690fc85d49eb413caecab807064494cfec64242c6a42709dffd638046e370bf86e07 +DIST win-crypto-ng-0.5.1.crate 44667 BLAKE2B 112a40af7aaa7d3e1c6d6eba99f3eafc7173a10f149e122eb5c658619f6898add8086ab8523695b8433bed89952d70a63e6f445b39ad4e9bd64ed98931002817 SHA512 735d245c56928db70dd4ca0b95dbd8be9f3b55dcd88961549dd51cf8e671eaa3a203b76a1e2ba073ed8b0042f9aea08fdff505f7efe19d8b2153589f9e811692 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2 +DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8 +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08 +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6 +DIST x25519-dalek-2.0.1.crate 87820 BLAKE2B 039749d0278d95996016260f9e32162b370594085186044665685288d879e067fa16a5d4d42e939d2bd05f7b47a81036cb4f573d841cc81ece078c7a08eb672d SHA512 13dde8a8d4772dfccc3849a37717828ff6fdf6b4deaae86b5d6bbfce9b6dabbaf039d95c163cc6764447d503c1a62d602ae5b5d1f7204cc002d3fb13ca85acb9 +DIST xxhash-rust-0.8.10.crate 20066 BLAKE2B 5fca80ff05e00d5f78c2655093a963b08a16d2bd40e74e53c9e48e9812f81d668f9d60cd23872cb76ecb643cd381eddb841da5ba93a5f9fc92e42e6d8bb7e871 SHA512 c5a66c4c7a30dffe9d925dbfa8d0b5ae5b825770cb5d52a0d5de2eadf24c9af1b08b11b2e7a94ce60a30dabb2ce61cd3066cc781d05c90bc6a9d46daa2e04b71 +DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756 +DIST zeroize_derive-1.4.2.crate 11141 BLAKE2B a40add656369a3a40d5b5f3397a77a1e9f803d4b8ae5b7d51c9f2ebb332a289b3c1ea528655806a26998e081a1cc9f4b07828664542de8d8d2619faf079d25c5 SHA512 d6966b024ce5e265c93e7056659ccbb97bbf6baa30f759fd96dc4391a6487426637f61f0a2713b6160019d778cf7d8ff1f25bb33d6c4f4585b990baae418b226 diff --git a/app-crypt/sequoia-sqv/metadata.xml b/app-crypt/sequoia-sqv/metadata.xml new file mode 100644 index 0000000..e9179a0 --- /dev/null +++ b/app-crypt/sequoia-sqv/metadata.xml @@ -0,0 +1,15 @@ + + + + + Florian Schmaus + flow@gentoo.org + + + Sam James + sam@gentoo.org + + + sequoia-pgp/sequoia-sqv + + diff --git a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild new file mode 100644 index 0000000..8cf70e4 --- /dev/null +++ b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild @@ -0,0 +1,324 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.76 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + autocfg@1.2.0 + base16ct@0.2.0 + base64@0.22.0 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + camellia@0.1.0 + cast5@0.11.1 + cc@1.0.94 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + clap_mangen@0.2.19 + cmac@0.7.2 + colorchoice@1.0.0 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + dbl@0.3.2 + der@0.7.9 + des@0.8.1 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + doc-comment@0.3.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.11.0 + elliptic-curve@0.13.8 + ena@0.14.2 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.0.2 + ff@0.13.0 + fiat-crypto@0.2.7 + fixedbitset@0.4.2 + float-cmp@0.9.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + getrandom@0.2.14 + ghash@0.5.1 + glob@0.3.1 + group@0.13.0 + hashbrown@0.14.3 + heck@0.4.1 + hkdf@0.12.4 + hmac@0.12.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idea@0.5.1 + idna@0.5.0 + indexmap@2.2.6 + inout@0.1.3 + itertools@0.11.0 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + minimal-lexical@0.2.1 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-bigint-dig@0.8.4 + num-integer@0.1.46 + num-iter@0.1.44 + num-traits@0.2.18 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-macros@0.1.1 + openssl-sys@0.9.102 + openssl@0.10.64 + p256@0.13.2 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + petgraph@0.6.4 + phf_shared@0.10.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.81 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rfc6979@0.4.0 + ripemd@0.1.3 + roff@0.2.1 + rsa@0.9.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.32 + rustversion@1.0.15 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver@1.0.22 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + serde@1.0.198 + serde_derive@1.0.198 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.5.2 + spki@0.7.3 + string_cache@0.8.7 + strsim@0.10.0 + subtle@2.5.0 + syn@2.0.60 + tempfile@3.10.1 + term@0.7.0 + terminal_size@0.3.0 + termtree@0.4.1 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + twofish@0.7.1 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + utf8parse@0.2.1 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.10 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( 20 ) +RUST_NEEDS_LLVM=1 + +inherit bash-completion-r1 cargo llvm-r1 + +DESCRIPTION="A simple OpenPGP signature verification program" +HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sqv" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sqv/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="GPL-2+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sqv" + +COMMON_DEPEND=" + dev-libs/gmp:= + dev-libs/nettle:= +" + +DEPEND=" + ${COMMON_DEPEND} +" +RDEPEND="${COMMON_DEPEND}" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_compile() { + # Set this here so that it doesn't change if we run tests + # and cause a recompilation. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + + cargo_src_compile +} + +src_install() { + cargo_src_install + + newbashcomp "${asset_dir}"/shell-completions/sqv.bash sqv + + doman "${asset_dir}"/man-pages/sqv.1 + + insinto /usr/share/zsh/site-functions + doins "${asset_dir}"/shell-completions/_sqv + + insinto /usr/share/fish/vendor_completions.d + doins "${asset_dir}"/shell-completions/sqv.fish +} diff --git a/app-editors/zed/Manifest b/app-editors/zed/Manifest new file mode 100644 index 0000000..2f5c835 --- /dev/null +++ b/app-editors/zed/Manifest @@ -0,0 +1,40 @@ +DIST alacritty-5e78d20c709cb1ab8d44ca7a8702cc26d779227c.gh.tar.gz 1647703 BLAKE2B c217eecfef23cc8a5c9724b635f459994b5b6ac5393e98538b1738af49531e962c99e95baf1a823953ced5eabf5df5764b1cc54b3d928249cfde6991cf1dcec2 SHA512 5534e9e33adad42276ccac485cc228d0922ac80e0b9fa99d536baae2d8163eb3796d10b88c845132f8a220461e2d35fbb9e19f99b0b0a10d9a61c1d12b403500 +DIST alacritty-91d034ff8b53867143c005acfaa14609147c9a2c.gh.tar.gz 1642074 BLAKE2B b6e7458a29060ecf457ca44fc0e3f1f608237a304f5dc76019dc1d0baba6b964832d0a24de00b6a3d17dae0bcf4583b729c0455c6e5020bac4a473e0b2ac31e9 SHA512 930851cf579a34d3072a6e5e89f4a44f551b9df9975d1b111c00ff39815d549f9c421d2728528b0c841c28677709c2865476a69890ba299e4a0f4822f3c2029d +DIST async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553.gh.tar.gz 5575 BLAKE2B bbad7d35213afb7dc3eda1f72555cb5a61bc61acfa1b91771a528773c468629831f62bd26f9bdb345bcf94950892a294ce71cecc8552660cda5c28de6906764a SHA512 86b13e6acbc1d04fd386b10be1e8f1f917f0ad12a702e9709526f798ef45ee389f4e14bb4ff16d0f1b14b278c76b75b5bf925581af402b350dc933a96b019460 +DIST async-stripe-3672dd4efb7181aa597bf580bf5a2f5d23db6735.gh.tar.gz 1057821 BLAKE2B 93218011a1f75acedfb9d4cd65fb3016b4a604926de173b4ce3839a562ec1483c3a7aa2b4c5f77fe50ac648eb9dfb076d19a7c736426136fd5e0f0d3f80d9541 SHA512 6d7765423294ab80aea5c7889bdfe20fab5384ed7ea9d54fde8208879a07b62425e71e77ed0fb182c59ef473f693181a7ed99925753bf6e672b4a729c6454700 +DIST async-tls-1e759a4b5e370f87dc15e40756ac4f8815b61d9d.gh.tar.gz 24819 BLAKE2B ff2e7deabf494337036ee4b7545b3ee446406f6a7ec925d5ce20bb193daccbb9563b525e094d0da4dbfdf4fd78d5247b98501d92548597d689d7b35d020038f5 SHA512 59feb17f57ff8c28d512e8e25e5ad9ff1fb0960c9b96f2aa6dd4e19448eea382666c391e88a3435bb6bfca6f5592041d7e17ce445767fcef93f03737ba003a6f +DIST blade-091a8401033847bb9b6ace3fcf70448d069621c5.gh.tar.gz 3317880 BLAKE2B fc460d02d6f766048eb2552ff39a61536ba787461190b1fae1ff5ae73b3d1a237ef93486d6f3f458c904c9c33e6a6184c4017d2a7233dd03554de23b3063543b SHA512 42419c9dfac7c7de567e358c58209094bf2c81d0304f5f42715d0fb7134b9bd75654e70a5320ee4ffbab5954b50a118ba0d0e4b34b8feb3d232691a4ee2f06f2 +DIST blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz 3318172 BLAKE2B 408a2831f949f8655a47fc60d18b8977fd57677b75d527acbb1f357ed111fcab777fd7106dc0d6dfd748845ae3c89b844399669809e9aba536e54463e2ff4154 SHA512 51bf8382947c29a4b03e26c4d4e475c0841bfb6430be9aa0e4e8a9a62ff7615eefd60ff3daf729a70862fd33d7d27072edb08df986e7d970fca00c31d5c01b3f +DIST blade-e142a3a5e678eb6a13e642ad8401b1f3aa38e969.gh.tar.gz 3304563 BLAKE2B 11a7b9c6825ded7ddfcd81cc6f132f7b93c0a8d5dd78fc730525bd16d2f16d590f3d8f33714302d13278febe7f012f6c98d86a7c744f2e79f2e0a36e088ffb6b SHA512 1d5a0533a9348b216147b3a27f39c64ac3e318f820e1025edc5bf778cfb41f3e62f8bed8bfb8bedbcb672b24660601f701965ee0b6f40c05ac61405bdd95df1f +DIST cosmic-text-542b20ca4376a3b5de5fa629db1a4ace44e18e0c.gh.tar.gz 180043 BLAKE2B 44f4429467d7e54c5348d564ae565c8e8759ccc482045ecc9fe4e3ca6c03c45f6537902e7d8867b557e0b0d1017f03b4e24f63e48a51b774e576da42439c7bb1 SHA512 7a31d1816debbbc892fd16b7b84994569fb046dfcf7f68a1be47885d4a01194f4a849d6d2e91dd534be7c39a0339108711b7017eebc15cd64b63014b5a5b57f0 +DIST cpal-fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.gh.tar.gz 120253 BLAKE2B e40b9097384b66454b3250a5fdea79c1db3453d08c96bf83a7f8c2aedd361bbd23e3a74ac9b542e284f642605b03180b5ecf6c104772b9fedf79c26709f42d4d SHA512 8bcc10b1e6d278034c2f999bbb858b2d681862c9d4170febde4ab0026a32dae8894fbe7a029c5c6f444ab7bb02b1afea33947919f571c64400642efa334a5452 +DIST font-kit-40391b7c0041d8a8572af2afa3de32ae088f0120.gh.tar.gz 1289463 BLAKE2B f35f28341ad40c77434f2765fa6ab546a3b1eeb950dd3f92ac90676f0005167aa84772d62852c45e2c24511f5e79cc8eff7844e5382bb21212c8f08cedd890fd SHA512 c6848000f0ba629b9b001618f06511882832f0334095606c7d6d4929f56a9d78fbe2db04411732619aafbc128cdaf44e7a6d32d351d0577b439cf2e0fa343682 +DIST git2-rs-a3b90cb3756c1bb63e2317bf9cfa57838178de5c.gh.tar.gz 257303 BLAKE2B 0104bde155d4a8bbb99bd0632cee0d6df29c8091296fd85bec146b2983005f02552d74022ff1f0ec30c57f175eeffeffe9ec5596f1561ac83264b9126b9e7d66 SHA512 3f8bb1c8dd65de41b9ecc061a4eef67d70194f1c40bb3c74832ce4d3a4e20b37c3a7279606a2602394fff49524596ea9fda3694dce602b9e951ca8bba3c44162 +DIST livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz 6266797 BLAKE2B 57669579275548c764ac54c251e67c51b327b6d07a1d6381e84ee8b47323b58f541f51ac187f1cbbe70e43763dc3c93f787339fd88eee2215caf7ad092a04bac SHA512 217b9646c5266b4c4e6bc22490c5b9408496641da932e924fc2835a91224412edd374cb8f691d41d1cf82cead4dbdc067f34497e53bf66c7bffb535c5c6a7734 +DIST livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz 6266800 BLAKE2B 2fe47ce962213ba34b7709e35154d67a1648f1d0f2d84b50fa8f33ad58cebfd696ed7bee63a971dff0a280a613e961dcd65a7ee6c092c3e8c303765e025d1599 SHA512 263be325b1315bb323b2cdf66c8f481e7cdaaa62fa5efc3171de0934b203a2693cdf70dc7d9b75ac6d51ac0ce80878b199bcab27bb242a2dafb1c48e32de47be +DIST lsp-types-1fff0dd12e2071c5667327394cfec163d2a466ab.gh.tar.gz 70193 BLAKE2B 859cb326f358cb22f5ac63999808a2508ac78c461ca664b5f24b315473c1602e51c771b26edfdc5c09935d77ca0f7ed67745f953ba4e2acb4b78a7a89367f8d1 SHA512 71677cf3a0a3c21417a8d70f505523805c4703789f95902262d09e9da26e21321b11e833e321e482daaec3c2629eb4fa64aa4f8dfff27b08490b82250b96341e +DIST lsp-types-72357d6f6d212bdffba3b5ef4b31d8ca856058e7.gh.tar.gz 70057 BLAKE2B 56e987fb62ee832ce6049a58a9caec08293d8a104aec43cbd4800e19f11a0b01980b231b54b7b3845b265caf7c35fb987844f6dcdbf3370a8bfe64869d25a6f6 SHA512 3df8105950ca1d0b04e02b78aae90849937691e5d5edd00d24dcdb2dd06a53cb97e6fee09611d28289d53dde9f556ca722e4dc804ab398c095b1e144c7227300 +DIST nvim-rs-69500bae73b8b3f02a05b7bee621a0d0e633da6c.gh.tar.gz 47933 BLAKE2B 4fbb0f1bd14fcbc708a52357c03574e7fe864f4a33fd7202f13bdbc1527ecc4f14377994c2d1bab9806ca921cab9a6287abd91e70802bfba4526f12b71587238 SHA512 ff75686616e5e2fc2a8629c5a03922f5a97963da42054bfe2c1c8f54edccf7b2a0f1d624460e4f51a04ee6c228b174c7308a68ff504ea5efe10df0edacbb53de +DIST oo7-9d5d5fcd7e4e0add9b420ffb58f67661b0b37568.gh.tar.gz 111786 BLAKE2B ee432f892a55a205b7eea8adadb2540e9f365bec1aff3d81ddaf9ca9e7924645ddd36abcd4d3004bec49ab340e76b81c891e1aaf81ed689d27d19a4dcd620d3c SHA512 f1e7dbdfef0e786663d5086faa4ea46db0e7aa09e731d805a566d31429f0d216224ce1c2c49038a923f2434a6f8275ec2a6c6ade32bbd36efca78e47eab0aa64 +DIST python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz 1480973 BLAKE2B 72d44efb454a6be24c9e6b5ec7a0d4fb80becc930b53cf6e148136829006cf74e816e0198b17a0fdde0f6bb7206a3ab0150192b41f022fb5b57db253022c4d12 SHA512 5b885f19a9be4deeb2f13b2a25c700df6ee2e45430643d5d9f00473c16b2fc2001caaf5c69502a20f752a52bed79b19120d31efd64701be2aa21ff08a5c8c137 +DIST python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz 1480288 BLAKE2B c48838f09a8f7f0e73d415c32c35e3ffeb0b2c1f6aacd41fc2a837e15ae94af20049a2239b8e3a8c9a2872dd2286e4c3c2220c83fc5e17ce931584be4820bdd8 SHA512 25093d814cd48bdce48494099828e90d0065cb12e9736c3c712b1a5ad481abef2b8befafbc35602965d945c6d381e00667aff39d30ed21e0ac2fa612beb186fa +DIST reqwest-fd110f6998da16bbca97b6dddda9be7827c50e29.gh.tar.gz 222254 BLAKE2B 59d486fa9e4dbe67e1b45efbeb39f17d9010aa97fe57467f66cefc231291197dfa6a5e8ca313faf3d727b1bcbffba79fbca141efc190db1c2928f13727241f9a SHA512 f4e486682469a97dd2db9e594ef053e10abcad80afd93e86d288a5e364518a15ed6446e2cac43abd9040207c34a5a52f3c1ff1a4190604d914dbd278bc7d5a67 +DIST tree-sitter-git-commit-88309716a69dd13ab83443721ba6e0b491d37ee9.gh.tar.gz 73789 BLAKE2B 0c87bac702bc3b88b9846944a8880b619be6aff3206a339da7a74ed81ca64c033ddf9a0c13a8320b6897dc6de225c8568661cb29a82cf445c8b6818c904f2395 SHA512 53141c8a98a22e031c44d158dbe0cbb7a6f41bc7e762b9b22c86db3e861f7b43771d136f958f6c207f621ba074e15a4fc37aae29ec7c4a6468a2a7ceae67eaf2 +DIST tree-sitter-go-mod-6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c.gh.tar.gz 29074 BLAKE2B 97e3fdffc203d036c59a9cfb3e36c6eea835a19729b472673d9b317b93c88b1a4faf1ebd21ff56c733c5ee054571f9e4e917236c3dc8850b130c6377300efeaa SHA512 d484994f4f0418f929c2723a8765fe5b0b7beb2c43f6587aba82f5c176d212e14790d01bdc368f7dd5b4d861ff2d991cb2c2e28d1c54c60600ea8d8bfa4667d7 +DIST tree-sitter-go-mod-a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca.gh.tar.gz 27305 BLAKE2B 919875231d9f57e8dfe4d9e7772bd71126bf3ce8d39f7d1c9cb5823810b461c96e69389f6736e819a29958e5ac934424ffa9b291c8268741c4ecff2b76ad526a SHA512 247f4298cef3aae19207f06cb977bc84afdbf7b037d34bb294c09482074935e0552711ec7ae1d5c22d4590a0f2c80fb83d59787c4fc14acde4e06f20b6a18105 +DIST tree-sitter-go-work-acb0617bf7f4fda02c6217676cc64acb89536dc7.gh.tar.gz 16413 BLAKE2B 2b97192ad26449d28bb47acb99bd3a0b9cbb8fd2521693099d4191e1d8920b74d1b93f35a1d4f9081dd7bf161f2053f8eba6f2264c8b68d0fbd0fd7d1d1c75b8 SHA512 1b88438403d38019134c41db99c509e4cdbb75c4ba947abb1b5459a9f94eff33006fca4fda4b0a35412507bcdd9f0536a7e1ba2ac0918120242b46bcca9dec96 +DIST tree-sitter-heex-1dd45142fbb05562e35b2040c6129c9bca346592.gh.tar.gz 33900 BLAKE2B 2e7bbd467a4e457211d032492daa180824d9aaf582c0ae132eeb46ddb6016b80aea289e9922542bc9744f4e16c1e5d8d4d3ebc1da4e39a87e9f9eec61e0a2ab3 SHA512 6fb1c269e648231c5453d6dea9c6b6a9f6109328bacd5fc509a4707f41c06ae3d753f7635deea7588f86df1fa7cf630ab6c9051b8d29d359b25e83be07c0b6f5 +DIST tree-sitter-markdown-9a23c1a96c0513d8fc6520972beedd419a973539.gh.tar.gz 418620 BLAKE2B 42c4a9029311aaff11932e6ee426494eb833e9b353763dd45f49fcdb94b297eef65e148e789681d628d80e6985516e8d622eb6e4744814cfa44ff53bea9260b5 SHA512 f1bc7c18bd0d72addb4e73a6e55f057cd6e104a3fb5c970d5036708e69e682d7288e6c14a7040c3f5213e18d798a503fca703c28f89627999e13269749300209 +DIST tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.gh.tar.gz 145319 BLAKE2B ab84051fd4a487f54295b112e1f03ac85b8399d98dd727297960ea240ffe8faa8fc8363353a56adaa411accc57b56d1ef16a5ed612e143637ba9682fa49b332c SHA512 d9e143449cdbe2b092faeeef82d0c9029c7b7c473539db91d22511a71d35740eb3d054a62b20cd9f178e2d1f52d3dddae91fbd5fc5516cf1a047f1a6b9e3b2de +DIST webrtc-dac8015-6-linux-arm64-release.zip 110506896 BLAKE2B 53f6f7607286a51837bab0da1f170d7e17588e7139f1b762e1a270d2e249ad23fefa11a4f240d0302b1e9ea69d7e58e1998a48d1772bea26ab71511336d2980a SHA512 120770d5cc00d31217234437d839d9fc9c06e19cdec1126bf42c115aa658983a5960071999572acdfb74e5d71d6ca808d4055c3723ca190dc3289e01757b88cc +DIST webrtc-dac8015-6-linux-x64-release.zip 95509348 BLAKE2B a843a9438d94ec09345244c69ffa84de23643133c3c1119622dcbf56d08652dc09295f505a80b879b3ef64fabc370353d20c3ab8b2627ccd8bd26c6ec7f1a76e SHA512 f88de80dbc1da6618950aaaf733a0dee3bb7c7a923535b7f988e5f8d48fc1c1b501e7bf1d6d354b957e840bf648bfe979dca5a6f50a307636b58c71a94b7fe46 +DIST xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz 47427 BLAKE2B e5b4d059573a97fd400421ca06e5dd322bb4f61a75edcf8264e4b1a10cd4c3358ed0973022d97d619a4bd675ab4066e7122c42625c163da19cc938a8214ddd6b SHA512 3766382de39ad7e6ac7bfb7a583be9eb47dbb8a6190c53ac726f83cbd27a15b2ea4b166fd52e3b0bf393cedfb553a429684a8be7ed3a50e69376c5ae615c6d8e +DIST xkbcommon-rs-fcbb4612185cc129ceeff51d22f7fb51810a03b2.gh.tar.gz 58121 BLAKE2B f45a05820f40039f57c341d2c6cf3f375bfa4356e5f679a9f6fc6fdd764f1214375356ca3c7216e762735049f37b39d520c778732639365975a90369b38edb94 SHA512 513edf39326231f938747f3d5f195df89540cdf0e37867c2346378fb2bb7f0030bb83ea0422e4ca44a026a8eafa94ef6c4c07af3974e56a2c77b18e0ef9197fe +DIST zed-0.165.4-crates.tar.xz 100617284 BLAKE2B 2ae775115768befa1509f57a3c6177b3ed3e8daac594e4471e783e9e71eb8e0d230e2a46af64e5057166d0f654a7d5652339be2aed54ff42f3b1cbd38583d07b SHA512 6a100d8c15430625739a5d7b6f5b8e1e82bfac38bf9096ca55dcd9a136aea7aa61c6c8415e8e2bceeae2b702166bd3159967f1af75e680adba3e1c94c9acb364 +DIST zed-0.165.4.tar.gz 13286399 BLAKE2B 971ae47f9344d8fd07dbd0237a61a04b62f848f5f5eb84542e1d5e86ddae07603387c48af1e6068a94d3dea910a0234102f63a64f59b88d482398f4ed69346b5 SHA512 ab55422f05eeac551a485be147ee0336bdd790ac51ff21c719c1f432735e695be0e25f747bf2ba92e0f06bce520aa328f867300647d9828ce282bec87f61fe07 +DIST zed-0.168.2-crates.tar.xz 102307616 BLAKE2B 07c3b4270cdb230c1821dcdbcf8d2412e22bcd83d0bcad8d920cb8a24fb7759c94ef631ae3aa043b9fe7435c36fdd4737dcfe88b4cf8e754c91901b2061c6fc3 SHA512 e0e347725001e6d30af3e19556ba698c058572550da928efb6cb8ad2525c25cb2a8234a0ae3bc6a7c3ad9abdeb9b84336b82e11fb0574ce1e3ef02a8b641d850 +DIST zed-0.168.2.tar.gz 13487508 BLAKE2B 7e9f8a73eb461f852d85f9596f3db1af0ce56c5c994c413a90b270d5b2b5bb2e994f78853a17b5579ba9905f761cec11d56c67a686643ca5ae4a36dcd83cfb5f SHA512 c7a1c93e044879209dd19b00dba7e046b13175ed82a4968c1aabe1f1605a61605cb4d8d7906a186c61c6129d59a58e14dd2f336263b301f8b59d3e9f7b332f1b +DIST zed-0.173.8-crates.tar.xz 105781268 BLAKE2B 26ff8b1a6c567391b7c1456cf79933a15df096fcb9a48aa28d5e2f3dd14d52d139e6a3c71ba14846d2bd036e72bc3d5c6e1733c12b179a1823c9580e5abe1026 SHA512 78dda7d4a74da881bc145bf404091588e9c88311c196b29c07d138ae5d354f396fe824eb547e2fc1b3d05906dcef767a56e6f72c5126443122e3ed482a71b06e +DIST zed-0.173.8.tar.gz 13710072 BLAKE2B 78b9e1cbe2eea13fb290d273c7e7a6aaf4354619b5b9bfec20417becfd794d1767b1cd6115a3e614723599a9b0573a7bb56ec815c8a4740e730fdd7c07f523fc SHA512 3b2b9a502cfc1a49979acd1058a68ab0283d57d697d793c4dd18fb1e0a0352ed12ec3204e138f8e866f1e4ea5fbcedce6580af41f0c403ff56b622ca7cade6d0 +DIST zed-0.175.5-crates.tar.xz 106296404 BLAKE2B ad9617aae948ebcfa8998d939ecf1fbacead59180335c9385a5c5ccc2fb84b1037debb9afc5afe227d9ecaa3b6ede0a0f47b75c785cba9c863ae0a18f42792b3 SHA512 b28d5ac7ae4d8de5d36c79928ed509c66555d1c90c34623ec3d582d13b8ced2ec35e6ff257823fa684c8c4838c30b064abaf9cebecb9e0e267ee0e8c0fff0e0e +DIST zed-0.175.5.tar.gz 13720176 BLAKE2B 9738014779ae2998f2abe9fefc155f29d2003a156f8af8966b3329c6ca68560295b06e9e1e6bb6010f05439e1b3a22404140c882521a0f5d67ef25cd02d96913 SHA512 d97510617cf5baf2ad7686daf7450b3cf7d15c2f675ea20638746dfc79cf9ccfac460204e9b810b13308304eb8f65d26e0129617c419aef71e9ae7e350dafa56 diff --git a/app-editors/zed/metadata.xml b/app-editors/zed/metadata.xml new file mode 100644 index 0000000..221f43b --- /dev/null +++ b/app-editors/zed/metadata.xml @@ -0,0 +1,18 @@ + + + + + gentoo.2019@r123.de + Robert Siebeck + + + proxy-maint@gentoo.org + Proxy Maintainers + + + zed-industries/zed + + + Use simplified OpenGLES instead of full-scale OpenGL + + diff --git a/app-editors/zed/zed-0.165.4.ebuild b/app-editors/zed/zed-0.165.4.ebuild new file mode 100644 index 0000000..30bb1df --- /dev/null +++ b/app-editors/zed/zed-0.165.4.ebuild @@ -0,0 +1,173 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.4 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.81.0" +RUST_NEEDS_LLVM=1 + +inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg + +DESCRIPTION="The fast, collaborative code editor" +HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="amd64 ~arm64" +IUSE="gles" +CHECKREQS_DISK_BUILD="8G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + app-misc/jq + dev-db/sqlite:3 + dev-libs/libgit2:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-analyzer/openbsd-netcat + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" + # linking error with llvm-18 + export RUSTFLAGS="${RUSTFLAGS} -C link-args=-Wl,-z,nostart-stop-gc" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.168.2.ebuild b/app-editors/zed/zed-0.168.2.ebuild new file mode 100644 index 0000000..26c71f7 --- /dev/null +++ b/app-editors/zed/zed-0.168.2.ebuild @@ -0,0 +1,205 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.4 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [blade-graphics]='https://github.com/kvark/blade;091a8401033847bb9b6ace3fcf70448d069621c5;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;091a8401033847bb9b6ace3fcf70448d069621c5;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;091a8401033847bb9b6ace3fcf70448d069621c5;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [cpal]='https://github.com/zed-industries/cpal;fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50;cpal-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [libwebrtc]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/libwebrtc' + [livekit-api]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/livekit-api' + [livekit-protocol]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/livekit-protocol' + [livekit-runtime]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/livekit-runtime' + [livekit]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/livekit' + [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [webrtc-sys-build]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/webrtc-sys/build' + [webrtc-sys]='https://github.com/zed-industries/livekit-rust-sdks;060964da10574cd9bf06463a53bf6e0769c5c45e;livekit-rust-sdks-%commit%/webrtc-sys' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.81.0" +RUST_NEEDS_LLVM=1 +WEBRTC_COMMIT="dac8015-6" + +inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg + +DESCRIPTION="The fast, collaborative code editor" +HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + amd64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-x64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-x64-release.zip + ) + arm64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-arm64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-arm64-release.zip + ) + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="amd64 ~arm64" +IUSE="gles" +CHECKREQS_DISK_BUILD="8G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + app-misc/jq + dev-db/sqlite:3 + dev-libs/libgit2:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-analyzer/openbsd-netcat + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-arch/unzip + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" + # linking error with llvm-18 + export RUSTFLAGS="${RUSTFLAGS} -C link-args=-Wl,-z,nostart-stop-gc" + # fix error in livekit-rust-sdks + export RUSTFLAGS="${RUSTFLAGS} -A unexpected_cfgs" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die + + # Cargo offline fetch workaround + local CPAL_COMMIT="fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50" + local CPAL_GIT="git = \"https://github.com/zed-industries/cpal\", rev = \"${CPAL_COMMIT}\"" + local CPAL_PATH="path = \"${WORKDIR}/cpal-${CPAL_COMMIT}\"" + + sed -e "s#${CPAL_GIT}#${CPAL_PATH}#" \ + -i "${S}/Cargo.toml" || die "Cargo fetch workaround failed" +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + if use arm64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-arm64-release" + elif use amd64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-x64-release" + fi + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.173.8.ebuild b/app-editors/zed/zed-0.173.8.ebuild new file mode 100644 index 0000000..d55d556 --- /dev/null +++ b/app-editors/zed/zed-0.173.8.ebuild @@ -0,0 +1,217 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.5 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/alacritty/alacritty;5e78d20c709cb1ab8d44ca7a8702cc26d779227c;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [async-tls]='https://github.com/zed-industries/async-tls;1e759a4b5e370f87dc15e40756ac4f8815b61d9d;async-tls-%commit%' + [blade-graphics]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [cpal]='https://github.com/zed-industries/cpal;fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50;cpal-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [git2]='https://github.com/rust-lang/git2-rs;a3b90cb3756c1bb63e2317bf9cfa57838178de5c;git2-rs-%commit%' + [libgit2-sys]='https://github.com/rust-lang/git2-rs;a3b90cb3756c1bb63e2317bf9cfa57838178de5c;git2-rs-%commit%/libgit2-sys' + [libwebrtc]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/libwebrtc' + [livekit-api]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-api' + [livekit-protocol]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-protocol' + [livekit-runtime]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-runtime' + [livekit]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit' + [lsp-types]='https://github.com/zed-industries/lsp-types;1fff0dd12e2071c5667327394cfec163d2a466ab;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [oo7]='https://github.com/zed-industries/oo7;9d5d5fcd7e4e0add9b420ffb58f67661b0b37568;oo7-%commit%/client' + [pet-conda]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-pixi]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pixi' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gitcommit]='https://github.com/zed-industries/tree-sitter-git-commit;88309716a69dd13ab83443721ba6e0b491d37ee9;tree-sitter-git-commit-%commit%' + [tree-sitter-gomod]='https://github.com/camdencheek/tree-sitter-go-mod;6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [webrtc-sys-build]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/webrtc-sys/build' + [webrtc-sys]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/webrtc-sys' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.81.0" +RUST_NEEDS_LLVM=1 +WEBRTC_COMMIT="dac8015-6" + +inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg + +DESCRIPTION="The fast, collaborative code editor" +HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + amd64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-x64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-x64-release.zip + ) + arm64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-arm64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-arm64-release.zip + ) + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="gles" +CHECKREQS_DISK_BUILD="9G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + app-misc/jq + dev-db/sqlite:3 + >=dev-libs/libgit2-1.9.0:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-analyzer/openbsd-netcat + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-arch/unzip + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" + # linking error with llvm-18 + export RUSTFLAGS="${RUSTFLAGS} -C link-args=-Wl,-z,nostart-stop-gc" + # fix error in livekit-rust-sdks + export RUSTFLAGS="${RUSTFLAGS} -A unexpected_cfgs" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die + + # Cargo offline fetch workaround + local CPAL_COMMIT="fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50" + local CPAL_GIT="git = \"https://github.com/zed-industries/cpal\", rev = \"${CPAL_COMMIT}\"" + local CPAL_PATH="path = \"${WORKDIR}/cpal-${CPAL_COMMIT}\"" + + local ASYNC_TLS_COMMIT="1e759a4b5e370f87dc15e40756ac4f8815b61d9d" + local ASYNC_TLS_GIT="git = \"https://github.com/zed-industries/async-tls\", rev = \"${ASYNC_TLS_COMMIT}\"" + local ASYNC_TLS_PATH="path = \"${WORKDIR}/async-tls-${ASYNC_TLS_COMMIT}\"" + + sed -e "s#${CPAL_GIT}#${CPAL_PATH}#" \ + -e "s#${ASYNC_TLS_GIT}#${ASYNC_TLS_PATH}#" \ + -i "${S}/Cargo.toml" || die "Cargo fetch workaround failed" +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + if use arm64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-arm64-release" + elif use amd64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-x64-release" + fi + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.175.5.ebuild b/app-editors/zed/zed-0.175.5.ebuild new file mode 100644 index 0000000..4f6502c --- /dev/null +++ b/app-editors/zed/zed-0.175.5.ebuild @@ -0,0 +1,220 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.5 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [async-tls]='https://github.com/zed-industries/async-tls;1e759a4b5e370f87dc15e40756ac4f8815b61d9d;async-tls-%commit%' + [blade-graphics]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [cpal]='https://github.com/zed-industries/cpal;fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50;cpal-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [git2]='https://github.com/rust-lang/git2-rs;a3b90cb3756c1bb63e2317bf9cfa57838178de5c;git2-rs-%commit%' + [libgit2-sys]='https://github.com/rust-lang/git2-rs;a3b90cb3756c1bb63e2317bf9cfa57838178de5c;git2-rs-%commit%/libgit2-sys' + [libwebrtc]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/libwebrtc' + [livekit-api]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-api' + [livekit-protocol]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-protocol' + [livekit-runtime]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit-runtime' + [livekit]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/livekit' + [lsp-types]='https://github.com/zed-industries/lsp-types;1fff0dd12e2071c5667327394cfec163d2a466ab;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-pixi]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pixi' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gitcommit]='https://github.com/zed-industries/tree-sitter-git-commit;88309716a69dd13ab83443721ba6e0b491d37ee9;tree-sitter-git-commit-%commit%' + [tree-sitter-gomod]='https://github.com/camdencheek/tree-sitter-go-mod;6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [webrtc-sys-build]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/webrtc-sys/build' + [webrtc-sys]='https://github.com/zed-industries/livekit-rust-sdks;811ceae29fabee455f110c56cd66b3f49a7e5003;livekit-rust-sdks-%commit%/webrtc-sys' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.81.0" +RUST_NEEDS_LLVM=1 +WEBRTC_COMMIT="dac8015-6" + +inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg + +DESCRIPTION="The fast, collaborative code editor" +HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + amd64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-x64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-x64-release.zip + ) + arm64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-arm64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-arm64-release.zip + ) + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="gles" +CHECKREQS_DISK_BUILD="9G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + app-misc/jq + dev-db/sqlite:3 + >=dev-libs/libgit2-1.9.0:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + || ( + media-fonts/dejavu + media-fonts/cantarell + media-fonts/noto + media-fonts/ubuntu-font-family + ) + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-analyzer/openbsd-netcat + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-arch/unzip + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" + # linking error with llvm-18 + export RUSTFLAGS="${RUSTFLAGS} -C link-args=-Wl,-z,nostart-stop-gc" + # fix error in livekit-rust-sdks + export RUSTFLAGS="${RUSTFLAGS} -A unexpected_cfgs" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die + + # Cargo offline fetch workaround + local CPAL_COMMIT="fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50" + local CPAL_GIT="git = \"https://github.com/zed-industries/cpal\", rev = \"${CPAL_COMMIT}\"" + local CPAL_PATH="path = \"${WORKDIR}/cpal-${CPAL_COMMIT}\"" + + local ASYNC_TLS_COMMIT="1e759a4b5e370f87dc15e40756ac4f8815b61d9d" + local ASYNC_TLS_GIT="git = \"https://github.com/zed-industries/async-tls\", rev = \"${ASYNC_TLS_COMMIT}\"" + local ASYNC_TLS_PATH="path = \"${WORKDIR}/async-tls-${ASYNC_TLS_COMMIT}\"" + + sed -e "s#${CPAL_GIT}#${CPAL_PATH}#" \ + -e "s#${ASYNC_TLS_GIT}#${ASYNC_TLS_PATH}#" \ + -i "${S}/Cargo.toml" || die "Cargo fetch workaround failed" +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + if use arm64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-arm64-release" + elif use amd64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-x64-release" + fi + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-emulation/quickemu/Manifest b/app-emulation/quickemu/Manifest index ce1303b..f5a2060 100644 --- a/app-emulation/quickemu/Manifest +++ b/app-emulation/quickemu/Manifest @@ -1,2 +1 @@ -DIST quickemu-4.9.1.tar.gz 176739 BLAKE2B 0cb89afcc54e9e35573721a45a381be708843d33a70d6b8ed9943b46922dc584ff12a34414fc421f85ffc23eb335185d210f126b4bf77c6fa37a02e64ab13c4a SHA512 bf6e4f8a4d05ceb1b69eb32041476d91275c302de162a578380183d981625837256dd7b06804920cf17215657ad4c19eb75ffa12d071cef01d0baabffcc79479 DIST quickemu-4.9.2.tar.gz 179761 BLAKE2B 70eeea65a0a654e00215e595cb3bab0272d2796266656e82bd05621b96c09b5e58d2759bff2ee435c454ceffc94d6bf0f9c07496169852813d69effd8c0f89cc SHA512 c9d3afd81062590af7c73cb4757d9c704dbbbb86aae709962de421e94f235f321a7424cd340bbe15f203e5012e23f8d75fcc1f23c4db01e10e01a81159ad70a2 diff --git a/app-forensics/aflplusplus/Manifest b/app-forensics/aflplusplus/Manifest new file mode 100644 index 0000000..bfc8014 --- /dev/null +++ b/app-forensics/aflplusplus/Manifest @@ -0,0 +1,4 @@ +DIST aflplusplus-4.21c-patches.tar.xz 4932 BLAKE2B 8d53291a6d26ecc3d08fb4ca2711544e16c393def9fcb383d4eeb1d67d6bcd531788907ebeac2413e7fed5af5d56f363c6c4d766453e1d8de482cb6d285164ca SHA512 10322ed8d4549ccd2ee85fee00ffea712195858a004344424c31ebe4e4e8d3caf03f0d81d5cb38365418ee1e96288ba44504cb41a66644076e2cb46527f111fc +DIST aflplusplus-4.21c.tar.gz 3004235 BLAKE2B c182260ba25a8a7a87b91ece5b3ea6aafba09b3361259361d9be24b7c5dd90430403a3170ed9397edaa714a45f62de26f324aab005a27a44fffce2708bb366e5 SHA512 cb58d58561ac814e07e9b5b735fade42b977fb1b92a63f1d7a66a5809203e83acf805ccfdc8ce29c9a3b374a189690010ca3d8ae20e261680751cea3c4841777 +DIST aflplusplus-4.30c-patches.tar.xz 5008 BLAKE2B 60031d726e0d1834d0791bb88e437ac81bca1995dd424d64a0694b7e518e3ddbcf490413d830d2fe7649a1eb5c4cfa0e34e8115505a8c5df5e3fddce80b31efd SHA512 6d9d6bf03f5e899b58252eb299029f1b3630f129e78dd7ec2512ae48244822e0614d915c04ba699b2b56d4f839451b0e76e3f1148eb3027e6e7f53a79111add3 +DIST aflplusplus-4.30c.tar.gz 3031558 BLAKE2B 7f9c7d32afc5316cef460a72e7603aee36161559c2bb5c03edc408c16e8ba8bf96ced2c90e5578caa401ace37caf3ff7bba72ab58b7070c7c5b69004dc2d4da7 SHA512 072c9524978843eec6be5428793be43d10f3530a3f569fd4015d950cdd87696e887c3b567440afee8cb5e359b234d0c5e668cf9ab90622783fc82f68e3ec5f98 diff --git a/app-forensics/aflplusplus/aflplusplus-4.21c.ebuild b/app-forensics/aflplusplus/aflplusplus-4.21c.ebuild new file mode 100644 index 0000000..d3f3c44 --- /dev/null +++ b/app-forensics/aflplusplus/aflplusplus-4.21c.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit toolchain-funcs llvm-r1 optfeature python-single-r1 + +AFL_PATCHSET="${PN}-4.21c-patches" +DESCRIPTION="Fork of AFL, the popular compile-time instrumentation fuzzer" +HOMEPAGE="https://github.com/AFLplusplus/AFLplusplus" +SRC_URI="https://github.com/AFLplusplus/AFLplusplus/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${AFL_PATCHSET}.tar.xz" +S="${WORKDIR}"/AFLplusplus-${PV} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm64" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Tests involve heavy use of LD_PRELOAD in some cases +# This isn't compatible with sandbox +RESTRICT="test" + +RDEPEND=" + ${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + !app-forensics/afl +" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka ) +" + +QA_FLAGS_IGNORED=" + usr/lib.*/afl/afl-gcc-cmplog-pass.so + usr/lib.*/afl/afl-gcc-cmptrs-pass.so +" +QA_PREBUILT="usr/share/afl/testcases/others/elf/small_exec.elf" + +PATCHES=( + "${WORKDIR}"/${AFL_PATCHSET} +) + +pkg_setup() { + llvm-r1_pkg_setup + python-single-r1_pkg_setup +} + +mymake() { + # afl-fuzz spews garbage to stdout if the environment contains any + # variables whose name beginning with USE_ (including the underscore), + # regardless of their value (even if empty!). The ebuild environment + # contains several such variables and the garbage that gets printed + # ends up in the generated man page. + # + # We can work around the problem by unsetting all these variables when + # running make. + local badvars=("${!USE_@}") + + env "${badvars[@]/#/-u}" emake \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + CFLAGS_FLTO="" \ + PREFIX="${EPREFIX}/usr" \ + HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \ + DOC_PATH="${EPREFIX}/usr/share/doc/${PF}" \ + MAN_PATH="${EPREFIX}/usr/share/man/man8" \ + "$@" +} + +src_compile() { + mymake +} + +src_test() { + mymake test +} + +src_install() { + mymake DESTDIR="${D}" install + dostrip -x /usr/share/afl/testcases/ +} + +pkg_postinst() { + # TODO: Any others? + optfeature "fuzzing with AFL_USE_ASAN" llvm-runtimes/compiler-rt-sanitizers[asan] + optfeature "fuzzing with AFL_USE_MSAN" llvm-runtimes/compiler-rt-sanitizers[msan] +} diff --git a/app-forensics/aflplusplus/aflplusplus-4.30c.ebuild b/app-forensics/aflplusplus/aflplusplus-4.30c.ebuild new file mode 100644 index 0000000..697f325 --- /dev/null +++ b/app-forensics/aflplusplus/aflplusplus-4.30c.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic toolchain-funcs llvm-r1 optfeature python-single-r1 + +AFL_PATCHSET="${PN}-4.30c-patches" +DESCRIPTION="Fork of AFL, the popular compile-time instrumentation fuzzer" +HOMEPAGE="https://github.com/AFLplusplus/AFLplusplus" +SRC_URI="https://github.com/AFLplusplus/AFLplusplus/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${AFL_PATCHSET}.tar.xz" +S="${WORKDIR}"/AFLplusplus-${PV} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm64" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Tests involve heavy use of LD_PRELOAD in some cases +# This isn't compatible with sandbox +RESTRICT="test" + +RDEPEND=" + ${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + !app-forensics/afl +" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka ) +" + +QA_FLAGS_IGNORED=" + usr/lib.*/afl/afl-gcc-cmplog-pass.so + usr/lib.*/afl/afl-gcc-cmptrs-pass.so +" +QA_PREBUILT="usr/share/afl/testcases/others/elf/small_exec.elf" + +PATCHES=( + "${WORKDIR}"/${AFL_PATCHSET} +) + +pkg_setup() { + llvm-r1_pkg_setup + python-single-r1_pkg_setup +} + +mymake() { + # afl-fuzz spews garbage to stdout if the environment contains any + # variables whose name beginning with USE_ (including the underscore), + # regardless of their value (even if empty!). The ebuild environment + # contains several such variables and the garbage that gets printed + # ends up in the generated man page. + # + # We can work around the problem by unsetting all these variables when + # running make. + local badvars=("${!USE_@}") + + env "${badvars[@]/#/-u}" emake \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + CFLAGS_FLTO="" \ + PREFIX="${EPREFIX}/usr" \ + HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \ + DOC_PATH="${EPREFIX}/usr/share/doc/${PF}" \ + MAN_PATH="${EPREFIX}/usr/share/man/man8" \ + "$@" +} + +src_compile() { + # bug #945258 + append-cflags -std=gnu17 + + mymake +} + +src_test() { + mymake test +} + +src_install() { + mymake DESTDIR="${D}" install + dostrip -x /usr/share/afl/testcases/ +} + +pkg_postinst() { + # TODO: Any others? + optfeature "fuzzing with AFL_USE_ASAN" llvm-runtimes/compiler-rt-sanitizers[asan] + optfeature "fuzzing with AFL_USE_MSAN" llvm-runtimes/compiler-rt-sanitizers[msan] +} diff --git a/app-forensics/aflplusplus/metadata.xml b/app-forensics/aflplusplus/metadata.xml new file mode 100644 index 0000000..528cc29 --- /dev/null +++ b/app-forensics/aflplusplus/metadata.xml @@ -0,0 +1,11 @@ + + + + + sam@gentoo.org + Sam James + + + AFLplusplus/AFLplusplus + + diff --git a/app-text/doxygen/Manifest b/app-text/doxygen/Manifest new file mode 100644 index 0000000..f875e8d --- /dev/null +++ b/app-text/doxygen/Manifest @@ -0,0 +1,3 @@ +DIST doxygen-1.12.0.src.tar.gz 8472577 BLAKE2B de823aa8dee0e22ec49bbb97cf5b53272cdaea249250556b07602d501d45774be19dbd40ecc4324942840d3fe90b0224aa5c61ec7d42098f1797d75f3795268d SHA512 e407e29c5e232e1f8dca291dd2d00b1dd400be709400225339408fad2cd758563b69f290cbd7c0efeb76b1335c4672fb1d6d580b9e6ed570708cf9b7d78951b1 +DIST doxygen-1.13.0.src.tar.gz 8502031 BLAKE2B 8a12ed632772b48d07ea4edf16032f491e05b4718d38160ebc1f3d8de1cdf96bca827da28048907cf538a286757ddf56c503fbe08dcfc5a17cc72fea7233a466 SHA512 f6cae74bd8df9c6c2ba3fa21fc33926e6d5eba65101776f84c1fa056d9231d69e232a30d7702b53a284543fc4765edadb10f4d4b4a46314fa08580963d9226fb +DIST doxygen-1.9.8.src.tar.gz 8087770 BLAKE2B 9b93bd394e9fdafef1c274596f790db0956028332a945e0359b7b24440aefa5362b2126649c529e71341bba172cd1fa514455567ffffd37243a740a1ffbc1944 SHA512 edcd382538ecf0afd9d1c891afe302092cd541a30840dda6b00dc0f1d6c5b39a696ab98042c5bb4012c1c051609bfdbfa7d29e3098a72f6cb504d90097767ebb diff --git a/app-text/doxygen/doxygen-1.12.0.ebuild b/app-text/doxygen/doxygen-1.12.0.ebuild new file mode 100644 index 0000000..997dd81 --- /dev/null +++ b/app-text/doxygen/doxygen-1.12.0.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" + +inherit cmake flag-o-matic llvm-r1 python-any-r1 + +DESCRIPTION="Documentation system for most programming languages" +HOMEPAGE="https://www.doxygen.nl/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" +else + SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz" + SRC_URI+=" https://downloads.sourceforge.net/doxygen/rel-${PV}/${P}.src.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +# GPL-2 also for bundled libmscgen +LICENSE="GPL-2" +SLOT="0" +IUSE="clang debug doc dot doxysearch gui test" +# - We need TeX for tests, bug #765472 +# - We keep the odd construct of noop USE=test because of +# the special relationship b/t RESTRICT & USE for tests. +# Also, it's a hint which avoids tests being silently skipped during arch testing. +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} ) test? ( doc )" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" +RDEPEND=" + app-text/ghostscript-gpl + dev-db/sqlite:3 + dev-lang/perl + dev-libs/libfmt:= + dev-libs/spdlog:= + virtual/libiconv + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + dot? ( + media-gfx/graphviz[freetype(+)] + ) + doc? ( + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + dev-texlive/texlive-plaingeneric + ) + doxysearch? ( dev-libs/xapian:= ) + gui? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch" + "${FILESDIR}/${PN}-1.9.8-suppress-unused-option-libcxx.patch" + "${FILESDIR}/${PN}-1.12.0-libfmt-11.patch" + + # Backports + "${FILESDIR}/${PN}-1.12.0-clang-19.patch" +) + +DOCS=( LANGUAGE.HOWTO README.md ) + +pkg_setup() { + use clang && llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + # Call dot with -Teps instead of -Tps for EPS generation - bug #282150 + sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die + + # fix pdf doc + sed -i.orig -e "s:g_kowal:g kowal:" \ + doc/maintainers.txt || die + + if is-flagq "-O3" ; then + # TODO: Investigate this and report a bug accordingly... + ewarn "Compiling with -O3 is known to produce incorrectly" + ewarn "optimized code which breaks doxygen. Using -O2 instead." + replace-flags "-O3" "-O2" + fi +} + +src_configure() { + # Very slow to compile, bug #920092 + filter-flags -fipa-pta + # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287 + filter-lto + + local mycmakeargs=( + -Duse_libclang=$(usex clang) + # Let the user choose instead, see also bug #822615 + -Duse_libc++=OFF + -Dbuild_doc=$(usex doc) + -Dbuild_search=$(usex doxysearch) + -Dbuild_wizard=$(usex gui) + -Duse_sys_spdlog=ON + -Duse_sys_sqlite3=ON + -DBUILD_SHARED_LIBS=OFF + -DGIT_EXECUTABLE="false" + + # Noisy and irrelevant downstream + -Wno-dev + ) + + use doc && mycmakeargs+=( + -DDOC_INSTALL_DIR="share/doc/${P}" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use doc; then + export VARTEXFONTS="${T}/fonts" # bug #564944 + + if ! use dot; then + sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \ + {testing/Doxyfile,doc/Doxyfile} \ + || die "disabling dot failed" + fi + + # -j1 for bug #770070 + cmake_src_compile docs -j1 + fi +} + +src_install() { + cmake_src_install + + # manpages are only automatically installed when docs are + # https://github.com/doxygen/doxygen/pull/10647 + doman doc/doxygen.1 + use gui && doman doc/doxywizard.1 + use doxysearch && { + doman doc/doxyindexer.1 + doman doc/doxysearch.1 + } +} diff --git a/app-text/doxygen/doxygen-1.13.0-r1.ebuild b/app-text/doxygen/doxygen-1.13.0-r1.ebuild new file mode 100644 index 0000000..2d3d664 --- /dev/null +++ b/app-text/doxygen/doxygen-1.13.0-r1.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" + +inherit cmake flag-o-matic llvm-r1 python-any-r1 + +DESCRIPTION="Documentation system for most programming languages" +HOMEPAGE="https://www.doxygen.nl/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" +else + SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz" + SRC_URI+=" https://downloads.sourceforge.net/doxygen/rel-${PV}/${P}.src.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +# GPL-2 also for bundled libmscgen +LICENSE="GPL-2" +SLOT="0" +IUSE="clang debug doc dot doxysearch gui test" +# - We need TeX for tests, bug #765472 +# - We keep the odd construct of noop USE=test because of +# the special relationship b/t RESTRICT & USE for tests. +# Also, it's a hint which avoids tests being silently skipped during arch testing. +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} ) test? ( doc )" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" +RDEPEND=" + app-text/ghostscript-gpl + dev-db/sqlite:3 + dev-lang/perl + dev-libs/libfmt:= + dev-libs/spdlog:= + virtual/libiconv + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + dot? ( + media-gfx/graphviz[freetype(+)] + ) + doc? ( + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + dev-texlive/texlive-plaingeneric + ) + doxysearch? ( dev-libs/xapian:= ) + gui? ( dev-qt/qtbase:6[gui,widgets,xml] ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch" + "${FILESDIR}/${PN}-1.9.8-suppress-unused-option-libcxx.patch" +) + +DOCS=( LANGUAGE.HOWTO README.md ) + +pkg_setup() { + use clang && llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + # Call dot with -Teps instead of -Tps for EPS generation - bug #282150 + sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die + + # fix pdf doc + sed -i.orig -e "s:g_kowal:g kowal:" \ + doc/maintainers.txt || die + + if is-flagq "-O3" ; then + # TODO: Investigate this and report a bug accordingly... + ewarn "Compiling with -O3 is known to produce incorrectly" + ewarn "optimized code which breaks doxygen. Using -O2 instead." + replace-flags "-O3" "-O2" + fi +} + +src_configure() { + # Very slow to compile, bug #920092 + filter-flags -fipa-pta + # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287 + filter-lto + + local mycmakeargs=( + -Duse_libclang=$(usex clang) + # Let the user choose instead, see also bug #822615 + -Duse_libc++=OFF + -Dbuild_doc=$(usex doc) + -Dbuild_search=$(usex doxysearch) + -Dbuild_wizard=$(usex gui) + -Dforce_qt=Qt6 + -Duse_sys_spdlog=ON + -Duse_sys_sqlite3=ON + -DBUILD_SHARED_LIBS=OFF + -DGIT_EXECUTABLE="false" + + # Noisy and irrelevant downstream + -Wno-dev + ) + + use doc && mycmakeargs+=( + -DDOC_INSTALL_DIR="share/doc/${P}" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use doc; then + export VARTEXFONTS="${T}/fonts" # bug #564944 + + if ! use dot; then + sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \ + {testing/Doxyfile,doc/Doxyfile} \ + || die "disabling dot failed" + fi + + # -j1 for bug #770070 + cmake_src_compile docs -j1 + fi +} + +src_install() { + cmake_src_install + + # manpages are only automatically installed when docs are + # https://github.com/doxygen/doxygen/pull/10647 + doman doc/doxygen.1 + use gui && doman doc/doxywizard.1 + use doxysearch && { + doman doc/doxyindexer.1 + doman doc/doxysearch.1 + } +} diff --git a/app-text/doxygen/doxygen-1.9.8.ebuild b/app-text/doxygen/doxygen-1.9.8.ebuild new file mode 100644 index 0000000..f5495bd --- /dev/null +++ b/app-text/doxygen/doxygen-1.9.8.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=17 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="xml(+)" + +inherit cmake flag-o-matic llvm python-any-r1 + +DESCRIPTION="Documentation system for most programming languages" +HOMEPAGE="https://www.doxygen.nl/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" +else + SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz" + SRC_URI+=" https://downloads.sourceforge.net/doxygen/rel-${PV}/${P}.src.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +# GPL-2 also for bundled libmscgen +LICENSE="GPL-2" +SLOT="0" +IUSE="clang debug doc dot doxysearch gui test" +# - We need TeX for tests, bug #765472 +# - We keep the odd construct of noop USE=test because of +# the special relationship b/t RESTRICT & USE for tests. +# Also, it's a hint which avoids tests being silently skipped during arch testing. +REQUIRED_USE="test? ( doc )" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" +RDEPEND=" + app-text/ghostscript-gpl + dev-db/sqlite:3 + dev-lang/perl + dev-libs/libfmt:= + dev-libs/spdlog:= + media-libs/libpng:= + virtual/libiconv + clang? ( + +Date: Fri, 9 Aug 2024 14:13:34 +0200 +Subject: [PATCH] Fix build with clang >= 19.0 + +Clang >= 19.0 requires a template argument list after the template +keyword for CWG96 compliance, see +https://github.com/llvm/llvm-project/pull/80801 + +This patch has also been submitted to upstream TinyDeflate as +https://github.com/bisqwit/TinyDeflate/pull/9 +--- a/deps/TinyDeflate/gunzip.hh ++++ b/deps/TinyDeflate/gunzip.hh +@@ -1141,21 +1141,21 @@ namespace gunzip_ns + //fprintf(stderr, "both track flag\n"); + SizeTracker tracker; + return tracker(Gunzip +- (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward(b))); ++ (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward(b))); + } + else if constexpr(code & Flag_TrackIn) + { + //fprintf(stderr, "in track flag\n"); + SizeTracker tracker; + return tracker(Gunzip +- (tracker.template ForwardInput(i),std::forward(o),std::forward(c),std::forward(b))); ++ (tracker.template ForwardInput(i),std::forward(o),std::forward(c),std::forward(b))); + } + else if constexpr(code & Flag_TrackOut) + { + //fprintf(stderr, "out track flag\n"); + SizeTracker tracker; + return tracker(Gunzip +- (std::forward(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward(b))); ++ (std::forward(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward(b))); + } + else + { diff --git a/app-text/doxygen/files/doxygen-1.12.0-libfmt-11.patch b/app-text/doxygen/files/doxygen-1.12.0-libfmt-11.patch new file mode 100644 index 0000000..a73f6ad --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.12.0-libfmt-11.patch @@ -0,0 +1,112 @@ +https://bugs.gentoo.org/937599 +https://github.com/doxygen/doxygen/pull/11083 + +From 567aca983f70b01103271e431bc71a13ac79213c Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +Date: Fri, 9 Aug 2024 03:00:05 +0300 +Subject: [PATCH] Adjust to libfmt-11 changes + +Bug: https://bugs.gentoo.org/937599 +See-Also: https://github.com/fmtlib/fmt/commit/d70729215fba1d54862e407b626abf86ddf409bf +Signed-off-by: Alfred Wingate +--- a/src/trace.h ++++ b/src/trace.h +@@ -156,7 +156,7 @@ namespace fmt { template struct formatter {}; } + //! adds support for formatting QCString + template<> struct fmt::formatter : formatter + { +- auto format(const QCString &c, format_context& ctx) { ++ auto format(const QCString &c, format_context& ctx) const { + return formatter::format(c.str(), ctx); + } + }; +@@ -164,7 +164,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting Protected + template<> struct fmt::formatter : formatter + { +- auto format(Protection prot, format_context& ctx) { ++ auto format(Protection prot, format_context& ctx) const { + std::string result="Unknown"; + switch (prot) + { +@@ -180,7 +180,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting Specifier + template<> struct fmt::formatter : formatter + { +- auto format(Specifier spec, format_context& ctx) { ++ auto format(Specifier spec, format_context& ctx) const { + std::string result="Unknown"; + switch (spec) + { +@@ -195,7 +195,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting MethodTypes + template<> struct fmt::formatter : formatter + { +- auto format(MethodTypes mtype, format_context& ctx) { ++ auto format(MethodTypes mtype, format_context& ctx) const { + std::string result="Unknown"; + switch (mtype) + { +@@ -213,7 +213,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting RelatesType + template<> struct fmt::formatter : formatter + { +- auto format(RelatesType type, format_context& ctx) { ++ auto format(RelatesType type, format_context& ctx) const { + std::string result="Unknown"; + switch (type) + { +@@ -228,7 +228,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting RelationShip + template<> struct fmt::formatter : formatter + { +- auto format(Relationship relation, format_context& ctx) { ++ auto format(Relationship relation, format_context& ctx) const { + std::string result="Unknown"; + switch (relation) + { +@@ -243,7 +243,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting SrcLangExt + template<> struct fmt::formatter : formatter + { +- auto format(SrcLangExt lang, format_context& ctx) { ++ auto format(SrcLangExt lang, format_context& ctx) const { + std::string result="Unknown"; + switch (lang) + { +@@ -273,7 +273,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting MemberType + template<> struct fmt::formatter : formatter + { +- auto format(MemberType mtype, format_context& ctx) { ++ auto format(MemberType mtype, format_context& ctx) const { + std::string result="Unknown"; + switch (mtype) + { +@@ -301,7 +301,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting TypeSpecifier + template<> struct fmt::formatter : formatter + { +- auto format(TypeSpecifier type, format_context& ctx) { ++ auto format(TypeSpecifier type, format_context& ctx) const { + return formatter::format(type.to_string(),ctx); + } + }; +@@ -309,7 +309,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting EntryType + template<> struct fmt::formatter : formatter + { +- auto format(EntryType type, format_context& ctx) { ++ auto format(EntryType type, format_context& ctx) const { + return formatter::format(type.to_string(),ctx); + } + }; +@@ -317,7 +317,7 @@ template<> struct fmt::formatter : formatter + //! adds support for formatting MemberListType + template<> struct fmt::formatter : formatter + { +- auto format(MemberListType type, format_context& ctx) { ++ auto format(MemberListType type, format_context& ctx) const { + return formatter::format(type.to_string(),ctx); + } + }; diff --git a/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch b/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch new file mode 100644 index 0000000..66093eb --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch @@ -0,0 +1,24 @@ +diff --git a/addon/doxywizard/.CMakeLists.txt.swp b/addon/doxywizard/.CMakeLists.txt.swp +deleted file mode 100644 +index fc379d2..0000000 +Binary files a/addon/doxywizard/.CMakeLists.txt.swp and /dev/null differ +diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt +index bb0e0eb..b6135bd 100644 +--- a/addon/doxywizard/CMakeLists.txt ++++ b/addon/doxywizard/CMakeLists.txt +@@ -132,12 +132,12 @@ apply_editbin(doxywizard windows) + endif() + + if(Qt5Core_FOUND) +- target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version) ++ target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version pthread) + else() + if(Qt6Core_FOUND) +- target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version) ++ target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version pthread) + else() +- target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version) ++ target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version pthread) + endif() + endif() + diff --git a/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch b/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch new file mode 100644 index 0000000..2c71a0a --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch @@ -0,0 +1,26 @@ +https://bugs.gentoo.org/906920 +https://gitlab.exherbo.org/exherbo/arbor/-/commit/7b517ba0068adc471fe7b2ed8cfbb191a197ca17 + +From 6d713aa98b36ee8219294515142c0225fbd09dfc Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Thu, 25 May 2023 10:52:29 +0200 +Subject: [PATCH] Apply upstream fix for spdlog + +Fixes the build with musl >= 1.2.4, see +https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96 +for details. +--- a/deps/spdlog/include/spdlog/details/os-inl.h ++++ b/deps/spdlog/include/spdlog/details/os-inl.h +@@ -236,8 +236,8 @@ SPDLOG_INLINE size_t filesize(FILE *f) + # else + int fd = ::fileno(f); + # endif +-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated) +-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64)) ++// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated) ++# if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64)) + struct stat64 st; + if (::fstat64(fd, &st) == 0) + { +-- +2.41.0.rc2 diff --git a/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch b/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch new file mode 100644 index 0000000..e73385d --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch @@ -0,0 +1,51 @@ +https://github.com/doxygen/doxygen/issues/10265 +https://github.com/doxygen/doxygen/pull/10284 + +From 70bb112352ae7f3130647dcc009d8de5d4134e6d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= + =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= +Date: Mon, 4 Sep 2023 18:49:27 +0100 +Subject: [PATCH 1/2] doxyapp: Fix linking to spdlog + +--- + addon/doxyapp/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index 4f3c31feacd..6097a3cca69 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -46,7 +46,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-spdlog ++spdlog::spdlog + ${ICONV_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + +From 71f2ed171a6d14a67f1905802714add974c31789 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= + =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= +Date: Mon, 4 Sep 2023 18:50:25 +0100 +Subject: [PATCH 2/2] doxyparse: Fix linking to spdlog + +--- + addon/doxyparse/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index 24881e3ef12..0157afb45e2 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -35,7 +35,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-spdlog ++spdlog::spdlog + ${ICONV_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + diff --git a/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch b/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch new file mode 100644 index 0000000..1da9a2d --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch @@ -0,0 +1,16 @@ +Always expose the use_libc++ option. It's only useful for Clang but cmake.class +tries to find when we've used CMake options which are unused/unknown and this +triggers it for GCC builds if we set -Duse_libc++=OFF. + +So, always expose the option so we can turn it off without a warning. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,7 +21,7 @@ option(build_xmlparser "Automatically update the XML parser modules when updatin + option(build_search "Build external search tools (doxysearch and doxyindexer)" OFF) + option(build_doc "Build user manual (HTML and PDF)" OFF) + option(build_doc_chm "Build user manual (CHM)" OFF) +-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") ++if (TRUE) + option(use_libc++ "Use libc++ as C++ standard library." ON) + endif() + option(use_libclang "Add support for libclang parsing." OFF) diff --git a/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch b/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch new file mode 100644 index 0000000..04d1d69 --- /dev/null +++ b/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch @@ -0,0 +1,119 @@ +https://github.com/doxygen/doxygen/issues/10263 +https://github.com/doxygen/doxygen/commit/28609fecd41d885e54fa170e499a0e5b55def2c2 + +From 28609fecd41d885e54fa170e499a0e5b55def2c2 Mon Sep 17 00:00:00 2001 +From: Dimitri van Heesch +Date: Mon, 28 Aug 2023 20:19:16 +0200 +Subject: [PATCH] issue #10263 please add a use_sys_sqlite3 config option + +--- + CMakeLists.txt | 6 +++++- + cmake/FindSQLite3.cmake | 38 ++++++++++++++++++++++++++++++++++++++ + deps/CMakeLists.txt | 4 +++- + src/CMakeLists.txt | 4 +++- + 4 files changed, 49 insertions(+), 3 deletions(-) + create mode 100644 cmake/FindSQLite3.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4957c34c24d..31e53cc8440 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,7 +25,8 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + option(use_libc++ "Use libc++ as C++ standard library." ON) + endif() + option(use_libclang "Add support for libclang parsing." OFF) +-option(use_sys_spdlog "Use system spdlog instead of bundled." OFF) ++option(use_sys_spdlog "Use system spdlog library instead of the one bundled." OFF) ++option(use_sys_sqlite3 "Use system sqlite3 library instead of the one bundled." OFF) + option(static_libclang "Link to a statically compiled version of LLVM/libclang." OFF) + option(win_static "Link with /MT in stead of /MD on windows" OFF) + option(enable_console "Enable that executables on Windows get the CONSOLE bit set for the doxywizard executable [development]" OFF) +@@ -67,6 +68,9 @@ endif() + if (use_sys_spdlog) + find_package(spdlog CONFIG REQUIRED) + endif() ++if (use_sys_sqlite3) ++ find_package(SQLite3 REQUIRED) ++endif() + if (build_wizard) + if (force_qt STREQUAL "Qt6") + if (CMAKE_SYSTEM MATCHES "Darwin") +diff --git a/cmake/FindSQLite3.cmake b/cmake/FindSQLite3.cmake +new file mode 100644 +index 00000000000..7c21de223a7 +--- /dev/null ++++ b/cmake/FindSQLite3.cmake +@@ -0,0 +1,38 @@ ++# Copyright (C) 2007-2009 LuaDist. ++# Created by Peter Kapec ++# Redistribution and use of this file is allowed according to the terms of the MIT license. ++# For details see the COPYRIGHT file distributed with LuaDist. ++# Note: ++# Searching headers and libraries is very simple and is NOT as powerful as scripts ++# distributed with CMake, because LuaDist defines directories to search for. ++# Everyone is encouraged to contact the author with improvements. Maybe this file ++# becomes part of CMake distribution sometimes. ++ ++# - Find sqlite3 ++# Find the native SQLite3 headers and libraries. ++# ++# SQLite3_INCLUDE_DIRS - where to find sqlite3.h, etc. ++# SQLite3_LIBRARIES - List of libraries when using sqlite. ++# SQLite3_FOUND - True if sqlite found. ++ ++# Look for the header file. ++FIND_PATH(SQLite3_INCLUDE_DIR NAMES sqlite3.h) ++ ++# Look for the library. ++FIND_LIBRARY(SQLite3_LIBRARY NAMES sqlite3) ++ ++# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE if all listed variables are TRUE. ++INCLUDE(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLite3 DEFAULT_MSG SQLite3_LIBRARY SQLite3_INCLUDE_DIR) ++ ++# Copy the results to the output variables. ++IF(SQLite3_FOUND) ++ SET(SQLite3_LIBRARIES ${SQLite3_LIBRARY}) ++ SET(SQLite3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR}) ++ELSE(SQLite3_FOUND) ++ SET(SQLite3_LIBRARIES) ++ SET(SQLite3_INCLUDE_DIRS) ++ENDIF(SQLite3_FOUND) ++ ++MARK_AS_ADVANCED(SQLite3_INCLUDE_DIRS SQLite3_LIBRARIES) ++ +diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt +index a689b4a7018..eb716417f22 100644 +--- a/deps/CMakeLists.txt ++++ b/deps/CMakeLists.txt +@@ -4,4 +4,6 @@ add_subdirectory(libmscgen) + if (NOT use_sys_spdlog) + add_subdirectory(spdlog) + endif() +-add_subdirectory(sqlite3) ++if (NOT use_sys_sqlite3) ++ add_subdirectory(sqlite3) ++endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 78a55c3f2bf..02c52240e5b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -6,7 +6,6 @@ include_directories( + ${PROJECT_SOURCE_DIR}/deps/libmd5 + ${PROJECT_SOURCE_DIR}/deps/liblodepng + ${PROJECT_SOURCE_DIR}/deps/libmscgen +- ${PROJECT_SOURCE_DIR}/deps/sqlite3 + ${PROJECT_SOURCE_DIR}/libversion + ${PROJECT_SOURCE_DIR}/libxml + ${PROJECT_SOURCE_DIR}/vhdlparser +@@ -18,6 +17,9 @@ include_directories( + if (NOT use_sys_spdlog) + include_directories(${PROJECT_SOURCE_DIR}/deps/spdlog/include) + endif() ++if (NOT use_sys_sqlite) ++ include_directories(${PROJECT_SOURCE_DIR}/deps/sqlite3) ++endif() + + + file(MAKE_DIRECTORY ${GENERATED_SRC}) + diff --git a/app-text/doxygen/metadata.xml b/app-text/doxygen/metadata.xml new file mode 100644 index 0000000..6d85556 --- /dev/null +++ b/app-text/doxygen/metadata.xml @@ -0,0 +1,24 @@ + + + + + tamiko@gentoo.org + Matthias Maier + + + Doxygen is a tool for analyzing, documenting, and reverse-engineering + source code of various languages using a variety of output formats + (try it and see). Doxygen supports C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D, + as well as other languages (using additional helper tools). + + + doxygen/doxygen + doxygen + + + support for llvm-core/clang assisted parsing + allow to create dot graphs using media-gfx/graphviz + build doxyindexer and doxysearch.cgi + + diff --git a/dev-debug/bpftrace/Manifest b/dev-debug/bpftrace/Manifest new file mode 100644 index 0000000..05f6fec --- /dev/null +++ b/dev-debug/bpftrace/Manifest @@ -0,0 +1,8 @@ +DIST bpftrace-0.21.2-man.gh.tar.xz 73044 BLAKE2B 3adcd021ae6849933d488ab140cc0608cd9d1aa9df125f180a67bc85965105ae07f645ecf885ce8b6ac3a340c5f73761e0fab14309f3654b52c9deaeacf521fc SHA512 95b05a04dec92a9c24f84a2603436e0c2f5fc7b08aafa69a2cf0843497f9100a7a104f8d3b4e654e5eb0640f272756d8d86ed4563d40ea592edbcad34af2dfa7 +DIST bpftrace-0.21.2.gh.tar.gz 1299415 BLAKE2B 5a5d00c94c188ea4bc5008a88c9c244b0da4ac6f74c2b7083e13b8da9b0c566efc30fd9c7164f562505a4c72e6def1f2be4e360e3cd4556366e9a0aa3e1d3cf8 SHA512 8c64de94da29030dcde0680be90e3c16a5cd965a0066b1abe3c0740f11a78d70f383bf2e0bbe2fce639eddc7d45cb44508cc8a78743c205d7efa45734151e743 +DIST bpftrace-0.21.3-man.gh.tar.xz 73044 BLAKE2B 3adcd021ae6849933d488ab140cc0608cd9d1aa9df125f180a67bc85965105ae07f645ecf885ce8b6ac3a340c5f73761e0fab14309f3654b52c9deaeacf521fc SHA512 95b05a04dec92a9c24f84a2603436e0c2f5fc7b08aafa69a2cf0843497f9100a7a104f8d3b4e654e5eb0640f272756d8d86ed4563d40ea592edbcad34af2dfa7 +DIST bpftrace-0.21.3.gh.tar.gz 1299643 BLAKE2B 138e767fd074911e643ed7582ed5666736fff6df58162a458d942220594e9e47b5817e999ef91a967c31ae2f84d8dae4499524eba87fa835da0ef539f92b98bd SHA512 8c76b20601f49b08dcbcd947b3da0dcaf59c9e8beb7c56961c7f57bb05aa6130e83b0a664f654978305fa6ceb0507d24a0d446ff1420a1447db5bd52a36fbb75 +DIST bpftrace-0.22.0-man.gh.tar.xz 76028 BLAKE2B ac061b0b380aada39d4cddf442daf1c390d176e81cc5c108033a57e6df83dc08bfb941268b24e8c8fcb8eb45b3c00adffb29966b27897663c1dddd9d554d25a2 SHA512 8e7aa3541b903db4056502d3f2c7b18d80a8212b17b048339d61bcfaddd006599d9e7cfeb65e450487fd15850dd36ed204c00d40dbf476efd2add25863d52ea2 +DIST bpftrace-0.22.0.gh.tar.gz 1125284 BLAKE2B 03e15555e405b2367e96553d975405ab5c25db28aa1685fb05cecd101995ee7b90801baee4a58c462093293c239b8e76dbd0e7a0abbe714a3fa123d30021264e SHA512 fd566191c0d1e2e7e9ebf08c9b983a6db41ab230e2a99bc14b1af5afe2ace3172f8d60bd158d288ac52a254158f8535cd2296d36107d8f2b7149b6045f8f2984 +DIST bpftrace-0.22.1-man.gh.tar.xz 76024 BLAKE2B 8e3764b38b62dac271a941fd224155b72eb32872415734d734e36a77f709ea190639d009280f5bc671ba527981b1a735dd511ad9cb3e3e83869b74303df5b684 SHA512 165486401e985edbffd2c424093c067c5ef2930faadaead6ca26e090650724ea501494de7a6f6e4f55869dafc18ea0b0f3ecb8f434b299beee400a022f21dd31 +DIST bpftrace-0.22.1.gh.tar.gz 1125892 BLAKE2B e694f3da7947458ffc1db755e18dfd6be7664fae5573c04cddbc8db802391e834f241827f2be93a981055b26fb13128f88878d1aa17f50420227c7e8b93bd59d SHA512 3bf00f97750092e66bd94b20b3889f29e932f45ae7f75966f1f364013fb9aeaad837617c0a28402fd9323d62773dd3dab0e9749d8dcb9da9c77093f17fce4d91 diff --git a/dev-debug/bpftrace/bpftrace-0.21.2-r1.ebuild b/dev-debug/bpftrace/bpftrace-0.21.2-r1.ebuild new file mode 100644 index 0000000..6fff423 --- /dev/null +++ b/dev-debug/bpftrace/bpftrace-0.21.2-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=18 + +inherit llvm linux-info cmake + +DESCRIPTION="High-level tracing language for eBPF" +HOMEPAGE="https://github.com/bpftrace/bpftrace" +MY_PV="${PV//_/}" +SRC_URI="https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI+=" https://github.com/bpftrace/${PN}/releases/download/v${MY_PV}/man.tar.xz -> ${P}-man.gh.tar.xz" +S="${WORKDIR}/${PN}-${MY_PV:-${PV}}" + +LICENSE="Apache-2.0" +SLOT="0" + +KEYWORDS="amd64 ~arm64 ~x86" +IUSE="lldb test" + +# lots of fixing needed +RESTRICT="test" + +RDEPEND=" + >=dev-libs/libbpf-1.1:= + >=dev-util/bcc-0.25.0:= + lldb? ( >=llvm-core/lldb-15 ) + >=llvm-core/llvm-15[llvm_targets_BPF(+)] + >=llvm-core/clang-15 + ++#include + #include + #include + #include +@@ -11,6 +12,15 @@ + struct btf; + struct btf_type; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0) ++/* this is required to build with 5.4 and earlier kernel headers */ ++enum btf_func_linkage { ++ BTF_FUNC_STATIC = 0, ++ BTF_FUNC_GLOBAL = 1, ++ BTF_FUNC_EXTERN = 2, ++}; ++#endif ++ + namespace bpftrace { + + class BTF diff --git a/dev-debug/bpftrace/files/bpftrace-0.21.0-dont-compress-man.patch b/dev-debug/bpftrace/files/bpftrace-0.21.0-dont-compress-man.patch new file mode 100644 index 0000000..93bcfcf --- /dev/null +++ b/dev-debug/bpftrace/files/bpftrace-0.21.0-dont-compress-man.patch @@ -0,0 +1,47 @@ +diff --git a/man/adoc/CMakeLists.txt b/man/adoc/CMakeLists.txt +index 1a81dee0..c93ccbd2 100644 +--- a/man/adoc/CMakeLists.txt ++++ b/man/adoc/CMakeLists.txt +@@ -1,7 +1,5 @@ +-find_program(GZIP gzip REQUIRED) + find_program(ASCIIDOCTOR asciidoctor) + file(GLOB FILES *.adoc) +-set(GZFILES "") + if(NOT "${ASCIIDOCTOR}" STREQUAL "ASCIIDOCTOR-NOTFOUND") + foreach(FIL ${FILES}) + get_filename_component(NAME ${FIL} NAME_WE) +@@ -12,14 +10,9 @@ if(NOT "${ASCIIDOCTOR}" STREQUAL "ASCIIDOCTOR-NOTFOUND") + COMMAND ${ASCIIDOCTOR} ${FIL} -b manpage -o - > ${MANPAGE_FILE} + DEPENDS ${FIL}) + +- add_custom_command(OUTPUT ${GZ_MANPAGE_FILE} +- COMMAND ${GZIP} -nc ${MANPAGE_FILE} > ${GZ_MANPAGE_FILE} +- DEPENDS ${MANPAGE_FILE}) +- +- list(APPEND GZFILES ${GZ_MANPAGE_FILE}) + endforeach() +- add_custom_target(adoc_man DEPENDS ${GZFILES}) +- install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) ++ add_custom_target(adoc_man DEPENDS ${FILES}) ++ install(FILES ${FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) + else() + message(WARNING "asciidoctor not found, building without bpftrace manpage") + add_custom_target(adoc_man) +diff --git a/man/man8/CMakeLists.txt b/man/man8/CMakeLists.txt +index 2a316cd9..2207cf80 100644 +--- a/man/man8/CMakeLists.txt ++++ b/man/man8/CMakeLists.txt +@@ -1,12 +1,3 @@ +-find_program(GZIP gzip REQUIRED) + file(GLOB FILES *.8) +-set(GZFILES "") +-foreach(FIL ${FILES}) +- get_filename_component(NAME ${FIL} NAME) +- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz +- COMMAND ${GZIP} -nc ${FIL} > ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz +- DEPENDS ${FIL}) +- list(APPEND GZFILES "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz") +-endforeach() + add_custom_target(man_man DEPENDS ${GZFILES}) +-install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) ++install(FILES ${FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) diff --git a/dev-debug/bpftrace/files/bpftrace-0.21.3-allow-llvm-19.patch b/dev-debug/bpftrace/files/bpftrace-0.21.3-allow-llvm-19.patch new file mode 100644 index 0000000..297c096 --- /dev/null +++ b/dev-debug/bpftrace/files/bpftrace-0.21.3-allow-llvm-19.patch @@ -0,0 +1,18 @@ + +Patch adapted from from https://github.com/bpftrace/bpftrace/pull/3433 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2b60fa26d990..11927a434731 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -156,8 +156,8 @@ else() + find_package(LLVM REQUIRED) + endif() + +-set(MIN_LLVM_MAJOR 6) ++set(MIN_LLVM_MAJOR 13) +-set(MAX_LLVM_MAJOR 18) ++set(MAX_LLVM_MAJOR 19) + + if((${LLVM_VERSION_MAJOR} VERSION_LESS ${MIN_LLVM_MAJOR}) OR (${LLVM_VERSION_MAJOR} VERSION_GREATER ${MAX_LLVM_MAJOR})) + message(SEND_ERROR "Unsupported LLVM version found via ${LLVM_INCLUDE_DIRS}: ${LLVM_VERSION_MAJOR}") diff --git a/dev-debug/bpftrace/files/bpftrace-0.21.3-cstdint.patch b/dev-debug/bpftrace/files/bpftrace-0.21.3-cstdint.patch new file mode 100644 index 0000000..60f8ea5 --- /dev/null +++ b/dev-debug/bpftrace/files/bpftrace-0.21.3-cstdint.patch @@ -0,0 +1,28 @@ + +Patch from: https://github.com/bpftrace/bpftrace/commit/9996177e80f66e1d991f960fa9eb39c221ed7f45 + +From 9996177e80f66e1d991f960fa9eb39c221ed7f45 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= +Date: Tue, 20 Aug 2024 12:12:45 +0200 +Subject: [PATCH] Explicitly include for gcc-15 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: https://github.com/bpftrace/bpftrace/issues/3406 +Signed-off-by: Holger Hoffstätte +--- + src/disasm.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/disasm.h b/src/disasm.h +index b5411f2e416c..d8d7fde8aa46 100644 +--- a/src/disasm.h ++++ b/src/disasm.h +@@ -1,5 +1,6 @@ + #pragma once + ++#include + #include + #include + diff --git a/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch b/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch new file mode 100644 index 0000000..fb1c884 --- /dev/null +++ b/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch @@ -0,0 +1,37 @@ + +Patch from: https://github.com/bpftrace/bpftrace/pull/3648 + +From 986acde60552af60c0a28aac234c38a7542d2f69 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= +Date: Tue, 17 Dec 2024 13:27:41 +0100 +Subject: [PATCH] Fix ODR violation warning when compiling with LTO +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +yy_scan_string is declared to return void* due to a lack of a proper +type definition of struct yy_buffer_state, which is only available in +lex.yy.cc. Provide a struct forward declaration so that a proper +return type can be used. This fixes the LTO complaint. + +Signed-off-by: Holger Hoffstätte +--- + src/driver.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/driver.cpp b/src/driver.cpp +index 0cd0267323b8..b1d2f91111cd 100644 +--- a/src/driver.cpp ++++ b/src/driver.cpp +@@ -5,7 +5,10 @@ + #include "log.h" + #include "parser.tab.hh" + +-extern void *yy_scan_string(const char *yy_str, yyscan_t yyscanner); ++struct yy_buffer_state; ++ ++extern struct yy_buffer_state *yy_scan_string(const char *yy_str, ++ yyscan_t yyscanner); + extern int yylex_init(yyscan_t *scanner); + extern int yylex_destroy(yyscan_t yyscanner); + extern bpftrace::location loc; diff --git a/dev-debug/bpftrace/metadata.xml b/dev-debug/bpftrace/metadata.xml new file mode 100644 index 0000000..9e59e7b --- /dev/null +++ b/dev-debug/bpftrace/metadata.xml @@ -0,0 +1,27 @@ + + + + + holger@applied-asynchrony.com + Holger Hoffstätte + + + chutzpah@gentoo.org + Patrick McLean + + + dlan@gentoo.org + Yixun Lan + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Parse debug info usingllvm-core/lldb + Enable skb_output using net-libs/libpcap + + + bpftrace/bpftrace + + diff --git a/dev-debug/sysdig/Manifest b/dev-debug/sysdig/Manifest new file mode 100644 index 0000000..659353d --- /dev/null +++ b/dev-debug/sysdig/Manifest @@ -0,0 +1,4 @@ +DIST falcosecurity-libs-0.17.3.tar.gz 4425090 BLAKE2B 3d6300bba2303715581d9b35f63e453f85a3889fa93233d3b1ca69f6ba92b33e0a7d90bbd160b765487b44771a1d94f5a1fb380cf4e5130506a885471dddb7e7 SHA512 05707c404bdd45c2e944b903dbbc1e5e0e5991a3d4cbe9ea357efb35b5ad0c4ede7cdd7b056a7dde2543cc2c0b8d5d3b42606202128b7287a80a1da686de169e +DIST falcosecurity-libs-0.19.0.tar.gz 4499949 BLAKE2B 4d165f3b023183abf527a2243f601ca7e6929e882ab854901ff98c3441b6bee61f9bb5d3af8974953423fa46d3968872b7f9dbfb1d81d6ad78202442e5f8d9b7 SHA512 5b011c804b07bf2f3eb6a6d7e8c9ef4e54bcc8d74116020e887465aba3dec737bdf8fc854778a8230f7e23e87da29423c6320a8054873eb5c9c957ce40ef3825 +DIST sysdig-0.38.1.tar.gz 67528905 BLAKE2B 9b0e0f337bf64df200b44f7e23c64d00477d6ebfb2bc995dcb04951c8e25fb9274431022b8fa54f54851436f063b79d1268045ba686e97fb0195922bc8dfcf28 SHA512 17275c029368b203ec590cf448a33275bd6c20b81be77edcd393f1a3c04e6c4714c7286b6268823bb0c629d52a88cd97f7b3ef588bd10a000b65de23eb5b5a45 +DIST sysdig-0.39.0.tar.gz 85742724 BLAKE2B 7e6414b3b87bd4cc43ede8c28f99ebd385a63b0efd711d6648b832d64d518bbfe7ddb2bff469232933413a2807d4df66775c8d57072d9e80aeffb5b2dd5690fd SHA512 d43c816d4c29cc283d3247ac0ac3591b8adea7a08194a80b4e530f0c45730a824d16eda7b07bb70e4658cbae0f851fbb67ec880eedf33477bf5bfc911d8a7936 diff --git a/dev-debug/sysdig/files/0.38.1-libs-no-libanl.patch b/dev-debug/sysdig/files/0.38.1-libs-no-libanl.patch new file mode 100644 index 0000000..f1b10b3 --- /dev/null +++ b/dev-debug/sysdig/files/0.38.1-libs-no-libanl.patch @@ -0,0 +1,21 @@ + +Do not attempt to link against libanl on musl. + +Bug: https://bugs.gentoo.org/929907 +Bug: https://github.com/falcosecurity/libs/issues/1948 + +Signed-off-by: Holger Hoffstätte + +--- libs-0.17.2/userspace/libsinsp/CMakeLists.txt~ 2024-06-14 11:38:50.000000000 +0200 ++++ libs-0.17.2/userspace/libsinsp/CMakeLists.txt 2024-07-05 00:18:03.326406540 +0200 +@@ -258,8 +258,8 @@ if(NOT WIN32) + ) + + if(NOT MUSL_OPTIMIZED_BUILD) +- target_link_libraries(sinsp INTERFACE rt anl) +- list(APPEND SINSP_PKGCONFIG_LIBRARIES rt anl) ++ target_link_libraries(sinsp INTERFACE rt) ++ list(APPEND SINSP_PKGCONFIG_LIBRARIES rt) + endif() + + else() diff --git a/dev-debug/sysdig/files/0.38.1-scap-loader.patch b/dev-debug/sysdig/files/0.38.1-scap-loader.patch new file mode 100644 index 0000000..1f35094 --- /dev/null +++ b/dev-debug/sysdig/files/0.38.1-scap-loader.patch @@ -0,0 +1,32 @@ + +Sanitize the scap loader script to not attempt driver downloads or compilation +by default, which would not work anyway as sysdig does not host prebuilt modules +for Gentoo. + +Signed-off-by: Holger Hoffstätte + +--- sysdig-0.38.0/scripts/scap-driver-loader.in~ 2024-06-17 11:14:55.000000000 +0200 ++++ sysdig-0.38.0/scripts/scap-driver-loader.in 2024-06-17 11:14:55.000000000 +0200 +@@ -662,8 +662,8 @@ print_usage() { + echo "Options:" + echo " --help show brief help" + echo " --clean try to remove an already present driver installation" +- echo " --compile try to compile the driver locally (default true)" +- echo " --download try to download a prebuilt driver (default true)" ++ echo " --compile try to compile the driver locally (default false)" ++ echo " --download try to download a prebuilt driver (default false)" + echo " --source-only skip execution and allow sourcing in another script" + echo "" + echo "Environment variables:" +@@ -770,11 +770,6 @@ while test $# -gt 0; do + esac + done + +-if [ -z "$has_opts" ]; then +- ENABLE_COMPILE="yes" +- ENABLE_DOWNLOAD="yes" +-fi +- + if [ -z "$source_only" ]; then + echo "* Running scap-driver-loader for: driver version=${DRIVER_VERSION}, arch=${ARCH}, kernel release=${KERNEL_RELEASE}, kernel version=${KERNEL_VERSION}" + diff --git a/dev-debug/sysdig/metadata.xml b/dev-debug/sysdig/metadata.xml new file mode 100644 index 0000000..05dad04 --- /dev/null +++ b/dev-debug/sysdig/metadata.xml @@ -0,0 +1,22 @@ + + + + + holger@applied-asynchrony.com + Holger Hoffstätte + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Enable the BPF probe as alternative event source + to dev-debug/scap-driver. + Build kernel modules needed for tracing local + events. Disable this only if you intend to use sysdig purely + to work with dumpfiles. + + + draios/sysdig + + diff --git a/dev-debug/sysdig/sysdig-0.38.1-r1.ebuild b/dev-debug/sysdig/sysdig-0.38.1-r1.ebuild new file mode 100644 index 0000000..1c03185 --- /dev/null +++ b/dev-debug/sysdig/sysdig-0.38.1-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) + +inherit bash-completion-r1 cmake flag-o-matic lua-single + +DESCRIPTION="A system exploration and troubleshooting tool" +HOMEPAGE="https://sysdig.com/" + +# The version of falcosecurity-libs required by sysdig as source tree +LIBS_VERSION="0.17.3" +SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> falcosecurity-libs-${LIBS_VERSION}.tar.gz" + +# The driver version as found in cmake/modules/driver.cmake +DRIVER_VERSION="7.2.0+driver" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~x86" +IUSE="+modules" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +RDEPEND="${LUA_DEPS} + dev-cpp/abseil-cpp:= + dev-cpp/tbb:= + dev-cpp/yaml-cpp:= + dev-libs/jsoncpp:= + dev-libs/libb64:= + dev-libs/protobuf:= + dev-libs/re2:= + dev-libs/uthash + net-libs/grpc:= + net-misc/curl + sys-libs/ncurses:= + sys-libs/zlib:= + virtual/libelf:=" + +DEPEND="${RDEPEND} + dev-cpp/nlohmann_json + dev-cpp/valijson + virtual/os-headers" + +# pin the driver to the falcosecurity-libs version +PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )" + +PATCHES=( "${FILESDIR}/${PV}-scap-loader.patch" ) + +src_prepare() { + # manually apply patches to falcosecurity-libs dependency + pushd "${WORKDIR}/libs-${LIBS_VERSION}" + # musl has no libanl (#929227) + if [ ${ELIBC} == "musl" ] ; then + eapply "${FILESDIR}/${PV}-libs-no-libanl.patch" || die + fi + popd + + # do not build with debugging info + sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die + + # fix the driver version + sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die + + cmake_src_prepare +} + +src_configure() { + # known problems with strict aliasing: + # https://github.com/falcosecurity/libs/issues/1964 + append-flags -fno-strict-aliasing + + local mycmakeargs=( + # do not build the kernel driver + -DBUILD_DRIVER=OFF + + # libscap examples are not installed or really useful + -DBUILD_LIBSCAP_EXAMPLES=OFF + + # do not build internal libs as shared + -DBUILD_SHARED_LIBS=OFF + + # do not build eBPF driver for now + -DBUILD_SYSDIG_MODERN_BPF=OFF + + # set driver version to prevent downloading (don't ask..) + -DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver + -DDRIVER_VERSION=${DRIVER_VERSION} + + # point sysdig to the libs tree + -DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION} + + # explicitly set sysdig version - required for some reason + -DSYSDIG_VERSION=${PV} + + # do not use bundled dependencies for sysdig + -DUSE_BUNDLED_DEPS=OFF + + # do not use bundled dependencies for falcosecurity-libs + -DUSE_BUNDLED_B64=OFF + -DUSE_BUNDLED_JSONCPP=OFF + -DUSE_BUNDLED_RE2=OFF + -DUSE_BUNDLED_TBB=OFF + -DUSE_BUNDLED_VALIJSON=OFF + + # set valijson include path to prevent downloading + -DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include + + # enable chisels + -DWITH_CHISEL=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + # remove driver headers + rm -r "${ED}"/usr/src || die + + # remove libscap/libsinsp headers & libs (see #938187) + rm -r "${ED}"/usr/include/sysdig || die + rm -r "${ED}"/usr/$(get_libdir) || die + + # move bashcomp to the proper location + dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die + rm -r "${ED}"/usr/etc || die +} diff --git a/dev-debug/sysdig/sysdig-0.39.0-r1.ebuild b/dev-debug/sysdig/sysdig-0.39.0-r1.ebuild new file mode 100644 index 0000000..9922841 --- /dev/null +++ b/dev-debug/sysdig/sysdig-0.39.0-r1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +LUA_COMPAT=( luajit ) + +inherit bash-completion-r1 cmake flag-o-matic linux-info llvm-r1 lua-single + +DESCRIPTION="A system exploration and troubleshooting tool" +HOMEPAGE="https://sysdig.com/" + +# The version of falcosecurity-libs required by sysdig as source tree +LIBS_VERSION="0.19.0" +LIBS="falcosecurity-libs-${LIBS_VERSION}" + +SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> ${LIBS}.tar.gz" + +# The driver version as found in cmake/modules/driver.cmake or alternatively +# as git tag on the $LIBS_VERSION of falcosecurity-libs. +DRIVER_VERSION="7.3.0+driver" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~x86" +IUSE="bpf +modules" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +RDEPEND="${LUA_DEPS} + dev-cpp/abseil-cpp:= + dev-cpp/tbb:= + dev-cpp/yaml-cpp:= + dev-libs/jsoncpp:= + dev-libs/libb64:= + bpf? ( >=dev-libs/libbpf-1.1:= ) + dev-libs/protobuf:= + dev-libs/re2:= + dev-libs/uthash + net-libs/grpc:= + net-misc/curl + sys-libs/ncurses:= + sys-libs/zlib:= + virtual/libelf:=" + +DEPEND="${RDEPEND} + dev-cpp/nlohmann_json + dev-cpp/valijson + bpf? ( $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)] + ') + ) + virtual/os-headers" + +BDEPEND="bpf? ( dev-util/bpftool )" + +# pin the driver to the falcosecurity-libs version +PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )" + +PATCHES=( + "${FILESDIR}/0.38.1-scap-loader.patch" +) + +pkg_pretend() { + if use bpf; then + local CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~FTRACE_SYSCALLS + ~HAVE_EBPF_JIT + " + check_extra_config + fi +} + +pkg_setup() { + use bpf && llvm-r1_pkg_setup +} + +src_prepare() { + # do not build with debugging info + sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die + + # fix the driver version + sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die + + cmake_src_prepare +} + +src_configure() { + # known problems with strict aliasing: + # https://github.com/falcosecurity/libs/issues/1964 + append-flags -fno-strict-aliasing + + local mycmakeargs=( + # do not build the kernel driver + -DBUILD_DRIVER=OFF + + # libscap examples are not installed or really useful + -DBUILD_LIBSCAP_EXAMPLES=OFF + + # do not build internal libs as shared + -DBUILD_SHARED_LIBS=OFF + + # build BPF probe depending on USE + -DBUILD_SYSDIG_MODERN_BPF:BOOL=$(usex bpf) + + # set driver version to prevent downloading (don't ask..) + -DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver + -DDRIVER_VERSION=${DRIVER_VERSION} + + # point sysdig to the libs tree + -DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION} + + # explicitly set sysdig version - required for some reason + -DSYSDIG_VERSION=${PV} + + # do not use bundled dependencies for sysdig + -DUSE_BUNDLED_DEPS=OFF + + # do not use bundled dependencies for falcosecurity-libs + -DUSE_BUNDLED_B64=OFF + -DUSE_BUNDLED_JSONCPP=OFF + -DUSE_BUNDLED_RE2=OFF + -DUSE_BUNDLED_TBB=OFF + -DUSE_BUNDLED_VALIJSON=OFF + + # set valijson include path to prevent downloading + -DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include + + # enable chisels + -DWITH_CHISEL=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + # remove driver headers + rm -r "${ED}"/usr/src || die + + # remove libscap/libsinsp headers & libs (see #938187) + rm -r "${ED}"/usr/include/sysdig || die + rm -r "${ED}"/usr/$(get_libdir) || die + + # move bashcomp to the proper location + dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die + rm -r "${ED}"/usr/etc || die +} + +pkg_postinst() { + if use bpf; then + elog + elog "You have enabled the 'modern BPF' probe." + elog "This eBPF-based event source is an alternative to the traditional" + elog "scap kernel module." + elog + elog "To use it, start sysdig/csysdig with '--modern-bpf'." + elog + fi +} diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest new file mode 100644 index 0000000..87fe84a --- /dev/null +++ b/dev-dotnet/dotnet-sdk/Manifest @@ -0,0 +1,2 @@ +DIST dotnet-sdk-9.0.101-prepared-gentoo-glibc-amd64.tar.xz 1915948468 BLAKE2B c8acdbbec22b993e1f9a1081c610c9e35cc757cdc611a99bdacab6566b1fc47a50bdac76aba953b255b669fbe740eeff25f9e572a4997482d9b553e830e4f429 SHA512 bf3b3e624bf54b3d57b042f30be2b21a22abf8433036cf32e7acbb2df05fa4119066dff6cc5d3c85efcd9bb553e81c07d11c6b09e10bc4027ceff3f8d48b2fdd +DIST dotnet-sdk-9.0.101-prepared-gentoo-musl-amd64.tar.xz 1914093068 BLAKE2B c5cb3ee695dd8e278c7688943befb98858f631f175fda9d49514a86f590594ebc9e86f0a6a6614a4c54f696da084f6bf9f96cbcad00745a14bbfa563525f71c8 SHA512 acbb21d34cfaa366b8ad17d4d7451828439f2798d3ceec5d6f5c4117418f1258ffafcef7f1eb4f53882126516248b8536a723db314b7f9a916e298a9eed43c59 diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild new file mode 100644 index 0000000..6a21fde --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Pre-build (and distribution preparation) +# Build the tarball: +# git clone --depth 1 -b v9.0.0 https://github.com/dotnet/dotnet ./dotnet-sdk-9.0.0 +# cd ./dotnet-sdk-9.0.0 +# git rev-parse HEAD +# bash ./prep-source-build.sh +# rm -f -r ./.git +# cd .. +# tar -acf dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz dotnet-sdk-9.0.0 +# Upload "dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz". + +# Build ("src_compile") +# To learn about arguments that are passed to the "build.sh" script see: +# https://github.com/dotnet/source-build/discussions/4082 +# User variable: DOTNET_VERBOSITY - set other verbosity log level. + +EAPI=8 + +COMMIT="a2bc464e40415d625118f38fbb0556d1803783ff" +SDK_SLOT="$(ver_cut 1-2)" +RUNTIME_SLOT="${SDK_SLOT}.0" + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{11..13} ) + +inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 + +DESCRIPTION=".NET is a free, cross-platform, open-source developer platform" +HOMEPAGE="https://dotnet.microsoft.com/ + https://github.com/dotnet/dotnet/" +SRC_URI=" + amd64? ( + elibc_glibc? ( + https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-glibc-amd64.tar.xz + ) + elibc_musl? ( + https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-musl-amd64.tar.xz + ) + ) +" +S="${WORKDIR}/${P}" + +LICENSE="MIT" +SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" +KEYWORDS="amd64" + +# STRIP="llvm-strip" corrupts some executables when using the patchelf hack. +# Be safe and restrict it for source-built too, bug https://bugs.gentoo.org/923430 +RESTRICT="splitdebug strip" + +CURRENT_NUGETS_DEPEND=" + ~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT} +" +EXTRA_NUGETS_DEPEND=" + ~dev-dotnet/dotnet-runtime-nugets-6.0.36 + ~dev-dotnet/dotnet-runtime-nugets-7.0.20 + ~dev-dotnet/dotnet-runtime-nugets-8.0.11 +" +NUGETS_DEPEND=" + ${CURRENT_NUGETS_DEPEND} + ${EXTRA_NUGETS_DEPEND} +" +PDEPEND=" + ${NUGETS_DEPEND} +" +RDEPEND=" + app-arch/brotli + app-crypt/mit-krb5:0/0 + dev-libs/icu + dev-libs/openssl:= + dev-libs/rapidjson + dev-util/lttng-ust:= + sys-libs/libunwind + sys-libs/zlib:0/1 +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + dev-vcs/git + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') +" +IDEPEND=" + app-eselect/eselect-dotnet +" + +CHECKREQS_DISK_BUILD="20G" +CHECKREQS_DISK_USR="1200M" + +# Created by dotnet itself: +QA_PREBUILT=" +.*/dotnet +.*/ilc +" + +# .NET runtime, better to not touch it if they want some specific flags. +QA_FLAGS_IGNORED=" +.*/apphost +.*/createdump +.*/dotnet +.*/ilc +.*/libSystem.Globalization.Native.so +.*/libSystem.IO.Compression.Native.so +.*/libSystem.Native.so +.*/libSystem.Net.Security.Native.so +.*/libSystem.Security.Cryptography.Native.OpenSsl.so +.*/libclrgc.so +.*/libclrgcexp.so +.*/libclrjit.so +.*/libclrjit_universal_arm64_x64.so +.*/libclrjit_universal_arm_x64.so +.*/libclrjit_unix_x64_x64.so +.*/libclrjit_win_x64_x64.so +.*/libclrjit_win_x86_x64.so +.*/libcoreclr.so +.*/libcoreclrtraceptprovider.so +.*/libhostfxr.so +.*/libhostpolicy.so +.*/libjitinterface_x64.so +.*/libmscordaccore.so +.*/libmscordbi.so +.*/libnethost.so +.*/singlefilehost +" + +check_requirements_locale() { + if [[ "${MERGE_TYPE}" != binary ]] ; then + if use elibc_glibc ; then + local locales + locales="$(locale -a)" + + if has en_US.utf8 ${locales} ; then + LC_ALL="en_US.utf8" + elif has en_US.UTF-8 ${locales} ; then + LC_ALL="en_US.UTF-8" + else + eerror "The locale en_US.utf8 or en_US.UTF-8 is not available." + eerror "Please generate en_US.UTF-8 before building ${CATEGORY}/${P}." + + die "Could not switch to the en_US.UTF-8 locale." + fi + else + LC_ALL="en_US.UTF-8" + fi + + export LC_ALL + einfo "Successfully switched to the ${LC_ALL} locale." + fi +} + +pkg_pretend() { + check-reqs_pkg_pretend + + check_requirements_locale +} + +pkg_setup() { + check-reqs_pkg_setup + llvm-r1_pkg_setup + python-any-r1_pkg_setup + + check_requirements_locale +} + +src_prepare() { + default + + filter-flags -Werror=lto-type-mismatch # Not implemented by Clang, bug 946334 + filter-flags -Wlto-type-mismatch + filter-lto + + local llvm_prefix="$(get_llvm_prefix -b)" + export CC="${llvm_prefix}/bin/clang-${LLVM_SLOT}" + export CXX="${llvm_prefix}/bin/clang++-${LLVM_SLOT}" + export LD="${llvm_prefix}/bin/lld" + + unset DOTNET_ROOT + unset NUGET_PACKAGES + unset CLR_ICU_VERSION_OVERRIDE + unset USER_CLR_ICU_VERSION_OVERRIDE + + export DOTNET_CLI_TELEMETRY_OPTOUT="1" + export DOTNET_NUGET_SIGNATURE_VERIFICATION="false" + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="1" + export MSBUILDDISABLENODEREUSE="1" + export MSBUILDTERMINALLOGGER="off" + export UseSharedCompilation="false" + + local dotnet_sdk_tmp_directory="${WORKDIR}/dotnet-sdk-tmp" + mkdir -p "${dotnet_sdk_tmp_directory}" || die + + # This should fix the "PackageVersions.props" problem, + # see below, in src_compile. + sed -e "s|/tmp|${dotnet_sdk_tmp_directory}|g" -i build.sh || die + + # Some .NET SDK build scripts use "nproc" to determine + # a number of processors. So, we create fake "nproc" command that in fact + # reports the number of "--jobs" value. + local fake_bin="${T}/fake_bin" + mkdir -p "${fake_bin}" || die + export PATH="${fake_bin}:${PATH}" + + cat <<-EOF > "${fake_bin}/nproc" || die +#!/bin/sh +echo "$(makeopts_jobs)" +EOF + chmod +x "${fake_bin}/nproc" || die + + # Overwrite "init-compiler" scripts. + # TODO: Consider - this probably overshadows CCache. + cat < ./init-compiler.sh || die +export CC="${CC}" +export CXX="${CXX}" +export LDFLAGS="${LDFLAGS} -fuse-ld=lld" +export SCAN_BUILD_COMMAND="scan-build" +EOF + local init_compiler="" + for init_compiler in diagnostics runtime ; do + mv "./src/${init_compiler}/eng/common/native/init-compiler.sh"{,.orig} || die + cp ./init-compiler.sh "./src/${init_compiler}/eng/common/native/" || die + done +} + +src_compile() { + # Remove .NET leftover files that can be blocking the build. + # Keep this nonfatal! + local package_versions_path="/tmp/PackageVersions.props" + if [[ -f "${package_versions_path}" ]] ; then + rm "${package_versions_path}" || + ewarn "Failed to remove ${package_versions_path}, build may fail!" + fi + + local -x EXTRA_CFLAGS="${CFLAGS}" + local -x EXTRA_CXXFLAGS="${CXXFLAGS}" + local -x EXTRA_LDFLAGS="${LDFLAGS}" + + # The "source_repository" should always be the same. + local source_repository="https://github.com/dotnet/dotnet" + local verbosity="${DOTNET_VERBOSITY:-minimal}" + + ebegin "Building the .NET SDK ${SDK_SLOT}" + local -a buildopts=( + # URLs, version specification, etc. ... + --source-repository "${source_repository}" + --source-version "${COMMIT}" + + # How it should be built. + --source-build + --clean-while-building + --with-system-libs "+brotli+icu+libunwind+rapidjson+zlib+" + --configuration "Release" + + # Auxiliary options. + -- + -maxCpuCount:"$(makeopts_jobs)" + -p:MaxCpuCount="$(makeopts_jobs)" + -p:ContinueOnPrebuiltBaselineError="true" + + # Verbosity settings. + -verbosity:"${verbosity}" + -p:LogVerbosity="${verbosity}" + -p:verbosity="${verbosity}" + -p:MinimalConsoleLogOutput="false" + ) + bash ./build.sh "${buildopts[@]}" + eend ${?} || die "build failed" +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SDK_SLOT}" + dodir "${dest}" + + ebegin "Extracting the .NET SDK archive" + tar xzf ./artifacts/*/Release/${PN}-${SDK_SLOT}.*.tar.gz -C "${ED}/${dest}" + eend ${?} || die "extraction failed" + + fperms 0755 "${dest}" + dosym -r "${dest}/dotnet" "/usr/bin/dotnet-${SDK_SLOT}" + + # Fix permissions again for what is already marked as executable. + find "${ED}" -type f -executable -exec chmod +x {} + || die +} + +pkg_postinst() { + eselect dotnet update ifunset +} + +pkg_postrm() { + eselect dotnet update ifunset +} diff --git a/dev-dotnet/dotnet-sdk/metadata.xml b/dev-dotnet/dotnet-sdk/metadata.xml new file mode 100644 index 0000000..b2549c1 --- /dev/null +++ b/dev-dotnet/dotnet-sdk/metadata.xml @@ -0,0 +1,15 @@ + + + + + + dotnet@gentoo.org + Gentoo Dotnet Project + + + https://learn.microsoft.com/en-us/dotnet/ + https://github.com/dotnet/sdk/issues/ + dotnet/installer + dotnet/sdk + + diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest new file mode 100644 index 0000000..6e89651 --- /dev/null +++ b/dev-lang/crystal/Manifest @@ -0,0 +1,6 @@ +DIST crystal-1.14.1-3-linux-x86_64.tar.gz 51717984 BLAKE2B da2f977d8a81abb6085ea7d43dff4f3f9120d7e54bf374157e742e8516ff067db95b8f8578d31c6f57ac9116553a945b9e78a9ceefbc66157f321cfab29b96d7 SHA512 9b2fb8cab095041938f5088f9b136cda66b978e3f5c1245cff2d3966faaf18b5b899461cef60723c860afeb7ec5710880cc675d483a92db7b238b286bf9ad69d +DIST crystal-1.14.1.tar.gz 3726868 BLAKE2B add2e478c3dbb5f8fce77c8dfb781858a1074e411f6899997052fd5f037fc6dcb86dd4f2aba432301912cac645dfaad4e916112c4d47c8247a9ea681270f945d SHA512 f16ba4e2b41ee9c1a4ef98bd026d843e7c8f831c592a919d79b3addea4647eea0eefefc8e964e1e187b8bfb0aed0829e2f5f5b120e3116a359616c0c043f9d3c +DIST crystal-1.15.0-1-linux-x86_64.tar.gz 51497623 BLAKE2B 03059b38b1df3a035c82472f0691c3b37d9b82ae90e0cae922a36c069750e5d00444dc5759fd5cefee294fbde20b17aac233323067256caf161ef542d27e51d5 SHA512 ee0a85d98fd1170c97380184bd845cafd426765bf633d0d26885e970a5e15241d76a93a11c1a207ddedef9a1d76978e5f32be17b074cd3c03c3f5cc5b7e064b9 +DIST crystal-1.15.0.gh.tar.gz 3812860 BLAKE2B a6b52007d6a4975d2011104f65cec932300bb6f84f497bfda138d987e844cb025d4690b0f74335aff42295c5d355ac73371cab86db87ca9819c1885d98f76bd8 SHA512 ea07de4b9c6c46e96f05d816d0504f8b0206e89fe7e4236038dc3b0875e52e89c711cc798b8fc30f66b02dd48cec70e0ea76160f14447577761411a41f1b28fa +DIST crystal-1.15.1-1-linux-x86_64.tar.gz 51499223 BLAKE2B 11f94a67c97215f410c4a5987abaaa34d1264cdb4340a34223843e33152697125de05acc1a47604bb85456e1fd507fc854f38498adcc7b19492cb87c160184db SHA512 94faf3859212f0b9b80b4f2ce46bfa8a90cbf9d2c71f0127453baeff6ca8d1d76cde36d9af2c7bb6019e809de08e8eafdc39cc2621695d05c612d2fc8765f303 +DIST crystal-1.15.1.gh.tar.gz 3814922 BLAKE2B 0667e93e3c2b7b80d44347377303195161bfee1709fa64e78fd978cc3409813836542642ac04054d94bf280828a29e592af6db8fdbd4a7bf8f04e8ef62ca209e SHA512 3c552bf4acb06a5e0e3adae2a22cc42c8a003b91a3c9f2ce4cc80d790f5981e94178ad0667504f4d709dfa3f1bc9505ef8ae42b8eb79489f4d1396bd9fc456ff diff --git a/dev-lang/crystal/crystal-1.14.1.ebuild b/dev-lang/crystal/crystal-1.14.1.ebuild new file mode 100644 index 0000000..ac82d62 --- /dev/null +++ b/dev-lang/crystal/crystal-1.14.1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV="${PV}-3" +BV_AMD64="${BV}-linux-x86_64" + +LLVM_COMPAT=( 20 ) + +inherit bash-completion-r1 llvm-r1 multiprocessing toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +SRC_URI=" + https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz + -> ${P}.tar.gz + amd64? ( + https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc debug llvm-libunwind" +RESTRICT="test" # Upstream test suite not reliable + +DEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre2:=[unicode] + dev-libs/pcl:= + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + llvm-libunwind? ( + llvm-runtimes/libunwind:= + ) + !llvm-libunwind? ( + sys-libs/libunwind:= + ) +" +RDEPEND=" + ${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}/${PN}-1.7.2-extra-spec-flags.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" +) + +src_configure() { + local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" + if [[ ! -d "${bootstrap_path}" ]] ; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + + MY_EMAKE_COMMON_ARGS=( + PATH="${bootstrap_path}:${PATH}" + + CRYSTAL_CONFIG_VERSION="${PV}" + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + + $(usex debug "" release=1) + progress=true + stats=1 + threads="$(makeopts_jobs)" + verbose=1 + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LLVM_CONFIG="$(get_llvm_prefix -d)/bin/llvm-config" + ) +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + + use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_test() { + # EXTRA_SPEC_FLAGS is useful to debug individual tests + # as part of full build: + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal + emake std_spec \ + "${MY_EMAKE_COMMON_ARGS[@]}" "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" +} + +src_install() { + insinto "/usr/$(get_libdir)/crystal" + doins -r src/. + + exeinto /usr/bin + doexe .build/crystal + + insinto /usr/share/zsh/site-functions + newins etc/completion.zsh _crystal + + dodoc -r samples + doman "man/${PN}.1" + newbashcomp etc/completion.bash "${PN}" + + if use doc ; then + docinto api + dodoc -r docs/. + fi +} diff --git a/dev-lang/crystal/crystal-1.15.0-r1.ebuild b/dev-lang/crystal/crystal-1.15.0-r1.ebuild new file mode 100644 index 0000000..03b91d6 --- /dev/null +++ b/dev-lang/crystal/crystal-1.15.0-r1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV="${PV}-1" +BV_AMD64="${BV}-linux-x86_64" + +LLVM_COMPAT=( 20 ) + +inherit llvm-r1 multiprocessing shell-completion toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +SRC_URI=" + https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + amd64? ( + https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" +IUSE="doc debug llvm-libunwind" +RESTRICT="test" # Upstream test suite not reliable. + +DEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre2:=[unicode] + dev-libs/pcl:= + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + llvm-libunwind? ( + llvm-runtimes/libunwind:= + ) + !llvm-libunwind? ( + sys-libs/libunwind:= + ) +" +RDEPEND=" + ${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" + "${FILESDIR}/${PN}-1.15.0-remove-enviroment-clearing-tests.patch" +) + +src_prepare() { + default + + # Link against system boehm-gc instead of upstream prebuilt static library + # bug #929123, #929989 and #931100 + # https://github.com/crystal-lang/crystal/issues/12035#issuecomment-2522606612 + rm "${WORKDIR}/crystal-${BV}"/lib/crystal/libgc.a || die +} + +src_configure() { + local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" + if [[ ! -d "${bootstrap_path}" ]] ; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + + MY_EMAKE_COMMON_ARGS=( + PATH="${bootstrap_path}:${PATH}" + + CRYSTAL_CONFIG_VERSION="${PV}" + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + + $(usex debug "" release=1) + progress=true + stats=1 + threads="$(makeopts_jobs)" + verbose=1 + check_lld= # disable opportunistic lld + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LLVM_CONFIG="$(get_llvm_prefix -d)/bin/llvm-config" + ) +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + + use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_test() { + emake std_spec "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_install() { + insinto "/usr/$(get_libdir)/crystal" + doins -r src/. + + exeinto /usr/bin + doexe .build/crystal + + newzshcomp etc/completion.zsh _crystal + newfishcomp etc/completion.fish crystal.fish + + dodoc -r samples + doman "man/${PN}.1" + newbashcomp etc/completion.bash "${PN}" + + if use doc ; then + docinto api + dodoc -r docs/. + fi +} diff --git a/dev-lang/crystal/crystal-1.15.1.ebuild b/dev-lang/crystal/crystal-1.15.1.ebuild new file mode 100644 index 0000000..0f7a76b --- /dev/null +++ b/dev-lang/crystal/crystal-1.15.1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV="${PV}-1" +BV_AMD64="${BV}-linux-x86_64" + +LLVM_COMPAT=( 20 ) + +inherit llvm-r1 multiprocessing shell-completion toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +SRC_URI=" + https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + amd64? ( + https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc debug llvm-libunwind" +RESTRICT="test" # Upstream test suite not reliable. + +DEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre2:=[unicode] + dev-libs/pcl:= + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + llvm-libunwind? ( + llvm-runtimes/libunwind:= + ) + !llvm-libunwind? ( + sys-libs/libunwind:= + ) +" +RDEPEND=" + ${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" + "${FILESDIR}/${PN}-1.15.0-remove-enviroment-clearing-tests.patch" +) + +src_prepare() { + default + + # Link against system boehm-gc instead of upstream prebuilt static library + # bug #929123, #929989 and #931100 + # https://github.com/crystal-lang/crystal/issues/12035#issuecomment-2522606612 + rm "${WORKDIR}/crystal-${BV}"/lib/crystal/libgc.a || die +} + +src_configure() { + local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" + if [[ ! -d "${bootstrap_path}" ]] ; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + + MY_EMAKE_COMMON_ARGS=( + PATH="${bootstrap_path}:${PATH}" + + CRYSTAL_CONFIG_VERSION="${PV}" + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + + $(usex debug "" release=1) + progress=true + stats=1 + threads="$(makeopts_jobs)" + verbose=1 + check_lld= # disable opportunistic lld + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LLVM_CONFIG="$(get_llvm_prefix -d)/bin/llvm-config" + ) +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + + use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_test() { + emake std_spec "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_install() { + insinto "/usr/$(get_libdir)/crystal" + doins -r src/. + + exeinto /usr/bin + doexe .build/crystal + + newzshcomp etc/completion.zsh _crystal + newfishcomp etc/completion.fish crystal.fish + + dodoc -r samples + doman "man/${PN}.1" + newbashcomp etc/completion.bash "${PN}" + + if use doc ; then + docinto api + dodoc -r docs/. + fi +} diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch new file mode 100644 index 0000000..61cec14 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch @@ -0,0 +1,13 @@ +--- a/spec/std/socket/unix_socket_spec.cr ++++ b/spec/std/socket/unix_socket_spec.cr +@@ -37,7 +37,9 @@ describe UNIXSocket do + end + end + +- it "sync flag after accept" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "sync flag after accept" do + with_tempfile("unix_socket-accept.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |client| diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch new file mode 100644 index 0000000..51b049e --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch @@ -0,0 +1,90 @@ +--- a/spec/std/socket/unix_server_spec.cr ++++ b/spec/std/socket/unix_server_spec.cr +@@ -14,7 +14,9 @@ describe UNIXServer do + end + end + +- it "creates the socket file" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "creates the socket file" do + with_tempfile("unix_server.sock") do |path| + UNIXServer.open(path) do + File.exists?(path).should be_true +@@ -24,7 +26,9 @@ describe UNIXServer do + end + end + +- it "deletes socket file on close" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "deletes socket file on close" do + with_tempfile("unix_server-close.sock") do |path| + server = UNIXServer.new(path) + server.close +@@ -33,7 +37,9 @@ describe UNIXServer do + end + end + +- it "raises when socket file already exists" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "raises when socket file already exists" do + with_tempfile("unix_server-twice.sock") do |path| + server = UNIXServer.new(path) + +@@ -45,7 +51,9 @@ describe UNIXServer do + end + end + +- it "won't delete existing file on bind failure" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "won't delete existing file on bind failure" do + with_tempfile("unix_server-exist.sock") do |path| + File.write(path, "") + File.exists?(path).should be_true +@@ -60,7 +68,9 @@ describe UNIXServer do + end + + describe "accept" do +- it "returns the client UNIXSocket" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns the client UNIXSocket" do + with_tempfile("unix_server-accept.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |_| +@@ -72,7 +82,9 @@ describe UNIXServer do + end + end + +- it "raises when server is closed" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "raises when server is closed" do + with_tempfile("unix_server-closed.sock") do |path| + server = UNIXServer.new(path) + exception = nil +@@ -97,7 +109,9 @@ describe UNIXServer do + end + + describe "accept?" do +- it "returns the client UNIXSocket" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns the client UNIXSocket" do + with_tempfile("unix_server-accept_.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |_| +@@ -109,7 +123,9 @@ describe UNIXServer do + end + end + +- it "returns nil when server is closed" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns nil when server is closed" do + with_tempfile("unix_server-accept2.sock") do |path| + server = UNIXServer.new(path) + ret = :initial diff --git a/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch b/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch new file mode 100644 index 0000000..11667b0 --- /dev/null +++ b/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch @@ -0,0 +1,28 @@ +Sandbox won't allow removing sandbox related environment variables. + +diff --git a/spec/std/process_spec.cr b/spec/std/process_spec.cr +index 965ed1431..c32b00537 100644 +--- a/spec/std/process_spec.cr ++++ b/spec/std/process_spec.cr +@@ -281,20 +281,6 @@ describe Process do + end + + describe "environ" do +- it "clears the environment" do +- value = Process.run(*print_env_command, clear_env: true) do |proc| +- proc.output.gets_to_end +- end +- value.should eq("") +- end +- +- it "clears and sets an environment variable" do +- value = Process.run(*print_env_command, clear_env: true, env: {"FOO" => "bar"}) do |proc| +- proc.output.gets_to_end +- end +- value.should eq("FOO=bar#{newline}") +- end +- + it "sets an environment variable" do + value = Process.run(*print_env_command, env: {"FOO" => "bar"}) do |proc| + proc.output.gets_to_end + diff --git a/dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch b/dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch new file mode 100644 index 0000000..cc9e21a --- /dev/null +++ b/dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -33,7 +33,7 @@ SOURCES := $(shell find src -name '*.cr') + SPEC_SOURCES := $(shell find spec -name '*.cr') + override FLAGS += -D strict_multi_assign -D preview_overload_order $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )$(if $(target),--cross-compile --target $(target) )$(if $(interpreter),,-Dwithout_interpreter ) + SPEC_WARNINGS_OFF := --exclude-warnings spec/std --exclude-warnings spec/compiler --exclude-warnings spec/primitives +-SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )$(if $(order),--order=$(order) ) ++SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )$(if $(order),--order=$(order) )$(EXTRA_SPEC_FLAGS) + CRYSTAL_CONFIG_LIBRARY_PATH := '$$ORIGIN/../lib/crystal' + CRYSTAL_CONFIG_BUILD_COMMIT := $(shell git rev-parse --short HEAD 2> /dev/null) + CRYSTAL_CONFIG_PATH := '$$ORIGIN/../share/crystal/src' diff --git a/dev-lang/crystal/metadata.xml b/dev-lang/crystal/metadata.xml new file mode 100644 index 0000000..e07ed65 --- /dev/null +++ b/dev-lang/crystal/metadata.xml @@ -0,0 +1,21 @@ + + + + + + xgqt@gentoo.org + Maciej Barć + + + Crystal is a programming language that resembles Ruby but compiles to + native code and tries to be much more efficient, at the cost of disallowing + certain dynamic aspects of Ruby. + + + Build each module as a separate object file. Speeds build up. + + + https://github.com/crystal-lang/crystal/issues/ + crystal-lang/crystal + + diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest new file mode 100644 index 0000000..7cc7458 --- /dev/null +++ b/dev-lang/ispc/Manifest @@ -0,0 +1 @@ +DIST ispc-1.26.0.gh.tar.gz 19849065 BLAKE2B db4f287dc0e2a6292875223dfe7b799cdd020384d505b60c13811b782bafd564a2adde4a5d1ca222efac77bfa218670af57dbd129e0d47db001b2c71e5f9aa61 SHA512 bb24cab35d3463b181da2b47ebf6c0836e82a5daff18b2edfccb0d83a066d2c70c30038391b4bcade5e3177bd004068c9ae8c523f09dcecb94d02a8b9e38a2c9 diff --git a/dev-lang/ispc/ispc-1.26.0.ebuild b/dev-lang/ispc/ispc-1.26.0.ebuild new file mode 100644 index 0000000..ce68462 --- /dev/null +++ b/dev-lang/ispc/ispc-1.26.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake llvm-r1 multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Intel SPMD Program Compiler" +HOMEPAGE=" + https://ispc.github.io/ + https://github.com/ispc/ispc/ +" +SRC_URI=" + https://github.com/ispc/ispc/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD BSD-2 UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="examples gpu openmp test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + sys-libs/ncurses:= + gpu? ( dev-libs/level-zero:= ) + !openmp? ( dev-cpp/tbb:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + # do not require bundled gtest + mkdir -p ispcrt/tests/vendor/google/googletest || die + cat > ispcrt/tests/vendor/google/googletest/CMakeLists.txt <<-EOF || die + find_package(GTest) + EOF + # remove hacks that break unbundling + sed -i -e '/gmock/d' -e '/install/,$d' ispcrt/tests/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DARM_ENABLED=$(usex arm) + -DCMAKE_SKIP_RPATH=ON + -DISPC_INCLUDE_EXAMPLES=OFF + -DISPC_INCLUDE_TESTS=$(usex test) + -DISPC_INCLUDE_UTILS=OFF + -DISPCRT_BUILD_GPU=$(usex gpu) + -DISPCRT_BUILD_TASK_MODEL=$(usex openmp OpenMP TBB) + # prevent it from trying to find the git repo + -DGIT_BINARY=GIT_BINARY-NOTFOUND + ) + cmake_src_configure +} + +src_test() { + # Inject path to prevent using system ispc + local -x PATH="${BUILD_DIR}/bin:${PATH}" + "${EPYTHON}" ./scripts/run_tests.py "-j$(makeopts_jobs)" -v || + die "Testing failed under ${EPYTHON}" +} + +src_install() { + cmake_src_install + + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + dodoc -r examples + fi +} diff --git a/dev-lang/ispc/metadata.xml b/dev-lang/ispc/metadata.xml new file mode 100644 index 0000000..1ac64e1 --- /dev/null +++ b/dev-lang/ispc/metadata.xml @@ -0,0 +1,19 @@ + + + + + mgorny@gentoo.org + Michał Górny + + + ispc/ispc + + + + Enable Level0 GPU support in ispcrt. + + + Build with OpenMP task model (otherwise, TBB task model is used). + + + diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest new file mode 100644 index 0000000..f7c192b --- /dev/null +++ b/dev-lang/python/Manifest @@ -0,0 +1,29 @@ +DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c +DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 +DIST Python-3.10.16.tar.xz 19610392 BLAKE2B bcc5ff71904b8a936363c6b07b8ffbcb981640c29c1e537a90f838c0a7fa45c1bdd764eae48bcb6d16d7260a44c235e9f5538ada45903b1627527e24c49212a5 SHA512 a6b004974db93f21590f00b9b1a569dfd8c3e334f8c6a8eb8997dec5646fa4515cfc02a7dabea9e4f75f908938dc64333ce4899b9a26aff97f9ffcb027fa2bca +DIST Python-3.10.16.tar.xz.asc 833 BLAKE2B 4fd4ce76ade6d64539e5eb641c64b0d99ade71a8514f97594097207e78412bd2d09afeab6788598a3159f045b98ccd5537c6771e59eeba52d4820c0c0a6c0dcb SHA512 18032fdb60a022d6381b1137789ada1c4bb198049616ed158fb548e728dd1fb95d116a86c41c852ca2acc9127baf3cdd9644a1e2df90ae9c3ffcd66eabf454d6 +DIST Python-3.11.11.tar.xz 20085792 BLAKE2B a9a778eff94529e1029ae252ef28ecdc2f0673a4406d831865e12de3cba21ea48905542d0e806e428802b05947239ca6a44eff3573bd541469b01644790c7377 SHA512 3ff90f15f725fa8d06686158aaddb887a247b03ca4dc1fdfd81a8efb53373db3e8673bd0b3de30bb7669f3f07d9854e9d8a2dbcd49b18d15b8172787a53a0a9e +DIST Python-3.11.11.tar.xz.asc 833 BLAKE2B 6a9d873e181d636712567ea46823ad7f972f872d038092506e67bada24187441188b8fde4672c205ce6d37e60c4e0c69a8f3cc5d1915fd8f5dd8743292a16d1b SHA512 d71b0b42537fb636e8c469d62d13ff020149e4fb9d87eb17f8c999301195e418d134dbdb7e4ab49b06de16e96f8ef6bbcf2a749956fffca2ce03185f191c181d +DIST Python-3.12.9.tar.xz 20502440 BLAKE2B df1a8ba4996219c018fc14156958ca9c0e8af4854819064fbcf0c927258ecb3c5f46e562213799a87dafb35ae5bd647e1ce280affe2ac8ce6a85c351822b6693 SHA512 c840b14aa21e6a963d18c06ebaafb551d9c9a101b3866417e762fc4a2fde071a7a25fa257faba2956c7344bbc2413ed61690a712d26fba4d0dbeaa50e49b2574 +DIST Python-3.12.9.tar.xz.asc 963 BLAKE2B d90b9c1a3aafa1a942ef8d978b566829656db1114b74f1565b7cbba188cf3bf5637c1dbeec3432ae0af0f826a154c40f27fd8fc46350a757ef91f5c426908149 SHA512 b59251ca3a0a17c06ff7d165f6c025eb91127c80be0782642590f5c922297e0710544ac5a9ae977378e393f1c4861149576a0515af5ec0e54e6827c4010d544f +DIST Python-3.13.2.tar.xz 22621108 BLAKE2B 79c7dff8a15fd2487d62847a8e654c02433a89887aa4f93819020b60a30587e3ba92b101553d971b59e132677f9f74dfc41cd7c7901db78a7787607ec96c6664 SHA512 bb1c0598914c6d4326554faa568f660f10b20c701d0f36bf1fa58837b6498d728a407416b06ede39604caea1ca93f60545b83b01ae8ee65f55d4cc83242b63fe +DIST Python-3.13.2.tar.xz.asc 963 BLAKE2B 95a36c305dd452df23b4f119de05e1d3a2b2c9e0c2778a52dc4065f82b52752b68d89eb737cc54cced70623ad4a7b48c85fdff781bf7d7e3b747dacb1ef77db0 SHA512 5f019be530f688b0adf5d5cc9f2c2243e2f1dc7338559db14c1eedd12aadc85404d42c7aafd74e41828205d85f13f278876662ac30c8f3382a1ee081ba5f29f2 +DIST Python-3.14.0a5.tar.xz 22850560 BLAKE2B 69d57ff07aad021fcfb626f9164529ce071e08182a4334a95b8411c451aa93db09c60d149868bbaad67d8c4bd79598ea22fa76856c3f70b9c35b04b6f48dbeb4 SHA512 ae34c994f00c36c6ce18091c63eb3469aa545ee391c6879c89f5722f7311f2e97cc997477897969777dfaf98090e3dd01dcdb655c986140e9a7796f963be9df9 +DIST Python-3.14.0a5.tar.xz.sigstore 5067 BLAKE2B c3ef20345e05763d201090756ce7e786969d8351ba567b5708ec7a20e6d348c626201fd5b63afa51c0b6740aa3406222b4e07f01d81a8e3812dfc84b751ca248 SHA512 e6755be4a974d8007519e18b9ef417129fa032c9dff508f5170622bf8e8ef0616c8395a1261e9e0e80848c739f31e8369fb5893e7b29f308ad8d62cf1033d609 +DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 +DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed +DIST Python-3.9.20.tar.xz 19648968 BLAKE2B 80a337ff406130599b8320068d11bc275d23473cedd7c85fcb9e40134f0f2d533be6e712139e788a6423cdc74cea938f306aa37c2a5099e3051f3e390159279c SHA512 c828f33edf1704e3149499d6d34e89264cb5cdb2b09ff05561641b359716d7996f0fe928629e09f006b1fd7850fdaf937275919c7fdd83f5efc32707c64d814b +DIST Python-3.9.20.tar.xz.asc 833 BLAKE2B bcd5a612281bf8e057e19db9105b199cb7e44050441b19832843e8149088d277f4b625421099b09d4ed6fac5578505f46dbfea13b041d157d695eaf668c3a7de SHA512 f21c012f4f642542479ba329da9654589e5a7f7305c39fb1b6f136b578316bdb115cef9773c9a9fe4e195677af01cb80af05780613cca83f42fae131862a9584 +DIST Python-3.9.21.tar.xz 19647056 BLAKE2B 7f77a7fb38d9a9f4fda7007587f744ade5f32b7bcd911dd72ab82b00d324173f28ddfbe492c71bf0f71edb8494e61314b4bf6f70298289b0e5796c6d002ff738 SHA512 cc84c967cd7a05361ec144d87ca044bd416032ee92dfb78658758d4e1274971f5fb288876d9c599a729bb21258974a786089341bce6bdcffd9c30ebd69b7ca58 +DIST Python-3.9.21.tar.xz.asc 833 BLAKE2B f6e666179d745638a38ace35e13c26cc3e07c116a8c8362cc260a74113cd29a5c1909d2091f2eed4bb088bc71b79ed18c5503739d1cc3cb7ff95d625f4311421 SHA512 1e5e5a5db8074a7ee5eb51e6c789d6e46467165d72d2d636d1fc0d3e15d4355051f9f7ad3063ba43b37b611095765c9d654ed890067c201c087da1eecb620ef9 +DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f +DIST python-gentoo-patches-3.10.16_p1.tar.xz 24964 BLAKE2B 93cf5d208f80f1017e4afdcf7d3551d150a1d68c378312af43c668156d98f10087d2b6f315f717823a9aae1114e2baa999f61ce179639e5511d30ed9620c9570 SHA512 74ad92d3256d744e3572c0d858b4ba4d5f0f6fda84d8f3c1a1fb675376c2d525e2d9fd636a65c8a859a0a312eda00877b13ba311f620b6a51e47dfb082843333 +DIST python-gentoo-patches-3.10.16_p2.tar.xz 29428 BLAKE2B fa63d2fcdbb53e3b6381eaadfbcfca02a03eddd7035dd4776c706fd1aa0226a2c809260ba5a543a209a63563dab12ea109bf03a2026ea4b5797fa6afc7b45c52 SHA512 0186abf035632a3f8018052f8021c1d0dadbc28b7d03551f6992a658fe53878ac9ea86b79512e0e147efecedfda133cf7936746946238177918be9c695248f15 +DIST python-gentoo-patches-3.11.11_p1.tar.xz 11644 BLAKE2B d080e1b987ea0e1b397113f20a5c84f6a34d6619a3ed9f7389fd10d95636169563fba97d212477ca7f9b93d2bd0b66c9521fc61963bb468805a661ca3ab287a7 SHA512 f6045adf25923053fc9a60506b9164c9c062580d6886f1a3dcaca00dc4affe69aa9e138f8ce93f093798ccf33322ccca2aca674ab87457df98a93dcaca234b44 +DIST python-gentoo-patches-3.11.11_p2.tar.xz 16224 BLAKE2B d8404c8c87e109d2c699dbab63c20a319c6efd5b62dab5fcc1b53b5b291e25686e69ef92b495eed0d80491cfa29ae9f523df6b53c7c6a12c3f713c53e3c5b7c6 SHA512 f1bf897305678c2b113aef4553d14e916e83312708352765725d754dffbf2f5dd7ef0f7cd84a774e4a8c18dde8a517d7eaf8e58720d73d25430b28fe49906258 +DIST python-gentoo-patches-3.12.9.tar.xz 10736 BLAKE2B 1f87d1bba8c094936e5cd3e0ef2eede0dbca3e658430f81b398735d8f02fff1f87739914014dbcb17163f8a969ffc5e7e4cce7d71557ce3c2e58487e6ed8b80f SHA512 342f11df85926e32455d52115d06b817a17f7ae104e3ea8e852046d321d829835bba7c07803c50dd5433ac8b615499428d5bc1a088b484ca0c4304eb8b2cb879 +DIST python-gentoo-patches-3.13.2.tar.xz 8316 BLAKE2B 2367808924c83c02b8b2ca765fd4768d4f12cb8e8451eab9d084ce5950a5a81829e573d415f9a16db2e053105def90b5f52c91423fc71e57cd182a1d9c824d8c SHA512 580332ca037c1453f314d5811f96f7bf74defc16cfe515c4fe82ea08a7bf3679aa88d5456db846d988bcf4fbc9eeb4ebe7cee01d135bd55c87931206250e301a +DIST python-gentoo-patches-3.14.0a5.tar.xz 5668 BLAKE2B b12801ac5bfa50cb6e3bf4b79e70956b771e0a4c0d5d4265115cf144740a914f764655171fdbf3178ba76f91b7765aa681f0097aaa55e6aa330eeeec3320bb4e SHA512 3110f99058136e8587a4cce2f594a5fde7c575027440e9e4d3b77dba0428c6af60cd0d259833d5d46e3b9ac3f24a2ad3111e4c5436cb423079f5c1a230e47d97 +DIST python-gentoo-patches-3.8.20_p6.tar.xz 50876 BLAKE2B df0df21c75972fb73e36f66f0c90d3f953b14d7a59bf97ce4214dce6e6d937ed52fbf3db8f3eaf42cde141bfe4d7a731b06e41723285517461c790912706be9e SHA512 48ef567f6972e7975cb61d34a876d8c0db42f1a3c0b832f9366091dd5f2ca854c02887808843d314816c8cf6d7b0738c40e7835fedbba7b84e57f2515dde45e2 +DIST python-gentoo-patches-3.9.20_p2.tar.xz 36140 BLAKE2B af0a9e08f3bfd8eb631760d100ec8f54db968a6bd201820192c4ea63ec88e0f83ffe77c709fcf4da43ad8d44eeb239ca1984561c3e7846e3fe4edd757d2321a4 SHA512 d451b41401de631eed996c34f40f2146d4d2f11bfa04fffa762c9b654e690d0ef95be0f51224a964a7c33784bb9b21e58434f6fee17cf39c20b5af34200569d5 +DIST python-gentoo-patches-3.9.21_p1.tar.xz 35404 BLAKE2B 7b5ac27e814b06791fa5f0566763711c1b65a7c82ba66f97e237eebc6076f0bfdad3d8269ece6c4d4c238b62cc75b01f68ea3a5d7c4fffc46e88f79b2ba3e7fc SHA512 92c8548b31100a921378c72cc94a81062c96fd795fa2cd001c57a71e4af39e91b21b99e9e84db12adb142d9c4bda809445519c5c8a35545bd10230926bd7eded diff --git a/dev-lang/python/files/pydoc.conf b/dev-lang/python/files/pydoc.conf new file mode 100644 index 0000000..3c6920c --- /dev/null +++ b/dev-lang/python/files/pydoc.conf @@ -0,0 +1,6 @@ +# /etc/init.d/pydoc.conf + +# This file contains the configuration for pydoc's internal webserver. + +# Default port for Python's pydoc server. +@PYDOC_PORT_VARIABLE@="7464" diff --git a/dev-lang/python/files/pydoc.init b/dev-lang/python/files/pydoc.init new file mode 100644 index 0000000..f8e0563 --- /dev/null +++ b/dev-lang/python/files/pydoc.init @@ -0,0 +1,24 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public Licence v2 + +start() { + local pydoc_port="${@PYDOC_PORT_VARIABLE@-${PYDOC_PORT}}" + + if [ -z "${pydoc_port}" ]; then + eerror "Port not set" + return 1 + fi + + ebegin "Starting pydoc server on port ${pydoc_port}" + start-stop-daemon --start --background --make-pidfile \ + --pidfile /var/run/@PYDOC@.pid \ + --exec /usr/bin/@PYDOC@ -- -p "${pydoc_port}" + eend $? +} + +stop() { + ebegin "Stopping pydoc server" + start-stop-daemon --stop --quiet --pidfile /var/run/@PYDOC@.pid + eend $? +} diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml new file mode 100644 index 0000000..22ce986 --- /dev/null +++ b/dev-lang/python/metadata.xml @@ -0,0 +1,43 @@ + + + + + python@gentoo.org + Python + + + + Build Bluetooth protocol support in socket module + + + Install the ensurepip module that uses bundled wheels + to bootstrap pip and setuptools (if disabled, it will + be only possible to use venv `--without-pip`) + + + Enable experimental Just-In-Time compilation support. + + + Link readline extension against dev-libs/libedit + instead of sys-libs/readline + + + Optimize the build using Profile Guided Optimization (PGO) + by running Python's test suite and collecting statistics + based on its performance. This will take longer to build. + + + Disable pymalloc when running under + dev-debug/valgrind is detected (may incur minor + performance penalty even when valgrind is not used) + + + Install Windows executables required to create an executable + installer for MS Windows + + + + cpe:/a:python:python + python/cpython + + diff --git a/dev-lang/python/python-2.7.18_p16-r2.ebuild b/dev-lang/python/python-2.7.18_p16-r2.ebuild new file mode 100644 index 0000000..c0e5d15 --- /dev/null +++ b/dev-lang/python/python-2.7.18_p16-r2.ebuild @@ -0,0 +1,318 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ + https://gitweb.gentoo.org/fork/cpython.git/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + berkdb bluetooth build examples gdbm +ncurses +readline + +sqlite +ssl valgrind wininst +xml +" +RESTRICT="test" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + berkdb? ( || ( + sys-libs/db:5.3 + sys-libs/db:4.8 + ) ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( dev-libs/openssl:= ) + xml? ( >=dev-libs/expat-2.1:= ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) +" +BDEPEND=" + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_setup() { + if use berkdb; then + ewarn "'bsddb' module is out-of-date and no longer maintained inside" + ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally" + ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module" + ewarn "is provided by dev-python/bsddb3." + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + rm -r Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + if ! use wininst; then + rm Lib/distutils/command/wininst*.exe || die + fi + + eautoreconf +} + +src_configure() { + # dbm module can be linked against berkdb or gdbm. + # Defaults to gdbm when both are enabled, #204343. + local disable + use berkdb || use gdbm || disable+=" dbm" + use berkdb || disable+=" _bsddb" + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + # bug #945717 + append-flags -std=gnu17 + + append-flags -fwrapv + + filter-flags -malign-double + + if tc-is-cross-compiler; then + # Force some tests that try to poke fs paths. + export ac_cv_file__dev_ptc=no + export ac_cv_file__dev_ptmx=yes + fi + + # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. + tc-export CXX + # The configure script fails to use pkg-config correctly. + # http://bugs.python.org/issue15506 + export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + if use berkdb; then + dbmliborder+="${dbmliborder:+:}bdb" + fi + + local myeconfargs=( + # The check is broken on clang, and gives false positive: + # https://bugs.gentoo.org/596798 + # (upstream dropped this flag in 3.2a4 anyway) + ac_cv_opt_olimit_ok=no + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + # Test program has missing includes. This doesn't change + # the result but it's cleaner to force it. + ac_cv_broken_poll=no + + --with-fpectl + --enable-shared + --enable-ipv6 + --with-threads + --enable-unicode=ucs4 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + # Avoid invoking pgen for cross-compiles. + touch Include/graminit.h Python/graminit.c || die + + emake + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests=( distutils gdb ) + + for test in "${skipped_tests[@]}"; do + mv Lib/test/test_${test}.py "${T}"/ || die + done + + # bug 660358 + local -x COLUMNS=80 + + # Daylight saving time problem + # https://bugs.python.org/issue22067 + # https://bugs.gentoo.org/610628 + local -x TZ=UTC + + # Rerun failed tests in verbose mode (regrtest -w). + emake -Onone test EXTRATESTOPTS="-w" < /dev/tty + + for test in "${skipped_tests[@]}"; do + mv "${T}/test_${test}.py" Lib/test/ || die + done +} + +src_install() { + local libdir=${ED}/usr/$(get_libdir)/python${PYVER} + + emake DESTDIR="${D}" altinstall + + sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die + mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die + mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die + rm "${ED}/usr/bin/smtpd.py" || die + + if ! use berkdb; then + rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,lib-tk} || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + dodoc -r Tools + fi + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python2* is no longer wrapped, so just symlink it + local pymajor=${PYVER%.*} + dosym "python${PYVER}" "/usr/bin/python${pymajor}" + dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config" +} diff --git a/dev-lang/python/python-3.10.16_p1.ebuild b/dev-lang/python/python-3.10.16_p1.ebuild new file mode 100644 index 0000000..2e9d941 --- /dev/null +++ b/dev-lang/python/python-3.10.16_p1.ebuild @@ -0,0 +1,595 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.10.16_p2.ebuild b/dev-lang/python/python-3.10.16_p2.ebuild new file mode 100644 index 0000000..5e5ed7b --- /dev/null +++ b/dev-lang/python/python-3.10.16_p2.ebuild @@ -0,0 +1,595 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.11.11_p1.ebuild b/dev-lang/python/python-3.11.11_p1.ebuild new file mode 100644 index 0000000..0d603d3 --- /dev/null +++ b/dev-lang/python/python-3.11.11_p1.ebuild @@ -0,0 +1,626 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + if ver_replacing -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi +} diff --git a/dev-lang/python/python-3.11.11_p2.ebuild b/dev-lang/python/python-3.11.11_p2.ebuild new file mode 100644 index 0000000..b4ca94a --- /dev/null +++ b/dev-lang/python/python-3.11.11_p2.ebuild @@ -0,0 +1,626 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + if ver_replacing -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi +} diff --git a/dev-lang/python/python-3.12.9.ebuild b/dev-lang/python/python-3.12.9.ebuild new file mode 100644 index 0000000..7264acf --- /dev/null +++ b/dev-lang/python/python-3.12.9.ebuild @@ -0,0 +1,609 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.13.2-r100.ebuild b/dev-lang/python/python-3.13.2-r100.ebuild new file mode 100644 index 0000000..1fcd980 --- /dev/null +++ b/dev-lang/python/python-3.13.2-r100.ebuild @@ -0,0 +1,634 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 1-2)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + ewarn "Freethreading build is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.13.2.ebuild b/dev-lang/python/python-3.13.2.ebuild new file mode 100644 index 0000000..974633c --- /dev/null +++ b/dev-lang/python/python-3.13.2.ebuild @@ -0,0 +1,629 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.14.0_alpha5-r100.ebuild b/dev-lang/python/python-3.14.0_alpha5-r100.ebuild new file mode 100644 index 0000000..1967657 --- /dev/null +++ b/dev-lang/python/python-3.14.0_alpha5-r100.ebuild @@ -0,0 +1,635 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 1-2)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + ewarn "Freethreading build is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.14.0_alpha5.ebuild b/dev-lang/python/python-3.14.0_alpha5.ebuild new file mode 100644 index 0000000..da61ba0 --- /dev/null +++ b/dev-lang/python/python-3.14.0_alpha5.ebuild @@ -0,0 +1,630 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.8.20_p6.ebuild b/dev-lang/python/python-3.8.20_p6.ebuild new file mode 100644 index 0000000..c6e038e --- /dev/null +++ b/dev-lang/python/python-3.8.20_p6.ebuild @@ -0,0 +1,491 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + rm Lib/distutils/command/wininst*.exe || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.20_p2.ebuild b/dev-lang/python/python-3.9.20_p2.ebuild new file mode 100644 index 0000000..64cab15 --- /dev/null +++ b/dev-lang/python/python-3.9.20_p2.ebuild @@ -0,0 +1,584 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.21_p1.ebuild b/dev-lang/python/python-3.9.21_p1.ebuild new file mode 100644 index 0000000..e8160fe --- /dev/null +++ b/dev-lang/python/python-3.9.21_p1.ebuild @@ -0,0 +1,584 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest new file mode 100644 index 0000000..fe30781 --- /dev/null +++ b/dev-lang/rust-bin/Manifest @@ -0,0 +1,553 @@ +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 +DIST rust-1.71.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 223d21586b07645d5860a3a023f42a191fc2490ad9e5736c3b2335565227780aa1f87174060cd6f87c4c873b965bb32b1556fb60fe70a7dc0f753409adabb024 SHA512 197197752e5ce110a1a96ecab8d1ae3aa82769a199c51b42a14b1f0749045a280f00aea0dd0653211bb941b80fbf43960d1e11766cf2dc35be3a34445e336423 +DIST rust-1.71.1-arm-unknown-linux-gnueabi.tar.xz 173870064 BLAKE2B 3c2e440e22199e081f6121513cf2a86b22ba0da08569d0b95edd1a69d890e191bda150429f4329c9932d45c44d49e8dfe1902513bb379b039dabfeb8bca36a44 SHA512 c59b1ba5d8bc29a2d1bb57f19e584af28ac92d8bbf889b80d443684e09a6249453bea429226078c9ffcc4d04a7a03f3605d82e3d8b412ca83720cabf5595a8e5 +DIST rust-1.71.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 38a5fe9e5e67298909d6a36e625b990128649975d47e544847a2d6067ff88fa63cc0c3e1c8e2c8697f0a0f39584b4e60cb8f29390cc6abad721c681a4cf183e2 SHA512 a7230aa7f507e5e4d71d2701fd5c1abe29e3c53109d67a5133fc32ea32018c6ea6dfe512a0e58acfa8d2c39dbaeee2cafe420aef4979e95ce9d62b7520b9b01c +DIST rust-1.71.1-arm-unknown-linux-gnueabihf.tar.xz 174277632 BLAKE2B c317f946f4fa7b4e5c4e39bf4035108ff1a6085420f932eaa532cb89f15babf4b80a5c231f9980300d4ea18b6dd369bcda33bdceeb7065b03fdde41a01165e76 SHA512 ff4b6ac0e6691820f525a84505a3556a729cb189700209c084e9fe981bd076ad7ec30fb748666b7f51ee901ac039d596670bf782c60018590980ff1e61cd396b +DIST rust-1.71.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2fa6e24ac4cd9ec4772655c5e8b135a0118c38ebb41462940669df0c65c0091e60306a5a09cb020dcdaf06aca7b2c8cdff904dd2a5f4ca87acfbc5775adf2b6c SHA512 c9cf9c1f8e19fe0576dd805f21ed8afd1d3536fa8ba00fcd39d6e6638198fca51114a8d99cd62164d8a0aee6bdf37831e678f08241fb8ba63ccdd6e8c7225717 +DIST rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz 178239136 BLAKE2B ae0ca46260aa4bb60760812f50e606ecc18fc14b3dfa56135cb6a83249c0cd5e0544d29ef5eb34d3ce45e53552f736c8db2928b3d65d847a9b3d61be7e863ee2 SHA512 56c63d4e9dd99ba3604bec5c0f0d8c2a51a93c0d11beed721d99cca05b20310f4439c049ee5b3ddb6e723381e315ac991d9a7327cea86e852b6cfca4cc7f9a0d +DIST rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B d5cea850a1930a316574c977542e7026eed67dc244d8857c720d9de168f39b5437912634cd5ebefb63e8d58200e7b11d69b8c6ea0e257642a0df7c1ae8026c80 SHA512 2d06f90f916e4f184d536b695d123628a28f452ad4fb3da53dd3fcf5e013df594e8ee6eb1819268bc5b20ceb1c05d6d3b68a4021e60c73c7da934fc05014d2c1 +DIST rust-1.71.1-i686-unknown-linux-gnu.tar.xz 202188608 BLAKE2B 153f94771d68ab8bc25d1e38afea206cdd182a1ca0b7ea8616b932617c2368acaffda959ce3220506d7b2601b5120ce65ab83fbef167429b1b8a76108f3137b6 SHA512 e835354cee992f751d994943718d8908bc687a540b91b4b296962ceb0047d447e5b12a7cfc6661de8a4ee9c90722f8274c3e6a37f6842e8012f883cff32ac2aa +DIST rust-1.71.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2e47ce2eaf7d8c16a12630778cffb25fdbbe23d978ff46d02fb6363f6ce45a6295cb948f7b20c9a966d14f832a38e3c53018188b54fcfaac7b2df85508990a9 SHA512 2e5d191ba550965de6962c595c5dd063f96603522eff467433f3cffb31539e3406c1a62e3fd37a66c4eeaff2c1200a33439c6ca5133dc00930c89c7713ecb0ee +DIST rust-1.71.1-loongarch64-unknown-linux-gnu.tar.xz 158000652 BLAKE2B 6ca5a251202330755f53eff6151abb724cbfbdf190e19d15df009e33cb17795b74a491e8a6c040ea69fcb603d19b7baf6f1f47afb5a984bcbb6239640748e003 SHA512 be33401e6f02669102e51524ecb2a4bcb75a539084ed0e04f80bd389be8432a7f3952304b21397fc1d6894d86a263da40831625a04b72536dd2af79b0d2e1845 +DIST rust-1.71.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5b744b2bd11ff69ac0c66af93a80c0c9f4d6aec465109033a8ffc63d2a1a8bb0e9cde1d3e9aa65e27287105673230acd07511e58112b7c5beb0c452323cea72a SHA512 a5d71f2555bfda22c0366a35032ab902071e3c75e781d1b1c5d090b6b6dac78046b31b789f71f9ed4adf80523903add324c1eb8e8f8a7b744d6a7d8cc6d3be68 +DIST rust-1.71.1-mips-unknown-linux-gnu.tar.xz 152451900 BLAKE2B 86804480dec985aecedec561707ce7dd2dff5e85b25da940051c2d89ae905b630ed7bb0df9e9bf6373917c5f6f513049b8be4b0b673d7c0dd77d8095700e6103 SHA512 0d3069e17c23e6651bc6dc2f7dd4de6b5b54e24ade5aa81a8ddbaa5f4f13c26084c3a04d246181d49fbb15cedede2a5d8f3e4a21080654a257c1b4285dcdef27 +DIST rust-1.71.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 217ca15420e4ccce2ea287913eaee07b90a1ec534a805b899032a8ba18f7b6a75feba873b8fa773efef32cbb0b265da08ff026e6d387c824e63000b04e7419b5 SHA512 2e0355d8364a9e6b711012fc8e1f227c76290804d967def666ae30e899f52197da06dc1498191f6b9de6868730eb8883ca0849351981efd82a5b9d12da9681d0 +DIST rust-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz 150685836 BLAKE2B 90496f5f9b3af09d9da3b45913a57ac2b1035838cf4940d3a6d4c2fb6bd1c5dacc86b144e8be851a35bcce19100ed2cc800d840c3182b01ea1954353060d56d4 SHA512 af97988af615c7cfe08db0424169cb133f97914fcc75a76356ae3b0eeac2c8eed436208694d218a75879db163963d87523d23d6ce5ccc91688679950536c13df +DIST rust-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 04665afa887c047d2e888ee4275faab1efda5f7dbeb4222c056af53c756a00ccfa5cd0f5a792df4bff325cb870f50ce6cb09e713afeeec201050eaa14dd6b0da SHA512 560d1e474e177cdc28cf94b10f72785ccc0db748a185b5bee8ab0c9598d3ef7152f79bffa7f11594be06ae07c3d56bc8176bfbd40284a6888d20e77bd036b9e6 +DIST rust-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz 153800316 BLAKE2B 63787c2fd44406d45de5f153259237df8116aa5419d241c92c5e9509db1fdea6fbfa0b119bca83cbc23a2abdfd50365de7c7e3f37bb0f7d402382657c97ad226 SHA512 a6c8399f2f4e56340d1712c71f03ac87ecb8f3694f0c4f1ce64a1f810de850f5ece7361cd93e8881d83cea2094a82a51f0d54cb795c4d02a5a1d94ed49b8f0cf +DIST rust-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B b69e13a4dd21447d7a39c24f96e9416c7b68bdb4af08c1ee7e312d78d2b064d1d67e397c0f04f9f8c68498ff3934350729021c9a4ee521967bdb63f53ab08c17 SHA512 9bcf27125cdf776719c87adb2947b1b9965dd3dcb231293a225e2424906e759f97ce2972d2f7ecaf69d708266303b8dc776c3e119c070e1c21ef59fb90405050 +DIST rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz 155924032 BLAKE2B a4862cfd02053dc8303de9158929da634980c15d8fe32b7b51b316e6aa83de1f0d075ea4acd250d5bb210cb269bff373613bd45eba003f38439e22831b433dc2 SHA512 96708e1481c4790d5c2938ce7664cf83c2b9295023af017345ab0c9afa37bd43c2db93b9e8097d8d1aa6c913bab0db9324f057ecb25aa65bc16295cc625f2bdd +DIST rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 90063d27ffb9071f6c10cc54d17073ea79436dab947b7f8f0a8f2d7c0671edc66f7e45d5954af77f30f8c3a005d2951af56f129d311cf328c9987bd5a5ea9802 SHA512 a2bc87f7c1baaf6f245b1d008162a1e5f52b6f949a3e06f69a7ae22315fc7770403ace7289830cfa60f6e66fabbb23352fabb5f0c24be05d58f4f891a8d6e956 +DIST rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz 172809692 BLAKE2B dd6e3c96d168dc2ad4b3bca38a42a2b3c5c0ec5555f042ffb9a7e1d6430bce3659953c2c6c5454843ab41e648e479c5cef2645f2ce0bafe72892ff1ed014787d SHA512 bc2a8b9fc8494cdbab89364c15212f7f8e9af416639f9dd05cc57f0ffe18288be7ec489d18061387c43a2f8f4ab1273bcd7de58126546b59a42ae80e9a2c45d8 +DIST rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 620a63d1732cc0cccdc3bf6b141e2467c0ba50668d72be44cf04becfa9e0c30e5a5a4a7f5ae39fd1321130703bc6522c78e9bfdb23e7b3354fd760eb4d118991 SHA512 f6467c3ab3694fb89db06c67e6fb8afde75b4ab86752d9c918c89ca6bcc8914bf45da71076142eeea2dd10910edea42ab0d8144ff7b769b22edcf9bdb447e381 +DIST rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz 172399116 BLAKE2B ebc82664a4e9f651e9111e862a9cc341615526c6e7af2b181a653eb7d6a0c52156bf1cd35671c6e5aea41fa2653f042a9c865212bef6e8844a88fb9bb7a8891a SHA512 94395abdeb1615f594e4fc86d8bad85a01bbab05893bc8af7890ec509a2006d51c1a8723d3cc8082a214ee851fe4ba06707e01c3f009ed340d791d35e034341a +DIST rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6d3565b8d9ec5b6d719dbe06120469e2a6f1ac42708bd7ef9705e796f0a4c528929a3984a7090a4da6521b09a53b48db119dc388d66f782f01a1ebfa61c8df21 SHA512 847fa662ddf9234a4a6b73e9d515b06fd0af0f098a826463ddb7df406dfdb25ca7b37110e90ff07f0a58cdf2c42755ccac70f057243b44f3b733ddc449cbde2a +DIST rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz 183620460 BLAKE2B f8c562813364a2ddcad26287f227ea93af4d91fb083998835e469a676c9be1c0262e88d0cb7e06cdd1293ba8807334744d4e4000c58d9f34c07fc851b0e31e5b SHA512 f8f627d847e405c9960a01f59eb1e14aa647e42004cbeaabe734c110827921f019cc01bea13f2ea0b5b3c2e4391f60b6ccbe4298182593564169cce0db6c9ae6 +DIST rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2c09621ed09918bcebc6561f7f12e387be7919568929d0215a6bc5333610c158acca2998ff8c918956d8289da2f3e2ed4850c0ce45a9f1d85a304063eb8d5671 SHA512 5f5361a954d4b0510d48cf5b2f2bd0722f9d99a7b28aab8f3dfea9303489d9b60f6e20ee4fc61b74619d3c0fd298ab9bb903b3509f55c448886e428ba9e28d71 +DIST rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz 164813572 BLAKE2B f86f7443da64afd416ea3119933a05a7638ee41576e9d761f491376b781e9362992223186109a6b930ee8a012dac5c37547448dcb903bd5bc480b66f8fef3123 SHA512 525a345dcb09141e4f4f5ef911c8f8dd63180fab956752ce0e9f5e2821c89603a2896e7042e019f61ae8807052e96b52bec492f49508dad2a351ce1a9c6de79b +DIST rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6d37bd643caa5780e80a51876228bd12175132af89f1fd35dbd55f8c5544afd21c3e844027083d9cd5ba48bd41c3dc8c1427b400c2141dc3e1d128a6f5672ba2 SHA512 ee22b054810c12dbd48e9ac4006d74f2545c5fa090b80f831673e0850e16122569376380d1edea6c6195bf76441c0751ab52c6a143a643e656af0880c12578c5 +DIST rust-1.71.1-s390x-unknown-linux-gnu.tar.xz 195515792 BLAKE2B e8618c69ccc350c7e63461080a3768bf4d7b26f57e75a98a6e62625cb0deed8cf93dc00e485051d01b9996c6b48d3d1a84f88d5194b618d06e926c5543524071 SHA512 7915806421c07b70acf31bab86086981dcabee08e826668c8225db68c4f895fd16ba3e16b710416d2b96de3c30a9dcd137107a04ced21972d3fe52500e56178e +DIST rust-1.71.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4266dea5182a07d4ea1f28e6a362a2233df684836af9b5d2b78e87aea2626575d3af6716868b1cc10d2f38d77910d845c3997da7bf93fe865d8486d63dbc9e1b SHA512 a70d2d4592021294734ca9e069ce1f22e2531323524e4bc6477efae074026e0685e31c1d06328e2b17eb87a27dd7ec6793804c87280a002733b87a676c374729 +DIST rust-1.71.1-sparc64-unknown-linux-gnu.sam.tar.xz 57363076 BLAKE2B f1332698c8d36a853f11a2a5b7b9ecf6461bf7b505c08c1fbb6da3e851251f1b081969beeedb20eda3214d08054a8fdd544fa084a69d259b6b71b4dc1f4e1721 SHA512 1614523649f8d27569440ea03e9f4ad40eaa6ae826bf89f6616dc1106c99897c197e56017d16843a1b5bead40fa1f16d8603b91f28e41e6bc38ccf7544618ce9 +DIST rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz 161080376 BLAKE2B 40bf80551c032dd62e19bae5a235575c5d8894ea75f77dd34510499b4f4e779e27da0faa98aaeacb57f73e9632ee90ff0f60f167108529ade67198841215d109 SHA512 15c5ff75b02357beefe717a36e7755d2841778ce4e39020d2b920239e4c8d0adfc17ee65de7bf42493d287bdfca194189f3276adc0374ac3d1a6af63270ef954 +DIST rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ce029d9af59f26535a3fa121f20672f7eaad5019934457ac7ddc059dafcb2c3a37e5683923d4bba3f3a735805f11092189cf84d0a6352a5f9f475bd3eb00cdf5 SHA512 0376b16b9c845738c3c291ab2a73a3ecb20cbb8bdd0820568a0683c84b211e639413b3046d756e607a0f1b23695c9dcb351711fcc474e6faa8fe3098b1fefefd +DIST rust-1.71.1-x86_64-unknown-linux-musl.tar.xz 232096648 BLAKE2B 7f4deafa57baa300f037ce3d9dbd101d5d28cf29368c4b2fc8e51799e59382155076aa0a3c0b6fa0c076693fd43dfaf80ad7685cd44233d7c31037c091a90224 SHA512 55b507a30d62a36aece4a2c2cab985e09d9552ae331c1cab51d949777261600e61d4f05ca1e81fe8b37591fb91939b1cdb55e6930d70e5126eea1a78caa74eb4 +DIST rust-1.71.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B d4a9f89274bf4b0004248764c07c7f82f8708f81a826d7509611b75e51d280707a75ff2c9d6b372e79259f7086b3e962afe51c3f0b98dd3fdd4feb683783c9fb SHA512 8be13b63b48740bec80772a826f06a012de58b1294f87374d7b4c844c90f3093ffe86bd3f1d989987696aa095302cc4644e3137fa2c9e1363c9ae8c3e1a05268 +DIST rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz 216291888 BLAKE2B 522c2f2b27f9ff81968d7aa536d2f909bca4e4ca6bb341c08227c87e7f25d9808ea6da74ae1bcf3a7bce4165f1d374fef21d352bff37b7241d19d50a624a08e2 SHA512 57486ce7f4ab8fa6f8091817790396df5b9cd31b4c9901b9969fe5407908458fb384423097ee27485c03dbd30d0cb15c3e8f0e5c15ef4ad17662d91685e8caad +DIST rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a60c4878f4441029f1f23e6a9a29046fa2d62c1aa8bf33c5ae4c0e986d67ea64688a3fd22bfdc01e99635cc567d87a94fc9ccdb8e512cc4dc8f0378d22eabbfc SHA512 3b2c3d1ccbe5d18c4b8bad62337ddec6306bc0ab654fd75962403f79b86f669ede6f8754327f8375cd4a12f74f3f4df4e183a85f8459de015e6543e17ca80767 +DIST rust-1.74.1-aarch64-unknown-linux-musl.tar.xz 196804076 BLAKE2B c866cef7698da867e8389bc6d460f67486e52822bec516256a8170380d8a2693732c18cc18729b980278fbe3c6fd2d21f1470fea449e66458d5481ac00728824 SHA512 54b9574f624dbb1b8399747e855eccca38dee76c2b59d71fbe41bfb05c1a784bc38d383e7aff0ffb0b8c2c5878bd0f8806e03d1a3c2a6bc4a1a9483d711641ce +DIST rust-1.74.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 3be239b8961901836a9431a3084e106651b08da7cada74e3ba8f69ad026e7bd88aff25dab307eaff81c85dc7b5477ce5085a56f2aaaa6fba20d6b3ac5db3829b SHA512 b7e09b1ca04732a04a9f0b63cd24d4cc88e26535c5974d00ed511b76c547fef1fce4f4105fdb3d60cd11dec6a579f55a97fa388085fcb8bb3f51f41d96db666f +DIST rust-1.74.1-arm-unknown-linux-gnueabi.tar.xz 180529732 BLAKE2B a61ecef80c1541df30b247b95d565d29222afd4915e32c64af67971e966ed1d4af3f28debddb2f21f16524013e20309f3226b3a18414fd1cf2311aaa07447570 SHA512 2f0e0ac1e10224e49cccd636c00463d009f1c99ffb742dd9774e3722e421f90d9ee207b78ae348a0c2f7703b9538c85db3fd2eca160e2098079fe061fb2006e4 +DIST rust-1.74.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 72a01b04050ab3dcd841df10a08c8f9fb7a2c66000b3b035718e4b9cf4ed59ce7c3223f11f9f9ef3dee00260752b0ccae99e70eaa5f3a7e6d2d9457400eb74a3 SHA512 5b399b963c5a3fb0ae0b90523cfc02ea7bb5a5966a48355c937167ecc291c23f4ee8186f09952c913dadab2c9d29f2464e3aeaf077f03aa85964815d1cc27e89 +DIST rust-1.74.1-arm-unknown-linux-gnueabihf.tar.xz 180572504 BLAKE2B 9d94a722a432ddb86276b097fc54926a88b6d9be8e891c84ab43be5c5da0e8b9b9a50c6143959878a479833ec4b85227bddac42bdd391a285ff5c6478345b3f5 SHA512 80882828ebb0d1f609fadcad6e8678ade6dca57dff9c5967ed18b6efb508f4b843b020c83f0fa52f21e506353fbb9eaf7073263662dd75725e85484b9b171804 +DIST rust-1.74.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 4536b990d631d2e6874112e9dbba7cf3a618be577037ac37f2a11e0188eaadafcd552a21d8239d8560e0ab3308a5a2bd4d289055cb58a29aa5d11ba08cc7929a SHA512 6166bdc50e94eac125b66ad6b3d44d162515ce851d67fc93d312d0e16b5bd9e924cba35367d6bf89c223589c80bbb5562cd1c4e7c7b7bb5df51297f766f0b6db +DIST rust-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz 184280672 BLAKE2B d5b409d2d287b95b4e5cff334c9f56a0f357be479d4dbf428b1c631a783eb694b857099f04b3fe7bd73e20372df3d5ea9afa9ec87d56600962fa1c43f822eaa3 SHA512 208c82013ba23716fcf2187cad300c35bdc5ee90a646e6dd2e1c72f3a5722dc21e7e5578f6a56f5644c0641b10fada7f837618e0b1ad68a71ba8efeff8a735bb +DIST rust-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ef11fcfd18f023ea32aa48f09bebb967c0f1d738c04d4b407ec2955e67f364ae420899ffab3d177491d97102f28bb37eaa32615942fcb7e0c14a2823affa7538 SHA512 7f2a556b0bd294a4ac826e6d3f7b0fea161b36d9c87eb44270cf024d341ba4dfaa6899bf07a24ce3cb9ee37ad568b3b74d017681d386030c22515645444617b3 +DIST rust-1.74.1-i686-unknown-linux-gnu.tar.xz 211724720 BLAKE2B d48ba506d42406277c2d33cfc8d6c98775b58d7eb1c04cd9597dcf87d58116d1043468ddef3bd05e30fe3ead09df696c2f1d2143b9f0c5a244d51950a1c1c30b SHA512 ac0cd4f60f7f1c526bfc9aff310436764661c15789ba75dc3fd3b9454d357e805cd9fca49af4bb4c16136b72e6bf706d4a3b3957209e667832105adf8b7fa795 +DIST rust-1.74.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a89f1f8b7da7bc5598cb3ca9c257e8660592761ff4ca98221e160a14aa2a4ef55bae03c38c6ba898c432c5b6819045c29a3db41ef8c104694cd7d9e4d0857e10 SHA512 f2e29365922a18bb0a1d6f3664787b26b4950efcd5ca288f6ea3895c4c436c29d870a7aded83b6f6d9ad8603a7f5a1a5e1867df3a34de6c9252c1bbfa20b6034 +DIST rust-1.74.1-loongarch64-unknown-linux-gnu.tar.xz 161665796 BLAKE2B 2675081def9896306644c949c623643d999b3f608ef4745160a8f8c8d9de92c1762e4910dd2da44d07cef6ec9357dcfcf52d1a9291866ce2321c67698f0fc615 SHA512 fe43e4a65d47d1066f4b363b1b3e83029704ec61a13f052fd2f85a5da914c4d76dd2bfc9e58364f3e833a3b966ecc2c3ce3157480555911939497a5ace1e6a75 +DIST rust-1.74.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 85aaf2be268183b23b1e7917e062f3699634d4a0aa939951c9863e74b03d3d55ed5d6ef40def86352e82b32a95224009d27a557f8c432665dc299aa6d44bdd7c SHA512 a7633c018385ef65b3ef897e5b55769c3abf4178e1307ac81e3f18ec5dc72837a22635388a436861c5527aacd391da45b87de62f4a6284ed30630f00cc4b615c +DIST rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz 176968064 BLAKE2B 5cd80269770368ad29b772aa40a34350ff11d3d931df82975506ab52604f8b12d1982ab420f9375d9758c829d89f18713317ae6c0d8a8cb37da1fc941ed20046 SHA512 2443cf5d22bb9bb0f435b3370f9bea2e1322e3f929b0dcf99bb2515a63215015701645e50af67045201256ccdfe3b1f8d0f713475e03c79a3bc5f3001299d382 +DIST rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0dbf00765b035a629cf044e64b5c4819bc1c7eecf919dcfab6db764aeea972a93382308e1815756016c22eeac22a0db75d4f584b7704ec57de9b984c1e52a2a9 SHA512 d1eb882c2faea41255b3d7241a441402f45d3ea177bc8853ad0e7d07a15f00ef0a2dec7390126cf3d24ee6b875aa11a26557368ee0ebcae63c7312761b118c89 +DIST rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz 176582892 BLAKE2B 21582bfe0011448b43cb7fa88fca9e98cd4a555ae1d147f86f7b33c8f5eb065bf7ed83f0b8bd44bee04c8d58a3116660a2e0edd85fa9af7000c3778365390487 SHA512 d95a2803a5c386c8575c242684688c078557976998c48b13f619f710cd4c29b962a1d257878fe2a1de16cf7002d885fe99fe6787e8a12837355dcd10b3a070a9 +DIST rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7d5a67e75e37d1d0ca47e31fa71128b906bf135056cf775bf04bc9667b1bd92fe1eabe7890fd1328aaee9ba5dd1ea2de06dcccae88a1c8a1aaa3b9c68bc94832 SHA512 72caa7f82862c85561b27079c3c1ed31372ec31f9692474a43a91fd6dd84e1172db0dcf215be95d27569139dffb7207c0dbc2f80a9c7e19dc6aa19d960a7c7d0 +DIST rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz 187570092 BLAKE2B 5319e9c159452264f9b1a5982541e3cbed2c3b7279f6942424621f75d1c7cc3e67cb85df1ad0e8d34bb6009cdeb8796879570611ebdee4791b7b269c4735c8a3 SHA512 62f0c8667a2b93a043b87fd455464e476c8c05c4ec693e0d0159fc7b75a14b45fbbd6510f92d4d99dde90d59e0c430f200e8795405849db2caa09de53fabab04 +DIST rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 24b84c25550c8920eea2cef557f9980e3a8e18895eb08ee97837e61738f27e1e3d20a4926ee3f614c16c720044a0576da12957c15c7e9a6fb7b0facca62f33a6 SHA512 4cf7398718303920dee59ab43d391c09b81d636b04d760b759890b0231680a5a97d99bcf838b9f26529e5ed1980a94f4c58b2984096d86cdd5bdcb9d48c7a134 +DIST rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz 181803248 BLAKE2B cd007830f59175b7e63e13688caf53a12d48aa2df9871dd24f5e412068864440a084baa9e927ee2bb6a008d4c586f19f149db9a9eabd6cfdc1e7ac9ec3ba4316 SHA512 3c05427de5214fd542a45ddef906fa179d487deec68a860776279d90ca644e1182cd98fa639b13df11cc2db495007abafd004a681ff13927bf6a7490c4fe494b +DIST rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d19edec415037449fa52b80a804fb505767803a805943d0acf1a9216964d7ec7ca108b3b578621f10c23c37cf71decac0a1451c49525d2d7850d52f18e883b95 SHA512 b00a20e466125faec270ffdddd3f96f07133488aa1c9e2e706e0408f3d7ad350812b2b5831226c77657bc5a8d4fc55e5bd13085ea9e33fab88e32b469f9c2179 +DIST rust-1.74.1-s390x-unknown-linux-gnu.tar.xz 200997424 BLAKE2B 31ba7d46ffc5388b5ebd4be9b2c74873ebaf6a8301d5211823a0677492de4e2ed0562971e41a3825dcbfe4311588091ce062fe1432ed441eb736d64c73f5f0c5 SHA512 76bfe267e4b6b59b823f29be175e9c63102f2dc5df060b9b7b5bca2a883c57c113416c531c9fcbf3ceaea0b8955ef864f572e64604b4b816c8e3b3d8d68c7ac1 +DIST rust-1.74.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6ea21dedc092abab913973752e6875f6b5a437ea4107d6245d2104c443c8af0f4af64d06211305968fc14ed15a628cee6a5b86701a1da42fcb2ea5afd166bfa9 SHA512 e155a6e7936f649eba413fbb07516e21216fdf9183f02eaef040002e2ccaaedbb399003b00dded7d7b54507182296a54455eeeee4b0ab48aae77e7939678a233 +DIST rust-1.74.1-sparc64-unknown-linux-gnu.tar.xz 56648912 BLAKE2B ca6b367c1f938e48686880b40eea92edc8e2f22668541de99318bff0812416f6fad02ac381785270bc212e43d578094ae3e34f8c59b648183620e1823de64bbc SHA512 617c1c222f8c2e50c90dfed81a64da8c3bc2079f926ab75d022e3e2fadf7cbda3893ced595ac8235c2e919a98ced5ee7f02163a9d165cff976190749c298e912 +DIST rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz 155438320 BLAKE2B e33ac5c6f913e0eba2f92d46fbac255ef3a06a77324cffb1994b713a1b114f008514fd4ad6d9e7fa2ee860e168d90c574b80769f585a6f1f36e0c57313056e82 SHA512 08fdce8c9b35ab30e67d7ba932a105edf3a8cddb618dc2e7c5928d01afd086018732dcb87d66d1cab4b1468bd6e0a516459e39beb0514f2b78dd418ce530ecaf +DIST rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5bcfcc084bb7c4e3e95fbd55a8a0d6b64565f50a64e203862b8607eeb6d74cb5d0a6e16b9100a96286b937452b87b56554235a39da2739e7c71933560dcee74f SHA512 e39b200fcef34fc359deb9b0c104853fd33714ca8c417274ff6e2aa5ed76dc98500365455edc4defb4f55172e33912674c2c657eaa40b3d8451e75b7a23b38ba +DIST rust-1.74.1-x86_64-unknown-linux-musl.tar.xz 235698028 BLAKE2B e392e83b7ccade6cddff9c964162836552f90b8f3fd821348bfc0f72137f99e0c29a82b45c74893d22e0a42861c9413b29b97a85802737bfe363b1e694fd4e81 SHA512 8fb65ea5538c4a0865ac75561bb8df71d3703f1d4ed603f51752844f1bea02a9a52858587f3ee776a5ec27e793762a1b7c9cd845bceedd8a313d7ce2ad476ca1 +DIST rust-1.74.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B d410ff0019f43eca1dcf374803905921978e13c3c85a3597792a860056ffdaaad3a9503a0780080fa6ea8044cd542a2fec74b253b3b7838cb72be2385430dbc7 SHA512 68cbaa9828003431341b8d4a0b8451689c5eaac2a97633738c3f0eb957fd985e792b87a3a0d107f05d5bc59be9a08d047854b107cf2d2a23f31cd722251bfc4b +DIST rust-1.75.0-aarch64-unknown-linux-gnu.tar.xz 215543948 BLAKE2B 6d5de2260e4720275bc8c0ce23865840886e27a3cc539ff90c7b8c3a9c04368f2c2a2955dd7c3fe2fe5471492a7ecdf4c2e5a749789a059ad8178a0d70dc32f1 SHA512 7ccd4d605c97cc5a7dfc443ecaee23b4d7c58b0e9673ebd0f9174a4a123639213eb85ed25f19479ea6a818859190e673e0479ee80235a7e35a2d971a636872be +DIST rust-1.75.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ee4d716d905f654932ef70d65c3e83c573d9076c447b4e5831d1dd657be407621890d7a9858fee1ca8ab869420edd267f71d73948abc5861315ed4dc0880d18c SHA512 007e9b45b3b3957a8da7d01c45c5cc7d2d49942dac39067038e74b414ff32e810fd902b8dc7f7563b18c565c782b4e701f23f6d1cea397959241d3cdfd6421fd +DIST rust-1.75.0-aarch64-unknown-linux-musl.tar.xz 195703332 BLAKE2B a662f9402ede618e78c9899c9b01c2138b927286c0269e847ff4fd389a07029eaa4dd5242576457c8ed67b6b46eef26396d079d1dc2749884cb05334676435b9 SHA512 eceececb90e3c2fb19866e58619237b416777399c6212362bc09f784138df83edd9160dd29906ed928a50e0359b2d9471868b594d765d35c1c7d8d22760c4f1e +DIST rust-1.75.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c37dd733fdd13617f6c4be580631dc78e40684c4f47d1e90f575e8aa1c122b36c1fd7182773944cf8cd873c84299a484c9f50a48ff70c7cf54e4b5becb6355cf SHA512 5c35f04cc4a58cd29c1d6e9a5616937492f584fca29db099ed1d59442e76700b83583b1d41e7ce4815187c7092af2eb6f307a959e8b7a647818c9ebe84cf4c8a +DIST rust-1.75.0-arm-unknown-linux-gnueabi.tar.xz 179835780 BLAKE2B c532fc00e99c6428947e5335efe73fb979e66fd8d52f60e9cac7040d253ef15543171f74c4841ad740d2d334c0b2305f59925e42420ea0658307ad434186a715 SHA512 9d2b398cf97ccf8b70a82c1d03322c1e432f9bd4885d8a42ec26d0d6d6095b783630d83b8a9287c77d8d57b7bc648410273460ed6339e9d254d1bcb81191a578 +DIST rust-1.75.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 5ab700ba8898ab1211b20bf1d1a89bf3e4223eccad6b0e816b113254f7d44f23a03cb7fa9fe68386b0b18ca57d71f39b28b4328f072037058c301526d760b063 SHA512 12d5791f0c1d092b52862786ba6b80031607ed819568734d904e553bc24677b583c64e93cc0cd05fad2eddc7357b21c5d15ef68d720b0ab037c7787f2a47eea0 +DIST rust-1.75.0-arm-unknown-linux-gnueabihf.tar.xz 179907476 BLAKE2B 6ed49db0214fd8b35e4d184337b38dc8393f8baf2958bb62308125e6f8e2126f0aa19c8d44fed3475b7818b001447d69267504ab3c96136e257c37db5d2c2285 SHA512 61d555d9c33c8e1647338fdfe24fdfbb42e194ce4995939a58bda6c46f4b857a058e344e714b88435a7bdcc5ee4a086bbaa9c670bc01de45249ca8376ec47c80 +DIST rust-1.75.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 9d5ae3c83985aafdfd1dda6c1db4bf849b4ebaf91ca71ac7249cc8c89de2b3135e752c21850b20c45c5570bb188db1f8513e1df072ebbdd700c37b3ef5f22051 SHA512 6481cfbf21e108d440c8836963d752496eebdf6018b7439459ea079ca82fa05bfc0bd423594e3537c7b522dce05546e59c125eb0cb24ef4db13ed36413c2c1e3 +DIST rust-1.75.0-armv7-unknown-linux-gnueabihf.tar.xz 184210428 BLAKE2B ef329f05d143590d91cba77e7b9a90a977c316e9ae2d8593e7f0247a5db00ca0115c6d468da5394b36e6ce64b2716a51827f39fdc4a34dc16c9220bf5690f042 SHA512 77bfae1f170cd4b2e85a6cc0e02c6f9d621f386a4c0709a2e99c4383479f8979e067d0e92ee7d267150bbf36bc7134bc053afdff7dc0ad66f289aa182755b1d6 +DIST rust-1.75.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B d0a3ebb883641272211478bec1a8089929be0107b05b0f499d71f96515941f7d1e18870c8685f77ef2375251e6f1484f675bd04d5fc0d544854f15ba6402f0e6 SHA512 79e631dd0c44905732ee312486a7c8233440120abeaf40172172e9d5ef0c9687469bac2693ccc2aeb63030590167d88e0fb7d912663dbef655e54ee4cbe9a323 +DIST rust-1.75.0-i686-unknown-linux-gnu.tar.xz 209938900 BLAKE2B 0c9afda24a93f3f35dd779c08d65d6c2366c916a8a3ce6633cd5502bcdbbba537743d95b76daa29d0b4ed3a822915cd5516e864b911bf354e7436745d5a17021 SHA512 242775555d7d38d9aed83018f0d0f8f5f03347c07ee92751de445826c08bc66c24f8601d83eb79729d001d63e81a5b1e27dbb5fac724d80d49e6430685052ba5 +DIST rust-1.75.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9b7d778b75c2d0a6f43f48345cb4735a9d00d457a1b4d868f777eb16db040daf246459620ec478b0632ee0428e6215e5c39d819608ca800dd065b6e95b13a77d SHA512 f307db41c5e380dd023cfa3e91eda98dd1af8004d062fcaa759c4913464ee01abcf168f19a9fdbdda6dec7f718083f4765eb4296614de4c1fb6fa06144116297 +DIST rust-1.75.0-loongarch64-unknown-linux-gnu.tar.xz 160649540 BLAKE2B c96a90d28e6b71e2e5a5bea8f591e6b472f63bbcc59f181800e87d4400e647c8a18110ec50c7d6d10c8f460589386e1fbde6273ccbccea9373813c80f6612a2b SHA512 04b601e96e1fa6a7bc00c7d8463e7ad1fc4fb1bb46383e797189ecb972e23535ff864e5379c56fac400dcaf4c42923b8a5c4fd9aa08adb52bc1db8341f5254f1 +DIST rust-1.75.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9da9a6da9b631e72484a3360d692860e98dc77b74e55cf24d6a6a271e9eaa4787ea2f30c38dba483b18890500704319c1dd34b185adf2cf6aee6730bda8d239f SHA512 d6e20fca261aa2c81c019fffe46c7708b58146f9488041419b84a381761a2cd27606d78fd0f6b5e5e79945e1dd76776d54c335ddb453172deab8bac2c3fdf904 +DIST rust-1.75.0-powerpc-unknown-linux-gnu.tar.xz 174918688 BLAKE2B ff7c03e23f8d21dd8f4e0ebaa958fb97ac7779459ad318304070da0c1d98d832200d20d9331f758a33d6131da387af830392e8b34c33c4d220ae49bc93d7c060 SHA512 7a836a7d2ba883388025693044e59af34b2c41a4ffe93def5ed161bf012fbcba7da81cb521217da142852da05503b18df9a965537ba6ba33ef92f52cada8b7d6 +DIST rust-1.75.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B aa30bfeea014f600b1e3c387476a28af619bd8d63f5b6f10801cc15ee42deca5ab34d3470ec4f07fdfe2b8548f580ff6a63a89c74e1c53c7ef8cd73ddfb69272 SHA512 7efb2c4540a4be9f712698e7a9a905462b2fec70ddd65b9a6ffd28119eb595514366451932c888abe1ffbf93aa8b05c33bb0560c47b478f5122bc87be1c3bd96 +DIST rust-1.75.0-powerpc64-unknown-linux-gnu.tar.xz 174640484 BLAKE2B 768ae78a073b1a7614594ec1f6c381d7a4a9b4be14e548cd5031ea011600755c1934c442795e05f95a720a38c155cd18be188cf7e4b6417d924edc9c2a9076aa SHA512 f83ee23aa8eb7a511984b096876cce60415943d729c77ef4b4cdf0b0f9f8088082058d10881d5866d81a0e94c8515b3966de5a41dc8916d75392650715a844c0 +DIST rust-1.75.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2bcdf4419fbf491fedcb32a7b54bf2ceb2aaffe0319d9e15f7eb07997646e11283535c5b2024f2785398bbdcaf586aee0ada7128a47b9b8fbd8ffa9e7d0607b5 SHA512 89a0eb5762d49351cfbadcbe098243095a62d41381ea48ebe8a3bf322998c6a46a59ea30da29c03291738fb3d04cafb3c1f57ad1e9ffedd68b4bc1516fdef66f +DIST rust-1.75.0-powerpc64le-unknown-linux-gnu.tar.xz 186507032 BLAKE2B 49bfbc50e087874b844a7292fefabc0df5217751e2391c44827baf3e83bc0e6a6ce9b392cca58c5b8df6f7f8503110609667fcd9b34e84122016fd0d8df29058 SHA512 536210c00f9cf4bcdcd5bac308954afa4a1e7145844914a5b614745a9023c04273a58ba4ef83214663d69a0a6fc941cd4011349d54e55d84bc090628a7624874 +DIST rust-1.75.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b7a48197f9159a6c5d46306808d4ebd17b492669745a941b5db380d76d5ca78095f4bf396804caf7b55bdf47d79b5e88fa2f74aad999306f586e62851d7de029 SHA512 27d86a35df7985a626b64ae7ec05b803a7ef5feefad476c3eddc2d89fad44fe4e520ab29bb27cac8be0a0f3aff7da85e45ae8fef15f2afceeed4962933869e0d +DIST rust-1.75.0-riscv64gc-unknown-linux-gnu.tar.xz 179877936 BLAKE2B 210b84fe6b0729f52c2dde492b4408f33a7661ea9a40daeb1b2b312788f2c4dc80ce54ca72f08098e8575215e7fa7500694142c0448460bf8a82b2761c236290 SHA512 7cc11f07552cc50e78a2e90c0d0da1a62fb0547f56aa6facac4791ef81e7d62a2d66f3cd079cda91e0db1564c2931074ae40c8c142dc9cede1f9c374379fe49c +DIST rust-1.75.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8230c219c9cc22c93fc25f023729e87bf5e725f0613cc0a1a205a671c24beecc48997f824e128b56e4242369328666e355fb5e630cefa6339b39ddab61ca273f SHA512 75820f06aea67b3731777d5b7a0cb907a829b65dcabb4ce2fd55bff52837f6929239be6f8c6b303b86a352ecab16d38afde3ef9683cf7d5c4b4046231c9988c0 +DIST rust-1.75.0-s390x-unknown-linux-gnu.tar.xz 199359500 BLAKE2B fffc6c690c4ad8a9985ce8d2b3e6518787b474e47cf1d5a634f38b5d9d4017ac8f5f69206a9229298dd504d2ed2648dacd2d09a8512c008678033608231c2d7c SHA512 bae263c19a59347705959bf2d285420d2074836adcb92a74d2ec922be2ce2f8aff6f758509701a2136473301654bf528b7c1c2522fd7388f5669d1ed94324c50 +DIST rust-1.75.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 74cca56622367225f8326b60540c3738adb2ab12a5e320bc85b448e1cd2111983a0816188dd8767d2f20db0f9120d5d1bcc5393548f1a18c828a55f99e4c50e6 SHA512 00e0181fbf6ea1ba2035b368f3ea143f270f8a3c5e41e441593cf3cf072c31b3874146de8c2c51e3eef5c8f0ce8594132a39516d3f614d8d5f0863b546dfb746 +DIST rust-1.75.0-sparc64-unknown-linux-gnu.tar.xz 56499524 BLAKE2B f2a801f8f6fbff49f0f344c6c6d9bc3d5d6b98d030ee8c3d2080b24c6dfdf1992e32f91758954b57b34188856c86474a04f38e23bd2c287e5043c1854f59cfdd SHA512 464f55e76db139d43f4f1f22f1591f774fb2063d35410dbf0008fbe51a7d7b65f04a8839eaa869a1c1ffa061df344c29f41ac35777aff85d84d737cd536f162b +DIST rust-1.75.0-x86_64-unknown-linux-gnu.tar.xz 156249584 BLAKE2B e6ac90854f589c2fb15144bb4db07a9b05b72196febd07c9de223c74c05c2637c832505f1135faceed14fe8c8bcad0a5205005540faa2bdf0f42949d934107c5 SHA512 86d1a5686f826c8f43f876c4cef42e9483785a37b1aaead73dc64a1ff64e7a025a6771d2e642771c6c847d717c25c6bd2560a2b8b59516a55dece589580b2534 +DIST rust-1.75.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6614cb3ef782c917e8f7fdc990c5b82e8fcffa71e075f10f9726f405ff566fd963bec64cde4dd7252d9d78e09a184b8ba22d15cc87662ad987cdd37c881d8288 SHA512 bfaeef4cd7643879991955fd33f4cdc4c34afb1202cb77c0736434fb735bd215d18d1a11c25f04a7f2514640858a36832e5805a5f85e92d8b7076aa18607ffc3 +DIST rust-1.75.0-x86_64-unknown-linux-musl.tar.xz 234151836 BLAKE2B 9461afbdf26dea19e118b35ea7ef1ee60c22f601501ae6a08950658598a74a6b3179cbdfd9dc4748a0c2485af721b371e5fb523f27e7d7d702f94b532a70437f SHA512 7d650a29c5d14023a3d7d606b7bac4be6ef7988a82525f02d7af9cf3895bb88284442b8042d27be69689f4bddaa5c5370ef7609d18849986860eafcdf89d2d69 +DIST rust-1.75.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c222d0989518602c0ecde9d21dbca97e9e60d81083804d1d8b2c6bffc8114af78570fd384eb58e5dba1bf249b99300e7f3f4067c1a66c0cd9fac60443f56f751 SHA512 6f78913e34402cedb37f4a54491c65a8bfe79e535e4e40516f2381bc27783cc7655e9252e7701813578c8ffcaf6b301e61ad32917a475d4388fa472733b21b12 +DIST rust-1.76.0-aarch64-unknown-linux-gnu.tar.xz 217392212 BLAKE2B aa587d69b5acc389a8d1431875f10f6261bbedb259a9009092e663a345fb0ac0cf3ad3459ca549a496853b8d760c7fc56b797ee269bcd15d54bc735cd1100fbf SHA512 ad95566ca7597ef64a03f614cc20b9c8d9b2fe67f33141b817973fa160c2be978511509fee79bdbfc74c50076a607e8543ad5bb4b56723704df27b5573b8d606 +DIST rust-1.76.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 86834b999cb0ad9de02a32a79f801d28268c986c830ad3f16274cd4c404a4305267c90b677f7a8637f2de08c766ad3555945f77da181906358e3d51b35e258b1 SHA512 79c1b258267d6feaecba18648a7eb620a570c99fb75e422d0a5b946a66f3a5bf6d2b41dca89b4ae79feed704d498674f36de368e4b228b1e38e3499ac8cd4f21 +DIST rust-1.76.0-aarch64-unknown-linux-musl.tar.xz 197852572 BLAKE2B 93985909e049957f80d4a14842c85dd14e5eec6d74e4e439479f353b44b123947c782856de86555262829d755a344ad01a94c41e8852818e727fba74620e1d68 SHA512 1f36245932d3b9bab0b99604085d886d9fd2e575e896e1c28b1771ae916466c060f4d70486e47200d58947147eb5571b922e175b1a450a36388c3c95e6537655 +DIST rust-1.76.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 50326fb881308300aa01f3783ec6856b7ab9ef80e986cc4e64fc5d6d0bcd246add9330ee5459a3ab5c0bd417d75c2b9486bdbdc19edf5a899dfd9e1ecf31028e SHA512 0e775d73bee5cfc70035db1d0fc4506d022d593cf847e01c3f09ddc48a02c4eb24eabd42391c3241cc05ca49b15e38eea0f56786a4f800df724753ee7c557ab4 +DIST rust-1.76.0-arm-unknown-linux-gnueabi.tar.xz 181085440 BLAKE2B 024b82d285208635dda1c6dd66f634d1b921657d3921c402b7adeb7ac9b495628c31b248ed480d4e52e55293815a686f9ee52a84c2407763de5b961962ca9cc4 SHA512 c6840b3368bed511976c32dd3b22a8d1341c002843958a8cc8666c4f19547eb71d8a90946c1c075cf8af50187c1f14fcad2df488d186941d00cfd6b638b27dde +DIST rust-1.76.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 71f2d3a9de1343eb96a75a7eec3d8d4ca9a02e7ed01a1cd2f4f352855dc6d58cae5ffbd70944d7d1e0c7559c74f8d8a25f3c1c3a14c2f00e5797d0f142b25a12 SHA512 b3dcd4b3e2fb5e5039b7fe654421f7a2f72ec5ebfa841589be715bf0a8ff4ff0a3c46a25d0978b4206678a2f2410c5ca69146f6e3eaa4b02a6231589bb099ed7 +DIST rust-1.76.0-arm-unknown-linux-gnueabihf.tar.xz 181168340 BLAKE2B 8d48ed7c79f87aeb91676c3f90877fbd396341130276e27adf42a0a0e5d3f7ded34a271cca34f1c0fa7f37d5666ba3f2f16eeccd91aa37859adc34077dd2a000 SHA512 6beba28be79a563eab4567ca33dbcaa7cba5f4389fa480ef4e16e528fcdc1ed6a2c7ccce1ee527afbaaa43545bfd80fa47ccd3ca2ea4c38ca2b397bdbee47a3a +DIST rust-1.76.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 534e5f05848e5f6c05f2de69e0c974f5e4860c9ab4501491a651f5d2200aff69c9ece29010aa732d0eac3173b1f148afc3096b5f05146f7be7df14e5d9ecc44f SHA512 fba15a41ffc9202ae27a6c2884bac7367219fc5b1892287a599a1c8d2251bbe763df07da4b9719d73bb6d93fbac3dd1b8c4d8af75acb942200c9d7b1050be009 +DIST rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.xz 184387332 BLAKE2B 7b9b03332f19859d43629d4e65815619fab1845c129a254643f164c025c5d574e71f6001899deec470e93c97fa6ac8c9d71cde5320b6f4cd822c2ab113e4b827 SHA512 3fbb7300e4dbe855207671ad309b71cdbad9cdc41b1c8144734f9de85c904918b137a2fe7284e9046f00526c7fce8b68dcbb40ab8d6543ef31ca0bbbfb396431 +DIST rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 050c4eead78d8161d46acd4ae47b69612706d8053bdfb5e4cfc0fe20ccbf4544643c1850f14cf93f7d17602849770857551b64c7f8f8db45594b7dbe267ecb41 SHA512 32e72430c4c9a5970994bcc6034d3be1a2a915adc6aa45a0c1cba403f6c44206af3e024afc42fe39a8501322fe46deea9921c9760f8e1f65422960baa88abafb +DIST rust-1.76.0-i686-unknown-linux-gnu.tar.xz 211679020 BLAKE2B 06c9e52a1b6c802be3c4b0cb424dcf243f08fd5345e4b3977cca82093839cec885f6f491179e9e1f8e64c971bd7bfdbb6c551e463874b44c8b89ea649e8c9f40 SHA512 64605e0c981df2c805ba8cb31a89fabd00332faeea6d04ac57cb4898b7cedc66e4043ca3eeca799a204ffb93ecfa770150f09b99da3a7dc913d4e97331554e8f +DIST rust-1.76.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 72d87215c5ddf03ed0cab99adb97b6f15fa8048fca68b44bdb77cd0df09cb1784cecb80f6618ad43d1b6f41a5848ddc84126ad576ff1ff08a3928cec9811a4d2 SHA512 a6d52e452a7afabb329b75155db9da91d51f809e913b19cde1c51c4d0f79831e962e698cf8e86079649e31a662d13743da23b13d16df6530427eec3e4269be7a +DIST rust-1.76.0-loongarch64-unknown-linux-gnu.tar.xz 162940496 BLAKE2B 4c3b66199339262ea93de6785980795e493ce4e7de9d7ddf3e7c9fe38ad404f980abf408e979780905c149bb3de65d26cdc654f8b3ad0823a3d5067809fc4944 SHA512 64fac030d7edf9677757b883d1664b7e06ab9d5007d87a78d449acac359d7d6ba694bf4a6635c8bca51f274f842dad0612377aef655bb430f6290459343aa6e2 +DIST rust-1.76.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f52e951657308df5a944d35e2f9c19278f6f250474c070593f3b2072f372b8f6c32d379d144c8ae5a3ee31f7de21c00ec1da097f2c8c9a54759d9440ec5eb822 SHA512 d5ed37fd844715daa5d9901b388cbf39854fce3408c1d572f18e83d6207a20345e5e2c2b49b9c1523097245c73e1a448df8ecef2ae5b344e57bbe646b1266af6 +DIST rust-1.76.0-powerpc-unknown-linux-gnu.tar.xz 176795548 BLAKE2B 77e102e4d3821557895f3e24059b65847dc46ce3b81ce73f15063e9a6d383ba12f4c905fcbc85b79c39f00e9cb011fd2831737bb3ee9bb53103b4a7361aa312b SHA512 05ccb4294d788e948b69c9e38abf28454604f6b5bdd04704d6dd5231445e2f791cb18ea5149b4324a152ce9ae356b55036d2f74a5d9dc3aaaa05f5c7e4e69e1f +DIST rust-1.76.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6d2fe65e5840cd7ddbf1b18ef89cd337b16e3424b6e20d21e199b274fbbc4d9fd88406c2a119d5b0bd48fc9e47145dade3f37bbf99faff68905e57bd41937c1a SHA512 a1e45e41f901513e97956d336910927d7357cb8c2362be69989528fa5ae7087da409853adfd86354b4b7faec3e8542e400838df1d195843c030d9c6fffed7557 +DIST rust-1.76.0-powerpc64-unknown-linux-gnu.tar.xz 177409476 BLAKE2B 7c9829c8e8ecf2a162663a2c382bff49739ca2bb02b785ffdbcf632edf55a3ea37ea3be09298b0a0a984512aef290123d3b0ca9ae0d088a2a816f38778aec79b SHA512 1f29f66d8e64d4c191bc90b05d791f08317aeec042ced815fd353beef6a7a4f6d5f91755481114e707728bd9a02ed9094b2a75d91d61ddb12748d9d40b211e17 +DIST rust-1.76.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3087eda9eec862455906510d38f43b81644243ff7afbd5ddf221cfb2c12408b8ac9a0bd2a269a9499776e04b56b3d52c890e056af544aa56cc06b399614f83b5 SHA512 8a90d5acea677a02b2c5eec93157ee2c47bab895e16408123a0e2c3d44b0f9a9d95fe56dfa903fa1cd2fd298f17050110793e94d60510283c8e3cc120770ce9d +DIST rust-1.76.0-powerpc64le-unknown-linux-gnu.tar.xz 187967776 BLAKE2B 0ffbbb4e4ca44285d8387fa66c58df72971bba6410faa96f6cfd80c223f4996285fac27672104f25ae2a20cb81a0ec6be0bea1d6893d95eab0d017fbae896509 SHA512 eb8be647651b02f1e9287d075d76c288e34e66514305a68ac118ef41dc14a16e5e1a3f2c5cb8512c4565a2eef3e5063dc4eb11272fa91c01d8313a323c20755c +DIST rust-1.76.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5f41ec8841f4004df7b65b50a451027489e303bb2863ece09a14900a229d3180ba23bbf5c770c2939399eb157e97b4a08ccc0632a66eca5ca5cf4c29a1523186 SHA512 929e415a66d8777e2509c25a780b4963b8991adb905a9841dca19a5412a5f86326fd73c43f79c304a48a2898f863b76024b0144109343933a0c5f3f1fb8ed287 +DIST rust-1.76.0-riscv64gc-unknown-linux-gnu.tar.xz 183161264 BLAKE2B 9a0b579bc076b8cc55414c95456caa2146fd0597091d2332c1033d03ac7495684b7b7989ec6a8a108953c681ed88d4b62a9a7fbb39c0300128189a91b035d2df SHA512 29fe21df7b99b9a9483af6f2370e2b5a403c12aee94a1285bfb2d2efa631f9d284c70caf863247843ab1418bc78a26c6f6d5de4e8606456a9ebd265ea3bb504f +DIST rust-1.76.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7a380f9d2f2f7083afe7abcd81a15d34df703f076c2c842fee2433c6c40d629bc5b0818fc186b462d653aafeb1fe767de3c01b7a014ec3220d77725bf1074fed SHA512 53e4942d74f42f4a7c35ef4a33833d23a955af157d80588c277f32f30cae63e8543fd4ffb569693ad00a6a20ebdb2d8422ca078ebc85bbf98814815e32791894 +DIST rust-1.76.0-s390x-unknown-linux-gnu.tar.xz 202133724 BLAKE2B d6d68392b9b9b69914cb6986cc1501246e0461a6eb5d18eb0ffe71e0a2a7be20d27e90b117c520723254b4709d08c4fb33d145e5ab559802ba6592dfabf81317 SHA512 fa74e1605eea945445f8ea621a667d50907d8b3ceed700e6b05dbcbf58dc7fec62c1e50247ad9688a5b9c5b78c4a140d93557d494260f8a21b1eb25baa315bec +DIST rust-1.76.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 574df1144e6e79710a73962511fc73215b3a4d1c3b6623190180c7ec13aa8295e13329c4bc66710013f874054dd756e02bfb2c5f6ce1fc8a07ae0717f958b244 SHA512 17938b3f4671127c9c46a5c51703d430938b73b2e30cd497cbc159ed372889af42e651479d1ca69c000974e21d4d34cfb9e3cf28b79ec8e35540ac319e1b8b9d +DIST rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz 159385660 BLAKE2B 0846999358aba95a2bebd2ff35ccc9e1954ff4fca66227d1c8c1985c08e91159f2acaa1357544b81e92065a2f9ddf6aee41a2d9199d71d8de1655f9b16ba2ed3 SHA512 1cf0ffb44aee4da9768e27daf5ab3b20e67fc9e8eba5a1718b700c85ecdb61cdef129cb571633294f9c826b6e7bd2958086eec371922ca31af332266d3632609 +DIST rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 88e6b124812b409372ee05e2872cb4dfacbc638f8e3b4fb0d5fa4ea63f4594333a9788732502f8bd41e34b5cbc404d7ac08e7690d095a6c37c80b0043dd2be88 SHA512 f7ddca81da468d5617f48240b6d3e8d7d09336ac58f515acd3a20f2d315468ba1d53508dd3264a088ffc0141cb3fbcd8d3c17379f9628270d39c7d44f7727291 +DIST rust-1.76.0-x86_64-unknown-linux-musl.tar.xz 237333892 BLAKE2B e95b92c68e3c2df49fa0d5d84e35f6575fb80571db290b5969441cc09b6c07dee6b2b887f41a2b1ff1e3c099cda2ce2a4a8c05afbcf9f4dc8acbaed5245b69e4 SHA512 04bbbb9a6891c3bb7a20845010029e6ca979548ff70324c08d3162ebc1fa3a84e8c7e2d453495edd34aba19b7a685f048d5047993103bbf221c88ea36350370c +DIST rust-1.76.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B cd4334fecc17cf03b7333659393004fed4bb895f9b75f93520d1c3e3ee0ce4fcd17d75d748c4a35d31984215c7aec8904ebe3a4ad8bafcd625aef30688a473f7 SHA512 a458372b41c2833bdbd3d6678c35fc23397817b406c409d1ba5e19b4c6246072afff3f938f111382de56f7ff57e660c3eaf3fea0e54871d9af50b52a54f39e41 +DIST rust-1.77.1-aarch64-unknown-linux-gnu.tar.xz 214607592 BLAKE2B 6ebeef47a62eea181808cb2df8d4d01bf1804189bc67e95f1e2091b4c95a7a6d26c4f4c822c312c9e5686e9a15b425f74e345f26e962045b7844b90154a56f53 SHA512 8a3114dbe43744bfec68e24f0f302704e887587b4ff8d22bfc59067f5e952f7ff1984b8f4a663ed8f89001629b82d620fa6b79bc316a6778c968767a12dda592 +DIST rust-1.77.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0d0878a65ac1d2bf84cb614d56ad45e6d18a12ea6ec009839711074e64f9a42825163996ab370456d62005457441b6270c0cf995a0b7f7d32adf718442bff72e SHA512 70f2912c72af705a71d3402e755a8fd2fa8d3a21c2577b8e804a5f35ded57b93520a8c155542acf27022325e2cd7357c0dcf465627934fb23e731c961ca28123 +DIST rust-1.77.1-aarch64-unknown-linux-musl.tar.xz 195295732 BLAKE2B 9a1f0a9de62102dcfe17140cc181f960bfd80f4f84aa6b6f33fe7ec53db20f3819fe27381dbf2cd173db04111a6bee1c062edcfb186ecdddafe4692b5a3e5e63 SHA512 50ebc645127bc3503b97a74343f588bc70c8d24faa553390bd4849570be45dea7f113bbf28da70520bc33ef0be987d4390e6c5eb0955578530cda94c8334cb59 +DIST rust-1.77.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6ad11b9ffbfef668fcc5a3e7536965412e89c1f3051a0410145838813380ebfb475d60d4079ff3acce497e497f4c923fe43d6814473833a6365778860f8318cc SHA512 9cd1617e9f416a70ede723d6809ad6a6afefda5f1cdebfcf62f80b4757c4fe0a90f1977828f707e7d77d0b581d7f170a304cd0a4fa062b5ca78e3a32da03c30c +DIST rust-1.77.1-arm-unknown-linux-gnueabi.tar.xz 179516112 BLAKE2B b7bf27ee951924461e0d6f98a8d41a2e2ebcbbdfaec5f2c3dd096854c375d68a11eab3fdc1a23a5755138fced76d3d8e2ca53b97e376d93b780bf6e2f21743ac SHA512 5501efe3f2c6bbe5c5955b589244e3a3b12e9537290d8970abedd23336b7ec528e006a4c0951ca80eff83a2da5bdf4238138c72ff421e098a90fb9a473e379e8 +DIST rust-1.77.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B e039e3fe7562ef30e45c7402bc356c7a335db6c27f94acf5051ed56fa552edb0e44399988cad183670ba4a5e561a0c5e5fddc5856f0641ce9d685d441ea31958 SHA512 b1250d89e28c5c7abee8f35b733a760decd5e1de910f26d4147eb7472df6d870fe214536560bb58103403b014f3a9402a0095f23bd0529f2ef409bc6f711c8d2 +DIST rust-1.77.1-arm-unknown-linux-gnueabihf.tar.xz 179417532 BLAKE2B 8efd8342a96fb4a284cf65a6f834f7d03f15d4c3ff9fcb80bc12f510bf8a423b723a574086b2e6752aaaf15e15e256530cf560b4f9fd437b3d101b2cacb7c77e SHA512 8fc8703ec59aded64f3dc687686d94749133fb80a8a53b77ffa961826d86cc13e2d18ed34f61dd9f92b9027f8b52882f386e397b6f344ec1f0c3bbbaa01b2818 +DIST rust-1.77.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B b7beddcc42687bd1f39cc45c9737ae9403143fdad39d9b9a4cd3594842cdd435547607d24e3ea8f574595d8228974f75772d8d1fabffc22097d3fd1ea0b69bca SHA512 b367086c7a97d672d537e88e185e8af53f11888f674af04dc43eb71d77d482d97b2fe2dda006bc1ed073bfc58a5b8fee19e471b0239c0f41f683c46d6d675b15 +DIST rust-1.77.1-armv7-unknown-linux-gnueabihf.tar.xz 182039096 BLAKE2B cfd58b2abe077e74320742526331c4375aaaf631fd821a461fec9933a163eb8f51132bbbaa872b88efa3ca43355e4d439dcd643d01afb1e5dfa888f2cc6f80fe SHA512 6149118714f8cbd95c55f6e70a9112ec44e73bc51b9d5a0cd646abe04bdd005c901d7a0bd79a79ac2a03fafcd5cdf05fe5f32a297462a434cc33dd24995c2a66 +DIST rust-1.77.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e396676162b17b94a06bf8258662689979f202fefe9ae49d34c33fb58e7b64cfc8034489c05a242193f78c416dabbc134489696e283f75af3592445648b56de5 SHA512 e5570b86cc3c028354cfdda656286471df1b8df244d08549835880706c46b6703c61dafbc761a1e58580b72b215d6d0fde32fbe3c5d001aa5688a6394bf0466c +DIST rust-1.77.1-i686-unknown-linux-gnu.tar.xz 209041164 BLAKE2B 43f3857319ca1aecee7630358966f8ec96c9806015639190813fe95083a9e49bca0ffea86ba55577b80a72a0e12fd5ddf654f62ed2a8daf7154f753d07d9355d SHA512 807520c014c1923198a2386f4b547cc7718f3b048132462b739c062a19bd7f4cf989bd6245de901fa15bcf71dd7fd0d82c9e25a8f27b244a6ec8cb20f92120d2 +DIST rust-1.77.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 42e9770b586134523f377283dc29289786b33b499232110e827f9f091f633f066bc68d3cd56468971766538a4a677b8f8b4c72b0d9e61526047d6d2b0a018a32 SHA512 c2062713dc0f6326d48bfc725aafa596eed7350f1d1ff6ef371394ed10f4e2fa8aae92a3ff3f8e1f3b93a5d36c9d4104c1af19d9923e09ddff74135625217837 +DIST rust-1.77.1-loongarch64-unknown-linux-gnu.tar.xz 161096296 BLAKE2B e7b6d7a4dd579754f0b894d52b579a2dcba9a50cc6107d24abff67c97fdd3b12125a6743f243009b1ce411a4cd8c51bcc68afebad3765e90343695fdd13146f1 SHA512 bbe1a250c475ea7a27ac28c3ba7b75890c1598cf4dc780d32f4363172d1547e3a1d9f8a32c3d0d480c8bd585b663b259a825ea9b9c83910f6889bda497ae4fa6 +DIST rust-1.77.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc17b68e9361996d1ea57f090aad8e522faa1ce3037353957e46e8d96378c4b049e209928e4585355368e2396dd82923b3942ec719e616c33146f09a3bc27d87 SHA512 aafdce196d69feb10126edb145c45ee27e913ff289d4b72d78b007dac923bb187d3cc65cfe84025982fef438232677f8b7cf26137a00bae6b5accb7afedfc912 +DIST rust-1.77.1-mips-unknown-linux-gnu.tar.xz 68417260 BLAKE2B e011b698ebaf49d1f0ddedc789e3bf185d11b1980876bb01152d8bba18131a0ac6b3851061080ade5d112bd9ee985be837bc8e4576de668c2d72bfd4e54a01ab SHA512 4437ba0a183fcd7e054197a488b0ccac93732d3c170e6e6b23675c3642992a0b3c8188bd439877aa54e07789a7432a1324c6f079a9867faee16f82e9d873b47e +DIST rust-1.77.1-mips64-unknown-linux-gnuabi64.tar.xz 70368652 BLAKE2B 817338a8101103cfb96f71919a5392c910b9ddd4f8dc47253b3f48e2cd4c2130b7b6507b5ec943b2ea5b52be92f727b7b727722c1b3512c63e0b8c064ed95f4e SHA512 c7966b3152edf1e201926dbe3fc5760342c5fa92ab78dcc9c2ca70a553520b2d249e317d4dc47455468d99ab5ae9617ef44166947610e6733b9a09ddecdf0dea +DIST rust-1.77.1-mips64el-unknown-linux-gnuabi64.tar.xz 70121872 BLAKE2B b5956d7eda42961e9bf6e1393db737189d672d7104ede410c135884b56e1b7578af2224f22fa857a8c7627e290a1e1008a83202503f1be146c036b2cb41590c3 SHA512 6d14456e11b1c1923c3a1643ff0a15cd93ef2be9282e6e2611235f82b25ad28e1d0e8396fc815052e70373d835a94ee351ebc6d7563676a7d4dcb535cb6dd9ed +DIST rust-1.77.1-mipsel-unknown-linux-gnu.tar.xz 67429256 BLAKE2B c835aefaabcdac20953b430f4b8e6bba87b7d0073b6f70f6d4e1ff81b6dc88b74c058e55d414d9f67a28b217905552ba2cbe1a91b87dd4d0bed2029f7834cd1a SHA512 dcc37cb47a80bfc6a872c720a801093b43508c6fa65c77473371d9e2e4c2733da65171554a770e58521bdffdb56955a459284e95be07c4b9b0e874a2931c77f5 +DIST rust-1.77.1-powerpc-unknown-linux-gnu.tar.xz 176227252 BLAKE2B 98a7d31aae91114dea653181a708024a7d0ebd2f2baedffb7539d2415da2eeb745f777ae3fc2977d9416444a41b9b676dcb5fb6dfeed894dc512e37c42b612cd SHA512 a509b7ea39d760d5ab7ed5d7f73774e5df40a8d8dda169939c81573ec01ad9c03743e28064797cf2a730718d800d5189b4c9c3af1660794fd0dd48221b24ac5b +DIST rust-1.77.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c1f2709f17791f5da597df027d5f4104624a002f196b544f1e0fa679e78a019342e74fb13a013439390d0e768a53dba9ce84cfc3753e42c9dddf8f9fe18a8006 SHA512 554080d462a9d414f6d469b861679280abd267217c8e2c08f1b8f774d88cb06129c5aa6308be0cedda0974dd2e5d1204c2285fb097e8a0e1231c2af420e4f6a8 +DIST rust-1.77.1-powerpc64-unknown-linux-gnu.tar.xz 176465264 BLAKE2B 351c7c27e442caef9d71ed2b05d128750ddc179eadb45cb647482215f1573c0903710e5f9930bd916134a9f499c907c087eb784c619f35b0fe2ffd7c8ca5524a SHA512 78370d4cf9a6990da9ac1482439c2b44b7e45704d739fd46bd3623524014fb734d2798bc5903a501dad0de1945f926099e22473db8823ca25d47dd6e7ef3b9be +DIST rust-1.77.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dd1a1de2274b1f17ff1758df380e26dfb3a8df1fde67a058bb738219e4f33894fde19878e9d230c041016f40a0f2d5d9fd0042dd02e95e7d05cd581b5083f31a SHA512 aaae0135f2a09e9065c27978f26b15f9506c6441fa76ccff50d75f55d5d40f06858f2f1bfb18c3a85fc8dd74659f66b65c60bd0aa23f1f572ca2448d747eec91 +DIST rust-1.77.1-powerpc64le-unknown-linux-gnu.tar.xz 186319612 BLAKE2B def73f2313e3e220b11de9c864512766b5d6cb30f7966307d7671f4ba871515bd6572dc86d8840a9071adae3a28b062ad23e7cff2cfd172800e4c126d9f49f5f SHA512 1b608054eba33ad1d2aad7b17899365b57781e50c7a5283786edad434fa2c36e41ed886cd6ef8926f53cd1b843391fc86d1400a75df924948ce0a8e62eaf8378 +DIST rust-1.77.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 092e491e900b0b06dbda931ebf34ceec088b89f9a4663c3d0f2c5d9838cd266deb7d714ca835785db0c2435e7a5572424495e2e9e165c67d83d9b3612924c3bd SHA512 5631fb073ab69bfd7576637417bf2d1cb316407d53dc58228cf1bcfe5111e5db83f6851c07c109aad0c408bc6b00579f6a8f1eb56304055b1faea7fb7b73acfc +DIST rust-1.77.1-riscv64gc-unknown-linux-gnu.tar.xz 182255808 BLAKE2B 5d23ca6bdb745d991987145d123e206ed21695f3999f78a8bf1d41710a772ab4059ce280a10c275b9c3c6e01729befc2cc3ef977e1a55d1ca356d2c01e0ffd3e SHA512 cdaf9e9d23be2106fb5bc41ce5bf2ad224cb80a1a1377cd580147ffe39f8bd59699af5bbccdf3e4ba174458047f6c62b168c8d5d2375537cde8d02b1fc856920 +DIST rust-1.77.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5326f241da004b358001258ca8a791610fc30a149d053788ff2513a1e470a074b2cf65974391b3f5983ca1a13c08cb5ba3be18ff39c6607d4a71dfbf7d29b044 SHA512 7ba8c061b30d99b535f1e581aa25784ebc97c25491d3648546eb8557b2ad29193e9eb86ed2f0a36b032951b98d7d4a2c7cb39cbb086b28b84038c63bf48fbb3c +DIST rust-1.77.1-s390x-unknown-linux-gnu.tar.xz 198879112 BLAKE2B 793aef5f0f9b9bda3f928e9eb333334b4e052cfdb1e63f8da31068d79ac7d2244732381198a737fb681dab9e4baa3f03287f7a8835fd069a188bebab68dab3d5 SHA512 20801402fcbad781e0e8adc7871bb21fbc9b2a8e6424616c8a12f70ddc1241b260a7f369fc52b8cb3bd2cda55c6394fd0fbfe5ef377e40e595da854bdeb5be41 +DIST rust-1.77.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 058d22ae20cfe466db1c0f684bd16059123d2a440c9c48fae88d2aef34a6996a8025d7a92b1af033f3503cf0de8fbfe20840f544118172117a4ad08bb31ec3e9 SHA512 c55dd529ab66181eecc50efe04a74337a90c50f2c6c27e62cff23d0b874d7cc02e92fa5399145e308e749733b91ebc1a938e576ff9e3d4827473def9b976e17c +DIST rust-1.77.1-sparc64-unknown-linux-gnu.tar.xz 57708276 BLAKE2B 715c1a42c92e547fa288eedc3ef6994aee4681b59efb718470ba2cf76c224afcfa2018e498ee839207b1fa053734f42b61a61fb18dd8fc082572587a609c8762 SHA512 0af8fa0817dc9b419ee280ed7531f74ba89b424937dc6bfdb66f0499d0d70e86457c5c64111b88d75aee30b40bd61d445aefb1c37f9d6b59e8cf5d05edc2f3e8 +DIST rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz 159040536 BLAKE2B ccfc6a96f1a40efc905d9f8ed59f2d5283be404d433e5242876c62102786c36988a5337b909f288f2289f89e2034643dc88f22f1d895107aceb3b32ef89c8b1d SHA512 60c941aa6f48404409deef014993ea42bc0c3ceb7636cbd84a390f6dbb31ae12c6766324ee3f96739f54b9677bc1e77c20da9d5adb87120236254d3b5898fbd0 +DIST rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1adeaa22c0a80e6b9132fe290272c7713fe03902649fd6a41ccf46fbaa4d6a986540defa7bf34b2b0456bd8eab28a088a30fa23abb82a2cf110d1338aa6a623c SHA512 1d4ad50a386c3f03214439bc8067f2a721c30b9d4aa47a4494f0db32e242293dbf19ae1c5388315eccf377cfa947b2b40084bcba48fbc55a55be673b74074d5d +DIST rust-1.77.1-x86_64-unknown-linux-musl.tar.xz 234990960 BLAKE2B badccc8785af974d02b63998ff7b4f4b9235cb181cfa44ec35ad682a5c741d3621f4306ad874f11ac14301079558c162088da85414f335b67760f22475d67c2c SHA512 addb62f012787b391403bb25297c0b620c6beb431bd8ef3287a547ba7c31b4e3ccb29decddddf8a34ae849433f64334309b574dcd8743bf8da0efa38feda771f +DIST rust-1.77.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f1e69cba4d762b98e615b6ddee831193ee915b8a797c48395bff7af3abe13a791267f2fb3b1e1b7df06e6e89497606064dc2fa60ec417bcb67ccc4de7cf5900b SHA512 1aa346a14b8a357b7f747a56d2e718fc15ef3a5095ec6dcaf3381b2d57b170e8b0b604d885d54cd39fad4602928612ddb8754010b4e27060123c67a23def4bd3 +DIST rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz 223523772 BLAKE2B 734416f447462f2778b74f12ffdda13374c95cc399e8728afbeb61b06c0db2e522e760a257d2ce26ce8190cb9c8292880bf02da52df04c3cf205841b95825767 SHA512 80adc842a56ac95d472dcd94aab199dbcfb3d3a5e7a8cb32b8334b038c58a66b8d4f3848ab62a3e799d7c35e6a32abb1f2738a784da8cfa3272ea299c528d5cd +DIST rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b6cf17229559a845cf63a22043b1ecb9d7e142b536d0fdb0b44f36f05fe1238096c48dd61becac58275d60401a4f0ce623fed9593290d1f659d31976bb0c42ab SHA512 d03a380d0481b4ec19cfd8026d262ed19b7f6f4f40287b0e23127460029b30c47336232a488dc8d19d22df98f356cbd62d7d44f4a3e1cabb6f575531be8916f7 +DIST rust-1.78.0-aarch64-unknown-linux-musl.tar.xz 204806408 BLAKE2B 08abcef8a38d2d1e463971613481806e897ad4aa48a6e3306c23cf7b906807c944809ec60647c5a80e80978cf8aa8bb1b8e990d69769f94f44022b0f764cead4 SHA512 4ec03b17e2f016fc5449431c4d81d113c12227e6e11553f9fb4fb61e4ba3ca4216aad776e7e3c1e88ac42b797c07f5daa23cac90c3eaebc6d360602f026f9dac +DIST rust-1.78.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1b51cb7337d71930d4d455d7d018a32de858b6627f0ca3cd636420bfdf0d608f550d41985a93b09575e5ac853361c3362a5c0b85366ff19712a4488b79b706c8 SHA512 a9e28326f91009ca248297ba1b099b718f577c030ae3c75daaeb4798cec4e4de585f1652f18ac170228c32e3784d38e328c3821d6735ea1c083bc4d5b80c426f +DIST rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz 188301776 BLAKE2B e227ecff233f42b9b8dd7b5807de8fbc972107e7099612986b275ba0391c8fc074344db0764d96d00c34a099380354ddc5e7beaad1d5444fc3300481f7504a2e SHA512 624eef628d9ac6e1eaa376677296cda0cecf4ff7efd4763e40735ec69788fcd34b4a4e05c34046e2b57b916285acdfa04f5b122142ed661032e9c0d713e8fd37 +DIST rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 43df87950eb9a8a0d2410c861e08ccb90a28c815d50cffbc310fef063e5b6b8b3246f5dc96ad34343a7107b025e863a87021e6d59e0826386e4864b68e3d693a SHA512 85f8822c493a1499e6404400b4c9ac293266533c49c5b0b4fab470d2acaf93078aff4d0c3cc59b9117ae9dcd4c47291a1197de44b56214146fd06e708479a191 +DIST rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz 188746984 BLAKE2B 567ba5298d6b5a4734d126e0b9e5df24460f6204b32ecf3892b45a26689bafe7ccf15f4a6a098a6a6ec7c3f15cf80d314e682f2d8c784a60d9847056be1885e1 SHA512 f9b5b48042868e91d73e3466f7529e2bb2b72d2489b2d0ff1fc83ec1b1cb035c88e57d48b0ed7298d5f50db0cf9da2681e9a4862c185a2bd241356632516c93a +DIST rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 4d4e6f113e18870a654bc175eba1ea8ae0129803503deba03d144be4f434b1b5651288e8e1cfaa51bf603f5bf51a959b584e2932c025c3474575dc282ec14d84 SHA512 6c682f710fc26e94f233ae27dab6be27fc132825c3604789671170c040b689bc1871d9a74436832fd07a0da50654d06f0c2b31dd8dd9787f1563e2085a51c14e +DIST rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz 194117584 BLAKE2B 5a62e628f06ba370b5ca2b11d8c657fe9c0885e4d36b14f49ab0b7759af0317f1c79ae92dbd5685c57de58c4f6c31fbe3f1c8b4e1721c91d67ed45232dbed5a8 SHA512 877c13fc97c5ed0785dd005c34e5d37763cee9b7c0b5c2217246d173d952301b1b6b590c3ca441269ec8d341a0cf5f2eb83db63517385bbecb0cf08167a3948e +DIST rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B a3ba9914c74373835ea6900f97100f631d0d5133adf6f1f938734be0d58484c72372b933e9c42fa37856efc6ade7650d969b412d66edd854ffff4918e8aecfed SHA512 6df8b791841f7bac8539e2ba9fd8d22d516a5906152861baef8ac3256136ef72f8fdb7cc9f843127311a8eeeb7911d058fb377db52ef4fe9a3cdc21396495ea6 +DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz 219666344 BLAKE2B 9302eae6c99af5598f9952255ca8bb3f0288a03b385f77b79323e725bbe398e722baf5ed2de7fd74caa452248800948aad33954a82cbdab97d1935785e6d4437 SHA512 15b6ab20665af6ac7df6e9c9078b9565b3f2e0d493c0b58cb06c682d9368917b2dbc509dfd23fac09dfddc9c60c5f89bdd8321dbada77958ca5a6261ec54d203 +DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8c23ee14f8db7c4a776f4b5b986384c9e2c79e6449e019c67b526ec219e92e35be5c46a4a2d8187aee0ab958c7ba5f2e10ae40f4c7cd083cbef59bbfc96b0c13 SHA512 ea13084528d4b8d558309a0d5c392c734140a854d9543beb0c9b3c5bd2fb530ba154c608920ad125683e1e9888228422352c3b1c1fdfa9d70df1bd4728193944 +DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz 170256096 BLAKE2B 07507d4517a9e421bcaa763cc93956d5c57d458f7b20f97f186f902702675b305e79c89142f5c9774b11e0842a82c8cb63247b71dacf1c362c0588b52dd86d3d SHA512 fc21d32b4ec72a3a5a353cbabb902df2676e3341a1f38ee45654eaf960bc677b0316af0474e5ce9d346d285a6f7f03ebeda7302b49650cd1ff8371c27166fd25 +DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f99580babc5356c579b81fc0a4168dc1a57432d898e8e2422f00f9027477d704421cb217b5d56fa15a6fe9c01cbf8d4a727c6b01eedddbbcfe9d78e3cdfd24b5 SHA512 ab1ac741f6d71517a510a48fff1b903f325a35b83e35b7b73f4751c1f22e6944044d7a46f21e018659d7cf4ab5b430f6a4ff79971712af46a0d7705faf60e506 +DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz 183422544 BLAKE2B a37b4b4c3ba381e0456f46ac7d311ff6b11701026d568653f86d08e5170f9f21177e87efe329ea8fe259a6ab7991f096bb716af2bf3000569c9797db61a41c72 SHA512 eacce0850bbd9dd9a8a94177234d867dcf8d94c7c2e9f4260207b25364abffc8523e2b85e868b9dd9d4bd02ea4be06fb0c5fbcf5621ace2c0e93041a96cf7ad3 +DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ad0201eb1760590381c0e7ee30f612a44157e10a634eb585f253788702653b3658c636c3f8c971a0c96de8944cb4c6960fd555f35dc1ee45fad18c7410ab4b7d SHA512 de5026257f1bd95146cb8057569d643a79ba440aab21efb4ea7df985a527654234c499f16cf75a29eb29cf9d7771893f0d4cfabc3483435ab73ce781aa573ebd +DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz 181366112 BLAKE2B c6edeeddc3934e6b93e65776a01c7f19c5e560716490eac2f52b56ba0ff58b974ee2be8e858265c4242d017106880a368244f5565e6f0438258b0cb0bfaa9a0e SHA512 7e0182680d216757d62627b07041d1e36eaae47ed341a548e29d6fe192f5e99a7f933461da025f4341d4c9b816ed3d8d3224bee12e29a0e7fc8bcd9a93c5069c +DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eb94775f878935e94b7a678d4588dd586de8ddd47120670326b6b9ed891edb009d637a2c99b0548e8d74d07960a02558f8421e0754d487e93b57bc2bfc19f052 SHA512 490b0ff842eafdf23adf754051c0f4abec2bfda438bc2e3f57cfe5232f1358318c31bcf6a9ea89284f26389f2f1212dc3ad467b14da465d655bbc6974981cd58 +DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz 192130524 BLAKE2B ca961dcd50d9071f0bf7b8f354aa0e78b4e3d4c9bd0b6c72f7a712bbe906833aa8982eb87d9065644c65e57e395ab09ed85bd24cf43477071e0c5cd8ed8590e7 SHA512 c890386b3a82ea36aca2f8753b0fc81a956ce3157b89ccd573403ec99b257299f84c976dc7972278371cca1b3945b21a50d276e10b4cd42647a9d26e0ebdd947 +DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2bf8596c462d1231ad884a417c5b676447b8474023b5769343ec5a7788cb42c89b937987226db9bd526b3f4ff0a39648e4ee1136c3733d316e35b8ff7295b6ea SHA512 6bc9965d32420bd86422e4d5fefd82a46a169d5d80d298ccca08fb421858d5bc077f785a52f3404f29f394f2dc471a747fec208931d19358aebadab6d9952e0f +DIST rust-1.78.0-r101-mips-unknown-linux-gnu.tar.xz 70274408 BLAKE2B f5d23c8cf4e21036b0f8377551d6bbc8d89e3b1cdecf14beb710dac45df05ba79d97e49eb4e6b80b4698bb3de0c1972d4b0bd8f70a0d62e68fc3845a161d609d SHA512 989476ea8efb7cfd569ec5a553e41581ab0f54e8c315f8105fedc5c3ef8fa8d0264d5042d22b66042c58c58e9c16c9d3f1d5e72cd00c41d8a10afaef40003023 +DIST rust-1.78.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70394716 BLAKE2B a22fb1ad2b88d9722cfc7cdeb4d31c2e62ab74a8ad79c21fc010f908baf09f82ef2b7947820e175036648a45481132617317ae57e1bcef2b37aac365f2d62f16 SHA512 71f575192dfb89d9419efb3a3015a645658e1f62983211635b6fbef99500a21ade5ccb4db505bcb7277506bfd48a8eccc7f9e6d5422241eef8d9ee1e8ba6f3cf +DIST rust-1.78.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 71914956 BLAKE2B d1384ddd387b283b8d2a5311c2069850c65ae92ac6e07ed9ebc55dc08bdf09d6258127e1515f2d033feab705342be7faaf045ae0e0f8d7894d8802c4274c94f3 SHA512 269ffec27fa609f0b6eca7ad6e97949f2c54d5c51b24acecace11404f4b773d46cf306ed49913fb5d4dc0283aa2f3da99b45dec1579a88b153d70c384fbdb1b0 +DIST rust-1.78.0-r101-mipsel-unknown-linux-gnu.tar.xz 71873968 BLAKE2B d52864914342a9f7454f0edb38246e02d78027f8e5ab38392ca5df9918ca0ce69f2628b1ded7c6d51ac30e3e482389a2c7a719deb207061c5896a5ae83706c04 SHA512 23ace566cbaca65fecb3168e1feecbeab9b3774cdabf6e4a44133d9f30dffc382411611131da793879e17766b4f56fb1917714c1f4aae17f1b9f788e02bdbebf +DIST rust-1.78.0-r101-powerpc64-unknown-linux-musl.tar.xz 73110652 BLAKE2B 2756c47f66fee7de77a856dcbfa508add0ad5912c9b212604135b92da16150e3d7bf4c81b96c86ad76ef43579a511ac6203374899077087c2d043fd451846c01 SHA512 0280ed768ac92311369a0d8db9f8db77796dd444bf8f58294a9132079fe97b131fdec2cb5d8836a0f16226f27fa314d5dc56331d46966faf1f17f5cbea97d2c5 +DIST rust-1.78.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75237408 BLAKE2B 6ce4dac16d4a6a75063f1d7636cf77544ebcdc5654de9110892edda0ac8c9a3b9b9aaa658923f5b50abaae7c3e7ec1f55a45ae7be3ad1de3af3fa9f6602c2093 SHA512 211870a247513b6788992e39689b5a538f4955225586104b1d22f5a0ee5441a367c66e2139cbdd747f5a295d1fe3680fdaa4bef600151e8b1133d3e57461fad8 +DIST rust-1.78.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80098596 BLAKE2B 3444867bec7a545bfb421e23ae5322170caff2b7c14abc286111c6ac5fe14d52edd30be66e83719bd810cb421bd6dade204828c7623ed11da5d266778c6376f8 SHA512 5b634320e9376b03e3c77a0113d64b8f8de83997468cdf2dee6c362079dc7dd8c063e9a946b845655c0029b07b5febee6a1e5612068995483fd07898ba2f70c3 +DIST rust-1.78.0-r101-sparc64-unknown-linux-gnu.tar.xz 68488956 BLAKE2B c77189fd35f8704c8cd9575976dc01158d43b2db9ec16e4114b6599a06c134fbcb85e6f1701915c72f909c28707def1799a37879f6cd2740e27473c81ddb2fa7 SHA512 4c7f783aa93efaa7d570f6e4fd35af732d4649f5b9bb7c5f79bec0e9f874e58ca63875dcb79777f7bc97c915aa1b44a3704819efc1d0e0cf557be79b15e934a7 +DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz 194762504 BLAKE2B b3a802e4b6efcd6c0c3155258b57483c24731e0564d0077f65706ac46898828c4e4d612996c16b63f9dbd5770ac6ab05cad27a27f1083f431e13aeb68e1e77be SHA512 530e5409755dcef86a9d074a3d387dedb5966689d7f47706e43daa5a9a8c65249f4d2b42916363b14924c11e1a5f5d934e9a1d9b47b1ed7206e85496fee27604 +DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b8f4a535ae61cf04523254267c2f816e51e459a670b5c2aaa1a28d44092745d7c64baa399583a18cf84e03df2a910409cf99140e3337654a1a051e84d3865a1 SHA512 b226ead3b0dd067eea71d3b5088925f0cfa381aaab6f809e58dff83d00c17da4d99a9d241d49eb66e5db381cd9c63a21c2f5be3ab85658b0bf00b91e970c271a +DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz 207632244 BLAKE2B dd548d618a050991121afe1d8ec7d9fa5eab19d9fead94440f34627562bda9b5f544cbb03a06cd6e85eec4c8d5279b4237cd14c9754f95795e7a26f0b20036e6 SHA512 f17a472ba144efd41f791854931e1e2eb566f126037a1f234b0b54191941a77d8c340687c4c47e0bd4fbe306079cddb36637e998439845ec82206e4c567979af +DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ea16c70fbdcce4cc17c37e9c3b642fc6deae9e2033821d21d3598652b8ed2dbab58cf09dec4e5b2f913cb9fb25820ccf3511af5eb84441e9bee6ba702005def SHA512 8384b20c9f9b6654fd69e90a91aa8572d22b4abbf83ca3b349b7672a5d8db131053ad1b6f8a48881be0060d3db2eaef52075d3a9b15a3c9ef9bb366d592fbcf0 +DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz 163959816 BLAKE2B 1987a6a0ea169d67214bf403cb1e6ada022eed163be6ac72e6e46d1596eba6f282cf87e0581e9ac1b264dee4c59edececc9085b0d16cacabc79f9375da652a24 SHA512 6bb0481804a1de8ee9fde7d4793d45e80f071534f2c3756867d95e99bfc4766de2618b5fd6b1d5e8f4794e54c7056124538fd301c5ec20351f8dada54ef4c20b +DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1b6b8e54c0eebbde2a803d14db3d75363c306c621845cad89c927a51a5df0ccb5d1406c8806a82d5d611d0a12c6d6c5ed0f113fe802e4b6a8e504e64562e168c SHA512 10072d0684b40a71176f36ad85b7161e1392b3f52c035bfd0c6bbf5889599234a7201d85a13f04de0269ef9d8e0c51d15a4e9a9151b3fa27cf9a6e8663203786 +DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz 245914600 BLAKE2B 66cc40b70ca70eebee5c173eefb07758a8a7421cbf421329b3b405bdab1651334a5ff1202b450139c89039a4c3fd6ecf8b78ed218c62e81c983e6bb7353a335c SHA512 21190a0034aab2757cdcbc2e456fdacc972634f25f5c75daa089030a82b407037d3c7d3528c8d126d48d2a6840edf97526007bef41689a86ef1eec8f8c569f08 +DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2ebc83f961f3bb1681bfd2e3f08b2c394bd8701c68b873eb524a9f9a79f3d3858ae75f76c0e0bc452cbdde9466b1d1b2723d04a8d41f68902355150c86d41042 SHA512 a32e7706ab9483a464e3001aebda8975ced4ef66a64f534d67c0a0e2b508f8db0523cfef4a66bb2b264bad486566c7f684d01ba96055133eccf0e9da4abfa46e +DIST rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz 224366944 BLAKE2B bd890cfad2348f7bf1d97adde1a5ab244665474ea4d77dfc2cec60679829f84c30378f2a979acc3dddc51ce563b03ff86d04903602a079a85684d98a86ffa4ce SHA512 0cf80ea35cb501f406323a438ecca348fb957cd4a57a4c7ff42bbaa0c736d16a99187b821e29d2e51519e1cb76e533af7c5893c6204fc0736f8e2186235742e3 +DIST rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c249d0badfd29130477841602b385e1d152488d43799e9e3b77cf92234b197501182edf59536f77b02b49f806a7dcd748f352458f97f15af6c8f0580659d3eb4 SHA512 2cd2fdde6ad1acd769af2a3ca97bff3e4cf3b57a3a7d1890ab592d2abb85be17f7c3f27cc1b994e70f9f6cd52e8e44314d1d182aafbf68fea4d52df1c9482afd +DIST rust-1.79.0-aarch64-unknown-linux-musl.tar.xz 205404384 BLAKE2B 21dd98d62bc965e24b3a60c0e48fdc907e2bd6919a90923f26cb833218d6e1f23d3385c7e67d96d7651d65ef963f668abd9f1c9e4d3e80aeb726b50d09a2ca80 SHA512 358e8b8a76e1a48d6829735f04b2d3cd3ddae86684ba10c778a9f96ce4bb0f080c0d706bcf5c6d141d1d52685a8e92a48d8020008320ec8aa158fa911745678a +DIST rust-1.79.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 99fcb4bb3818cf56ab9686aaede04dc104d156cb8c7989c3355974901cf7b84d9182239b526bc0208d7f4bbd80f959f896934796d1d431336820e10477c271c6 SHA512 9ce170419411e08bdb80aaad72c559fd0d81d7e5c2f088359ba2994dbc9a1f25bd6a35b2e3a02ac2ead12be6dac3d8cdb48764e85f8aea3babc031e242d66a5d +DIST rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz 189377704 BLAKE2B 6d2e12a9fd86d41dce2946404130fc314ce291e1610f1bdbe13214e04ccf91ef36b373d49bb06d4f871da1bf99568d194d27aaecde841634fab1fd222e44563f SHA512 630973e33a82d4dc27ef6ec07084bbb0c6555add6fe1324b0a743c39902ce02ad1b3142b3e56b6b37678b523ff37fdaf0f60518a83500ceb4db9544e7f60ac7d +DIST rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 26045e38094ef9e424bd7050819c43998f9ddcd54f52c08b2f9d538e2729b1af1015847b55501a55d43db073f63324aaa594ba3ac27989665cb0855f58275b22 SHA512 73a365ab6ba6938f21e2f29d2ee8992e32998d159572a137621d451837dfb05b6f0bea8985165c6c22f16ce66d6f732393c8dc7680f2ac31df006b0cc2d26533 +DIST rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz 189222624 BLAKE2B c9ce961bd7f7bd8fdb05781096162f89bb2aa374963dad03f764a69570efb634a5c0fb3f776755869649a69ac1a95830a78e638f6e06d4840f1b2c2dadcac2fc SHA512 787e02c3b6415ed337964ff4db0d0e8cf5642f65ff733c6d70119c3ef328e9507ff66c5b2e4191bc0bcd1dd6755b656efd3d46b7629f3d20079f06d8fadcc10d +DIST rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c5729c56ee5a3efed7f8f5af46e459a844f67a87c71c9e280efc07771964fd06838263f254a19801bd6d072d98f3d326691add5495c62a8d06f74a39375557eb SHA512 0b1d5c144d8a9bc8d370052ddafe7d6a5b8fdc00038bcb2581c5e4787a1c8419c628bdd12398cdac94178cd6c876f10e23b5660755274e0f1648b86e54d78477 +DIST rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz 194892388 BLAKE2B 82113120753281bab2e52dde18b399e878bc1c055e2a1123c7bf5e0432c39ce04cb24886ebfde6094683046af94a8e80d456647980632df8da65268c4461e857 SHA512 d923042c4c9db09ff62444e6222bb4c404f322b2c43722514bc4c126fe1f9988cc8c38191bd66f8f24c535509c683e9fa30b3091d40a118b3366062135aef7e3 +DIST rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2cc6281091bd0dd012fe0d229aa0691fc3698ebac5bd77d8c2d811907d1a6d8fe73f19d4b456bc9619f6e7cc403e8d55c46fd02140103a72f5b82c2c2c3986a0 SHA512 4aa5854d7430b07550d72f3aa3d8b5f27d8d11542c9bc22c8088624fa1dcb2a6d194cf058e741b1a0eebbf04874aa844ee89511ca14ddf73568eccbc404d6a43 +DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz 220956232 BLAKE2B ab8bfc213938a0c512177765f4d5bb2333f5533506fb28ecc70744c545595a7e534d7e5dad5afdd6b7d6570bc0602ed7ed68de7df4d7a210c606e23cde5fb6e2 SHA512 7238d0102625d82f7595bf4346dc49cb83daa0ea0ab456b6526f4995d20e5ce7f10517bbc3de09937eb10a4c537edeb2636127f9f8aa7d45c7577a665d70820f +DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 838bd51b74f1f6c77a5ad10cf992f3e398f2f68510685d1146ea3b15bdb2ab7a994aec3e96b5b3a1a14a82c082a87c8cbfc77f01609bde2e096f1934a1fa61eb SHA512 f8a2aa8271348761c5c8c93406c65fdc05502c8d21d67fff82f1a706770891a820bd05acf8d3e8401a44a66c35a11f40e3594d5b42b6554060b3bb58a0dc6afd +DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz 171612592 BLAKE2B d06003c1817a191d8aea38068ad03449090538962aa9ae74423343032b2e1aae4784daa702fdee4f4b089341fcbac1d03048783b7cf082eee46df1a2b6323b31 SHA512 86c39ca2b43fd58893e490008c99ce7f8e8c8e087701b90838de8f589a3e5b5b0d3b20c86ea9803da2ed72301d44b68866fe219b65a5af9f0e7e3120b3d9b994 +DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6f826cc05d126b8c6422674c9dfb496a61424144d7a76bf4e5225d7bc782c0d63dd55ea03c534494b633601bd027a922458d9f06dec5f5cf701c8907fe53cbf6 SHA512 c443a8a08ae2e65e3ff46e4b5f910ac24b8dda0ba62b67dd41888cf1504a78e9a6ff9415480b8c684a7f9390bf7b279e3fb7a7a22bc4139d6a91457753df4131 +DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz 184251688 BLAKE2B 372338527063379f922bb3ea83c98f21b2201cf0e75f61cb0a42c1c1c6b651eeab1532d972af72a2afdc7afb5e7a96c40b0482c248350b7886a1274c869d2a08 SHA512 e1a26ddaf53b070edaa630bfcf6ba94659f841804e2feb90fab05e8856cc616d413f5af45b67cab57fea2483221c8caa52e373e7e7d29039541ab2142c4187a3 +DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 22c2867d40f0fe13888112294ea2571718064a30983903f7ce8b13a4a13684c34ac224990ebb0254e262686c097bed6e46d9a70e86bb282c447c9e690ef551d8 SHA512 68ea8142bb72430fadf274549d1830a8348ba74a02a52bdab1cf1b811e70592896f8cf9d34687bacc34aaa06603f89e5794211227c573a4f29ed34744b0f5a2d +DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz 182063040 BLAKE2B 0bf5d662cf69bff1a345dc54525319dfec98b2743744eb03712e9a2cce8cd45d968b9cc67ffa33a5b5a5a47f3a0a5568103d4e3de3efc7c2d837453dcdc077c7 SHA512 f65745bdb3c98f20c37c7bbe737ebd3b1107868fd56f1a9c42a4adfc14592e853cdd19217354070e5d18d31145be18c3b10681768d9f025b5846488937bd8a78 +DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 80be893561f5021b4e57843a5a6c9db7f97d9e31a0748c2ef1768fe0074f29401a39de781d1eadadfe760e8d7f9a286045c6bec2bee1b2a889ccfb9625ae8477 SHA512 843e1cdda3dbceb93cd0b345ef0f551946cc37dc5085f52cfcc3c9f6e31f8d4d6b176afdf1c255f5bd7283473b717963aa0e6bd905c2eb89f3543cf5e88dfff0 +DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz 192753084 BLAKE2B ba53cdb229484dca210de50bc7cd493fae04b4c664551fb5b7f7bd6bc7dc3bbb59b79d183f20a9dada393d586eb49956fda1a358bb5b5761fe8d65f7ab58b3a1 SHA512 d8db247ecfb154247d7243e8caaab0680bb81e11aa0ed3e627b6a0d96a21a0a2099a7bdcdacb57a8b84910d6716754843d80a9149a8ee02fdbb6bc411a352112 +DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e5ce77c7a2afdf0ddc4d8d53bf7ccaf8506986c1cf196837a3a6d82d648b4515b4c8cbeedb2998df233a1c5428ccfd82865482c0d0493248fb0631e100d4986 SHA512 5e63caeb8b20c7dde37099cdc0c246694b67dc2380104c83d3cbff7810cac521104d4d6cf6763559e13cc9e4bb5387bad761e79fc7bacf48536db1918b59246d +DIST rust-1.79.0-r101-mips-unknown-linux-gnu.tar.xz 70843208 BLAKE2B 402910e3fdfa17d56e8f95e4859a9d5343fc70023f801024f01d73e2b516419cae61723518a04043b84f406efc6fa91f3a10186e34ab15a816221646cf6d74f7 SHA512 14e398476644885a5c7c16cc37ef024f52694520ed778c8c156b728c09f031c67cf3a2cbe9ef67f7ebc7f5848763517e1ad018ed96743549eb3273d71111bfbf +DIST rust-1.79.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70537948 BLAKE2B e0a0a9df7b8cbecbb6567444e768e74de19dae8afea4e7de1014d6184f3a46fd0c9b95b8d26453b69fc174e50816d4250d2514419ac4cb6655faaab79fe5d08f SHA512 35a56f902a06a68734a7065e376d9e569d7e04c5cfc7455b426780ffb54875bfb6162404579f5f17d3501474b1a88c85719b59dd6696cf27834898ca28174e4c +DIST rust-1.79.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72112728 BLAKE2B e8583fa5d898f5641c03e9af9cd43a657bf4fa89bc1e2b7dbccddde434611adc48ff15ee2d8e6022dab848503669c96cdf3eda73117c8d6cacec87369c779c6c SHA512 a35cdac30641fc3e6bf4ab53ca9c8814ec11a358dcb035641bd142f8aa72a5a06e59b4841f81a2a8a2c827492465542ec9ab4011d347e73f3dbebef682af8aca +DIST rust-1.79.0-r101-mipsel-unknown-linux-gnu.tar.xz 72401632 BLAKE2B ab52f9ddbc12124acea6c8b81a00b1324c7bffab7a01d654b909cf70342da9920440cea8d1602796c75875b6a9f36a62fb663221a916dfe709045a6be1379a53 SHA512 0d7948972091449e551881d0a4d51d3c7142347c8b8469759ed41c2dc0d03171e271ed9e6d1d4611495fbda07fec543a5801cce8e4adadd0f7341cea184254cd +DIST rust-1.79.0-r101-powerpc64-unknown-linux-musl.tar.xz 73678376 BLAKE2B 9fcb25f118f86b6f877b19e59735b1bcda53c9e0ea65951ee1a589e6f9e8c85ceeac8a26c20043fdce1d2918327aea945616b4f11c3041cb722734f9640b4dee SHA512 fea61ac81ebdab075a832ff9e0e9b9b0ecc8f72d6c51f597749879caf746a4f903746408613522409d33b71a5b2088adf6485cac8857ff3ace8722ceee682234 +DIST rust-1.79.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75735992 BLAKE2B 5cca64b3a6d625b45e7d455816d4f887f994d8e82c8fe09c7435767cb445f629dcbb87c1459d86319152ba7acec4113517d5d84b41bc1487d6d09f99bb6bafec SHA512 184feae95423d55c0d8292756c1e5b02308175a6e504c94e2032f278ed0cf7426d707d21ecfaaf87f9b30a0f13af62ba4afd7684ac4d9d7bdf64ebf1d25839b9 +DIST rust-1.79.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80781040 BLAKE2B 1209e2c8392962677b982a0b28c60987effaad247bbf98d951cff570321463fd5ddf7846657ea2290a8de84876cbe1c0043245f9ada313c3cdcc4a78f7a43beb SHA512 82eb5392b58e282aeb8c1779336922b15479667b369c2f646f8cbef35bfc181cfeab2d2cca6c3c273f0f52125026f2ba0f8c5ac0b98b18a0146679c22d939f5e +DIST rust-1.79.0-r101-sparc64-unknown-linux-gnu.tar.xz 68919800 BLAKE2B 709aa35596a19acac927eeb9e479980eb4d9cd4eeda019993ba8ad290d28363c3ced6c22bfc24551a6d61340242a39b40557a9d69ae424f0d585bc8b130be169 SHA512 accdbc3d32b4339c3e2c6b572e78f7358c03d7ccfbd41a2eb341aff7cdf0d6c9550c11c85dd00c5614417424f5c0c02fe0c463d92a8d441900a547a83e674523 +DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz 195616336 BLAKE2B a17b0f9022681233e23ae3c3eaaf93da6d730ba604a9d327cd4a2553cd8c7321929e294de27866e995a591554db4f31f2b9f371747e4b45e473ac2c2a466ba63 SHA512 8a8c6be44ecf5d4cf35bdb32c2a56136fb007e9502f7f42980b5cec135bc481252b890be74d6ba638c2d885d1fb9bea58349e6ba67dbbb8efccdfe7bd6c7009d +DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a20afcbcc4814988594537e0ef1ded539c29987941044d2174c5f16b84286d3d8b29321bcd205f5081dcc8ed487d21f88396a0420a7fc3626748b8ad1e0ca2be SHA512 cee5e0ebd5e7fd00ddda6549f749603376284071db7f806175b1913b39a94a5540cf535f30d45afd06ae95ea42b0fc6b71517bede7f09dc0221d5516abf32450 +DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz 208109368 BLAKE2B 8c110bff01f7a7456a6044a782198c74a793af0fe4acf6881fb9af4c8193cb6c513cbcc8113320fee027a6eb046a0ca4319d014379c6f670f915314448fb927a SHA512 07de1f7da8d8d23c63ed081cd56c96a9becbd4b7149f87636918bce8155a25ea95579ef8694adf6e455ba6cdc19776677f430713a6ef6c607a7efd26db4658a8 +DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 28a2586c96e2ee2263cae8c2dcd21a0017d09969114cc905a37408717c412a162fed12023df801497906a6aa77b294121699a56d05e270b28e2831796a15f4e8 SHA512 64c85ecf772b73e2e6f2002053a8bf659d518e7be2a9d0056fe38e991e47304471372206a8e45250d6a143086b3b1f4fc68f4e19388c040735e8475c981fd8a0 +DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f6f4f9ea1b586cb0b2d3ddf3351e42dd49e01e2267d1bc2f9dc27dbbe9b866d5a571a983e3c537f003ea9a6570258af64edc26cb86fdd8e64d86 SHA512 c027a015cc6544d288b51bad6ebf8a9afd40932a06972cf61bf64bfe4997dda7ecaa2d53c4f4fb2200bcf1a7df16c3a44ade1b8366a32ce9a4c85357cc76dd0c +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 rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz 226220216 BLAKE2B 41c7a5ba5108da3ae79fc6d6fa229d2a91e6e217c92bbcbe37fe35d48418e0c787a29c43ffb406acabd410efcca0464da325120f925dfd6d1ee0822f0041f517 SHA512 4279028abc347ff1436d055f79523a24f98d94938dd7eb73516bcf39dbbfbd941418d4b1227576870c75a7c0b4c23c74b0528e1c5b8a39d54422af1ee2abb74f +DIST rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 20c46e31535278145d143f619851edf151feb786b6d3112022b63e9dc882aad300665af16ba9dc600554f3d8f95d4ed7715bab5b57fab3e33a2c81fd7cd664a7 SHA512 dc104a9a30945d8f3d3a74cbc31b87ac4cffb81b4dd80a53b3e86432058830d4287542166db273895d9758bbfc36814c384c35a98b360ecf18938c6ebf6beb05 +DIST rust-1.80.1-aarch64-unknown-linux-musl.tar.xz 206752364 BLAKE2B 924f6c1f6b01c048ee9f1fc632e74abf1f5c11936effeb797d45fd500b1ce5a1638cc8061226018dd3e5a910e1d20a7645efbd25dbc5e3b2336cb3d20817fece SHA512 74a9846b328f2a79a75f7cb4c795a78c40ec1c30ac864e20046fa39324800e40ec13737bc580d5949dca92472c1512c747f67d8b67cd5e3e9048b22e2a8b7866 +DIST rust-1.80.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 49100a62a57a4147c13379bee868f5725b96f4dfa59c83c6d3a1a67eed86b0ed02bb0684b096dd557d07f54d0c3fb32bace38c81aed55cea7a0c001d53049897 SHA512 955d39f554413d51da50d2c66a8e9dd57aa28c850f12410b58a8ae1d8d768b7b5d2687bc6b88218f800f3e4242e282d6fc8d2e76616c30c926af1f9a461b2d9e +DIST rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz 190441552 BLAKE2B 2907546fe513550e8bb79eb60382503ae55dab8420be41be6d57ef04e9582362324de8639a43671181e439223cf2c677ee4f4819455a264c2eb34ce6e79bfef1 SHA512 1ec38d348e1c888cbbc7b391571e84a3026a5c59fe065d79e5769241c6af9f39c0f689c981695846a9109ab3c9baee9b225316868dd2fed18d15f4f1c81cb5f2 +DIST rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 106a856965e94aa260258aa8bb973a513cd13aef7b15f0c5794a699fbfa5445dbdd3628084d7a913849f0dd274075a28bad25a758e031ce851a6afe463dcc882 SHA512 ce34d38c05e8b4a7df9f0a79fe107b7d313bc467b1cf82cac43b8ab9b6ae3e4d3c1f4428f3a627110ce3b66f89086982cc95d0b2b2e85187095f66338aa92d0c +DIST rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz 190747600 BLAKE2B 481473bfac35b8a45c4c3a5593b76abf88fe6eb50f0b2a424b1c5ed846e56234c2faa22910623514d0f6804d13f78d28cc3e4cff956ae558ac1dd655a0b62057 SHA512 540f74fe1f43ad8c407620ec47eae1ac4a3c4ddc8497cb79d0784393d17581c41576df7e114efbd6541a8626802c7961c998cd0895618b254814b66efc3bb01d +DIST rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f1d4aa5cbe123f566d63c3f9165766622048f463c78c0d9635949ac46d6910c1b9c59b0d8c7fce034c1b070416e1ac3f998c4b0c91c796e18669f9294a75bc89 SHA512 f4a75d28a245eaea7deabbbe282cad493175c303f9f0744a248728a7753603ba7e4acf488b3e8e3478a8f7160ed92963d255f0216b1fb598b66a91eb51c30a6f +DIST rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz 195804620 BLAKE2B f279fd6944aaa76a7a35007e0521003140e4a3569cd36e57d7fa4ed7f72b37ffb7d03412588d1b0671677fd95bd6b6626eb9603d55b81971e148ad0137bbbc2d SHA512 487aa0be4230659db1c5cf2436c65062f1c3061fa085f38ec84dce029a6ef3614657ba407d1aa13c1e5ff2cf6e87f7ffc0c1a1947c3dc641a5b6843cdde85615 +DIST rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 15b450c4743e45c4c2eb9a1ec6afd448a30ad64e9a885bbedd7f8a7f59db45926e7ae4b1b0f350a783adafe93ccecec40f6436b62c8063eac5ad4e91c5418576 SHA512 b5ce5e78cacafd3f0ccfa2797aebecb360bbf56140cf1a1f3dc6c200e7a6ac7d3eceefc0f3cd3fd109ff1b8755b7828c2808ac9bf53f23a3e49c27d6c6050e8c +DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz 221151480 BLAKE2B 01c4a29b5cdc47b0070b031984daa5d6f77844cb3ab9a82a40440b5c4a7a1f6bdccd4b8f46e3ab13bc194997c4a1341de484319ad3e8f642c67f7b8d8481c846 SHA512 2c0cc27407265f686d5b3a5e9f00f751924ae47f3d6a5cc044c56278843ee76ba3cedd63575447feb5cda0a2b1d2a26d7a78e0c558e2f47b7cb09f40aa6b8425 +DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 549b27298fbed09727ae6c6086127aab9c0ebf9a6fce70c2e102fd29e983e31b1907f3a2e7c18800ff7b2efcd6f49c36aa11a5021fb9f57e6148e62628cc56a2 SHA512 c20ea2b577aa263e70211198a9fe896b9d560b737d74d640ee107a89dd9d5b31bc843e2fdda75bf21318fd3aaaea58c4ee918d003f7bf7636aa5636fb657133a +DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz 172528232 BLAKE2B d308b0aab1ef8dc338025d9a106920f507035efdc04390e9618b6a936ec117b70c791d14d5a73aeb0533f1e8d1952ae36bc3d4e624239d5a64ecfaefa70aa5ab SHA512 1c6d689e43cad549f2f8aa96fd5bf52080276c1de386b771206c7533feb11a47bf515ea72dc7f406852ca7dc5632f1436dde69014d8bf35bd0f25bcc85c3cfa0 +DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 92b347907616b18ae06d85a1380d01bd078c3ea4a03fdf808b79794ffeb1d6661057688050130aec61d29062f07a030ebcf15fe3d866cb411325c44a2c393a33 SHA512 7245d91fc398d787e8bfa2e0bbceda9aa30665699f01bc5490f29f690fc1f8fd5d5ee8d4a941d38f0dc5c4cb7c275bf4b6d4bd3727b1bad65326594101f90cf4 +DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz 185400364 BLAKE2B 2b37d052d0fc4f612c298e87be9a0afcac3ef8548f3914530737d0435cbdf270e0c3b8422c08f84f96192f89805a9bff9d3fe570eb056afc1fd902202a806025 SHA512 1350aa8c105555778231b4ef7ce1c4c8850cc112ccc2f72621bbb3c011a0733da91df7521bbab0aa3269b4ad61231a631660593d7608d017083cd7af375fde30 +DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da5dfb8d287b7a30a32443b0edb80a3994c68f732ce02a6f6d735d589db2c273962e02925fa88311698672eca10441850066c2f1ab2e48ded8ca33109e298509 SHA512 f0d381594d6b164e068cb80e39a508774633db64abd4a9ba68eba48fd627fbda6c0cdf849137f61e196ab44e0f93eba5d08f3dd60fe5820259b8d9fafdd51407 +DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz 183179096 BLAKE2B 0b7b7af392b8aa1a1df14ea4f53fd231c5c475eddbadd2105a5222393162b187109201f96dbb30c9877ff1c684af48b9868d17dbf26113193cab572d8ea40852 SHA512 67ce98a6f89997c13f576493644634f8ee5055952500e4f6d6ae096fee9570d6e5938c483892e76325905fec35184ff7f7edc21e4ec30199e821017890825289 +DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b5b296291d031d254a4be6f000abade2b5d67cea8cecb332505469af3ec3ed1e21454ba41f96ed4e77dc2324c339f136ad04f034191a639394e6d9390065ac19 SHA512 9ddacb0ccd9da29fb93c66a2d701a03af6a4a2e9911c06a09d9fd5bde2647931e6c61e623d418200038e232227010206561e431331ef866324e9020dfba4597b +DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz 194097292 BLAKE2B 1134beec940443b111594c86f912b2bf26bf3ace83cab3f0176175a6e891d047701e08e8ebc62094fdb4bd7b4d2de115ba0125ecd5ff6b3a20906db30c86c480 SHA512 4275343153b6acec8ba3a25dd4e85abc3ea7872a9cca4cea6f394fc24db6461db7fe7c047d158b61bb0635983a6a033f25da39f5fa1d6d9ee6d3eb956799dafa +DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 280558f7b575a5b79c7367715e74f333b7e9bb0d4f6ffd9939ed9daf33899dfc19cf59eca2cfafdd2ad1d6d71ea58486d04931fc3d089c9c491c8374985a1960 SHA512 6c784aa10878531b44e5927b2cab5a81efd4767a5e723747e4a9c506b4c48141b44c98ce364459db47ad8f03f4f066fe96d070806695d76a6abc9e0c7a53a09c +DIST rust-1.80.1-r101-mips-unknown-linux-gnu.tar.xz 71802316 BLAKE2B b3fc9cd96d911fdb02ee26385e3110f6007feccfea11d8572aef51d0e1a964c4ff286e89fd294da89bb2b9bb2971a9851e180dbe1bdbbc328f1643e6ce09cd05 SHA512 40702ec4f97ee76193dd56d3aa1c78f67c0a496f3dd179d7ae114c8c59b2bba62e415814e9b05f7d2a703d9b38aea12ac35ad5d0541fa0c5006f0f849b85b134 +DIST rust-1.80.1-r101-mips64-unknown-linux-gnuabi64.tar.xz 71450476 BLAKE2B 275f24f77916d0473a60d2988138dd2f9c4496e8d8eedcf6e005ed655a4711e532d21bbc6d123d2043839439073cf86647bb2be61ed35c389b49dba718e9ef65 SHA512 905ce07d8263eccbc2a07abdd8039db758bca977e29462c5133de28e89754d7ecae5609ea577c9a2a050aa2de61ad72522764c3e023d579131406a4860104f20 +DIST rust-1.80.1-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72935280 BLAKE2B 8b85067f15786b833c86b14e0dca4e36a99f50a6a645c510bfcbc9869ebb5d4b15521c293015eb4bf6e2d505ede4fc24e1f9729f402719b379233f6adcc85ca8 SHA512 4322e156d60a185217515809f4e1f72ac53d30321f5f6cec73e3f31ea0acf40ec9bf62bf4567b7d90117ccaf397a9961987631679125a74c3f354db8f72950d8 +DIST rust-1.80.1-r101-mipsel-unknown-linux-gnu.tar.xz 73461432 BLAKE2B 94a9d427fa16935bb2e319591413e489f1d0e0f4f5cd2d9435424a1013f676a79ce009575a7dde35c7b4718d8300131dc3049a8677885ebc118983bfa4527c92 SHA512 6551dd2e0d3d170d47d3e13c81872fa54caf2ed498a200bdff5ebb7dcd6a9e25b1fd11646d3376c6191f37ba494c931cd348546e3099f784af25821f08b7c600 +DIST rust-1.80.1-r101-powerpc64-unknown-linux-musl.tar.xz 74442008 BLAKE2B 1dbd23082c7b30021f8cdf0ac3adab6ceef4f852e8c6d13ab21936e8415addd6c581a029d2482f9e6299f6311bcee1158ef9cadd264d81e6cd7ab9814100a57c SHA512 bfef13e66c7f8ed34361b27387993b5caa3b2408f45646f2e4b4a9c6ca7b855700f04ba02fd2e501a09e16fb0a004082fd882ed2fc1caa611ad44a597ed89d19 +DIST rust-1.80.1-r101-powerpc64le-unknown-linux-musl.tar.xz 76588376 BLAKE2B c3a846c054bafa89413225dec32ef9d32bae853f38eaef3e574c7b1c7a9032b686e22b400e6891f82b02a60dc0445b604de73e9d771a5b3ce0377a39770e0b0e SHA512 7ecfc90d96588482c01ecb32e57f713c81abe0258c84eca18f85902c8095a382f87e8dd8147d77a13d6f6305c952058090666ff70606ad6fdc6f8b5825da1f95 +DIST rust-1.80.1-r101-riscv64gc-unknown-linux-musl.tar.xz 81741252 BLAKE2B a91073a86147649110440cc9793f20bf217b713a771b504aea1d48ede0a21b53d83c3e95e36f3d3fcbf77cfcd69b3c085fb4a436dcc20385f69a6c6debf9e972 SHA512 71b101688cd0cfc5ecad6830a72387c05acda4c900329c31161110d1c7d7aa684e2a3fc315b127b4af91790d2817e213b5eed5becbe87061b7b5f3769596c7e3 +DIST rust-1.80.1-r101-sparc64-unknown-linux-gnu.tar.xz 69865020 BLAKE2B 16b37864349bd32d9554f3e101a7da225d13f96c928ad1d0dd6adc708559d9572f3ae88fb05cfe9382e95a292d215f9000f18473237e30f60bd0cfbeba698203 SHA512 12cd53f0287bf74848ee3c9ee71309f9b25eb38317f554ebbe4d9a5006a124950e05e0a9e07056fc213380b81009412e42d6d36a0ac9129d6e0f26e9c4c0b987 +DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz 194141700 BLAKE2B e174c185d35d3974c923233807ff1a27f6736af2a8b97f92153c0518aad4f46653d5e5bab219b51ee1b58cac7216a29e5ad6499a982de8f52f6871903a307b71 SHA512 4d69bfd0fdd2de634a3ab873e8e2929c53baec12e4edcb220b8054c672324dba7a94d06a9c35474b8ba74b2e408d7b42a857ad11a4b7a346509b5fde23e8c779 +DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 274048978581a816fd8a9c396e7adffa509004121d5e9dc8df53a9f4a850dc7a0bca8652760c1f27c1c0dd57be5a91ff60e2d39ad7681b17efdea91312d0fc40 SHA512 5c34ff90acd4307a57733f8371abf4712c3ca06bf9db88f1d3e3ed9dda1c16a7775d713804ec4f1bc46089428b6b5472ab7e416f10e21d33f10b84b1a33d1957 +DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz 209785288 BLAKE2B 01792daab79e7abed8bdeca53295928429b6814672aa4e0426316ec790d22b22abf25d3d5513582206d18f53147e60d252a0557ab9cca3b594c89ad603d94ea7 SHA512 66b20f5d001e978e2db5277da5f01271f0500a59877a849ccadebd5823eaeee35066abdd5d449e024cd5ae8ee41dd60fad77a00648cac1db62137d6722729fd6 +DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c0a1a6036d3c3e9af835c281fd347a842cea15bea5f3d5f109f4080a2f93020d5e1c1a7de1894c03e8a2c87c6560f792a0c8024e68eb55d10e50da098f1e621 SHA512 7bbc3e8d3b039b522e62101714f5edb85046cfc06375df4b49c9ece891f8fc57e86027e1fd12a5837be7623c9137840551389e7dec4b2700e1dac0ae69121729 +DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz 167553060 BLAKE2B abc6430cfbbea5dd0ea42a6a3e2796b6f499d5a8343616d310ed22b541bdb15803d882dca9be743a81768bdf55f78c7a803bb594844d7dc3d2bdf09bd3f3d312 SHA512 73e6000af98efe5d90ab484ad88f455f07ccdabe49400d25ac16eeaa51327a5d17eaaae5ef3eb0b04b9aba2015c379eeb2a00076d82ba959e53e3dba470a228b +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-1.81.0-aarch64-unknown-linux-gnu.tar.xz 230690876 BLAKE2B b037b62f61558f1e26a2d56042a8423480e79f582f9f20248181730518782f55371e6bac982bce532310f939f1c562541fcc93f6f5ea17f6f9a03972fa4c52d0 SHA512 de2e9da3461eba35fef1f22dd4ea90668b8e3d121b1acb3a9d862c291c6784ce6b2ffd9dc5f1bed99625e746ef9ad7a65d74142479fe1d6bd6b678fdeee6cc15 +DIST rust-1.81.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1979ad9d4c2aa30f963565a7058b3251edabd972d80d368d69074d975606962991b23a2ae9f7ebe7225adf06789b0090da48b0a6418e82ae45b2a3e67065714d SHA512 cf6a64e759b2118ce5fc5489f543cbef34900aec37f5416c0836f8990a589677a02f3fe8ca02898089c770507fb61c36a48b21a4f50acd38f1350f077a95a44d +DIST rust-1.81.0-aarch64-unknown-linux-musl.tar.xz 208644312 BLAKE2B e732d3a4d3ddf0b1fdaac1324567bcea86bbb36dcdc921409bf8484a116dab346e3e5d6cdba0bed82d29f6d144a97db8b471c5c4bf2b339ef0ff86109dda66af SHA512 874cd6bcf870a3f416768a029ee2a32a88fd396e4fbf1150214281379db9f599f68b3dc9eb7c9152e9c17933ab11cfbbc80e19c1a8083343e583bc3994feca17 +DIST rust-1.81.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B ded7ede2657f16f9e054aae69b8bf2f50606674259b258f1acae75c5275966cbde256d957028b7220ff23ee83ea366aa80e6ad059e5880a76031a466aba4e528 SHA512 b31e6a06c8bec7d955bc73a6275535bbf6bf864f55abb1604ff3a78d26bc2a5d384f34df36336164b0dd3a475281949429bca75e736f1e8dccd48d7f84174ee7 +DIST rust-1.81.0-arm-unknown-linux-gnueabi.tar.xz 192297828 BLAKE2B d1ac0b2649039f3b13568906b97627e6dc0e9e0df4c9d784192240e86e1424fb0fc0816c88d45b7baa6c473f175d4765e62a64994bf5b58031a40a6a1fa864ae SHA512 bd64fbac076bf31da5acadd1d3a85adb692d58644c3fcc1f338473eb6ead3bcf4463ec1d7d46b5fb1d55498ff7684958f4b1591425c2aa8184405d01fae261a4 +DIST rust-1.81.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d2c507d2480665a8a983b5eb2f2eb85265ab1e8aecf278ca44d9f2ca7b5b2cb76577962df6866e81e6daa3912942df3fe0c4bfa75fe18173c4a6c05284bd0393 SHA512 6ca22e556388877bb9be06144ffcafad07126cfedbf77a27c6c3ede0be3ab6803df7d6d3e55cbdb0f210c02a02c7dfd26a3c3e5fd48338b4b7fc71fcb469242e +DIST rust-1.81.0-arm-unknown-linux-gnueabihf.tar.xz 192357588 BLAKE2B 5236afdc2fb725b2be3a2cab4d66a6ec518038e1a557ea4950f683fe3ec716a6ca0e6ebdf99b8068856c90c3e60220a5f8d1140c23c1c6a5e1f8d0c96fc80d9c SHA512 03d2709ad7ccb87161b65771b4b7882163c9a80a814684ac8687780d5f9da031c9e667bd35baa3af89c3d7275e377c50d36b47fac585454c623acf6f8bab8cf7 +DIST rust-1.81.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e819b6a30627c1af87f18dcdeff40eccd70249509f07b8157cceee047f756afe0ede798243a0b7a0b9842e42af5833e5a23c3b31771a1f4371711942b744b6ce SHA512 8eeaa15f932b9202acfd4d9210207d231a63cd5f3b77da4001e0d04a2e4f004c259150c83b608a5f84f59b29fe7933455409eb20b66739e3c238e13332e2273a +DIST rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.xz 197884288 BLAKE2B 060bc7c00c438011ecaad2a51b9edd2e96ac46bb1be602f14fd0eafebb2ef6d4bce979678d9ee7f99c6490565bb57b3f1abd1b3e2f387d247957763762b19082 SHA512 ad149183fa630b3b5c5258fb5b6ad993960c1fee979c4586206463bf76694ddba4854e451b79139a9455503bb3839b1efc92e9c27996f6557b7416078708b1a2 +DIST rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f61a7fc711100cba3ae558eab15f165ac5c539c7adb1f82b4c83bc82b7a6c5eb294bcc43e351cb28e7886582b9f996b909e55896c267fa1456bc97d9accf34e2 SHA512 fb6851bf3cdc3c3c83ae9e3fdd04cdccbc6f1661c0656f4d9562c1d911c2e82f16854e88ac434d93804587697319545b6c659b68712198d7a62ba3877b4dedde +DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz 224016868 BLAKE2B cbc147e42563ba1cd9e39e313d824c78d20e308c95e02bffef02d25b08e92309d5db0e5c0d5e0bfb30d593235bd3a58e6b4614043b3c12a6619406861c48a25b SHA512 b48d934b6644cce7f34db35ae69a4ddc9c9e71851dd1ca221e86d3a6cc107f29e0070515cec3d548e422161a031528927b93d4499e47eeefa87488dfb23591bf +DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3cfb29d5ff9f00e5f14631466a3a5bc5ae0a3dadeed3e2b22ee000ebc57bf02ca6db5f2ac01756a6fdc753bb4cd83e5e6ed8fd9e356b6325f5b7eb17e7714d7e SHA512 1fd1ca2016876f2456eb832bc9c6d1ab2be237a619d5f6fd4e1ee0f31bdad3d3c1c95d5f45069512d0c8a140115a594be3d1f888fd9b5a342ddd7cda1d5e5ce7 +DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz 200885152 BLAKE2B 46b23442632d7c3368454a031643a795cf54b732d2c180960008e38be97070708a433d1094f529aa78479fbd89adf1c4ceac38af919f28577e8f766029cf40c3 SHA512 2e090423c8c5ddc1dc29d5ad19cdaebb9abad45bc7a229f911385f50cd2951b587a187ed8deb01aa41aa643465d7c7ac2b91d94c80265c03362de39b99eba82e +DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 70aa0a550992b32ef666751336ebe2c81f3834d4117942cdc7f8b1eeadb1e5efa5fc63e283517e5535f406ff0e36b4577e559e24281e388a362463ed046fa340 SHA512 70c85d06e5b29968b6efb10efbece2761f81697395bf037581adf9e3aec0141266ae59644b6951e646749bcc23b038d5601b804c6d389b64c87b4be24847db42 +DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz 213304904 BLAKE2B b9d126cc787323ec18e978aaccbb8f92ccf753314fcc6a5d2d496400f4bc7885b543bd7ecae782a6c1dba737708358be26be68f69b47e982617e9a80af47d279 SHA512 a84bdad9877f7c8df2cd495447cca2a0e1448a8a13ee0fbcd2ca6f662317cbebf9425238edf3b5a1277b723b9c44eb4d363339c00a35e0ff86b6a568b61ec2f2 +DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2fba08b5be0026227e071993272a12e0d27af3b8e3b2fbd039a9c9a229317e9014d2e0f2c981387e6b46907e258e309424c2aef22d3512743d28ce035a85dc3 SHA512 156319d1904834794476d80a3b047a4099b983cb950ab3e9882ff34c0451eddff7cad8b160406abf23df40d195fdce925052177de2243ec8e8415edaac3c643c +DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz 210257620 BLAKE2B 686cb5e08befb0d4a19a7e34478c6916abd6aa7a05f09d83a7f8c4fcf59e144371a7442a1f14cd34b149dd056df119d5748ece4311d69af79725cb9b3b662126 SHA512 14f5feaeba8cb9e0a3326e5d74cba9be832fe6570308d5735f7fe7486fe240ef0f3cd2396c853bf34cc784f05fedd7a975dcb922775c59f3262a67fac1383839 +DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d30e35436bbe3869278f4936b2b132d0a243bf0288470e837246a59239c2813025757f684f23c639517836e25895835a7ab0fd488834e2f53cfd1155e1c8a2fd SHA512 3b302c6c999df3e9aa0ab1a0638692cb6f88d44598e00bc862ecd2c384afffb259b8072738055800efc9f0c5b8de07a0fe3de1cab1bde28a9faf1951411a9bf6 +DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz 224307656 BLAKE2B 3891f93aa2bfb62fe23b463cdbd7db50182bb175cfadf2969b32d093897f517afb7dd97ecaefe90f220998f7436d41651c32e5a46957c2114d1ebc70834dd917 SHA512 9f6fa6bf0d5ba935b9ad5661287ad8aad5fc8d6b28fdbce6cd81730539d087ea512dba7b0133de08761d12b580b8b1c5d7ca35a4f1277a8bb683c109177ce83a +DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e96b56de2542596db2db9030382e8d87a9fee884888b58c0050b81487eaf22c2e6d62d11dfc7763a1f647318c2bd0b29e03dcbbe1809ea8162432874758caa7c SHA512 0e568a763276ca4e9c359d6dfc32d1f369ee04e160026c7660ff5f14175022175d23589df9c03c0c8c270d7e74a5e54754d23c8a1b0545b67b6d6c3d3ee82628 +DIST rust-1.81.0-r101-mips-unknown-linux-gnu.tar.xz 73402288 BLAKE2B 7c9a140a71d933be17d1d37f50ea1e99b85d517e1fa71946e23cd52b63e8c0bd8c1745da62e8409a51e68a1c4c7b0c87d3835d152905d1012f5c02023aac1725 SHA512 3892b1709f60c770036342c68ead1fe2a0423dd0673b1d276d1a4c7c293e6336374fb2086416ee3a9235099c3a74c3b85e6bf0e5c32262f8d453b000afb162ed +DIST rust-1.81.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 73118804 BLAKE2B 06952eab52e267c3e62d075b5ce78f03ab2df82f0a5cbc6af533271ead719ad57722f1cc736d65f5d9cf8f397487fdd72c734feb9a78b13faf48b7fcb306741f SHA512 871fc5144fd519aaeb4ed8ead742f5c4e2bb2316244e9f3874666b9a6c2daa6db9ffec2bdc3f0b7d342f578cad7c0ea821968b706678b2c2bebf83b0d92d27ee +DIST rust-1.81.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 74730252 BLAKE2B 9a7e17498595829f7be1842b62404faba0c1dd50bcd80ae276b9440e0aa4b8d5ad0cac76507b03f5cf1819c8b3abde5a12e74cd947a62e6c6c1111d043158930 SHA512 1fdcf19f726bc60fa9ebc77b49a49becfa430b5ee857fb8e202048905f6dcd9dbf681c10c7b0fe857041a00d1d66406b1d92d4ded2e82d8ca69992e67496a6d7 +DIST rust-1.81.0-r101-mipsel-unknown-linux-gnu.tar.xz 75069920 BLAKE2B 572d9816ab022b6ce3b13738b218cd80e704f63e3cb452ec9eafb78c92f27a81ffcf91e981dd9a676c95abae1d9df86e974d6911f2fb95d72b7de11d5634aad3 SHA512 2561fb6180bd2fc56e9d317ee049b79bcf05517a32b3e12e507d665a6c8499a5543eba213bf825431597bf3816655288c675cf7784c3cf0eabcc03a457a16ba6 +DIST rust-1.81.0-r101-powerpc64-unknown-linux-musl.tar.xz 76092208 BLAKE2B 4574cc1cbebbc5fa489941b31479744816731e372ad62b0540253eeaf8f236b4d933801e6b92ceca356a487a199c934766c6c2a8a465844728653a60ff8f7153 SHA512 1c635647eb3aae80f0f2351bfbf00975572d3b0b35b800de4b5ecebcf36fe6ee5b617747b79d2268bfe9f3b2a36d42128a600ee344ae7d3efae93f133e2a78d3 +DIST rust-1.81.0-r101-powerpc64le-unknown-linux-musl.tar.xz 78292868 BLAKE2B f0c31989811c4e713e1eae6d0240c83abe02788aeb0bd226f3eb6056615fefd1d05f846476de45421acf0246d064587af1df40ac5648aeac290fa4bba4e4a839 SHA512 c7e773fdf013d42a20d73a0b1c13f7752fd8d16f02f0c785dd3548b34977ba60fe8f664d7839ce45cb88f4592f46b706b716e5edbb888b29205a292979950f5a +DIST rust-1.81.0-r101-riscv64gc-unknown-linux-musl.tar.xz 83525016 BLAKE2B 186275fa3c6214541fce09c0203f61f168c4b2a9dab64ed5c0ff3c472ae387592db2a886c31ea39488d8010f414c4e6b9a19066214b1abab15822faa0c167fde SHA512 54654cefbdec5be8530b4af75d71f979a278d33959b21d5f04653adcd168a5212e61a646c1e38e5e07355c169bd19ad2794763d4c8838d962e17a64078a4b0e9 +DIST rust-1.81.0-r101-sparc64-unknown-linux-gnu.tar.xz 71277824 BLAKE2B ad0c0ef5a45010dfa4c7bb2cc3e8368378772ba32f6e464ab802a5ef8ea5f0cf671fb052a01cbd2da8f7e02e63e59ad0f544893686774999dd72cbb92a52c5a6 SHA512 515c4562378bc66acf96bb61a6675e56b57f97fb905a6779d78e1a6904a8108a89b847952e261447c35252518e1862eb994735ea884a75c8437c4fda7b63d347 +DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz 223006516 BLAKE2B 5627ee83ed51726bcdb50757393f2333d76d705e18d65681c1872df6dd3e2beb9a18910b4d5e7da5c30f83b4c9f80117f2ef9c212cdd92eebc6cfce182ef579f SHA512 57cf209d364d43164402cddeed0ebe41b3e3ca69f79cec4f83055cf999493ed1cd87bc852b90707b2809cacceb39a83c4236712220105cd6a71be30250d4ae6e +DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0eaff43543493165dd86a2ffa30a4039b599302970e5c4380e8640c8c61881480c86b2ef98159ccf464c2fe39e23d14191aa11fccecb8ea8f56feebabfcd0d2a SHA512 4b5b7f01801692aa4087b5f010993d4b14b73be9c2dc964555ba140a939e434400cb4ed4756238725dcb2ab66e5ed67bb1d4688a92fcbc6c8af23f21fdaee568 +DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz 212322092 BLAKE2B 11237159a0e70c84e296cd54ac52721a887057ad12269328cf67483d55e603df3f55381c4413871b83fe58a26a52c32ba5e77e7b3426016eb35a207275598c29 SHA512 1ca177d52cd897da497191c4ff869ad9e22047d37f4955e134d51a8ac5a5c24d9ff109a6e955e71df0ac0fa1776939ee39ae384f2fa12ac4740e2aecf92dfd61 +DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a982e7308aca7fac8a93d299a9dcb00f5bea71e1b7061fada84fdf2cbe1cc5bf7ea65abff857a234896b950e06e1bc76c0e796a9570039b2314ac17dc4e9f4ea SHA512 cf8cfdecaeb589db64df6ff0418d68332c8b516d401f0e9bccf9651bb085f57d3bef4941fa60788ca372a9a2407a406dfb24c153a64549925a47c15196815683 +DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz 170439044 BLAKE2B 5377d8972a729b0135c2461adcdc179719a0af99e8e9656b3c9eb487144c306d49dd42737d71195773e4b03e4287215955a7bab34094c19a9f07fba04a706a62 SHA512 a648b735d91348dfda6a66b4ca09f3449ff4abbd1d727fce8c91ec409a82bfc873988b06aa0907e145c486d035df12c68fa14466ccd2148ac0a99d5934335ae2 +DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9f39dedf33efd6fe4d66e10e3cb064851b1637a50e97d3bc19c48bf989e1e94d694df493eb437d2c2e58989933dbb05a7d25c276b26331475f44ea2d9d52909c SHA512 37908051e511cf223e92379ecf577ee1644d6aa13583b622b78d445367ca9e8a4253d77a5237831eeef15607c71e99ae3ef42451803466fad303bb523e13475c +DIST rust-1.81.0-x86_64-unknown-linux-musl.tar.xz 251142276 BLAKE2B da30177914f8574ff896b64a60279913d48330818c6e96e10d3180964ed542697f29c6ca7e7c81fb1b814e1d9ceb8bbf6e119596b59564a64a08e30ce72ce4b8 SHA512 3b772269362556bebbff72a13abf05f745fd88128367ab1e5879ed3c0f3f5a1f7370faec1b2bce521a38662d58d94a8e4eb6b085c8e0f166979af490492e17c8 +DIST rust-1.81.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e13afc29a5a06bd9453db22a6bc6894d8fb671ad9e3989852c9348ded5a22c908ec58ddc20b0f2d94e6bd291eb0e9fec09277f95ba9528bb7d333748ebb79959 SHA512 da0689376503be19af92d88e2731296c6a5286cec60d42dcebd4738b23e3e1a1bb303982e2a9e6bc14a8f7a8872321b9e9c25915cde43fa1772ddfdb149997c7 +DIST rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz 236675048 BLAKE2B ea27b8520ec4c7b75db4d0843ed4c33eeadf6aa417ae9cf577c958ecee8d1620483dda7a8cce2ec7ce525b3564e564adc480c772101829de79020f690ee9f6d5 SHA512 2011ea683c2ded92a22c5321985dd73e5296bf8b5d8935c089684fba59bc8542ad1e8f5c119e550df619f8d7674c1a05821a53cadd277be4031bd5e1a76b32b4 +DIST rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b068fdb9ebef6cd2210898f84084ae428a2975cc916051c7a6f716901503174d06fe135892f8cb343abe266ba3392f8ff2e2a8e72e10c8555e86e332159cdd5b SHA512 6e64a2359c2d828a1c5cee588ac6e2d2f3cee87b8c553c99c563e1fe4e82baa8b853ac3790f522f301258686ce4b63713589c8ce0d58f8c8430783e106989126 +DIST rust-1.82.0-aarch64-unknown-linux-musl.tar.xz 214134084 BLAKE2B 03323e1444ecee145fa3138d10e30480074b43bbcb70257bc7e29a221798db76464ee450548d9351f1cf4a0b913eb42cb9e4babe5798c8fc49871a3ae7168ca2 SHA512 3a36915bf1c75c4d274bd08455c5fa292d183c9594aee5f8660ea5998c7b7d840dc3ee022353e0017bc9187d9a83920ff8982de18d5367ecbf7fbde474d004be +DIST rust-1.82.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4cb9bab4e205031eef5699e4ec06fd26437c092242df0a13ec1163a6e131a75b9e8a752cea98319bf1c28796a9112332de6d692d50bf28f521a49679bfe09b44 SHA512 670723d16f2d1ff0cfc139f3ad2437769289faca678b7e0da824e4a0b68cc17e8e5b27464c28dc7b8a1a45582d89bce8dc001ada40801c6ca1330b2749eef51e +DIST rust-1.82.0-arm-unknown-linux-gnueabi.tar.xz 198513416 BLAKE2B d54076fdd62ce6954d71105eb7ff26856bcf533b506f2b21e26aa3cc6e502b58a77d31289d394664ad256eeea6c00637cf27619c857202ac0b83b80eea1060f9 SHA512 2c1a158bbe5535247289b32f1f3bbb34ba4184e04afcef8b022a92ef3b2c7cc545018e16bf26552812de90793746c1723849e738fc37f6ee5106631af35b73db +DIST rust-1.82.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 64aeca55022cea8033b5c62511965818f66fc06c099e38c39dcf8c18c2f3eac771f99af340709eb36e04c3b7edb8d9a2ee4e36bb4e5873361af2ec017e9e81d0 SHA512 8352ede01a57d9690ff8d01229a097638f590b66c4f232cedf6c832a64a720f79ddfd92a8bdf4a300cb73015bc79bfba549d610ddc8dc6f90195ae4301e084dd +DIST rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz 198915552 BLAKE2B c4fdf16f8d8d7037b22cbf1982b444c46686239a63cc3b4c837678fc4b0fecd26800a645b1797b482e5439660304d7d4679f2371d9574fea2bc0255cd80c4f00 SHA512 5ce2ad2548a55de504ba9c06d1aeaea431afebf264387d757d4c70aee9a0244f6b12c5e06d3b4231e8ce8339a698c4f6f94a3e9d35c5e8a66d432e088a1ac984 +DIST rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B d529ec55e5eca6c19e9c3f43e429f39047624893aff07b4cd9b1e777e52feaf068c53838aefcbbd318c97a0390a5e69f6b649cdff5d93f124571342b398d0c98 SHA512 2f976bb05184b0fec8ae9531b0fd21f581244d731dc624410cefb704e2089fef57a1e1ec1d9069e8d89759c4ec934e32947f975afedbc7a09e527a24d763f41f +DIST rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz 204665884 BLAKE2B b402bec97e364a01226d28c5b5551474e2023e841946e82ec621634d062388db9bd0bb51925d8c5880cd5581c961c282e66fb7c29746b6081031cdadd138c7c3 SHA512 6dee6ac941191b765cfc4523268d10aa825be99f07f3014671a7ba134eedcdc93cf8161c6a251b3588ddf5d45b41d105c268e0cb8e210291ebce45e9f637cadd +DIST rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 49098feb74ef521224204e38976036968b6c94eadcd677e64aced8f9d78fae19f3036c935ef2f71d0da329b7d905115d4f840a54712d15f0b1508b5b8ee89757 SHA512 5ba449fc4ff34bfe8e849fdfca3c1f49ed011bd0ddf20c0f5db402073932fb9c5158cde57e03a263413b895b23fe71416fdc9264042bd8a3ea2e3930dfcf0539 +DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz 232183760 BLAKE2B ce60a1471dee7552de1a3b48e8db313ed740816bf73214139f8901a0e3b9b85a50bd6bf6c3fba23bde2f2a87d4990b8b02aee0b849e29d5c72b74b371f992926 SHA512 cc2931ade9d9f88a187d338134e9cbc1aa4b8237f854044cf913a54248c6444bd85439c8b3a8c48de51a5d4436f018e5de24fe013d7f4947f0e61a59d4c36010 +DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0deea40e9b63bd697756d46c1810938c03c9eab4401ca63d7294f991ec4e084ca51dc71853f5e9a7c32c895ae07a010ca2c9b83c78ec538ac3ca0306388a4884 SHA512 92eac1413e2af6e209ae03f43e642410e324bf043fb1ea152c60505adfa00100d205fb0175d63361633594a4ebb6e6c9494d73493aaafbf991afe7305bc76e21 +DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz 214922428 BLAKE2B 73ddfe865cbd529ca7c1550b989e173542aed51a27e20c2a29cb7c93b3b19e6a30c3eccddf123dbaa8d58672a13aff3443ab34e4634a9f98f7c572ac49ff7af1 SHA512 c75039a73becfe8c0990105ff16fab5ea16db30dfeb1eb85b3778ba070acaaab120bfa9e326b621a6fb34a5576cc829d76153d3376be9c5db74c3ee933571780 +DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 402210132f85edb9c31eda041a9978a3ec60eac8b31bfbd4742fb47afce36979e89de544f88aed7205a97e36ca9dec8d7d4a71890f197fdf93a0b3e252c2eb6c SHA512 53ccce83866480bb36b0fdda23ca1dade3f9bfac05b1ab49a8df3e5076d9acca57dd474e1587bcd91b4f286ed38738b5826bb355c903edd2ac257a9daf5d8442 +DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz 220809284 BLAKE2B 3f87e36e6e635be68329e80a4273c1f538ee912c8cc29572a2b06cb04920239385f93ed2aa364667599df17962d3ca0b2625448643445921c44afbe3a718efad SHA512 59fb1570d46b717a118d832fc1f4928337ed525128dca72104ec2ab59f424b665bb7676a6757faf50f81e5365f332d409dcd01a8f49b57c834c875aaafa5c8ba +DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4058694cec8383fb53982cc6a7c05e476b5460a5d43fdbbb95b07e36006cbf9eac7536002295853df5f14cdba0f25cbcfba96f527592fb6f6089e58e7aafb8f8 SHA512 3965cdcdf359cf62b8ead06d0720093c3853242555afa83a8b0f48876d623db1259e5373b7c96b550f7203abeec6f5f697fd24d56f178ce969816d583119fc1a +DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz 218119856 BLAKE2B 82c61658d4cd4d755dc4c058c15826a1ac0167da8b4c0ba842ee4f709cba4b584b9f505a816c7bd4cb49258a037ac3f34bb7a7dc0f52e32d57b2545e3a4c607f SHA512 9d2bf19f84c0cd03307be7b7b3687364966c2cfc646b8a9b21a6cd7b6424978c3559a26db6f46818cad543eac556689ba2ede976ab5efa63062cd4421b097dfe +DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a38307a4e0ccdc64632a688b2e5fb9448e63e26045fca2af4fbf72de6dcf6b201dafb4df4c56ac20832738959ca13abb56901cf5f718d7d4046ca13d600b6c5d SHA512 c821fab5da52e50e95253d4aff61292b5155c736df75b27095c8ea40d6893cc2786dd148db71f68e1b0635eb740cbba6de0cbee01b5e4a603ce61a7abc3fbc28 +DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz 230915544 BLAKE2B 74d5bc710e370775a7b83232dae5442d251e6c02516dec8ef3bbf33f81cd877448f66b760f27705bdaf9c9637bd43f2c38502c5186c6582c4bc541e2c2c1d1a2 SHA512 1f82a50445e08eff5101c6c2a4b4d03d288bd6d8331ce2e36a2a8c826a93a1267c333b14bac84e6b943c9fe1ade6706e793dbed8ca158f184c3f74b3f116e0d8 +DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5287810a0750010ca193a713591fe95bf7ff9f706116caceba0d44763d9263b6e783defa1b9de543cecab36521168f78ed4166d13ac2638e1c18b317ed29531d SHA512 f3b4a607cc1d07bce086073caf3245335c0b03a9847922dac36491b5c3d7f6cf2b156bdc8cc0cf99c513057928a7931a82ccab077cfdd2620e0a77426b88a1c8 +DIST rust-1.82.0-r102-mips-unknown-linux-gnu.tar.xz 75945532 BLAKE2B ac2cfca6177d445e5b569a96cc9f6107d76d4f88008036ce74a46ccbaf6b43d13df685ded80236ed099fae01a093551c954c7a59c7d1c46082f69589739662c1 SHA512 6a29118d05c7834aaa9de5bdb103edcc4a09a7acb423040d501db4c2f79ecb5a2af35d5c04f2589561f6792ad77c6aecbba9776b7d0d3f91c631b1865b5da9cf +DIST rust-1.82.0-r102-mips64-unknown-linux-gnuabi64.tar.xz 75619292 BLAKE2B c9376df707b9a1b4cec6a9b456c7c4f82c1babf1193bffb71ed45f7a59eed8372e61b1638c28d68ef86f01940c8ee8f3b9ffe9a38110846133c7b76d00c890d1 SHA512 759aafe631d8afbe4560a96b96602a2a12bf2f0e6382fb0ec36a6d466130b8352bb27152fb843d3a0aee84d7e8a87ebe42be9f77687816d6d9f00585679b3ac2 +DIST rust-1.82.0-r102-mips64el-unknown-linux-gnuabi64.tar.xz 77229084 BLAKE2B 9ae826a05192371fd1042af4dedb2e1034b4baae54803209a46d378c606baa0600d5a47fcb9b3572a38303830934820fe0c251691aa411c24133fa887493c86a SHA512 b5496de43cd80e29794491684f9f18a9b20e6fb776a2a86f191ef86905f281d96388a25aa424d31f361763b80c2582b3dd89767d5d653dac5115a5b1c70d4d38 +DIST rust-1.82.0-r102-mipsel-unknown-linux-gnu.tar.xz 77620820 BLAKE2B dd9311c53e5ea2e910bc20bc0c58c86b3f3e9971f5e290e68db2c9371ea62a9e8f992e0e45bc40af38b25f40f0168c280ea71044abc5281e8e9be7bba61569e3 SHA512 54e27887d8c280872d6beb0e7dfda0cfa978105241fa5599ef92c5bdf2f1e12cb39ec10a7f1ca4ef60b617af9739e8f8c14ba75453ff6ea17cc82fcde7f7e098 +DIST rust-1.82.0-r102-powerpc64-unknown-linux-musl.tar.xz 78493856 BLAKE2B 4ec6ac6c649ebcbd6fef3aeddff744833a297d457163b9a0a5ce21bb4223d9614530280603028137a8998a99a0ca8b44c67110c0f6b40df342279cebba62b47b SHA512 3c7345ef3127e5d093ce5e1e722c7f51b5ec1e3fd269e1a71ab34926f26b623cf0afdcd1fbb04b773dd1c00207da307b840cd25f53f38bff3ffc969420558313 +DIST rust-1.82.0-r102-powerpc64le-unknown-linux-musl.tar.xz 80786464 BLAKE2B 49de93234d90935c13faa1fc6cda78b48ce869207361a1c02a9715dc56a3c44e7a0854d1b7b524d32d4f020f7d90f97e602130a8d50e758da7f0f204862bd056 SHA512 42ba3d2e80e057f068ddc0d6d3e98afb6f448be1491c50111aee0140e0ecac977f81fb8bea5471328421ead3346f3cad3225cb568cc40519c14d63410e50b0c5 +DIST rust-1.82.0-r102-riscv64gc-unknown-linux-musl.tar.xz 82227072 BLAKE2B edbf2d8e9d354c17adac951a594c3eee10363f90ec06940801d1f097116abefa0f211b73391333878b366c98dfd03cce468a46547a68048daff77d19882abe70 SHA512 7de5fba216655d1bd6d4bdc9f0246d77247bc4839a580acea814a9bf6219a47602ed864febd064da4dce3cf051aec4fd1d15289f90b1f2638defb0e8a2a5e35e +DIST rust-1.82.0-r102-sparc64-unknown-linux-gnu.tar.xz 73900436 BLAKE2B 19bcf8702279e4ac923cca095d8ea1b267ac9aaca3f5f0921a9f96b387f64886722afeb1eca2400d163cf61509fe01b824f4271accf99ec5110e7b15bcd13a06 SHA512 02d479f0a8e9ace652a166e458b193228ecee25eca5215dd3a084ea3c350d2e848f9c351645ed4408f2eaf2846b3faba4b39d5d3a65b1926e79846d6f4996e6a +DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz 217304308 BLAKE2B bc2a2af8119892842d188db23576f3952243f3a798e23f22d07444063a997223d11a23b1c256a665fd04aa608083d4f26a97c72c4ac36cedcd99a6ca157140a9 SHA512 9ba01e196be7ce7c62fc7c2ee9041e2cb30553f376eb6b3dce97121cc6052632f8867869383edfb02b47ce848d19a137b19787454eb424bd69c7749d10282731 +DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e41f6fcf79b8f017e60a0c3383f2619b857a1e9c74e45b3978a5e54de3804e2873a1a3a511bfdcd7b7bafc95de692ae2a02abe54153c97188e8a663f95c03967 SHA512 c99d3aa7c94c3a8e170f6eba054382d39ba35d4f83e5d1c550efa97b72060a198167da984ad301b304d0fe2f5145655498986571df27c102df25620db2e80ee6 +DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz 219317068 BLAKE2B fbad24615d53a5d3ff9761f976d43aa969b208bde2ae87857c7389a97252de00df5f54bcd9b06c53c38ac3a6a49e1a47a06de3788c9a7693e937b3e12864c671 SHA512 1fa0cae2d2c857955c4fe981bf042cc20062b8c1805c2839a37825f2f914858ce7915f706a73a851d90cbb5de7446deafadfbe6d68ba01c0a03e2687d5dfd06e +DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 577b5759c302865372cbb882bce2160036a3d30cdd3852e7893f35a0c798e0292becf04ea8243f2c2fdc571cbe62693b2ead64635d8d15e943a72fab09dbb6bb SHA512 cf1e235feb153cc305af741f3fe3d23e90aed9b586cecfdbca94289a9673dcd844d471cb63d9222634a387b08919d8b9b48d30c9538ab4ffc4fcdbba00382b85 +DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz 178075016 BLAKE2B 799dba2583b40f8b43cbc1370d32fddbd6c65787b601a5fa60eb3ae4113057a6c1bfb8f54046fb5c004d7e200d47a42f5bb1cca8382d7536b4b02462d1f00f6d SHA512 63f0b35fbbfef024ce2901aef4c924858f50246d682e4d11f93154f33267662319b043003a48fc9fe0631dd8385a6a4172399ad0257167b148ced4ac5eb62494 +DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0506992a71455ce0d4f76d4e6af6ef687ad772e75f9b251b4ecd1b6482b2abf0f7b32267795d7d87bba07d7f38e1612c0281c87ba0d07156c90e44175ab3a11c SHA512 59c56ceefc1228cff372cc4f3ae40e04da58f90abd6647fe4b0a11e760c21902f58dbafbb48e7ad868ecb26b162ec3641587ff8b5366c16cdd6e28f4f457390b +DIST rust-1.82.0-x86_64-unknown-linux-musl.tar.xz 258823060 BLAKE2B 71e284a1a62944677792a8f9b9c78eb1750afea218f9846859de52dfe24a98c467a8d1787a0d5d72f761c36ba20f4000e1ed193e11db28d7ca3ccccbeac51f0b SHA512 eac9e504c3dc230a3923cbfab01d4ce3d5639f7c8213d8c8c3e007fa6045e1f56a4f5e6ddbe2e6259fbbac2a3944e8b351d270d4f8ce20aa8e4843a7572e8931 +DIST rust-1.82.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b96af58187ab367c80c75f3f529e18a4288a5b468c8fb3f61d46fcd69c6fec118db361cf480cfea84c2eb7d3e5a94d2dbee6c5d4291fc0b896073344bc5464ff SHA512 40a95d2b0eb27e9f7340a8a30efd59ee8fc2a310f195978238cc25a38c48db7229fad25bd82433481699e57ba409a84aca0258052c520c94ef6c1687c6b2ac23 +DIST rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz 237502772 BLAKE2B 781f87532f51b7d0fcef09dce5731bab309ff9510371b17da0e389db85962795a180807047b5989a880c5c47fa2ec704e00d240ac7c06a3e0fbed9c4f640e6ba SHA512 8baf5ee185ce0316b108cf9605501a32ceec65a8e00e3b2628d9b535d019c78a4d87fa2c7205a68fb0411f2cd41198320077056d8353d01f5027bdff1b9af950 +DIST rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ff43e0f6d14819222a7e1d67e5a33cadf154554601ab30054b2c7603ef60ee0bc3e1a72f427885a6274567b55fcd23932b5bfe50ca43042a35ffdc2484f67ba3 SHA512 cb9a6b100458399e8257ca01da9073ea1d6a4bd3b1a4cc3d571555b91febd64024a2367a404ec6e2fe0a8264cbfef20ea603372e95745ae578fc1c10727983d5 +DIST rust-1.83.0-aarch64-unknown-linux-musl.tar.xz 214511416 BLAKE2B 3b03b27f6849f0796f9a7bb34c9efc782cd40c38df33635c786cd7b19387c1e9fe22a00600f0c6418b3471cce2e2af37db94b217c64c1efa7c07ee5802bfd648 SHA512 9216e2f7e50bb218c11b1d82cc882eaa2a3c6e32e48a639f0f0a345a9afca5666fe952eac9230f4e7e7dc1d16a3cd4bf348a6edc3197ba778cd2895e58f4b1f3 +DIST rust-1.83.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 844db797957123f0daf3123baa220416ceeb30e9b1b37534526288031967e3c1d19638869eb25a76ca26c14ffbb3294488c16b76230ee1fbd4d43e9c2345f8a2 SHA512 961a543d4213710811b916efa984195f35651fad941104beb7419bf7e29828f1b2ca8a4eb81cd7fc49abd7f3a4c589d6994b97281ec54b42348ee26e07be05af +DIST rust-1.83.0-arm-unknown-linux-gnueabi.tar.xz 199733456 BLAKE2B a3415ae0b6ffccfa695df3de1f8b8f0220619e9e7b76ea8a0bade9c4aaded5c8a2926ebb5f9228f2473ccd086448c05ce0ec330b4da8a6a2a51e23832ccd16da SHA512 5c8aefc5c0863401954caa09f6fe32219826a72e42ae4155ec7c2c47c1ce9ae6fdc3bef8688e3aee279af84fa8ebf2b6ccbb811fb9c2810e6e88fdd9835538c0 +DIST rust-1.83.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B a168a11beaad14e0785c76a813ec225b68d76a35aa94a3e1dc377eedc29130e36d055fa222241d40e680b0d50239a3c9d4bc1826a8c96e6479112f366373bbe5 SHA512 9601272b4c781dfd1c1b1f69f086c313b76d67c20d24dd6165af72e20c70710de2d9f6190226d71adcc99745fd5115d7201d7f81fe8a6191bc648fc5d858f40d +DIST rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz 199899940 BLAKE2B c6b52ce2469ab65fcd34089bee685f1a5c6c459b9efd5ef7ef91b114e22d81298a2950fbf5464c90a66cf29f3034b5a62f384dc3e03ead99b050f14d29dd6b6b SHA512 5b9bcf769fa2753c840e1ff2c164cee4a002349865aa8a46522d9695d10a50bbe48726cdf7e77d99a739e608adbd3c88320a77a208d4c27a673aee807703424b +DIST rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 1bafb37031c8ff107de0006c6f139f1edad253589f5622daff57b0a0d112100574d00af3a99247b293cd07f75b433e39d6a8fdb9a8b74d30a153da06da36714d SHA512 517e2ae4ac0c06948fd9e265734003208b48dd8da95897fc170eb17f634fab7e7c5ab89acae005e109cf7fac08441210fb799155a59b8e6fb4b4dc0c1693f4e6 +DIST rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz 205652804 BLAKE2B 76e29223c7b2dc2e5f0def1d3d40f84786fea90a5982b8fe00536a07092047546b20b523fe41d4a90043c9a391978859addce11ee8f85c8c6e0e8b1e45d33a4e SHA512 9c50ff3ec249f660c1635e3646c198a186aa3c22bffd3c5475796922fe252c44a6cebb2c4b36b4133c93938c7f960186b1c2ff048624249018aeba385b434286 +DIST rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f59ab3d5eb9c8c45a1bf9d27b7177c0e1f2bb3a22fccbe06932044414d2adb795035fac18e6909e42f0a5f19ed8faf2ac6febd2f861bb4c95b7bda766a02f478 SHA512 a9f845e120a8c6efceef7917117811d56da2b6828d7255aad5204cb8e470f79bfce958b4222d1a8a7f6d79fab2d059bb6876ed184e5495d1435eddc18296a2b2 +DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz 233693080 BLAKE2B 16a77a02a2a4f337c1fbece019e56f09619623ea3b063529824365f68ac0386a84b5abbe2a2f945b0a820391172b67494c849e3689cf7719ba51a88f1f4db00c SHA512 daec4592507b5ab28185bfb77e41c64110220211c464ca778ce846d5fae6085b129ae9d6d8db4bb7ad586d81dda07c9fae3606cec081dc8bcbe1f6d873b02882 +DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 96b38ba9f35d825723b04395f2d6dae8b652c8c2604d724183c328432a991c9cfe9efe35bdb7a8cb32ce74b29be953cf71f782a369a975272f1a1b311bda74a6 SHA512 875298edf8769158e89b7e2c7fc939dab1e738021b8bfecb9bb1a7b287ff0bd87bf49e1784c567f7c63d7149b8348a06b9222d1071980d3128fe826c42549e2a +DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz 230967340 BLAKE2B b1356c331f85ca97717dcaab94aded8f20c577bf61051583e03b8530127e5cd3688f92ff920a6b2083d3d59b7d9faeea2a2de4382cf49766a74a71fe76214bd5 SHA512 68ed82264a89c8bed255ecf1b92279c8de1446186223f1d44c16eab263749de06cf1e8e07720f1326abe4663006ee636089db788124f3f0c7c9adabd3f2a68aa +DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7aaae04be9c09c8775ce6713f172f3523a7b008c921c68f1cd751f0bfea8144ac2bfb454fa1fa0d5e8486e62839737ad08d3381acaed633dc62c67abea65cd9c SHA512 b55652804fe3e5a574bd84fcf099e5ae733f211c87c5f3352660839f5ad2c29efbc02e553971734bcb6e7cd6f389bc875bfc92043c68339d8eaac797b1b6742e +DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz 222744280 BLAKE2B e32f9066394634d5855395d202256ba67c58d55bbc675bd440ac4d051260e7d2d237d0f8c35d3ef02f33512279aa3298c1993b2084b27fa017e18f1debd1b15a SHA512 ef67f29075d4248361885d0860d3040797d6a7a941e99ad49d6249e78fec00e306153fc28bf907a0cb4c58ecac73d92c4d8287b56132469eeeb18983ee84f01a +DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 16cce0091bc65719fc410e4b76fe3bdf4b3774402d300b72f46dbf1de55ef6ae29adbe0fa2c66aea119536b9446a0eeb70789cc9db2a36b64ba8cbdaae707f16 SHA512 cf94525aa6a868d1825d5fcaadc82190a6866a107aeee8884b7fb56b5ac427436be91737cfcaa0d5f7a44f21833127ff028e9247f8626f38a98e40282feb63f9 +DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz 218928260 BLAKE2B cdb8b3e0eb20df2ad4415a991c535c4db36fcfd45364adc415c870acfd5c61953d5b95c173213fb6c420a354adaccce2afc60d63c5afa21c77ecbcfecb99245b SHA512 0b39efed4cd9f5d176d81be196948697b72686cec907a075fac8d052197838f0ab536fd995952b56f58ad45bf2a5d89ba46bbd97cc2bf9b166658b508a959c11 +DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bd67bf4a611f731cb950240811504262d666656a891ee25f61dd12090e6176527c5d68a83c9fba7613e6523397aee4dc5aeb97706f80120e1b66738cd9ca1451 SHA512 fbe15871b6bca6fa89cb47df24e5621046e6ee5b5e008c2a738093c85d8130abee507eeaab5cb83af27dd079094fd6dd6a9597b6eb712eaa00e7f0b8c85aaae8 +DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz 231986816 BLAKE2B daf72e5a6382ec93d7222b624ebc8c2f27d4b4a0448ad227615f4f7c9e8d87b2d2a7c182d6f0f61a20b4f737e5f70467a0c2b6024eeeeb248cbfb37d655841f7 SHA512 6735080308340072dc3f258b755889c7a9f6e79b85c46e38de074823b6814289b1f9862a1ac69d3027386560ffe3c2eab339438a536e717f7b099f0de75b6b64 +DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c88fadadd58fb4e2c63f10f01b1b3b719e1917f5c1217b5a858bf347483f0b71016107045f34916fa53e493b47532a94148c4fe95db6ec23222e8e6f70dd98f SHA512 da5e64c245bc962447384db3876f3d3724ebddacddf35b7fa47e2e7b408ffaaffe303549fba9c07af8a6974ba32da823989d1929068e0eb5c781881511012a6f +DIST rust-1.83.0-r2-mips-unknown-linux-gnu.tar.xz 72983684 BLAKE2B 5594646a37808d7e1549c7d4b94afda6e8ecae49168f9de262f0ce3000f96a2383a738c4a2afc6a767ba8df0a96e8b7a7abbc251d4b9998c3311684ecb195abb SHA512 36a10dc6e3c138e02cc2a6c07d5dbb15a91239a6a08e2232721d44b6985692acceb69858792d0597c6854b0ad00a92886bdae3c1bf3ed40c9534c7db6d19ad80 +DIST rust-1.83.0-r2-mips64-unknown-linux-gnuabi64.tar.xz 72710016 BLAKE2B 0c078a93d19120be58857349ff8349f49909174e8b4a9753dee859208fbb50c311a1fdbfab8f7226d9c9e1587d26db0afc2386ee33d234003d9221698379be45 SHA512 6a7ff1647f791bd4b93dcfdb37bbf1c184d45ea99bbb05106eb94540a3bcd361ed82336a9022278eede425331a5d813483b98fe49bcde7c6e4f5753f1df7f3ea +DIST rust-1.83.0-r2-mips64el-unknown-linux-gnuabi64.tar.xz 74143428 BLAKE2B a07103a332aa499d7c04647b36bc53bef7cc4ff32baaba6377a2b0ef698616be7f7bf69d08e17732a54e4ffbfdc3882374c62368349d9bfbc5b56a13adfc2c72 SHA512 f2b0f0241d2d71998d48f96868e33d8ecc112ee2f2a4831ea12b20817733d2f8c9c970741e40d69d2049d4034bcba49867eca09fcc6803f0a119d891f7fb6da1 +DIST rust-1.83.0-r2-mipsel-unknown-linux-gnu.tar.xz 74601216 BLAKE2B 6c571feae459eaed7d2e6f4255602bffe2c280f17c250a2245452bb76cd04dfd8c59e57c83553382deea2da278d3559c1b11b93ea82c167383bbdfea47d357e2 SHA512 6c450eea8076481d6b84adea87e1fec50f46a96c0d7cb7360753f07fcc5f6a9e3eab5ca84c3b95b899ed8a41ccb45948096f1dca376347a619ae00b76b2be100 +DIST rust-1.83.0-r2-powerpc64-unknown-linux-musl.tar.xz 75476800 BLAKE2B 35514974b5085ae00ff6745bd10cf9cdf571b18c6616508310ec8a9bbe37cd9ed0a432f3a954f0d68c102d63dfdb42be336845b8fca5fc2ec8b890edb2d22328 SHA512 9fec95767d39bf05d372c5eb4fcd55bb5f2c8b7aaadfa4e7c50dcab2291360286a2cd82b3c98413f79eac2dadc3ece0dd952b7a7a1aa782e9bc82edc4f5ffc4b +DIST rust-1.83.0-r2-powerpc64le-unknown-linux-musl.tar.xz 77797252 BLAKE2B 04502e1d3bb5694613b3fa5154b11020ded2e8989831bb57a329346d7d89bb2847fd228427cfade8d4a446b389021060f19d574303993d4081b6d74993d7dd22 SHA512 0e194fa74a7ed86c7486732e743fb8bb3b9b182f8711da0cd346dbe809dabe73c692e323685ce08868b2ac0f897fdd2b82134e5c452a7486d1a4e813f6ab0241 +DIST rust-1.83.0-r2-riscv64gc-unknown-linux-musl.tar.xz 78940572 BLAKE2B 8afb9b4c86b63c0c032cac0271e680cbb26e3aeca3c0424eef9c98e5cddc36ba12f401a90b55ed43294a496092fa00c1c0ed64660d307fa44d49a0f21a58799f SHA512 4900ed3f5192379fea443ff5b1c324af7f8dc2f5677fe8d13d18e283db56f48aac4e7e69c36ba4cd34580c83b333d998fbb79c7924bcb210dd8fb703812af085 +DIST rust-1.83.0-r2-sparc64-unknown-linux-gnu.tar.xz 70733240 BLAKE2B 731f040cfc2e8e34a6fb27a751cf20bec70e29a22b8c2a96c382a06583916f08c250dd8a6c593a6c2097128b33ff60b6e47e8efe5fb1a8b9bce65e68fe0a4d56 SHA512 2157b0a29df123126d711f91d7b09a2a48befbc5f76780f7420136d5fe7d6a8d53c0222a45e5f542c0d712df2e497245c4884962135b1aafbc9e4e1d5979bf2e +DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz 218315040 BLAKE2B 91139066f3ac6a652db13985a225547eed242a6efaab0021bcf78b31e9e98fbedcdfe932110fa4c918f5eb3d8336b9b41a15dc2fcd316561d56e5bf205dd1567 SHA512 9bc1b82aff2e2447cb16680a8125378e33b7ceff4fdae7855bd7a79437f2df5b3989e82ffd68f157d50144018a74e6cc2053bda21de31d2c694aef29bf4e8bfc +DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e51ec506c4897e5e57cc94bfd3ba15d64e678a67b50acf48b8c69a5b95223006451d543275fc5291bb69369bead17a01d4934cda5b4744adfae2423200a002d0 SHA512 2d705740d928d49bd0eafe26cccf997f81c1f7ddd72bf6c4a4abe89e1984dca8e1b57af4b997939df355dea19abea2f45d430edafe88e7bb207abc0dc8d8ce3d +DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz 221194604 BLAKE2B 5d625e48296c171fe6da8ec70fa4daaf1632f6b63404d30ca0e908d63fcac3abc39f6fd9762d3670aa94f9a2587202d1b66f9751fd04e5e99f00caf8748243d6 SHA512 3aece2baaf66134ca339f3a9239c92ab7969c064eb35ede5dd61a3c2eca5eee4053b581edaab0acd6ba60cb7600b47902697e71c41873357fd53dbbe5c867d8b +DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bf07a1e0454e46e030918a44bfb04e54bc49266951ee7d88f13f7a66da7fba0b4d65022248fba1e51248a69e1a1975246f81cdecd56cbedb6ecb69e54eabe39f SHA512 6412d9b17f2c1d63c7b2c44a38dbde01670dd96bced6384b826abea8402608f239acb6eaac273f9a02b7f593b58e84ac0cebc854d2213350a000be139cbc5a47 +DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz 180329116 BLAKE2B e2c661061e21c3ea6a75c0c9f43d0558405fe4f16f75d763f5a80c1d0c4d7cacd7bd7136e625872f9c22455439ee070ed9f84d661b9cb2d74b0f436153a34ffa SHA512 d4e05dc817f1fcde4b46b82300a95d79f7d908e804534b223a396ff27b19f195fcdebdc933204fab3e0a45202e394722fdfb217ecbb1c1332394e97200ffe089 +DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1453c9047b590358731d4ea9e8d6dab0da1ea937fd9b9f6ee2137459d0a426df6333a9dc53dff65f6c82a17b93a98efc5dea33f9218145070a7605baffebc1da SHA512 f6a3636611d0bb5cb41989547388901bed0dbe54fe3d99d94391bc815718a85af52d0110747c3d7f1b6a455ebaa221b74c2c9fe11403b147325b6ec0c4bf46ef +DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz 260755616 BLAKE2B 0a61fad7f03645a9b4032fe4ca910663f0406a64a42cd113a09019199e6deceefce2a450ca14bc47745db08a9fe8970897fd01c2121f9b6bcb20b23652ada5de SHA512 2e219eec7b28a60e9bd160972042316460d91fe60f755c625bee30724059f4f9c4a29d567bea54718f9b8d739cc1c81cb4dedff0c868270861c866452d5cf8a3 +DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f87ab0bb59b5e4fa9078bb973845bf606c61faf2c728db6cc3e9a61907fc2d1c9ea3ede7ec55c3388c53b0ff06ffcbbb89f63b585c36b5bff7637acc8b8f3336 SHA512 20740272925662be9178c9c87f8184c4d0a355051fa85fd8459563bd23bde798b01d53c823726d0788f6311a4f3c7f3c8bb8a2bf4f470c8d3b7d1303090a78ad +DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz 241841868 BLAKE2B 814ce6b3e7ee391fe93bdd8164a7c29c49e146eff2356c165a7cf14125c91188c8c3c89c3ccc8bcb006f1e30d3123b7332293d084b1888d11e47cfb105faa0c8 SHA512 a3b394dbe6e8a149c6d6bd18789f1b3393128c8add67c18788198d7c12c7e8a2b7d818424c6ec465d89e7423f39949258eb9c933aaaa946449540d2f8c458c86 +DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a83bd4fd2a71a9f080563427fd23bf9cb781f2728f04464a6aa44d38dec5d807eaa5b3ee3b232e58b2ed27d0185cdb546d8b2d0c8c2dc1da43cb001c5be540f9 SHA512 71fd88b65a74b2c83a8eaeb5bea37feb60339b18200a2eeba471a74ce844386a296ade9bff1c6c6413f32493fa7b1057e3a3740920ca1207bea4c02d7421b7cf +DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz 219144116 BLAKE2B fae31bdcaa7b7839a5e071adbe24d507c4b39ed52b413219941057fff6d8416ea68e957606b658919fdbf9cb4d1b26f01692bb01e9f967147457717a30041cc9 SHA512 89ac6b14c23958c4df2e924d78093d5c652a910ace7b9166756e6d36bc215bca301d4e3b61f54c6128cb0d4a01d6941908e5b51fd1718ad81b3c495aaa64e6a2 +DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c64496baff24d7c2a83a5884e58de952114a1cbe4e9605c837576cd09b496d9af90dad5d70685cc01340b060c31ef05fcd02f95295ce9bf16fa4dee4b86687e8 SHA512 ce2b30bbf217d039cf5824c3cfb084a467547698049e6c088b27af17af95f312d434119aac7cb9a9333fbb19654cdb2466f4686c14d42f6b6e50dcf235f5a57a +DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz 203482932 BLAKE2B 409cf02ab8977b80f4fefdfaebd6f5de75182682737ffc2df8fbbb35a8d925b4b7d77867c210f206f4e3db19db5cc295e20ca24223ac55f98926a2b62564f202 SHA512 57cc5de6b72e7db5ab5051118f1e4a6a59f29256b85f9e661d7fd91e93fd961cc690a87ecebce6e39696ce7ed0e124e5fa65c6d591f31cc56d3c691c42c0528f +DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c61e1c691426c5ec80b2b1b8a7dd63968a3a5e8421a12ac1507bf54ffe0229b8b2a8a386694e6b731a47844b6c1882eba188ae39c6eda0f79bae21891cf6f747 SHA512 3bb76c15085f4292d7bb10382df18da44c29bce03db486da22ada9eeadec5561bbf00809a8b37c4d389552c257e947f60b368502687fa7ff2d0aefdf2f51a924 +DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz 203947296 BLAKE2B 12a6e18912f5c9819c76503d82490a5dd85037e5aff6bf7eb121ad433819ba0a717301102c720b8f22e43cf254c9e9974645b80cee0eb5605906d1505ca501b1 SHA512 4695723ebc0cf4d2db822593e85681faeb3968a8e86d81a7c7708fbfb328cc7c9c65534f483266b6f1358ed40e343dd9b6b35375833abd7e15a375efe01609b5 +DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2585ace544427a8539e292f78b399e1b4c3488e78922ca6335ecd857ade7b589b11c80ce1a80fab957fb5f301118745efb3ae37e43ba69407c58db5e0e8a6ed5 SHA512 d5e4ae979aa35b3d734c6397e7d1745e5d80620743eb2dc3c96ef13d31aa44db6f32088b89063f5c2f9af7f296fbfcba4f7ed277e95cc632d702cb352b1ce768 +DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz 209524676 BLAKE2B 3056c0415fa4aa71cca11f573de504eb06b350c3fa43bf17aed802e4db94f66ad38afcb9b7f8d2f8ba5665ed38e94f48a377f0194b0661d534340b5e1bdacfbf SHA512 de268b97f1b30198ad6065a4ea10fa3e6aa366f852c42413eb3c3efed971dda1e0dcb112958f56824265f8f4d205a09521ef200c3b362056f2fdca07c5558304 +DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ba8e7bf6831f78f31bb3590b87807a0fa44ceadae19e93cf76ede44d724e27c97cb27aa82f8cc9567da3f079fcea731965ef0966ddf1f93d03146d1f483cbfad SHA512 242055a1fe7232e6301633bbc81a15a649e9713c9bbd655ccce72ecedfd2e1b1f0d78de98842c2a8e40d42e760c4c040403521eabcea63be822caa54811bb7be +DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz 235927300 BLAKE2B f0825b84374556291893d644178f09cbe58e41fbe2742474b7c6d47f9ac379d5566d92a59fdbaa336765ea9aa0112027fb1f1c80758b4b03a38091cff7d0fa0c SHA512 9dbbf55dc04e6071ff597c75e194676c4d15bffcbec559c7a7622ce19c4300ecd460c5712ecebe4a4419cd1b0206cd18ab4596a8d9963f7aa0432eda5234d7c8 +DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9b8d092db5f894f563bbfb45666430f231ccdebcf05a811c3546be167d851a84891122c29ba3bceb6a2bf71e87817a29d703a40cad4f8fcdf3968d391347578a SHA512 51595e120a71958ed6551ff102f7891cdf3d9a6b9adaa990525b82ec75eb1c0266dce6350775139052a27d787612596cf083e9b0c3b9e7de5db8eb65a2546c59 +DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz 234981212 BLAKE2B 1e6616834440eac754ad0725ce88ec7d83e6804bf084bb2ab1c2adff1fbbbb0861780ebf57116f4fa38ad67667b89d0d7e9ca7184f0c0ee65f7b23886652ee10 SHA512 47671edf5c751bffcf87ab3a76cdb1233eb64c3d6815825ff0130bbb8956e6bc452bd75395bf8f44abd7b78c23db8d9f0047b6538a4f9c12d729d25ba43d038f +DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4cb2035ed10a735a688b2b80975aa16b2a311c9ccf5c8b6ec63af4dbe30e06713621c119721cde6e44d504133343ea2aa5158dc6bbb6253aa330894161559374 SHA512 ec74e916f9479ab046f0d997f4eee99b1c23028a3aa207fa7be71762ce7cf428af53a6d172714653fb30e5d6d8d42936cc7fe3d9c7f3a33262703d15fc9baffb +DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz 226162544 BLAKE2B e1bb743b29f8dffed0e5b7f83da5ec58b4977dbb7621eb1a66f7d42dc9e588eecbd51013d2bca3dd24e679ec1f57bd8d1b9d5bd44fb155b8757b75c61f2649e1 SHA512 d09d52c64c097f9e8238c64a5e69530c8e7fc72db6c48c76f5118598d0c2c1186b40b053aa78b8b1d071cc716cc50ab7d824655af777b8a76c4131edac44e813 +DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8eded34d62506f87d38ef3c503f62d5687a646aec8a0ff699d73d1b0907d0735aa7f7893d3b5ee481f069a01998182c70e10d48f664268bdec44655449825e78 SHA512 a3a5a6ae3ac2f210253c2eae61b0c0647cf5f526866e0f5c0141a07f9587cd614573bb2728186889483806a1a3ab5885c9abcca91a16dc36d042bc78239592d4 +DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz 222899356 BLAKE2B ff9b3bc680cae85485131d23fef5d04abffa69c7d4f4ad254a868707b1206bec543faf20a0be5c287c83165680da8dfbb9a0ce8c688e4f29231df2a589125450 SHA512 16440b2c604061dff6ebdb60af6697d3064ce6ec740c617968b22d8479cdb16cfb61330b2afeadbb544826c6fe90b245eba0de3956ae2924cf77ef8565defae0 +DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 67fd274e3315a21ed0b23fc8bcf013ab20b905c373785b74bada5431d0d1cc1b63e7ea3dcbfe4bd8def0861d08ce13cf769796e244437cc6beab6db95f01c6b6 SHA512 87ea6ead36d9dfddb5a71690f4d434978dcd73264c32e93ab7d3ef74f7c5835fd5e73316f1bb827c418492dd30f3a5bac752054ce1e27d99600249b64412d1c2 +DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz 235629500 BLAKE2B 32903240ada4cf2640814374c55d71e3351a0dcf413d54041117a3f6603ddd6c19033368382bbb18c5d1f278c9bb3f5d6d0ace966bb1fcad9cc9389fdd066135 SHA512 626476e551869a066600f459e7a6e9c8435f61b4018efba5b3102af72ec7508cbd4464d0b60adce5c669d34adf4315ec3529d0ebdac6d294de7c7437da264367 +DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e762822c5563db6efc128aab7ff704165dbe35cd06dda07c677ef2b94084a2ee37fdf77e8aaeaec4987de2f5bc73da9a2ab572e4e4d2b64a775a447b548e40b SHA512 113b7ef16977f24ad6acd72426ce389492aad7d8fc36bd3feeb921a21563e20c0144c3eaba3c63818556794df7904def0e83e5645cd4c766724898baca9ef208 +DIST rust-1.84.0-r1-mips-unknown-linux-gnu.tar.xz 75947332 BLAKE2B 80ffe16aa2f822e093b58990c1d2befc503148ea0a6e06a752200a412bbd4301de57d05c4b97474ecce425e3f182efd8101a60c5cad6bd47460ae2096bcce59a SHA512 b9241ba740b436945a5282d014b4fc52a66cdc2d6e20d96c344edc384154674e7f3d8c9a2de3f38d1b322d1f73b274906ad93f779603426be8945e6f3689accf +DIST rust-1.84.0-r1-mips64-unknown-linux-gnuabi64.tar.xz 75753700 BLAKE2B a34f243cccddeab3365d219c39830eff3ab25f117cf98103648605653d2028cb574264ad372aa1d31321ca1da7b8c81653fc119df8f572aa706e02c424484910 SHA512 b65036f08ca6f448cebd4d2ada9fd760f9a7830d977583e12ea800c42bfbb59fdfd5120fa6a9f9497fdc061d20703fe3d455770ad3b1cd278c440c799c0ef1c8 +DIST rust-1.84.0-r1-mips64el-unknown-linux-gnuabi64.tar.xz 77344736 BLAKE2B 4d482f5f0b9ec5b567e6a55b5fd067997b7742a733a5ce09ec121b6c5757b2adab2dc53e787260ebc2cb45a3c5ad45c0249693dbff92324ce5c27a95be6359ba SHA512 5b30df97f3d4d7cc0c3080c49c7277f875ff60ba955bba7e9e1e0296ef45f1c9c7e71728f446b66da59f8fd8a341454a95e9cb68f7ee391d5e12adf91eff6591 +DIST rust-1.84.0-r1-mipsel-unknown-linux-gnu.tar.xz 77659468 BLAKE2B d543ac0c8836d1582b3f439b44048cb13c3a7c8c9b1a5198da94d7588316668fd8e9bbad7ba924efeaf62f908c6d8ba8e910117e9188567ef9cdfc6cb4a79d86 SHA512 7866fe762670ba8a4c375247353c1395866ca1263c1fbc7094e8e2600ef60e8311a561b81d68890fe59a029e3c9ad508fad5a51402846fe5c0e5a171e281ad45 +DIST rust-1.84.0-r1-powerpc64-unknown-linux-musl.tar.xz 78546896 BLAKE2B 0aa687d9af4e4d4a869ea5bd446f96b02181a6ac6a679b93440f5c1561b31c2d900ff26a04a7b36f35d88af6afc5b347ef54bcc68405e3405c567cd62ca7ced5 SHA512 37330dab5c45c8c04b42789cb0be801df0488d913942d70ee0d325095861cf740f6df9fdcc27cb39538944a3bcc7e6b4b988c2a9e8d72aea1c2793461d3265f2 +DIST rust-1.84.0-r1-powerpc64le-unknown-linux-musl.tar.xz 80969948 BLAKE2B 72cc650959a8552d1e551d1df4c1c1dd416af9e39978f036ec1b5134d1fdff3d9fcdf58de9605f9474ee1549d9eb195299dcf28f07e2e987086b229c157b1d5e SHA512 538f2c81dda0d78f79631d631a3668869e30fa0e494692a0056319cda72d1c646f509eb7ee1fc970ad0346577d97a41568eeb98a8b15f6b6d98fbd80d2245725 +DIST rust-1.84.0-r1-riscv64gc-unknown-linux-musl.tar.xz 82863916 BLAKE2B 1ca9d7ad04cc9d095e326b7a8668f2020428e511a7ff42cc52aeac1e315f068858e5e02fa65311acbc62c80b645bf7298ba5a0eee7e8efdd97f8a5cd95a19234 SHA512 327372b80939c6936b68dca8f18f5f10827cafdb9befff64387adc901ed4566643fa3fd9009b3b2416121fd15e25e560a15aee7825bcc9d6a9b570ec01c2a9f5 +DIST rust-1.84.0-r1-sparc64-unknown-linux-gnu.tar.xz 74128656 BLAKE2B e6efe38ba9d6b222f21e909e467dc649c6584b363ad2ca31cd67707501f1e0f58a608a1554a92dcadc91d2c7c9839caf1236bfb3fca25429f485ec02f06fec21 SHA512 bfaa4e56e79d3cadc5f4d6598c06502b97c2337217dcfb6ca9025c261e98828d2ce017ec3fa675b996db18ffa183cccbd4b5e3126db0404d0ed872f0e9325900 +DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz 221099540 BLAKE2B 0941d02fed906487753188150220c7e5a957e68b40e2e33929a74c6c520d34b2547307f74738ca6728f7e68213da81c5d2b07bc8b5ab7c0048bb222cc4aa2d6d SHA512 fe57aa11719164bb3865049ac91d1739f02e098f096db77a290f55f22423a870e1e0bc19d3ae2fd0bf32e5c6c9b10d5f3884b0070c5ffcf58b5d77598653b811 +DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100cd2dc56582472c312ce4d2a161a85cd371fc42bd281b14475f4ed922a38e8b79068aad5cf66c2c489965f782733edec1f72414f4b88628e4d661fea9014 SHA512 d54d69eca7651d166fa9c52bba562ce5008d5e6fd96eab8499a8dc9dcd178f009228e1d6788a4023478b29c2e477a379c6a2cc2b5c015072d87bbe929493eaab +DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz 225691648 BLAKE2B e007b7c08998a488162721b418c9bd22dcb8ffbe450da543be285d4708ed366fc01f0bc6f668b7058e544c3df7025977454e3aa98fd98d29970be28e2a6d6438 SHA512 cafcb20513a27bfdb9d4caf0e53f929f30f40592f340ee6683294ef52c438c913381c677b6c266efe85b2980ddcddf7d2f90fd22b2482a6ea7348084e5638598 +DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 27b6afef3ca0c4df951e678469548784cbbc339772297966a449f17869ff7c47bad72c114edaca66d79dea6a63cf38755fa2c439e9283c7bb786a9c4eab02fb9 SHA512 6656f2ea30758ba23f7a1ac330695c262cea1c82d33bc64e968d8bbd5b39366e8d8e0983f6bdcbfa818225b63863fd941eeb9090d024e3d8ba254cb99f214a2e +DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz 183288052 BLAKE2B 6a9bdf25e8ebdad1e8b36feee4d152235397eb3a52351a166905f350a8fccabdc4f03f4c1e490bc81d4f403f2810b37aeee964b49f4c375a9792ca8a054c61ac SHA512 4d37691577636ecd233e4c507da4aa2c6c31f965fec29a59eb22bbc6c8d765eaf95d63fc1ffe8ba9ad309f5a0a712e60c5a94a832164bae283f06b41fecc2579 +DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ceb1130faa28ed9caf86b0c66471b04aa2663bf6188230fd96a0c0d4ff7a4255cb0e7e3e6e71d8a3de86798bd7f53ccdafe21285ae247d1f1718fbd0aa04d31 SHA512 bb782d01731f8aeb4a54555ac2163bbf625e83a17f5d8e10fa76217b345b247b4d653b5bada065fe647c8b19e1dc66316b1ebea252525fa194cb7bdc6370c59b +DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz 263170948 BLAKE2B d4e43adbcc8ab3f49306d5ae624340f7e7b0844821c74140997510ca40d4bf252ff698e1295ab8138bae237d079c1e3cff6a46f895f55fbb7ba2c93054e1648c SHA512 6cf083cc2cda4591314ba49a302aba2aec8fd036eb9a72b775d16561d0739df23a1f3b0cb44d6539a068a47730142b09aeaafa1b0756703c51b539851e59bee5 +DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9abf6ad52601fa64e807a71bb6af5a9fd8c3ecda5589ec7232ffdbd7884db67535a5845216fe7ab9133fc114fdc12caee436bc1bb78a163f94a021060459b1e6 SHA512 f9a0c7fa85668b034f0a0891ddc0b9d8f624589c8c9485421e199abc9a82dec481ef3491a4e1286fdf6c6863221e7761cada393697ff1da93716321bcbca679c +DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz 241951328 BLAKE2B 39af8e2258ee496150c12204975c44ddf8dd54f4bdd9414d774444403b9d9f997d6b0ea06c86a850ce75f8bdfb2049076b0487132d3df69fd0c36c6d290dea7c SHA512 285720f5da5eb6fc4d10c98e0d5e5961ec73fb8c99f2fdd60e7954c5fbae27f01ee1f97542af4c6181b2f8071ff0e0f4d7fb53d4019f355eedba19698af93c45 +DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b9624946128ad2d054d9f4ae3b54aa40657c4deb92a6fb44ad4f38f79ab24afa0c5a568b21ec54e62862ff7abf57102b424cc1383920f67f23be20902e1e5ab8 SHA512 23bba5bd8cf9c3ae591c6f48261b7e54be532dfcb6ffe133c6b374b831e3e00df54c89de4b6f34787dd1c5801c130b1d7b8a3168be46a97d3e412832f56c11e3 +DIST rust-1.84.1-aarch64-unknown-linux-musl.tar.xz 218987176 BLAKE2B a5ce111633f0a999754878b1ed77c5ba2fd3e3649fea2c23c85709b168bea49c110a1f04e35b67381e724c0a942837ebfce1a06f4dbe545ba2edb64943d39265 SHA512 c3d9c0c25a0a722f21cf9515ac4f9f2cdc8b37bc0c8cae2239fd9924748f92d10834a41a85672b63740a6687c0cc75be33e2aab5c982acda7cd0c0571ad89641 +DIST rust-1.84.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 7cbe4b2adf445585b3535d7590ebb8b362f5f138b3bf8d7b5b766153fa3b24dba78e41d53686693016e53abfa2e9f4dd553b61254c699c7263a37a7f9c7d8eb1 SHA512 0a1d82e92bc1b1b4997f3d60562e13aa9af578052d72c63d2f0dd4c73c8e86422882051dabaa14dcc73b15a951043a6bb8f8bcb94213a757fa373bb9b3acfea1 +DIST rust-1.84.1-arm-unknown-linux-gnueabi.tar.xz 203627060 BLAKE2B 3d6294d3d594dac9468104d5b04f087862776084d3b6f21252bab9c5f084c193cdc520e68aacf161e940efa26446183705a76c0944a7e93229a88d6bdffceb90 SHA512 18e57c4c880c88773cca087614de1a2e77c9d1977d76960fb6041fa8e89ee851ac7dd4080ac37e07afcb780186a9cf8f5f76c3c0e8eea742adacacea38d105a4 +DIST rust-1.84.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d84feab18653894552eb42aef01582eb8ab76f4ebf6c7eb9760ca6058a610cd7ee8f68990ead59293bfb568423fee3174d8b3e6d35b286b6e944af8f2a5f35a5 SHA512 7e8c9022e96b03dfc5dab4401d630f626cc0c49bd4969de060beb67ce0bb361bfb09400e91a08a00b5ddcb445dfe26db650ead495a3128bcae17776c970fb6e5 +DIST rust-1.84.1-arm-unknown-linux-gnueabihf.tar.xz 204000836 BLAKE2B c2708c8225c7acc8c5ff958ae107bb767769442f863c52f706bdb003dc4986a3a1f69ac9bd8c6024bfc76d232a938e056532314b01eb93bfe2280f3704010527 SHA512 81f308af5dbfedbcb7e77e571dace7378fc6a85a26f1a6663f932cab718742087f9ab178a45087a27e08a67bab10563c0eaf756b75b2e245ce1dc16f23886a33 +DIST rust-1.84.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ac95d48013eadc0d1b4f69396ac8f461edaaae396d1e917524d9138061c122004ce598de86bd392bd573cc50cc91038d741234355fe0051bf15ec176718f92c9 SHA512 2e3d06ddb8c6a8201580f726ce239edc687970e8d8ac5df201026de260d2893dd84e622fd35e28bdfc98f4eaa19802e7588ff90930a9fdc3daf565907e62a0b5 +DIST rust-1.84.1-armv7-unknown-linux-gnueabihf.tar.xz 209293460 BLAKE2B 847b7ceebffe51508f0c59c26f17344e8a30ecd0eec1f777af5314a96a17522c889d1803cceceeb5a1e240ca5aadcebfb626d4f83bf276aaf2a7a57a4ee303b2 SHA512 023293e977ecdfc50454a171751755c48916aeb5301bff166dbbd3835bf849bbc0f85c08b61c7411938e696e5394c8bcc6cb6bbe135dc8b899c6d0a010da92ea +DIST rust-1.84.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c9043e263fea338940d5f7f3d45de307a0595106c5ebd4ac1f9f10fbb37d937ce51e845efbde6b093f66ceba40607d632b9f23d2ea885dcf9b887eb371225e31 SHA512 076aee4f5b93ec6478bdfb9ccbe614073fe4ef0c195b60b5c70e154e429765516a522d5c4a2bdb6fa1df0110d8fad60b354791c4c65ae01c014e2a9b4580f853 +DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz 236617104 BLAKE2B e4120991b23f8a253be7e9bcebcdba2947b9d21cbedcf02e4275fe854472fc9ba6ad87946c31c5aee0e46757b41ee393d35d5f3bb1a9eebc4a50817e4bd267ea SHA512 3b4e67c34fdc906a781de545bb82cf95f90bf762592f22f262a5efefbc5726c06575cc5c3ebbf8ca8c7d45950368cadcd6f6dcc208f096d811a8bfb0ad53b6f5 +DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e18c919dccd29dc5521265db6f985ac53e9ccc2f4d7e07aadec2587e2a769acb72ee3249dbf2793679953b42e18fd957fff7ee3344b207ea1cda1e56dd4e91ab SHA512 60b34315ac9de14986d9cc05b1c40e4611ade8c568a288969d4f2d5a42cbfc930f11e7c628af9ad9707180cbbcad3c4e566f54538f8c36ff867663a25e2dbf8f +DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz 234696928 BLAKE2B 947b5e165c1763f6d24778d8eb88c4779e68e4f1b6333ebd429795c1e61bef773a33bea4450bfe16951c00e45e5e3eae2a1f80c9f127b57c08858f504d9f2e8e SHA512 edaaec4c8c260ffbb4f78c4c64fcf23573055fac6de3f545100efc266b0f41a35f4f49964c404efa7950fda1434ca061063d6d0e354b6042dd2b64f3b16fe8ea +DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f4c848f1f0f9b77c128e848b62d1f91b2b20e6ffcc4038da6556ffc59c5bd6f5d4139f8e617f5a1ebe8106e702123a69ac6d8c8be95d189cc933bd21248563fa SHA512 2bce7fff1c7370ae3af8f9ac4c75ee3d503a9bf85b605a98442a1fbe7b88a89ef194b7d1c34bb6a08d6696bc675cd220e787e05b4955b0e12f0aa62ef2545497 +DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz 225950144 BLAKE2B 036db582096a06fedf5e97467d02ddd75dd027836f38814c0fb52aea46afaf7aa769c030d572099adcf2e541df9d85ae6fbf9ad806af5a443bd2507f359ac2f9 SHA512 27cd36ef0243bdb367ddeb941654227eae2a412036f9d7dcd8d8c78651ab83bc9e5313fafdad355a155b726aba9b32731a66f88cb9ab91e30dd7abdf5803e1b2 +DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc0a161cac7ba4aaf273d3a6f130ff86beb1ca7e539b50cc948a4e4b5bb8bb857e963d4d3ce2ca4573800336791d4bb1aef9236cc3ee228500feb48b0800584 SHA512 8d77554d446a7e696d0ddba29ad4578629678c88a2ba905415e4207c608cade8da2c67b7dcbd446210dc1a4e3639f20bebef1a15a9629da95a5a1be65e4872da +DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz 222960252 BLAKE2B 56271e4c45216bdd422b5281022cc8db1b9a87475e983e1a7b43ace3937fe3f3743f6af6ff30eefaf1d16a147e273ab240b451b57108bf80112980b641ff8847 SHA512 1aa08a1cf7c3e40a6adf763306fe73197e8663ecf7d29cd266acb68ff60d7743836d7f7d9e9cd7c8f6bfaf61ed5452dbfb176b6c61181774b4fde7321e0c7941 +DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c174fb8700c97b07c6e573ca8ae2df57daa9bff308584f2855289fe7eece81ba72eefd0e01cee29a694cf3eddb25da7f492c4369e5360fee62692ae2fb2f1315 SHA512 3532057cd95219cbe7483376ceee24b3844f4148b9436bc6da0c9ec6c75a6b7e5896044d06b53d7e4b0965498693fd22238b9a7d2bc5eaaec8abb55cdae084f3 +DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz 235702728 BLAKE2B a3d113abc5eb3855e9abb4aa8428843f2ef682ae2786612370e4dfce662afd00ef665fa4325d0b270703e6a0e3fc52214e20713169c46bb1d9fe0bfb5ebd1273 SHA512 3962689137db3f59a4894b1f6b5ec87da7f96a384da0fec8d4722589b1852ba8ffd3ceb5de5f1d83f8d3d4eecdf38bb54b8b913907f13a681849e5e50ec643b3 +DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b12ca2366aa878274e24ed2d72db053d82b6b7c79b52e015841d708be8a0ff4d2950dedbd46916b0b3bca5a459b8abd674b7ace7fcd7f75d2728574f43e8a57a SHA512 1dc026ce19e375a0075df381e35921d841ad79d9be440dcc602810114d2bfad0eebd3c1cf99559fe30da599a0d3d995ff2579bb75a535c92091b0d6d579da316 +DIST rust-1.84.1-r1-mips-unknown-linux-gnu.tar.xz 75885456 BLAKE2B cb3e217ddea4a5bd0f6720fa119c5bf895e1762cec241a38421331fd61e1e6b7a6ed3f355ccfcb993412e2a7d2e6177ebbb80705314459cb117ae4a5f825fd9b SHA512 3e7de6d22ac261761889ef9b170307be14f63718e1b29028ca124409bed79774ee8505fc21126b02f73c109656efeee826c86d28469cac841af53c0ae29d1dc3 +DIST rust-1.84.1-r1-mips64-unknown-linux-gnuabi64.tar.xz 75708448 BLAKE2B 7a1fd05e33a7b1bfc10172c7dc8ae94b7ef51c8cddaa6fe14637f57edfe5616cf0d482845f8777fbd243a5f4a18aa23d79743e84bd3f288ac9579280a40e4dd2 SHA512 1d1a1b728939c5f9114ec26d559bc7e0845fb124f9929469eab748cf085e9a1a5e77ef1e9afac0e13bc54bdd07945c2dd9bc1df7532ebccd270837f3350da0bd +DIST rust-1.84.1-r1-mips64el-unknown-linux-gnuabi64.tar.xz 77288560 BLAKE2B 49161afe2beb0d41cb0acf8ac2d902c515ba4a00aaba3454f30e9bdd1852dad31336b5b8f1c13970183c5f45061485451a4677f8720fcb12ae95d35ea62a5f0f SHA512 8d14b64e15dbdf263d371eb3ba94b2a2bee8697ad41c54acc7fbb5fae0f238cf6a92ccd274896a87da6a227fc2b929b2f1ebe1f5c217700e6784639b515c4650 +DIST rust-1.84.1-r1-mipsel-unknown-linux-gnu.tar.xz 77640732 BLAKE2B e0f4ce16b345bec7faca84d0f643edb49880170c6a47390fad19b2a1cfc62b5b145dfa9b82e09e32c069734a14f959d171bdf96ae4ba31baff6d521e460d7af8 SHA512 e7423b959a2a8551842582f1559d260263cebaaad1ebb7f7818e1174f8cdbcfbfeea6dc9080825052367d73e99b428a59b5ffdf89e3b63dd9784969166202f58 +DIST rust-1.84.1-r1-powerpc64-unknown-linux-musl.tar.xz 78616944 BLAKE2B 756d3465e763bfbe2980089b9645a213bfe8e455a8de47cddc2317453d92038190fbf292908bdf319b753b36abf78771bc6b2dad15951bf5bc8452f5b57909ad SHA512 d23a95fcae389d77d2cda00b04e8902e73ed3d6edc6a6002685f527f6b529338bc61c112ddea7b4e2bb093ed94de51aba294f6f3b4a9da04a1e57939a45229ea +DIST rust-1.84.1-r1-powerpc64le-unknown-linux-musl.tar.xz 80956700 BLAKE2B 3e481a4054c59d598a063c0fb5fc40e23054dfb61a0eaf4184993288481357257ef79c1019d2797544fa642a711ee48eedfb606ede0e69fa004773f7a4399b4c SHA512 894d588d06c8633bb7cb3fb9c694013b87d711b7f955d92c0a567b64f35baa714048497929596f4a94f1301f3ce948072e55dcf6b860fbc83f1257fc0d11f9dd +DIST rust-1.84.1-r1-riscv64gc-unknown-linux-musl.tar.xz 82846388 BLAKE2B 6085c2d031de35dbe8b68536d23965ada580a9c1202a9c95cd0c3ec4df144f5e0a2a98e193452438802bf3cd3decbf8392762f6d8c80b8aebe6a04333f6be67f SHA512 06bea02d66b3f62cd56b60d6fc368c4ec720945196a392c6ff86d71293b10646feeda33d6cfbb613e514f0598182affcfe97439df5a9c4b6a4de539c5cd9525c +DIST rust-1.84.1-r1-sparc64-unknown-linux-gnu.tar.xz 74126868 BLAKE2B 11df438996a53a905aac4809b905735c28bfaec98fc54d357b923f5f4d285738cb5af957c633fc709185a029bdf52f84a7042d204257ea3601ba462aae75e213 SHA512 f205976c8d5e420eeb7c33a7624a3cbd65539a02e5947db3e7f28832f2b6923070c3728ebb4f4bf0397448becf48cc27719ce060a053d004462d2d76a93b984f +DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz 222166452 BLAKE2B 9a0835109e1343f745db303d44deacbf81e0fc8f8d1ac4724dd503a6a6c394c82da3bf677d32bc72355606bc065c69fc37a3af1740d6b4e22d3dd4b12f1bc764 SHA512 788febdfdb46e41092665b828bd53fe98eb0bc04ba750845a5308b6069364dfb71b06f18c293d42bd0f608910c294595ecba821335cbe2f5a4499e663e74db36 +DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7ccccbef2b78d73eb2526d1c33adb20b145acf3ba1db234ec88a6b512c5bb7e0236892bd3593431eaaa670c98aa44d93ccf35ade406ab4321d058f6338fe37e2 SHA512 554b2cc566a5cc366eddb6de3c62862c0a39593e5331fb1f50138f5abae521e52e397470e1c841734d29a49ab31a24c02201c0fdf42c37a75673cb29e3744b95 +DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz 225661352 BLAKE2B 1ca5afa5c46eb65acbd85925971ed8eeb2bf87aaeb1158616e5ed0f7aeac1a44e262b333a56672a56bc52730cdb0cee56c825d4c45f0ce016591b3996b07e32f SHA512 4f8e1a74a8c29243f6220b1ff4cf694f7ad8afacb5884b05ef88d7bedb05fe2b4a34b38d614e7d72b94c2a923c0c7de733c36f3d51e8dbf3bae9aadcc01d45df +DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 44d6ea57f512ec3ae7e10bf475ce50eb1d4955de64033ae2c4f715be3323ca0c308d3049f3b18f194569ab6eca47abaa205607c8efb5d99432f5bae5311581d8 SHA512 fd447b1655a7033c5b22cbf4401e52b755867ec60e5bca1fa01e9b05e730c20f9c23d6eaff2c3e71287406ad823b25eec252d41187703937b638fab15c1c49dc +DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz 182944280 BLAKE2B ad8fd7b70e8687802e79a31eb913aa5f3dec61521bb98667c250988ccf69932d36fa94d15de3219aeb7820e776a818dbfe9a16ef9cc59059a7ac2d8e8e4e92f0 SHA512 cdc3ac3f8a3fd890bf6d43cd920bb72a077c66f273077409a8dea6d8a9a1f747169aebc5f645202a422c50b1bac5c55691e57a7b46b5b24bf2f1bfe8ad7ddb13 +DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc4f3a136c7b137743792db470427a0d7823ae37a88c52b7dce35cdb72602557119fa68d01e4fec338556148dd7d760b3b95740b6e23bf45e80042d9203b50c9 SHA512 1b6e80910fc91997badc3113412b177d136495c22c02a4483e0bf221e609617ba05a30f8756ad72931fa92cd1d837ec15c579ce27bcef65629622648880a9fd5 +DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz 263174048 BLAKE2B b3ec6201d10e5044ab27954a515a27d582a5aba75bb32437d4df2037225fc13fdaed68537add5baff1f390600ebdeab451a000624cab3a0a34b178043f0007b8 SHA512 f0c40edfdfcbef8472d0cf3c1bd167b2c7d9c238147048ad9d45ac8fac7d41b1e311757974fd6478b531c6788005aa4003c22ce223b47a2ad6444df10cfe4805 +DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9424c40f72bda9334c904fea44d91ecd229c15e571bc6840831d90ce8e535cd9bfc472925baf155ced21626aa74afdc8f1d143233a24952a1bd59d84c8e56322 SHA512 0cfd282306cc4596d6c10f927277532be276e06c0ecde2e695d06159729ac4a99148b0a8db3de3ede4e81e1bd4a67be74f8e9e696f445e83d10394f1834b73e4 +DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz 241942608 BLAKE2B 2ef6ad834df56ecf2e67c98b9153474aa35531460d8968d3f1f17fbb4c1883ffc71c7aa55b6cce1980b07e45fa3a8405267d41477d230cdaf42da3aa28cf8be1 SHA512 259e091f46983170855fd7968dc7185bd91bd27e2786f054a5b6275bbdbac270b5cfffbf854ba5b2144bd200ec5d27a74044c67084fe7eda539619f2efb910f8 +DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2f1a6fff81e39a1e6c4f8812564f2700af2143b8ca8996dc1dc7039f58eb5f65b87365da4ae49761cdba7c0daa686de12925680cd2800864e986d80bb7dba60 SHA512 b69f894550b1d2b90efcab7170fdf2ab60ca3a66d726b77e486e43ed6224d8d747550e6adb3b98267428e566d491aa3136df7c072c44d80a1c36783bc6abd56c +DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz 218899980 BLAKE2B bd6368e55b92577f5a2caf7a22606042853c4ee9c78e981196e5eed3ba808d15124bed30389846ad3ad3681006ce5d6748261937d25f55f8a7bdb8ea7f5a5b90 SHA512 2bee33ecf5b59c3b800de40604bd8ebccf2319cdc8eaf9e47f1ea6bf773cb2be19ba285a19fe40384f7e875a71bff43e5303dbbefb8a90d8cd70e60b13b6eed5 +DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4d64fd7558849092846f1dd3f8a934cb34729bda8086eb4277fd796a1abbf71acee9889e8b7bc23d5bc16410b74a8d233940daafc377e169b02f56d82f791ccd SHA512 3a62980e54ecb41e6479683dc8f06905a7e942c95bc71aaf79f6fec709003400bc9fa102a7f8388fb8710324053a209a94fb0453fe496c1d3ed87b22f7d28c59 +DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz 203320248 BLAKE2B b812310e77c30c751a2a413f01d0b3166651703b14975616858d2b994f9fd7c5f2b5d3a8d45b276423094eb7646d7be2295b861c781eb379730c8c206bd17bea SHA512 0a4fca498049d49331267d2e11e717dfc2ef2e87fcadb2fb645c5c88b70383390c33b7e72a79cbe98c81fb568da00f470c616f3d8becf1259118b9f1ea9620c1 +DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 198a7e6fc724210b2216d8e5f56b5620fbba48d6258afd6e3afbbf7fd03ee338b653e57a29029933ac076a41d485d95ba64d95782ecd40597e7f177733547f70 SHA512 d77e6714ae17070834276dabc2437967febdb0f516d2785464fd24fef06b1c3383e6b014e1d0515bd8f60a192696cdf6a03df511d0bdd4ac14ec368b81d2cf5c +DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz 204317348 BLAKE2B ec8dcaa36b5e177d63286fbf9d439b7b81643ead39f67c734d8864def5610fcdebb6b72f9a9a2ee56eac3ad29aad960681d33ddf5e3fa0b617c4bf560a493646 SHA512 2eb64a306c09920d3e239062591d364d82a34f9391cb6dc7bfde1a7419efa7582722e59a204cd1b7cc36723b0f74d50b8f8e9a527910300b334596827c1c7283 +DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B cb5cdd491c659459c5c25ab30de1844e8fbc6a1b1c1ee3b0e990acea1c190ae00bcdf320b18b5c59aa81216e620f56204dabd08aa85d98cf5dec0df892b7de46 SHA512 5a0e0ff1e8340b3321ad5a5e5d837178583167153bd4b54cf3130292c324b276bb102fb2e102f16d09d59ee56dda6b725793725d6415b8b2c8c2b05677623e93 +DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz 209707420 BLAKE2B fd8edfbb889b0403a54342d9caa5a31c1e33b2e4acc818940f1c610bc3d5999e669bf95f226c6eda50e7291afac4693a1684437a9fef550b6591507d4f754bd8 SHA512 3b5bf6384de1cb53ca86debc15980eb297be7673fb27b05321bdc1711cdbfaaae0bccb9f036f15097016480eda07c300c4726b26d221b30de12bc7bbbd68ce29 +DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 453021674f3737d5b8806f7740a8b937e7a89e2bf239a438123f82b0c36be31ac1d1e689434f206cef8dee64a0c497152b40c9023a010b2d3cbd03c046b2f936 SHA512 d4872e54e67bf364f39ec88ff4a5e63dfd912d498b298bbab0773238ecdf7c6fbb5bcb8c14bb4bb93b8c7b0703e6777949306ff9fc15d376393a719a5b43fe8d +DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz 235842204 BLAKE2B 9cd592c7cd70e705b137868ec553a1bdbcf4e69912e4e493eea195d857978183d1820c07e41f0dd46f196f8ca90afbeb78f1be1e25a10c120ffb7e1c23b34197 SHA512 f3a40d5b20031f4c0af0923a5568b362279db79044f033d7633478ebfa5e422f699d35fa76cdfa63f0e9188bf620af9585237b8f10d2011b37f44259add7b8de +DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 406ed1133cb7d206dbb6c9e27b08e898464111e45bcf5060abf03580794cb7c847f9ae9d6ba80ff3b69e8593aa83313d208361ba30b2fbc1118b444de4c65775 SHA512 486a857ad3da7b47026b368d041820421745aa52c3bb2c13c853e1eefaa9a11d18914b18203262f6c1c2d8bbb881923f89884fe08202274790fc626464a6a462 +DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz 234279384 BLAKE2B 425c1fffe9aca9cf41b9233f045666afcd732cb497261bc778ab655fa4bcf0b373dd51f4e153b5d74c00c4ce27c2054b63d063738c3d5c4bb34b4cc96e0523ea SHA512 6463ed75683b9c2f23669887d45cebb8eb3f0a375fa416e2ca2e0a8aef3b1c5520ac5c410c8158db2597f869266193d18b24903c085c1d312f0da18d8ad0d8aa +DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 378beb36636925c7c8bbd49ac63548b52c758dceb4e83001757aa82e782c7e3b691dec11de0783afc4a064d2e02ef3737eb6577f28a5f44eccd927fcc056bc74 SHA512 9e0404924b419c7de3b07f245addaad6297b8f9ca3804d4d5bdebea7d40b6d207959e9fe70de92121afe9d0cb1a7ec726de64974c79a783569e7ff7a77c67850 +DIST rust-1.85.0-mips-unknown-linux-gnu.tar.xz 75862360 BLAKE2B 77b171fdf853930c1e8c3b225c05b15c3fb63ced5edad8b236adcb627a14c746052d4e59c2b5c8a49371915baaf48d5d924b151ea1c18d0aed0c62c393725e77 SHA512 e137ffca4a92e13d34e10720e09f560cc7ea4ed2a1ceb5824ee5847086654ed33f4a0be7ae4789c7d2d0bdbcf99e6f55d6bd3965c2a327b3f6e0487beab466ed +DIST rust-1.85.0-mips64-unknown-linux-gnuabi64.tar.xz 75572076 BLAKE2B 8f4952c93d74a0bc9a55519f4fbad22552d19440b47f92e742f0dbca109c243e7e5ac6b538597d18709c261c6ea29826594dac670439735de0e1cabeefbb0c8d SHA512 df7d08c006a4762499ec03b2afbde55ec9e38891313d6de455f9f88b889ca70ddccf977db78761bf7feadd7d9e6480d0033ffc050f5a9efa6ab67a8087b8e147 +DIST rust-1.85.0-mips64el-unknown-linux-gnuabi64.tar.xz 77077460 BLAKE2B 3ea75c95d344550b26449e3f30a374ad992f33d9ca38b9ff427d784cf371c94f36d1c65e230b1a51fb48ec641979aa0319eb3e7a8c4b4355ec6a9a7cefe00a38 SHA512 307f754765b8691d1edbaba7c6e80f7fefb146876cd13b3b7ec6bc9be107a6533f13d4b0300c8cb6d3bdacc49bc1f2d03c0b2af8480cfd7611620b2f829d090c +DIST rust-1.85.0-mipsel-unknown-linux-gnu.tar.xz 77505076 BLAKE2B 6f2f566fe9847007aa2aa926c6548fbfcbff1fe2694ba6e3849aff0152e81a3355eba345ece81b5e3c5cdccb24cb6568ecfdeb25a09142e4266d5052c46acb9d SHA512 352f48315cd0ed02a993b30bbc8a53acf3c9eb6b17320135fbee0413643c2da0d598668a028ffb90c7f88f61a171807c9d0454248efc62ef7fe6fa0ed0bf38cb +DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz 225995380 BLAKE2B fafd1fa46ecbd1add28199c00c91a363489c2931c1421f7a1b037a601a83831df9c5d0f04a95671ab87b1c35a54da7fabab677ede949a82f86e63f8fc5da0a62 SHA512 12299822a2e880141ed67a745c6ab29105f5167157cef9dd44ff84cb8778a46b40e2576bb47614e15801b45b13b186c1c49510465fb22bf1e4854de169d4dd83 +DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7234b0a8ba935400b48036468497f1b1112a895f6a8ca62504332f615f350702460d5cc85343e346dc036e8f457144eb3da29c9b0517977b0768096c9db012e8 SHA512 f1937b4005f621213b863d190e38197b25f32de9ed52a3530b8164ebae4dab1d98a1d1bfcf1794a345c754d2e51ebd7cb04f289e783feddbd4628048a9141388 +DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz 222816236 BLAKE2B 504e0082efb54c1b0b3810a787810a51c8c580ac16d0e1ade9f40f25d8f7b1400efceff17216194e243154b33362942644120110bad66db0ed41868c084cddb5 SHA512 3768134d99794d728fe919cab2721e2c473a75d9ade567deffdfbee968eb0b45c08ce93f3e7de6ab1fe5f140c20b3e6ce9d905a64d38d9659f2f80ca18bfee2b +DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 14286c91f2df48c3b089e6900e23d9449ba4c9ffb0b8c54c2f6c7fc8c5a9554b32aaa81ff13966bf0af5671e906f2bdb024256bcbac107429aac9a75a0aaa24d SHA512 7eda585c5b5b81a8ca7bfcfd9f7536395c1ce63509ed3f1c8533c71ba95b346f70dcef39b86409b3042fdc76ac456eab94b628011c3bd7e9b1127cb1b9210312 +DIST rust-1.85.0-powerpc64-unknown-linux-musl.tar.xz 78304100 BLAKE2B 1db726eee4c923b324dc756d6e35f9f8e9e0733daf1ede21d1f2524d8d504468575e0acc98cd891a18fca80ebb367e6857a2c28dc995270ef47ae50c0f9acf88 SHA512 bec44fb7d74174d01d13ed387665a323daf3397a48f1879f6ba55e35721a58b5c4049c7302275675e8f378fb04581ccdd25d45eec7c3cd1a6ca71b8d227b9dfc +DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz 235325072 BLAKE2B ea6b5eb1b1e9ae9fdb93473f57c44efa57841d737025f206830cce9a3bae9f7bf8d0b52c2670c3da0fc949418c9ce11d15f2f7e9de8254f78184d9fbce20ddf5 SHA512 6c30cb1eb9c03a2950ab45316676a3f9dc5f3fc47426dffdd18791462ee9acafc9961ba075503c013f80c9234283bdc9cdad5833f8d39f0dd8428ec6c511dd5d +DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1277a410aa2185d80fa3f21ecbccd6434358f44b6ab1ec69084c04145fbfbd7d7c3327bcf05541f263aad93c7df2bb0044a5772a4cbab254467ef0a7665a0b4 SHA512 427850d45fb548827a725811c39d36d5268799b2fa6f852788a81d0547c20659c2bdec5dc86c3b7b08dfe0e62276dc181541ae804dce60cde64a0cf7343355d9 +DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz 238652320 BLAKE2B 71dbeb007cb6912ef39cbfb07376fc1828442076eb752a8e4e820fcd53307658e5662c82691e7ec210ba6323b7fc600880bd33ea05230d48bef49b650d346a15 SHA512 d02316027f69c2d73d8c4b16840e9aca8725fa10057894ff63391234d027a776c5aa6017e7fc63e483b82b96315b8682e0900d6b5dc2b374eb2206265b7d9b14 +DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 3f7bada6bad051693c5cf00b268fdb464f7b196e99a17d975749cc4393399902021cb3fbe80d151297d15bff95e78e12e42765df982d8713f1c3cbd5688778dc SHA512 e9a9ae04f0072072d5cb6f39e73733f7279618a87a1391d3a5d74057c9727374622e51cde2c323f93bab0853bba3007ef542b8a3dac1c0aefe3b96a19686bb2c +DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz 222050624 BLAKE2B 79122ef27b8a45b20603f7387e413da0fb1e2211681c8837fd03a114d01b3f8964f2c149fba9c8a80e0a3dd2915a348ebf2983e9ead11d597c69ec4d0a05097e SHA512 6bc4aa613689d8e061b9a61cab038785cdb369440315912004b064b4b2bd94be9e990f8c6ea7862d7f11a74154dc4d8f7058b25d6c08cadccbc55b886764dc26 +DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a7b8934e9c87ecab26e42dc80b50ebdc1bcb72fd92ce6e37043f41ee63e4d8e04dab694ea0a392fa9ba2f505ec582d4f1725941a47e0df0c5cc6918e1c5f6a6e SHA512 ed36a3dd44abb8b37935e49210735c9efe748397af561ea7831c16dfed8c5cc14d34072a8d755a01a9817a7371656132efc08c324b157c858e8135940b69cbd4 +DIST rust-1.85.0-riscv64gc-unknown-linux-musl.tar.xz 82029208 BLAKE2B d9f64a4f869f10fd3648e029f82c41d023345871eae268752a4c132156caea3f3a0eb2c342927e7b25fba4329e11a91fb8b3f67a3226f94e6e15d26152b76529 SHA512 c26768e0e06c7367f65f2dca919426aeb3d9c35286379f8c64d6466e155c8c42149c6aaf25e08a8dc35117df280006b700dd103f82867915979fb06328065141 +DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz 224665232 BLAKE2B 8312c7be936cd2b72b0eae88768dd9743f30547371f2e4cb3b53014d62128c7b2f33541d55929056f4b5768f98a0b9bd879998386675c504a0cf620a1448751c SHA512 39066b86e6bd7353bbe14a0fc134e83581e50277834de8c9de9410c7d075f51b7ef7d8fedf8f306be4524d80d9922a79e5df33680ea414d0c0f2724984c20cc3 +DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 537f4602af42132ceb43178b2284b174e454167aba9b13b6e7617c2057a1dda63d206e684c483c3fcdb60d9fd18a1bc796f65dbdb7d98971938b50163f8eadbd SHA512 4016d04dc0f74976ec184c71b899919ffe7f1fb57037b9acfd3a48959235e0cf2ea22872dcde7d3bef63dff6e74a9a56e63f1ad424fb6ada44c1b16949f856ec +DIST rust-1.85.0-sparc64-unknown-linux-gnu.tar.xz 73889324 BLAKE2B 78bc1235716b655d32fc8c658df65fce0e8dafa0b12c250689bde721c864793d59d46d0446d1e45eb2c7b02e67c949118a485d8f2eb4c756c48f54c082dad43d SHA512 1b73f2112b85b976421ef387132384e683be00a4fc05c6b263233487521757a4051978156833a192c39fdb54b35980eca006d26d63cab37e48bd5d37b6ae730c +DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz 182464920 BLAKE2B 42169d926f43b9e883c9d2e632fc38047e6c21464b852bbaf4a1f09e2c772e24ccb2ebf73b10afe26158fbe9089c3e0fda0bfabda79a871a1f1aa2249a79eae7 SHA512 281891a1b8da021ca4c3d1d23353f2cfd138158c03f466786cc3d6730a069b51c4d70e684f22a59e838f800b00b0b3f6a04e7433123733fb6cb4c1b2f2a4307d +DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c84bfee06171633feecb2a3be2e85a9fff8941098cbe2b42c4b77b5c8d253f09a0e954fc6ac3c1073aa2999211f059ea5c20a483e5fe2c075997fe1c942b4f5 SHA512 7b4a698cfc41b23c9015e0b00d4ef377cb452992e15ae8d2faac6d1ad7dca3d59e80993be30c1d240fd2e732355d1941b348069c3da27f0a9df6dee637175967 +DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz 263244196 BLAKE2B 5e8391ab184a3ac641aef3c4e8a6a4c90ecb12fcfd1264d2dd6c1a062af96bf40c0e7940521eff5f86614b6e8b6ee9a1d6dab4240be9accd8a4316403bd46841 SHA512 18c8a3cdf4f57465417930c6dc83cb51410b4b882e80f86b959c945167e1e0c04f4b5feb3c65ef9f2f9be1f10975d8e7424a8ad4e92ca4de843d0c7c83c9dbed +DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 123423d989204841da45e388589a0c1a4fa4d9102f691686d79502288f7a6d882055497f22f3ed63229d78c22c843a802abad31089035769123618d35da915a6 SHA512 da076d70fe804ebbc02df656fc6e384b03ac2d2f0fc36fb536b877b81a81fb45b5faf1a60e5a4d7b99d6d9b873382f67a3242d6299c2e85321a2842d6ae08c55 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz 241961984 BLAKE2B 9553edf94165922470e138a62f2baead6e04aaa81384d22f5b6628462a1c5bbc2387fff5ff05a9efbb81aec5f28301f94d3c9b53899e80afc7997323dd44e089 SHA512 c846832d71d7203759749d8e3aca6c718b91b7e075e02a0a0eac71302d5ed2e23a23c611efc93c3dedec26e9e8931e819eb1d9fe757e9c7b51a6abc1cd6f0598 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0323dc2fc992e29d8619978d560c888f1873df3b403a7e2a25ab06ae5979d2eb6c42481612f9fcf0b5e435ede3735603d8c1eda733e0f3523b3bddb055d6662b SHA512 f17268a0c2b6568da4c621c23a2b43f2645a3cf2355d4eb7af22be6c6b11df23053eed35fb891f7bcaaff0400910bb7d0e7749d87b0541c401b8ece37d994c90 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz 218887600 BLAKE2B a2be264a1d7c9b78209484d175c959278a9b9596a1a917c1033d04061ffa42d3e1aac491ea02fef1d5d2c3642be72ca04c912f581a5fdcf216a9bd86b3567d3c SHA512 d391a7cb96dc34cd95b862c888d7c5fa199de6924726c3e5b82de96296e890913716083b11f9e7ecb153531b07bc98fec753be4d94cbc57f27c7bff4f31db203 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c7267af92640e3b302b4d640e1239ded358b9595d601947371663da6aa26c3c7a2ef67aaa02563d583441888f771c118fdb718cdb002fbdd95d864c3914bdd90 SHA512 2b538a1601b1cc97c95b6b582bb5edd92a4b13222469bd35d04161d4c17c9ff5e9b26d0bfd59e893bd59a07f4a81c7bc25e8d6cd66a22b9d73c5108a8fa23592 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz 203409584 BLAKE2B d696b495d48a31cb684722648ace6f4366c8b6f60a06bb7bcd5eae8ae43d700e2d52134e0c79ce8f06cfbd63edf9a732fa5e882c7d8018aa0433404816d2f241 SHA512 37496d82befcb09b4dbc08c1f8786f96d6bcddfc56cf4abf27a17942d43bd3a4ffa3290c274e8ef7f3bce973e575ebe0cb167dd8955babb1dc9d918cdf5370be +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 671a4c2f524b2d92d6a6bc680921890a283adb6885e8e71974255ac637a9409579a9c6306b39967fb4637ca5e10f2409b8079dc5489c079a718a7994ea7eb09f SHA512 f6af86317c175f32e4a754e295f67787ac9d8e53e1b5338c17481f3ce2e95a3213fe2090ab268c0d62a31d9b41e9321e975cab28c61f7e3e6baa2dfdb40322a8 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz 203645720 BLAKE2B 8dc6adc0de500d3ec04734c6517d0db29cb0a318ea6fd09a32dd01dde29f32730d851ddd37543798d649eb5384b529a6956419c32a4089ac5b41e57dbb205fdf SHA512 5d2e069bb09bc4a3039eb3d0b2a8748d7ab615feb312f612d24329dde791b88b63f577f7abe1522262145044225ccca7e7f42b6821f922972703ea6f0a06bbe2 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 7eb7dad663c6d93267387d1c23eeaed237443fadc990e0c03846441b3e42ff837d79772067abac23eb5945af05b030049486236b1895e2824779c2c6857fd9e1 SHA512 9bf603601a935b8ee099d590bf75ed7d3ff97b02491f2b003455ed700f020e915b00fb0a86324900871037a042a1fe48c063a15e419349de68bb50b054d2de64 +DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz 209642508 BLAKE2B 0c10989b96bbaabf9d3d3f3a7fc827a94f10bd64c52dd4315ea1dcb7c375a6429f5dd2270504bae87a89a7f283579cc85848c16736e520b710d00ca0e3a69dd1 SHA512 17578a5739c9725ac435a9cecac094ea33478145089b307977a2473d8192c1a82faa856c6acc456285d68a5fd36aaea7e87d8599986091633cd4ad2052b55b99 +DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 849ea0c53e4760159dd020a89c06841cb94e8bced3bf9559d3caa8fecd4cb176363f06197bbe89af9f2dcaf9d390e398d4d621dfeb3bebad60f891a8dd25ff6e SHA512 1d11e90ba660af35f3e6c151a108c46b7a2e4dfb00b89f09747b3ae04e5de57cbddc2603bac428deb2a4e259d19eab91ef1a11c5dfac06f7582253aff8e24aa9 +DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz 236420288 BLAKE2B e850782dc7712b0f33bc2c1aa4a4f9948c897d26fc21d3a3f5c82288dda6aec1ce641cc80ec05e80706616f8ba4c63d55138a0cdde3c69f5783ec459d298b0c5 SHA512 830ca4e65229c0e3aac37ec9686aded2d9e687f99f0575b2e82baaa1210a426f20c1ca0780c08e80b00f8669cc3ec34579150c6169e71620b9a6359624b91f16 +DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4bb60878bb7c2d01a9abf974b3153237bb5f193b826b048fa94efdf77f9c2d300c58d2faa8b154347d2483edf6a6a8a207b9b58a7aefaaf6e7ce0486fac8b039 SHA512 7b73d0974d0d1ef0f03a77e1eb18fd3dc49b1a46dfcfc787b97e6e85e467610f1cf248d552e6e2a2a2e018e451cb7b68b29492d4955e53258b4a0d83f06d536b +DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz 234064868 BLAKE2B 7f79933f9bfc1423a0380264569717ae24de9a61a00d32e98eecf208a19dc972c45a75622d8e7beca4378f844d70e290a8367a4b7d6ac20a93852281cf88e359 SHA512 b3cde10427f8b86997a9a59c1a20629c2e26c7e02315a30c23ecc67dbc12a08bf65ea2c5f900ed2a5ff11cdc1c7f5c4a6a09396bf747662ddbdc635c9c7fa5b6 +DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 05475853833084fef51946dd71bb53210b67880aa5231d85457578e78458827769e4e96ddd63360ab77dd2100b5025c33db297528b6a9f281076bfff690cbd79 SHA512 f7c3d430d55c1125256a111afa9986a71c5e003d7872b3fb2d5814ab6c9d01db27a325df484095f43926a00acbf8fc269e0b3db0300bb496b0bae176d77b16fe +DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz 226058044 BLAKE2B 8d9dc5a74f571266c80450b514a7ec31ff885b40c66a5f49ccac98ff211da57bdc069a38425603527b3ef16917e9f1ff58969444149ff3d2e748bbc7379ac622 SHA512 bd8babeb25a256a56b3fda300963834326fd97f2bfb14e3f93ff41737242bcb6b354a5e2b1260e25eb25a22d8304d9782a7cbf0e3219adde534dc6b2332f9c6c +DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5387f2d7ef2f6a0228ed8512ab431f05ffe885a1223fbd2e81be37536a0b55bfe1331654284bb70f9f1061173a31e9b09fde15f65af74c93f9fede5f0d435a4e SHA512 0611673cca4faebc7863f28e5c0fb60a9364ed980b1d025352cba9b1a64ce3778f4ccd149c1dd1d98fceeee144db5438f360ce0ce33682231203e9eb1ec5f812 +DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz 222607376 BLAKE2B 474d684c6d04101200acf157389f11a8bb4759f90b27997e698a79bb117b47fca5441e42688198f87c9c05bd186c5e1a116ad095287c928c312d979df56f1f20 SHA512 b28c976ebdedbcda8113432b4cc03be379f58511bdda97831019fa2f8a9881baae9b5a1bf587e1de7a59f2aac00cec95f168d739769518ad31f27ae3a8ce2255 +DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8612b4387f98ac3e0e1cef6201b5afe4e76f58372f6bfbbaab3070e35fdc0fa6972ae6a85c8f8a9e9db07537fec0891adf6ca6eb64dc70d818c236bed4037f26 SHA512 e3c4a3f7b3c9304726502a398610ed9c8149b05a8bf33a5feb97be8600c0fec79456bf2556ddab4200ab3f410544b147703a69cc97db26bcbf33866e108f5bbb +DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz 235353360 BLAKE2B d0dfa8d88db47ebc5e73b9550cefb684832a6238376eadffcac2ee0bee25dbc836bc76439d59d84ddc4d63d8f92251791a47462ac0fb0294460c5e3170cd2b1f SHA512 97380f0f812c89e71056c09d55e7f4bf016a1dc82995d37bec1e4dd942cdbcdaa09347080bac08a0917b27e83dafc3c7ef2c18547b593b97ca9c1aeb796c7f58 +DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 10b90d187f86edefea27d695b20d1b89d4c5fd71e3acf60c518c30254b428f96bb4abe78111949c3f921e30c2e652e61ad86e56e037d4f20b10eeb64470ee3bf SHA512 28c69aea648cc08b5c78f96a8359b8c15bb51401c8cf267b5dae1f4b6460e779981a82e60f1ff1d8636e5167eaa5c0e193645ca23aa6e20b445afabb9fe21c92 +DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz 221919388 BLAKE2B db2ebd1c76b198ec6fcc481918da3954663163be90eb81c5d3c7a92a124bdf7112d9d8fc67f20ed5d621a3075fb610bba45de41d3c44c9fcecc0681ffc7462f7 SHA512 418e16c07215463bed4093cd44cfcfad91948e24f20109de8c54e8e2a941b5ab3434a6e9e1fe829c57c4f6312e258b5470ceb0c1c7a86af53ed81221d8d52436 +DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1e06c31dcaaf1ce82b0c9cc913d7e3e23aef3ad7a58f2a6713896edd25e2fdff48a5ea9515382f149b59347afbeec5bac3525ad41b46523efb311105b15e3e8b SHA512 2c54c1fa5cb4b868222a7273b531ec8808a89ccb3686fd9cdc70c61b4a572493bf09659ef8c90b3e430cb153693191f505c62102cfcfd42b81a4bfc4b0adcb65 +DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz 224063628 BLAKE2B a699b0e1f65270600139c20b5c730a6bd4d163a51fa1d25a14f79b617d491022b95afc6e4a5545367be3f3c15a531b09ebbb747697fe9507eaf72ca9dcce35ec SHA512 11e6d3f56f4f1f449f382be1fede741f6137371ff87cf31166af2d58949225988a9c1a6bebb1b72e399d2a07ccd67bff860b7b2f258e38fe779363089a91df75 +DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 745a4734949b577804360bdbce5814ba2daafacc29148fd0278d8443dfc54412e58b34745e287d39ea03a61e9bacc44aeb8ae47111e63b4aa572427e68cfa8d9 SHA512 88e444dd8d78f7c9075f61e1f223cbb63683579aed03a6f68c80c0b6e68ec4fda561020af4d2a5360c01cc04415cecafad2b54809e3060280201caf017068079 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz 182371436 BLAKE2B 1859fdb803b9da3433460fbf73c52b37dadc95f1b1760f90ad23f93342a230cd7a95ab1bd3e3809e2979126e155deef7cec38888a4c2fce410371f8033a67a2e SHA512 0f4756631ababb4e9961b7ae380cd39e2c3c1a7415bdf07519d2553e95f6d710573eb3cb6a84eca9bcb03af6e557a81cd35771bdf839d3e4ade39238a5744c63 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 56f1e00d3e7ca2092ab7a5cc3e8465af4037ba99100e0773c4a65867428fc8adbeb0a571cae36ac1dd182c24eb5e5b89e306f476ae357ab387f6d5ff4d6a6bcf SHA512 bf17821fe53a0de5bb58ab03e87a9cd326bc4c97941a306909375285014bcd1126e5e32d62dac4a522f7a72b892c8371dfa3111f25d661a5d4e1a2ea802d3cee +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz 262699948 BLAKE2B 2197f33e5ccbc2e31925457c3af92ffe90dc258e66e9788a7520ab7a9ff3571214f099b14f4db80dff38e519a6f57784e85f335765816c7f44ae2edd96ea04a7 SHA512 a074b931d940bbc0cefb2d56fb9437afa1d002cc599a1779422d0f215eb9382b5b0322e31e0c92408d958ee561dcc9eabe237a6f8c7158986cd10ae550f4d9f6 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2b0c359da43e5b3645632f88bf6f776763571ef7d08d043ee806dc4991fc84b9d0c0b87b10cf12cf354c3a026d0665e17baf1316d00b10f3fdb1f47d834dbf6a SHA512 30013c2d6ebb6d63a49f0a54be584e7dbfe24ae4065313e70cae138c8533bc0afc2c46f05862828f1a97d3c398be91e140380b1d3d83c0a54976dfe3b5314efb +DIST rust-1.86.0_beta20250225-aarch64-unknown-linux-gnu.tar.xz 162271496 BLAKE2B 22059cb1174fd4fd4b603e10049e76fd2054c45352275abdf4a4183a38d4cefc7092d04d8f14329f60e9e4df0cd61cd1cd3cb46e148220a93e0484c55e7bffcd SHA512 aaa94fb98888c59da5dc59cab31d028248e15ce458b6589383a3ff54833783906580f40d2fe62e119cd7a22e1cd443724d61b4be4e81d30cb233a76afcadebbe +DIST rust-1.86.0_beta20250225-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0697cf3f3bf9e1d56ac12dd223d47ca9311569a6f2579892628217567994ea29f5e3bb13479a0cf0ca6ef52864bbeb8f59349d0de08bc56e4afe1171e87011c5 SHA512 1c179f33aaa106d4a3f28c552ca298ebe2e9015faa63d40e97f0ceea45bde9408bb3a6c5a599c5a43ab71e6fa2fea1c4f066d0b951ed08377bc8c4121c9392c9 +DIST rust-1.86.0_beta20250225-aarch64-unknown-linux-musl.tar.xz 235432052 BLAKE2B 72bd9899a4c2cc68557e4513c164dde533fe74e1f34ab4579ad3cc595b8df5a6d93fe42d36b50e2ffc20b6bb5dcb92c6512cca63899c64b9f7664495adc4d68d SHA512 d1024147ce447b039b3a9bf09b258ee0cc4e4bc9a3e033c118e00859377766d832c2f5642116eb8a5e7f18814f7e1d459de7c30d13f284ab5e6919644a1cb248 +DIST rust-1.86.0_beta20250225-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b281059472df1c4d8667303a30a1dbc5ca3664606c44ff257015c29685f321cb0085cd89778458f510775f18cda00408ee113eec8117ee111f3f92218ebd620a SHA512 c7b5de9c70562da1e5a4c306983b7e4ce89942c46cfeae68ee622b098b389d41a0196566e16d218f5f4a3c1019c96ce04ab574a56e0ff750ee5b69b9c4ffc26f +DIST rust-1.86.0_beta20250225-arm-unknown-linux-gnueabi.tar.xz 219585140 BLAKE2B c61538b9a86311691cee13e4113416e62801b9d1e845df73e5769e14b5c400607c797e0f37bf211811d21f31af297a69800af409180ae5eb908dfc2814033ce0 SHA512 54c569ced50acc9895029eccfda0767f980e0a23066142d4b3675408b023105ccd6f706b3726bd35bb49cec4c9510adb7cd7c353e7be1cf6d1f69db4548499a5 +DIST rust-1.86.0_beta20250225-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d969bc52bc28db30754e180e3427cbb39c376c6ac1eebbaa7cc00d2016726f0adac2d39ba348f5b1ff79e2a1c728cad3eb9c4cc1c972b399ecbf15fde0486a0c SHA512 586fb0eceaf36ec9017da40365ba8fc87eaa21a5533dc30d92c62d63bb02a2b80a8e712d0b449e06ee374ff797a1c9b0902491bebc94c179d938c6cd9351eda8 +DIST rust-1.86.0_beta20250225-arm-unknown-linux-gnueabihf.tar.xz 220847580 BLAKE2B 227afc76a06443fa9fe0d6295c6758760fc541f586b76378a23c88ec3bcd8bf65aed2ec4c17d448202635fc75473f907888c657392eff470b76db745f9bc5f39 SHA512 7d2a15c3dbc741240302dd08219df6171d0f7d1132e68695ab1c6a080790cff413c8824c5bddf8ffb82173f0516f47f6d0c805cbcc8565379cae7e8bbced1874 +DIST rust-1.86.0_beta20250225-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 3c63b838061849ba629dd0a59b96105f2745f47066d8e61f1b201841022c3da628f325776a3f56c6cfc0bff90e7a49b008eef4d8299f05e0b2cdb4b3c1e5434b SHA512 e28d8fcd075cb3b681262cd68797b0d25d241a81b6f2617ddba4b56bfc97a1122f20874c20f3e20ac5102db8cc561d0cec6790e4ebce206b919bff96118a8911 +DIST rust-1.86.0_beta20250225-armv7-unknown-linux-gnueabihf.tar.xz 225818148 BLAKE2B 0f256ffe120a1c1b658a32b1fb00698786e36efa831cb31d8229eb48aa942ec68188e0a5065d8d6f8480081d09848d81aea1699fea4804edcf4fb14ae02bfed7 SHA512 ee275b10a1dc24d27e1215a21b633e8c8df21dbf441bae2bb8ae0e03a86e03403ddf0cf53d721e0f3af9faab4bf68d0f126fb08e1409d8e287b41231dce84efa +DIST rust-1.86.0_beta20250225-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B dbec13daecf280cc954f8b696c258da43f8ac17ab5c2a5e33b58e38206bcc547ec07ef3ba751cde3d7e55fb78bd3894707d144749578888e42b2ab5435f94640 SHA512 458c6428dcccd6de45745c1350a9f6cb3ce13e974a5d2b8473be863cd0fed1eb504dc771b243ee19fac056b4113ea81c030a032281f5cee8372aa0c82cd5488f +DIST rust-1.86.0_beta20250225-i686-unknown-linux-gnu.tar.xz 255115448 BLAKE2B 112a9fc6c4c6dbc022536e561b35dc89051f26eb458cf38633c7f7d2911d448d8a55a135efa0b3cead6267a9018bdc6218abffc967624f95193fe5d6dbac10ca SHA512 a60c5e3f55d30967314ec9b312a439b1302d5cd18d0dd8ca3666f3344cd9512b7cf7bccce8002af1d7eb4db082ec7ce3b3b59b9abee23a803175e6780659e89b +DIST rust-1.86.0_beta20250225-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3b68d39f4780ac9fa2fbbf6b0c73e8d6ec91bd37951fa33564bd654ebb51c26d0726108f9ffdb39c570b73d736eeb922b17a76bfca0cd8386dde87d902d8e111 SHA512 ccf36b6f2fbdd5ad48de463164b6b5f9e53c70a7b9146295d482dc1e89c4eef79bc26306c49a73ad22c42840023cb72f520bb5a8e1c496f5025646b1530d5a59 +DIST rust-1.86.0_beta20250225-loongarch64-unknown-linux-gnu.tar.xz 251914240 BLAKE2B 99744c8f40dc90e17471995aa1d4087b40603d20f9114972cd860b00ec546c6828c364d5b7a86ace8d7f87cdc829e0711f758e495a7e188b0e264a0ef705cc44 SHA512 25cbe1f3167b560d31b7b41635343f4819b90bd83ae76dfcafe61169b7d0a37e5f68784ea3a7a659a05aa649b040f9b62864cff6139190a3e009be1f589b0d55 +DIST rust-1.86.0_beta20250225-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c49018b1dab4948842839424b62f6339253d6dd89ca3aca52bb83a337327329341824bfa7b0aed5f8450c694cf90a2ae39381ed6bda3a2ba98a0ea5021da10b1 SHA512 c2bdc1386c905ab7c0bc5cfa0eaf9aa5f45500b8889a872131ed44182839cfb447719fc6fc2f5ed6fb9aff2ba732dd640448f848e282dd532b52568641e1add8 +DIST rust-1.86.0_beta20250225-powerpc-unknown-linux-gnu.tar.xz 243643276 BLAKE2B 31291d0ee4fd5aad13d6fa05226ad5cf189627aa0abea3e1a2f540bf77ce5fc6167ffbec96a64e515baad7288559bd40e7f464fed2ced361d201df0d11880ded SHA512 110b2d9138024cdc5cc0a6e6f34961e4b3eb16409816d72d0bda63b5cc4044e7f6a4fab10c69737ad362900bac36d4721a9579e176989a9f9442eafca02219c9 +DIST rust-1.86.0_beta20250225-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eaf72f9496626ce42a3006d31856e5da84da35573b825531c9969aeb05f6c4bddec6d771252056376c7c511ffdd0b56b95f4e5c87b29dbdfc338cf89d1976fc5 SHA512 f669a60884700029bd38602163c310854091b6658681afecb73c4b209ff91c11b79836e01758c384cd52dccf8919b37874865e7292d1f0b029c455073ae0319f +DIST rust-1.86.0_beta20250225-powerpc64-unknown-linux-gnu.tar.xz 239855984 BLAKE2B 758f1e7b7c34cdcdd5d901616200eacedaccbfdc86de066b4b14d4e8106c4850e732ef29c530018bd6da27d1e6f3105abdd1d887a4231a35e77bc4c240c52b43 SHA512 43a77d18a640dfb6ec0bc04b67eb85b7ca40fbc27c4b165db1ff53b1caf9a024bb4a4441be3944ab1b2b4eee56c2001d076ae4c48a5aac3ee01d5df87a0ea95a +DIST rust-1.86.0_beta20250225-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 24a8e9c459fdffe21f85af6106b691beb60a8536e33422eb3f9cba9c428cd8045f82c58766ee59860e3044e1240f1f576da5456da3df01c29fdc318b3eb2c7dd SHA512 d6b8b731057529396fb6e00891a77e27ccebf70454e3557fb56051a62feceff6d7c42564eb82772b30f5159ba736ef03173a7723bfe31222164ccc48fbc40110 +DIST rust-1.86.0_beta20250225-powerpc64le-unknown-linux-gnu.tar.xz 254298220 BLAKE2B 07d6e7fde5a6ed8191003bd52e1968fce10bc05c18a2d17d771358f329523b4edaff6773ec8c0d1182bea6f4e5644caf72305765ae2aef8a9adf0ee5ba689885 SHA512 040a81b3fb1a8f5ef9cea89a43395dd616a9671eadf1ceb7a47fdb0733bf7e26f10afae6a4000f9f2271dd8a683d508ef7c82440758dea91ac4672ccc5344012 +DIST rust-1.86.0_beta20250225-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6e1b092134967544131c707cf5d7c58a456ab5da3ac67834ec6b5cb96a9229d83c34e0fff5557c7790357e47d3d85d230362f5af786dd6c0e6e5c44e16c29799 SHA512 58e303ff074c58365b208e75107c4d5b42a4c9c9ba3546db1f792cee361b05428e5dfaac39c3a74d65b09822269e596ff97684cb43dccbee1ea47ae21c460370 +DIST rust-1.86.0_beta20250225-riscv64gc-unknown-linux-gnu.tar.xz 239076740 BLAKE2B cb669a3fdeffb8e7258beed158ecf651dde434b8efb58cbc2b3f495674e579ac9be906bc609d3274dcf8652a9277f599884ef4c06271f41a7f781bdb1faecf1b SHA512 0cb72f0ad90624e841b12553fca2244714bdfc10c3c936a85cf89660b14f9ba37fe6b067f1c9189ace57215a7e2e6fe438b8e35bc255ab9374bdf05f748997a6 +DIST rust-1.86.0_beta20250225-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eb2cf05cbf16ff7c80fdbdef9a8f29100bccd672583e862bba97f004480664831d6f0edebf409c22fa4dba56dc9d62f3f4c2a15f1351b0b28866bf88ec702f9e SHA512 a680ad3394d3b9bccbf4024c527dee201b7c915062e891c414317575da78edb46be9c392efb94edab8a305103c806140e9dce0cc25ab9a6a3a4c8336f026d12f +DIST rust-1.86.0_beta20250225-s390x-unknown-linux-gnu.tar.xz 241511808 BLAKE2B aae89cf0a53b5763632eca6f4b033e6254f19d0a2ca88351dea14347b52d7ebb406a899fa788cd0d402172e8af754d0a2b67ca077f93495e2f6030118f36a0f6 SHA512 92661da8e796e6a29809fd000a2353de29a4442ace6a4c42f338149066dad85e30759f7c13438a7dbbc4104639d4114a6b135143ed54f12d4a0ef2fb07357603 +DIST rust-1.86.0_beta20250225-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a0dbaee450c0e8b9fbe4348cad60ca9bf5955f2f9c22b2580f9b43af5dcde3317647e4396266ec7e7dc8ceda4c05e0fa1cbc786e4673038ac664cc9909d5e66e SHA512 4ade36c52247a40973766b8428714f2d8d6ad2314f45f550dfdd90ce24d7445ced977723f55aec2d4d5fb162d4ad5371c25012dae64d835b6637df851d831dbb +DIST rust-1.86.0_beta20250225-x86_64-unknown-linux-gnu.tar.xz 192552128 BLAKE2B da3d4634b7a57a5b438b6ed8e1e37f155b7c9c141ead0e6861b173938c9e1fda3e1e6da0fc966e089645dd93d32354ae29b8b1f1f5b04a05548004692c4fc379 SHA512 0580762b898ef905739e7fcf097408737e3bd3afebc6b3bcf2db54d98eae0b0cc38121c2f22bb28524ed0b29e4c2446eafdd895283f7ff479df14a1760e979b3 +DIST rust-1.86.0_beta20250225-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 615efe0198fd03883301d6e205577a05fda902d47ffbf9ef90fbb96c8275548b490c5ec2c530bd6dfdf18e1596b6c427f00724a3adc3860e107df03c864ea7ee SHA512 d10f522df9bfdb515f725acd018298fecb90a70171956f5c48e62522f596d34496d76ace0e05606cf9077c6e797e17ea4d086f6d4c055f53fa8d12aac1e93ced +DIST rust-1.86.0_beta20250225-x86_64-unknown-linux-musl.tar.xz 283004932 BLAKE2B e0639e06159347d160d0d90f9ecc0739cfa7da07895250d8b9debbfcfbc689e5ddbd0d8a4c1d08d61f8b5ab05b9b2f50613798ce78d57b4fa274b4a3c28d60a5 SHA512 03515dddb9820b3c159d358388a78def71879aa4e02735fc69aed6a6eddeec457f4b231b9d6ae3daac7310e6370bdb368b65749f869182640319ac983c7b7dc4 +DIST rust-1.86.0_beta20250225-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 89ce6eb6a52f7bcdcf5d5001c823c2d596e1e186d7a91c834b893b7be0af1ef442dd588398b05f60eb9f94777395b59bd72e0943a2e2c3c4a1d27147a62f18fb SHA512 f58230280ed4743a8b298fe45d36fbc44742f1e0e7867b95d47d3fcfcf723de5302a489a150a011864b5cbc7707ae0d340e45d9f013a0224e8c2fcfc57f4d5bb +DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d +DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 +DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd +DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca +DIST rust-src-1.77.1.tar.xz 2618128 BLAKE2B d36f74d3b826a071de8e8a92cfab65348bf1ed7f5fbcabf1994b5e2c99d1fd6d2a936e49aaabb59c44e664a4559cc3c062291cbb381462b9c516fa7ed9d6107d SHA512 a719435636a52b4436afd6dafad7b8112c94b097e2c632fde536155b9977bbffffa8fcb90c6c53675c4d793225917087e5637d36fe250c539e3d7463d90ce28a +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 +DIST rust-src-1.81.0.tar.xz 2901440 BLAKE2B 7ad2855c21728cc323108f7e45416a425a222e550c132818b302dc2b9fabc1281e560b0f097e1fc41e682f52b4524c69737096e12cc9e97a677828efab96dc2b SHA512 d38b1afc17a4cc7ba67d2e1b7d3dfbcc2a61ad96e87b130064d6788538817c27bce06c9fd7a4733de5b5862ff5f6aa441bf71ebaaae9ff80a86c354a6ec05e14 +DIST rust-src-1.82.0.tar.xz 2966368 BLAKE2B 4162e7393ac21a095ac1541ea7b62fafa561ce2153bdd2b3723d0f2e0130fb2fb1325ac8583d87d64b6cf6b76400d12aaac144c781e89a177483adb46854c81b SHA512 4f7817eb16dbddf15ab09206738569370c42abe117086b085a7cc8f7174f9c2b42571707558642c72597236610eeeca32575b665acbc2cbc4f7709e624c16cc4 +DIST rust-src-1.83.0.tar.xz 2998424 BLAKE2B de758c5bfb29865a3ab7ab02d17b0282272fa7d1cf5da333a6a19d6a16813320317785e9bab02e3ba9ca6ee9f26e0c96b00a117f33b74c82b13ece44133e3130 SHA512 e1f0ccae1fd4202d86cde1f1e2f4491983ec49fafb2b9eaca6260e9173bea0e0cc2567946e48e3ce48f0a620f63dc44d30334f06c935628158de110d43c7d53b +DIST rust-src-1.84.0.tar.xz 3016148 BLAKE2B e948d4edb88f81ecfb49f56a3ca6331c4e9de17bd9f56af823e1cefdc5098abebc2bb013d7c12ca1713a43fec588f33befcb7146713eeade1511914f70146d62 SHA512 ccb45d57c7cdac311478a5b4689144297717e6404f9c4fb168127804f13f72c15433b32765f90ce56e6f34435229e754241cb3656b28a4b33c6070b6f79b7c53 +DIST rust-src-1.84.1.tar.xz 3016012 BLAKE2B c9edeaf0797a22e384c54b3fe3e7c833464c09f8828474e05400a561a369d836626387caa495689e4b14fad691a85d6859098c84347211a6f79e2ef2c8d9d6f2 SHA512 564c440a05b67fd3a5dcb4dea21800d32ae65ca12230b804b5efa4bd468fe1b185bd7ed89041782018f70f60afd7554d7755edbe20e9cdc930a9fad390deb317 +DIST rust-src-1.85.0.tar.xz 3036988 BLAKE2B b7281b23eef60cf052e1641a29915c02c590166a73e5ae75890072ce80f95a2ab71cead3e3da7adf757ec0352d1dcc87ba4c3070282a27657b34420fe24a0c16 SHA512 613cfa603dc457cee34b154acef9573d766ce5757c9e8342b13d362f2e62b4cee47071a59df9fd5fa42ecade1a9efdada5784402aaf7254d5996558533bff8db +DIST rust-src-1.86.0_beta20250218.tar.xz 3035860 BLAKE2B 506df30188382d43798c6661a8b730c10a74a230bf5ceb7c04f2892f14a45630182ee174f79b564dc5a6dd8e3bc84963b8391fc9641efc57d0ed90e69b89d545 SHA512 4c7cc4d1860f7d97f615ff5dc030754a7fb72d1eb47b27a2e25dbb5a9b0326b8a1b82b6b60a784da910c4730d3b728bb27e1d27f30dabdb7e455143550f0c424 +DIST rust-src-1.86.0_beta20250225.tar.xz 3053616 BLAKE2B 19abffb74a9926c73fd112589be340b2955e3117d4344f4185de08899be5a5ac9835395e601224f21e63fa0f91053fb39ca02e98a6442570dd54c6b0a39f85a9 SHA512 57b8eb0fa06e5ee37d89ee486375b7022d2085fcd88061a20c3e8406c312fa912bc0b52c9259bb3682bbba1e2ea4b044eab9f9ae66262a67c19657033fe918e1 diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml new file mode 100644 index 0000000..b5d78dd --- /dev/null +++ b/dev-lang/rust-bin/metadata.xml @@ -0,0 +1,30 @@ + + + + + randy@electronsweatshop.com + Randy Barlow + + + navi@vlhl.dev + Anna Figueiredo Gomes + + + matoro_gentoo@matoro.tk + Matoro Mahri + + + rust@gentoo.org + Rust Project + + + Install clippy, Rust code linter + Install rustfmt, Rust code formatter + Install rust-analyzer, A Rust compiler front-end for IDEs (language server) + Install rust-src, needed by developer tools and for build-std (cross) + + + rust-lang/rust + projg2/rust-bootstrap + + diff --git a/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild new file mode 100644 index 0000000..a380b7f --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 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-08-03/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} ) +" +# No point keeping this in the eclass; this is the only revision that needs the logic +SRC_URI+=" +mips? ( + abi_mips_o32? ( + big-endian? ( $(rust_arch_uri mips-unknown-linux-gnu "${MY_P}") ) + !big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "${MY_P}") ) + ) + abi_mips_n64? ( + big-endian? ( $(rust_arch_uri mips64-unknown-linux-gnuabi64 "${MY_P}") ) + !big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "${MY_P}") ) + ) +) +" + +# 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="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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 ${PIPESTATUS[0]} + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild new file mode 100644 index 0000000..95b866f --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 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-12-07/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 ) " +#SRC_URI+=" mips? ( +# abi_mips_o32? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) +# ) +# abi_mips_n64? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) +# ) +#)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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 ${PIPESTATUS[0]} + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild new file mode 100644 index 0000000..38fe3ff --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 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-12-28/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 ) " +#SRC_URI+=" mips? ( +# abi_mips_o32? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) +# ) +# abi_mips_n64? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) +# ) +#)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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 ${PIPESTATUS[0]} + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild new file mode 100644 index 0000000..338bdca --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 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%/}/2024-02-08/rust-src-${PV}.tar.xz" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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,rust-demangler-preview,${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 ${PIPESTATUS[0]} + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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-demangler + /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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild new file mode 100644 index 0000000..623e95f --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 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%/}/2024-03-28/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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,rust-demangler-preview,${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 ${PIPESTATUS[0]} + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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-demangler + /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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild new file mode 100644 index 0000000..acf542e --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}-r101" +# 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%/}/2024-06-13/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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,rust-demangler-preview,${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 ${PIPESTATUS[0]} + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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-demangler + /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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild new file mode 100644 index 0000000..acf542e --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}-r101" +# 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%/}/2024-06-13/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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,rust-demangler-preview,${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 ${PIPESTATUS[0]} + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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-demangler + /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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild new file mode 100644 index 0000000..389306b --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}-r101" +# 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%/}/2024-08-08/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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,rust-demangler-preview,${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 ${PIPESTATUS[0]} + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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-demangler + /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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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 +} diff --git a/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild new file mode 100644 index 0000000..3a1236d --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}-r101" +# 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%/}/2024-09-05/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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 ${PIPESTATUS[0]} + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild new file mode 100644 index 0000000..b6dad0a --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}-r102" +# 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%/}/2024-10-17/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r102" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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 + + docompress /opt/${P}/man/ + + 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 ${PIPESTATUS[0]} + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild new file mode 100644 index 0000000..4c3e72b --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}-r2" +# 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%/}/2024-11-28/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r2" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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 + + docompress /opt/${P}/man/ + + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild new file mode 100644 index 0000000..c20d4db --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}-r1" +# 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%/}/2025-01-09/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r1" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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 + + docompress /opt/${P}/man/ + + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild new file mode 100644 index 0000000..480171c --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}-r1" +# 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%/}/2025-01-30/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r1" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris rust-${PV}) + 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 ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +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" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +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}/rust-${PV}-$(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 + + docompress /opt/${P}/man/ + + 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-/bin/rustc- + 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}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild new file mode 100644 index 0000000..c2e971a --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild @@ -0,0 +1,322 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-02-20/rust-src-${PV}.tar.xz ) + ppc64? ( elibc_musl? ( !big-endian? ( + $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) + ) ) ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}" # omit trailing slash + MY_P=rust-${PV} + # 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 ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( big-endian? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + || ( + llvm-runtimes/libgcc + sys-devel/gcc:* + ) + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +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/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/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() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # 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 + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +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 +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && 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" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/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-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(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-${PN}-${SLOT}" + /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-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.85.0.ebuild b/dev-lang/rust-bin/rust-bin-1.85.0.ebuild new file mode 100644 index 0000000..a392412 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.85.0.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-02-20/rust-src-${PV}.tar.xz ) + ppc64? ( elibc_musl? ( !big-endian? ( + $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) + ) ) ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}" # omit trailing slash + MY_P=rust-${PV} + # 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 ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( big-endian? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +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/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/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() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # 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 + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +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 +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && 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" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/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-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(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-${PN}-${SLOT}" + /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-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild new file mode 100644 index 0000000..6338d2d --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild @@ -0,0 +1,320 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + || ( + llvm-runtimes/libgcc + sys-devel/gcc:* + ) + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +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/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/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() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # 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 + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +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 +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && 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" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/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-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(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-${PN}-${SLOT}" + /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-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild new file mode 100644 index 0000000..2e2e631 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +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/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/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() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # 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 + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +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 +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && 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" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/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-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(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-${PN}-${SLOT}" + /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-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.86.0_beta20250225.ebuild b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250225.ebuild new file mode 100644 index 0000000..2e2e631 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250225.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +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/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/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() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # 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 + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +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 +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && 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" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/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-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(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-${PN}-${SLOT}" + /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-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_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 + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest new file mode 100644 index 0000000..72b7226 --- /dev/null +++ b/dev-lang/rust/Manifest @@ -0,0 +1,34 @@ +DIST rust-1.86.0_beta20250218-vendor-in-install-phase.patch 22553 BLAKE2B a99d31c5ceeec4c74453849d87c35969ad3924cff48861a1c3009c78ac59440c8a1bd3088f0dace262558cff27197a932f3c81872d4ede4f3c5a03c27e6dc316 SHA512 228c551b7dfd4b43e3b34a97c7d55121cfc15f4c999c15e8ee2a30b41757099ae493148aaedf86f5e4e4143e26ae02464ab725162f1dcad68a0315cfadf3ab8a +DIST rust-1.86.0_beta20250225-vendor-in-install-phase.patch 22527 BLAKE2B 79c800e3ea5eef31e5603a6f3ec99606065f1c383751a989c9835490c2717620a71dc5bdc3613fbcc30ef45862090a8bc5049ba9ae6af861b20159a9cee96682 SHA512 cbfdcc55759c60b575808f2c6ec245d2ea271558295ea4ff4013933bf26252e00017422c286023a6f7089f2edcfe90c49cb06a07c4c41f2bf40e20c8dc85a604 +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.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d +DIST rustc-1.74.1-src.tar.xz.asc 801 BLAKE2B ddf73175b164233babf31ca3a381b03e20c0f36d017c1d5f85d6ab11f0986d861ab23b11c061e6b2444ced70c3d6a494cc3de4ec86f0deb221a805491bd75420 SHA512 9a96ff9ba9a4e2af4e267b2ec126fc0675c78d0eb767703daa2f28491c3d85c2ab00fbd8584390bf658812ec6c4ab6c57e43b386db59fd505bd3134a8873a09e +DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B 8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495 SHA512 7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606 +DIST rustc-1.75.0-src.tar.xz.asc 801 BLAKE2B 434da96b1dc93a5aeed07f4961b087fdd15870e407283ecc00df08dbc1e9f6c65fe459b3a25d39ee55900d53ee583207098ecf3d63f5d6ea114ef0b8398b6a63 SHA512 a0e948553af77ca6e2daa82c69d79079ef7d4ec61957bdff99efd73748200d6c7caa9282daeb3fe3ef849d81a48e66a25336df4c7b6f62f975266aa8b9b93d3a +DIST rustc-1.76.0-src.tar.xz 162267908 BLAKE2B 0cf726841a837d9906d82a6216e65edad1e3e4a798ccd1ca3824c2098d0c45473854b8bf183c6e9ca70ba095752e77c4f5ef575d98c07243d609857214175f5e SHA512 92e16cfdeb91bde341fe6c2774d92868275b07aa1d46d870ddc9291eadfe4ea9af93e06586fa7d6b8d60534903945cbbe706d354c90272712989c58d2bf174bf +DIST rustc-1.76.0-src.tar.xz.asc 801 BLAKE2B eadb2f54fceb9c1ac60af72407a2957e37e1ba134a696675a1e9dcf23a2958b41d7f5aa1f75156e4843cefc387cdc9c909e364c3bfcabecc6bfbe262d9c6e8af SHA512 d35c010a5a129580746bcec5c0dad1b0bc1b7864a69505c7c0ccfad436fdfbdf33f87518965a09de187d6a70fb8867dc6a20037c648861031a17501577855120 +DIST rustc-1.77.1-src.tar.xz 162796048 BLAKE2B 18a9fd095808ba78bf50ec94f7fd4087a1033ec79750aa593bacf64219c77ef90c030d41a7d8bc43f7ec8eb30b316c225024be4aeb517100ff6723487f8bb282 SHA512 e057ae638e4c3e54fdb367d48f4b85458121cee0d0ee1ed72f346940b8acad2f16cd9cc8abc16fcf4a17bf244b3300bb56a7e7be3bd0c23b034692c983b84fe8 +DIST rustc-1.77.1-src.tar.xz.asc 801 BLAKE2B 175a551abdb970295d37a0797cf262ac43055a3cb75b23845dbb8696d04b7705b7a2908b82fcbce7cd7dec2e05c382d06622013b9d4aa19fab7f651f7e00bb73 SHA512 eb24976ae97d2980d4c547bcf27d815f4b98b8aa45441a7201a849ee37e0ef15671732c9916d33964b8e802a87ede758daaadf84901bd569527c8b6c48efff23 +DIST rustc-1.78.0-src.tar.xz 159181212 BLAKE2B dedae58e413689de258f852c988a9a91d4cf14c9525f2619ca6155006ddc9b2262c8141ff995e4fc6ecceec383470e50d2fa0952d933db9b3957ce5c5b96f62e SHA512 d2fb9881e28849d871fda71b1b51652be3839b3283f0d32163f258c5c707a9fb7b589da8dc03bca2fefee1abdd2b44a5f17e85d8c6df7bea119d1e8d22371941 +DIST rustc-1.78.0-src.tar.xz.asc 801 BLAKE2B a40b0eab4e9263694e79f21d92652402579f4a0587fa48b4043211bc645d4303f9af7629e9c8361938748163e99fa7cd04108156780f23f9c8600361785e834b SHA512 ef16c9eed79f36576517e9dd77b56aa767ae9dc745f5df1839e24b76084ac791b27926f3d608b41695ae6022aa10cbdd3650cad163f35037c60d3bd0427b3cbd +DIST rustc-1.79.0-src.tar.xz 162359512 BLAKE2B 753c0e9c537644d1a12b4d38024c22952a19513791c3da6f955690c544e58964bacbdb579f94cd05910697fc31f77ed6553e5ad3b111bbdfebeea8d2a4fa19f5 SHA512 99d7f276292e5c270648473ff73e9888413a3325ef3a4d7a45f8ce77a42ac87996905f1d875888ce084b621f642017bc9e31a00da1439108dbe19b85d0eab085 +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 +DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad0670be6872f691b4c9f36faf06803f072720ebd04f06745c355d807991b38312cc830b12d6d3f50b0574bb7325340b7 SHA512 b8a837ced521d2ca2c7f228a0640da591384519e4dbc1ae768524d50616da6abbd2f7bdae3777caebc0447dac91bf76481282ce5a2264d7f30e173caa6321a51 +DIST rustc-1.81.0-src.tar.xz.asc 801 BLAKE2B 01cd9f386d3fd73f4eb43b14d7d479ebababb8640abbff170e697817b94b8a18edd801c6047ecf3c084a0a51764c5e4f3f4bd6b00e8ae000ef0b850e9506572a SHA512 19c0da9d67f2bd9fd79a2078f0f486ee7fad5646a09a609b7e30d9531851955ae8df0ec69f9ddc09e2fd6e74d529648335b0fda833839c88c54c84494ec1988e +DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0 +DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c +DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6 +DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c +DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a +DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb +DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1 +DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796 +DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c +DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e +DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b +DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a +DIST rustc-1.86.0_beta20250225-src.tar.xz 280546668 BLAKE2B ea1956a83175a2cda21b6ad1ead38d8d0f6c95559d2e329bf0e4ca13d0ff6562d017d5bffbb57f9d6d232b1f87f3d190718bc0b90c6938b06763526fac083ada SHA512 782fafa305b8766db3d23796014a5897470988c9447baf4bee35d98b90382b5a727d0aecc3dabbdab0f82b6d862def8be23d8a6cf3d98cc96f18cf4a2bc38f66 +DIST rustc-1.86.0_beta20250225-src.tar.xz.asc 801 BLAKE2B 517f8d88edc1ef4ebd25d66a1be4f37718bfa361f8ae1001aca85ba626dacfef6ae27a327f33dd1ae9db7e57a91eab2d8bbfe910b5789df0998dd18026c75726 SHA512 50e3c85b7c6a7f42e094e63f4ee554d2d944a8e153ab5dbd1c2a09a1f44c6ee53cb1c4985080a373c5cb09681bc5b987e8a8e2f56a0a0053ccea99f22dc92986 diff --git a/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch b/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch new file mode 100644 index 0000000..fd56396 --- /dev/null +++ b/dev-lang/rust/files/1.62.1-musl-dynamic-linking.patch @@ -0,0 +1,25 @@ +From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001 +From: Jory Pratt +Date: Tue, 2 Aug 2022 18:32:53 -0500 +Subject: [PATCH] Enable dynamic linking by default for musl + +Signed-off-by: Jory Pratt +--- + compiler/rustc_target/src/spec/linux_musl_base.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs +index 207a87ab0..8a5a43363 100644 +--- a/compiler/rustc_target/src/spec/linux_musl_base.rs ++++ b/compiler/rustc_target/src/spec/linux_musl_base.rs +@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions { + base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } +-- +2.35.1 diff --git a/dev-lang/rust/files/1.67.0-doc-wasm.patch b/dev-lang/rust/files/1.67.0-doc-wasm.patch new file mode 100644 index 0000000..06011de --- /dev/null +++ b/dev-lang/rust/files/1.67.0-doc-wasm.patch @@ -0,0 +1,34 @@ +From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001 +From: John Millikin +Date: Mon, 9 Jan 2023 13:54:21 +0900 +Subject: [PATCH] Disable `linux_ext` in wasm32 and fortanix rustdoc builds. + +The `std::os::unix` module is stubbed out when building docs for these +target platforms. The introduction of Linux-specific extension traits +caused `std::os::net` to depend on sub-modules of `std::os::unix`, +which broke rustdoc for the `wasm32-unknown-unknown` target. + +Adding an additional `#[cfg]` guard solves that rustdoc failure by +not declaring `linux_ext` on targets with a stubbed `std::os::unix`. +--- + library/std/src/os/net/mod.rs | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs +index 5ec267c41e97c..b7046dd7c598c 100644 +--- a/library/std/src/os/net/mod.rs ++++ b/library/std/src/os/net/mod.rs +@@ -1,4 +1,13 @@ + //! OS-specific networking functionality. + ++// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must ++// be special-cased during rustdoc generation. ++#[cfg(not(all( ++ doc, ++ any( ++ all(target_arch = "wasm32", not(target_os = "wasi")), ++ all(target_vendor = "fortanix", target_env = "sgx") ++ ) ++)))] + #[cfg(any(target_os = "linux", target_os = "android", doc))] + pub(super) mod linux_ext; diff --git a/dev-lang/rust/files/1.70.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.70.0-ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 0000000..2e12c78 --- /dev/null +++ b/dev-lang/rust/files/1.70.0-ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,30 @@ +From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 12/15] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- + test/ui/env-funky-keys.rs | 1 + + 6 files changed, 10 insertions(+) + +diff --git a/tests/ui/env-funky-keys.rs b/tests/ui/env-funky-keys.rs +index c5c824ac58d..f3fe047a79c 100644 +--- a/tests/ui/env-funky-keys.rs ++++ b/tests/ui/env-funky-keys.rs +@@ -1,6 +1,7 @@ + // run-pass + // Ignore this test on Android, because it segfaults there. + ++// ignore-test + // ignore-android + // ignore-windows + // ignore-cloudabi no execve +-- +2.24.1 + diff --git a/dev-lang/rust/files/1.71.1-fix-bootstrap-version-comparison.patch b/dev-lang/rust/files/1.71.1-fix-bootstrap-version-comparison.patch new file mode 100644 index 0000000..8857c4b --- /dev/null +++ b/dev-lang/rust/files/1.71.1-fix-bootstrap-version-comparison.patch @@ -0,0 +1,26 @@ +https://github.com/rust-lang/rust/pull/114440 +From: Ariadne Conill +Date: Thu, 3 Aug 2023 15:05:40 -0700 +Subject: [PATCH] bootstrap: config: fix version comparison bug + +Rust requires a previous version of Rust to build, such as the current version, or the +previous version. However, the version comparison logic did not take patch releases +into consideration when doing the version comparison for the current branch, e.g. +Rust 1.71.1 could not be built by Rust 1.71.0 because it is neither an exact version +match, or the previous version. + +Adjust the version comparison logic to tolerate mismatches in the patch version. + +Signed-off-by: Ariadne Conill +--- a/src/bootstrap/config.rs ++++ b/src/bootstrap/config.rs +@@ -2004,7 +2004,8 @@ impl Config { + .unwrap(); + if !(source_version == rustc_version + || (source_version.major == rustc_version.major +- && source_version.minor == rustc_version.minor + 1)) ++ && (source_version.minor == rustc_version.minor ++ || source_version.minor == rustc_version.minor + 1))) + { + let prev_version = format!("{}.{}.x", source_version.major, source_version.minor - 1); + eprintln!( diff --git a/dev-lang/rust/files/1.72.0-bump-libc-deps-to-0.2.146.patch b/dev-lang/rust/files/1.72.0-bump-libc-deps-to-0.2.146.patch new file mode 100644 index 0000000..bd1c4b5 --- /dev/null +++ b/dev-lang/rust/files/1.72.0-bump-libc-deps-to-0.2.146.patch @@ -0,0 +1,156 @@ +This patch bumps all libc dependencies and checksums to 0.2.146, which includes the fix for musl 1.2.4. + +--- a/vendor/addr2line-0.20.0/Cargo.lock ++++ b/vendor/addr2line-0.20.0/Cargo.lock +@@ -246,9 +246,9 @@ checksum = "e2abad23fbc42b3700f2f279844d + + [[package]] + name = "libc" +-version = "0.2.141" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "libtest-mimic" +--- a/vendor/backtrace-0.3.67/Cargo.lock ++++ b/vendor/backtrace-0.3.67/Cargo.lock +@@ -64,9 +64,9 @@ checksum = "dec7af912d60cdbd3677c1af9352 + + [[package]] + name = "libc" +-version = "0.2.138" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "libloading" +--- a/vendor/bstr/Cargo.lock ++++ b/vendor/bstr/Cargo.lock +@@ -34,9 +34,9 @@ dependencies = [ + + [[package]] + name = "libc" +-version = "0.2.138" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "memchr" +--- a/vendor/cranelift-jit/Cargo.lock ++++ b/vendor/cranelift-jit/Cargo.lock +@@ -224,9 +224,9 @@ dependencies = [ + + [[package]] + name = "libc" +-version = "0.2.141" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "log" +--- a/vendor/crossbeam-channel/Cargo.lock ++++ b/vendor/crossbeam-channel/Cargo.lock +@@ -50,9 +50,9 @@ dependencies = [ + + [[package]] + name = "libc" +-version = "0.2.141" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "num_cpus" +--- a/vendor/elasticlunr-rs/Cargo.lock ++++ b/vendor/elasticlunr-rs/Cargo.lock +@@ -555,9 +555,9 @@ checksum = "e2abad23fbc42b3700f2f279844d + + [[package]] + name = "libc" +-version = "0.2.140" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "lindera" +--- a/vendor/handlebars/Cargo.lock ++++ b/vendor/handlebars/Cargo.lock +@@ -550,9 +550,9 @@ checksum = "e2abad23fbc42b3700f2f279844d + + [[package]] + name = "libc" +-version = "0.2.140" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "lock_api" +--- a/vendor/icu_locid/Cargo.lock ++++ b/vendor/icu_locid/Cargo.lock +@@ -318,9 +318,9 @@ checksum = "e2abad23fbc42b3700f2f279844d + + [[package]] + name = "libc" +-version = "0.2.141" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "litemap" +--- a/vendor/libffi/Cargo.lock ++++ b/vendor/libffi/Cargo.lock +@@ -10,9 +10,9 @@ checksum = "50d30906286121d95be3d479533b + + [[package]] + name = "libc" +-version = "0.2.140" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "libffi" +--- a/vendor/terminal_size/Cargo.lock ++++ b/vendor/terminal_size/Cargo.lock +@@ -47,9 +47,9 @@ dependencies = [ + + [[package]] + name = "libc" +-version = "0.2.140" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "linux-raw-sys" +--- a/vendor/tracing-tree/Cargo.lock ++++ b/vendor/tracing-tree/Cargo.lock +@@ -100,9 +100,9 @@ checksum = "e2abad23fbc42b3700f2f279844d + + [[package]] + name = "libc" +-version = "0.2.141" ++version = "0.2.146" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" ++checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + + [[package]] + name = "log" diff --git a/dev-lang/rust/files/1.74.1-cross-compile-libz.patch b/dev-lang/rust/files/1.74.1-cross-compile-libz.patch new file mode 100644 index 0000000..f2a881b --- /dev/null +++ b/dev-lang/rust/files/1.74.1-cross-compile-libz.patch @@ -0,0 +1,19 @@ +https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 + +diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs +index f606fa483ca..8a2e1c40e8b 100644 +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -237,10 +237,7 @@ fn main() { + // of llvm-config, not the target that we're attempting to link. + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); +- +- if !is_crossed { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + if (target.starts_with("arm") && !target.contains("freebsd")) + || target.starts_with("mips-") diff --git a/dev-lang/rust/files/1.75.0-handle-vendored-sources.patch b/dev-lang/rust/files/1.75.0-handle-vendored-sources.patch new file mode 100644 index 0000000..c68ceba --- /dev/null +++ b/dev-lang/rust/files/1.75.0-handle-vendored-sources.patch @@ -0,0 +1,45 @@ +From 4b7e0a0b56aa2446e670dfd6558380a1039a86aa Mon Sep 17 00:00:00 2001 +From: Arlo Siemsen +Date: Thu, 4 Jan 2024 11:40:56 -0600 +Subject: [PATCH] Handle vendored sources when remapping paths + +Signed-off-by: Randy Barlow +--- + src/bootstrap/src/core/builder.rs | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs +index 4e20babc55a..3770d0687b2 100644 +--- a/src/bootstrap/src/core/builder.rs ++++ b/src/bootstrap/src/core/builder.rs +@@ -1799,15 +1799,20 @@ pub fn cargo( + } + + if self.config.rust_remap_debuginfo { +- // FIXME: handle vendored sources +- let registry_src = t!(home::cargo_home()).join("registry").join("src"); + let mut env_var = OsString::new(); +- for entry in t!(std::fs::read_dir(registry_src)) { +- if !env_var.is_empty() { +- env_var.push("\t"); +- } +- env_var.push(t!(entry).path()); ++ if self.config.vendor { ++ let vendor = self.build.src.join("vendor"); ++ env_var.push(vendor); + env_var.push("=/rust/deps"); ++ } else { ++ let registry_src = t!(home::cargo_home()).join("registry").join("src"); ++ for entry in t!(std::fs::read_dir(registry_src)) { ++ if !env_var.is_empty() { ++ env_var.push("\t"); ++ } ++ env_var.push(t!(entry).path()); ++ env_var.push("=/rust/deps"); ++ } + } + cargo.env("RUSTC_CARGO_REGISTRY_SRC_TO_REMAP", env_var); + } +-- +2.43.0 + diff --git a/dev-lang/rust/files/1.75.0-musl-dynamic-linking.patch b/dev-lang/rust/files/1.75.0-musl-dynamic-linking.patch new file mode 100644 index 0000000..7dc34f8 --- /dev/null +++ b/dev-lang/rust/files/1.75.0-musl-dynamic-linking.patch @@ -0,0 +1,19 @@ +From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001 +From: Jory Pratt +Date: Tue, 2 Aug 2022 18:32:53 -0500 +Subject: [PATCH] Enable dynamic linking by default for musl + +Signed-off-by: Jory Pratt +--- a/compiler/rustc_target/src/spec/base/linux_musl.rs ++++ b/compiler/rustc_target/src/spec/base/linux_musl.rs +@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions { + base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } +-- +2.35.1 diff --git a/dev-lang/rust/files/1.76.0-loong-code-model.patch b/dev-lang/rust/files/1.76.0-loong-code-model.patch new file mode 100644 index 0000000..02bfeca --- /dev/null +++ b/dev-lang/rust/files/1.76.0-loong-code-model.patch @@ -0,0 +1,73 @@ +https://github.com/rust-lang/rust/pull/120661 +From: WANG Xuerui +Date: Mon, 5 Feb 2024 13:18:32 +0800 +Subject: [PATCH] target: default to the medium code model on LoongArch targets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The Rust LoongArch targets have been using the default LLVM code model +so far, which is "small" in LLVM-speak and "normal" in LoongArch-speak. +As described in the "Code Model" section of LoongArch ELF psABI spec +v20231219 [1], one can only make function calls as far as ±128MiB with +the "normal" code model; this is insufficient for very large software +containing Rust components that needs to be linked into the big text +section, such as Chromium. + +Because: + +* we do not want to ask users to recompile std if they are to build + such software, +* objects compiled with larger code models can be linked with those + with smaller code models without problems, and +* the "medium" code model is comparable to the "small"/"normal" one + performance-wise (same data access pattern; each function call + becomes 2-insn long and indirect, but this may be relaxed back into + the direct 1-insn form in a future LLVM version), but is able to + perform function calls within ±128GiB, + +it is better to just switch the targets to the "medium" code model, +which is also "medium" in LLVM-speak. + +[1]: https://github.com/loongson/la-abi-specs/blob/v2.30/laelf.adoc#code-models +--- a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_linux_gnu.rs ++++ b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_linux_gnu.rs +@@ -1,4 +1,4 @@ +-use crate::spec::{base, Target, TargetOptions}; ++use crate::spec::{base, CodeModel, Target, TargetOptions}; + + pub fn target() -> Target { + Target { +@@ -7,6 +7,7 @@ pub fn target() -> Target { + data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(), + arch: "loongarch64".into(), + options: TargetOptions { ++ code_model: Some(CodeModel::Medium), + cpu: "generic".into(), + features: "+f,+d".into(), + llvm_abiname: "lp64d".into(), +--- a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none.rs ++++ b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none.rs +@@ -16,7 +16,7 @@ pub fn target() -> Target { + max_atomic_width: Some(64), + relocation_model: RelocModel::Static, + panic_strategy: PanicStrategy::Abort, +- code_model: Some(CodeModel::Small), ++ code_model: Some(CodeModel::Medium), + ..Default::default() + }, + } +--- a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none_softfloat.rs ++++ b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none_softfloat.rs +@@ -17,7 +17,7 @@ pub fn target() -> Target { + max_atomic_width: Some(64), + relocation_model: RelocModel::Static, + panic_strategy: PanicStrategy::Abort, +- code_model: Some(CodeModel::Small), ++ code_model: Some(CodeModel::Medium), + ..Default::default() + }, + } +-- +2.43.0 + diff --git a/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 0000000..610e5d0 --- /dev/null +++ b/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,30 @@ +From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 12/15] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- + test/ui/env-funky-keys.rs | 1 + + 6 files changed, 10 insertions(+) + +diff --git a/tests/ui/env-funky-keys.rs b/tests/ui/env-funky-keys.rs +index c5c824ac58d..f3fe047a79c 100644 +--- a/tests/ui/env-funky-keys.rs ++++ b/tests/ui/env-funky-keys.rs +@@ -1,6 +1,7 @@ + //@ run-pass + //@ Ignore this test on Android, because it segfaults there. + ++//@ ignore-test + //@ ignore-android + //@ ignore-windows + //@ ignore-cloudabi no execve +-- +2.24.1 + diff --git a/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch b/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch new file mode 100644 index 0000000..25a281c --- /dev/null +++ b/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch @@ -0,0 +1,19 @@ +From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001 +From: Jory Pratt +Date: Tue, 2 Aug 2022 18:32:53 -0500 +Subject: [PATCH] Enable dynamic linking by default for musl + +Signed-off-by: Jory Pratt +--- a/compiler/rustc_target/src/spec/base/linux_musl.rs ++++ b/compiler/rustc_target/src/spec/base/linux_musl.rs +@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions { + base.link_self_contained = LinkSelfContainedDefault::InferredForMusl; + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } +-- +2.35.1 diff --git a/dev-lang/rust/files/1.79.0-revert-8c40426.patch b/dev-lang/rust/files/1.79.0-revert-8c40426.patch new file mode 100644 index 0000000..583f400 --- /dev/null +++ b/dev-lang/rust/files/1.79.0-revert-8c40426.patch @@ -0,0 +1,18 @@ +This reverts commit 8c40426051a667673cdac9975f84cb6acd4e245f. + +https://bugs.gentoo.org/933382 + +diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs +index d4473e24039..58f351d17fa 100644 +--- a/src/bootstrap/src/core/build_steps/llvm.rs ++++ b/src/bootstrap/src/core/build_steps/llvm.rs +@@ -724,8 +724,7 @@ fn configure_cmake( + } + } + cfg.define("CMAKE_C_COMPILER", sanitize_cc(&cc)) +- .define("CMAKE_CXX_COMPILER", sanitize_cc(&cxx)) +- .define("CMAKE_ASM_COMPILER", sanitize_cc(&cc)); ++ .define("CMAKE_CXX_COMPILER", sanitize_cc(&cxx)); + } + + cfg.build_arg("-j").build_arg(builder.jobs().to_string()); diff --git a/dev-lang/rust/files/1.81.0-backport-bug937164.patch b/dev-lang/rust/files/1.81.0-backport-bug937164.patch new file mode 100644 index 0000000..a6e887d --- /dev/null +++ b/dev-lang/rust/files/1.81.0-backport-bug937164.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/937525 +https://bugs.gentoo.org/937164 + +Unnecessary on 19+ because 2222fddfc0a2ff02036542511597839856289094 adds +SmallVector and SmallVector is fixed by another patch. +--- a/src/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h ++++ b/src/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +@@ -13,6 +13,7 @@ + #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H + #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H + ++#include + #include + #include + diff --git a/dev-lang/rust/files/1.81.0-backport-llvm-pr101761.patch b/dev-lang/rust/files/1.81.0-backport-llvm-pr101761.patch new file mode 100644 index 0000000..fccb22d --- /dev/null +++ b/dev-lang/rust/files/1.81.0-backport-llvm-pr101761.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/937525 +https://bugs.gentoo.org/937164 +https://github.com/llvm/llvm-project/commit/7e44305041d96b064c197216b931ae3917a34ac1 +https://github.com/llvm/llvm-project/pull/101761 + +From 7e44305041d96b064c197216b931ae3917a34ac1 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 2 Aug 2024 23:07:21 +0100 +Subject: [PATCH] [ADT] Add `` to SmallVector (#101761) + +SmallVector uses `uint32_t`, `uint64_t` without including `` +which fails to build w/ GCC 15 after a change in libstdc++ [0] + +[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2 +--- + src/llvm-project/llvm/include/llvm/ADT/SmallVector.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h b/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h +index 09676d792dfebd..17444147b102a9 100644 +--- a/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h ++++ b/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/dev-lang/rust/files/1.81.0-backport-llvm-pr101766.patch b/dev-lang/rust/files/1.81.0-backport-llvm-pr101766.patch new file mode 100644 index 0000000..fdecdaf --- /dev/null +++ b/dev-lang/rust/files/1.81.0-backport-llvm-pr101766.patch @@ -0,0 +1,29 @@ +https://bugs.gentoo.org/937525 +https://bugs.gentoo.org/937164 +https://github.com/llvm/llvm-project/pull/101766 + +From 5b69d0cf697f0d78406a5a7ed18eaa4f57a0580a Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 2 Aug 2024 23:38:55 +0100 +Subject: [PATCH] [AMDGPU] Include `` in AMDGPUMCTargetDesc + +createAMDGPUELFObjectWriter uses `uint8_t` without including `` +which fails to build w/ GCC 15 after a change in libstdc++ [0]. + +[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2 +--- + src/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h b/src/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +index 3ef00f75735b0d..879dbe1b279b18 100644 +--- a/src/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h ++++ b/src/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +@@ -15,6 +15,7 @@ + #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + ++#include + #include + + namespace llvm { diff --git a/dev-lang/rust/files/1.82.0-dwarf-llvm-assertion.patch b/dev-lang/rust/files/1.82.0-dwarf-llvm-assertion.patch new file mode 100644 index 0000000..8c99c9a --- /dev/null +++ b/dev-lang/rust/files/1.82.0-dwarf-llvm-assertion.patch @@ -0,0 +1,247 @@ +https://bugs.gentoo.org/942013 +https://bugs.gentoo.org/942884 +https://github.com/rust-lang/rust/issues/131944 +https://github.com/rust-lang/rust/pull/132613 + +From 1dc106121b62562ead6e7d612fa136dc4b35cd5d Mon Sep 17 00:00:00 2001 +From: Kyle Huey +Date: Mon, 4 Nov 2024 11:38:14 -0800 +Subject: [PATCH] Add discriminators to DILocations when multiple functions are + inlined into a single point. + +LLVM does not expect to ever see multiple dbg_declares for the same variable at the same +location with different values. proc-macros make it possible for arbitrary code, +including multiple calls that get inlined, to happen at any given location in the source +code. Add discriminators when that happens so these locations are different to LLVM. + +This may interfere with the AddDiscriminators pass in LLVM, which is added by the +unstable flag -Zdebug-info-for-profiling. + +Fixes #131944 +--- + .../src/debuginfo/create_scope_map.rs | 60 ++++++++++++++++++- + compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 4 ++ + .../rustc_llvm/llvm-wrapper/RustWrapper.cpp | 8 +++ + .../auxiliary/macro_def.rs | 11 ++++ + .../mir_inlined_twice_var_locs.rs | 53 ++++++++++++++++ + 5 files changed, 133 insertions(+), 3 deletions(-) + create mode 100644 tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs + create mode 100644 tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs + +diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs b/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs +index ac6c2fb1b83a6..0f1909486ec7e 100644 +--- a/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs ++++ b/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs +@@ -1,11 +1,15 @@ ++use std::collections::hash_map::Entry; ++ + use rustc_codegen_ssa::mir::debuginfo::{DebugScope, FunctionDebugContext}; + use rustc_codegen_ssa::traits::*; ++use rustc_data_structures::fx::FxHashMap; + use rustc_index::bit_set::BitSet; + use rustc_index::Idx; + use rustc_middle::mir::{Body, SourceScope}; + use rustc_middle::ty::layout::FnAbiOf; + use rustc_middle::ty::{self, Instance}; + use rustc_session::config::DebugInfo; ++use rustc_span::BytePos; + + use super::metadata::file_metadata; + use super::utils::DIB; +@@ -37,10 +41,20 @@ pub(crate) fn compute_mir_scopes<'ll, 'tcx>( + None + }; + let mut instantiated = BitSet::new_empty(mir.source_scopes.len()); ++ let mut discriminators = FxHashMap::default(); + // Instantiate all scopes. + for idx in 0..mir.source_scopes.len() { + let scope = SourceScope::new(idx); +- make_mir_scope(cx, instance, mir, &variables, debug_context, &mut instantiated, scope); ++ make_mir_scope( ++ cx, ++ instance, ++ mir, ++ &variables, ++ debug_context, ++ &mut instantiated, ++ &mut discriminators, ++ scope, ++ ); + } + assert!(instantiated.count() == mir.source_scopes.len()); + } +@@ -52,6 +66,7 @@ fn make_mir_scope<'ll, 'tcx>( + variables: &Option>, + debug_context: &mut FunctionDebugContext<'tcx, &'ll DIScope, &'ll DILocation>, + instantiated: &mut BitSet, ++ discriminators: &mut FxHashMap, + scope: SourceScope, + ) { + if instantiated.contains(scope) { +@@ -60,7 +75,16 @@ fn make_mir_scope<'ll, 'tcx>( + + let scope_data = &mir.source_scopes[scope]; + let parent_scope = if let Some(parent) = scope_data.parent_scope { +- make_mir_scope(cx, instance, mir, variables, debug_context, instantiated, parent); ++ make_mir_scope( ++ cx, ++ instance, ++ mir, ++ variables, ++ debug_context, ++ instantiated, ++ discriminators, ++ parent, ++ ); + debug_context.scopes[parent] + } else { + // The root is the function itself. +@@ -117,7 +141,37 @@ fn make_mir_scope<'ll, 'tcx>( + // FIXME(eddyb) this doesn't account for the macro-related + // `Span` fixups that `rustc_codegen_ssa::mir::debuginfo` does. + let callsite_scope = parent_scope.adjust_dbg_scope_for_span(cx, callsite_span); +- cx.dbg_loc(callsite_scope, parent_scope.inlined_at, callsite_span) ++ let loc = cx.dbg_loc(callsite_scope, parent_scope.inlined_at, callsite_span); ++ ++ // NB: In order to produce proper debug info for variables (particularly ++ // arguments) in multiply-inline functions, LLVM expects to see a single ++ // DILocalVariable with multiple different DILocations in the IR. While ++ // the source information for each DILocation would be identical, their ++ // inlinedAt attributes will be unique to the particular callsite. ++ // ++ // We generate DILocations here based on the callsite's location in the ++ // source code. A single location in the source code usually can't ++ // produce multiple distinct calls so this mostly works, until ++ // proc-macros get involved. A proc-macro can generate multiple calls ++ // at the same span, which breaks the assumption that we're going to ++ // produce a unique DILocation for every scope we process here. We ++ // have to explicitly add discriminators if we see inlines into the ++ // same source code location. ++ // ++ // Note further that we can't key this hashtable on the span itself, ++ // because these spans could have distinct SyntaxContexts. We have ++ // to key on exactly what we're giving to LLVM. ++ match discriminators.entry(callsite_span.lo()) { ++ Entry::Occupied(mut o) => { ++ *o.get_mut() += 1; ++ unsafe { llvm::LLVMRustDILocationCloneWithBaseDiscriminator(loc, *o.get()) } ++ .expect("Failed to encode discriminator in DILocation") ++ } ++ Entry::Vacant(v) => { ++ v.insert(0); ++ loc ++ } ++ } + }); + + debug_context.scopes[scope] = DebugScope { +diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +index 3d2e270a3868e..75a5ec44c2285 100644 +--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs ++++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +@@ -2174,6 +2174,10 @@ unsafe extern "C" { + Scope: &'a DIScope, + InlinedAt: Option<&'a DILocation>, + ) -> &'a DILocation; ++ pub fn LLVMRustDILocationCloneWithBaseDiscriminator<'a>( ++ Location: &'a DILocation, ++ BD: c_uint, ++ ) -> Option<&'a DILocation>; + pub fn LLVMRustDIBuilderCreateOpDeref() -> u64; + pub fn LLVMRustDIBuilderCreateOpPlusUconst() -> u64; + pub fn LLVMRustDIBuilderCreateOpLLVMFragment() -> u64; +diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +index 9330c83b7f230..cd70c3f266920 100644 +--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp ++++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +@@ -1305,6 +1305,14 @@ LLVMRustDIBuilderCreateDebugLocation(unsigned Line, unsigned Column, + return wrap(Loc); + } + ++extern "C" LLVMMetadataRef ++LLVMRustDILocationCloneWithBaseDiscriminator(LLVMMetadataRef Location, ++ unsigned BD) { ++ DILocation *Loc = unwrapDIPtr(Location); ++ auto NewLoc = Loc->cloneWithBaseDiscriminator(BD); ++ return wrap(NewLoc.has_value() ? NewLoc.value() : nullptr); ++} ++ + extern "C" uint64_t LLVMRustDIBuilderCreateOpDeref() { + return dwarf::DW_OP_deref; + } +diff --git a/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs b/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs +new file mode 100644 +index 0000000000000..159ecfd09743d +--- /dev/null ++++ b/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs +@@ -0,0 +1,11 @@ ++//@ force-host ++//@ no-prefer-dynamic ++#![crate_type = "proc-macro"] ++ ++extern crate proc_macro; ++use proc_macro::*; ++ ++#[proc_macro] ++pub fn square_twice(_item: TokenStream) -> TokenStream { ++ "(square(env::vars().count() as i32), square(env::vars().count() as i32))".parse().unwrap() ++} +diff --git a/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs b/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs +new file mode 100644 +index 0000000000000..c3858044c0c9f +--- /dev/null ++++ b/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs +@@ -0,0 +1,53 @@ ++//@ min-llvm-version: 19 ++//@ compile-flags: -Cdebuginfo=2 -Copt-level=0 -Zmir-enable-passes=+Inline ++// MSVC is different because of the individual allocas. ++//@ ignore-msvc ++ ++//@ aux-build:macro_def.rs ++ ++// Find the variable. ++// CHECK-DAG: ![[#var_dbg:]] = !DILocalVariable(name: "n",{{( arg: 1,)?}} scope: ![[#var_scope:]] ++ ++// Find both dbg_declares. These will proceed the variable metadata, of course, so we're looking ++// backwards. ++// CHECK-DAG: dbg_declare(ptr %n.dbg.spill{{[0-9]}}, ![[#var_dbg]], !DIExpression(), ![[#var_loc2:]]) ++// CHECK-DAG: dbg_declare(ptr %n.dbg.spill, ![[#var_dbg]], !DIExpression(), ![[#var_loc1:]]) ++ ++// Find the first location definition, looking forwards again. ++// CHECK: ![[#var_loc1]] = !DILocation ++// CHECK-SAME: scope: ![[#var_scope:]], inlinedAt: ![[#var_inlinedAt1:]] ++ ++// Find the first location's inlinedAt ++// NB: If we fail here it's *probably* because we failed to produce two ++// different locations and ended up reusing an earlier one. ++// CHECK: ![[#var_inlinedAt1]] = !DILocation ++// CHECK-SAME: scope: ![[var_inlinedAt1_scope:]] ++ ++// Find the second location definition, still looking forwards. ++// NB: If we failed to produce two different locations, the test will ++// definitely fail by this point (if it hasn't already) because we won't ++// be able to find the same line again. ++// CHECK: ![[#var_loc2]] = !DILocation ++// CHECK-SAME: scope: ![[#var_scope]], inlinedAt: ![[#var_inlinedAt2:]] ++ ++// Find the second location's inlinedAt. ++// CHECK: ![[#var_inlinedAt2]] = !DILocation ++// CHECK-SAME: scope: ![[#var_inlinedAt2_scope:]] ++ ++// Finally, check that a discriminator was emitted for the second scope. ++// FIXMEkhuey ideally we would check that *either* scope has a discriminator ++// but I don't know that it's possible to check that with FileCheck. ++// CHECK: ![[#var_inlinedAt2_scope]] = !DILexicalBlockFile ++// CHECK-SAME: discriminator: [[#]] ++extern crate macro_def; ++ ++use std::env; ++ ++fn square(n: i32) -> i32 { ++ n * n ++} ++ ++fn main() { ++ let (z1, z2) = macro_def::square_twice!(); ++ println!("{z1} == {z2}"); ++} diff --git a/dev-lang/rust/files/1.82.0-i586-baseline.patch b/dev-lang/rust/files/1.82.0-i586-baseline.patch new file mode 100644 index 0000000..25c4a1a --- /dev/null +++ b/dev-lang/rust/files/1.82.0-i586-baseline.patch @@ -0,0 +1,44 @@ +Bug: https://bugs.gentoo.org/741708 +From: Ian Jordan +Date: Thu, 01 Nov 204 15:28:39 +0100 +Subject: Change Pentium4 baseline to i586 + +Based on the Debian patch at https://sources.debian.org/patches/rustc/1.80.1%2Bdfsg1-1/behaviour/d-rustc-i686-baseline.patch/ +This lowers baseline from Pentium4 to i586. + +Thanks-to: Debian Rust Maintainers + +--- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs ++++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs +@@ -2,7 +2,7 @@ use crate::spec::{base, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Tar + + pub fn target() -> Target { + let mut base = base::linux_gnu::opts(); +- base.cpu = "pentium4".into(); ++ base.cpu = "pentiumpro".into(); + base.max_atomic_width = Some(64); + base.supported_sanitizers = SanitizerSet::ADDRESS; + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); +--- a/tests/ui/abi/homogenous-floats-target-feature-mixup.rs ++++ b/tests/ui/abi/homogenous-floats-target-feature-mixup.rs +@@ -24,7 +24,8 @@ fn main() { + match std::env::var("TARGET") { + Ok(s) => { + // Skip this tests on i586-unknown-linux-gnu where sse2 is disabled +- if s.contains("i586") { ++ // Debian: our i686 doesn't have SSE 2.. ++ if s.contains("i586") || s.contains("i686") { + return + } + } +--- a/tests/ui/sse2.rs ++++ b/tests/ui/sse2.rs +@@ -16,7 +16,7 @@ fn main() { + } + Err(_) => return, + } +- if cfg!(any(target_arch = "x86", target_arch = "x86_64")) { ++ if cfg!(any(target_arch = "x86_64")) { + assert!(cfg!(target_feature = "sse2"), + "SSE2 was not detected as available on an x86 platform"); + } diff --git a/dev-lang/rust/files/1.83.0-cross-compile-libz.patch b/dev-lang/rust/files/1.83.0-cross-compile-libz.patch new file mode 100644 index 0000000..12844fd --- /dev/null +++ b/dev-lang/rust/files/1.83.0-cross-compile-libz.patch @@ -0,0 +1,21 @@ +https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 + +diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs +index f606fa483ca..8a2e1c40e8b 100644 +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -220,12 +220,7 @@ + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); + +- // Don't link system libs if cross-compiling unless targetting Windows. +- // On Windows system DLLs aren't linked directly, instead import libraries are used. +- // These import libraries are independent of the host. +- if !is_crossed || target.contains("windows") { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + // We need libkstat for getHostCPUName on SPARC builds. + // See also: https://github.com/llvm/llvm-project/issues/64186 diff --git a/dev-lang/rust/files/1.83.0-dwarf-llvm-assertion.patch b/dev-lang/rust/files/1.83.0-dwarf-llvm-assertion.patch new file mode 100644 index 0000000..64d00ac --- /dev/null +++ b/dev-lang/rust/files/1.83.0-dwarf-llvm-assertion.patch @@ -0,0 +1,242 @@ +From 1dc106121b62562ead6e7d612fa136dc4b35cd5d Mon Sep 17 00:00:00 2001 +From: Kyle Huey +Date: Mon, 4 Nov 2024 11:38:14 -0800 +Subject: [PATCH] Add discriminators to DILocations when multiple functions are + inlined into a single point. + +LLVM does not expect to ever see multiple dbg_declares for the same variable at the same +location with different values. proc-macros make it possible for arbitrary code, +including multiple calls that get inlined, to happen at any given location in the source +code. Add discriminators when that happens so these locations are different to LLVM. + +This may interfere with the AddDiscriminators pass in LLVM, which is added by the +unstable flag -Zdebug-info-for-profiling. + +Fixes #131944 +--- + .../src/debuginfo/create_scope_map.rs | 60 ++++++++++++++++++- + compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 4 ++ + .../rustc_llvm/llvm-wrapper/RustWrapper.cpp | 8 +++ + .../auxiliary/macro_def.rs | 11 ++++ + .../mir_inlined_twice_var_locs.rs | 53 ++++++++++++++++ + 5 files changed, 133 insertions(+), 3 deletions(-) + create mode 100644 tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs + create mode 100644 tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs + +diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs b/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs +index ac6c2fb1b83a6..0f1909486ec7e 100644 +--- a/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs ++++ b/compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs +@@ -1,11 +1,15 @@ ++use std::collections::hash_map::Entry; ++ + use rustc_codegen_ssa::mir::debuginfo::{DebugScope, FunctionDebugContext}; + use rustc_codegen_ssa::traits::*; ++use rustc_data_structures::fx::FxHashMap; + use rustc_index::Idx; + use rustc_index::bit_set::BitSet; + use rustc_middle::mir::{Body, SourceScope}; + use rustc_middle::ty::layout::FnAbiOf; + use rustc_middle::ty::{self, Instance}; + use rustc_session::config::DebugInfo; ++use rustc_span::BytePos; + + use super::metadata::file_metadata; + use super::utils::DIB; +@@ -37,10 +41,20 @@ pub(crate) fn compute_mir_scopes<'ll, 'tcx>( + None + }; + let mut instantiated = BitSet::new_empty(mir.source_scopes.len()); ++ let mut discriminators = FxHashMap::default(); + // Instantiate all scopes. + for idx in 0..mir.source_scopes.len() { + let scope = SourceScope::new(idx); +- make_mir_scope(cx, instance, mir, &variables, debug_context, &mut instantiated, scope); ++ make_mir_scope( ++ cx, ++ instance, ++ mir, ++ &variables, ++ debug_context, ++ &mut instantiated, ++ &mut discriminators, ++ scope, ++ ); + } + assert!(instantiated.count() == mir.source_scopes.len()); + } +@@ -52,6 +66,7 @@ fn make_mir_scope<'ll, 'tcx>( + variables: &Option>, + debug_context: &mut FunctionDebugContext<'tcx, &'ll DIScope, &'ll DILocation>, + instantiated: &mut BitSet, ++ discriminators: &mut FxHashMap, + scope: SourceScope, + ) { + if instantiated.contains(scope) { +@@ -60,7 +75,16 @@ fn make_mir_scope<'ll, 'tcx>( + + let scope_data = &mir.source_scopes[scope]; + let parent_scope = if let Some(parent) = scope_data.parent_scope { +- make_mir_scope(cx, instance, mir, variables, debug_context, instantiated, parent); ++ make_mir_scope( ++ cx, ++ instance, ++ mir, ++ variables, ++ debug_context, ++ instantiated, ++ discriminators, ++ parent, ++ ); + debug_context.scopes[parent] + } else { + // The root is the function itself. +@@ -117,7 +141,37 @@ fn make_mir_scope<'ll, 'tcx>( + // FIXME(eddyb) this doesn't account for the macro-related + // `Span` fixups that `rustc_codegen_ssa::mir::debuginfo` does. + let callsite_scope = parent_scope.adjust_dbg_scope_for_span(cx, callsite_span); +- cx.dbg_loc(callsite_scope, parent_scope.inlined_at, callsite_span) ++ let loc = cx.dbg_loc(callsite_scope, parent_scope.inlined_at, callsite_span); ++ ++ // NB: In order to produce proper debug info for variables (particularly ++ // arguments) in multiply-inline functions, LLVM expects to see a single ++ // DILocalVariable with multiple different DILocations in the IR. While ++ // the source information for each DILocation would be identical, their ++ // inlinedAt attributes will be unique to the particular callsite. ++ // ++ // We generate DILocations here based on the callsite's location in the ++ // source code. A single location in the source code usually can't ++ // produce multiple distinct calls so this mostly works, until ++ // proc-macros get involved. A proc-macro can generate multiple calls ++ // at the same span, which breaks the assumption that we're going to ++ // produce a unique DILocation for every scope we process here. We ++ // have to explicitly add discriminators if we see inlines into the ++ // same source code location. ++ // ++ // Note further that we can't key this hashtable on the span itself, ++ // because these spans could have distinct SyntaxContexts. We have ++ // to key on exactly what we're giving to LLVM. ++ match discriminators.entry(callsite_span.lo()) { ++ Entry::Occupied(mut o) => { ++ *o.get_mut() += 1; ++ unsafe { llvm::LLVMRustDILocationCloneWithBaseDiscriminator(loc, *o.get()) } ++ .expect("Failed to encode discriminator in DILocation") ++ } ++ Entry::Vacant(v) => { ++ v.insert(0); ++ loc ++ } ++ } + }); + + debug_context.scopes[scope] = DebugScope { +diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +index 3d2e270a3868e..75a5ec44c2285 100644 +--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs ++++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +@@ -2174,6 +2174,10 @@ unsafe extern "C" { + Scope: &'a DIScope, + InlinedAt: Option<&'a DILocation>, + ) -> &'a DILocation; ++ pub fn LLVMRustDILocationCloneWithBaseDiscriminator<'a>( ++ Location: &'a DILocation, ++ BD: c_uint, ++ ) -> Option<&'a DILocation>; + pub fn LLVMRustDIBuilderCreateOpDeref() -> u64; + pub fn LLVMRustDIBuilderCreateOpPlusUconst() -> u64; + pub fn LLVMRustDIBuilderCreateOpLLVMFragment() -> u64; +diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +index 9330c83b7f230..cd70c3f266920 100644 +--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp ++++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +@@ -1305,6 +1305,14 @@ LLVMRustDIBuilderCreateDebugLocation(unsigned Line, unsigned Column, + return wrap(Loc); + } + ++extern "C" LLVMMetadataRef ++LLVMRustDILocationCloneWithBaseDiscriminator(LLVMMetadataRef Location, ++ unsigned BD) { ++ DILocation *Loc = unwrapDIPtr(Location); ++ auto NewLoc = Loc->cloneWithBaseDiscriminator(BD); ++ return wrap(NewLoc.has_value() ? NewLoc.value() : nullptr); ++} ++ + extern "C" uint64_t LLVMRustDIBuilderCreateOpDeref() { + return dwarf::DW_OP_deref; + } +diff --git a/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs b/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs +new file mode 100644 +index 0000000000000..159ecfd09743d +--- /dev/null ++++ b/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs +@@ -0,0 +1,11 @@ ++//@ force-host ++//@ no-prefer-dynamic ++#![crate_type = "proc-macro"] ++ ++extern crate proc_macro; ++use proc_macro::*; ++ ++#[proc_macro] ++pub fn square_twice(_item: TokenStream) -> TokenStream { ++ "(square(env::vars().count() as i32), square(env::vars().count() as i32))".parse().unwrap() ++} +diff --git a/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs b/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs +new file mode 100644 +index 0000000000000..c3858044c0c9f +--- /dev/null ++++ b/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs +@@ -0,0 +1,53 @@ ++//@ min-llvm-version: 19 ++//@ compile-flags: -Cdebuginfo=2 -Copt-level=0 -Zmir-enable-passes=+Inline ++// MSVC is different because of the individual allocas. ++//@ ignore-msvc ++ ++//@ aux-build:macro_def.rs ++ ++// Find the variable. ++// CHECK-DAG: ![[#var_dbg:]] = !DILocalVariable(name: "n",{{( arg: 1,)?}} scope: ![[#var_scope:]] ++ ++// Find both dbg_declares. These will proceed the variable metadata, of course, so we're looking ++// backwards. ++// CHECK-DAG: dbg_declare(ptr %n.dbg.spill{{[0-9]}}, ![[#var_dbg]], !DIExpression(), ![[#var_loc2:]]) ++// CHECK-DAG: dbg_declare(ptr %n.dbg.spill, ![[#var_dbg]], !DIExpression(), ![[#var_loc1:]]) ++ ++// Find the first location definition, looking forwards again. ++// CHECK: ![[#var_loc1]] = !DILocation ++// CHECK-SAME: scope: ![[#var_scope:]], inlinedAt: ![[#var_inlinedAt1:]] ++ ++// Find the first location's inlinedAt ++// NB: If we fail here it's *probably* because we failed to produce two ++// different locations and ended up reusing an earlier one. ++// CHECK: ![[#var_inlinedAt1]] = !DILocation ++// CHECK-SAME: scope: ![[var_inlinedAt1_scope:]] ++ ++// Find the second location definition, still looking forwards. ++// NB: If we failed to produce two different locations, the test will ++// definitely fail by this point (if it hasn't already) because we won't ++// be able to find the same line again. ++// CHECK: ![[#var_loc2]] = !DILocation ++// CHECK-SAME: scope: ![[#var_scope]], inlinedAt: ![[#var_inlinedAt2:]] ++ ++// Find the second location's inlinedAt. ++// CHECK: ![[#var_inlinedAt2]] = !DILocation ++// CHECK-SAME: scope: ![[#var_inlinedAt2_scope:]] ++ ++// Finally, check that a discriminator was emitted for the second scope. ++// FIXMEkhuey ideally we would check that *either* scope has a discriminator ++// but I don't know that it's possible to check that with FileCheck. ++// CHECK: ![[#var_inlinedAt2_scope]] = !DILexicalBlockFile ++// CHECK-SAME: discriminator: [[#]] ++extern crate macro_def; ++ ++use std::env; ++ ++fn square(n: i32) -> i32 { ++ n * n ++} ++ ++fn main() { ++ let (z1, z2) = macro_def::square_twice!(); ++ println!("{z1} == {z2}"); ++} diff --git a/dev-lang/rust/files/1.84.1-fix-cross.patch b/dev-lang/rust/files/1.84.1-fix-cross.patch new file mode 100644 index 0000000..47d7766 --- /dev/null +++ b/dev-lang/rust/files/1.84.1-fix-cross.patch @@ -0,0 +1,30 @@ +https://github.com/rust-lang/rust/issues/133629 +https://github.com/rust-lang/rust/commit/a24d859f19bbefe5371694f318568b0ab5a13299 + +From: onur-ozkan +Date: Thu, 30 Jan 2025 16:51:08 +0000 +Subject: [PATCH] set rustc dylib on manually constructed rustc command + +Signed-off-by: onur-ozkan +--- a/src/bootstrap/src/core/builder/cargo.rs ++++ b/src/bootstrap/src/core/builder/cargo.rs +@@ -653,7 +653,10 @@ impl Builder<'_> { + // Build proc macros both for the host and the target unless proc-macros are not + // supported by the target. + if target != compiler.host && cmd_kind != Kind::Check { +- let error = command(self.rustc(compiler)) ++ let mut rustc_cmd = command(self.rustc(compiler)); ++ self.add_rustc_lib_path(compiler, &mut rustc_cmd); ++ ++ let error = rustc_cmd + .arg("--target") + .arg(target.rustc_target_arg()) + .arg("--print=file-names") +@@ -661,6 +664,7 @@ impl Builder<'_> { + .arg("-") + .run_capture(self) + .stderr(); ++ + let not_supported = error + .lines() + .any(|line| line.contains("unsupported crate type `proc-macro`")); diff --git a/dev-lang/rust/files/1.85.0-cross-compile-libz.patch b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch new file mode 100644 index 0000000..7bd45c4 --- /dev/null +++ b/dev-lang/rust/files/1.85.0-cross-compile-libz.patch @@ -0,0 +1,26 @@ +From 768f7e50a6d9a3db4e4eef45dcb4c56e9b580389 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Sun, 9 Feb 2025 21:12:43 +1000 +Subject: [PATCH] Update libz cross-compile patch for 9999 (1.86.0) + +See-also: https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +See-also: https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -219,13 +219,7 @@ fn main() { + // of llvm-config, not the target that we're attempting to link. + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); +- +- // Don't link system libs if cross-compiling unless targeting Windows. +- // On Windows system DLLs aren't linked directly, instead import libraries are used. +- // These import libraries are independent of the host. +- if !is_crossed || target.contains("windows") { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + // We need libkstat for getHostCPUName on SPARC builds. + // See also: https://github.com/llvm/llvm-project/issues/64186 +-- +2.48.0 diff --git a/dev-lang/rust/files/1.85.0-musl-dynamic-linking.patch b/dev-lang/rust/files/1.85.0-musl-dynamic-linking.patch new file mode 100644 index 0000000..a6ab967 --- /dev/null +++ b/dev-lang/rust/files/1.85.0-musl-dynamic-linking.patch @@ -0,0 +1,271 @@ +From be965af5421e55c0032a989b220bc0da005d2272 Mon Sep 17 00:00:00 2001 +From: Michal Rostecki +Date: Tue, 25 Feb 2025 16:24:21 +0100 +Subject: [PATCH] Enable dynamic linking by default for musl + +--- + .../src/spec/targets/aarch64_unknown_linux_musl.rs | 3 --- + .../src/spec/targets/arm_unknown_linux_musleabi.rs | 3 +-- + .../src/spec/targets/arm_unknown_linux_musleabihf.rs | 3 +-- + .../src/spec/targets/armv5te_unknown_linux_musleabi.rs | 3 +-- + .../src/spec/targets/armv7_unknown_linux_musleabi.rs | 3 +-- + .../src/spec/targets/armv7_unknown_linux_musleabihf.rs | 3 +-- + .../rustc_target/src/spec/targets/i586_unknown_linux_musl.rs | 2 -- + .../rustc_target/src/spec/targets/i686_unknown_linux_musl.rs | 2 -- + .../src/spec/targets/mips64_unknown_linux_muslabi64.rs | 3 +-- + .../src/spec/targets/mips64el_unknown_linux_muslabi64.rs | 2 -- + .../src/spec/targets/powerpc64_unknown_linux_musl.rs | 2 -- + .../src/spec/targets/powerpc64le_unknown_linux_musl.rs | 2 -- + .../src/spec/targets/powerpc_unknown_linux_musl.rs | 2 -- + .../src/spec/targets/powerpc_unknown_linux_muslspe.rs | 2 -- + .../src/spec/targets/riscv32gc_unknown_linux_musl.rs | 3 +-- + .../rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs | 2 -- + .../src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs | 3 +-- + .../rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs | 2 -- + 18 files changed, 8 insertions(+), 37 deletions(-) + +diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs +index 4fefdfa5c5e..bb65048a56d 100644 +--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs +@@ -12,9 +12,6 @@ pub(crate) fn target() -> Target { + | SanitizerSet::MEMORY + | SanitizerSet::THREAD; + +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; +- + Target { + llvm_target: "aarch64-unknown-linux-musl".into(), + metadata: crate::spec::TargetMetadata { +diff --git a/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabi.rs +index 26241dd0bd4..cab79e2bf7d 100644 +--- a/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabi.rs ++++ b/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabi.rs +@@ -20,8 +20,7 @@ pub(crate) fn target() -> Target { + features: "+strict-align,+v6".into(), + max_atomic_width: Some(64), + mcount: "\u{1}mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabihf.rs +index 4bbde7667b9..c5f6c180a95 100644 +--- a/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabihf.rs ++++ b/compiler/rustc_target/src/spec/targets/arm_unknown_linux_musleabihf.rs +@@ -20,8 +20,7 @@ pub(crate) fn target() -> Target { + features: "+strict-align,+v6,+vfp2,-d32".into(), + max_atomic_width: Some(64), + mcount: "\u{1}mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/armv5te_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/targets/armv5te_unknown_linux_musleabi.rs +index 62619546891..680dafe6943 100644 +--- a/compiler/rustc_target/src/spec/targets/armv5te_unknown_linux_musleabi.rs ++++ b/compiler/rustc_target/src/spec/targets/armv5te_unknown_linux_musleabi.rs +@@ -20,8 +20,7 @@ pub(crate) fn target() -> Target { + max_atomic_width: Some(32), + mcount: "\u{1}mcount".into(), + has_thumb_interworking: true, +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabi.rs +index 0436e0d8df4..e862b28ca92 100644 +--- a/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabi.rs ++++ b/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabi.rs +@@ -24,8 +24,7 @@ pub(crate) fn target() -> Target { + features: "+v7,+thumb2,+soft-float,-neon".into(), + max_atomic_width: Some(64), + mcount: "\u{1}mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabihf.rs +index 22e49f2f1b0..acb7c99cdaf 100644 +--- a/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabihf.rs ++++ b/compiler/rustc_target/src/spec/targets/armv7_unknown_linux_musleabihf.rs +@@ -23,8 +23,7 @@ pub(crate) fn target() -> Target { + features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), + max_atomic_width: Some(64), + mcount: "\u{1}mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/i586_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/i586_unknown_linux_musl.rs +index 8ad93496f3a..623422a89ea 100644 +--- a/compiler/rustc_target/src/spec/targets/i586_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/i586_unknown_linux_musl.rs +@@ -4,7 +4,5 @@ pub(crate) fn target() -> Target { + let mut base = super::i686_unknown_linux_musl::target(); + base.cpu = "pentium".into(); + base.llvm_target = "i586-unknown-linux-musl".into(); +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + base + } +diff --git a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_musl.rs +index 6ba87c732b7..b805b80b85b 100644 +--- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_musl.rs +@@ -6,8 +6,6 @@ pub(crate) fn target() -> Target { + base.max_atomic_width = Some(64); + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "-Wl,-melf_i386"]); + base.stack_probes = StackProbeType::Inline; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + // The unwinder used by i686-unknown-linux-musl, the LLVM libunwind + // implementation, apparently relies on frame pointers existing... somehow. +diff --git a/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs +index 32f5c79d653..9a25fe773fb 100644 +--- a/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs ++++ b/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs +@@ -22,8 +22,7 @@ pub(crate) fn target() -> Target { + abi: "abi64".into(), + endian: Endian::Big, + mcount: "_mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs +index 5e7c37fd46c..4f50e8b7033 100644 +--- a/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs ++++ b/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs +@@ -5,8 +5,6 @@ pub(crate) fn target() -> Target { + base.cpu = "mips64r2".into(); + base.features = "+mips64r2".into(); + base.max_atomic_width = Some(64); +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + Target { + // LLVM doesn't recognize "muslabi64" yet. + llvm_target: "mips64el-unknown-linux-musl".into(), +diff --git a/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs +index a54b17c87a7..a964f417799 100644 +--- a/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs +@@ -7,8 +7,6 @@ pub(crate) fn target() -> Target { + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); + base.max_atomic_width = Some(64); + base.stack_probes = StackProbeType::Inline; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "powerpc64-unknown-linux-musl".into(), +diff --git a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs +index f763c37f535..d0335506f16 100644 +--- a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs +@@ -6,8 +6,6 @@ pub(crate) fn target() -> Target { + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); + base.max_atomic_width = Some(64); + base.stack_probes = StackProbeType::Inline; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "powerpc64le-unknown-linux-musl".into(), +diff --git a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs +index 0cd0ea96ad3..5372a83e29a 100644 +--- a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs +@@ -6,8 +6,6 @@ pub(crate) fn target() -> Target { + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); + base.max_atomic_width = Some(32); + base.stack_probes = StackProbeType::Inline; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "powerpc-unknown-linux-musl".into(), +diff --git a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs +index b86c3c2e8e0..2305db81c5e 100644 +--- a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs ++++ b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs +@@ -6,8 +6,6 @@ pub(crate) fn target() -> Target { + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe"]); + base.max_atomic_width = Some(32); + base.stack_probes = StackProbeType::Inline; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "powerpc-unknown-linux-muslspe".into(), +diff --git a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs +index a07429bb0c5..cf2d7669a8a 100644 +--- a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs +@@ -23,8 +23,7 @@ pub(crate) fn target() -> Target { + llvm_abiname: "ilp32d".into(), + max_atomic_width: Some(32), + supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs +index fbe8c48eca7..7a78004927b 100644 +--- a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs +@@ -12,8 +12,6 @@ pub(crate) fn target() -> Target { + base.stack_probes = StackProbeType::Inline; + base.supported_sanitizers = + SanitizerSet::ADDRESS | SanitizerSet::LEAK | SanitizerSet::MEMORY | SanitizerSet::THREAD; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "s390x-unknown-linux-musl".into(), +diff --git a/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs +index 1149b6d16eb..e1e060c211d 100644 +--- a/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs ++++ b/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs +@@ -27,8 +27,7 @@ pub(crate) fn target() -> Target { + features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".into(), + max_atomic_width: Some(64), + mcount: "\u{1}mcount".into(), +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- crt_static_default: true, ++ crt_static_default: false, + ..base::linux_musl::opts() + }, + } +diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs +index 8dcdc5be8a9..8be0f335db9 100644 +--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs ++++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs +@@ -14,8 +14,6 @@ pub(crate) fn target() -> Target { + | SanitizerSet::MEMORY + | SanitizerSet::THREAD; + base.supports_xray = true; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; + + Target { + llvm_target: "x86_64-unknown-linux-musl".into(), +-- +2.45.3 + diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml new file mode 100644 index 0000000..94b0499 --- /dev/null +++ b/dev-lang/rust/metadata.xml @@ -0,0 +1,36 @@ + + + + + randy@electronsweatshop.com + Randy Barlow + + + navi@vlhl.dev + Anna Figueiredo Gomes + + + matoro_gentoo@matoro.tk + Matoro Mahri + + + rust@gentoo.org + Rust Project + + + Install clippy, Rust code linter + Install dist tarballs (used for bootstrapping) + Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly, sometimes is broken) + Use dev-lang/mrustc to build the bootstrap Rust sysroot from this package's source + Enable nightly (UNSTABLE) features (NOTE: it does not install nightly version, just enables features marked as nightly at time of release) + Build a multi-threaded rustc (experimental, not tested by upstream) + Install rustfmt, Rust code formatter + Install rust-analyzer, A Rust compiler front-end for IDEs (language server) + Install rust-src, needed by developer tools and for build-std (cross) + Use the system LLVM installation + Build support for the wasm32-unknown-unknown target + + + rust-lang/rust + + diff --git a/dev-lang/rust/rust-1.71.1-r101.ebuild b/dev-lang/rust/rust-1.71.1-r101.ebuild new file mode 100644 index 0000000..486836a --- /dev/null +++ b/dev-lang/rust/rust-1.71.1-r101.ebuild @@ -0,0 +1,718 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..12} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# 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[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.71.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=() +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.1-fix-bootstrap-version-comparison.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 +) + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +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", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + 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 = "${RUST_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 = true + 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 = true + 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)/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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 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_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.74.1-r101.ebuild b/dev-lang/rust/rust-1.74.1-r101.ebuild new file mode 100644 index 0000000..de604cf --- /dev/null +++ b/dev-lang/rust/rust-1.74.1-r101.ebuild @@ -0,0 +1,1030 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..12} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +RUST_OPTIONAL=1 + +MRUSTC_VERSION="0.11.2" +MRUSTC_RUST_VERSION="1.74.0" + +inherit check-reqs cmake edo estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +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 ) +" + +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.74.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) + mrustc-bootstrap? ( + ~dev-lang/mrustc-${MRUSTC_VERSION} + dev-build/cmake + sys-devel/gcc:* + ) + !mrustc-bootstrap? ( ${RUST_DEPEND} ) +" + +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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${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 +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + if use mrustc-bootstrap; then + M=$(( 2 * ${M} )) + fi + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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() { + if [[ ${MERGE_TYPE} != binary ]]; then + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + if use mrustc-bootstrap; then + if ! tc-is-gcc; then + die "USE=mrustc-bootstrap reqires that the build environment use GCC" + fi + else + rust_pkg_setup + fi + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi + fi +} + +src_prepare() { + default + # We'll need to revert this after the bootstrap. + if use mrustc-bootstrap; then + pushd "${S}" 2>/dev/null || die + patch -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to patch sources to enable bootstrap with mrustc" + popd 2>/dev/null || die + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + if use mrustc-bootstrap; then + local rust_stage0_root="${WORKDIR}/bootstrap/rust-${PV}" + else + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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" + fi + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + 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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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)/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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 +} + +# Build a very minimal llvm that we can use for bootstrap rustc codegen +llvm_bootstrap() { + # Reference ${P}/src/bootstrap/native.rs for these values + local llvm_cmake_opts=( + "-G Ninja" + "-DLLVM_TARGET_ARCH=${CFG_COMPILER_HOST_TRIPLE%%-*}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${CFG_COMPILER_HOST_TRIPLE}" + "-DLLVM_TARGETS_TO_BUILD=${BOOTSTRAP_LLVM_TARGETS:=X86;ARM;AArch64}" #;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX + "-DLLVM_ENABLE_ASSERTIONS=OFF" + "-DLLVM_INCLUDE_EXAMPLES=OFF" + "-DLLVM_INCLUDE_TESTS=OFF" + "-DLLVM_INCLUDE_DOCS=OFF" + "-DLLVM_INCLUDE_BENCHMARKS=OFF" + "-DLLVM_ENABLE_ZLIB=OFF" + "-DLLVM_ENABLE_TERMINFO=OFF" + "-DLLVM_ENABLE_LIBEDIT=OFF" + "-DCMAKE_CXX_COMPILER=$(tc-getCXX)" + "-DCMAKE_C_COMPILER=$(tc-getCC)" + "-DCMAKE_BUILD_TYPE=Release" + ) + + if [[ -z "${LLVM_CMAKE_OPTS_EXTRA}" ]]; then + llvm_cmake_opts+=( "${LLVM_CMAKE_OPTS_EXTRA}") + fi + + elog "Building bootstrap llvm ..." + + mkdir -p "${WORKDIR}/bootstrap/llvm" || die + pushd "${WORKDIR}/bootstrap/llvm" 2>/dev/null || die + edo cmake ${llvm_cmake_opts[*]} "${S}/src/llvm-project/llvm" + eninja || die "Failed to build bootstrap llvm" + popd 2>/dev/null || die +} + +# High level steps: +# Our system mrustc package has built stdlib for our current platform. +# - Step 1: Use system-installed mrustc, (m)rust(c) stdlib, and minicargo to +# bootstrap a `cargo` and `rustc` (mrustc-stage0) +# - Step 2: Use minicargo and the built `rustc` to build a working `sysroot` +# (includes `std`, `panic_unwind``, `test`, etc.) (mrustc-stage0) +# - Step 3: Build build libs again (this time using `cargo` and `rustc`) (mrustc-stage1) +# - Step 4: Build a `rustc` using those libs (mrustc-stage1) +# - Done so there's an optimised rustc arollvm_cmake_optsund (mrustc is bad at codegen) +# - Step 5: Build `libstd` with this `rustc` (mrustc-stage2) +# - Needed to match ABIs +# Stages: +# - mrustc-stage0: mrustc-built cargo and rustc +# - mrustc-stage1: rustc and sysroot built with mrustc-stage0 +# - mrustc-stage2: rustc from stage1 with sysroot built with stage0 +# See: +# - https://github.com/thepowersgang/mrustc/blob/master/run_rustc/Makefile +# - https://github.com/thepowersgang/mrustc/blob/master/TestRustcBootstrap.sh +# - Upstream Windows .cmd files are also a good reference for early bootstrap +mrustc_bootstrap() { + export RUSTC_BOOTSTRAP=1 # Possibly the only intended use of this variable in ::gentoo + # export these variables now and unset them at the end of the function so they don't leak + # into the rest of the build. + export CFG_COMPILER_HOST_TRIPLE="$(rust_abi)" + export CFG_RELEASE="${MRUSTC_RUST_VERSION}" # Let's pretend we're 1.74.0 + export CFG_RELEASE_CHANNEL="stable" + export CFG_VERSION="${MRUSTC_RUST_VERSION}-stable-mrustc" + export CFG_PREFIX="mrustc" + export CFG_LIBDIR_RELATIVE="lib" + export RUSTC_INSTALL_BINDIR="bin" + export REAL_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" + + # These flags are used in every invocation of our bootstrap `cargo`. + local cargo_flags="--target ${CFG_COMPILER_HOST_TRIPLE} -j $(makeopts_jobs) --release --verbose" + + if use system-llvm; then + export LLVM_CONFIG="$(get_llvm_prefix)/bin/llvm-config" + else + llvm_bootstrap + export LLVM_CONFIG="${WORKDIR}/bootstrap/llvm/bin/llvm-config" + fi + + # define the mrustc sysroot and common minicargo arguments. + local mrustc_sysroot="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + local minicargo_common_args=( + "-L" "${mrustc_sysroot}" + "-j" "$(makeopts_jobs)" + "--vendor-dir" "${S}/vendor" + "--manifest-overrides" + "${BROOT}/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-overrides.toml" + ) + # There's a very good chance that minicargo and mrustc are not in the PATH. + if ! command -v minicargo &> /dev/null; then + export PATH="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/bin:${PATH}" + fi + # Sanity check our bootstrap compiler & stdlib. + elog "Sanity checking mrustc and stdlib ..." + edo mrustc "${S}/tests/ui/hello_world/main.rs" -L "${mrustc_sysroot}" -o "${T}"/hello -g + "${T}"/hello || die "Failed to run hello_world" + # Seems fine, let's build some tools! + + # Step 1: Build a `cargo` and `rustc` using system-installed mrustc + # Anything we produce is going to be terribly unoptimised; mrustc does not do fantastic codegen. + # It's good enough to bootstrap the "real" rustc though. + elog "Building bootstrap cargo and rustc using mrustc and minicargo (mrustc-stage0) ..." + local stage0="${WORKDIR}/bootstrap/mrustc-stage0" + mkdir -p "${stage0}" || die + edo minicargo "${S}"/src/tools/cargo --output-dir "${stage0}"/cargo-build ${minicargo_common_args[*]} + "${stage0}"/cargo-build/cargo --version || die "Bootstrap cargo failed basic sanity check" + edo minicargo "${S}"/compiler/rustc --output-dir "${stage0}"/rustc-build ${minicargo_common_args[*]} \ + --features llvm + "${stage0}"/rustc-build/rustc_main --version || die "Bootstrap rustc failed basic sanity check" + # minicargo has special-casing for `rustc` so we need to rename it. + mv "${stage0}"/rustc-build/rustc_main "${stage0}"/rustc-build/rustc || die "Failed to rename rustc_main to rustc" + # rustc wants these here + mkdir -p "${stage0}"/codegen-backends || die + mv "${stage0}"/rustc-build/librustc_codegen_llvm.* "${stage0}"/codegen-backends || die + + # Step 2: use the bootstrapped rustc to build sysroot; we need to use `minicargo` for this - + # mrustc does not accept all of the arguments that rustc does, even with the rustc_proxy wrapper. + # `--script-overrides`: If the overrides are available, build scripts (and build-deps) are not built + # which is good since we don't have a working compiler yet, and can't build them. + + local stage0_sysroot_lib="${stage0}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + # minicargo <= 0.11.2 doesn't create this directory and silently fails, besides it's better to be explicit, right? + mkdir -p "${stage0_sysroot_lib}" || die "Failed to create stage0 directory" + + elog "Building 'sysroot' using bootstrap rustc (mrustc-stage0) ..." + edo env MRUSTC_PATH="${stage0}/rustc-build/rustc" minicargo -j $(makeopts_jobs) --vendor-dir "${S}"/vendor \ + --script-overrides "${BROOT}/usr/share/mrustc-0.11.2/script-overrides/stable-${MRUSTC_RUST_VERSION}-linux/" \ + --output-dir "${stage0_sysroot_lib}" "${S}"/library/sysroot || + die "Failed to build sysroot with bootstrap rust (mrustc-stage0)" + + elog "Sanity checking sysroot and rustc ..." + mkdir -p "${T}"/stage0-hello || die + edo "${stage0}"/rustc-build/rustc -L "${stage0_sysroot_lib}" -g "${S}/tests/ui/hello_world/main.rs" \ + -o "${T}"/stage0-hello/hello + "${T}"/stage0-hello/hello || die "Failed to run hello_world built with bootstrap rust stage0" + + elog "mrustc bootstrap stage0 complete!" + + # Step 3: Build a "proper" libstd, including dynamic libs using our bootstrap cargo and rustc. + elog "Building 'sysroot' with the stage0 rustc (mrustc-stage1) ..." + local stage1="${WORKDIR}/bootstrap/mrustc-stage1" + local stage1_sysroot_lib="${stage1}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage1_sysroot_lib}" || die "Failed to create stage1 directory" + mkdir -p "${stage1}/bin" || die + + # Simplified to avoid calling rustc_proxy; We don't need stage1 rustc until after this is built... + edo env RUSTFLAGS="-Z force-unstable-if-unmarked" CARGO_TARGET_DIR="${stage1}/sysroot-build" \ + RUSTC="${stage0}/rustc-build/rustc" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/library/sysroot/Cargo.toml" --features panic-unwind + + # Move the built libs into the sysroot libdir. + mv "${stage1}/sysroot-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} \ + "${stage1_sysroot_lib}" || die "Failed to move stage1 libs to stage1 sysroot" + + # We need to copy the stage0 rustc to the stage1 sysroot; this "updates" the sysroot location and enables + # resolution of stage1 libs. (run `rustc --print sysroot` on stage0 and stage1 rustc to verify) + cp "${stage0}/rustc-build/rustc" "${stage1}/bin/rustc" || die "Failed to copy rustc to stage1 sysroot" + + # Step 4: Build `rustc` with itself, so we have a rustc with the right ABI. + # This will be our final `rustc` for the bootstrap process. + elog "Building rustc with stage1 libs (mrustc-stage1) ..." + mkdir -p "${stage1}/rustc-build" || die + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + LD_LIBRARY_PATH="${stage2_sysroot_lib}" CARGO_TARGET_DIR="${stage1}/rustc-build" \ + RUSTC="${stage1}/bin/rustc" TMPDIR="${T}" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/compiler/rustc/Cargo.toml" --features llvm + + # Step 5: Build `sysroot` with this `rustc` - Needed to match ABI + # We need to use the previous sysroot; we could reuse that dir but it's easier to just copy it. + elog "Building final 'sysroot' with the final rustc (mrustc-stage2) ..." + local stage2="${WORKDIR}/bootstrap/mrustc-stage2" + local stage2_sysroot_lib="${stage2}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage2_sysroot_lib}" || die "Failed to create stage2 directory" + mkdir -p "${stage2}/bin" || die + + # Copy required files from stage1 to stage2 sysroot + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${stage2}/bin/rustc_binary" || + die "Failed to copy final rustc to stage2 sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${stage2}/lib" || + die "Failed to copy librustc_driver to sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${stage2_sysroot_lib}" || + die "Failed to copy final rustc libs to stage2 sysroot" + cp "${stage1_sysroot_lib}"/* "${stage2_sysroot_lib}" || die "Failed to copy stage1 so files to stage2 sysroot" + + # There's a magic script used in place of rustc so that libs can be found + cat <<- EOF > "${stage2}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${stage2}/lib:${stage2_sysroot_lib}" ${stage2}/bin/rustc_binary "\$@" + EOF + chmod +x "${stage2}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Use rustc to build 'sysroot'; this is the final step in the bootstrap process. + # rpath probably isn't needed here, but it doesn't hurt. + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + CARGO_TARGET_DIR="${stage2}/stdlib-build" RUSTC="${stage2}/bin/rustc" \ + "${stage0}"/cargo-build/cargo build ${cargo_flags} --manifest-path "${S}/library/sysroot/Cargo.toml" \ + --features panic-unwind + + # Build our final output sysroot + local output="${WORKDIR}/bootstrap/rust-${PV}" + local output_sysroot_lib="${output}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${output_sysroot_lib}" || die "Failed to create output directory" + mkdir -p "${output}/bin" || die "Failed to create output directory" + + # Copy our various output files into the output sysroot + # rustc + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${output}/bin/rustc_binary" || + die "Failed to copy final rustc to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${output}/lib" || + die "Failed to copy librustc_driver to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${output_sysroot_lib}" || + die "Failed to copy final rustc libs to output" + # cargo; no need to build an optimised cargo if we're using this to build a complelety new Rust. + cp "${stage0}/cargo-build/cargo" "${output}/bin/cargo" || die "Failed to copy cargo to output" + # libs + mv "${stage2}/stdlib-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} "${output_sysroot_lib}" || + die "Failed to copy stage2 libs to output" + # Our trusty rustc wrapper + cat <<- EOF > "${output}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${output}/lib:${output_sysroot_lib}" ${output}/bin/rustc_binary "\$@" + EOF + chmod +x "${output}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Perform a sanity check on the final Rust. + mkdir -p "${T}"/output-hello || die + edo "${output}/bin/rustc" -L "${output_sysroot_lib}" -g "${S}/tests/ui/hello_world/main.rs" \ + -o "${T}"/output-hello/hello + "${T}"/output-hello/hello || die "Failed to run hello_world built with bootstrapped Rust" + + elog "Successfully bootstrapped Rust using mrustc!" + + # Note: The Rust sysroot that we've produced is pretty close to what we'd expect from a normal Rust build. + # If someone was so inclined they could build an optimised cargo using the stage2 rustc and sysroot, + # and install the output directly. This is untested, as I'm sure there's more to it than that. + # I'm satisfied with being able to build Rust normally at this point. + + # Tidy up the Rust sources; revert mrustc changes so Rust can be built normally. + pushd "${S}" 2>/dev/null || die + patch -R -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to revert mrustc patches" + popd 2>/dev/null || die + + # Tidy up any environment variables we've set in the bootstrap process. + unset CFG_COMPILER_HOST_TRIPLE CFG_RELEASE CFG_RELEASE_CHANNEL CFG_PREFIX CFG_VERSION + unset CFG_LIBDIR_RELATIVE LLVM_CONFIG REAL_LIBRARY_PATH_VAR RUSTFLAGS RUSTC_BOOTSTRAP RUSTC_INSTALL_BINDIR +} + +src_compile() { + use mrustc-bootstrap && mrustc_bootstrap + 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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + 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_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.75.0-r101.ebuild b/dev-lang/rust/rust-1.75.0-r101.ebuild new file mode 100644 index 0000000..2f117a5 --- /dev/null +++ b/dev-lang/rust/rust-1.75.0-r101.ebuild @@ -0,0 +1,750 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..12} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.75.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + # This patch shouldn't be necessary for later versions of Rust because its + # code was backported from master. + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + 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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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)/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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + 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_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.76.0-r101.ebuild b/dev-lang/rust/rust-1.76.0-r101.ebuild new file mode 100644 index 0000000..0e84286 --- /dev/null +++ b/dev-lang/rust/rust-1.76.0-r101.ebuild @@ -0,0 +1,667 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..12} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.76.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch + "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0 +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + 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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + + 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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + 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_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.77.1-r101.ebuild b/dev-lang/rust/rust-1.77.1-r101.ebuild new file mode 100644 index 0000000..6ce8d3e --- /dev/null +++ b/dev-lang/rust/rust-1.77.1-r101.ebuild @@ -0,0 +1,749 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..12} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.77.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0 +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + 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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + 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_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.78.0-r101.ebuild b/dev-lang/rust/rust-1.78.0-r101.ebuild new file mode 100644 index 0000000..ce55fe8 --- /dev/null +++ b/dev-lang/rust/rust-1.78.0-r101.ebuild @@ -0,0 +1,752 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.78.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.79.0-r101.ebuild b/dev-lang/rust/rust-1.79.0-r101.ebuild new file mode 100644 index 0000000..e0613cc --- /dev/null +++ b/dev-lang/rust/rust-1.79.0-r101.ebuild @@ -0,0 +1,752 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.79.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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-demangler + /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 miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.80.1-r101.ebuild b/dev-lang/rust/rust-1.80.1-r101.ebuild new file mode 100644 index 0000000..35561eb --- /dev/null +++ b/dev-lang/rust/rust-1.80.1-r101.ebuild @@ -0,0 +1,749 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ + optfeature python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.80.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.81.0-r101.ebuild b/dev-lang/rust/rust-1.81.0-r101.ebuild new file mode 100644 index 0000000..d43ae1b --- /dev/null +++ b/dev-lang/rust/rust-1.81.0-r101.ebuild @@ -0,0 +1,753 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.81.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch + "${FILESDIR}/1.81.0-backport-bug937164.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101761.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101766.patch" +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.82.0-r102.ebuild b/dev-lang/rust/rust-1.82.0-r102.ebuild new file mode 100644 index 0000000..46f7eae --- /dev/null +++ b/dev-lang/rust/rust-1.82.0-r102.ebuild @@ -0,0 +1,764 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.82.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.82.0-dwarf-llvm-assertion.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # 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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" + if has_version -b ${old_rust}; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + local only_one_file=() + einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + case ${#matching_files[@]} in + 2) + einfo "Removing old .${ext}: ${f}" + rm "${f}" || die + ;; + 1) + # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, + # so we may have already installed over the old file. + # We'll warn about this just in case, but it's probably fine. + only_one_file+=( "${matching_files[0]}" ) + ;; + *) + die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + ;; + esac + done + if [[ ${#only_one_file} -gt 0 ]]; then + einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," + einfo "the following file(s) did not have a duplicate where one was expected:" + for f in "${only_one_file[@]}"; do + einfo " * ${f}" + done + einfo "" + einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." + einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." + fi + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + optfeature "Emacs support" "app-emacs/rust-mode" + optfeature "Vim support" "app-vim/rust-vim" +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.83.0-r2.ebuild b/dev-lang/rust/rust-1.83.0-r2.ebuild new file mode 100644 index 0000000..1674cdd --- /dev/null +++ b/dev-lang/rust/rust-1.83.0-r2.ebuild @@ -0,0 +1,746 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.83.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.83.0-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.83.0-dwarf-llvm-assertion.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # 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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_preinst() { + # 943308 and friends; basically --keep-going can forget to unmerge old rust + # but the soft blocker allows us to install conflicting files. + # This results in duplicated .{rlib,so} files which confuses rustc and results in + # the need for manual intervention. + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # we need to find all .{rlib,so} files in the old rust lib directory + # and store them in an array for later use + readarray -d '' old_rust_libs < <( + find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ + -type f \( -name '*.rlib' -o -name '*.so' \) -print0) + export old_rust_libs + if [[ ${#old_rust_libs[@]} -gt 0 ]]; then + einfo "Found old .rlib and .so files in the old rust lib directory" + else + die "Found no old .rlib and .so files but old rust version is installed. Bailing!" + fi + fi +} + +pkg_postinst() { + + if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then + # Be _extra_ careful here as we're removing files from the live filesystem + local f + for f in "${old_rust_libs[@]}"; do + [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" + local base_name="${f%-*}" + local ext="${f##*.}" + local matching_files=("${base_name}"-*.${ext}) + if [[ ${#matching_files[@]} -ne 2 ]]; then + die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" + fi + einfo "Removing old .rlib file ${f}" + rm "${f}" || die + done + fi + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.84.0-r1.ebuild b/dev-lang/rust/rust-1.84.0-r1.ebuild new file mode 100644 index 0000000..154417e --- /dev/null +++ b/dev-lang/rust/rust-1.84.0-r1.ebuild @@ -0,0 +1,711 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +ALL_LLVM_EXPERIMENTAL_TARGETS=( ) + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if [[ "${_xx}" == "${_x}" ]] ; then + ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + break + fi + done +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.83.0-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${LLVM_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # 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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + 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 llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.84.1-r1.ebuild b/dev-lang/rust/rust-1.84.1-r1.ebuild new file mode 100644 index 0000000..a4ca3f5 --- /dev/null +++ b/dev-lang/rust/rust-1.84.1-r1.ebuild @@ -0,0 +1,711 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV} +RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust 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" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +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 ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +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.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.83.0-cross-compile-libz.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.84.1-fix-cross.patch # already upstreamed +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # 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 + + 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 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//bin/rustc- + # 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}" + use rust-analyzer && 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_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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/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 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + 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 llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.85.0-r1.ebuild b/dev-lang/rust/rust-1.85.0-r1.ebuild new file mode 100644 index 0000000..404ac95 --- /dev/null +++ b/dev-lang/rust/rust-1.85.0-r1.ebuild @@ -0,0 +1,800 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.85.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/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.85.0-cross-compile-libz.patch + "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + verify-sig_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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 [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.85.0.ebuild b/dev-lang/rust/rust-1.85.0.ebuild new file mode 100644 index 0000000..11cd284 --- /dev/null +++ b/dev-lang/rust/rust-1.85.0.ebuild @@ -0,0 +1,799 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.85.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/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.85.0-cross-compile-libz.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + verify-sig_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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 [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild b/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild new file mode 100644 index 0000000..82580fa --- /dev/null +++ b/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild @@ -0,0 +1,807 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${DISTDIR}"/${P}-vendor-in-install-phase.patch + "${FILESDIR}"/1.85.0-cross-compile-libz.patch + "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + # Until upstream merge this patch we can't use the default verify-sig_src_unpack + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/rustc-${PV}-src.tar.xz" \ + "${DISTDIR}/rustc-${PV}-src.tar.xz.asc" + fi + default_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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 [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.86.0_beta20250225.ebuild b/dev-lang/rust/rust-1.86.0_beta20250225.ebuild new file mode 100644 index 0000000..00795f5 --- /dev/null +++ b/dev-lang/rust/rust-1.86.0_beta20250225.ebuild @@ -0,0 +1,807 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src +system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${DISTDIR}"/${P}-vendor-in-install-phase.patch + "${FILESDIR}"/1.85.0-cross-compile-libz.patch + "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + # Until upstream merge this patch we can't use the default verify-sig_src_unpack + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/rustc-${PV}-src.tar.xz" \ + "${DISTDIR}/rustc-${PV}-src.tar.xz.asc" + fi + default_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#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 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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/base/wasm.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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin 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)/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 + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + 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/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + 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)/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 + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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 [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest new file mode 100644 index 0000000..4ff0f21 --- /dev/null +++ b/dev-lang/spidermonkey/Manifest @@ -0,0 +1,12 @@ +DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9 +DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520 +DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B 9501b617b346d56f6de975f88974be6fdc3d4a901b2a1b952b6bbf6cc46384084260078d23c52bedff83a65bec4ea5ec78c3bcaac86c78d0b44e796317534840 SHA512 b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550 +DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f SHA512 186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90 +DIST firefox-128.4.0esr.source.tar.xz 558619512 BLAKE2B 1f0528c8806bb034af623f2022740bb5056ea11817b9cb7154a60b87f04051ba5ae06b0daf55e6b03b7531c369deb871d3d3579a86f3ca19f3ab71ccb45243f9 SHA512 e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3 +DIST firefox-128.6.0esr.source.tar.xz 563259116 BLAKE2B 401c54e4c3e81dd1d4aa9fed072e5266a7549d9ac05e03f9755d3da192c9c46d2bc636e8bf0a7fad2269074615789ab274b897c8bd75fd524f4a5f138c3aa1d5 SHA512 49bce966e062766861712bd65cca46a438b339fe31598f69e4fe64da78ef6f8b4581c1d502341ef1c032aafaab2f4f88e69cb93a0b845ba7173fec277ae695b5 +DIST firefox-128.7.0esr.source.tar.xz 569300208 BLAKE2B 08bf5b571707b7a5acf1ebde12e370be5999e3ac8cac2e952fae635faa16e07ba4d9d0a00b304ba43b5a327c825cae04c1ccf8434456e27d4c396e5b09a4b6a7 SHA512 26f9661b395b85a44b42bd72ef1ad976c614216c68f6c2dd834d0ac8b84b9c9f398b8ac550a47396995d96e6bb5fa9a50064d7f2f526bddd45aed5039ef131b8 +DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81 +DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e +DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185 +DIST spidermonkey-115-patches-02.tar.xz 4896 BLAKE2B f78d9804c1427b45d6fda496b4991ec6f672dec9ce031ed57a2920fa1968c942a235f46e40166c8ab8d731a1963f322d34bb2f6984133179175e6f7376d27d13 SHA512 11fd01152d1e7b8ca89bf628076e1f4fb4f1ba6c9dc0f9dd544252495c580c04e4d5ffc238d5587f9e993aa91a47828333564ca55f60e008bd370089cd07d2e6 +DIST spidermonkey-128-patches-02.tar.xz 3916 BLAKE2B b6640860ea091b22c61b2a78da5004816a08ab9fb39fda04ae76fe48a3a8061770d6d6e451e5f34951aa3f63473dd77d3dde8b60aec80b4c31f1b29064ce68ee SHA512 3f2d272a36ca2ac831de9108769c68e380be4e8bba7071d02686699702acac6a9325e4256d9c5c2441c3742552179031b0898d3f96f08477857fd6e989596ee6 diff --git a/dev-lang/spidermonkey/files/spidermonkey-102-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-102-known-test-failures.txt new file mode 100644 index 0000000..ad24595 --- /dev/null +++ b/dev-lang/spidermonkey/files/spidermonkey-102-known-test-failures.txt @@ -0,0 +1,105 @@ +non262/Date/15.9.5.7.js +non262/Date/reset-time-zone-cache-same-offset.js +non262/Date/time-zone-etc_localetime.js +non262/Date/time-zones-historic.js +non262/Date/time-zones-imported.js +non262/Date/toString-localized-posix.js +non262/Date/toString-localized.js +non262/Intl/Array/toLocaleString-date.js +non262/Intl/Collator/collation.js +non262/Intl/Date/toLocaleString_timeZone.js +non262/Intl/Date/toLocaleTimeString_timeZone.js +non262/Intl/DateTimeFormat/day-period-hour-cycle.js +non262/Intl/DateTimeFormat/extended-time-zone-names.js +non262/Intl/DateTimeFormat/field-widths.js +non262/Intl/DateTimeFormat/format.js +non262/Intl/DateTimeFormat/formatRange-hour-cycle.js +non262/Intl/DateTimeFormat/formatToParts.js +non262/Intl/DateTimeFormat/format_timeZone.js +non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js +non262/Intl/DateTimeFormat/hourCycle.js +non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js +non262/Intl/DateTimeFormat/timeZone_backzone.js +non262/Intl/DateTimeFormat/timeZone_version.js +non262/Intl/DisplayNames/calendar.js +non262/Intl/DisplayNames/dateTimeField.js +non262/Intl/DisplayNames/language-dialect.js +non262/Intl/ListFormat/conjunction-type.js +non262/Intl/Locale/likely-subtags-generated.js +non262/Intl/Locale/likely-subtags.js +non262/Intl/NumberFormat/currency-narrow-symbol.js +non262/Intl/NumberFormat/format.js +non262/Intl/NumberFormat/notation-compact-long.js +non262/Intl/available-locales-resolved.js +non262/Intl/available-locales-supported.js +non262/Intl/supportedValuesOf-timeZones-canonical.js +test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js +test262/built-ins/RegExp/property-escapes/generated/Assigned.js +test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js +test262/built-ins/RegExp/property-escapes/generated/Cased.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js +test262/built-ins/RegExp/property-escapes/generated/Diacritic.js +test262/built-ins/RegExp/property-escapes/generated/Emoji.js +test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js +test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js +test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js +test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js +test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/ID_Start.js +test262/built-ins/RegExp/property-escapes/generated/Ideographic.js +test262/built-ins/RegExp/property-escapes/generated/Lowercase.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js +test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js +test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js +test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js +test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/XID_Start.js +test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js +test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js +test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js +test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js +test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js +test262/intl402/Locale/constructor-non-iana-canon.js +test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt new file mode 100644 index 0000000..0788f0f --- /dev/null +++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt @@ -0,0 +1,45 @@ +non262/Date/time-zone-etc_localetime.js +non262/Intl/Collator/big5han-gb2312han.js +non262/Intl/Collator/implicithan.js +non262/Intl/DateTimeFormat/day-period-hour-cycle.js +non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js +non262/Intl/DateTimeFormat/related-year.js +non262/Intl/DateTimeFormat/timeZone_backzone.js +non262/Intl/DateTimeFormat/timeZone_version.js +non262/Intl/DisplayNames/calendar.js +non262/Intl/DisplayNames/currency.js +non262/Intl/DisplayNames/language-dialect.js +non262/Intl/ListFormat/conjunction-type.js +non262/Intl/Locale/likely-subtags-generated.js +non262/Intl/Locale/likely-subtags.js +non262/Intl/NumberFormat/currency-narrow-symbol.js +non262/Intl/available-locales-resolved.js +non262/Intl/available-locales-supported.js +non262/Intl/supportedValuesOf-timeZones-canonical.js +non262/Intl/supportedValuesOf-timeZones.js +test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js +test262/built-ins/RegExp/property-escapes/generated/Assigned.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js +test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js +test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js +test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/ID_Start.js +test262/built-ins/RegExp/property-escapes/generated/Ideographic.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js +test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js +test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js +test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/XID_Start.js +test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js +test262/intl402/Locale/likely-subtags.js diff --git a/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt new file mode 100644 index 0000000..eaa7f00 --- /dev/null +++ b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt @@ -0,0 +1,157 @@ +non262/Date/15.9.5.7.js +non262/Date/time-zone-etc_localetime.js +non262/Intl/Array/toLocaleString-number.js +non262/Intl/Collator/big5han-gb2312han.js +non262/Intl/Collator/implicithan.js +non262/Intl/DateTimeFormat/day-period-hour-cycle.js +non262/Intl/DateTimeFormat/era.js +non262/Intl/DateTimeFormat/extended-time-zone-names.js +non262/Intl/DateTimeFormat/format-timeZone-offset.js +non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js +non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js +non262/Intl/DateTimeFormat/formatRange-timeZoneName.js +non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js +non262/Intl/DateTimeFormat/islamic.js +non262/Intl/DateTimeFormat/related-year.js +non262/Intl/DateTimeFormat/timeZone_version.js +non262/Intl/DateTimeFormat/tz-environment-variable.js +non262/Intl/DisplayNames/calendar.js +non262/Intl/DisplayNames/currency.js +non262/Intl/DisplayNames/dateTimeField.js +non262/Intl/DisplayNames/language-dialect.js +non262/Intl/ListFormat/conjunction-type.js +non262/Intl/Locale/likely-subtags-generated.js +non262/Intl/Locale/likely-subtags.js +non262/Intl/NumberFormat/currency-narrow-symbol.js +non262/Intl/NumberFormat/formatRange.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-compact.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-currency.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-percent.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-signDisplay.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-unit.js +non262/Intl/NumberFormat/formatRangeToParts-approximately-sign.js +non262/Intl/NumberFormat/formatRangeToParts.js +non262/Intl/RelativeTimeFormat/locale-fallback-handling.js +non262/Intl/TypedArray/toLocaleString.js +non262/Intl/available-locales-resolved.js +non262/Intl/available-locales-supported.js +non262/Intl/supportedValuesOf-timeZones-canonical.js +non262/Intl/supportedValuesOf-timeZones.js +test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js +test262/built-ins/RegExp/property-escapes/generated/Assigned.js +test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js +test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js +test262/built-ins/RegExp/property-escapes/generated/Cased.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js +test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js +test262/built-ins/RegExp/property-escapes/generated/Dash.js +test262/built-ins/RegExp/property-escapes/generated/Diacritic.js +test262/built-ins/RegExp/property-escapes/generated/Emoji.js +test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js +test262/built-ins/RegExp/property-escapes/generated/Extender.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js +test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js +test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js +test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js +test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js +test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/ID_Start.js +test262/built-ins/RegExp/property-escapes/generated/Ideographic.js +test262/built-ins/RegExp/property-escapes/generated/Lowercase.js +test262/built-ins/RegExp/property-escapes/generated/Math.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Kawi.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js +test262/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kawi.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js +test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Toto.js +test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js +test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js +test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js +test262/built-ins/RegExp/property-escapes/generated/Uppercase.js +test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js +test262/built-ins/RegExp/property-escapes/generated/XID_Start.js +test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js +test262/intl402/NumberFormat/prototype/format/useGrouping-extended-en-IN.js diff --git a/dev-lang/spidermonkey/metadata.xml b/dev-lang/spidermonkey/metadata.xml new file mode 100644 index 0000000..451d648 --- /dev/null +++ b/dev-lang/spidermonkey/metadata.xml @@ -0,0 +1,12 @@ + + + + + mozilla@gentoo.org + Gentoo Mozilla Team + + + Use Clang compiler instead of GCC + Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems + + diff --git a/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild new file mode 100644 index 0000000..6c163db --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Patch version +FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-05j.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="ssl,xml(+)" + +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " + +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86" + +SLOT="$(ver_cut 1)" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + ) + ') + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-71.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use lto ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + rust_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + # use prefix shell in wrapper linker scripts, bug #789660 + hprefixify "${S}"/../../build/cargo-{,host-}linker + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die + eautoconf +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + + --disable-ctype + --disable-jemalloc + --disable-smoosh + --disable-strip + + --enable-readline + --enable-release + --enable-shared-js + + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if use debug; then + myeconfargs+=( --disable-optimize ) + myeconfargs+=( --enable-debug-symbols ) + else + myeconfargs+=( --enable-optimize ) + myeconfargs+=( --disable-debug-symbols ) + fi + + # Always troubling with newer rust versions. + myeconfargs+=( --disable-rust-simd ) + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + myeconfargs+=( --enable-linker=lld ) + myeconfargs+=( --enable-lto=cross ) + else + myeconfargs+=( --enable-linker=bfd ) + myeconfargs+=( --enable-lto=full ) + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + + if [[ $(tc-endian) == "big" ]] ; then + echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + + if use ppc; then + echo "non262/Array/fill.js" >> "${T}"/known_failures.list + echo "non262/Array/sort_basics.js" >> "${T}"/known_failures.list + echo "non262/Symbol/typed-arrays.js" >> "${T}"/known_failures.list + echo "non262/Intl/TypedArray/toLocaleString.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/entries.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/fill.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/map-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/iterator.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/reverse.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/join.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_comparators.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/forEach.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/slice.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_compare_nan.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-toobject.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort-non-function.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/includes.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/subarray-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/indexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/at.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_errors.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/values.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-wrapped.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/every-and-some.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_mapping.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/lastIndexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list + echo "non262/Reflect/preventExtensions.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_sorted.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/of.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/keys.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_realms.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_iterable.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/filter-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/object-defineproperty.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/uint8clamped-constructor.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/indexOf-and-lastIndexOf.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/slice-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-tointeger.js" >> "${T}"/known_failures.list + echo "non262/Reflect/ownKeys.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/seal-and-freeze.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/reduce-and-reduceRight.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_basics.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/find-and-findIndex.js" >> "${T}"/known_failures.list + echo "non262/Reflect/isExtensible.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-571014.js" >> "${T}"/known_failures.list + echo "non262/extensions/reviver-mutates-holder-object-nonnative.js" >> "${T}"/known_failures.list + echo "non262/extensions/typedarray-set-neutering.js" >> "${T}"/known_failures.list + echo "non262/extensions/reviver-mutates-holder-array-nonnative.js" >> "${T}"/known_failures.list + echo "non262/extensions/typedarray.js" >> "${T}"/known_failures.list + echo "non262/Math/fround.js" >> "${T}"/known_failures.list + fi + + if use x86 ; then + echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list + fi + + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild new file mode 100644 index 0000000..e0e3c96 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Patch version +FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-02.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +RUST_NEEDS_LLVM="1" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " + +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" + +SLOT="$(ver_cut 1)" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ) + ') + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + rust_pkg_setup + + if use clang && use lto && tc-ld-is-lld ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + # use prefix shell in wrapper linker scripts, bug #789660 + hprefixify "${S}"/../../build/cargo-{,host-}linker + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + + --disable-ctype + --disable-jemalloc + --disable-smoosh + --disable-strip + + --enable-project=js + --enable-readline + --enable-release + --enable-shared-js + + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if use debug; then + myeconfargs+=( --disable-optimize ) + myeconfargs+=( --enable-debug-symbols ) + myeconfargs+=( --enable-real-time-tracing ) + else + myeconfargs+=( --enable-optimize ) + myeconfargs+=( --disable-debug-symbols ) + myeconfargs+=( --disable-real-time-tracing ) + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + myeconfargs+=( --disable-rust-simd ) + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + myeconfargs+=( --enable-linker=mold ) + else + myeconfargs+=( --enable-linker=lld ) + fi + myeconfargs+=( --enable-lto=cross ) + + else + myeconfargs+=( --enable-linker=bfd ) + myeconfargs+=( --enable-lto=full ) + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + + if use sparc ; then + echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + + if use x86 ; then + echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list + fi + + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild new file mode 100644 index 0000000..6c19a58 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild @@ -0,0 +1,478 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-07.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="amd64 arm arm64 ~riscv x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + rust_pkg_setup + + if use clang && use lto && tc-ld-is-lld ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + if use lto ; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-128.6.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.6.0.ebuild new file mode 100644 index 0000000..1dfc3fe --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.6.0.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +LLVM_COMPAT=( 20 ) +RUST_NEEDS_LLVM=1 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild new file mode 100644 index 0000000..1dfc3fe --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +LLVM_COMPAT=( 20 ) +RUST_NEEDS_LLVM=1 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest new file mode 100644 index 0000000..9fa4f6d --- /dev/null +++ b/dev-lang/zig/Manifest @@ -0,0 +1,5 @@ +DIST zig-0.13.0-llvm-18.1.8-r6-fix.patch 45968 BLAKE2B a07c47b22b079d324b200fe84af5c89ffe51a1c81f50ca894a80f9f9db51a9d4119ae51c2e4e84a9b4f0111b2b809978b88adca42480ee800693afbd78f47387 SHA512 148b3f4807763dfb6a4d4e201890fa8204deaf73e620a8b592dfa03b997bc16ed01ea26e4d85f242473e91ccc45b1a06af22f786851f8e26cec1ac821b14efdc +DIST zig-0.13.0.tar.xz 17220728 BLAKE2B f4bbacc2012950c556bebc28fc322fc6424bf20fe118e8362373336b6460e514028978584087f6e7f25ed8b8e6991610edce625676a1dd80c1975c5f9ef48775 SHA512 6f5f31f4ba71a11d8b16c7a5a613e124095e503fa6b02d2b77e5b177674c739287e81d98d96dc261fed24bc836caf196f71c3fcc7a6518387df86ba9e03df4dd +DIST zig-0.13.0.tar.xz.minisig 312 BLAKE2B 2d061257c9c75f9c36b01cfb08dcd2040538a125b9ea2cae8617ae5496e685b165933ce8981494419522b7e19b51fc69a651ecaa4a8930753acf2e4ae3d6e00f SHA512 21c6139c06cba6c5e23a3305fed0c0f1b9b32d9140bd686c26365ce0279d5f53cd081894eaba29f0c1ed51b2e831edf7bd4ae6a7eaee5018a252e312e9b65507 +DIST zig-0.14.0.tar.xz 17772188 BLAKE2B 139a9d48c0a324f64633c71c7d572a60f817d11be9ea0c5cd837cdb78239969be581e51403b75790bbb95cc9c0111bd966134d4f2652863bb2a3f61d65afa531 SHA512 046462526ec16d56e8dcead8f8b680e99101090766c443f512f308c25860e8416f6fb2be15d4a387baa94f63a6fea6255374874c1ccf19144facbc02226a503b +DIST zig-0.14.0.tar.xz.minisig 312 BLAKE2B aba72ba97a978a84e9a938d2641c089a2c5f577041b8a777b9d4b8f7ee2d0b13cd03ccafcd5b4e627ba5fdff6592ca4ead2afa111b4cb769b66ed584b6e085e2 SHA512 a5d0946f136b2a28efbfde77f6052cd8745147df64bb70ed30d1d79bad27a52af451631750d592134e1933763ebe5e24215459481864bec0a969c1730527dc2c diff --git a/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch b/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch new file mode 100644 index 0000000..e088af2 --- /dev/null +++ b/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch @@ -0,0 +1,32 @@ +From: Eric Joldasov + +Skip standalone test "stack_iterator" that fail on Gentoo Linux x86_64. +Fails in ReleaseSafe, ReleaseFast and ReleaseSmall, but not in Debug. +Reported to upstream here https://github.com/ziglang/zig/issues/19944 . + +Signed-off-by: Eric Joldasov + +diff --git a/test/standalone/stack_iterator/shared_lib_unwind.zig b/test/standalone/stack_iterator/shared_lib_unwind.zig +index 57513a49c6..75fddb04c9 100644 +--- a/test/standalone/stack_iterator/shared_lib_unwind.zig ++++ b/test/standalone/stack_iterator/shared_lib_unwind.zig +@@ -35,6 +35,7 @@ extern fn frame0( + ) void; + + pub fn main() !void { ++ if (true) return; + // Disabled until the DWARF unwinder bugs on .aarch64 are solved + if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return; + +diff --git a/test/standalone/stack_iterator/unwind.zig b/test/standalone/stack_iterator/unwind.zig +index 69c463a0c1..40963af63d 100644 +--- a/test/standalone/stack_iterator/unwind.zig ++++ b/test/standalone/stack_iterator/unwind.zig +@@ -87,6 +87,7 @@ noinline fn frame0(expected: *[4]usize, unwound: *[4]usize) void { + } + + pub fn main() !void { ++ if (true) return; + // Disabled until the DWARF unwinder bugs on .aarch64 are solved + if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return; + diff --git a/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch new file mode 100644 index 0000000..2d2dc22 --- /dev/null +++ b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch @@ -0,0 +1,28 @@ +# https://github.com/ziglang/zig/pull/20001 +# https://github.com/Jiboo/zig/commit/856fe4af + +Author: Jean-Baptiste "Jiboo" Lepesme +Date: Sun, 19 May 2024 15:02:42 +0200 + +IoUring: fix an issue in tests where InvalidVersion might get thrown by +skipKernelLessThan, due to some kernel versions not being SemVer compliant. + +diff --git a/lib/std/os/linux/IoUring.zig b/lib/std/os/linux/IoUring.zig +index 3bf3c077fc3b..b2a4da486907 100644 +--- a/lib/std/os/linux/IoUring.zig ++++ b/lib/std/os/linux/IoUring.zig +@@ -3883,7 +3883,13 @@ inline fn skipKernelLessThan(required: std.SemanticVersion) !void { + } + + const release = mem.sliceTo(&uts.release, 0); +- var current = try std.SemanticVersion.parse(release); ++ // Strips potential extra, as kernel version might not be semver compliant, example "6.8.9-300.fc40.x86_64" ++ const extra_index = std.mem.indexOfAny(u8, release, "-+"); ++ const stripped = release[0..(extra_index orelse release.len)]; ++ // Make sure the input don't rely on the extra we just stripped ++ try testing.expect(required.pre == null and required.build == null); ++ ++ var current = try std.SemanticVersion.parse(stripped); + current.pre = null; // don't check pre field + if (required.order(current) == .gt) return error.SkipZigTest; + } diff --git a/dev-lang/zig/metadata.xml b/dev-lang/zig/metadata.xml new file mode 100644 index 0000000..34e44a8 --- /dev/null +++ b/dev-lang/zig/metadata.xml @@ -0,0 +1,20 @@ + + + + + bratishkaerik@landless-city.net + Eric Joldasov + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Build with debug extensions enabled. + Build with LLVM backend and extensions enabled. + + + ziglang/zig + https://github.com/ziglang/zig/issues + + diff --git a/dev-lang/zig/zig-0.13.0-r2.ebuild b/dev-lang/zig/zig-0.13.0-r2.ebuild new file mode 100644 index 0000000..96891c2 --- /dev/null +++ b/dev-lang/zig/zig-0.13.0-r2.ebuild @@ -0,0 +1,276 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +ZIG_SLOT="$(ver_cut 1-2)" +ZIG_OPTIONAL=1 + +inherit check-reqs cmake flag-o-matic edo llvm-r1 toolchain-funcs zig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="${ZIG_SLOT}" +IUSE="doc +llvm" +REQUIRED_USE=" + !llvm? ( !doc ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" + +# Used by both "cmake" and "zig" eclasses. +BUILD_DIR="${WORKDIR}/${P}_build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +DEPEND=" + llvm? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT}[zstd] + ') + ) +" +BDEPEND+=" + ${DEPEND} +" +RDEPEND="${DEPEND}" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" "doc/build.zig.zon.md" ) + +PATCHES=( + "${FILESDIR}/zig-0.13.0-test-std-kernel-version.patch" + "${FILESDIR}/zig-0.13.0-skip-test-stack_iterator.patch" + "${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch" +) + +# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1 +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +pkg_setup() { + # Skip detecting zig executable. + ZIG_EXE="not-applicable" ZIG_VER="${PV}" zig_pkg_setup + + declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + + if use llvm; then + tc-is-cross-compiler && die "USE=llvm is not yet supported when cross-compiling" + llvm-r1_pkg_setup + fi + + check-reqs_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig} + fi + fi + zig_src_unpack +} + +src_prepare() { + if use llvm; then + cmake_src_prepare + else + # Sync with zig_src_prepare + default_src_prepare + mkdir -p "${BUILD_DIR}" || die + einfo "BUILD_DIR: \"${BUILD_DIR}\"" + # "--system" mode is not used during bootstrap. + fi + + # Remove "limit memory usage" flags, it's already verified by + # CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them + # according to CI OOM failures, which are not applicable to normal Gentoo build. + sed -i -e '/\.max_rss = .*,/d' build.zig || die +} + +src_configure() { + # Has no effect on final binary and only causes failures during bootstrapping. + filter-lto + + # Used during bootstrapping. stage1/stage2 have limited functionality + # and can't resolve native target, so we pass target in exact form. + declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})" + + # Note that if we are building with CMake, "my_zbs_args" + # are used only after compiling zig2. + local my_zbs_args=( + --zig-lib-dir "${S}/lib/" + + --prefix "${ZIG_SYS_INSTALL_DEST}/" + --prefix-lib-dir lib/ + + # These are built separately + -Dno-langref + -Dstd-docs=false + + --release=fast + ) + if use llvm; then + my_zbs_args+=( + -Denable-llvm=true + -Dstatic-llvm=false + -Dconfig_h="${BUILD_DIR}/config.h" + ) + else + my_zbs_args+=( + -Denable-llvm=false + ) + fi + + zig_src_configure + + if use llvm; then + # Build for native only, it's for zig2 (build-time executable) + # LLVM from BDEPEND + local mycmakeargs=( + -DZIG_SHARED_LLVM=ON + -DZIG_USE_LLVM_CONFIG=ON + + -DZIG_TARGET_TRIPLE=native + -DZIG_TARGET_MCPU=native + -DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" + + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix -b)" + -DCMAKE_INSTALL_PREFIX="${ZIG_SYS_INSTALL_DEST}" + ) + + cmake_src_configure + fi +} + +src_compile() { + if use llvm; then + cmake_build zig2 + else + cd "${BUILD_DIR}" || die + ln -s "${S}/stage1/" . || die + ln -s "${S}/src/" . || die + ln -s "${S}/lib/" . || die + + local native_cc="$(tc-getBUILD_CC)" + "${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed" + ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap + fi + + cd "${BUILD_DIR}" || die + ZIG_EXE="./zig2" zig_src_compile --prefix stage3/ + + ./stage3/bin/zig env || die "Zig compilation failed" + + if use doc; then + ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/ + fi +} + +src_test() { + if has_version -b app-emulation/qemu; then + ewarn "QEMU executable was found on your building system." + ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for" + ewarn "foreign architectures, Zig tests might fail." + ewarn "In this case, please disable qemu-binfmt and try again." + fi + + cd "${BUILD_DIR}" || die + + # XXX: When we pass a libc installation to Zig, it will fail to find + # the bundled libraries for targets like aarch64-macos and + # *-linux-musl. Zig doesn't run binaries for these targets when + # -Dskip-non-native is passed, but they are still compiled, so + # the test will fail. There's no way to disable --libc once passed, + # so we need to strip it from ZBS_ARGS. + # See: https://github.com/ziglang/zig/issues/22383 + local args_backup=("${ZBS_ARGS[@]}") + + for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do + if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then + unset ZBS_ARGS[i] + unset ZBS_ARGS[i+1] + break + fi + done + + ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native + + ZBS_ARGS=("${args_backup[@]}") +} + +src_install() { + use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" ) + + ZIG_EXE="./zig2" zig_src_install + + cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works" + + if ! use llvm; then + elog "Currently, Zig built without LLVM support lacks some" + elog "important features such as most optimizations, @cImport, etc." + elog "They are listed under \"Building from Source without LLVM\"" + elog "section of the README file from \"/usr/share/doc/${PF}\" ." + fi +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/zig-0.13.0-r3.ebuild b/dev-lang/zig/zig-0.13.0-r3.ebuild new file mode 100644 index 0000000..3f9d816 --- /dev/null +++ b/dev-lang/zig/zig-0.13.0-r3.ebuild @@ -0,0 +1,356 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +ZIG_SLOT="$(ver_cut 1-2)" +ZIG_OPTIONAL=1 + +inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="${ZIG_SLOT}" +IUSE="debug doc +llvm" +REQUIRED_USE=" + !llvm? ( !doc ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" + +# Used by both "cmake" and "zig" eclasses. +BUILD_DIR="${WORKDIR}/${P}_build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +LLVM_DEPEND="$(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT}[zstd] + llvm-core/llvm:${LLVM_SLOT}[zstd] +')" + +BDEPEND+=" llvm? ( ${LLVM_DEPEND} )" +DEPEND="llvm? ( ${LLVM_DEPEND} )" +RDEPEND="${DEPEND}" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" "doc/build.zig.zon.md" ) + +PATCHES=( + "${FILESDIR}/zig-0.13.0-test-std-kernel-version.patch" + "${FILESDIR}/zig-0.13.0-skip-test-stack_iterator.patch" + "${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch" +) + +# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1 +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +pkg_setup() { + # Skip detecting zig executable. + declare -r -g ZIG_VER="${PV}" + ZIG_EXE="not-applicable" zig_pkg_setup + + declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + + if use llvm; then + [[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup + fi + + # Requires running stage3 which is built for cross-target. + if use doc && tc-is-cross-compiler; then + die "USE=doc is not yet supported when cross-compiling" + fi + + check-reqs_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig} + fi + fi + zig_src_unpack +} + +src_prepare() { + if use llvm; then + cmake_src_prepare + else + # Sync with zig_src_prepare + default_src_prepare + mkdir -p "${BUILD_DIR}" || die + einfo "BUILD_DIR: \"${BUILD_DIR}\"" + # "--system" mode is not used during bootstrap. + fi + + # Remove "limit memory usage" flags, it's already verified by + # CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them + # according to CI OOM failures, which are not applicable to normal Gentoo build. + sed -i -e '/\.max_rss = .*,/d' build.zig || die +} + +src_configure() { + # Has no effect on final binary and only causes failures during bootstrapping. + filter-lto + + # Used during bootstrapping. stage1/stage2 have limited functionality + # and can't resolve native target, so we pass target in exact form. + declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})" + + # Note that if we are building with CMake, "my_zbs_args" + # are used only after compiling zig2. + local my_zbs_args=( + --zig-lib-dir "${S}/lib/" + + --prefix "${ZIG_SYS_INSTALL_DEST}/" + --prefix-lib-dir lib/ + + # These are built separately + -Dno-langref=true + -Dstd-docs=false + + # More commands and options if "debug" is enabled. + -Ddebug-extensions=$(usex debug true false) + # More asserts and so on by default if "debug" is enabled. + --release=$(usex debug safe fast) + ) + + # Scenarios of compilation: + + # With LLVM, native: + # CMake: + # * generate "config.h" for LLVM libraries and build "zigcpp" + # * build "zig2" using common "config.h" and "zigcpp" + # build.zig: + # * build "stage3" using common "config.h" and "zigcpp" + + # With LLVM, cross-compiled: + # CMake: + # * generate cross-target "config.h" for LLVM libraries from ESYSROOT + # and build cross-target "zigcpp", and stash them away + # * generate native "config.h" for LLVM libraries from BROOT and + # build native "zigcpp" + # * build native "zig2" using native "config.h" and "zigcpp" + # build.zig: + # * build cross-target "stage3" using stashed "config.h" and "zigcpp" + + # Without LLVM: + # bootstrap.c: + # * build native "zig2" + # build.zig: + # * build (cross-)target "stage3" + + if use llvm; then + my_zbs_args+=( + -Denable-llvm=true + -Dstatic-llvm=false + -Dconfig_h="${BUILD_DIR}/config.h" + ) + else + my_zbs_args+=( + -Denable-llvm=false + ) + fi + zig_src_configure + + if use llvm; then + local mycmakeargs=( + -DZIG_SHARED_LLVM=ON + -DZIG_USE_LLVM_CONFIG=ON + -DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" + # Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and + # CMAKE_INSTALL_PREFIX because we build up to zig2 max, + # after that "zig build" is used to compile stage3. + + # Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup" + # and "llvm_cbuild_setup" already set PATH in such way + # that suitable llvm-config is found and used in + # "cmake/Findllvm.cmake", and "cmake.eclass" help with + # cross-compilation pathes for "Findclang" and "Findlld". + + # CMP0144, Zig has own packages with these names, so ignore + # LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup". + -DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF + ) + if tc-is-cross-compiler; then + # Enable cross-compilation for CMake when filling "config.h" + # and building "zigcpp". They would be used for stage3 build. + # Here we are using LLVM from ESYSROOT/DEPEND. + # Uses script llvm-config. + + # Isolate PATH changes in subshell so that it would not + # affect next `cmake_src_configure` with BROOT/BDEPEND. + ( + llvm_chost_setup + cmake_src_configure + cmake_build zigcpp + ) + + mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die + mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die + rm -rf "${BUILD_DIR}" || die + fi + + # Force disable cross-compilation for CMake when building "zig2". + # Here we are using LLVM from BROOT/BDEPEND. + # Uses native llvm-config. + + # Isolate environment changes in subshell so that it would not + # affect next phases. + ( + export BUILD_CFLAGS="${CFLAGS}" + export BUILD_CXXFLAGS="${CXXFLAGS}" + export BUILD_CPPFLAGS="${CPPFLAGS}" + export BUILD_LDFLAGS="${LDFLAGS}" + tc-env_build + + unset SYSROOT + export CHOST="${CBUILD:-${CHOST}}" + strip-unsupported-flags + cmake_src_configure + ) + fi +} + +src_compile() { + if use llvm; then + cmake_build zig2 + + if tc-is-cross-compiler; then + rm -rf "${BUILD_DIR}/zigcpp/" || die + rm -f "${BUILD_DIR}/config.h" || die + + mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die + mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die + fi + else + cd "${BUILD_DIR}" || die + ln -s "${S}/stage1/" . || die + ln -s "${S}/src/" . || die + ln -s "${S}/lib/" . || die + + local native_cc="$(tc-getBUILD_CC)" + "${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed" + ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap + fi + + cd "${BUILD_DIR}" || die + ZIG_EXE="./zig2" zig_src_compile --prefix stage3/ + + # Requires running stage3 which is built for cross-target. + if ! tc-is-cross-compiler; then + ./stage3/bin/zig env || die "Zig compilation failed" + + if use doc; then + ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/ + fi + fi +} + +src_test() { + if has_version -b app-emulation/qemu; then + ewarn "QEMU executable was found on your building system." + ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for" + ewarn "foreign architectures, Zig tests might fail." + ewarn "In this case, please disable qemu-binfmt and try again." + fi + + cd "${BUILD_DIR}" || die + + # XXX: When we pass a libc installation to Zig, it will fail to find + # the bundled libraries for targets like aarch64-macos and + # *-linux-musl. Zig doesn't run binaries for these targets when + # -Dskip-non-native is passed, but they are still compiled, so + # the test will fail. There's no way to disable --libc once passed, + # so we need to strip it from ZBS_ARGS. + # See: https://github.com/ziglang/zig/issues/22383 + local args_backup=("${ZBS_ARGS[@]}") + + for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do + if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then + unset ZBS_ARGS[i] + unset ZBS_ARGS[i+1] + break + fi + done + + ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native + + ZBS_ARGS=("${args_backup[@]}") +} + +src_install() { + use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" ) + + ZIG_EXE="./zig2" zig_src_install + + cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works" + + if ! use llvm; then + elog "Currently, Zig built without LLVM support lacks some" + elog "important features such as most optimizations, @cImport, etc." + elog "They are listed under \"Building from Source without LLVM\"" + elog "section of the README file from \"/usr/share/doc/${PF}\" ." + fi +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/zig-0.14.0.ebuild b/dev-lang/zig/zig-0.14.0.ebuild new file mode 100644 index 0000000..df310eb --- /dev/null +++ b/dev-lang/zig/zig-0.14.0.ebuild @@ -0,0 +1,352 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +ZIG_SLOT="$(ver_cut 1-2)" +ZIG_OPTIONAL=1 + +inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="${ZIG_SLOT}" +IUSE="debug doc +llvm" +REQUIRED_USE=" + !llvm? ( !doc ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!llvm? ( test )" + +# Used by both "cmake" and "zig" eclasses. +BUILD_DIR="${WORKDIR}/${P}_build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +LLVM_DEPEND="$(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT}[zstd] + llvm-core/llvm:${LLVM_SLOT}[zstd] +')" + +BDEPEND+=" llvm? ( ${LLVM_DEPEND} )" +DEPEND="llvm? ( ${LLVM_DEPEND} )" +RDEPEND="${DEPEND}" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" "doc/build.zig.zon.md" ) + +# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1 +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +pkg_setup() { + # Skip detecting zig executable. + declare -r -g ZIG_VER="${PV}" + ZIG_EXE="not-applicable" zig_pkg_setup + + declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + + if use llvm; then + [[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup + fi + + # Requires running stage3 which is built for cross-target. + if use doc && tc-is-cross-compiler; then + die "USE=doc is not yet supported when cross-compiling" + fi + + check-reqs_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig} + fi + fi + zig_src_unpack +} + +src_prepare() { + if use llvm; then + cmake_src_prepare + else + # Sync with zig_src_prepare + default_src_prepare + mkdir -p "${BUILD_DIR}" || die + einfo "BUILD_DIR: \"${BUILD_DIR}\"" + # "--system" mode is not used during bootstrap. + fi + + # Remove "limit memory usage" flags, it's already verified by + # CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them + # according to CI OOM failures, which are not applicable to normal Gentoo build. + sed -i -e '/\.max_rss = .*,/d' build.zig || die +} + +src_configure() { + # Has no effect on final binary and only causes failures during bootstrapping. + filter-lto + + # Used during bootstrapping. stage1/stage2 have limited functionality + # and can't resolve native target, so we pass target in exact form. + declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})" + + # Note that if we are building with CMake, "my_zbs_args" + # are used only after compiling zig2. + local my_zbs_args=( + --zig-lib-dir "${S}/lib/" + + --prefix "${ZIG_SYS_INSTALL_DEST}/" + --prefix-lib-dir lib/ + + # These are built separately + -Dno-langref=true + -Dstd-docs=false + + # More commands and options if "debug" is enabled. + -Ddebug-extensions=$(usex debug true false) + # More asserts and so on by default if "debug" is enabled. + --release=$(usex debug safe fast) + ) + + # Scenarios of compilation: + + # With LLVM, native: + # CMake: + # * generate "config.h" for LLVM libraries and build "zigcpp" + # * build "zig2" using common "config.h" and "zigcpp" + # build.zig: + # * build "stage3" using common "config.h" and "zigcpp" + + # With LLVM, cross-compiled: + # CMake: + # * generate cross-target "config.h" for LLVM libraries from ESYSROOT + # and build cross-target "zigcpp", and stash them away + # * generate native "config.h" for LLVM libraries from BROOT and + # build native "zigcpp" + # * build native "zig2" using native "config.h" and "zigcpp" + # build.zig: + # * build cross-target "stage3" using stashed "config.h" and "zigcpp" + + # Without LLVM: + # bootstrap.c: + # * build native "zig2" + # build.zig: + # * build (cross-)target "stage3" + + if use llvm; then + my_zbs_args+=( + -Denable-llvm=true + -Dstatic-llvm=false + -Dconfig_h="${BUILD_DIR}/config.h" + ) + else + my_zbs_args+=( + -Denable-llvm=false + ) + fi + zig_src_configure + + if use llvm; then + local mycmakeargs=( + -DZIG_SHARED_LLVM=ON + -DZIG_USE_LLVM_CONFIG=ON + -DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" + # Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and + # CMAKE_INSTALL_PREFIX because we build up to zig2 max, + # after that "zig build" is used to compile stage3. + + # Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup" + # and "llvm_cbuild_setup" already set PATH in such way + # that suitable llvm-config is found and used in + # "cmake/Findllvm.cmake", and "cmake.eclass" help with + # cross-compilation pathes for "Findclang" and "Findlld". + + # CMP0144, Zig has own packages with these names, so ignore + # LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup". + -DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF + ) + if tc-is-cross-compiler; then + # Enable cross-compilation for CMake when filling "config.h" + # and building "zigcpp". They would be used for stage3 build. + # Here we are using LLVM from ESYSROOT/DEPEND. + # Uses script llvm-config. + + # Isolate PATH changes in subshell so that it would not + # affect next `cmake_src_configure` with BROOT/BDEPEND. + ( + llvm_chost_setup + cmake_src_configure + cmake_build zigcpp + ) + + mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die + mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die + rm -rf "${BUILD_DIR}" || die + fi + + # Force disable cross-compilation for CMake when building "zig2". + # Here we are using LLVM from BROOT/BDEPEND. + # Uses native llvm-config. + + # Isolate environment changes in subshell so that it would not + # affect next phases. + ( + export BUILD_CFLAGS="${CFLAGS}" + export BUILD_CXXFLAGS="${CXXFLAGS}" + export BUILD_CPPFLAGS="${CPPFLAGS}" + export BUILD_LDFLAGS="${LDFLAGS}" + tc-env_build + + unset SYSROOT + export CHOST="${CBUILD:-${CHOST}}" + strip-unsupported-flags + cmake_src_configure + ) + fi +} + +src_compile() { + if use llvm; then + cmake_build zig2 + + if tc-is-cross-compiler; then + rm -rf "${BUILD_DIR}/zigcpp/" || die + rm -f "${BUILD_DIR}/config.h" || die + + mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die + mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die + fi + else + cd "${BUILD_DIR}" || die + ln -s "${S}/stage1/" . || die + ln -s "${S}/src/" . || die + ln -s "${S}/lib/" . || die + + local native_cc="$(tc-getBUILD_CC)" + "${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed" + ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap + fi + + cd "${BUILD_DIR}" || die + ZIG_EXE="./zig2" zig_src_compile --prefix stage3/ + + # Requires running stage3 which is built for cross-target. + if ! tc-is-cross-compiler; then + ./stage3/bin/zig env || die "Zig compilation failed" + + if use doc; then + ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/ + fi + fi +} + +src_test() { + if has_version -b app-emulation/qemu; then + ewarn "QEMU executable was found on your building system." + ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for" + ewarn "foreign architectures, Zig tests might fail." + ewarn "In this case, please disable qemu-binfmt and try again." + fi + + cd "${BUILD_DIR}" || die + + # XXX: When we pass a libc installation to Zig, it will fail to find + # the bundled libraries for targets like aarch64-macos and + # *-linux-musl. Zig doesn't run binaries for these targets when + # -Dskip-non-native is passed, but they are still compiled, so + # the test will fail. There's no way to disable --libc once passed, + # so we need to strip it from ZBS_ARGS. + # See: https://github.com/ziglang/zig/issues/22383 + local args_backup=("${ZBS_ARGS[@]}") + + for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do + if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then + unset ZBS_ARGS[i] + unset ZBS_ARGS[i+1] + break + fi + done + + # Run tests with Debug mode by default, like upstream does in CI, + # full test suite with other modes is in a sad state right now... + ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native --release=debug + + ZBS_ARGS=("${args_backup[@]}") +} + +src_install() { + use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" ) + + ZIG_EXE="./zig2" zig_src_install + + cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works" + + if ! use llvm; then + elog "Currently, Zig built without LLVM support lacks some" + elog "important features such as most optimizations, @cImport, etc." + elog "They are listed under \"Building from Source without LLVM\"" + elog "section of the README file from \"/usr/share/doc/${PF}\" ." + fi +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild new file mode 100644 index 0000000..df310eb --- /dev/null +++ b/dev-lang/zig/zig-9999.ebuild @@ -0,0 +1,352 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +ZIG_SLOT="$(ver_cut 1-2)" +ZIG_OPTIONAL=1 + +inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="${ZIG_SLOT}" +IUSE="debug doc +llvm" +REQUIRED_USE=" + !llvm? ( !doc ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!llvm? ( test )" + +# Used by both "cmake" and "zig" eclasses. +BUILD_DIR="${WORKDIR}/${P}_build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +LLVM_DEPEND="$(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT}[zstd] + llvm-core/llvm:${LLVM_SLOT}[zstd] +')" + +BDEPEND+=" llvm? ( ${LLVM_DEPEND} )" +DEPEND="llvm? ( ${LLVM_DEPEND} )" +RDEPEND="${DEPEND}" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" "doc/build.zig.zon.md" ) + +# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1 +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +pkg_setup() { + # Skip detecting zig executable. + declare -r -g ZIG_VER="${PV}" + ZIG_EXE="not-applicable" zig_pkg_setup + + declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + + if use llvm; then + [[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup + fi + + # Requires running stage3 which is built for cross-target. + if use doc && tc-is-cross-compiler; then + die "USE=doc is not yet supported when cross-compiling" + fi + + check-reqs_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig} + fi + fi + zig_src_unpack +} + +src_prepare() { + if use llvm; then + cmake_src_prepare + else + # Sync with zig_src_prepare + default_src_prepare + mkdir -p "${BUILD_DIR}" || die + einfo "BUILD_DIR: \"${BUILD_DIR}\"" + # "--system" mode is not used during bootstrap. + fi + + # Remove "limit memory usage" flags, it's already verified by + # CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them + # according to CI OOM failures, which are not applicable to normal Gentoo build. + sed -i -e '/\.max_rss = .*,/d' build.zig || die +} + +src_configure() { + # Has no effect on final binary and only causes failures during bootstrapping. + filter-lto + + # Used during bootstrapping. stage1/stage2 have limited functionality + # and can't resolve native target, so we pass target in exact form. + declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})" + + # Note that if we are building with CMake, "my_zbs_args" + # are used only after compiling zig2. + local my_zbs_args=( + --zig-lib-dir "${S}/lib/" + + --prefix "${ZIG_SYS_INSTALL_DEST}/" + --prefix-lib-dir lib/ + + # These are built separately + -Dno-langref=true + -Dstd-docs=false + + # More commands and options if "debug" is enabled. + -Ddebug-extensions=$(usex debug true false) + # More asserts and so on by default if "debug" is enabled. + --release=$(usex debug safe fast) + ) + + # Scenarios of compilation: + + # With LLVM, native: + # CMake: + # * generate "config.h" for LLVM libraries and build "zigcpp" + # * build "zig2" using common "config.h" and "zigcpp" + # build.zig: + # * build "stage3" using common "config.h" and "zigcpp" + + # With LLVM, cross-compiled: + # CMake: + # * generate cross-target "config.h" for LLVM libraries from ESYSROOT + # and build cross-target "zigcpp", and stash them away + # * generate native "config.h" for LLVM libraries from BROOT and + # build native "zigcpp" + # * build native "zig2" using native "config.h" and "zigcpp" + # build.zig: + # * build cross-target "stage3" using stashed "config.h" and "zigcpp" + + # Without LLVM: + # bootstrap.c: + # * build native "zig2" + # build.zig: + # * build (cross-)target "stage3" + + if use llvm; then + my_zbs_args+=( + -Denable-llvm=true + -Dstatic-llvm=false + -Dconfig_h="${BUILD_DIR}/config.h" + ) + else + my_zbs_args+=( + -Denable-llvm=false + ) + fi + zig_src_configure + + if use llvm; then + local mycmakeargs=( + -DZIG_SHARED_LLVM=ON + -DZIG_USE_LLVM_CONFIG=ON + -DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" + # Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and + # CMAKE_INSTALL_PREFIX because we build up to zig2 max, + # after that "zig build" is used to compile stage3. + + # Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup" + # and "llvm_cbuild_setup" already set PATH in such way + # that suitable llvm-config is found and used in + # "cmake/Findllvm.cmake", and "cmake.eclass" help with + # cross-compilation pathes for "Findclang" and "Findlld". + + # CMP0144, Zig has own packages with these names, so ignore + # LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup". + -DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF + ) + if tc-is-cross-compiler; then + # Enable cross-compilation for CMake when filling "config.h" + # and building "zigcpp". They would be used for stage3 build. + # Here we are using LLVM from ESYSROOT/DEPEND. + # Uses script llvm-config. + + # Isolate PATH changes in subshell so that it would not + # affect next `cmake_src_configure` with BROOT/BDEPEND. + ( + llvm_chost_setup + cmake_src_configure + cmake_build zigcpp + ) + + mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die + mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die + rm -rf "${BUILD_DIR}" || die + fi + + # Force disable cross-compilation for CMake when building "zig2". + # Here we are using LLVM from BROOT/BDEPEND. + # Uses native llvm-config. + + # Isolate environment changes in subshell so that it would not + # affect next phases. + ( + export BUILD_CFLAGS="${CFLAGS}" + export BUILD_CXXFLAGS="${CXXFLAGS}" + export BUILD_CPPFLAGS="${CPPFLAGS}" + export BUILD_LDFLAGS="${LDFLAGS}" + tc-env_build + + unset SYSROOT + export CHOST="${CBUILD:-${CHOST}}" + strip-unsupported-flags + cmake_src_configure + ) + fi +} + +src_compile() { + if use llvm; then + cmake_build zig2 + + if tc-is-cross-compiler; then + rm -rf "${BUILD_DIR}/zigcpp/" || die + rm -f "${BUILD_DIR}/config.h" || die + + mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die + mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die + fi + else + cd "${BUILD_DIR}" || die + ln -s "${S}/stage1/" . || die + ln -s "${S}/src/" . || die + ln -s "${S}/lib/" . || die + + local native_cc="$(tc-getBUILD_CC)" + "${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed" + ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap + fi + + cd "${BUILD_DIR}" || die + ZIG_EXE="./zig2" zig_src_compile --prefix stage3/ + + # Requires running stage3 which is built for cross-target. + if ! tc-is-cross-compiler; then + ./stage3/bin/zig env || die "Zig compilation failed" + + if use doc; then + ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/ + fi + fi +} + +src_test() { + if has_version -b app-emulation/qemu; then + ewarn "QEMU executable was found on your building system." + ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for" + ewarn "foreign architectures, Zig tests might fail." + ewarn "In this case, please disable qemu-binfmt and try again." + fi + + cd "${BUILD_DIR}" || die + + # XXX: When we pass a libc installation to Zig, it will fail to find + # the bundled libraries for targets like aarch64-macos and + # *-linux-musl. Zig doesn't run binaries for these targets when + # -Dskip-non-native is passed, but they are still compiled, so + # the test will fail. There's no way to disable --libc once passed, + # so we need to strip it from ZBS_ARGS. + # See: https://github.com/ziglang/zig/issues/22383 + local args_backup=("${ZBS_ARGS[@]}") + + for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do + if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then + unset ZBS_ARGS[i] + unset ZBS_ARGS[i+1] + break + fi + done + + # Run tests with Debug mode by default, like upstream does in CI, + # full test suite with other modes is in a sad state right now... + ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native --release=debug + + ZBS_ARGS=("${args_backup[@]}") +} + +src_install() { + use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" ) + + ZIG_EXE="./zig2" zig_src_install + + cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works" + + if ! use llvm; then + elog "Currently, Zig built without LLVM support lacks some" + elog "important features such as most optimizations, @cImport, etc." + elog "They are listed under \"Building from Source without LLVM\"" + elog "section of the README file from \"/usr/share/doc/${PF}\" ." + fi +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-libs/castxml/Manifest b/dev-libs/castxml/Manifest new file mode 100644 index 0000000..f484d49 --- /dev/null +++ b/dev-libs/castxml/Manifest @@ -0,0 +1,2 @@ +DIST CastXML-0.6.10.tar.gz 123149 BLAKE2B c69caf043bdf733cbc519109ba0e2c675f169fbcbf3fe4d4c13c509fcd01838eab9e71b69369f152c7c3d41d48e73f8c1288091cd8addcefdb04de254f79ce0a SHA512 40d16714600f20f94d2b2da6d0021665f5115faf25d3d92d76b320fd8167f093991ad6e36ce0cbf9979d5ab265f246018f609f4b96a46b115bed411d398937cc +DIST CastXML-0.6.11.tar.gz 123221 BLAKE2B 1de7f08943804aa4e8cba424ad082d5cd74a4de4722fb679b810131c705be94055d1583fda39987209a19171904dd6e78125fdfdbf279395d53ac7e1db87feea SHA512 1247b385be836c3e6a954265804986ae4ee713cb562c8193a82de8b96c3cc696358a0aeae6c545b5ce84c0c889cd4aab75711b07538b04360abf244be880b9c9 diff --git a/dev-libs/castxml/castxml-0.6.10.ebuild b/dev-libs/castxml/castxml-0.6.10.ebuild new file mode 100644 index 0000000..f555f3d --- /dev/null +++ b/dev-libs/castxml/castxml-0.6.10.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 + +MY_P=CastXML-${PV} +DESCRIPTION="C-family abstract syntax tree XML output tool" +HOMEPAGE="https://github.com/CastXML/CastXML" +SRC_URI=" + https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz + -> ${MY_P}.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~riscv ~x86" +IUSE="+man test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + man? ( dev-python/sphinx ) +" + +src_configure() { + local mycmakeargs=( + -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}" + -DCastXML_INSTALL_MAN_DIR="share/man" + -DSPHINX_MAN="$(usex man)" + -DSPHINX_HTML=OFF + -DBUILD_TESTING="$(usex test)" + ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # Regex doesn't match the full build path + cmd.input-missing + cmd.rsp-missing + + # Gets confused by extra #defines we set for hardening etc (bug #891813) + cmd.cc-gnu-src-cxx-E + cmd.cc-gnu-src-cxx-cmd + cmd.cc-gnu-c-src-c-E + cmd.cc-gnu-c-src-c-cmd + cmd.cc-gnu-tgt-i386-opt-E + cmd.cc-gnu-c-tgt-i386-opt-E + ) + + cmake_src_test +} diff --git a/dev-libs/castxml/castxml-0.6.11.ebuild b/dev-libs/castxml/castxml-0.6.11.ebuild new file mode 100644 index 0000000..7691e39 --- /dev/null +++ b/dev-libs/castxml/castxml-0.6.11.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 + +MY_P=CastXML-${PV} +DESCRIPTION="C-family abstract syntax tree XML output tool" +HOMEPAGE="https://github.com/CastXML/CastXML" +SRC_URI=" + https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz + -> ${MY_P}.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~riscv ~x86" +IUSE="+man test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + man? ( dev-python/sphinx ) +" + +src_configure() { + local mycmakeargs=( + -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}" + -DCastXML_INSTALL_MAN_DIR="share/man" + -DSPHINX_MAN="$(usex man)" + -DSPHINX_HTML=OFF + -DBUILD_TESTING="$(usex test)" + ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # Regex doesn't match the full build path + cmd.input-missing + cmd.rsp-missing + + # Gets confused by extra #defines we set for hardening etc (bug #891813) + cmd.cc-gnu-src-cxx-E + cmd.cc-gnu-src-cxx-cmd + cmd.cc-gnu-c-src-c-E + cmd.cc-gnu-c-src-c-cmd + cmd.cc-gnu-tgt-i386-opt-E + cmd.cc-gnu-c-tgt-i386-opt-E + ) + + cmake_src_test +} diff --git a/dev-libs/castxml/metadata.xml b/dev-libs/castxml/metadata.xml new file mode 100644 index 0000000..136fc3f --- /dev/null +++ b/dev-libs/castxml/metadata.xml @@ -0,0 +1,20 @@ + + + + + + tomjbe@gentoo.org + Thomas Beierlein + + + radio@gentoo.org + + + + mgorny@gentoo.org + Michał Górny + + + CastXML/CastXML + + diff --git a/dev-libs/intel-vc-intrinsics/Manifest b/dev-libs/intel-vc-intrinsics/Manifest new file mode 100644 index 0000000..ba7d45f --- /dev/null +++ b/dev-libs/intel-vc-intrinsics/Manifest @@ -0,0 +1 @@ +DIST intel-vc-intrinsics-0.22.0.tar.gz 152674 BLAKE2B 40a2f828e9903a8871643dd9a45cfc4e18898a321893fb8ebc92d9ff1968f224bfc1812075ebacfa7fd583b6f0484b795fa570ff1eae832771b002f8cd81ee18 SHA512 e28e06e4ac9cd164c823805e3acfe8320d1093604c25ad3c2f0f3825a1d8f9da5a34b78a20245e221417130b09ffbac5c019bf3d474df2b6da04a5b25c6f2b2c diff --git a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.22.0.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.22.0.ebuild new file mode 100644 index 0000000..35d36b9 --- /dev/null +++ b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.22.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" +LLVM_COMPAT=( 20 ) +MY_PN="${PN/intel-/}" +MY_P="${MY_PN}-${PV}" +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake llvm-r2 python-any-r1 + +DESCRIPTION="A set of new intrinsics on top of core LLVM IR instructions" +HOMEPAGE="https://github.com/intel/vc-intrinsics" +SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-libs/libxml2:2= + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT} + ') + sys-libs/zlib +" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS}" + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + + cmake_src_configure +} diff --git a/dev-libs/intel-vc-intrinsics/metadata.xml b/dev-libs/intel-vc-intrinsics/metadata.xml new file mode 100644 index 0000000..9237085 --- /dev/null +++ b/dev-libs/intel-vc-intrinsics/metadata.xml @@ -0,0 +1,24 @@ + + + + + gentoo@taujhe.de + Jan Henke + + + proxy-maint@gentoo.org + Proxy Maintainers + + + conikost@gentoo.org + Conrad Kostecki + + + VC Intrinsics project contains a set of new intrinsics on + top of core LLVM IR instructions that represent SIMD semantics + of a program targeting GPU. + + + intel/vc-intrinsics + + diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest new file mode 100644 index 0000000..b203f45 --- /dev/null +++ b/dev-libs/pocl/Manifest @@ -0,0 +1 @@ +DIST pocl-6.0.tar.gz 2466652 BLAKE2B e074f35bfe8ccd70038fe05ca01da033849bed83075330f1149597455a5892281d4d09b8db5b4731e7e0c248d1ffdc8e8707c1ebe53d50624294ad92aa886be6 SHA512 a24efadbbb81c810cd5c4bbb8abfa75b9bbdfeca786e8471dd75d40a78024d04c1b5c5a7114e75e1eb70a1b6a3756bb47ba741de0f1c4d1416fbce4688d62cc0 diff --git a/dev-libs/pocl/files/pocl-6.0-gcc15.patch b/dev-libs/pocl/files/pocl-6.0-gcc15.patch new file mode 100644 index 0000000..6176e54 --- /dev/null +++ b/dev-libs/pocl/files/pocl-6.0-gcc15.patch @@ -0,0 +1,27 @@ +https://github.com/pocl/pocl/commit/3333cbc6a16fba0bc3f3c66ba6e68ce9bb46c549 + +From 3333cbc6a16fba0bc3f3c66ba6e68ce9bb46c549 Mon Sep 17 00:00:00 2001 +From: Vitaly +Date: Mon, 27 Jan 2025 09:52:47 +0100 +Subject: [PATCH] Added missing cstdint header to fix build with libstdc++ 15. + +--- a/lib/CL/devices/spirv_parser.cc ++++ b/lib/CL/devices/spirv_parser.cc +@@ -25,6 +25,7 @@ + + #include + #include ++#include + #include + #include + #include +--- a/lib/CL/devices/spirv_parser.hh ++++ b/lib/CL/devices/spirv_parser.hh +@@ -34,6 +34,7 @@ + #define SPIRV_PARSER_EXPORT POCL_EXPORT + #endif + ++#include + #include + #include + #include diff --git a/dev-libs/pocl/metadata.xml b/dev-libs/pocl/metadata.xml new file mode 100644 index 0000000..385844d --- /dev/null +++ b/dev-libs/pocl/metadata.xml @@ -0,0 +1,19 @@ + + + + sam@gentoo.org + Sam James + + + Enable the generic hardware accelerator device driver + Ensures that certain build options which would result in non-conformant pocl build stay disabled. Note that this does not quarantee a fully conformant build of pocl. + When enabled, OpenCL printf() call's f/e/g formatters are handled by pocl. When disabled, these are handled by system C library. + Enable hardening against various attacks. May worsen performance + + Enable hwloc support + Enables custom memory manager. Except for special circumstances, this should be disabled + + + pocl/pocl + + diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest new file mode 100644 index 0000000..aee27bb --- /dev/null +++ b/dev-libs/rocm-comgr/Manifest @@ -0,0 +1,5 @@ +DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818 +DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0 +DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c +DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872 +DIST rocm-comgr-5.7.1.tar.gz 137923 BLAKE2B e215f51137fd0c4b67e85496bf289dc0afde6ebc9efb9416f5fc4cf312b2be9be26da35cb70965bf4857a0f1434d750bcc03ce83095173098487ef7805948735 SHA512 cdd2609b858d9503c30122a2d328d36baa8a930a05bcb6c38e30723909c492b4d47eaaf4884dbb7aa82053e7cda6c22ee1aa16fc5ba266e272d98ff772c5079d diff --git a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch new file mode 100644 index 0000000..a61d927 --- /dev/null +++ b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch @@ -0,0 +1,48 @@ +From 4c210fdf6943c0c40b5fe0f66800c7b9c7ca84d3 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Tue, 14 Jun 2022 20:21:22 +0800 +Subject: [PATCH] Find CLANG_RESOURCE_DIR using clang -print-resource-dir + +Suggested-By: https://reviews.llvm.org/D49486 +Signed-off-by: Yiyang Wu +--- + lib/comgr/cmake/opencl_pch.cmake | 24 +++--------------------- + 1 file changed, 3 insertions(+), 21 deletions(-) + +diff --git a/lib/comgr/cmake/opencl_pch.cmake b/lib/comgr/cmake/opencl_pch.cmake +index 95311fc..71050c8 100644 +--- a/cmake/opencl_pch.cmake ++++ b/cmake/opencl_pch.cmake +@@ -1,26 +1,8 @@ + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + find_package(Clang REQUIRED CONFIG) +- +- # FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but +- # really there is no way to reliably discover this header. +- # +- # We effectively back up to the Clang output directory (for the case of a build +- # tree) or install prefix (for the case of an installed copy), and then search +- # for a file named opencl-c.h anywhere below that. We take the first result in +- # the case where there are multiple (e.g. if there is an installed copy nested +- # in a build directory). This is a bit imprecise, but it covers cases like MSVC +- # adding some additional configuration-specific subdirectories to the build +- # tree but not to an installed copy. +- file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h") +- +- list(GET OPENCL_C_H_LIST 0 OPENCL_C_H) +- +- if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}") +- message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.") +- endif() +-else() +- get_target_property(clang_build_header_dir clang-resource-headers RUNTIME_OUTPUT_DIRECTORY) +- set(OPENCL_C_H "${clang_build_header_dir}/opencl-c.h") ++ execute_process(COMMAND "${CLANG_CMAKE_DIR}/../../../bin/clang" -print-resource-dir OUTPUT_VARIABLE CLANG_RESOURCE_DIR) ++ string(STRIP ${CLANG_RESOURCE_DIR} CLANG_RESOURCE_DIR) ++ set(OPENCL_C_H "${CLANG_RESOURCE_DIR}/include/opencl-c.h") + endif() + + # Macro to create and install a custom target for generating PCH for given +-- +2.39.0 + diff --git a/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch b/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch new file mode 100644 index 0000000..a1ce8ca --- /dev/null +++ b/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch @@ -0,0 +1,52 @@ +From e0fb8aca856eb61d2f774a0893e2243742eed341 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Fri, 18 Nov 2022 15:41:53 +0800 +Subject: [PATCH] Specify clang exe path in Driver Creation + +By doing so, TheDriver can get the correct resource dir. + +Closes: #48 +Reference: #49 +--- + lib/comgr/src/comgr-compiler.cpp | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +diff --git a/lib/comgr/src/comgr-compiler.cpp b/lib/comgr/src/comgr-compiler.cpp +index 80849d4..67fe82b 100644 +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -660,7 +660,7 @@ AMDGPUCompiler::executeInProcessDriver(ArrayRef Args) { + IntrusiveRefCntPtr DiagID(new DiagnosticIDs); + DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient); + ProcessWarningOptions(Diags, *DiagOpts, /*ReportDiags=*/false); +- Driver TheDriver("", "", Diags); ++ Driver TheDriver((Twine(env::getLLVMPath()) + "/bin/clang").str(), "", Diags); + TheDriver.setTitle("AMDGPU Code Object Manager"); + TheDriver.setCheckInputsExist(false); + +@@ -998,11 +998,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str(); + // HIP headers depend on hsa.h which is in ROCM_DIR/include. + ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str(); +- ClangIncludePath = +- (Twine(env::getLLVMPath()) + "/lib/clang/" + CLANG_VERSION_STRING).str(); +- ClangIncludePath2 = (Twine(env::getLLVMPath()) + "/lib/clang/" + +- CLANG_VERSION_STRING + "/include") +- .str(); + + Args.push_back("-x"); + +@@ -1028,10 +1023,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + Args.push_back(ROCMIncludePath.c_str()); + Args.push_back("-isystem"); + Args.push_back(HIPIncludePath.c_str()); +- Args.push_back("-isystem"); +- Args.push_back(ClangIncludePath.c_str()); +- Args.push_back("-isystem"); +- Args.push_back(ClangIncludePath2.c_str()); + break; + default: + return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT; +-- +2.39.0 + diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch new file mode 100644 index 0000000..6e90884 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch @@ -0,0 +1,14 @@ +Index: comgr/src/comgr-env.cpp +=================================================================== +--- comgr.orig/src/comgr-env.cpp ++++ comgr/src/comgr-env.cpp +@@ -247,6 +247,9 @@ InstallationDetector *getDetectorImpl() + if (EnvROCMPath) { + ROCmInstallPath = EnvROCMPath; + } ++ else { ++ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr"; ++ } + + InstallationDetector *Detector; + if (ROCmInstallPath == "") { diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch new file mode 100644 index 0000000..c6d3971 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch @@ -0,0 +1,14 @@ +Add --rocm-path=/usr argument in runtime because our rocm path is not in default seach list. +--- comgr/src/comgr-compiler.cpp ++++ comgr.orig/src/comgr-compiler.cpp +@@ -1096,6 +1096,10 @@ + } + } + } ++ else { ++ llvm::SmallString<128> RealRocmDir = env::getLLVMPath(); ++ Args.push_back(Saver.save(Twine("--rocm-path=") + RealRocmDir).data()); ++ } + + return processFiles(AMD_COMGR_DATA_KIND_BC, ".bc"); + } diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch new file mode 100644 index 0000000..6c1052b --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch @@ -0,0 +1,20 @@ +commit 446d142de276a8ca1039798726a2b81937ece952 +Author: Ron Lieberman +Date: Thu Jul 13 19:42:47 2023 -0500 + + add #include llvm/ADT/StringExtras.h to comgr-disassembly.cpp + + Change-Id: Id0086adec6e33db55769a12f6a886202c8afd9e0 + +diff --git a/src/comgr-disassembly.cpp b/src/comgr-disassembly.cpp +index 8703c0d..31e9634 100644 +--- a/src/comgr-disassembly.cpp ++++ b/src/comgr-disassembly.cpp +@@ -34,6 +34,7 @@ + ******************************************************************************/ + + #include "comgr-disassembly.h" ++#include "llvm/ADT/StringExtras.h" + #include "llvm/MC/TargetRegistry.h" + + using namespace llvm; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch new file mode 100644 index 0000000..ee21b87 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch @@ -0,0 +1,39 @@ +commit 3f4486f33bdeff6d705431b7a3b6cb5d064cc2b2 +Author: Scott Linder +Date: Mon Jun 19 19:24:26 2023 +0000 + + Update to use lld::lldMain introduced in D119049 + + Change-Id: I9dd8de3f599fab14b62f482352ae43874ff87373 + +diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp +index 30e838c..7b51d3f 100644 +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -85,6 +85,8 @@ + + #include + ++LLD_HAS_DRIVER(elf) ++ + using namespace llvm; + using namespace llvm::opt; + using namespace llvm::sys; +@@ -614,13 +616,14 @@ static amd_comgr_status_t linkWithLLD(llvm::ArrayRef Args, + llvm::raw_ostream &LogE) { + ArgStringList LLDArgs(llvm::iterator_range::iterator>( + Args.begin(), Args.end())); +- LLDArgs.insert(LLDArgs.begin(), "lld"); ++ LLDArgs.insert(LLDArgs.begin(), "ld.lld"); + LLDArgs.push_back("--threads=1"); + + ArrayRef ArgRefs = llvm::ArrayRef(LLDArgs); +- bool LLDRet = lld::elf::link(ArgRefs, LogS, LogE, false, false); ++ lld::Result LLDRet = ++ lld::lldMain(ArgRefs, LogS, LogE, {{lld::Gnu, &lld::elf::link}}); + lld::CommonLinkerContext::destroy(); +- if (!LLDRet) { ++ if (LLDRet.retCode || !LLDRet.canRunAgain) { + return AMD_COMGR_STATUS_ERROR; + } + return AMD_COMGR_STATUS_SUCCESS; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch new file mode 100644 index 0000000..78fc4f3 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch @@ -0,0 +1,73 @@ +commit edea3631e2c1cd49c93f6fff883fea2affdfa2d1 +Author: Konstantin Zhuravlyov +Date: Wed May 10 15:52:09 2023 -0400 + + Update getDesc* functions due to 689715fx + + Change-Id: I0e8058ceb8a04550fe6c17d74babcf5fe0ee609d + +diff --git a/src/comgr-metadata.cpp b/src/comgr-metadata.cpp +index a3375b4..72aeb01 100644 +--- a/src/comgr-metadata.cpp ++++ b/src/comgr-metadata.cpp +@@ -223,7 +223,7 @@ static bool mergeNoteRecords(llvm::msgpack::DocNode &From, + template + static bool processNote(const Elf_Note &Note, DataMeta *MetaP, + llvm::msgpack::DocNode &Root) { +- auto DescString = Note.getDescAsStringRef(); ++ auto DescString = Note.getDescAsStringRef(4); + + if (Note.getName() == "AMD" && Note.getType() == ELF::NT_AMD_HSA_METADATA) { + +@@ -557,7 +557,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile *Obj, + + switch (Note.getType()) { + case ELF::NT_AMD_HSA_CODE_OBJECT_VERSION: { +- if (Note.getDesc().size() < ++ if (Note.getDesc(4).size() < + sizeof(amdgpu_hsa_note_code_object_version_s)) { + IsError = true; + return true; +@@ -565,7 +565,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile *Obj, + + const auto *NoteCodeObjectVersion = + reinterpret_cast( +- Note.getDesc().data()); ++ Note.getDesc(4).data()); + + // Only code objects up to version 2 used note records. + if (NoteCodeObjectVersion->major_version > 2) { +@@ -578,7 +578,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile *Obj, + } + + case ELF::NT_AMD_HSA_HSAIL: { +- if (Note.getDesc().size() < sizeof(amdgpu_hsa_note_hsail_s)) { ++ if (Note.getDesc(4).size() < sizeof(amdgpu_hsa_note_hsail_s)) { + IsError = true; + return true; + } +@@ -588,21 +588,21 @@ getElfIsaNameFromElfNotes(const ELFObjectFile *Obj, + } + + case ELF::NT_AMD_HSA_ISA_VERSION: { +- if (Note.getDesc().size() < ++ if (Note.getDesc(4).size() < + offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name)) { + IsError = true; + return true; + } + + const auto *NoteIsa = reinterpret_cast( +- Note.getDesc().data()); ++ Note.getDesc(4).data()); + + if (!NoteIsa->vendor_name_size || !NoteIsa->architecture_name_size) { + IsError = true; + return true; + } + +- if (Note.getDesc().size() < ++ if (Note.getDesc(4).size() < + offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name) + + NoteIsa->vendor_name_size + NoteIsa->architecture_name_size) { + IsError = true; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch new file mode 100644 index 0000000..ed52186 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch @@ -0,0 +1,113 @@ +From 9417620c9802331c4abf0cf4c57f40ec4b38a5e7 Mon Sep 17 00:00:00 2001 +From: Ron Lieberman +Date: Thu, 1 Jun 2023 13:19:28 -0500 +Subject: [PATCH] [llvm] change from Optional to std::optional in support of + pending llvm patch + +Change-Id: If8a03245dc88e7b7e4a628d7ce7e28c71c3268c6 +--- + lib/comgr/src/comgr-env.cpp | 2 +- + lib/comgr/src/comgr-env.h | 3 +-- + lib/comgr/src/comgr-objdump.cpp | 5 ++--- + lib/comgr/src/comgr.cpp | 2 +- + lib/comgr/src/time-stat/time-stat.cpp | 3 +-- + 5 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/comgr-env.cpp b/src/comgr-env.cpp +index 6ab6f0f..7575394 100644 +--- a/src/comgr-env.cpp ++++ b/src/comgr-env.cpp +@@ -50,7 +50,7 @@ bool shouldSaveTemps() { + return SaveTemps && StringRef(SaveTemps) != "0"; + } + +-Optional getRedirectLogs() { ++std::optional getRedirectLogs() { + static char *RedirectLogs = getenv("AMD_COMGR_REDIRECT_LOGS"); + if (!RedirectLogs || StringRef(RedirectLogs) == "0") { + return std::nullopt; +diff --git a/src/comgr-env.h b/src/comgr-env.h +index aef57b3..7ca644e 100644 +--- a/src/comgr-env.h ++++ b/src/comgr-env.h +@@ -36,7 +36,6 @@ + #ifndef COMGR_ENV_H + #define COMGR_ENV_H + +-#include "llvm/ADT/Optional.h" + #include "llvm/ADT/StringRef.h" + + namespace COMGR { +@@ -47,7 +46,7 @@ bool shouldSaveTemps(); + + /// If the environment requests logs be redirected, return the string identifier + /// of where to redirect. Otherwise return @p None. +-llvm::Optional getRedirectLogs(); ++std::optional getRedirectLogs(); + + /// Return whether the environment requests verbose logging. + bool shouldEmitVerboseLogs(); +diff --git a/src/comgr-objdump.cpp b/src/comgr-objdump.cpp +index ff3f996..cae7aa3 100644 +--- a/src/comgr-objdump.cpp ++++ b/src/comgr-objdump.cpp +@@ -39,7 +39,6 @@ + #include "comgr-objdump.h" + #include "comgr.h" + #include "lld/Common/TargetOptionsCommandFlags.h" +-#include "llvm/ADT/Optional.h" + #include "llvm/ADT/STLExtras.h" + #include "llvm/ADT/StringExtras.h" + #include "llvm/CodeGen/CommandFlags.h" +@@ -2145,7 +2144,7 @@ void llvm::DisassemHelper::printRawClangAST(const ObjectFile *Obj) { + ClangASTSectionName = "clangast"; + } + +- Optional ClangASTSection; ++ std::optional ClangASTSection; + for (auto Sec : toolSectionFilter(*Obj)) { + StringRef Name; + auto NameOrErr = Sec.getName(); +@@ -2188,7 +2187,7 @@ void llvm::DisassemHelper::printFaultMaps(const ObjectFile *Obj) { + return; + } + +- Optional FaultMapSection; ++ std::optional FaultMapSection; + + for (auto Sec : toolSectionFilter(*Obj)) { + StringRef Name; +diff --git a/src/comgr.cpp b/src/comgr.cpp +index e421414..9e89dc2 100644 +--- a/src/comgr.cpp ++++ b/src/comgr.cpp +@@ -1293,7 +1293,7 @@ amd_comgr_status_t AMD_COMGR_API + // Pointer to the currently selected log stream. + raw_ostream *LogP = &LogS; + +- if (Optional RedirectLogs = env::getRedirectLogs()) { ++ if (std::optional RedirectLogs = env::getRedirectLogs()) { + StringRef RedirectLog = *RedirectLogs; + if (RedirectLog == "stdout") { + LogP = &outs(); +diff --git a/src/time-stat/time-stat.cpp b/src/time-stat/time-stat.cpp +index 1df3f0e..9b24983 100644 +--- a/src/time-stat/time-stat.cpp ++++ b/src/time-stat/time-stat.cpp +@@ -5,7 +5,6 @@ + #include + + #include "comgr-env.h" +-#include "llvm/ADT/Optional.h" + #include "llvm/ADT/StringRef.h" + #include "llvm/Support/Debug.h" + #include "llvm/Support/FileSystem.h" +@@ -29,7 +28,7 @@ static std::unique_ptr PS = nullptr; + static void dump() { PS->dumpPerfStats(); } + + void GetLogFile(std::string &PerfLog) { +- if (Optional RedirectLogs = env::getRedirectLogs()) { ++ if (std::optional RedirectLogs = env::getRedirectLogs()) { + PerfLog = (*RedirectLogs).str(); + return; + } diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch new file mode 100644 index 0000000..9c80790 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch @@ -0,0 +1,39 @@ + +commit 13dfb8f01ded137f634b8b6aa8a5ce2bc3e65daf +Author: Ron Lieberman +Date: Sun Apr 23 07:12:23 2023 -0500 + + [symbolizer] API evolution for ErrorHandler + + Change-Id: I438358dc79195444aed0658942b23869eda8117e + +diff --git a/src/comgr-symbolizer.cpp b/src/comgr-symbolizer.cpp +index cfdeee8..36643cf 100644 +--- a/src/comgr-symbolizer.cpp ++++ b/src/comgr-symbolizer.cpp +@@ -57,6 +57,16 @@ static llvm::symbolize::PrinterConfig getDefaultPrinterConfig() { + return Config; + } + ++static llvm::symbolize::ErrorHandler symbolize_error_handler( ++ llvm::raw_string_ostream &OS) { ++ return ++ [&](const llvm::ErrorInfoBase &ErrorInfo, llvm::StringRef ErrorBanner) { ++ OS << ErrorBanner; ++ ErrorInfo.log(OS); ++ OS << '\n'; ++ }; ++} ++ + Symbolizer::Symbolizer(std::unique_ptr &&CodeObject, + PrintSymbolCallback PrintSymbol) + : CodeObject(std::move(CodeObject)), PrintSymbol(PrintSymbol) {} +@@ -93,7 +103,7 @@ amd_comgr_status_t Symbolizer::symbolize(uint64_t Address, bool IsCode, + llvm::raw_string_ostream OS(Result); + llvm::symbolize::PrinterConfig Config = getDefaultPrinterConfig(); + llvm::symbolize::Request Request{"", Address}; +- auto Printer = std::make_unique(OS, OS, Config); ++ auto Printer = std::make_unique(OS, symbolize_error_handler(OS), Config); + + if (IsCode) { + auto ResOrErr = SymbolizerImpl.symbolizeInlinedCode( diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch new file mode 100644 index 0000000..8ec2c71 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch @@ -0,0 +1,16 @@ +Do not install same license for -asan, which avoids QA warning +Upstream issue: https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/61 +=================================================================== +--- comgr.orig/CMakeLists.txt ++++ comgr/CMakeLists.txt +@@ -281,10 +281,6 @@ install(FILES + "NOTICES.txt" + COMPONENT amd-comgr + DESTINATION ${CMAKE_INSTALL_DOCDIR}) +-install(FILES +- "LICENSE.txt" +- COMPONENT asan +- DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan) + + # Generate the install-tree package. + set(AMD_COMGR_PREFIX_CODE " diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch new file mode 100644 index 0000000..30a4457 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch @@ -0,0 +1,12 @@ +Vanilla clang requires either -nogpulib or both --rocm-path and --rocm-device-lib-path flags +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -39,7 +39,7 @@ endmacro() + macro(add_test_input_bitcode name input output) + add_custom_command( + OUTPUT "${output}" +- COMMAND "$" -c --offload-arch=gfx906 -emit-llvm -fgpu-rdc ++ COMMAND "$" -c --offload-arch=gfx906 -emit-llvm -fgpu-rdc --rocm-path=@GENTOO_PORTAGE_EPREFIX@/usr --hip-device-lib-path=@GENTOO_PORTAGE_EPREFIX@/usr/lib/amdgcn/bitcode + --gpu-bundle-output ${ARGN} "${CMAKE_CURRENT_SOURCE_DIR}/${input}" + -o "${output}" + VERBATIM diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch new file mode 100644 index 0000000..80f1f90 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch @@ -0,0 +1,50 @@ +Vanilla LLVM does not support calling AMDGPU_KERNEL across different sources/bitcodes. +Without this patch https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/45 occurs. +Reference: https://github.com/llvm/llvm-project/issues/60313 +=================================================================== +Index: comgr/test/source/source1.cl +=================================================================== +--- comgr.orig/test/source/source1.cl ++++ comgr/test/source/source1.cl +@@ -35,7 +35,9 @@ + + #include "include-a.h" + ++void kernel source3(__global int *j) { *j = FOO; } ++ + void kernel source1(__global int *j) { + *j += 2; +- source2(j); ++ source3(j); + } +Index: comgr/test/mangled_names_test.c +=================================================================== +--- comgr.orig/test/mangled_names_test.c ++++ comgr/test/mangled_names_test.c +@@ -162,7 +162,7 @@ int main(int argc, char *argv[]) { + exit(1); + } + +- const char *bcNames[] = {"source1", "source2"}; ++ const char *bcNames[] = {"source3", "source1"}; + + for (size_t I = 0; I < numNames; ++I) { + size_t Size; +@@ -249,14 +249,14 @@ int main(int argc, char *argv[]) { + + Status = amd_comgr_populate_mangled_names(DataExec, &numNames); + +- if (numNames != 4) { ++ if (numNames != 6) { + printf("amd_populate_mangled_names Failed: " +- "produced %zu executable names (expected 4)\n", ++ "produced %zu executable names (expected 6)\n", + Count); + exit(1); + } + +- const char *execNames[] = {"source1", "source1.kd", "source2", "source2.kd"}; ++ const char *execNames[] = {"source3", "source3.kd", "source1", "source1.kd", "source2", "source2.kd"}; + + for (size_t I = 0; I < numNames; ++I) { + size_t Size; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch new file mode 100644 index 0000000..e65400c --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch @@ -0,0 +1,204 @@ +Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set +to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel. + +Based on Debian patch by Cordell Bloor +https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch +--- comgr.orig/src/comgr-metadata.cpp ++++ comgr/src/comgr-metadata.cpp +@@ -923,23 +923,86 @@ static constexpr const char *CLANG_OFFLOAD_BUNDLER_MAGIC = + static constexpr size_t OffloadBundleMagicLen = + strLiteralLength(CLANG_OFFLOAD_BUNDLER_MAGIC); + +-bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { ++struct GfxPattern { ++ std::string root; ++ std::string suffixes; ++}; ++ ++static bool matches(const GfxPattern& p, StringRef s) { ++ if (p.root.size() + 1 != s.size()) { ++ return false; ++ } ++ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) { ++ return false; ++ } ++ return p.suffixes.find(s[p.root.size()]) != std::string::npos; ++} ++ ++static bool isGfx900EquivalentProcessor(StringRef processor) { ++ return matches(GfxPattern{"gfx90", "029c"}, processor); ++} ++ ++static bool isGfx900SupersetProcessor(StringRef processor) { ++ return matches(GfxPattern{"gfx90", "0269c"}, processor); ++} ++ ++static bool isGfx1030EquivalentProcessor(StringRef processor) { ++ return matches(GfxPattern{"gfx103", "0123456"}, processor); ++} ++ ++static bool isGfx1010EquivalentProcessor(StringRef processor) { ++ return matches(GfxPattern{"gfx101", "0"}, processor); ++} ++ ++static bool isGfx1010SupersetProcessor(StringRef processor) { ++ return matches(GfxPattern{"gfx101", "0123"}, processor); ++} ++ ++enum CompatibilityScore { ++ CS_EXACT_MATCH = 1 << 4, ++ CS_PROCESSOR_MATCH = 1 << 3, ++ CS_PROCESSOR_COMPATIBLE = 1 << 2, ++ CS_XNACK_SPECIALIZED = 1 << 1, ++ CS_SRAM_ECC_SPECIALIZED = 1 << 0, ++ CS_INCOMPATIBLE = 0, ++}; ++ ++static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor, ++ StringRef AgentProcessor) { ++ if (CodeObjectProcessor == AgentProcessor) { ++ return CS_PROCESSOR_MATCH; ++ } ++ ++ bool compatible = false; ++ if (isGfx900SupersetProcessor(AgentProcessor)) { ++ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor); ++ } else if (isGfx1010SupersetProcessor(AgentProcessor)) { ++ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor); ++ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) { ++ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor); ++ } ++ ++ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; ++} ++ ++static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) { + if (IsaName == CodeObjectIsaName) { +- return true; ++ return CS_EXACT_MATCH; + } + + TargetIdentifier CodeObjectIdent; + if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) { +- return false; ++ return CS_INCOMPATIBLE; + } + + TargetIdentifier IsaIdent; + if (parseTargetIdentifier(IsaName, IsaIdent)) { +- return false; ++ return CS_INCOMPATIBLE; + } + +- if (CodeObjectIdent.Processor != IsaIdent.Processor) { +- return false; ++ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor); ++ if (ProcessorScore == CS_INCOMPATIBLE) { ++ return CS_INCOMPATIBLE; + } + + char CodeObjectXnack = ' ', CodeObjectSramecc = ' '; +@@ -963,18 +1026,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { + } + } + ++ int XnackBonus = 0; + if (CodeObjectXnack != ' ') { + if (CodeObjectXnack != IsaXnack) { +- return false; ++ return CS_INCOMPATIBLE; + } ++ XnackBonus = CS_XNACK_SPECIALIZED; + } + ++ int SrameccBonus = 0; + if (CodeObjectSramecc != ' ') { + if (CodeObjectSramecc != IsaSramecc) { +- return false; ++ return CS_INCOMPATIBLE; + } ++ SrameccBonus = CS_SRAM_ECC_SPECIALIZED; + } +- return true; ++ ++ return ProcessorScore + XnackBonus + SrameccBonus; + } + + amd_comgr_status_t +@@ -992,14 +1060,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP, + return Status; + } + ++ int MaxScore = 0; ++ unsigned MaxScoreItem; + for (unsigned J = 0; J < QueryListSize; J++) { +- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) { +- QueryList[J].offset = 0; +- QueryList[J].size = DataP->Size; +- break; ++ int Score = getCompatiblityScore(QueryList[J].isa, IsaName); ++ if (Score > MaxScore) { ++ MaxScore = Score; ++ MaxScoreItem = J; + } + } + ++ if (MaxScore) { ++ QueryList[MaxScoreItem].offset = 0; ++ QueryList[MaxScoreItem].size = DataP->Size; ++ } ++ + return AMD_COMGR_STATUS_SUCCESS; + } + +@@ -1011,7 +1086,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, + return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize); + } + +- int Seen = 0; + BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size), + support::little); + +@@ -1037,6 +1111,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, + QueryList[I].size = 0; + } + ++ std::vector QueryListScores(QueryListSize); ++ + // For each code object, extract BundleEntryID information, and check that + // against each ISA in the QueryList + for (uint64_t I = 0; I < NumOfCodeObjects; I++) { +@@ -1069,28 +1145,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, + } + + for (unsigned J = 0; J < QueryListSize; J++) { +- // If this QueryList item has already been found to be compatible with ++ // If this QueryList item has exact match with + // another BundleEntryID, no need to check against the current + // BundleEntryID +- if (QueryList[J].size != 0) { ++ if (QueryListScores[J] == CS_EXACT_MATCH) { + continue; + } + + // If the QueryList Isa is compatible with the BundleEntryID, set the + // QueryList offset/size to this BundleEntryID +- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) { ++ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second); ++ if (Score > QueryListScores[J]) { ++ QueryListScores[J] = Score; + QueryList[J].offset = BundleEntryCodeObjectOffset; + QueryList[J].size = BundleEntryCodeObjectSize; +- Seen++; +- break; + } + } +- +- // Stop iterating over BundleEntryIDs once we have populated the entire +- // QueryList +- if (Seen == (int) QueryListSize) { +- break; +- } + } + + return AMD_COMGR_STATUS_SUCCESS; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch new file mode 100644 index 0000000..526318f --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch @@ -0,0 +1,31 @@ +From 179ec2e67bf882c6bccb27f81db3d80f7eb9946e Mon Sep 17 00:00:00 2001 +From: Jacob Lambert +Date: Fri, 12 Apr 2024 13:56:42 -0700 +Subject: [PATCH] [Comgr] Don't add -nogpulib option for assembley action + +We can omit setting -nogpulib even without a -rocm-path=. option +when calling the assembly action. This avoids the following warning: + +warning: argument unused during compilation: '-nogpulib' +Change-Id: I66d512befbafd9382f050c45a0d3950985e8ae38 +--- + amd/comgr/src/comgr-compiler.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp +index 143ab4e4f3db..21b233fa94b2 100644 +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -1758,6 +1758,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() { + Args.push_back("-x"); + Args.push_back("assembler"); + ++ // -nogpulib option not needed for assembling to relocatable ++ NoGpuLib = false; ++ + return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o"); + } + +-- +2.44.0 + diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch new file mode 100644 index 0000000..99cbf2f --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch @@ -0,0 +1,26 @@ +In-process compilation breaks compile_source_to_executable test, as it attempts to +build .so as fatbin, and some options does not work with unpatched LLVM. +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -1226,10 +1226,7 @@ amd_comgr_status_t AMDGPUCompiler::compileToFatBin() { + return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT; + } + +- // This is a workaround to support HIP OOP Fatbin Compilation +- CompileOOP = true; + auto Status = processFiles(AMD_COMGR_DATA_KIND_FATBIN, ".fatbin"); +- CompileOOP = false; + + return Status; + } +--- a/src/comgr-compiler.h ++++ b/src/comgr-compiler.h +@@ -102,7 +102,7 @@ class AMDGPUCompiler { + std::string ClangIncludePath; + std::string ClangIncludePath2; + /// Perform out-of-process compilation. +- bool CompileOOP = false; ++ bool CompileOOP = true; + /// Precompiled header file paths. + llvm::SmallVector, 2> PrecompiledHeaders; + /// Arguments common to all driver invocations in the current action. diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch new file mode 100644 index 0000000..d885da0 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch @@ -0,0 +1,51 @@ +Remove HIP/ROCM includes ("-isystem /usr/include"), as they break inclusion of . +Add inclusion of Clang resource dir (e.g. /usr/lib/clang/17), as it is used in hip runtime like that. +Remove hardcoded target to fix HIP on musl. + +Issues: +* https://github.com/ROCm/clr/issues/82 +* https://github.com/ROCm/llvm-project/issues/92 +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -1028,9 +1028,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr, + } + + amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { +- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str(); +- // HIP headers depend on hsa.h which is in ROCM_DIR/include. +- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str(); ++ // Allow to include (used in some hip files) ++ ClangIncludePath = @CLANG_RESOURCE_DIR@; + + Args.push_back("-x"); + +@@ -1051,13 +1050,9 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + case AMD_COMGR_LANGUAGE_HIP: + Args.push_back("hip"); + Args.push_back("-std=c++11"); +- Args.push_back("-target"); +- Args.push_back("x86_64-unknown-linux-gnu"); + Args.push_back("--cuda-device-only"); + Args.push_back("-isystem"); +- Args.push_back(ROCMIncludePath.c_str()); +- Args.push_back("-isystem"); +- Args.push_back(HIPIncludePath.c_str()); ++ Args.push_back(ClangIncludePath.c_str()); + break; + default: + return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT; +--- a/src/comgr-compiler.h ++++ b/src/comgr-compiler.h +@@ -95,12 +95,7 @@ class AMDGPUCompiler { + /// User supplied target GPU Arch. + std::string GPUArch; + std::string OffloadArch; +- /// ROCM include Path +- std::string ROCMIncludePath; +- /// HIP and Clang Include Paths +- std::string HIPIncludePath; + std::string ClangIncludePath; +- std::string ClangIncludePath2; + /// Perform out-of-process compilation. + bool CompileOOP = false; + /// Precompiled header file paths. diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch new file mode 100644 index 0000000..df008e4 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch @@ -0,0 +1,79 @@ +ROCm 6.0.0 and 6.0.2 releases use mix between LLVM 17 and 18 +forked as https://github.com/RadeonOpenCompute/llvm-project +which makes some libraries compatible with LLVM 17, +while other require LLVM 18. + +Backports: +* https://github.com/ROCm/llvm-project/commit/6cbc4dc91dfeb1cf2295cb350866e0b3a07dfee4 +* https://github.com/ROCm/llvm-project/commit/179ec2e67bf882c6bccb27f81db3d80f7eb9946e +* https://github.com/ROCm/llvm-project/commit/ee123c3d1706bc4346511b1a9032020782576350 +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -205,7 +205,11 @@ bool AssemblerInvocation::createFromArgs(AssemblerInvocation &Opts, + // Parse the arguments. + const OptTable &OptTbl = getDriverOptTable(); + ++#if LLVM_VERSION_MAJOR == 17 + const unsigned IncludedFlagsBitmask = options::CC1AsOption; ++#else ++ llvm::opt::Visibility IncludedFlagsBitmask(options::CC1AsOption); ++#endif + unsigned MissingArgIndex, MissingArgCount; + InputArgList Args = OptTbl.ParseArgs(Argv, MissingArgIndex, MissingArgCount, + IncludedFlagsBitmask); +@@ -1041,11 +1045,15 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + Args.push_back("cl"); + Args.push_back("-std=cl1.2"); + Args.push_back("-cl-no-stdinc"); ++ Args.push_back("-mllvm"); ++ Args.push_back("-amdgpu-internalize-symbols"); + break; + case AMD_COMGR_LANGUAGE_OPENCL_2_0: + Args.push_back("cl"); + Args.push_back("-std=cl2.0"); + Args.push_back("-cl-no-stdinc"); ++ Args.push_back("-mllvm"); ++ Args.push_back("-amdgpu-internalize-symbols"); + break; + case AMD_COMGR_LANGUAGE_HIP: + Args.push_back("hip"); +@@ -1605,6 +1613,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() { + Args.push_back("-x"); + Args.push_back("assembler"); + ++ // -nogpulib option not needed for assembling to relocatable ++ NoGpuLib = false; ++ + return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o"); + } + +--- a/src/comgr-metadata.cpp ++++ b/src/comgr-metadata.cpp +@@ -1087,7 +1087,12 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, + } + + BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size), +- support::little); ++#if LLVM_VERSION_MAJOR == 17 ++ support::little ++#else ++ llvm::endianness::little ++#endif ++ ); + + StringRef Magic; + if (auto EC = Reader.readFixedString(Magic, OffloadBundleMagicLen)) { +--- a/test/compile_log_remarks_test.c ++++ b/test/compile_log_remarks_test.c +@@ -107,7 +107,11 @@ int main(int argc, char *argv[]) { + AMD_COMGR_DATA_KIND_SOURCE, 1); + + checkLogs("AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY", DataSetAsm, ++#if LLVM_VERSION_MAJOR == 17 + "remark: :0:0: 8 stack bytes in function " ++#else ++ "remark: :0:0: 8 stack bytes in function 'f' " ++#endif + "[-Rpass-analysis=prologepilog]"); + + Status = amd_comgr_destroy_data_set(DataSetCl); diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch new file mode 100644 index 0000000..8c126d9 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch @@ -0,0 +1,28 @@ +Use files from dev-libs/rocm-device-libs instead of their copy in /tmp. +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -1070,24 +1070,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + } + + amd_comgr_status_t AMDGPUCompiler::addDeviceLibraries() { +- llvm::SmallString<128> FakeRocmDir = TmpDir; +- path::append(FakeRocmDir, "rocm"); +- llvm::SmallString<128> DeviceLibsDir = FakeRocmDir; +- path::append(DeviceLibsDir, "amdgcn", "bitcode"); +- if (fs::create_directory(InputDir)) { +- return AMD_COMGR_STATUS_ERROR; +- } +- Args.push_back(Saver.save(Twine("--rocm-path=") + FakeRocmDir).data()); + NoGpuLib = false; +- +- for (auto DeviceLib : getDeviceLibraries()) { +- llvm::SmallString<128> DeviceLibPath = DeviceLibsDir; +- path::append(DeviceLibPath, std::get<0>(DeviceLib)); +- if (auto Status = outputToFile(std::get<1>(DeviceLib), DeviceLibPath)) { +- return Status; +- } +- } +- + return AMD_COMGR_STATUS_SUCCESS; + } + diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch new file mode 100644 index 0000000..2d4ed66 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch @@ -0,0 +1,40 @@ +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -1031,9 +1031,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr, + } + + amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { +- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str(); +- // HIP headers depend on hsa.h which is in ROCM_DIR/include. +- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str(); ++ // Allow to include (used in some hip files) ++ ClangIncludePath = @CLANG_RESOURCE_DIR@; + + // Default to O3 for all contexts + Args.push_back("-O3"); +@@ -1059,9 +1058,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { + Args.push_back("-nogpuinc"); + Args.push_back("--offload-device-only"); + Args.push_back("-isystem"); +- Args.push_back(ROCMIncludePath.c_str()); +- Args.push_back("-isystem"); +- Args.push_back(HIPIncludePath.c_str()); ++ Args.push_back(ClangIncludePath.c_str()); + break; + default: + return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT; +--- a/src/comgr-compiler.h ++++ b/src/comgr-compiler.h +@@ -95,12 +95,7 @@ class AMDGPUCompiler { + /// User supplied target GPU Arch. + std::string GPUArch; + std::string OffloadArch; +- /// ROCM include Path +- std::string ROCMIncludePath; +- /// HIP and Clang Include Paths +- std::string HIPIncludePath; + std::string ClangIncludePath; +- std::string ClangIncludePath2; + /// Perform out-of-process compilation. + bool CompileOOP = false; + /// Precompiled header file paths. diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch new file mode 100644 index 0000000..e910b8a --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch @@ -0,0 +1,65 @@ +Combination of upstream patches to make comgr compatible with LLVM 19 +https://github.com/ROCm/llvm-project/commit/91c18ff3482abdf90239e9b482797403f6e7e9bc +https://github.com/ROCm/llvm-project/commit/971fd662887f21877d29f936c2f818eac37589d3 +https://github.com/ROCm/llvm-project/commit/7a784d7acfd7dadfa8516054adfbe7c884e70786 +https://github.com/ROCm/llvm-project/commit/1fb58bcb4868087ed314e2f5e7363d871d69f4da +--- a/src/comgr-compiler.cpp ++++ b/src/comgr-compiler.cpp +@@ -384,15 +384,14 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts, + assert(MRI && "Unable to create target register info!"); + + llvm::MCTargetOptions MCOptions; ++ MCOptions.X86RelaxRelocations = Opts.RelaxELFRelocations; ++ MCOptions.CompressDebugSections = Opts.CompressDebugSections; + std::unique_ptr MAI( + TheTarget->createMCAsmInfo(*MRI, Opts.Triple, MCOptions)); + assert(MAI && "Unable to create target asm info!"); + + // Ensure MCAsmInfo initialization occurs before any use, otherwise sections + // may be created with a combination of default and explicit settings. +- MAI->setCompressDebugSections(Opts.CompressDebugSections); +- +- MAI->setRelaxELFRelocations(Opts.RelaxELFRelocations); + + bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj; + std::unique_ptr FDOS = getOutputStream(Opts, Diags, IsBinary); +@@ -428,9 +427,6 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts, + } + + MOFI->initMCObjectFileInfo(Ctx, PIC); +- if (Opts.SaveTemporaryLabels) { +- Ctx.setAllowTemporaryLabels(false); +- } + if (Opts.GenDwarfForAssembly) { + Ctx.setGenDwarfForAssembly(true); + } +--- a/src/comgr-symbol.cpp ++++ b/src/comgr-symbol.cpp +@@ -146,7 +146,7 @@ SymbolContext *SymbolHelper::createBinary(StringRef Ins, const char *Name, + return NULL; + } + StringRef SymName = *SymNameOrErr; +- if (SymName.equals(Sname)) { ++ if (SymName == Sname) { + #if DEBUG + outs() << "Found! " << sname.data() << "\n"; + #endif +--- a/src/comgr.cpp ++++ b/src/comgr.cpp +@@ -51,6 +51,7 @@ + #include "llvm/Object/ObjectFile.h" + #include "llvm/Support/TargetSelect.h" + #include "llvm/IR/Constants.h" ++#include "llvm/IR/Module.h" + #include + #include + #include +@@ -2126,7 +2127,7 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, + } + StringRef SecName = std::move(SecNameOrError.get()); + +- if (SecName.equals(StringRef(".rodata"))) ++ if (SecName == StringRef(".rodata")) + rodataShdr = Shdr; + } + } diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch new file mode 100644 index 0000000..14b1d12 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch @@ -0,0 +1,14 @@ +Index: comgr/src/comgr-env.cpp +=================================================================== +--- comgr.orig/src/comgr-env.cpp ++++ comgr/src/comgr-env.cpp +@@ -269,6 +269,9 @@ InstallationDetector *getDetectorImpl() + if (EnvROCMPath) { + ROCmInstallPath = EnvROCMPath; + } ++ else { ++ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr"; ++ } + + InstallationDetector *Detector; + if (ROCmInstallPath == "") { diff --git a/dev-libs/rocm-comgr/metadata.xml b/dev-libs/rocm-comgr/metadata.xml new file mode 100644 index 0000000..0fea85b --- /dev/null +++ b/dev-libs/rocm-comgr/metadata.xml @@ -0,0 +1,19 @@ + + + + + candrews@gentoo.org + Craig Andrews + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/ROCm-CompilerSupport + + diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild new file mode 100644 index 0000000..51d6b5c --- /dev/null +++ b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake llvm prefix + +LLVM_MAX_SLOT=17 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/" + inherit git-r3 + S="${WORKDIR}/${P}/lib/comgr" +else + SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr" + KEYWORDS="~amd64" +fi + +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch" + "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" + "${FILESDIR}/${PN}-5.7.0-optional.patch" + "${FILESDIR}/${PN}-5.7.0-lld.patch" + "${FILESDIR}/${PN}-5.7.0-disassembly.patch" + "${FILESDIR}/${PN}-5.7.0-metadata.patch" + "${FILESDIR}/${PN}-5.7.0-symbolizer.patch" + "${FILESDIR}/${PN}-5.7.1-fix-tests.patch" + "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch" +) + +DESCRIPTION="Radeon Open Compute Code Object Manager" +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND=" + >=dev-libs/rocm-device-libs-${PV} + (\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch) + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.7.1-fix-tests-rocm-path.patch) + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 + -DBUILD_TESTING=$(usex test ON OFF) + ) + cmake_src_configure +} diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild new file mode 100644 index 0000000..be39338 --- /dev/null +++ b/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 prefix + +MY_P=llvm-project-rocm-${PV} +components=( "amd/comgr" ) + +DESCRIPTION="Radeon Open Compute Code Object Manager" +HOMEPAGE="https://github.com/ROCm/ROCm-CompilerSupport" +SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}/${components[0]}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" + "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch" + "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.1.0-llvm-18-compat.patch" + "${FILESDIR}/${PN}-6.1.0-enforce-oop-compiler.patch" + "${FILESDIR}/${PN}-6.1.0-fix-comgr-default-flags.patch" + "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" +) + +RDEPEND=">=dev-libs/rocm-device-libs-${PV} + llvm-core/clang-runtime:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') + dev-util/hipcc:${SLOT} +" +DEPEND="${RDEPEND}" + +CMAKE_BUILD_TYPE=Release + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die + sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch) + + cmake_src_prepare + + # Replace @CLANG_RESOURCE_DIR@ in patches + local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" + sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die +} + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 + -DBUILD_TESTING=$(usex test ON OFF) + ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 + ) + cmake_src_test +} diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.1.2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.1.2.ebuild new file mode 100644 index 0000000..be39338 --- /dev/null +++ b/dev-libs/rocm-comgr/rocm-comgr-6.1.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 prefix + +MY_P=llvm-project-rocm-${PV} +components=( "amd/comgr" ) + +DESCRIPTION="Radeon Open Compute Code Object Manager" +HOMEPAGE="https://github.com/ROCm/ROCm-CompilerSupport" +SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}/${components[0]}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" + "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch" + "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.1.0-llvm-18-compat.patch" + "${FILESDIR}/${PN}-6.1.0-enforce-oop-compiler.patch" + "${FILESDIR}/${PN}-6.1.0-fix-comgr-default-flags.patch" + "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" +) + +RDEPEND=">=dev-libs/rocm-device-libs-${PV} + llvm-core/clang-runtime:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') + dev-util/hipcc:${SLOT} +" +DEPEND="${RDEPEND}" + +CMAKE_BUILD_TYPE=Release + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die + sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch) + + cmake_src_prepare + + # Replace @CLANG_RESOURCE_DIR@ in patches + local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" + sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die +} + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 + -DBUILD_TESTING=$(usex test ON OFF) + ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 + ) + cmake_src_test +} diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.3.2-r1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.3.2-r1.ebuild new file mode 100644 index 0000000..8261dc4 --- /dev/null +++ b/dev-libs/rocm-comgr/rocm-comgr-6.3.2-r1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 prefix + +MY_P=llvm-project-rocm-${PV} +components=( "amd/comgr" ) + +DESCRIPTION="Radeon Open Compute Code Object Manager" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" +SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}/${components[0]}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" + "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch" + "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" + "${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch" + "${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch" +) + +RDEPEND=" + dev-libs/rocm-device-libs:${SLOT} + llvm-core/clang-runtime:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') + dev-util/hipcc:${SLOT} +" +DEPEND="${RDEPEND}" + +CMAKE_BUILD_TYPE=Release + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die + sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die + eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch) + + cmake_src_prepare + + # Replace @CLANG_RESOURCE_DIR@ in patches + local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" + sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die +} + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 + -DBUILD_TESTING=$(usex test ON OFF) + ) + # Prevent CMake from finding systemwide hip, which breaks tests + use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 + ) + cmake_src_test +} diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild new file mode 100644 index 0000000..8261dc4 --- /dev/null +++ b/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 prefix + +MY_P=llvm-project-rocm-${PV} +components=( "amd/comgr" ) + +DESCRIPTION="Radeon Open Compute Code Object Manager" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" +SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}/${components[0]}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" + "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch" + "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" + "${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch" + "${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch" +) + +RDEPEND=" + dev-libs/rocm-device-libs:${SLOT} + llvm-core/clang-runtime:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') + dev-util/hipcc:${SLOT} +" +DEPEND="${RDEPEND}" + +CMAKE_BUILD_TYPE=Release + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die + sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die + eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch) + + cmake_src_prepare + + # Replace @CLANG_RESOURCE_DIR@ in patches + local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" + sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die +} + +src_configure() { + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 + -DBUILD_TESTING=$(usex test ON OFF) + ) + # Prevent CMake from finding systemwide hip, which breaks tests + use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 + ) + cmake_src_test +} diff --git a/dev-libs/rocm-device-libs/Manifest b/dev-libs/rocm-device-libs/Manifest new file mode 100644 index 0000000..0fcdcd6 --- /dev/null +++ b/dev-libs/rocm-device-libs/Manifest @@ -0,0 +1,5 @@ +DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818 +DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0 +DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c +DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872 +DIST rocm-device-libs-5.7.1.tar.gz 248357 BLAKE2B 829704382e9420ad79724a250ccfd65278eb697498805297d1a52b8ea35dbff46e11514b681243d61bfac05b8a9734f0cf22d721603e48fe2f9864368222b0bc SHA512 8755d0584fa3b8239f5642b4fb8f5e8dea20bbaca2ff8883894d3583913e9a1fd1552492b36e8ceff092f795783b734e68b002ee0c93711dccdf8e72c528c27c diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch new file mode 100644 index 0000000..2a30778 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch @@ -0,0 +1,37 @@ +`--rocm-device-lib-path` is needed to execute the tests because they are not +installed to system yet +=================================================================== +--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/CMakeLists.txt ++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/CMakeLists.txt +@@ -30,6 +30,7 @@ function(add_compile_test test_name func + -DFILECHECK_BIN=${FILECHECK_BIN} + -DOUTPUT_FILE=output.${name}.${test_cpu}.s + -DINPUT_FILE=${CMAKE_CURRENT_SOURCE_DIR}/${func_name}.cl ++ -DAMDGCN_BITCODES=${PROJECT_BINARY_DIR}/lib/amdgcn/bitcode + -DTEST_CPU=${test_cpu} + -DEXTRA_CHECK_PREFIX=${extra_check_prefixes} + -P ${script}) +Index: ROCm-Device-Libs-rocm-6.0.0/test/compile/RunConstantFoldTest.cmake +=================================================================== +--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/RunConstantFoldTest.cmake ++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/RunConstantFoldTest.cmake +@@ -16,6 +16,7 @@ execute_process(COMMAND + -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU} + -Xclang -finclude-default-header + --rocm-path=${BINARY_DIR} ++ --rocm-device-lib-path=${AMDGCN_BITCODES} + -mllvm -amdgpu-simplify-libcall=0 + -o ${OUTPUT_FILE} ${INPUT_FILE} + RESULT_VARIABLE CLANG_RESULT +Index: ROCm-Device-Libs-rocm-6.0.0/test/compile/RunCompileTest.cmake +=================================================================== +--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/RunCompileTest.cmake ++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/RunCompileTest.cmake +@@ -16,6 +16,7 @@ execute_process(COMMAND + -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU} + -Xclang -finclude-default-header + --rocm-path=${BINARY_DIR} ++ --rocm-device-lib-path=${AMDGCN_BITCODES} + -mllvm -amdgpu-simplify-libcall=0 + -o ${OUTPUT_FILE} ${INPUT_FILE} + RESULT_VARIABLE CLANG_RESULT diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch new file mode 100644 index 0000000..f965045 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/851702#c4 +Adapt to libLLVM.so instead of the seperated libs +=================================================================== +--- ROCm-Device-Libs-rocm-5.0.2.orig/utils/prepare-builtins/CMakeLists.txt ++++ ROCm-Device-Libs-rocm-5.0.2/utils/prepare-builtins/CMakeLists.txt +@@ -26,5 +26,5 @@ set_target_properties(prepare-builtins P + CXX_STANDARD_REQUIRED Yes + CXX_EXTENSIONS No) + llvm_update_compile_flags(prepare-builtins) +-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter) +-target_link_libraries(prepare-builtins ${llvm_libs}) ++llvm_map_components_to_libnames(llvm_libs support) ++target_link_libraries(prepare-builtins LLVM) diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch new file mode 100644 index 0000000..1aaecbb --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch @@ -0,0 +1,22 @@ +Fix compatilibity with Clang-18 +https://github.com/ROCm/ROCm-Device-Libs/issues/96 + +Backports https://github.com/ROCm/llvm-project/commit/688c78d85caf499957db175811f8b00c7c818f83 +--- a/ockl/src/cg.cl ++++ b/ockl/src/cg.cl +@@ -84,13 +84,13 @@ multi_grid_sync(__global struct mg_sync *s, uint members) + } + } + +-void ++__attribute__((target("gws"))) void + __ockl_gws_init(uint nwm1, uint rid) + { + __builtin_amdgcn_ds_gws_init(nwm1, rid); + } + +-void ++__attribute__((target("gws"))) void + __ockl_gws_barrier(uint nwm1, uint rid) + { + __builtin_amdgcn_ds_gws_barrier(nwm1, rid); \ No newline at end of file diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch new file mode 100644 index 0000000..7a08dc4 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch @@ -0,0 +1,28 @@ +https://github.com/ROCm/llvm-project/pull/68 +From 1c7e7f872980a5b15fb3d85f8780e78ce3b715b1 Mon Sep 17 00:00:00 2001 +From: Selene +Date: Wed, 1 May 2024 17:38:33 +0800 +Subject: [PATCH] Allow link to llvm shared library for current distros + +--- + amd/device-libs/utils/prepare-builtins/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/amd/device-libs/utils/prepare-builtins/CMakeLists.txt b/amd/device-libs/utils/prepare-builtins/CMakeLists.txt +index 63661962860a..079dc08e3419 100644 +--- a/utils/prepare-builtins/CMakeLists.txt ++++ b/utils/prepare-builtins/CMakeLists.txt +@@ -26,5 +26,9 @@ set_target_properties(prepare-builtins PROPERTIES + CXX_STANDARD_REQUIRED Yes + CXX_EXTENSIONS No) + llvm_update_compile_flags(prepare-builtins) +-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter) ++if (LLVM_LINK_LLVM_DYLIB) ++ set(llvm_libs LLVM) ++else() ++ llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter) ++endif() + target_link_libraries(prepare-builtins ${llvm_libs}) +-- +2.44.0 + diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch new file mode 100644 index 0000000..856b5cf --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch @@ -0,0 +1,64 @@ +Modified from https://github.com/ROCm/llvm-project/commit/7c2188cbc193f2b4dd5394f17404b44340001f30.patch +From 7c2188cbc193f2b4dd5394f17404b44340001f30 Mon Sep 17 00:00:00 2001 +From: Matt Arsenault +Date: Thu, 4 Jan 2024 19:34:47 +0700 +Subject: [PATCH] device-libs: Fix input file path test failures + +The test file input paths broke with the move to the mono-repo. Some of +the constant folding values are host dependent, so update the values to +what works for me now. Not really sure what else I can do about these. + +Change-Id: Ic764f637bb9532fcede9bfb9ce3886a2b7d467d8 +--- + amd/device-libs/test/compile/frexp.cl | 10 ++++++---- + amd/device-libs/test/compile/lgamma_r.cl | 2 +- + 3 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/test/compile/frexp.cl b/test/compile/frexp.cl +index 780c541500021b..b3181ce87db711 100644 +--- a/test/compile/frexp.cl ++++ b/test/compile/frexp.cl +@@ -5,11 +5,11 @@ + // later. + + // GCN-LABEL: {{^}}test_frexp_f32: +-// GFX600-DAG: s_movk_i32 [[CLASS_MASK:s[0-9]+]], 0x1f8 ++// GFX600-DAG: s_mov_b32 [[INF:s[0-9]+]], 0x7f80000 + // GFX600-DAG: v_frexp_mant_f32{{(_e32)?}} [[MANT:v[0-9]+]], [[SRC:v[0-9]+]] + // GFX600-DAG: v_frexp_exp_i32_f32{{(_e32)?}} [[EXP:v[0-9]+]], [[SRC:v[0-9]+]] + +-// GFX600-DAG: v_cmp_class_f32{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], [[SRC]], [[CLASS_MASK]] ++// GFX600-DAG: v_cmp_lt_f32{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], |[[SRC]]|, [[INF]] + + // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, [[SRC]], [[MANT]], [[CMP]] + // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, 0, [[EXP]], [[CMP]] +@@ -30,12 +30,14 @@ kernel void test_frexp_f32(global float* restrict out0, + } + + // GCN-LABEL: {{^}}test_frexp_f64: ++// GFX600: s_mov_b32 s{{[0-9]+}}, 0{{$}} + +-// GFX600-DAG: s_movk_i32 [[CLASS_MASK:s[0-9]+]], 0x1f8 ++// GFX600-DAG: s_mov_b32 s[[INF_LO:[0-9]+]], 0{{$}} ++// GFX600-DAG: s_mov_b32 s[[INF_HI:[0-9]+]], 0x7ff00000{{$}} + // GFX600-DAG: v_frexp_mant_f64{{(_e32)?}} v{{\[}}[[MANT_LO:[0-9]+]]:[[MANT_HI:[0-9]+]]{{\]}}, [[SRC:v\[[0-9]+:[0-9]+\]]] + // GFX600-DAG: v_frexp_exp_i32_f64{{(_e32)?}} [[EXP:v[0-9]+]], [[SRC:v\[[0-9]+:[0-9]+\]]] + +-// GFX600-DAG: v_cmp_class_f64{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], [[SRC]], [[CLASS_MASK]] ++// GFX600-DAG: v_cmp_lt_f64{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], |[[SRC]]|, s{{\[}}[[INF_LO]]:[[INF_HI]]{{\]}} + + // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, v{{[0-9]+}}, v[[MANT_LO]], [[CMP]] + // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, v{{[0-9]+}}, v[[MANT_HI]], [[CMP]] +diff --git a/test/compile/lgamma_r.cl b/test/compile/lgamma_r.cl +index 1e1984226cd55c..56d1ba15f761f2 100644 +--- a/test/compile/lgamma_r.cl ++++ b/test/compile/lgamma_r.cl +@@ -66,7 +66,7 @@ kernel void constant_fold_lgamma_r_f32(volatile global float* out, + out[0] = test_lgamma_r(0x1.0p-127f, sign_out); + + // CONSTANTFOLD-NEXT: store volatile i32 1, +- // CONSTANTFOLD-NEXT: store volatile float 0x419DE28040000000, ++ // CONSTANTFOLD-NEXT: store volatile float 0x419DE28060000000, + out[0] = test_lgamma_r(nextafter(0x1.0p+23f, __builtin_inff()), sign_out); + + // CONSTANTFOLD-NEXT: store volatile i32 1, diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch new file mode 100644 index 0000000..c0559e9 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch @@ -0,0 +1,44 @@ +Modified from https://github.com/ROCm/llvm-project/commit/794ebeffcafbf6f4d86cb1bfd7a5a0d1d30f1fc7 +From 794ebeffcafbf6f4d86cb1bfd7a5a0d1d30f1fc7 Mon Sep 17 00:00:00 2001 +From: Matt Arsenault +Date: Thu, 4 Jan 2024 20:40:30 +0700 +Subject: [PATCH] device-libs: Fix native_rsqrt test failures for f16-as-f32 + case + +At some point the code quality regressed for these. + +Change-Id: Ib5c4c1d093a6056dd6213ed6eaf157ad806101fb +--- + amd/device-libs/test/compile/native_rsqrt.cl | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/test/compile/native_rsqrt.cl b/test/compile/native_rsqrt.cl +index 94ef375e4d522f..291cc6f32c3351 100644 +--- a/test/compile/native_rsqrt.cl ++++ b/test/compile/native_rsqrt.cl +@@ -6,16 +6,21 @@ + + half __ocml_native_rsqrt_f16(half); + +-// GCN: {{^}}test_native_rsqrt_f16: +-// GFX600: v_rsq_f32 +-// GFX700: v_rsq_f32 ++// FIXME: Promoted case using full expansion ++// GCN-LABEL: {{^}}test_native_rsqrt_f16: ++// GFX600: v_sqrt_f32 ++// GFX600: v_rcp_f32 ++ ++// GFX700: v_sqrt_f32 ++// GFX700: v_rcp_f32 ++ + // GFX803: v_rsq_f16 + kernel void test_native_rsqrt_f16(global half* restrict out, global half* restrict in) { + int id = get_local_id(0); + out[id] = __ocml_native_rsqrt_f16(in[id]); + } + +-// GCN: {{^}}test_native_rsqrt_f32: ++// GCN-LABEL: {{^}}test_native_rsqrt_f32: + // GCN: v_rsq_f32 + kernel void test_native_rsqrt_f32(global float* restrict out, global float* restrict in) { + int id = get_local_id(0); diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.2-fix-build.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.2-fix-build.patch new file mode 100644 index 0000000..e717627 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.2-fix-build.patch @@ -0,0 +1,152 @@ +commit 83ef5b48800a47cc30b3d4bcfdf31de9c3bd0dc8 +Author: Patrick Lauer +Date: Sun Jul 28 07:43:54 2024 +0000 + + Revert "ockl: Don't use wave32 ballot builtin" + + This reverts commit 066a0b2716b7ade96a2b3e79e5ddcd0c110e9f98. + +diff --git a/ockl/src/dm.cl b/ockl/src/dm.cl +index 18efc54203b7..a3f06c448aee 100644 +--- a/ockl/src/dm.cl ++++ b/ockl/src/dm.cl +@@ -287,14 +287,9 @@ first(__global void * v) + return __builtin_astype(w2, __global void *); + } + +-// Read val from one active lane whose predicate is one. +-// If no lanes have the predicate set, return none +-// This is like first, except that first may not have its predicate set ++REQUIRES_WAVE64 + static uint +-elect_uint(int pred, uint val, uint none) +-{ +- // Pretend wave32 doesn't exist. The wave64 ballot works, and the high half +- // will fold out as 0. ++elect_uint_wave64(int pred, uint val, uint none) { + uint ret = none; + + ulong mask = __builtin_amdgcn_ballot_w64(pred != 0); +@@ -306,14 +301,51 @@ elect_uint(int pred, uint val, uint none) + return ret; + } + +-// Count the number of nonzero arguments across the wave ++REQUIRES_WAVE32 + static uint +-votes(bool b) ++elect_uint_wave32(int pred, uint val, uint none) { ++ uint ret = none; ++ uint mask = __builtin_amdgcn_ballot_w32(pred != 0); ++ if (mask != 0U) { ++ uint l = __ockl_ctz_u32(mask); ++ ret = __builtin_amdgcn_ds_bpermute(l << 2, val); ++ } ++ ++ return ret; ++} ++ ++// Read val from one active lane whose predicate is one. ++// If no lanes have the predicate set, return none ++// This is like first, except that first may not have its predicate set ++static uint ++elect_uint(int pred, uint val, uint none) ++{ ++ return __oclc_wavefrontsize64 ? elect_uint_wave64(pred, val, none) : elect_uint_wave32(pred, val, none); ++} ++ ++REQUIRES_WAVE64 ++static uint ++votes_wave64(bool b) + { + ulong mask = __builtin_amdgcn_ballot_w64(b); + return __builtin_popcountl(mask); + } + ++REQUIRES_WAVE32 ++static uint ++votes_wave32(bool b) ++{ ++ uint mask = __builtin_amdgcn_ballot_w32(b); ++ return __builtin_popcount(mask); ++} ++ ++// Count the number of nonzero arguments across the wave ++static uint ++votes(bool b) ++{ ++ return __oclc_wavefrontsize64 ? votes_wave64(b) : votes_wave32(b); ++} ++ + // The kind of the smallest block that can hold sz bytes + static uint + size_to_kind(uint sz) +diff --git a/ockl/src/wfaas.cl b/ockl/src/wfaas.cl +index 3861a5bb3eab..4dab97cea5f7 100644 +--- a/ockl/src/wfaas.cl ++++ b/ockl/src/wfaas.cl +@@ -21,25 +21,60 @@ static int optimizationBarrierHack(int in_val) + return out_val; + } + ++REQUIRES_WAVE32 ++static bool wfany_impl_w32(int e) { ++ return __builtin_amdgcn_ballot_w32(e) != 0; ++} ++ ++REQUIRES_WAVE64 ++static bool wfany_impl_w64(int e) { ++ return __builtin_amdgcn_ballot_w64(e) != 0; ++} ++ + ATTR bool + OCKL_MANGLE_I32(wfany)(int e) + { + e = optimizationBarrierHack(e); +- return __builtin_amdgcn_ballot_w64(e) != 0; ++ return __oclc_wavefrontsize64 ? ++ wfany_impl_w64(e) : wfany_impl_w32(e); ++} ++ ++REQUIRES_WAVE32 ++static bool wfall_impl_w32(int e) { ++ return __builtin_amdgcn_ballot_w32(e) == __builtin_amdgcn_read_exec_lo(); ++} ++ ++REQUIRES_WAVE64 ++static bool wfall_impl_w64(int e) { ++ return __builtin_amdgcn_ballot_w64(e) == __builtin_amdgcn_read_exec(); + } + + ATTR bool + OCKL_MANGLE_I32(wfall)(int e) + { + e = optimizationBarrierHack(e); +- return __builtin_amdgcn_ballot_w64(e) == __builtin_amdgcn_read_exec(); ++ return __oclc_wavefrontsize64 ? ++ wfall_impl_w64(e) : wfall_impl_w32(e); ++} ++ ++ ++REQUIRES_WAVE32 ++static bool wfsame_impl_w32(int e) { ++ uint u = __builtin_amdgcn_ballot_w32(e); ++ return (u == 0) | (u == __builtin_amdgcn_read_exec_lo()); ++} ++ ++REQUIRES_WAVE64 ++static bool wfsame_impl_w64(int e) { ++ ulong u = __builtin_amdgcn_ballot_w64(e); ++ return (u == 0UL) | (u == __builtin_amdgcn_read_exec()); + } + + ATTR bool + OCKL_MANGLE_I32(wfsame)(int e) + { + e = optimizationBarrierHack(e); +- ulong u = __builtin_amdgcn_ballot_w64(e); +- return (u == 0UL) | (u == __builtin_amdgcn_read_exec()); ++ return __oclc_wavefrontsize64 ? ++ wfsame_impl_w64(e) : wfsame_impl_w32(e); + } + diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.2.0-test-bitcode-dir.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.2.0-test-bitcode-dir.patch new file mode 100644 index 0000000..0ab47c9 --- /dev/null +++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.2.0-test-bitcode-dir.patch @@ -0,0 +1,32 @@ +`--rocm-device-lib-path` is needed to execute the tests because they are not +installed to system yet +--- a/test/compile/CMakeLists.txt ++++ b/test/compile/CMakeLists.txt +@@ -40,6 +40,7 @@ function(add_compile_test test_name func_name) + -DFILECHECK_BIN=${FILECHECK_BIN} + -DOUTPUT_FILE=output.${test_name}.${test_cpu}.s + -DINPUT_FILE=${file_name} ++ -DAMDGCN_BITCODES=${PROJECT_BINARY_DIR}/lib/amdgcn/bitcode + -DTEST_CPU=${test_cpu} + -DCOMPILE_FLAGS=${COMPILE_TEST_COMPILE_FLAGS} + -DEXTRA_CHECK_PREFIX=${COMPILE_TEST_EXTRA_CHECK_PREFIXES} +--- a/test/compile/RunCompileTest.cmake ++++ b/test/compile/RunCompileTest.cmake +@@ -16,6 +16,7 @@ execute_process(COMMAND + -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU} + -Xclang -finclude-default-header + --rocm-path=${BINARY_DIR} ++ --rocm-device-lib-path=${AMDGCN_BITCODES} + -mllvm -amdgpu-simplify-libcall=0 + ${COMPILE_FLAGS} + -o ${OUTPUT_FILE} ${INPUT_FILE} +--- a/test/compile/RunConstantFoldTest.cmake ++++ b/test/compile/RunConstantFoldTest.cmake +@@ -16,6 +16,7 @@ execute_process(COMMAND + -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU} + -Xclang -finclude-default-header + --rocm-path=${BINARY_DIR} ++ --rocm-device-lib-path=${AMDGCN_BITCODES} + -mllvm -amdgpu-simplify-libcall=0 + -o ${OUTPUT_FILE} ${INPUT_FILE} + RESULT_VARIABLE CLANG_RESULT diff --git a/dev-libs/rocm-device-libs/metadata.xml b/dev-libs/rocm-device-libs/metadata.xml new file mode 100644 index 0000000..cbbf3a2 --- /dev/null +++ b/dev-libs/rocm-device-libs/metadata.xml @@ -0,0 +1,15 @@ + + + + + candrews@gentoo.org + Craig Andrews + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/ROCm-Device-Libs + + diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild new file mode 100644 index 0000000..b0963c7 --- /dev/null +++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake llvm + +LLVM_MAX_SLOT=17 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/" + inherit git-r3 + S="${WORKDIR}/${P}/src" +else + SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Device Libraries" +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="llvm-core/clang:${LLVM_MAX_SLOT}" +DEPEND="${RDEPEND}" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.5.1-fix-llvm-link.patch" + ) + +src_prepare() { + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + # -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm" + -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + local CLANG_EXE="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/clang" + local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode" + dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}" +} diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild new file mode 100644 index 0000000..e15f628 --- /dev/null +++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake flag-o-matic llvm-r1 + +MY_P=llvm-project-rocm-${PV} +components=( "amd/device-libs" ) + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Device Libraries" +HOMEPAGE="https://github.com/ROCm/ROCm-Device-Libs" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + dev-build/rocm-cmake + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ') +" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.5.0-test-bitcode-dir.patch" + "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch" + "${FILESDIR}/${PN}-6.0.0-add-gws-attribute.patch" + "${FILESDIR}/${PN}-6.1.0-fix-test-failures.patch" + "${FILESDIR}/${PN}-6.1.0-fix-test-failures2.patch" +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die + cmake_src_prepare +} + +src_configure() { + # Do not trust CMake with autoselecting Clang, as it autoselects the latest one + # producing too modern LLVM bitcode and causing linker errors in other packages. + # Clean up unsupported flags for the switched compiler, see #936099 + local -x CC="$(get_llvm_prefix)/bin/clang" + local -x CXX="$(get_llvm_prefix)/bin/clang++" + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + local CLANG_EXE="$(get_llvm_prefix)/bin/clang" + # install symlink, so that clang won't ask for "--rocm-device-lib-path" flag anymore + local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode" + dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}" +} diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.1.2.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.2.ebuild new file mode 100644 index 0000000..9439350 --- /dev/null +++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.2.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake flag-o-matic llvm-r1 + +MY_P=llvm-project-rocm-${PV} +components=( "amd/device-libs" ) + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Device Libraries" +HOMEPAGE="https://github.com/ROCm/ROCm-Device-Libs" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + dev-build/rocm-cmake + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ') +" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.5.0-test-bitcode-dir.patch" + "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch" + "${FILESDIR}/${PN}-6.0.0-add-gws-attribute.patch" + "${FILESDIR}/${PN}-6.1.0-fix-test-failures.patch" + "${FILESDIR}/${PN}-6.1.0-fix-test-failures2.patch" + "${FILESDIR}/${PN}-6.1.2-fix-build.patch" +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die + cmake_src_prepare +} + +src_configure() { + # Do not trust CMake with autoselecting Clang, as it autoselects the latest one + # producing too modern LLVM bitcode and causing linker errors in other packages. + # Clean up unsupported flags for the switched compiler, see #936099 + local -x CC="$(get_llvm_prefix)/bin/clang" + local -x CXX="$(get_llvm_prefix)/bin/clang++" + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + local CLANG_EXE="$(get_llvm_prefix)/bin/clang" + # install symlink, so that clang won't ask for "--rocm-device-lib-path" flag anymore + local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode" + dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}" +} diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild new file mode 100644 index 0000000..51387ca --- /dev/null +++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake flag-o-matic llvm-r1 + +MY_P=llvm-project-rocm-${PV} +components=( "amd/device-libs" ) + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Device Libraries" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + dev-build/rocm-cmake + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ') +" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch" + "${FILESDIR}/${PN}-6.1.2-fix-build.patch" + "${FILESDIR}/${PN}-6.2.0-test-bitcode-dir.patch" +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" \ + -i "${S}/cmake/OCL.cmake" \ + -i "${S}/cmake/Packages.cmake" || die + cmake_src_prepare +} + +src_configure() { + # Do not trust CMake with autoselecting Clang, as it autoselects the latest one + # producing too modern LLVM bitcode and causing linker errors in other packages. + # Clean up unsupported flags for the switched compiler, see #936099 + local -x CC="$(get_llvm_prefix)/bin/clang" + local -x CXX="$(get_llvm_prefix)/bin/clang++" + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + local CLANG_EXE="$(get_llvm_prefix)/bin/clang" + # install symlink, so that clang won't ask for "--rocm-device-lib-path" flag anymore + local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode" + dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}" +} + +src_test() { + # https://github.com/ROCm/llvm-project/issues/76 + # "Failing tests are on gfx that are not supported" + local CMAKE_SKIP_TESTS=( + compile_frexp__gfx600 + compile_fract__gfx600 + compile_fract__gfx700 + ) + + cmake_src_test +} diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.3.3.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.3.ebuild new file mode 100644 index 0000000..51387ca --- /dev/null +++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.3.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake flag-o-matic llvm-r1 + +MY_P=llvm-project-rocm-${PV} +components=( "amd/device-libs" ) + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Device Libraries" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + dev-build/rocm-cmake + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ') +" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch" + "${FILESDIR}/${PN}-6.1.2-fix-build.patch" + "${FILESDIR}/${PN}-6.2.0-test-bitcode-dir.patch" +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" \ + -i "${S}/cmake/OCL.cmake" \ + -i "${S}/cmake/Packages.cmake" || die + cmake_src_prepare +} + +src_configure() { + # Do not trust CMake with autoselecting Clang, as it autoselects the latest one + # producing too modern LLVM bitcode and causing linker errors in other packages. + # Clean up unsupported flags for the switched compiler, see #936099 + local -x CC="$(get_llvm_prefix)/bin/clang" + local -x CXX="$(get_llvm_prefix)/bin/clang++" + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + local CLANG_EXE="$(get_llvm_prefix)/bin/clang" + # install symlink, so that clang won't ask for "--rocm-device-lib-path" flag anymore + local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode" + dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}" +} + +src_test() { + # https://github.com/ROCm/llvm-project/issues/76 + # "Failing tests are on gfx that are not supported" + local CMAKE_SKIP_TESTS=( + compile_frexp__gfx600 + compile_fract__gfx600 + compile_fract__gfx700 + ) + + cmake_src_test +} diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest new file mode 100644 index 0000000..0956334 --- /dev/null +++ b/dev-libs/rocr-runtime/Manifest @@ -0,0 +1,5 @@ +DIST rocr-runtime-5.7.1.tar.gz 832009 BLAKE2B 67e4a64ee03b1f6edc43923c7ac44113ab58f78b032dc0a01952b2dd5b2ca37404044811effb9c8d83002ac4ea344a5d95ac62f3c66012bff2884ef55285cdb5 SHA512 a6547a104303032244d17b662a3eda48039732c215debb6178c0af8842c01c60f80989793420c101bd554e58332d215205da0c228dfc25538c56499f47dc6832 +DIST rocr-runtime-6.1.1.tar.gz 903611 BLAKE2B 175e7267bfd9d70fb805135e765004cf2b43b2d66354f0cef857d417c8dac4ce7638ec1b90a1088324aa5f90ed8354c66b56846115368d68d622a215350d84dd SHA512 5e6e28dee29ef9df9d617f56038b2e52022738d5510833cd8e1738defe1049d0a957db4d9f63bbf55d8efca3a4ea349b95919dd1b6b35b9814ebba575a67af57 +DIST rocr-runtime-6.1.2.tar.gz 903633 BLAKE2B 058492c6c37bb80e8cdb29752f3f1404ac88108dcfd5137042e4fdaff521db01d64bd14bdcbed9e53b8984f8bbb22b126f1a798bd064c393b5bcf76c1d3311ca SHA512 2893aff72a5fbf03bfde67ab64fcf00f4e10b5e5b11ff4617e94ae0c019a24a9b80601d8629d4e119e6a4957dc0aaf03d645111063979af60090fe3b232a477e +DIST rocr-runtime-6.3.2.tar.gz 2260102 BLAKE2B 706cd4cc61c3007aec2b7822c02a7c98399454b366f2a2c221ae53ea3ee4c288c47c7fcfbe8f1cbd38d071ab5c90a2d79c054a0b0d2a2f6892a051b843794d32 SHA512 0326242deae601275d71fb268781735b117e713e73b1bcac2fd732828d993dee5840dec011fdc4350be2afdbc8266b6d1b65d5dff0d465a5b9c9cc091a5c645c +DIST rocr-runtime-6.3.3.tar.gz 2260073 BLAKE2B bca4a1809a90a4009b7f1f6e97764ab2f6d235b1c8d16d0417309c6484b2449ff807d248fe05e97867a10e660a86345c442a055081faefa17bbdf6a55b981867 SHA512 5b59d817f0fe5c87cb6eb639c8d1b8e5814b7b236eb961c9b7e2ade81163710b4cebb63f45cdf508a9ae6eb5dc380a63c09b9aa44cb082fe2b85c727efed8061 diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch b/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch new file mode 100644 index 0000000..fdb34b7 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch @@ -0,0 +1,29 @@ +Index: ROCR-Runtime-rocm-4.3.0/src/core/runtime/amd_gpu_agent.cpp +=================================================================== +--- src/core/runtime/amd_gpu_agent.cpp ++++ src/core/runtime/amd_gpu_agent.cpp +@@ -861,11 +861,6 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent + setFlag(HSA_EXTENSION_IMAGES); + } + +- if (os::LibHandle lib = os::LoadLib(kAqlProfileLib)) { +- os::CloseLib(lib); +- setFlag(HSA_EXTENSION_AMD_AQLPROFILE); +- } +- + setFlag(HSA_EXTENSION_AMD_PROFILER); + + break; +Index: ROCR-Runtime-rocm-4.3.0/src/core/runtime/hsa.cpp +=================================================================== +--- src/core/runtime/hsa.cpp ++++ src/core/runtime/hsa.cpp +@@ -471,7 +471,7 @@ hsa_status_t hsa_system_get_major_extens + return HSA_STATUS_SUCCESS; + } + +- if (extension == HSA_EXTENSION_AMD_AQLPROFILE) { ++ if (0) { + if (version_major != hsa_ven_amd_aqlprofile_VERSION_MAJOR) { + debug_print("aqlprofile API incompatible ver %d, current ver %d\n", + version_major, hsa_ven_amd_aqlprofile_VERSION_MAJOR); diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch new file mode 100644 index 0000000..f0106ab --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch @@ -0,0 +1,73 @@ +Combined with matching changes within hip ebuild, this patch allows +to load compatible kernels whenever possible. +For example if AMDGPU_TARGETS is set to gfx1030 and some application +was started on gfx1036, it loads gfx1030 kernel. + +Author: Cordell Bloor +https://salsa.debian.org/rocm-team/rocr-runtime/-/blob/master/debian/patches/0004-extend-isa-compatibility-check.patch +--- src/core/runtime/isa.cpp ++++ src/core/runtime/isa.cpp +@@ -43,6 +43,7 @@ + #include "core/inc/isa.h" + + #include ++#include + #include + #include + #include +@@ -69,13 +70,53 @@ bool Wavefront::GetInfo( + } + } + ++template ++static bool Contains(const std::array& arr, const T& value) { ++ return std::find(std::begin(arr), std::end(arr), value) != std::end(arr); ++} ++ ++static bool IsVersionCompatible(const Isa &code_object_isa, ++ const Isa &agent_isa) { ++ if (code_object_isa.GetMajorVersion() == agent_isa.GetMajorVersion() && ++ code_object_isa.GetMinorVersion() == agent_isa.GetMinorVersion()) { ++ ++ if (code_object_isa.GetStepping() == agent_isa.GetStepping()) { ++ return true; // exact match ++ } ++ ++ // the processor and code object may sometimes be compatible if ++ // they differ only by stepping version ++ if (code_object_isa.GetMajorVersion() == 9 && ++ code_object_isa.GetMinorVersion() == 0) { ++ const std::array gfx900_equivalent = { 0, 2, 9, 12 }; ++ const std::array gfx900_superset = { 0, 2, 6, 9, 12 }; ++ if (Contains(gfx900_equivalent, code_object_isa.GetStepping()) && ++ Contains(gfx900_superset, agent_isa.GetStepping())) { ++ return true; // gfx900 compatible ++ } ++ } else if (code_object_isa.GetMajorVersion() == 10) { ++ if (code_object_isa.GetMinorVersion() == 1) { ++ const std::array gfx1010_equivalent = { 0 }; ++ const std::array gfx1010_superset = { 0, 1, 2, 3 }; ++ if (Contains(gfx1010_equivalent, code_object_isa.GetStepping()) && ++ Contains(gfx1010_superset, agent_isa.GetStepping())) { ++ return true; // gfx1010 compatible ++ } ++ } else if (code_object_isa.GetMinorVersion() == 3) { ++ return true; // gfx1030 compatible ++ } ++ } ++ } ++ ++ return false; ++} ++ + /* static */ + bool Isa::IsCompatible(const Isa &code_object_isa, + const Isa &agent_isa) { +- if (code_object_isa.GetVersion() != agent_isa.GetVersion()) ++ if (!IsVersionCompatible(code_object_isa, agent_isa)) + return false; + +- assert(code_object_isa.IsSrameccSupported() == agent_isa.IsSrameccSupported() && agent_isa.GetSramecc() != IsaFeature::Any); + if ((code_object_isa.GetSramecc() == IsaFeature::Enabled || + code_object_isa.GetSramecc() == IsaFeature::Disabled) && + code_object_isa.GetSramecc() != agent_isa.GetSramecc()) diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch new file mode 100644 index 0000000..13d731a --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch @@ -0,0 +1,117 @@ +Fix compilation with musl. + +Bug: https://github.com/ROCm/ROCR-Runtime/issues/181 +--- a/core/inc/checked.h ++++ b/core/inc/checked.h +@@ -58,7 +58,7 @@ template class Check final { + Check(const Check&) { object_ = uintptr_t(this) ^ uintptr_t(code); } + Check(Check&&) { object_ = uintptr_t(this) ^ uintptr_t(code); } + +- ~Check() { object_ = NULL; } ++ ~Check() { object_ = uintptr_t(NULL); } + + const Check& operator=(Check&& rhs) { return *this; } + const Check& operator=(const Check& rhs) { return *this; } +--- a/core/runtime/default_signal.cpp ++++ b/core/runtime/default_signal.cpp +@@ -57,7 +57,7 @@ int BusyWaitSignal::rtti_id_ = 0; + BusyWaitSignal::BusyWaitSignal(SharedSignal* abi_block, bool enableIPC) + : Signal(abi_block, enableIPC) { + signal_.kind = AMD_SIGNAL_KIND_USER; +- signal_.event_mailbox_ptr = NULL; ++ signal_.event_mailbox_ptr = uint64_t(NULL); + } + + hsa_signal_value_t BusyWaitSignal::LoadRelaxed() { +--- a/core/runtime/hsa.cpp ++++ b/core/runtime/hsa.cpp +@@ -155,7 +155,7 @@ template struct ValidityError { + + template + static __forceinline bool IsValid(T* ptr) { +- return (ptr == NULL) ? NULL : ptr->IsValid(); ++ return (ptr == NULL) ? false : ptr->IsValid(); + } + + namespace AMD { +--- a/core/util/lnx/os_linux.cpp ++++ b/core/util/lnx/os_linux.cpp +@@ -111,9 +111,12 @@ class os_thread { + } + } + ++ int cores = 0; ++ cpu_set_t* cpuset = nullptr; ++ + if (core::Runtime::runtime_singleton_->flag().override_cpu_affinity()) { +- int cores = get_nprocs_conf(); +- cpu_set_t* cpuset = CPU_ALLOC(cores); ++ cores = get_nprocs_conf(); ++ cpuset = CPU_ALLOC(cores); + if (cpuset == nullptr) { + fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno)); + return; +@@ -122,12 +125,6 @@ class os_thread { + for (int i = 0; i < cores; i++) { + CPU_SET(i, cpuset); + } +- err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset); +- CPU_FREE(cpuset); +- if (err != 0) { +- fprintf(stderr, "pthread_attr_setaffinity_np failed: %s\n", strerror(err)); +- return; +- } + } + + err = pthread_create(&thread, &attrib, ThreadTrampoline, args.get()); +@@ -157,6 +154,14 @@ class os_thread { + if (err != 0) { + fprintf(stderr, "pthread_attr_destroy failed: %s\n", strerror(err)); + } ++ ++ if (thread && cores && cpuset) { ++ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset); ++ CPU_FREE(cpuset); ++ if (err != 0) { ++ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err)); ++ } ++ } + } + + os_thread(os_thread&& rhs) { +@@ -617,11 +622,13 @@ SharedMutex CreateSharedMutex() { + fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err)); + return nullptr; + } ++#if defined(__GLIBC__) + err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); + if (err != 0) { + fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); + return nullptr; + } ++#endif + + pthread_rwlock_t* lock = new pthread_rwlock_t; + err = pthread_rwlock_init(lock, &attrib); +--- a/core/util/utils.h ++++ b/core/util/utils.h +@@ -74,7 +74,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) { + return aligned_alloc(alignment, size); + #else + void *mem = NULL; +- if (NULL != posix_memalign(&mem, alignment, size)) ++ if (0 != posix_memalign(&mem, alignment, size)) + return NULL; + return mem; + #endif +--- a/image/util.h ++++ b/image/util.h +@@ -95,7 +95,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) { + return aligned_alloc(alignment, size); + #else + void* mem = NULL; +- if (NULL != posix_memalign(&mem, alignment, size)) return NULL; ++ if (0 != posix_memalign(&mem, alignment, size)) return NULL; + return mem; + #endif + } diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch new file mode 100644 index 0000000..fb5d3d3 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch @@ -0,0 +1,17 @@ +Fix "symbol not defined" when linking with ld.lld >= 17 +https://github.com/ROCm/ROCR-Runtime/issues/204 +--- a/hsacore.so.def ++++ b/hsacore.so.def +@@ -246,12 +246,6 @@ global: + hsa_amd_vmem_retain_alloc_handle; + hsa_amd_vmem_get_alloc_properties_from_handle; + hsa_amd_agent_set_async_scratch_limit; +- hsa_tools_scratch_event_alloc_start; +- hsa_tools_scratch_event_alloc_end; +- hsa_tools_scratch_event_free_start; +- hsa_tools_scratch_event_free_end; +- hsa_tools_scratch_event_async_reclaim_start; +- hsa_tools_scratch_event_async_reclaim_end; + + local: + *; diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch new file mode 100644 index 0000000..7554c8c --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch @@ -0,0 +1,106 @@ +Fix compilation and symbol search with musl. + +Bug: https://github.com/ROCm/ROCR-Runtime/issues/181 +--- src.orig/core/inc/checked.h ++++ src/core/inc/checked.h +@@ -58,7 +58,7 @@ template flag().override_cpu_affinity()) { +- int cores = get_nprocs_conf(); +- cpu_set_t* cpuset = CPU_ALLOC(cores); ++ cores = get_nprocs_conf(); ++ cpuset = CPU_ALLOC(cores); + if (cpuset == nullptr) { + fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno)); + return; +@@ -642,11 +645,13 @@ SharedMutex CreateSharedMutex() { + fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err)); + return nullptr; + } ++#if defined(__GLIBC__) + err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); + if (err != 0) { + fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); + return nullptr; + } ++#endif + + pthread_rwlock_t* lock = new pthread_rwlock_t; + err = pthread_rwlock_init(lock, &attrib); +--- src.orig/core/util/utils.h ++++ src/core/util/utils.h +@@ -74,7 +74,7 @@ static __forceinline void* _aligned_mall + return aligned_alloc(alignment, size); + #else + void *mem = NULL; +- if (NULL != posix_memalign(&mem, alignment, size)) ++ if (0 != posix_memalign(&mem, alignment, size)) + return NULL; + return mem; + #endif +--- src.orig/image/util.h ++++ src/image/util.h +@@ -99,7 +99,7 @@ static __forceinline void* _aligned_mall + return aligned_alloc(alignment, size); + #else + void* mem = NULL; +- if (NULL != posix_memalign(&mem, alignment, size)) return NULL; ++ if (0 != posix_memalign(&mem, alignment, size)) return NULL; + return mem; + #endif + } +--- src.orig/core/util/lnx/os_linux.cpp ++++ src/core/util/lnx/os_linux.cpp +@@ -65,6 +65,16 @@ + #include + #endif + ++/* ++ * d_un.d_ptr is relative on non glibc systems ++ * elf(5) documents it this way, glibc diverts from this documentation ++ */ ++#ifdef __GLIBC__ ++#define ABS_ADDR(base, ptr) (ptr) ++#else ++#define ABS_ADDR(base, ptr) ((base) + (ptr)) ++#endif ++ + namespace rocr { + namespace os { + +@@ -299,7 +309,7 @@ static int callback(struct dl_phdr_info* info, size_t size, void* data) { + for (int j = 0;; j++) { + if (dyn_section[j].d_tag == DT_NULL) break; + +- if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)(dyn_section[j].d_un.d_ptr); ++ if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)ABS_ADDR(info->dlpi_addr, dyn_section[j].d_un.d_ptr); + + if (dyn_section[j].d_tag == DT_STRSZ) limit = dyn_section[j].d_un.d_val; + } diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.1.2-gcc15-stdint.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.2-gcc15-stdint.patch new file mode 100644 index 0000000..21691ae --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.2-gcc15-stdint.patch @@ -0,0 +1,11 @@ +https://github.com/ROCm/ROCR-Runtime/issues/227 +--- a/core/inc/amd_elf_image.hpp ++++ b/core/inc/amd_elf_image.hpp +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + + namespace rocr { + namespace amd { diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch new file mode 100644 index 0000000..75cd032 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch @@ -0,0 +1,107 @@ +--- a/runtime/hsa-ext-finalize/CMakeLists.txt ++++ b/runtime/hsa-ext-finalize/CMakeLists.txt +@@ -101,6 +101,18 @@ if( NOT DEFINED OPEN_SOURCE_DIR ) + set ( OPEN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.." ) + endif() + ++## Check for _GNU_SOURCE pthread extensions ++set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) ++CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++unset(CMAKE_REQUIRED_DEFINITIONS) ++if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++endif() ++if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++endif() ++ + ## ------------------------- Linux Compiler and Linker options ------------------------- + set ( CMAKE_CXX_FLAGS "-std=c++11 " ) + +--- a/runtime/hsa-runtime/CMakeLists.txt ++++ b/runtime/hsa-runtime/CMakeLists.txt +@@ -47,7 +47,7 @@ cmake_minimum_required ( VERSION 3.7 ) + ## Need an update to CMake 3.12 to remove this hack. See CMake policy change CMP0073. + unset ( hsa-runtime64_LIB_DEPENDS CACHE ) + +-set(CMAKE_VERBOSE_MAKEFILE ON) ++#_cmake_modify_IGNORE set(CMAKE_VERBOSE_MAKEFILE ON) + + ## Set core runtime module name and project name. + set ( CORE_RUNTIME_NAME "hsa-runtime64" ) +@@ -109,6 +109,18 @@ if ( HAVE_MEMFD_CREATE ) + target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_MEMFD_CREATE ) + endif() + ++## Check for _GNU_SOURCE pthread extensions ++set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) ++CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++unset(CMAKE_REQUIRED_DEFINITIONS) ++if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++endif() ++if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++endif() ++ + ## Set include directories for ROCr runtime + target_include_directories( ${CORE_RUNTIME_TARGET} + PUBLIC +--- a/runtime/hsa-runtime/core/util/lnx/os_linux.cpp ++++ b/runtime/hsa-runtime/core/util/lnx/os_linux.cpp +@@ -137,12 +137,14 @@ class os_thread { + for (int i = 0; i < cores; i++) { + CPU_SET_S(i, CPU_ALLOC_SIZE(cores), cpuset); + } ++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY_NP + err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset); + CPU_FREE(cpuset); + if (err != 0) { + fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err)); + return; + } ++#endif + } + + do { +@@ -165,6 +167,18 @@ class os_thread { + } + } while (stackSize < 20 * 1024 * 1024); + ++#ifndef HAVE_PTHREAD_ATTR_SETAFFINITY_NP ++ if (cores && cpuset) { ++ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset); ++ CPU_FREE(cpuset); ++ if (err != 0) { ++ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err)); ++ thread = 0; ++ return; ++ } ++ } ++#endif ++ + args.release(); + } + +@@ -655,18 +669,12 @@ SharedMutex CreateSharedMutex() { + return nullptr; + } + +-#ifdef __GLIBC__ ++#ifdef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP + err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); + if (err != 0) { + fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); + return nullptr; + } +-#else +- err = pthread_rwlockattr_setkind(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); +- if (err != 0) { +- fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); +- return nullptr; +- } + #endif + + pthread_rwlock_t* lock = new pthread_rwlock_t; diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch new file mode 100644 index 0000000..06f6610 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch @@ -0,0 +1,20 @@ +libhsakmt is a part of dev-libs/roct-thunk-interface +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -96,11 +96,16 @@ if (HSA_DEP_ROCPROFILER_REGISTER) + string(APPEND CPACK_RPM_BINARY_PACKAGE_REQUIRES " rocprofiler-register") + endif() + ++if (BUILD_HSAKMT) + add_rocm_subdir(libhsakmt "${THUNK_DEFINITIONS}") + set_target_properties(hsakmt PROPERTIES + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/archive" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/runtime") ++else() ++ find_package(hsakmt REQUIRED) ++ add_library(hsakmt ALIAS hsakmt::hsakmt) ++endif() + + if (BUILD_ROCR) + add_rocm_subdir(runtime/hsa-runtime "${ROCR_DEFINITIONS}") diff --git a/dev-libs/rocr-runtime/metadata.xml b/dev-libs/rocr-runtime/metadata.xml new file mode 100644 index 0000000..5f0e6d6 --- /dev/null +++ b/dev-libs/rocr-runtime/metadata.xml @@ -0,0 +1,19 @@ + + + + + candrews@gentoo.org + Craig Andrews + + + gentoo@holzke.net + Wilfried Holzke + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/ROCR-Runtime + + diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.ebuild new file mode 100644 index 0000000..aeec0a8 --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=17 + +inherit cmake flag-o-matic llvm + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}/src" +else + SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime" +PATCHES=( + "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-5.7.1-musl.patch" +) + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + >=dev-libs/roct-thunk-interface-${PV} + >=dev-libs/rocm-device-libs-${PV} + <=dev-libs/rocm-device-libs-6.0 + llvm-core/clang:${LLVM_MAX_SLOT}= + llvm-core/lld:${LLVM_MAX_SLOT}=" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +src_prepare() { + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF ) + cmake_src_configure +} diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild new file mode 100644 index 0000000..cee5d15 --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}/src" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" +PATCHES=( + "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.1.0-musl.patch" + "${FILESDIR}/${PN}-6.1.0-ld-lld.patch" +) + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + >=dev-libs/roct-thunk-interface-${PV} + >=dev-libs/rocm-device-libs-${PV} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +src_prepare() { + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + cmake_src_configure +} diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild new file mode 100644 index 0000000..d1693dc --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}/src" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" +PATCHES=( + "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + "${FILESDIR}/${PN}-6.1.0-musl.patch" + "${FILESDIR}/${PN}-6.1.0-ld-lld.patch" + "${FILESDIR}/${PN}-6.1.2-gcc15-stdint.patch" +) + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + dev-libs/roct-thunk-interface:${SLOT} + dev-libs/rocm-device-libs:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +src_prepare() { + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + cmake_src_configure +} diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild new file mode 100644 index 0000000..9937059 --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + dev-libs/roct-thunk-interface:${SLOT} + dev-libs/rocm-device-libs:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +PATCHES=( + "${FILESDIR}/${PN}-6.3.0-use-system-hsakmt.patch" + "${FILESDIR}/${PN}-6.3.0-musl.patch" +) + +src_prepare() { + cd "${S}/runtime/hsa-runtime" || die + eapply "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + eapply "${FILESDIR}/${PN}-6.1.2-gcc15-stdint.patch" + + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cd "${S}" || die + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + + cmake_src_configure +} diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.3.3.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.3.3.ebuild new file mode 100644 index 0000000..9937059 --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-6.3.3.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + dev-libs/roct-thunk-interface:${SLOT} + dev-libs/rocm-device-libs:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +PATCHES=( + "${FILESDIR}/${PN}-6.3.0-use-system-hsakmt.patch" + "${FILESDIR}/${PN}-6.3.0-musl.patch" +) + +src_prepare() { + cd "${S}/runtime/hsa-runtime" || die + eapply "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + eapply "${FILESDIR}/${PN}-6.1.2-gcc15-stdint.patch" + + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cd "${S}" || die + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + + cmake_src_configure +} diff --git a/dev-libs/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest new file mode 100644 index 0000000..bd8dc45 --- /dev/null +++ b/dev-libs/roct-thunk-interface/Manifest @@ -0,0 +1,5 @@ +DIST roct-thunk-interface-5.7.1.tar.gz 665529 BLAKE2B 407601d45976ad66e85999c53bcaa62fefa2ea823e1d3296a9aabe8b6a9c915776344de4499fcf6f9ee80193201308b27b387a7225aca5d2cc7e294143eefacd SHA512 c0dc449c8b713ac543f6cd6c876ea0f160dcb1a5c4a52a2b1364fcae0039e9fe195e4223a2644d7d3a7fbc2a48166e798d15b9088e2097b65974e2ba5e48bdcf +DIST roct-thunk-interface-6.1.1.tar.gz 666377 BLAKE2B b30d733fb769f7169e97b8a28eaa61c84205aec06b55d662d24f159a3c84190f3252f090413769e56eb621abc789fae521cb7b26d7cdac952ff1e4e120707bc9 SHA512 2c579606d2ced9f8b5e32841db745819771b7d6ce0cef90b818e3710470e30c7715540125d99ed5ea13c4e672d5af6d8ad2dd5975ef76cab7ba993d86cf74eb4 +DIST roct-thunk-interface-6.1.2.tar.gz 666380 BLAKE2B ffff2405bbb95a6908670a23cf6090147a5669f8ab0c999047203731c99c511738a33ac8d3fc0f0e5432e3744e948ec3fe658d6a578ecc63606c8a5662025b0a SHA512 083b1a865608016f78c094a27ece3858072e72d80e1322e7cef22261222a0f868d3b72ebfcd80a11e4719e90d3d3fc7b0c683aed77714f54f520bb126b13ab7c +DIST roct-thunk-interface-6.3.2.tar.gz 2260102 BLAKE2B 706cd4cc61c3007aec2b7822c02a7c98399454b366f2a2c221ae53ea3ee4c288c47c7fcfbe8f1cbd38d071ab5c90a2d79c054a0b0d2a2f6892a051b843794d32 SHA512 0326242deae601275d71fb268781735b117e713e73b1bcac2fd732828d993dee5840dec011fdc4350be2afdbc8266b6d1b65d5dff0d465a5b9c9cc091a5c645c +DIST roct-thunk-interface-6.3.3.tar.gz 2260073 BLAKE2B bca4a1809a90a4009b7f1f6e97764ab2f6d235b1c8d16d0417309c6484b2449ff807d248fe05e97867a10e660a86345c442a055081faefa17bbdf6a55b981867 SHA512 5b59d817f0fe5c87cb6eb639c8d1b8e5814b7b236eb961c9b7e2ade81163710b4cebb63f45cdf508a9ae6eb5dc380a63c09b9aa44cb082fe2b85c727efed8061 diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch new file mode 100644 index 0000000..1d7d73a --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch @@ -0,0 +1,13 @@ +The built hsakmt library is right under BUILD_DIR, not BUILD_DIR/lib +=================================================================== +--- a/tests/kfdtest/CMakeLists.txt ++++ b./tests/kfdtest/CMakeLists.txt +@@ -117,7 +117,7 @@ else() + endif() + + if( DEFINED LIBHSAKMT_PATH ) +- set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/lib ) ++ set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/ ) + set ( HSAKMT_LIBRARIES hsakmt ) + endif() + diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch new file mode 100644 index 0000000..61d8b99 --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch @@ -0,0 +1,31 @@ +https://github.com/ROCm/ROCT-Thunk-Interface/pull/102 +From 6d7d48bb6843405aac2777388edf4c7c2a6f9dc3 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Tue, 30 Apr 2024 13:35:08 +0800 +Subject: [PATCH] Allow linking libLLVM dynamic library rather than separate + components + +--- + tests/kfdtest/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/tests/kfdtest/CMakeLists.txt b/tests/kfdtest/CMakeLists.txt +index 9d1172e..ccad7f4 100644 +--- a/tests/kfdtest/CMakeLists.txt ++++ b/tests/kfdtest/CMakeLists.txt +@@ -154,7 +154,11 @@ include_directories(${LLVM_INCLUDE_DIRS}) + separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS}) + add_definitions(${LLVM_DEFINITIONS_LIST}) + +-llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support) ++if (LLVM_LINK_LLVM_DYLIB) ++ set(llvm_libs LLVM) ++else() ++ llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support) ++endif() + + include_directories(${PROJECT_SOURCE_DIR}/gtest-1.6.0) + include_directories(${PROJECT_SOURCE_DIR}/include) +-- +2.44.0 + diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch new file mode 100644 index 0000000..cca728d --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch @@ -0,0 +1,20 @@ +Issue: https://github.com/ROCm/ROCT-Thunk-Interface/issues/103 +=================================================================== +--- ROCT-Thunk-Interface-rocm-6.1.1.orig/tests/kfdtest/scripts/kfdtest.exclude ++++ ROCT-Thunk-Interface-rocm-6.1.1/tests/kfdtest/scripts/kfdtest.exclude +@@ -63,6 +63,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\ + # failures can be found + # NOTE: If you update this alphabetical listing, add the corresponding JIRA ticket for reference + # ++# KFDIPCTest.BasicTest are not compatible with upstream amdgpu kernel module + # KFDQMTest.GPUDoorbellWrite fails intermittently (KFD-318) + # KFDQMTest.mGPUShareBO (KFD-334) + # KFDHWSTest.* (SWDEV-193035) +@@ -72,6 +73,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\ + # KFDDBGTest.SuspendQueues (SWDEV-417850) + # KFDDBGTest.HitAddressWatch (SWDEV-420281) + TEMPORARY_BLACKLIST_ALL_ASICS=\ ++"KFDIPCTest.BasicTest:"\ + "KFDQMTest.GPUDoorbellWrite:"\ + "KFDQMTest.mGPUShareBO:"\ + "KFDQMTest.SdmaEventInterrupt:"\ diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.2.4-fix-llvm-header.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.2.4-fix-llvm-header.patch new file mode 100644 index 0000000..30515c2 --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.2.4-fix-llvm-header.patch @@ -0,0 +1,14 @@ +Add header for llvm_shutdown. +Backports https://github.com/ROCm/ROCT-Thunk-Interface/commit/8bb5764ee1c4e3a8dc7588b597831389b4481345 +--- a/tests/kfdtest/src/Assemble.cpp ++++ b/tests/kfdtest/src/Assemble.cpp +@@ -69,6 +69,9 @@ + #else + #include + #endif ++#if LLVM_VERSION_MAJOR > 18 ++#include "llvm/Support/ManagedStatic.h" ++#endif + + #include + #include "OSWrapper.hpp" diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch new file mode 100644 index 0000000..051beee --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch @@ -0,0 +1,14 @@ +diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver +index dc17215..964f3d0 100644 +--- a/src/libhsakmt.ver ++++ b/src/libhsakmt.ver +@@ -75,6 +75,9 @@ hsaKmtSetXNACKMode; + hsaKmtGetXNACKMode; + hsaKmtOpenSMI; + hsaKmtExportDMABufHandle; ++hsaKmtWaitOnMultipleEvents_Ext; ++hsaKmtReplaceAsanHeaderPage; ++hsaKmtWaitOnEvent_Ext; + + local: *; + }; diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch new file mode 100644 index 0000000..8cd8a5f --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch @@ -0,0 +1,61 @@ +Upstream PR: https://github.com/ROCm/ROCT-Thunk-Interface/pull/96 +Bug: https://github.com/ROCm/ROCT-Thunk-Interface/issues/65 +--- a/src/globals.c ++++ b/src/globals.c +@@ -32,5 +32,9 @@ unsigned long kfd_open_count; + unsigned long system_properties_count; + pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER; + bool is_dgpu; ++ ++#ifndef PAGE_SIZE + int PAGE_SIZE; ++#endif ++ + int PAGE_SHIFT; +--- a/src/libhsakmt.h ++++ b/src/libhsakmt.h +@@ -62,7 +62,11 @@ extern HsaVersionInfo kfd_version_info; + do { if ((minor) > kfd_version_info.KernelInterfaceMinorVersion)\ + return HSAKMT_STATUS_NOT_SUPPORTED; } while (0) + ++/* Might be defined in limits.h on platforms where it is constant (used by musl) */ ++/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */ ++#ifndef PAGE_SIZE + extern int PAGE_SIZE; ++#endif + extern int PAGE_SHIFT; + + /* VI HW bug requires this virtual address alignment */ +--- a/src/openclose.c ++++ b/src/openclose.c +@@ -116,7 +116,9 @@ static void clear_after_fork(void) + + static inline void init_page_size(void) + { ++#ifndef PAGE_SIZE + PAGE_SIZE = sysconf(_SC_PAGESIZE); ++#endif + PAGE_SHIFT = ffs(PAGE_SIZE) - 1; + } + +--- a/src/topology.c ++++ b/src/topology.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -1369,6 +1370,10 @@ static int topology_create_temp_cpu_cache_list(int node, + * which can be present twice in the string above. 29 is for the prefix + * and the +6 is for the cache suffix + */ ++#ifndef MAXNAMLEN ++/* MAXNAMLEN is the BSD name for NAME_MAX. glibc aliases this as NAME_MAX, but not musl */ ++#define MAXNAMLEN NAME_MAX ++#endif + const uint32_t MAXPATHSIZE = 29 + MAXNAMLEN + (MAXNAMLEN + 6); + cpu_cacheinfo_t *p_temp_cpu_ci_list; /* a list of cpu_ci */ + char path[MAXPATHSIZE], node_dir[MAXPATHSIZE]; diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.1.0-visibility.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.1.0-visibility.patch new file mode 100644 index 0000000..d907d2f --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.1.0-visibility.patch @@ -0,0 +1,26 @@ +https://github.com/ROCm/ROCT-Thunk-Interface/pull/102 +From 8385d8795b994f31e00e651dc4f41e18d82ff968 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Tue, 30 Apr 2024 15:07:12 +0800 +Subject: [PATCH] hsaKmtCheckRuntimeDebugSupport should be visible for kfdtest + +--- + src/debug.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/debug.c b/src/debug.c +index 932e829..67c32c8 100644 +--- a/src/debug.c ++++ b/src/debug.c +@@ -268,7 +268,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtDbgAddressWatch(HSAuint32 NodeId, + #define HSA_RUNTIME_ENABLE_MAX_MAJOR 1 + #define HSA_RUNTIME_ENABLE_MIN_MINOR 13 + +-HSAKMT_STATUS hsaKmtCheckRuntimeDebugSupport(void) { ++HSAKMT_STATUS HSAKMTAPI hsaKmtCheckRuntimeDebugSupport(void) { + HsaNodeProperties node = {0}; + HsaSystemProperties props = {0}; + HsaVersionInfo versionInfo = {0}; +-- +2.44.0 + diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-functions.patch new file mode 100644 index 0000000..3b6c262 --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-functions.patch @@ -0,0 +1,12 @@ +https://github.com/ROCm/ROCR-Runtime/issues/263 +--- a/src/libhsakmt.ver ++++ b/src/libhsakmt.ver +@@ -89,6 +89,8 @@ hsaKmtPcSamplingDestroy; + hsaKmtPcSamplingStart; + hsaKmtPcSamplingStop; + hsaKmtPcSamplingSupport; ++hsaKmtCreateQueueExt; ++hsaKmtRegisterGraphicsHandleToNodesExt; + local: *; + }; + diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-musl.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-musl.patch new file mode 100644 index 0000000..f1a1170 --- /dev/null +++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.3.0-musl.patch @@ -0,0 +1,71 @@ +Fix error: 'hsakmt_page_size' undeclared (musl-only) +Upstream bug: https://github.com/ROCm/ROCR-Runtime/issues/267 +--- a/src/libhsakmt.h ++++ b/src/libhsakmt.h +@@ -64,14 +64,15 @@ extern HsaVersionInfo hsakmt_kfd_version_info; + do { if ((minor) > hsakmt_kfd_version_info.KernelInterfaceMinorVersion)\ + return HSAKMT_STATUS_NOT_SUPPORTED; } while (0) + ++extern int hsakmt_page_size; ++extern int hsakmt_page_shift; ++ + /* Might be defined in limits.h on platforms where it is constant (used by musl) */ + /* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */ + #ifndef PAGE_SIZE +-extern int hsakmt_page_size; + #define PAGE_SIZE hsakmt_page_size + #endif + #ifndef PAGE_SHIFT +-extern int hsakmt_page_shift; + #define PAGE_SHIFT hsakmt_page_shift + #endif + +--- a/tests/kfdtest/src/KFDTestUtilQueue.cpp ++++ b/tests/kfdtest/src/KFDTestUtilQueue.cpp +@@ -57,13 +57,13 @@ class AsyncMPSQ { + void PlacePacketOnNode(PacketList &packetList, int node, TSPattern tsp); + + /* Run the packets placed on nodes and return immediately.*/ +- void Submit(void) { ASSERT_NE((HSAuint64)m_queue, NULL); m_queue->SubmitPacket(); } ++ void Submit(void) { ASSERT_NE(m_queue, nullptr); m_queue->SubmitPacket(); } + + /* Return only when all packets are consumed. + * If there is any packet issues some IO operations, wait these IO to complete too. + */ + void Wait(void) { +- ASSERT_NE((HSAuint64)m_queue, NULL); ++ ASSERT_NE(m_queue, nullptr); + m_queue->Wait4PacketConsumption(m_event, std::max((unsigned int)6000, g_TestTimeOut)); + } + +@@ -244,7 +244,7 @@ HSAuint64 AsyncMPSQ::Report(int indexOfPacket, HSAuint64 &begin, HSAuint64 &end) + if (m_ts_pattern == HEAD_TAIL) + indexOfPacket = 0; + +- EXPECT_NE((HSAuint64)m_ts, NULL) ++ EXPECT_NE(m_ts, nullptr) + << " Error " << ++error << ": No timestamp buf!" << std::endl; + /* m_ts_count is equal to packets count + 1, see PlacePacketOnNode(). + * So the max index of a packet is m_ts_count - 2. +--- a/tests/kfdtest/src/OSWrapper.hpp ++++ b/tests/kfdtest/src/OSWrapper.hpp +@@ -23,6 +23,8 @@ + + #include + #include ++#include ++#include + #include + + #include "KFDTestFlags.hpp" +@@ -33,10 +35,8 @@ + + #ifndef PAGE_SIZE + #define PAGE_SIZE (1<<12) +-#define PAGE_SHIFT (12) + #endif + #ifndef PAGE_SHIFT +-#define PAGE_SIZE (1<<12) + #define PAGE_SHIFT (12) + #endif + diff --git a/dev-libs/roct-thunk-interface/metadata.xml b/dev-libs/roct-thunk-interface/metadata.xml new file mode 100644 index 0000000..67fd1c7 --- /dev/null +++ b/dev-libs/roct-thunk-interface/metadata.xml @@ -0,0 +1,19 @@ + + + + + candrews@gentoo.org + Craig Andrews + + + gentoo@holzke.net + Wilfried Holzke + + + proxy-maint@gentoo.org + Proxy Maintainers + + + ROCm/ROCT-Thunk-Interface + + diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild new file mode 100644 index 0000000..7e394b7 --- /dev/null +++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake linux-info + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/" + inherit git-r3 +else + SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Thunk Interface" +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" +CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="sys-process/numactl" +DEPEND="${RDEPEND}" +BDEPEND="x11-libs/libdrm[video_cards_amdgpu]" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.7.0-functions.patch" + "${FILESDIR}/${PN}-5.7.1-musl.patch" +) + +src_prepare() { + sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr" + ) + cmake_src_configure +} diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild new file mode 100644 index 0000000..1dbc511 --- /dev/null +++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +inherit cmake linux-info rocm + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/" + inherit git-r3 +else + SRC_URI="https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Thunk Interface" +HOMEPAGE="https://github.com/ROCm/ROCT-Thunk-Interface" +CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="sys-process/numactl + x11-libs/libdrm[video_cards_amdgpu]" +DEPEND="${RDEPEND} + test? ( llvm-core/llvm + dev-cpp/gtest )" + +IUSE="test" +RESTRICT="!test? ( test )" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-musl.patch" + "${FILESDIR}/${PN}-6.1.0-visibility.patch" + "${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch" + "${FILESDIR}/kfdtest-6.1.0-libpath.patch" + "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch" +) + +test_wrapper() { + local S="$1" + shift 1 + local CMAKE_USE_DIR="${S}" + local BUILD_DIR="${S}_build" + cd "${S}" || die + $@ +} + +src_prepare() { + sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr" + ) + cmake_src_configure + + if use test; then + export LIBHSAKMT_PATH="${BUILD_DIR}" + test_wrapper "${S}/tests/kfdtest" cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + if use test; then + LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile + fi +} + +src_test() { + check_amdgpu + TESTDIR="${S}/tests/kfdtest_build/" + cd "${TESTDIR}" || die + PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh +} diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.2.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.2.ebuild new file mode 100644 index 0000000..86f4a6e --- /dev/null +++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.2.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +ROCM_SKIP_GLOBALS=1 +inherit cmake linux-info llvm-r1 rocm + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/" + inherit git-r3 +else + SRC_URI="https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Thunk Interface" +HOMEPAGE="https://github.com/ROCm/ROCT-Thunk-Interface" +CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="sys-process/numactl + x11-libs/libdrm[video_cards_amdgpu]" +DEPEND="${RDEPEND} + test? ( + $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') + dev-cpp/gtest + )" + +IUSE="test" +RESTRICT="!test? ( test )" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-musl.patch" + "${FILESDIR}/${PN}-6.1.0-visibility.patch" + "${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch" + "${FILESDIR}/kfdtest-6.1.0-libpath.patch" + "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch" +) + +test_wrapper() { + local S="$1" + shift 1 + local CMAKE_USE_DIR="${S}" + local BUILD_DIR="${S}_build" + cd "${S}" || die + $@ +} + +src_prepare() { + sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr" + ) + cmake_src_configure + + if use test; then + export LIBHSAKMT_PATH="${BUILD_DIR}" + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + test_wrapper "${S}/tests/kfdtest" cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + if use test; then + LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile + fi +} + +src_test() { + check_amdgpu + TESTDIR="${S}/tests/kfdtest_build/" + cd "${TESTDIR}" || die + PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh +} diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild new file mode 100644 index 0000000..9edebf3 --- /dev/null +++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +ROCM_SKIP_GLOBALS=1 +inherit cmake linux-info llvm-r1 rocm + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}/libhsakmt" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/libhsakmt" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Thunk Interface" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt" +CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="sys-process/numactl + x11-libs/libdrm[video_cards_amdgpu]" +DEPEND="${RDEPEND} + test? ( + $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') + dev-cpp/gtest + )" + +IUSE="test" +RESTRICT="!test? ( test )" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-6.3.0-functions.patch" + "${FILESDIR}/${PN}-6.3.0-musl.patch" + "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch" + "${FILESDIR}/kfdtest-6.2.4-fix-llvm-header.patch" +) + +test_wrapper() { + local S="$1" + shift 1 + local CMAKE_USE_DIR="${S}" + local BUILD_DIR="${S}_build" + cd "${S}" || die + $@ +} + +src_prepare() { + sed -e "s/get_version ( \"1.0.0\" )/get_version ( \"${PV}\" )/" -i CMakeLists.txt || die + + # https://github.com/ROCm/ROCR-Runtime/issues/263 + sed -e "s/\${HSAKMT_TARGET} STATIC/\${HSAKMT_TARGET}/" -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DBUILD_SHARED_LIBS=ON + ) + cmake_src_configure + + if use test; then + export LIBHSAKMT_PATH="${BUILD_DIR}" + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + test_wrapper "${S}/tests/kfdtest" cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + if use test; then + LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile + fi +} + +src_test() { + check_amdgpu + TESTDIR="${S}/tests/kfdtest_build/" + cd "${TESTDIR}" || die + PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh +} diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.3.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.3.ebuild new file mode 100644 index 0000000..9edebf3 --- /dev/null +++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.3.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +ROCM_SKIP_GLOBALS=1 +inherit cmake linux-info llvm-r1 rocm + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}/libhsakmt" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/libhsakmt" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Thunk Interface" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt" +CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="sys-process/numactl + x11-libs/libdrm[video_cards_amdgpu]" +DEPEND="${RDEPEND} + test? ( + $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') + dev-cpp/gtest + )" + +IUSE="test" +RESTRICT="!test? ( test )" + +CMAKE_BUILD_TYPE=Release + +PATCHES=( + "${FILESDIR}/${PN}-6.3.0-functions.patch" + "${FILESDIR}/${PN}-6.3.0-musl.patch" + "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch" + "${FILESDIR}/kfdtest-6.2.4-fix-llvm-header.patch" +) + +test_wrapper() { + local S="$1" + shift 1 + local CMAKE_USE_DIR="${S}" + local BUILD_DIR="${S}_build" + cd "${S}" || die + $@ +} + +src_prepare() { + sed -e "s/get_version ( \"1.0.0\" )/get_version ( \"${PV}\" )/" -i CMakeLists.txt || die + + # https://github.com/ROCm/ROCR-Runtime/issues/263 + sed -e "s/\${HSAKMT_TARGET} STATIC/\${HSAKMT_TARGET}/" -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DBUILD_SHARED_LIBS=ON + ) + cmake_src_configure + + if use test; then + export LIBHSAKMT_PATH="${BUILD_DIR}" + local mycmakeargs=( + -DLLVM_DIR="$(get_llvm_prefix)" + ) + test_wrapper "${S}/tests/kfdtest" cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + if use test; then + LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile + fi +} + +src_test() { + check_amdgpu + TESTDIR="${S}/tests/kfdtest_build/" + cd "${TESTDIR}" || die + PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh +} diff --git a/dev-lisp/c2ffi/Manifest b/dev-lisp/c2ffi/Manifest new file mode 100644 index 0000000..dd258ce --- /dev/null +++ b/dev-lisp/c2ffi/Manifest @@ -0,0 +1 @@ +DIST c2ffi-18.1.0.20240926.tar.gz 44577 BLAKE2B 53017254fe51ec55d23ebc658679cec405783255cc29b65aea5bf4c447d9dd6658aa5834bb7757de1bc50832eabdb2ee3bc7a07edd64b78a5d1aa9d41c5155e9 SHA512 1b5c5260e855bf9d6bd4b1b222ed1ac4405151cdff63623cbe72211b33c2f1bd33f40ef6e4877b0f75eaccc1eaa4ac93fd97a3b0469f05aa59f710bab804340c diff --git a/dev-lisp/c2ffi/metadata.xml b/dev-lisp/c2ffi/metadata.xml new file mode 100644 index 0000000..3350a56 --- /dev/null +++ b/dev-lisp/c2ffi/metadata.xml @@ -0,0 +1,15 @@ + + + + + h.judt@gmx.at + Harald Judt + + + proxy-maint@gentoo.org + Proxy Maintainers + + + rpav/c2ffi + + diff --git a/dev-python/pyside/Manifest b/dev-python/pyside/Manifest new file mode 100644 index 0000000..fed92ca --- /dev/null +++ b/dev-python/pyside/Manifest @@ -0,0 +1 @@ +DIST pyside-pyside-setup-6.8.2.gh.tar.gz 19305680 BLAKE2B d4da8ec63d35714bf4418cdc9ff5921fe554c1635a7c5c467657b64c2140208b4bba57fc9932f0f96426e1d15c124209b0b29eb9340261d34eed194128a03545 SHA512 30691d27afaeaa3117e68b60745918d9697c8d9e4ee8941eaab51995cb5128c56d44964511f2db731f448bf32219160032e4a4cd4773d3fccc4de8c0e509d1c1 diff --git a/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch b/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch new file mode 100644 index 0000000..29adbe2 --- /dev/null +++ b/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch @@ -0,0 +1,10 @@ +diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt +index 2e4c701..6792258 100644 +--- a/sources/pyside6/CMakeLists.txt ++++ b/sources/pyside6/CMakeLists.txt +@@ -41,5 +41,3 @@ if(BUILD_TESTS) + endif() + + add_subdirectory(doc) +- +-add_subdirectory(qtexampleicons) diff --git a/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch b/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch new file mode 100644 index 0000000..7cf0f46 --- /dev/null +++ b/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch @@ -0,0 +1,17 @@ +diff --git a/build_scripts/wheel_override.py b/build_scripts/wheel_override.py +index b389bb8..71de230 100644 +--- a/build_scripts/wheel_override.py ++++ b/build_scripts/wheel_override.py +@@ -20,9 +20,9 @@ try: + + from packaging import tags + from wheel import __version__ as wheel_version +- from wheel.bdist_wheel import bdist_wheel as _bdist_wheel +- from wheel.bdist_wheel import get_abi_tag, get_platform +- from wheel.bdist_wheel import safer_name as _safer_name ++ from wheel._bdist_wheel import bdist_wheel as _bdist_wheel ++ from wheel._bdist_wheel import get_abi_tag, get_platform ++ from wheel._bdist_wheel import safer_name as _safer_name + + wheel_module_exists = True + except Exception as e: diff --git a/dev-python/pyside/metadata.xml b/dev-python/pyside/metadata.xml new file mode 100644 index 0000000..c760fb9 --- /dev/null +++ b/dev-python/pyside/metadata.xml @@ -0,0 +1,59 @@ + + + + + nowa@gentoo.org + Nowa Ammerlaan + + + waebbl-gentoo@posteo.net + Bernd Waibel + + + Build Qt3DCore, Qt3DAnimation, Qt3DExtras, Qt3DInput, Qt3DLogic, and Qt3DRender modules + Build QtBluetooth module + Build QtCharts module + Build QtConcurrent module + Build QtCore module, if disable then only shiboken will be built + Build QtDesigner and QtUiTools modules + Build QtGui "QOpenGL*" classes + Build QtGui module + Build QtHelp module + Build QtHttpServer module + Build QtLocation module + Build QtMultimedia and QtMultimediaWidgets modules + Build QtNetwork module + Build QtNetworkAuth module + Build QtNfc module + Build with support for dev-python/numpy + Build QtPdf module + Build QtPositioning module + Build QtPrintSupport module + Build QtQml module + Build QtQuick and QtQuickWidgets modules + Build QtQuick3D and QtQuickWidgets modules + Build QtScxml module + Build QtSensors module + Build QtSerialBus modules + Build QtSerialPort modules + Build QtSpatialAudio module + Build QtTextToSpeech module + Build QtSql module + Build QtSvg module + Build QtRemoteObjects module + Build QtTest module + Build PySide Tools + Build UITools module + Build QtWebChannel module + Build QtWebEngine and QtWebEngineWidgets modules + Build QtWebSockets module + Build QtWebView module + Build QtWidgets module + Build QtXml module + + + PySide6 + shiboken6 + qtproject/pyside-pyside-setup + + diff --git a/dev-python/pyside/pyside-6.8.2-r1.ebuild b/dev-python/pyside/pyside-6.8.2-r1.ebuild new file mode 100644 index 0000000..5b4135c --- /dev/null +++ b/dev-python/pyside/pyside-6.8.2-r1.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +LLVM_COMPAT=( 20 ) +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 + +inherit distutils-r1 llvm-r1 qmake-utils virtualx + +MY_PN=pyside-pyside-setup +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )" +SLOT="6/${PV}" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86" + +# If a flag enables multiple Qt modules, they should be ordered +# according to their dependencies, e.g. for 3d, 3DCore must be first. +# Widgets for various modules are handled as a special case later +declare -A QT_MODULES=( + ["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras" + ["bluetooth"]="Bluetooth" + ["charts"]="Charts" + ["+concurrent"]="Concurrent" + ["+core"]="Core" + ["+dbus"]="DBus" + ["designer"]="Designer" + ["+gui"]="Gui" + ["help"]="Help" + ["httpserver"]="HttpServer" + ["location"]="Location" + ["multimedia"]="Multimedia" # plus widgets + ["network-auth"]="NetworkAuth" + ["+network"]="Network" + ["nfc"]="Nfc" + ["+opengl"]="OpenGL" # plus widgets + ["pdfium"]="Pdf" # plus widgets + ["positioning"]="Positioning" + ["+printsupport"]="PrintSupport" + ["qml"]="Qml" + ["quick3d"]="Quick3D" + ["quick"]="Quick" # plus widgets + ["remoteobjects"]="RemoteObjects" + ["scxml"]="Scxml" + ["sensors"]="Sensors" + ["serialbus"]="SerialBus" + ["serialport"]="SerialPort" + ["spatialaudio"]="SpatialAudio" + ["+sql"]="Sql" + ["svg"]="Svg" # plus widgets + ["speech"]="TextToSpeech" + ["+testlib"]="Test" + ["uitools"]="UiTools" + ["webchannel"]="WebChannel" + ["webengine"]="WebEngineCore" # plus widgets and quick + ["websockets"]="WebSockets" + ["webview"]="WebView" + ["+widgets"]="Widgets" + ["+xml"]="Xml" +) + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +declare -A QT_REQUIREMENTS=( + ["3d"]="gui network opengl" + ["bluetooth"]="core" + ["charts"]="core gui widgets" + ["concurrent"]="core" + ["dbus"]="core" + ["designer"]="widgets" + ["gles2-only"]="gui" + ["gui"]="core" + ["help"]="widgets" + ["httpserver"]="core concurrent network websockets" + ["location"]="core positioning" + ["multimedia"]="core gui network" + ["network-auth"]="network" + ["network"]="core" + ["nfc"]="core" + ["opengl"]="gui" + ["pdfium"]="core gui network" + ["positioning"]="core" + ["printsupport"]="widgets" + ["qml"]="network" + ["quick"]="gui network qml opengl" + ["quick3d"]="gui network qml quick" + ["remoteobjects"]="core network" + ["scxml"]="core" + ["sensors"]="core" + ["serialbus"]="core network serialport" + ["serialport"]="core" + ["spatialaudio"]="core gui network multimedia" + ["speech"]="core multimedia" + ["sql"]="widgets" + ["svg"]="gui" + ["testlib"]="widgets" + ["uitools"]="widgets" + ["webchannel"]="core" + ["webengine"]="core gui network printsupport quick webchannel" + ["websockets"]="network" + ["webview"]="gui" + ["widgets"]="gui" + ["xml"]="core" +) + +IUSE="${!QT_MODULES[@]} debug doc gles2-only numpy test tools" +RESTRICT="!test? ( test )" + +# majority of QtQml tests require QtQuick support +REQUIRED_USE=" + test? ( + qml? ( quick ) + ) +" +for requirement in ${!QT_REQUIREMENTS[@]}; do + REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) " +done + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +# WebEngine needs sound support, so enable either pulseaudio or alsa +RDEPEND=" + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] ) + httpserver? ( =dev-qt/qthttpserver-${QT_PV} ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] ) + network? ( =dev-qt/qtbase-${QT_PV}[ssl] ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] ) + remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialbus? ( =dev-qt/qtserialbus-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + tools? ( + =dev-qt/qtbase-${QT_PV} + =dev-qt/qtdeclarative-${QT_PV}[qmlls] + =dev-qt/qttools-${QT_PV}[assistant,designer,linguist] + dev-python/pkginfo[${PYTHON_USEDEP}] + ) + uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) + webview? ( =dev-qt/qtwebview-${QT_PV} ) + !dev-python/pyside:0 + !dev-python/shiboken6 + !dev-python/pyside6-tools +" + +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + dev-util/vulkan-headers + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" # testlib is toggled by the gui flag on qtbase + +BDEPEND=" + dev-build/cmake + dev-python/distro[${PYTHON_USEDEP}] + dev-util/patchelf + doc? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + media-gfx/graphviz + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/myst-parser[${PYTHON_USEDEP}] + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) +" + +PATCHES=( + # Needs porting to newer wheel and setuptools + "${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch" + # References files not present in our dev-qt/qtbase + "${FILESDIR}/${P}-no-qtexampleicons.patch" # TODO: remove in 6.8.3 +) + +# Build system duplicates system libraries. TODO: fix +QA_PREBUILT=( + "/usr/lib/python*/site-packages/PySide6/*" +) + +python_prepare_all() { + distutils-r1_python_prepare_all + + # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + + # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -e \ + 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \ + -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + + # blacklist.txt works like XFAIL + cat <<- EOF >> build_history/blacklist.txt || die + # segfaults with QOpenGLContext::create + [pysidetest::qapp_like_a_macro_test] + linux + # Tries to execute pip install + [pyside6-deploy::test_pyside6_deploy] + linux + [pyside6-android-deploy::test_pyside6_android_deploy] + linux + EOF + + if ! use numpy; then + cat <<- EOF >> build_history/blacklist.txt || die + # Requires numpy support to pass + [sample::array_numpy] + linux + [sample::nontypetemplate] + linux + [QtGui::qpainter_test] + linux + EOF + fi +} + +python_configure_all() { + ENABLED_QT_MODULES=() + + # The order matters, dependencies must come first so process + # REQUIRED_USE and recursively enable modules + enable_qt_mod() { + local flag=${1} + local modules=${QT_MODULES[${flag}]} + if [[ -z ${modules} ]]; then + die "incorrect flag=${flag}, not registered" + fi + local dependencies=${QT_REQUIREMENTS[${flag//+}]} + if [[ -n ${dependencies} ]]; then + local depflag + for depflag in ${dependencies}; do + if use ${depflag}; then + if [[ -z ${QT_MODULES[${depflag}]} ]]; then + depflag=+${depflag} + fi + enable_qt_mod ${depflag} + else + die "${depflag} is required but not enabled" + fi + done + fi + if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then + ENABLED_QT_MODULES+=( ${modules} ) + fi + } + # Enable specified qt modules + local flag + for flag in ${!QT_MODULES[@]}; do + if use ${flag//+}; then + enable_qt_mod ${flag} + fi + done + + # Special cases + if use widgets; then + use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets ) + use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets ) + use pdfium && ENABLED_QT_MODULES+=( PdfWidgets ) + use quick && ENABLED_QT_MODULES+=( QuickWidgets ) + use svg && ENABLED_QT_MODULES+=( SvgWidgets ) + use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets ) + fi + if use quick; then + use webengine && ENABLED_QT_MODULES+=( WebEngineQuick ) + use testlib && ENABLED_QT_MODULES+=( QuickTest ) + fi + + # Arguments listed in options.py + MAIN_DISTUTILS_ARGS=( + --cmake="${EPREFIX}/usr/bin/cmake" + --ignore-git + --limited-api=no + --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")" + --no-strip + --no-size-optimization + --openssl="${EPREFIX}/usr/bin/openssl" + --qt=$(ver_cut 1-3) + --qtpaths=$(qt6_get_bindir)/qtpaths + --verbose-build + $(usex debug "--debug" "--relwithdebinfo") + $(usex doc "--build-docs" "--skip-docs") + $(usex numpy "--enable-numpy-support" "--disable-numpy-support") + $(usex test "--build-tests --use-xvfb" "") + $(usex tools "" "--no-qt-tools") + ) +} + +python_compile() { + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --build-type=shiboken6 + ) + distutils-r1_python_compile + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --build-type=shiboken6-generator + ) + distutils-r1_python_compile + # If no pyside modules enabled, build just shiboken + if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --shiboken-target-path="$(find "${BUILD_DIR}/build" -type d -name cmake)/../../" + --build-type=pyside6 + ) + distutils-r1_python_compile + fi + + # Link libraries to the usual location for backwards compatibility + pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || + die + mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die + local lib + for lib in */*.cpython-*.so + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" || + die + done + for lib in */*.cpython-*.so.$(ver_cut 1-2) + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" || + die + done + for lib in */*.so*; do + ln -s "../../$(python_get_sitedir)/${lib}" \ + "${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die + done + popd >/dev/null || die + + # Symlinks for compatibility with pypi wheels + local dir + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]] + then + pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \ + >/dev/null || die + mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die + for dir in doc glue typesystems; do + ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \ + "${BUILD_DIR}/install/usr/share/PySide6/${dir}" || + die + done + popd >/dev/null || die + fi + mkdir -p "${BUILD_DIR}/install/usr/include" + for dir in PySide6 shiboken6_generator; do + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]] + then + ln -s "../../$(python_get_sitedir)/${dir}/include" \ + "${BUILD_DIR}/install/usr/include/${dir//_generator}" || + die + fi + done + + # Install misc files from inner install dir + find "${BUILD_DIR}"/build/*/install -type f \ + -name libPySidePlugin.so -exec \ + mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + -exec \ + cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + || die + + for dir in cmake pkgconfig; do + find "${BUILD_DIR}"/build/*/install -type d -name ${dir} \ + -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \ + || die + done + + # Uniquify the pkgconfigs file for the current Python target, + # preserving an unversioned "shiboken6.pc" file arbitrarily + # associated with the last Python target. + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]] + then + sed -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die + fi + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]] + then + sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \ + -e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \ + -e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \ + -e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die + fi + + sed \ + -e "s~/lib/libshiboken6\.cpython~/$(get_libdir)/libshiboken6\.cpython~g" \ + -e "s~/lib/libpyside6\.cpython~/$(get_libdir)/libpyside6\.cpython~g" \ + -e "s~/lib/libpyside6qml\.cpython~/$(get_libdir)/libpyside6qml\.cpython~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die + local file + for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake + do + local base=${file##*/} + ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" || + die + done +} + +python_test() { + # figure out the build dir + local build_dir build_classifier + build_dir=$(ls -d "${BUILD_DIR}"/build/qfp-*/build/) + build_classifier="${build_dir##${BUILD_DIR}/build/qfp-}" + build_classifier="${build_dir%%/build}" + + # Otherwise it picks the last built directory breaking assumption for multi target builds + mkdir -p build_history/9999-99-99_999999/ || die + cat <<- EOF > build_history/9999-99-99_999999/build_dir.txt || die + ${build_dir} + ${build_classifier} + EOF + + virtx ${EPYTHON} testrunner.py test --projects=shiboken6 $(usev core '--projects=pyside6') || + die "Tests failed with ${EPYTHON}" +} + +pkg_preinst() { + # Avoid symlinks being blocked by directories + rm -rf "${EROOT}/usr/include/"{PySide6,shiboken6} || die + rm -rf "${EROOT}/usr/share/PySide6" || die +} diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest new file mode 100644 index 0000000..77e62a7 --- /dev/null +++ b/dev-qt/qt-creator/Manifest @@ -0,0 +1,2 @@ +DIST qt-creator-opensource-src-15.0.1-vendor.tar.xz 508860 BLAKE2B c5a7eef8250c6f21b482a262dee912f704573e96400291a81b61251c7cb19139748761f56bea0a832830dadbd3035729d040b92ba00eb3f1c96c0eace220387a SHA512 a334182b844e98c238fbe271fea6a169de54cd7b12dd9dea3a3d165bf1c0286fafd980e0e4e842db0b65298d92214abe618f94081756beafd2bd64398aa4d788 +DIST qt-creator-opensource-src-15.0.1.tar.xz 53250336 BLAKE2B f59160c113122d5c10935c7d088f57d36b41245587faf996244b6edde2b200536616247f8edaf0096f5e91750045c02b66bbcb68ee232b5e02e947e891ab6292 SHA512 fb3d75187607c57438beb9ec65c932e3abfd15566d8d11d612b7aa087b9df44d12d18138fbd61ece61ebc29be6d14d1ded3cd1deb1d946bd7d96f2ef2060f853 diff --git a/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch new file mode 100644 index 0000000..b22f204 --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch @@ -0,0 +1,8 @@ +malloc_trim() is unavailable with musl +--- a/src/plugins/coreplugin/icore.cpp ++++ b/src/plugins/coreplugin/icore.cpp +@@ -1276,3 +1276,3 @@ + // glibc may not actually free memory in free(). +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); }); diff --git a/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch new file mode 100644 index 0000000..5e3bbf2 --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch @@ -0,0 +1,47 @@ +execinfo is unavailable with musl (unless opt to package+use libexecinfo) +--- a/src/libs/utils/qtcassert.cpp ++++ b/src/libs/utils/qtcassert.cpp +@@ -9,5 +9,5 @@ + #include + +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + #include + #include +@@ -30,5 +30,5 @@ + if (maxdepth < 0 || maxdepth > ArraySize) + maxdepth = ArraySize; +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + void *bt[ArraySize] = {nullptr}; + int size = backtrace(bt, maxdepth); +--- a/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp ++++ b/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp +@@ -4,5 +4,5 @@ + #include "exception.h" + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + #include + #include +@@ -31,5 +31,5 @@ + namespace QmlDesigner { + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + const char* demangle(const char* name) + { +@@ -76,5 +76,5 @@ + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + static QString getBackTrace() + { +@@ -114,5 +114,5 @@ + , m_file(QString::fromUtf8(file)) + , m_description(description) +- #ifdef Q_OS_LINUX ++ #if defined(Q_OS_LINUX) && defined(__GLIBC__) + , m_backTrace(getBackTrace()) + #endif diff --git a/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch new file mode 100644 index 0000000..289f68f --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch @@ -0,0 +1,26 @@ +execinfo is unavailable with musl (unless opt to package+use libexecinfo) +--- a/src/libs/utils/qtcassert.cpp ++++ b/src/libs/utils/qtcassert.cpp +@@ -9,5 +9,5 @@ + #include + +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + #include + #include +@@ -30,5 +30,5 @@ + if (maxdepth < 0 || maxdepth > ArraySize) + maxdepth = ArraySize; +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + void *bt[ArraySize] = {nullptr}; + int size = backtrace(bt, maxdepth); +--- a/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp ++++ b/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp +@@ -4,5 +4,5 @@ + #include "exception.h" + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + #include + #include diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml new file mode 100644 index 0000000..d0b42ff --- /dev/null +++ b/dev-qt/qt-creator/metadata.xml @@ -0,0 +1,28 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build clang-based plugins for C/C++ development (code model, formatting, static analysis) + Build the cmdbridge server using dev-lang/go + Enable designer for QtWidgets-based UIs + Enable the integrated dev-qt/qt-docs viewer (also needed for examples) + Install the 'Devel' component needed to build external Qt Creator plugins + Build QmlDesigner and related plugins (Insight, StudioWelcome) + Build the serial terminal plugin + Build plugins for tracing requiring extra dependencies (AppStatisticsMonitor, CtfVisualizer, PerfProfiler, QmlProfiler) + + Allow using dev-qt/qtwebengine for + better USE=help display, and for Design Viewer + Connector support with USE=qmldesigner + + + + https://bugreports.qt.io/ + https://doc.qt.io/qtcreator/ + qt-creator/qt-creator + + diff --git a/dev-qt/qt-creator/qt-creator-15.0.1.ebuild b/dev-qt/qt-creator/qt-creator-15.0.1.ebuild new file mode 100644 index 0000000..cebbca5 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-15.0.1.ebuild @@ -0,0 +1,300 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake edo flag-o-matic go-env llvm-r2 multiprocessing +inherit python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz ) + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +LICENSE+=" BSD MIT" # go +SLOT="0" +IUSE=" + +clang cmdbridge-server designer doc +help keyring plugin-dev + qmldesigner serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.5.4:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + dev-cpp/yaml-cpp:= + >=dev-qt/qt5compat-${QT_PV} + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +# intentionally skipping := on go (unlike go-module.eclass) given not +# worth a massive rebuild every time for the minor go usage +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + cmdbridge-server? ( >=dev-lang/go-1.21.7 ) + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-15.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +QA_FLAGS_IGNORED="usr/libexec/qtcreator/cmdbridge-.*" # written in Go + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + if use cmdbridge-server; then + cd -- "${S}"/src/libs/gocmdbridge/server || die + edo go mod vendor + fi + else + default + fi +} + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid stripping for Go, use sed to avoid rebases as may be there forever + sed -i 's/-s -w //' src/libs/gocmdbridge/server/CMakeLists.txt || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + if use cmdbridge-server; then + go-env_set_compile_environment + export GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false -buildmode=pie" + fi + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://bugreports.qt.io/browse/QTCREATORBUG-29169 + $(use help && usev !webengine -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925 + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild new file mode 100644 index 0000000..204fd34 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -0,0 +1,306 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake edo flag-o-matic go-env llvm-r2 multiprocessing +inherit python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz ) + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="~amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +LICENSE+=" BSD MIT" # go +SLOT="0" +IUSE=" + +clang cmdbridge-server designer doc +help keyring plugin-dev + qmldesigner serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.5.4:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + dev-cpp/yaml-cpp:= + >=dev-qt/qt5compat-${QT_PV} + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +# intentionally skipping := on go (unlike go-module.eclass) given not +# worth a massive rebuild every time for the minor go usage +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + cmdbridge-server? ( >=dev-lang/go-1.21.7 ) + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +QA_FLAGS_IGNORED="usr/libexec/qtcreator/cmdbridge-.*" # written in Go + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + if use cmdbridge-server; then + cd -- "${S}"/src/libs/gocmdbridge/server || die + edo go mod vendor + fi + else + default + fi +} + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid stripping for Go, use sed to avoid rebases as may be there forever + sed -i 's/-s -w //' src/libs/gocmdbridge/server/CMakeLists.txt || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + if use cmdbridge-server; then + go-env_set_compile_environment + export GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false -buildmode=pie" + fi + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://bugreports.qt.io/browse/QTCREATORBUG-29169 + $(use help && usev !webengine -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925 + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest new file mode 100644 index 0000000..e8f5b92 --- /dev/null +++ b/dev-qt/qttools/Manifest @@ -0,0 +1 @@ +DIST qttools-everywhere-src-6.8.2.tar.xz 10297596 BLAKE2B b8dc80718246e5bc72ef5c76c176f0b4bf264d387d22c49c03695a218ce295a946fd2cf84bf45d6a11752875a681d9bde27a33f7f5cb148e9a3c53f167996de0 SHA512 ad448af0656640a712eefe81fc4291209dec27fe10d42dfb68c7c31e65003653fb3821996f44c50d8ab4371853a18cfc0b4032f7876ce6c75d0fb9b4fe91ca27 diff --git a/dev-qt/qttools/metadata.xml b/dev-qt/qttools/metadata.xml new file mode 100644 index 0000000..b08d3bc --- /dev/null +++ b/dev-qt/qttools/metadata.xml @@ -0,0 +1,34 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build Qt Assistant and the QtHelp module + Enable using libclang for code parsing (linguist/qdoc) + Build Qt Designer + Build Qt Distance Field Generator + Build Qt Linguist (GUI requires USE=widgets) + Build Qt Pixeltool + Build the Qt D-Bus Interface (D-Bus Viewer requires USE=widgets) + Build Qt Documentation Generator + Build QML/QtQuick bindings and imports + Build the QtHelp plugin for the QML language server + Build Qt Source Code Attribution Scanner + Build Qt Diag + Build Qt Plugin Info + Enable QtWidgets support + + + https://bugreports.qt.io/ + https://doc.qt.io/ + qt/qttools + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qttools/qttools-6.8.2.ebuild b/dev-qt/qttools/qttools-6.8.2.ebuild new file mode 100644 index 0000000..f0b23d3 --- /dev/null +++ b/dev-qt/qttools/qttools-6.8.2.ebuild @@ -0,0 +1,157 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum +LLVM_OPTIONAL=1 + +# behaves very badly when qttools is not already installed, also +# other issues to handle (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +QT6_RESTRICT_TESTS=1 + +inherit desktop llvm-r2 optfeature qt6-build + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE=" + +assistant clang designer distancefieldgenerator gles2-only +linguist + opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag + qtplugininfo vulkan +widgets zstd +" +# note that some tools do not *require* widgets but will skip a sub-tool +# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6) +REQUIRED_USE=" + assistant? ( widgets ) + clang? ( ${LLVM_REQUIRED_USE} ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( clang qml ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] ) + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + ) + qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] ) + qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] ) + qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] ) + widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] ) +" +DEPEND=" + ${RDEPEND} + qtdiag? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" + +src_configure() { + use clang && llvm_chost_setup + + local mycmakeargs=( + # prevent the clang test as it can abort due to bug #916098 + $(cmake_use_find_package clang WrapLibClang) + $(cmake_use_find_package qml Qt6Qml) + $(cmake_use_find_package widgets Qt6Widgets) + $(qt_feature assistant) + $(qt_feature clang) + $(qt_feature designer) + $(qt_feature distancefieldgenerator) + $(qt_feature linguist) + $(qt_feature pixeltool) + $(qt_feature qdbus) + $(qt_feature qdoc) + $(qt_feature qtattributionsscanner) + $(qt_feature qtdiag) + $(qt_feature qtplugininfo) + + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://github.com/litehtml/litehtml/issues/266 + $(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON) + + # USE=qmlls' help plugin may be temporary, upstream has plans to split + # QtHelp into another package so that qtdeclarative can depend on it + # without a circular dependency with qttools + $(cmake_use_find_package qmlls Qt6QmlLSPrivate) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use widgets; then #914766 + use designer || use distancefieldgenerator || use pixeltool && + newicon src/designer/src/designer/images/designer.png designer6.png + + if use assistant; then + make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \ + 'Qt;Development;Documentation' \ + 'Comment=Tool for viewing online documentation in Qt help file format' + newicon src/assistant/assistant/images/assistant-128.png assistant6.png + fi + + if use designer; then + make_desktop_entry designer6 'Qt 6 Designer' designer6 \ + 'Qt;Development;GUIDesigner' \ + 'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets' + fi + + if use distancefieldgenerator; then + # no icon, sharing with designer which fits letter-wise + make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for pregenerating the font cache of Qt applications' + fi + + if use linguist; then + make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \ + 'Qt;Development;Translation' \ + 'Comment=Tool for translating Qt applications' + newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png + fi + + if use pixeltool; then + # no icon, not fitting but share with designer for now + make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for zooming in the desktop area pointed by the cursor' + fi + + if use qdbus; then + make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \ + 'Qt;Development' \ + 'Comment=Tool that lets introspect D-Bus objects and messages' + newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png + fi + + # hack: make_destop_entry does not support overriding DESCRIPTION + find "${ED}" -type f -name "*.desktop" \ + -exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die + fi +} + +pkg_postinst() { + use assistant && + optfeature "Qt documentation viewable in assistant" \ + 'dev-qt/qt-docs:6[qch]' #602296 +} diff --git a/dev-qt/qttools/qttools-6.8.9999.ebuild b/dev-qt/qttools/qttools-6.8.9999.ebuild new file mode 100644 index 0000000..9b530f9 --- /dev/null +++ b/dev-qt/qttools/qttools-6.8.9999.ebuild @@ -0,0 +1,157 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum +LLVM_OPTIONAL=1 + +# behaves very badly when qttools is not already installed, also +# other issues to handle (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +QT6_RESTRICT_TESTS=1 + +inherit desktop llvm-r2 optfeature qt6-build + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +assistant clang designer distancefieldgenerator gles2-only +linguist + opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag + qtplugininfo vulkan +widgets zstd +" +# note that some tools do not *require* widgets but will skip a sub-tool +# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6) +REQUIRED_USE=" + assistant? ( widgets ) + clang? ( ${LLVM_REQUIRED_USE} ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( clang qml ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] ) + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + ) + qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] ) + qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] ) + qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] ) + widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] ) +" +DEPEND=" + ${RDEPEND} + qtdiag? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" + +src_configure() { + use clang && llvm_chost_setup + + local mycmakeargs=( + # prevent the clang test as it can abort due to bug #916098 + $(cmake_use_find_package clang WrapLibClang) + $(cmake_use_find_package qml Qt6Qml) + $(cmake_use_find_package widgets Qt6Widgets) + $(qt_feature assistant) + $(qt_feature clang) + $(qt_feature designer) + $(qt_feature distancefieldgenerator) + $(qt_feature linguist) + $(qt_feature pixeltool) + $(qt_feature qdbus) + $(qt_feature qdoc) + $(qt_feature qtattributionsscanner) + $(qt_feature qtdiag) + $(qt_feature qtplugininfo) + + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://github.com/litehtml/litehtml/issues/266 + $(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON) + + # USE=qmlls' help plugin may be temporary, upstream has plans to split + # QtHelp into another package so that qtdeclarative can depend on it + # without a circular dependency with qttools + $(cmake_use_find_package qmlls Qt6QmlLSPrivate) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use widgets; then #914766 + use designer || use distancefieldgenerator || use pixeltool && + newicon src/designer/src/designer/images/designer.png designer6.png + + if use assistant; then + make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \ + 'Qt;Development;Documentation' \ + 'Comment=Tool for viewing online documentation in Qt help file format' + newicon src/assistant/assistant/images/assistant-128.png assistant6.png + fi + + if use designer; then + make_desktop_entry designer6 'Qt 6 Designer' designer6 \ + 'Qt;Development;GUIDesigner' \ + 'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets' + fi + + if use distancefieldgenerator; then + # no icon, sharing with designer which fits letter-wise + make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for pregenerating the font cache of Qt applications' + fi + + if use linguist; then + make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \ + 'Qt;Development;Translation' \ + 'Comment=Tool for translating Qt applications' + newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png + fi + + if use pixeltool; then + # no icon, not fitting but share with designer for now + make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for zooming in the desktop area pointed by the cursor' + fi + + if use qdbus; then + make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \ + 'Qt;Development' \ + 'Comment=Tool that lets introspect D-Bus objects and messages' + newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png + fi + + # hack: make_destop_entry does not support overriding DESCRIPTION + find "${ED}" -type f -name "*.desktop" \ + -exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die + fi +} + +pkg_postinst() { + use assistant && + optfeature "Qt documentation viewable in assistant" \ + 'dev-qt/qt-docs:6[qch]' #602296 +} diff --git a/dev-qt/qttools/qttools-6.9.9999.ebuild b/dev-qt/qttools/qttools-6.9.9999.ebuild new file mode 100644 index 0000000..9b530f9 --- /dev/null +++ b/dev-qt/qttools/qttools-6.9.9999.ebuild @@ -0,0 +1,157 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum +LLVM_OPTIONAL=1 + +# behaves very badly when qttools is not already installed, also +# other issues to handle (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +QT6_RESTRICT_TESTS=1 + +inherit desktop llvm-r2 optfeature qt6-build + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +assistant clang designer distancefieldgenerator gles2-only +linguist + opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag + qtplugininfo vulkan +widgets zstd +" +# note that some tools do not *require* widgets but will skip a sub-tool +# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6) +REQUIRED_USE=" + assistant? ( widgets ) + clang? ( ${LLVM_REQUIRED_USE} ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( clang qml ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] ) + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + ) + qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] ) + qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] ) + qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] ) + widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] ) +" +DEPEND=" + ${RDEPEND} + qtdiag? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" + +src_configure() { + use clang && llvm_chost_setup + + local mycmakeargs=( + # prevent the clang test as it can abort due to bug #916098 + $(cmake_use_find_package clang WrapLibClang) + $(cmake_use_find_package qml Qt6Qml) + $(cmake_use_find_package widgets Qt6Widgets) + $(qt_feature assistant) + $(qt_feature clang) + $(qt_feature designer) + $(qt_feature distancefieldgenerator) + $(qt_feature linguist) + $(qt_feature pixeltool) + $(qt_feature qdbus) + $(qt_feature qdoc) + $(qt_feature qtattributionsscanner) + $(qt_feature qtdiag) + $(qt_feature qtplugininfo) + + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://github.com/litehtml/litehtml/issues/266 + $(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON) + + # USE=qmlls' help plugin may be temporary, upstream has plans to split + # QtHelp into another package so that qtdeclarative can depend on it + # without a circular dependency with qttools + $(cmake_use_find_package qmlls Qt6QmlLSPrivate) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use widgets; then #914766 + use designer || use distancefieldgenerator || use pixeltool && + newicon src/designer/src/designer/images/designer.png designer6.png + + if use assistant; then + make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \ + 'Qt;Development;Documentation' \ + 'Comment=Tool for viewing online documentation in Qt help file format' + newicon src/assistant/assistant/images/assistant-128.png assistant6.png + fi + + if use designer; then + make_desktop_entry designer6 'Qt 6 Designer' designer6 \ + 'Qt;Development;GUIDesigner' \ + 'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets' + fi + + if use distancefieldgenerator; then + # no icon, sharing with designer which fits letter-wise + make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for pregenerating the font cache of Qt applications' + fi + + if use linguist; then + make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \ + 'Qt;Development;Translation' \ + 'Comment=Tool for translating Qt applications' + newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png + fi + + if use pixeltool; then + # no icon, not fitting but share with designer for now + make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for zooming in the desktop area pointed by the cursor' + fi + + if use qdbus; then + make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \ + 'Qt;Development' \ + 'Comment=Tool that lets introspect D-Bus objects and messages' + newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png + fi + + # hack: make_destop_entry does not support overriding DESCRIPTION + find "${ED}" -type f -name "*.desktop" \ + -exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die + fi +} + +pkg_postinst() { + use assistant && + optfeature "Qt documentation viewable in assistant" \ + 'dev-qt/qt-docs:6[qch]' #602296 +} diff --git a/dev-qt/qttools/qttools-6.9999.ebuild b/dev-qt/qttools/qttools-6.9999.ebuild new file mode 100644 index 0000000..9b530f9 --- /dev/null +++ b/dev-qt/qttools/qttools-6.9999.ebuild @@ -0,0 +1,157 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum +LLVM_OPTIONAL=1 + +# behaves very badly when qttools is not already installed, also +# other issues to handle (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +QT6_RESTRICT_TESTS=1 + +inherit desktop llvm-r2 optfeature qt6-build + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +assistant clang designer distancefieldgenerator gles2-only +linguist + opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag + qtplugininfo vulkan +widgets zstd +" +# note that some tools do not *require* widgets but will skip a sub-tool +# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6) +REQUIRED_USE=" + assistant? ( widgets ) + clang? ( ${LLVM_REQUIRED_USE} ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( clang qml ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] ) + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + ) + qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] ) + qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] ) + qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] ) + widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] ) +" +DEPEND=" + ${RDEPEND} + qtdiag? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" + +src_configure() { + use clang && llvm_chost_setup + + local mycmakeargs=( + # prevent the clang test as it can abort due to bug #916098 + $(cmake_use_find_package clang WrapLibClang) + $(cmake_use_find_package qml Qt6Qml) + $(cmake_use_find_package widgets Qt6Widgets) + $(qt_feature assistant) + $(qt_feature clang) + $(qt_feature designer) + $(qt_feature distancefieldgenerator) + $(qt_feature linguist) + $(qt_feature pixeltool) + $(qt_feature qdbus) + $(qt_feature qdoc) + $(qt_feature qtattributionsscanner) + $(qt_feature qtdiag) + $(qt_feature qtplugininfo) + + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://github.com/litehtml/litehtml/issues/266 + $(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON) + + # USE=qmlls' help plugin may be temporary, upstream has plans to split + # QtHelp into another package so that qtdeclarative can depend on it + # without a circular dependency with qttools + $(cmake_use_find_package qmlls Qt6QmlLSPrivate) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use widgets; then #914766 + use designer || use distancefieldgenerator || use pixeltool && + newicon src/designer/src/designer/images/designer.png designer6.png + + if use assistant; then + make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \ + 'Qt;Development;Documentation' \ + 'Comment=Tool for viewing online documentation in Qt help file format' + newicon src/assistant/assistant/images/assistant-128.png assistant6.png + fi + + if use designer; then + make_desktop_entry designer6 'Qt 6 Designer' designer6 \ + 'Qt;Development;GUIDesigner' \ + 'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets' + fi + + if use distancefieldgenerator; then + # no icon, sharing with designer which fits letter-wise + make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for pregenerating the font cache of Qt applications' + fi + + if use linguist; then + make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \ + 'Qt;Development;Translation' \ + 'Comment=Tool for translating Qt applications' + newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png + fi + + if use pixeltool; then + # no icon, not fitting but share with designer for now + make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \ + 'Qt;Development' \ + 'Comment=Tool for zooming in the desktop area pointed by the cursor' + fi + + if use qdbus; then + make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \ + 'Qt;Development' \ + 'Comment=Tool that lets introspect D-Bus objects and messages' + newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png + fi + + # hack: make_destop_entry does not support overriding DESCRIPTION + find "${ED}" -type f -name "*.desktop" \ + -exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die + fi +} + +pkg_postinst() { + use assistant && + optfeature "Qt documentation viewable in assistant" \ + 'dev-qt/qt-docs:6[qch]' #602296 +} diff --git a/dev-util/Tensile/Manifest b/dev-util/Tensile/Manifest new file mode 100644 index 0000000..fb3ece6 --- /dev/null +++ b/dev-util/Tensile/Manifest @@ -0,0 +1,4 @@ +DIST rocm-Tensile-5.7.1.tar.gz 12396002 BLAKE2B ec2c2bc3f07fe22abd800b642c998ea80b9e4e2d0d28c4763d574dbd2fcb14c735223ddc7571d4ab3a48f0bd819cc835c16df9882049c5bf56f25ef729e6d654 SHA512 8f356f36cfec74ee9b000d1180cf52077dc5c595e5c5a40792fc3eb13f3139980c7440f9bc912218f946cf8137e2481d23fe39f110511c1bb55fe85a933ffd36 +DIST rocm-Tensile-6.1.1.tar.gz 12675289 BLAKE2B dfe3698d7dda14d5b20a6fe1ef6535ac9737ac330b71678a3a94e939adc2350e2dcf33e58c711ee90dae543efba59fe210bfa39fc69b63910ec4537db3f209bf SHA512 cf8b014b1ff7cd5d45236b8a9a6f5604b02e34a9245a163c672847b535d565151bf7e3a5127601681e80e6fe26964a0e544594044efe2fe68e39b0f1128f96e2 +DIST rocm-Tensile-6.3.2.tar.gz 12723907 BLAKE2B aaabae87664340f3e044ac5fdc68331084cd597466f294d60f8ed3d523c0f1ebc0c6e3e353585d4bb85f4fe30c644b1a70f2123b6f62d67a6b7a1904f3d820bb SHA512 df8888d7250f9e3dc6818590c82a3e1dc3ff787e0eac29e45969ef408db92261d39faca29f5ac7a6bae5e5b614365ff6e37d087956697c25c65d9d7e4c1ba74d +DIST rocm-Tensile-6.3.3.tar.gz 12723968 BLAKE2B e8c14f85dd44767b685595180974d683d759f84fc044e98974beae107f78ec97d43de30232ea0bd3578aa6cd40e17309d603ce583925ed4dd65cc146241e5b7d SHA512 836e17aab29ace976595c5b3fbc6b1742c774eb0420488a1449e04649c424e5a877168cf71de96fddcfbad337e295206ec456aea7649fe9e67a8802739ddbabe diff --git a/dev-util/Tensile/Tensile-5.7.1-r2.ebuild b/dev-util/Tensile/Tensile-5.7.1-r2.ebuild new file mode 100644 index 0000000..ec246a5 --- /dev/null +++ b/dev-util/Tensile/Tensile-5.7.1-r2.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +inherit cmake distutils-r1 llvm prefix rocm + +LLVM_MAX_SLOT=17 + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" +SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + =dev-util/hip-5* + >=dev-util/rocm-smi-4.3.0 + llvm-core/clang:${LLVM_MAX_SLOT} +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.0-output-commands.patch + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-5.4.2-use-ninja.patch + "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-5.7.1-fix-msgpack-dependency.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix ${LLVM_MAX_SLOT}),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + CXX=hipcc cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_newexe Utilities/merge.py ${PN}-merge +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf ReplacementKernels-cov3 Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/Tensile/Tensile-6.1.1-r1.ebuild b/dev-util/Tensile/Tensile-6.1.1-r1.ebuild new file mode 100644 index 0000000..7447c2f --- /dev/null +++ b/dev-util/Tensile/Tensile-6.1.1-r1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake distutils-r1 llvm-r1 prefix rocm + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" +SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-util/hip:${SLOT} + dev-util/rocm-smi:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.0-output-commands.patch + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-5.4.2-use-ninja.patch + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-6.1.1-ignore-asm-cap.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_newexe Utilities/merge.py ${PN}-merge +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/Tensile/Tensile-6.1.1.ebuild b/dev-util/Tensile/Tensile-6.1.1.ebuild new file mode 100644 index 0000000..69b336a --- /dev/null +++ b/dev-util/Tensile/Tensile-6.1.1.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake distutils-r1 llvm-r1 prefix rocm + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" +SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + =dev-util/hip-6* + >=dev-util/rocm-smi-4.3.0 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-4.3.0-output-commands.patch + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-5.4.2-use-ninja.patch + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_newexe Utilities/merge.py ${PN}-merge +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/Tensile/Tensile-6.3.2.ebuild b/dev-util/Tensile/Tensile-6.3.2.ebuild new file mode 100644 index 0000000..48f0501 --- /dev/null +++ b/dev-util/Tensile/Tensile-6.3.2.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake distutils-r1 llvm-r1 prefix rocm + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCm/Tensile" +SRC_URI="https://github.com/ROCm/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-util/hip:${SLOT} + dev-util/rocm-smi:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-6.3.0-use-ninja.patch + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_domodule Utilities + python_domodule TensileCreateLib +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/Tensile/Tensile-6.3.3.ebuild b/dev-util/Tensile/Tensile-6.3.3.ebuild new file mode 100644 index 0000000..48f0501 --- /dev/null +++ b/dev-util/Tensile/Tensile-6.3.3.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake distutils-r1 llvm-r1 prefix rocm + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCm/Tensile" +SRC_URI="https://github.com/ROCm/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-util/hip:${SLOT} + dev-util/rocm-smi:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-6.3.0-use-ninja.patch + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_domodule Utilities + python_domodule TensileCreateLib +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/Tensile/files/Tensile-4.3.0-output-commands.patch b/dev-util/Tensile/files/Tensile-4.3.0-output-commands.patch new file mode 100644 index 0000000..be5a4db --- /dev/null +++ b/dev-util/Tensile/files/Tensile-4.3.0-output-commands.patch @@ -0,0 +1,23 @@ +diff --color -uprN orig/Tensile/cmake/TensileConfig.cmake Tensile-rocm-4.3.0/Tensile/cmake/TensileConfig.cmake +--- orig/Tensile/cmake/TensileConfig.cmake 2021-08-18 17:48:00.115478470 +0800 ++++ Tensile-rocm-4.3.0/Tensile/cmake/TensileConfig.cmake 2021-08-18 17:48:49.963478801 +0800 +@@ -234,6 +234,7 @@ function(TensileCreateLibraryFiles + COMMENT "Generating Tensile Libraries" + OUTPUT ${Tensile_EMBED_LIBRARY_SOURCE};${Tensile_MANIFEST_CONTENTS} + COMMAND ${CommandLine} ++ USES_TERMINAL + ) + + set("${Tensile_VAR_PREFIX}_ALL_FILES" ${Tensile_MANIFEST_CONTENTS} PARENT_SCOPE) +diff --color -uprN orig/Tensile/Common.py Tensile-rocm-4.3.0/Tensile/Common.py +--- orig/Tensile/Common.py 2021-08-18 17:48:00.075478470 +0800 ++++ Tensile-rocm-4.3.0/Tensile/Common.py 2021-08-18 17:48:23.287478624 +0800 +@@ -179,7 +179,7 @@ globalParameters["PrintTensorD"] = 0 + globalParameters["PrintTensorRef"] = 0 # Print reference tensor. 0x1=after init; 0x2=after copy-back; 0x3=both + globalParameters["PrintIndexAssignments"] = 0 # Print the tensor index assignment info + globalParameters["PrintWinnersOnly"] = False # Only print the solutions which become the fastest +-globalParameters["PrintCodeCommands"] = False # print the commands used to generate the code objects (asm,link,hip-clang, etc) ++globalParameters["PrintCodeCommands"] = True # print the commands used to generate the code objects (asm,link,hip-clang, etc) + globalParameters["DumpTensors"] = False # If True, dump tensors to binary files instead of printing them. + + # TODO - remove this when NewClient is mainstream diff --git a/dev-util/Tensile/files/Tensile-5.4.2-fix-arch-parse.patch b/dev-util/Tensile/files/Tensile-5.4.2-fix-arch-parse.patch new file mode 100644 index 0000000..14263e8 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-5.4.2-fix-arch-parse.patch @@ -0,0 +1,12 @@ +Index: Tensile-rocm-5.3.3/Tensile/Tensile.py +=================================================================== +--- Tensile-rocm-5.3.3.orig/Tensile/Tensile.py ++++ Tensile-rocm-5.3.3/Tensile/Tensile.py +@@ -101,7 +101,6 @@ def addCommonArguments(argParser): + Allows the --global-parameters option to specify any parameters from the command line. + """ + (key, value) = par.split("=") +- value = eval(value) + return (key, value) + + argParser.add_argument("-d", "--device", dest="device", type=int, \ diff --git a/dev-util/Tensile/files/Tensile-5.4.2-use-ninja.patch b/dev-util/Tensile/files/Tensile-5.4.2-use-ninja.patch new file mode 100644 index 0000000..f88bf00 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-5.4.2-use-ninja.patch @@ -0,0 +1,21 @@ +Index: Tensile-rocm-5.4.2/Tensile/ClientExecutable.py +=================================================================== +--- Tensile-rocm-5.4.2.orig/Tensile/ClientExecutable.py ++++ Tensile-rocm-5.4.2/Tensile/ClientExecutable.py +@@ -44,6 +44,7 @@ class CMakeEnvironment: + args = ['cmake'] + args += ['-G', 'Ninja'] if (os.name == 'nt') else [] + args += itertools.chain.from_iterable([ ['-D{}={}'.format(key, value)] for key,value in self.options.items()]) ++ args += itertools.chain.from_iterable([ ['-G', 'Ninja'], [ '-D', 'CMAKE_EXPORT_COMPILE_COMMANDS=ON' ] ]) + args += [self.sourceDir] + args = [cmake_path(arg) for arg in args] + +@@ -53,7 +54,7 @@ class CMakeEnvironment: + subprocess.check_output(args, stderr=subprocess.STDOUT, cwd=Common.ensurePath(self.buildDir)) + + def build(self): +- args = [('ninja' if (os.name == "nt") else 'make'), f'-j{CPUThreadCount()}'] ++ args = [('ninja'), f'-j{CPUThreadCount()}'] + Common.print2(' '.join(args)) + with Common.ClientExecutionLock(): + # change to use check_output to force windows cmd block util command finish diff --git a/dev-util/Tensile/files/Tensile-5.7.1-expand-isa-compatibility.patch b/dev-util/Tensile/files/Tensile-5.7.1-expand-isa-compatibility.patch new file mode 100644 index 0000000..ebfc537 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-5.7.1-expand-isa-compatibility.patch @@ -0,0 +1,49 @@ +Allow Tensile to load the compatible kernels when running on +architectures compatible with those ISAs. + +Based on patch from Cordell Bloor +https://salsa.debian.org/rocm-team/rocblas/-/blob/master/debian/patches/0012-expand-isa-compatibility.patch + +--- a/Tensile/Source/lib/source/hip/HipHardware.cpp ++++ b/Tensile/Source/lib/source/hip/HipHardware.cpp +@@ -24,6 +24,8 @@ + * + *******************************************************************************/ + ++#include ++ + #include + #include + #include +@@ -56,6 +58,31 @@ namespace Tensile + { + hipDeviceProp_t prop; + HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId)); ++ // coerce to compatible arch ++ switch(prop.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ prop.gcnArch = 900; ++ std::strcpy(prop.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ prop.gcnArch = 1010; ++ std::strcpy(prop.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ prop.gcnArch = 1030; ++ std::strcpy(prop.gcnArchName, "gfx1030"); ++ break; ++ } + #if HIP_VERSION >= 50220730 + int hip_version; + HIP_CHECK_EXC(hipRuntimeGetVersion(&hip_version)); diff --git a/dev-util/Tensile/files/Tensile-5.7.1-fix-msgpack-dependency.patch b/dev-util/Tensile/files/Tensile-5.7.1-fix-msgpack-dependency.patch new file mode 100644 index 0000000..f6f3f0e --- /dev/null +++ b/dev-util/Tensile/files/Tensile-5.7.1-fix-msgpack-dependency.patch @@ -0,0 +1,29 @@ +Gentoo uses "msgpack-cxx" as library name and adds important +MSGPACK_NO_BOOST compile definition when msgpack-cxx us installed with USE=-boost +--- a/Tensile/Source/lib/CMakeLists.txt ++++ b/Tensile/Source/lib/CMakeLists.txt +@@ -98,22 +98,9 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK) + endif() + + if(TENSILE_USE_MSGPACK) +- find_package(msgpack REQUIRED) ++ find_package(msgpack-cxx REQUIRED) + target_compile_definitions(TensileHost PUBLIC -DTENSILE_MSGPACK=1) +- +- if(TARGET msgpackc-cxx) +- get_target_property(msgpack_inc msgpackc-cxx INTERFACE_INCLUDE_DIRECTORIES) +- elseif(TARGET msgpackc) +- get_target_property(msgpack_inc msgpackc INTERFACE_INCLUDE_DIRECTORIES) +- endif() +- +- if(DEFINED msgpack_inc) +- # include C++ headers manually +- # External header includes included as system files +- target_include_directories(TensileHost +- SYSTEM PRIVATE $ +- ) +- endif() ++ target_link_libraries(TensileHost PRIVATE msgpack-cxx) + endif() + + if(TENSILE_USE_LLVM) diff --git a/dev-util/Tensile/files/Tensile-5.7.1-gentoopath.patch b/dev-util/Tensile/files/Tensile-5.7.1-gentoopath.patch new file mode 100644 index 0000000..c8bc360 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-5.7.1-gentoopath.patch @@ -0,0 +1,57 @@ +Fix incorrect path in scripts and CMakeLists, in order to build tensile_client + +--- a/HostLibraryTests/CMakeLists.txt ++++ b/HostLibraryTests/CMakeLists.txt +@@ -139,7 +139,7 @@ set(test_sources ${test_sources} + ) + + if(TENSILE_USE_LLVM) +- find_package(LLVM REQUIRED CONFIG) ++ find_package(LLVM PATHS @LLVM_PATH@ REQUIRED CONFIG) + + set(test_sources ${test_sources} + ContractionLibraryLoading_test.cpp +--- a/Tensile/ClientWriter.py ++++ b/Tensile/ClientWriter.py +@@ -176,7 +176,7 @@ def runClient(libraryLogicPath, forBenchmark, enableTileSelection, configPaths=N + def getBuildClientLibraryScript(buildPath, libraryLogicPath): + callCreateLibraryCmd = ["python"] if os.name == "nt" else [] + +- callCreateLibraryCmd += [os.path.join(globalParameters["ScriptPath"] , "bin", "TensileCreateLibrary")] ++ callCreateLibraryCmd += ["TensileCreateLibrary"] + + if globalParameters["MergeFiles"]: + callCreateLibraryCmd += ["--merge-files"] +--- a/Tensile/Common.py ++++ b/Tensile/Common.py +@@ -2108,7 +2108,7 @@ def assignGlobalParameters( config ): + else: + print2(" %24s: %8s (unspecified)" % (key, defaultValue)) + +- globalParameters["ROCmPath"] = "/opt/rocm" ++ globalParameters["ROCmPath"] = "@GENTOO_PORTAGE_EPREFIX@/usr" + if "ROCM_PATH" in os.environ: + globalParameters["ROCmPath"] = os.environ.get("ROCM_PATH") + if "TENSILE_ROCM_PATH" in os.environ: +--- a/Tensile/GenerateSummations.py ++++ b/Tensile/GenerateSummations.py +@@ -59,7 +59,7 @@ def createLibraryForBenchmark(logicPath, libraryPath, currentPath): + Selection. + """ + +- pythonExePath = os.path.join(os.path.dirname(os.path.realpath(__file__)), "bin", "TensileCreateLibrary") ++ pythonExePath = "TensileCreateLibrary" + args = [pythonExePath, \ + "--merge-files", "--new-client-only", "--no-short-file-names", "--no-library-print-debug", \ + "--architecture=all", "--cxx-compiler=hipcc", "--library-format=yaml", \ +--- a/Tensile/Source/lib/CMakeLists.txt ++++ b/Tensile/Source/lib/CMakeLists.txt +@@ -52,7 +52,7 @@ set(tensile_sources ${tensile_sources} + ) + + if(TENSILE_USE_LLVM) +- find_package(LLVM REQUIRED CONFIG) ++ find_package(LLVM PATHS @LLVM_PATH@ REQUIRED CONFIG) + + set(tensile_sources ${tensile_sources} + source/llvm/YAML.cpp diff --git a/dev-util/Tensile/files/Tensile-6.0.2-expand-isa-compatibility.patch b/dev-util/Tensile/files/Tensile-6.0.2-expand-isa-compatibility.patch new file mode 100644 index 0000000..7a72d83 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-6.0.2-expand-isa-compatibility.patch @@ -0,0 +1,34 @@ +diff --git a/Tensile/Source/lib/source/hip/HipHardware.cpp b/Tensile/Source/lib/source/hip/HipHardware.cpp +index ffa4f0f..f894366 100644 +--- a/Tensile/Source/lib/source/hip/HipHardware.cpp ++++ b/Tensile/Source/lib/source/hip/HipHardware.cpp +@@ -24,6 +24,8 @@ + * + *******************************************************************************/ + ++#include ++ + #include + #include + #include +@@ -55,6 +57,20 @@ namespace Tensile + { + hipDeviceProp_t prop; + HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId)); ++ // coerce to compatible arch ++ int gcnArch = strncmp(prop.gcnArchName, "gfx", 3) == 0 ? std::stoi(prop.gcnArchName + 3) : 0; ++ switch(gcnArch) ++ { ++ case 902: case 909: case 912: ++ std::strcpy(prop.gcnArchName, "gfx900"); ++ break; ++ case 1013: ++ std::strcpy(prop.gcnArchName, "gfx1010"); ++ break; ++ case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: ++ std::strcpy(prop.gcnArchName, "gfx1030"); ++ break; ++ } + #if HIP_VERSION >= 50220730 + int hip_version; + HIP_CHECK_EXC(hipRuntimeGetVersion(&hip_version)); diff --git a/dev-util/Tensile/files/Tensile-6.1.1-fix-msgpack-dependency.patch b/dev-util/Tensile/files/Tensile-6.1.1-fix-msgpack-dependency.patch new file mode 100644 index 0000000..7a3b188 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-6.1.1-fix-msgpack-dependency.patch @@ -0,0 +1,31 @@ +Gentoo uses "msgpack-cxx" as library name and adds important +MSGPACK_NO_BOOST compile definition when msgpack-cxx us installed with USE=-boost +--- a/Tensile/Source/lib/CMakeLists.txt ++++ b/Tensile/Source/lib/CMakeLists.txt +@@ -98,24 +98,9 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK) + endif() + + if(TENSILE_USE_MSGPACK) +- find_package(msgpack REQUIRED NAMES msgpack msgpack-cxx msgpack-c) ++ find_package(msgpack-cxx REQUIRED) + target_compile_definitions(TensileHost PUBLIC -DTENSILE_MSGPACK=1) +- +- if(TARGET msgpackc-cxx) +- get_target_property(msgpack_inc msgpackc-cxx INTERFACE_INCLUDE_DIRECTORIES) +- elseif(TARGET msgpackc) +- get_target_property(msgpack_inc msgpackc INTERFACE_INCLUDE_DIRECTORIES) +- elseif(TARGET msgpack-cxx) +- get_target_property(msgpack_inc msgpack-cxx INTERFACE_INCLUDE_DIRECTORIES) +- endif() +- +- if(DEFINED msgpack_inc) +- # include C++ headers manually +- # External header includes included as system files +- target_include_directories(TensileHost +- SYSTEM PRIVATE $ +- ) +- endif() ++ target_link_libraries(TensileHost PRIVATE msgpack-cxx) + endif() + + if(TENSILE_USE_LLVM) diff --git a/dev-util/Tensile/files/Tensile-6.1.1-ignore-asm-cap.patch b/dev-util/Tensile/files/Tensile-6.1.1-ignore-asm-cap.patch new file mode 100644 index 0000000..b0ad3b2 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-6.1.1-ignore-asm-cap.patch @@ -0,0 +1,11 @@ +--- a/Tensile/Common.py 2024-11-09 20:38:11.186998794 -0000 ++++ b/Tensile/Common.py 2024-11-09 20:43:18.524804845 -0000 +@@ -2030,7 +2030,7 @@ + if len(compilerVer) >= 2: + ignoreCacheCheck = ignoreCacheCheck or \ + compilerVer[0] < 5 or \ +- (compilerVer[0] == 5 and compilerVer[1] <= 2) ++ (compilerVer[0] == 6 and compilerVer[1] <= 1) + + if not derivedAsmCaps["SupportedISA"] and CACHED_ASM_CAPS[isaVersion]["SupportedISA"]: + printWarning("Architecture {} not supported by ROCm {}".format(isaVersion, globalParameters['HipClangVersion'])) diff --git a/dev-util/Tensile/files/Tensile-6.3.0-use-ninja.patch b/dev-util/Tensile/files/Tensile-6.3.0-use-ninja.patch new file mode 100644 index 0000000..ab36761 --- /dev/null +++ b/dev-util/Tensile/files/Tensile-6.3.0-use-ninja.patch @@ -0,0 +1,20 @@ +--- a/Tensile/ClientExecutable.py ++++ b/Tensile/ClientExecutable.py +@@ -42,7 +42,7 @@ class CMakeEnvironment: + def generate(self): + + args = ['cmake'] +- args += ['-G', 'Ninja'] if (os.name == 'nt') else [] ++ args += ['-G', 'Ninja'] + args += itertools.chain.from_iterable([ ['-D{}={}'.format(key, value)] for key,value in self.options.items()]) + args += [self.sourceDir] + args = [cmake_path(arg) for arg in args] +@@ -59,7 +59,7 @@ class CMakeEnvironment: + + + def build(self): +- args = [('ninja' if (os.name == "nt") else 'make'), f'-j{CPUThreadCount()}'] ++ args = ['ninja', f'-j{CPUThreadCount()}'] + Common.tPrint(3, ' '.join(args)) + with Common.ClientExecutionLock(): + # change to use check_output to force windows cmd block util command finish diff --git a/dev-util/Tensile/metadata.xml b/dev-util/Tensile/metadata.xml new file mode 100644 index 0000000..a033b1b --- /dev/null +++ b/dev-util/Tensile/metadata.xml @@ -0,0 +1,14 @@ + + + + + sci@gentoo.org + Science Project + + + ROCm/Tensile + + + Build and install tensile_client executable to run benchmarks and tune GPU GEMM + + diff --git a/dev-util/android-ndk/Manifest b/dev-util/android-ndk/Manifest deleted file mode 100644 index 1eaa0ee..0000000 --- a/dev-util/android-ndk/Manifest +++ /dev/null @@ -1,6 +0,0 @@ -DIST android-ndk-r11c-linux-x86_64.zip 794135138 BLAKE2B e048c6c7172aafce47e5961669e8130780a060190854316edde8e2aca763055cba8bb739dcb8aa51227a798d19b36a11bf2e7591f817070c153f05a2e5d74fd4 SHA512 c0de562061c9f08bcd1ae05b1de26898788e71cc7dc40502348214edd5a90f1bf8125721e587b341f6fe774fc79b1a6e28b3f702f3275e016baa0382fcea2767 -DIST android-ndk-r13b-linux-x86_64.zip 687311866 BLAKE2B 2db7bfd9fa937d5f28fa238494e73ad1d09c539627308aa7f4e2c4114c6762dc908b1752b42dccf792f9c71ff7e3b5e08b2b03e7eac3ff5bea497c33d479d60a SHA512 39f3bd2d0e1daca11870df2e2ef318ad070b19163a55e2c1c4a1a871e02f8ec51263d7cf4b6da54eaadbe4253b5c11b85f4c5aeb67fccfff9147a5c420589d12 -DIST android-ndk-r14b-linux-x86_64.zip 840626594 BLAKE2B 5032893ee34e7167c5af5216d7b1357c3f9dcef136d63fa9a1d6c4849471430ac21a741e1c2439ec62b5cb1fa79af9ff39b46c31073e47e7a6f7c41e1a1a448b SHA512 24435267fc5acae559aa5159f7c895ce5ea0cbb8ef966bb8ff0dadffcadccbe46bc3880d285bf4e411ef78632cf2f862408e7b2b41ebca51078b41eac66a301a -DIST android-ndk-r16b-linux-x86_64.zip 852525873 BLAKE2B 18f6e602d88ef0a8f1a7f31bc127547c32bc2fb133d5c87ca4d2f7099f79b54d67f578a68fcd59e94c84934ca2006decca5b09eac566f2f99d609862d4036e48 SHA512 94cd879925ee3174a9267e7da2d18d71874173976b362101ec06598a94b6587a33671e54bbbce5778c04418aacbb831e98386c16f6cde04574ea8c8589553dd7 -DIST android-ndk-r18-linux-x86_64.zip 556932539 BLAKE2B 52bde148e142fe72402d8ab6709b1dcb611f74c0cb8b511b3f0e69a2b6940ee5e05b1d4bd45fdff80f74f65ca3d8176de46bd0a3aa28e2dfd430fc07eab23d69 SHA512 7a8b372be53a7d5a008b6cafda451096623af33aea910edd8e98ee4b15682da5d2ad641727ab12eca522ba965073a3eb247cd3cd850c9b602e2c7b1cd6eec708 -DIST android-ndk-r21-linux-x86_64.zip 1043332542 BLAKE2B 1a037f6e9b35400b8ec5cfe52830dbb0a0cb216d153b43e32c2a097bb38cbf0fc6933f7e914a4d5148e1657d45a241be8421997f67c621292aeba022a513d1a1 SHA512 f0e55de2432efc95a4805542da2ffb2fdd3ed191ebbae636f0589fc65b3e41c6e2d9bb443f825bf741c154d50d207b33957a9a07c2af31b1e83ca42ddb843bd2 diff --git a/dev-util/android-ndk/android-ndk-11c-r1.ebuild b/dev-util/android-ndk/android-ndk-11c-r1.ebuild deleted file mode 100644 index f429991..0000000 --- a/dev-util/android-ndk/android-ndk-11c-r1.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - || ( - sys-libs/ncurses:0/5[tinfo] - sys-libs/ncurses-compat:5[tinfo] - )" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - printf '%s' \ - "PATH=\"${ANDROID_PATH}\"" \ - $'\n' \ - > "${T}/80${PN}" || die - - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" \ - > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-11c.ebuild b/dev-util/android-ndk/android-ndk-11c.ebuild deleted file mode 100644 index ec033ad..0000000 --- a/dev-util/android-ndk/android-ndk-11c.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - sys-libs/ncurses-compat:5" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - printf '%s' \ - "PATH=\"${ANDROID_PATH}\"" \ - $'\n' \ - > "${T}/80${PN}" || die - - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" \ - > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-13b.ebuild b/dev-util/android-ndk/android-ndk-13b.ebuild deleted file mode 100644 index f429991..0000000 --- a/dev-util/android-ndk/android-ndk-13b.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - || ( - sys-libs/ncurses:0/5[tinfo] - sys-libs/ncurses-compat:5[tinfo] - )" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - printf '%s' \ - "PATH=\"${ANDROID_PATH}\"" \ - $'\n' \ - > "${T}/80${PN}" || die - - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" \ - > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-14b.ebuild b/dev-util/android-ndk/android-ndk-14b.ebuild deleted file mode 100644 index 88aa81d..0000000 --- a/dev-util/android-ndk/android-ndk-14b.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - || ( - sys-libs/ncurses:0/5[tinfo] - sys-libs/ncurses-compat:5[tinfo] - )" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - echo "PATH=\"${ANDROID_PATH}\"" > "${T}/80${PN}" || die - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-16b.ebuild b/dev-util/android-ndk/android-ndk-16b.ebuild deleted file mode 100644 index 88aa81d..0000000 --- a/dev-util/android-ndk/android-ndk-16b.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - || ( - sys-libs/ncurses:0/5[tinfo] - sys-libs/ncurses-compat:5[tinfo] - )" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - echo "PATH=\"${ANDROID_PATH}\"" > "${T}/80${PN}" || die - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-18.ebuild b/dev-util/android-ndk/android-ndk-18.ebuild deleted file mode 100644 index e4e41e7..0000000 --- a/dev-util/android-ndk/android-ndk-18.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - sys-libs/ncurses-compat:5[abi_x86_32(-),tinfo]" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - echo "PATH=\"${ANDROID_PATH}\"" > "${T}/80${PN}" || die - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/android-ndk/android-ndk-21.ebuild b/dev-util/android-ndk/android-ndk-21.ebuild deleted file mode 100644 index 4c9089c..0000000 --- a/dev-util/android-ndk/android-ndk-21.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CHECKREQS_DISK_BUILD="6G" -inherit check-reqs - -DESCRIPTION="Open Handset Alliance's Android NDK (Native Dev Kit)" -HOMEPAGE="https://developer.android.com/ndk/" -SRC_URI="https://dl.google.com/android/repository/${PN}-r${PV}-linux-x86_64.zip" - -LICENSE="android" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror strip installsources test" - -DEPEND="app-arch/p7zip" -RDEPEND=">=dev-util/android-sdk-update-manager-10 - >=sys-devel/make-3.81 - sys-libs/ncurses-compat:5[abi_x86_32(-),tinfo] - virtual/libcrypt" - -S="${WORKDIR}/${PN}-r${PV}" - -ANDROID_NDK_DIR="opt/${PN}" - -QA_PREBUILT="*" -PYTHON_UPDATER_IGNORE="1" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_configure() { - : -} - -src_compile() { - : -} - -src_install() { - dodir "/${ANDROID_NDK_DIR}" - cp -pPR * "${ED}/${ANDROID_NDK_DIR}" || die - - dodir "/${ANDROID_NDK_DIR}/out" - fowners -R root:android "/${ANDROID_NDK_DIR}" - fperms 0775 "/${ANDROID_NDK_DIR}/"{,build,platforms,prebuilt} - fperms 0775 "/${ANDROID_NDK_DIR}/"{python-packages,sources,toolchains} - fperms 3775 "/${ANDROID_NDK_DIR}/out" - - ANDROID_PREFIX="${EPREFIX}/${ANDROID_NDK_DIR}" - ANDROID_PATH="${EPREFIX}/${ANDROID_NDK_DIR}" - - for i in toolchains/*/prebuilt/linux-*/bin - do - ANDROID_PATH="${ANDROID_PATH}:${ANDROID_PREFIX}/${i}" - done - - echo "PATH=\"${ANDROID_PATH}\"" > "${T}/80${PN}" || die - doenvd "${T}/80${PN}" - - echo "SEARCH_DIRS_MASK=\"${EPREFIX}/${ANDROID_NDK_DIR}\"" > "${T}/80${PN}" || die - insinto "/etc/revdep-rebuild" - doins "${T}/80${PN}" -} diff --git a/dev-util/bcc/Manifest b/dev-util/bcc/Manifest new file mode 100644 index 0000000..6920e7c --- /dev/null +++ b/dev-util/bcc/Manifest @@ -0,0 +1,2 @@ +DIST bcc-0.29.1.tar.gz 6778304 BLAKE2B 23df483df59ef7d66117b15628299a32155136aa5254edbf76f7507a972f3ebcba1d4b2aa83c41e8f061eeeb96812f522c34fed27e9a37e5f4ad3478c7cde88f SHA512 9e60130ea602e19e6c6f88a8c17023cea5daf4c5bcc7af8816e9f5c662341136eb449a3fdf870ffad215495ac3bf895115c0d968d92ce79ebe2899b3e2464d24 +DIST bcc-0.30.0.tar.gz 6797246 BLAKE2B 517f4fcce8bcaf4c8c17075f9a906b452ee14a0c46fa500c301521fe46d854fcf4f632e741b34168dfeb819d9b0d64b967e716fa6222ba7dcaeddb03570985e6 SHA512 70478ca8c18e7f106c462513ca9af46f49b4ebcca6380a9393208fca88f83895a7396f918bf5d01dce1bc4a876bccb9b95aa56d426e55d384cf11c9baaa6a89b diff --git a/dev-util/bcc/bcc-0.29.1-r1.ebuild b/dev-util/bcc/bcc-0.29.1-r1.ebuild new file mode 100644 index 0000000..2f19b45 --- /dev/null +++ b/dev-util/bcc/bcc-0.29.1-r1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{10..12} ) +LLVM_MAX_SLOT=18 + +inherit cmake linux-info llvm lua-single python-r1 toolchain-funcs + +DESCRIPTION="Tools for BPF-based Linux IO analysis, networking, monitoring, and more" +HOMEPAGE="https://iovisor.github.io/bcc/" +SRC_URI="https://github.com/iovisor/bcc/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" +IUSE="+lua test" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + lua? ( ${LUA_REQUIRED_USE} ) +" + +# tests need root access +RESTRICT="test" + +RDEPEND=" + >=dev-libs/elfutils-0.166:= + >=dev-libs/libbpf-1.2.0:=[static-libs(-)] + sys-kernel/linux-headers + ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz +- DEPENDS ${FIL}) +- list(APPEND GZFILES "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz") +-endforeach() + add_custom_target(man ALL DEPENDS ${GZFILES}) +-install(FILES ${GZFILES} DESTINATION share/bcc/man/man8) ++install(FILES ${FILES} DESTINATION share/bcc/man/man8) diff --git a/dev-util/bcc/files/bcc-0.25.0-cmakelists.patch b/dev-util/bcc/files/bcc-0.25.0-cmakelists.patch new file mode 100644 index 0000000..dc66baf --- /dev/null +++ b/dev-util/bcc/files/bcc-0.25.0-cmakelists.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a32768f..c938652a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,10 +17,6 @@ if(CMAKE_SANITIZE_TYPE) + endif() + + +-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) +- set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "path to install" FORCE) +-endif() +- + enable_testing() + + # populate submodules (libbpf) diff --git a/dev-util/bcc/files/bcc-0.31.0-dont-install-static-libs.patch b/dev-util/bcc/files/bcc-0.31.0-dont-install-static-libs.patch new file mode 100644 index 0000000..b600f12 --- /dev/null +++ b/dev-util/bcc/files/bcc-0.31.0-dont-install-static-libs.patch @@ -0,0 +1,13 @@ +diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt +index 104eff0e..e34b911a 100644 +--- a/src/cc/CMakeLists.txt ++++ b/src/cc/CMakeLists.txt +@@ -179,7 +179,7 @@ target_link_libraries(bcc-shared ${bcc_common_libs_for_s}) + target_link_libraries(bcc-static ${bcc_common_libs_for_a} bcc-loader-static) + set(bcc-lua-static ${bcc-lua-static} ${bcc_common_libs_for_lua}) + +-install(TARGETS bcc-shared bcc-static bcc-loader-static bpf-static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS bcc-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${bcc_table_headers} DESTINATION include/bcc) + install(FILES ${bcc_api_headers} DESTINATION include/bcc) + install(DIRECTORY ${libbpf_uapi} DESTINATION include/bcc/compat/linux FILES_MATCHING PATTERN "*.h") diff --git a/dev-util/bcc/files/bcc-0.31.0-no-automagic-deps.patch b/dev-util/bcc/files/bcc-0.31.0-no-automagic-deps.patch new file mode 100644 index 0000000..baadf2f --- /dev/null +++ b/dev-util/bcc/files/bcc-0.31.0-no-automagic-deps.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 18407e86..1af91242 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -136,7 +136,9 @@ if(NOT PYTHON_ONLY) + find_package(FLEX) + find_package(LibElf REQUIRED) + find_package(LibDebuginfod) +- find_package(LibLzma) ++ if(WITH_LZMA) ++ find_package(LibLzma) ++ endif() + if(CLANG_DIR) + set(CMAKE_FIND_ROOT_PATH "${CLANG_DIR}") + include_directories("${CLANG_DIR}/include") diff --git a/dev-util/bcc/files/bcc-0.9.0-no-luajit-automagic-dep.patch b/dev-util/bcc/files/bcc-0.9.0-no-luajit-automagic-dep.patch new file mode 100644 index 0000000..ee076ef --- /dev/null +++ b/dev-util/bcc/files/bcc-0.9.0-no-luajit-automagic-dep.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/FindLuaJIT.cmake b/cmake/FindLuaJIT.cmake +index 5a2bcf85..7f6e07e4 100644 +--- a/cmake/FindLuaJIT.cmake ++++ b/cmake/FindLuaJIT.cmake +@@ -28,6 +28,7 @@ + # 2010 - modified for cronkite to find luajit instead of lua, as it was before. + # + ++if(WITH_LUAJIT) + FIND_PATH(LUAJIT_INCLUDE_DIR lua.h + HINTS + $ENV{LUAJIT_DIR} +@@ -58,6 +59,7 @@ FIND_LIBRARY(LUAJIT_LIBRARY + /opt/csw + /opt + ) ++endif() + + IF(LUAJIT_LIBRARY) + IF(UNIX AND NOT APPLE) diff --git a/dev-util/bcc/metadata.xml b/dev-util/bcc/metadata.xml new file mode 100644 index 0000000..2daf306 --- /dev/null +++ b/dev-util/bcc/metadata.xml @@ -0,0 +1,14 @@ + + + + + chutzpah@gentoo.org + Patrick McLean + + + zmedico@gentoo.org + + + iovisor/bcc + + diff --git a/dev-util/bpftool/Manifest b/dev-util/bpftool/Manifest new file mode 100644 index 0000000..5f33909 --- /dev/null +++ b/dev-util/bpftool/Manifest @@ -0,0 +1,7 @@ +DIST bpftool-7.4.0.tar.gz 472915 BLAKE2B ae7b6bc6cb742712981ba8972bcecccc63d440b2a77c5a14f91ba5106c013774313d65fd3f42b843ba4027ab17cf9d44d256270f7f8ad11907714f16f3149078 SHA512 08a3095b37a9b897400f2be7dbb9de10d129ae4eef193d03955fdf84017cd3a5d7419e856aa68a425e609419868e8b1dd5409b4f218cc24feeb059c1898cdff4 +DIST bpftool-libbpf-v7.5.0-sources.tar.gz 1510032 BLAKE2B cc9beac4034317f89ae3c1088d1b1a1948778bcdb51d7ed7f566e4e5ab720c1128ca467d51d0bc3ffe7b1f69800249362baef5dfaf858275050f96b744fdbca6 SHA512 db12c305b77fea3689dbc1ce94527f0f21fa9de21fcdb36385e3fe492137335bb393f90e456c06601495ccc984230a531c432709db6514b545e0aeeda7ca3c99 +DIST libbpf-1.4.7.tar.gz 1016441 BLAKE2B 10be52c7e97b2f08edd33cb263c4737bb52edfd2226f0c5b86d4f95b584b81f8f6b1ede469e9ad6c231e55b6d6b9a038160662606c3f30dc79b1336aaaa90e74 SHA512 f09ff28ac75b0d0c1bfe7d233aee6a00e5c21f185646b2afe11b7bd048d74962f893237437dd81a762768f9235b9f2a2a33cb297201b2aa3e98f7c6f58e5b365 +DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 +DIST linux-6.9.tar.xz 144034416 BLAKE2B 4cf86c3cfe6e6534745d42dfaeca59b17ea1168c4e8b615c80e6d8aac735f11283cd85fa992b440b5d4452917e94b9f08397a64af0be5894e3df23c68892377e SHA512 fed3b4cd1fbfb4d94618587c1934273d2ecc8b6e42a3d586ff8a5f24980be930f2ef803aa2923ca3bfa5e4e619f967f3af315368f24fa76f610b10443624a579 +DIST patch-6.8.2.xz 247244 BLAKE2B a85078230548543c38550a5546689d0b44a54208cdad591ab34e10dec9348ce2f74e45bf85f373b14977d40556067e2e2c17ac4b6791fbb8aaba98feccd3cdac SHA512 a8e32b89f7680670c69c62f356846bb65b57614f979114627a9a2f945d7dc97c921d30197dffa993e5b18e499ba8c7196046ffdf0e721528a5378d1ee65a9ba5 +DIST patch-6.9.2.xz 16184 BLAKE2B 8a37e96c253b55b57c86f1654f2ea8bf65af96b1b38213e90032cb918bb8eea992d6ddbfa6a6774a229ab2e2288ab57bdb6cbad6e7e393c123f24850e06847c9 SHA512 a27af24f0caaa5de3811b6db5acc2d72b96df9ebb5c44bad99a949d871fb06c6ffd2be10cfc35b246d430c7be2291701f802aed47eaa8818ad12b8818a60f3ec diff --git a/dev-util/bpftool/bpftool-6.8.2.ebuild b/dev-util/bpftool/bpftool-6.8.2.ebuild new file mode 100644 index 0000000..ddd4369 --- /dev/null +++ b/dev-util/bpftool/bpftool-6.8.2.ebuild @@ -0,0 +1,123 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-pre/-git}" + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://kernel.org/" + +LINUX_V="${PV:0:1}.x" +LINUX_VER=$(ver_cut 1-2) +LINUX_PATCH=patch-${PV}.xz +SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/bpf/bpftool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +IUSE="caps +llvm" + +RDEPEND=" + sys-libs/binutils-libs:= + sys-libs/zlib:= + virtual/libelf:= + caps? ( sys-libs/libcap:= ) + llvm? ( llvm-core/llvm:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +# src_unpack and src_prepare are copied from dev-util/perf since +# it's building from the same tarball, please keep it in sync with perf +src_unpack() { + local paths=( + tools/bpf kernel/bpf + tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib" + ) + + # We expect the tar implementation to support the -j and --wildcards option + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ + > ${P}.patch + eend $? || die "filterdiff failed" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die + + # remove -Werror (bug 887981) + sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die +} + +bpftool_make() { + local arch=$(tc-arch-kernel) + tc-export AR CC LD + + emake V=1 VF=1 \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \ + prefix="${EPREFIX}"/usr \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + "$@" +} + +src_compile() { + bpftool_make + bpftool_make -C Documentation +} + +src_install() { + bpftool_make DESTDIR="${D}" install + bpftool_make mandir="${ED}"/usr/share/man -C Documentation install +} + +pkg_postinst() { + optfeature "clang-bpf-co-re support" llvm-core/clang[llvm_targets_BPF] +} diff --git a/dev-util/bpftool/bpftool-6.9.2.ebuild b/dev-util/bpftool/bpftool-6.9.2.ebuild new file mode 100644 index 0000000..7903cf9 --- /dev/null +++ b/dev-util/bpftool/bpftool-6.9.2.ebuild @@ -0,0 +1,123 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-pre/-git}" + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://kernel.org/" + +LINUX_V="${PV:0:1}.x" +LINUX_VER=$(ver_cut 1-2) +LINUX_PATCH=patch-${PV}.xz +SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/bpf/bpftool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +IUSE="caps +llvm" + +RDEPEND=" + sys-libs/binutils-libs:= + sys-libs/zlib:= + virtual/libelf:= + caps? ( sys-libs/libcap:= ) + llvm? ( llvm-core/llvm:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +# src_unpack and src_prepare are copied from dev-util/perf since +# it's building from the same tarball, please keep it in sync with perf +src_unpack() { + local paths=( + kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts} + scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools" + ) + + # We expect the tar implementation to support the -j and --wildcards option + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ + > ${P}.patch + eend $? || die "filterdiff failed" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die + + # remove -Werror (bug 887981) + sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die +} + +bpftool_make() { + local arch=$(tc-arch-kernel) + tc-export AR CC LD + + emake V=1 VF=1 \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \ + prefix="${EPREFIX}"/usr \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + "$@" +} + +src_compile() { + bpftool_make + bpftool_make -C Documentation +} + +src_install() { + bpftool_make DESTDIR="${D}" install + bpftool_make mandir="${ED}"/usr/share/man -C Documentation install +} + +pkg_postinst() { + optfeature "clang-bpf-co-re support" llvm-core/clang[llvm_targets_BPF] +} diff --git a/dev-util/bpftool/bpftool-7.4.0.ebuild b/dev-util/bpftool/bpftool-7.4.0.ebuild new file mode 100644 index 0000000..12c1cda --- /dev/null +++ b/dev-util/bpftool/bpftool-7.4.0.ebuild @@ -0,0 +1,130 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://github.com/libbpf/bpftool" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" + EGIT_SUBMODULES=(libbpf) +else + # bpftool typically vendors whatever libbpf is current at the time + # of a release, while libbpf publishes minor updates more frequently. + # Uncomment the following to bundle an updated libbpf e.g. in case of + # security or crasher bugs in libbpf and to keep the two synchronized. + # This allows us to quickly update the vendored lib with a revbump. + # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. + # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. + LIBBPF_VERSION=1.4.7 + + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz + https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz + -> libbpf-${LIBBPF_VERSION}.tar.gz" + else + # use tarball with bundled libbpf + SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" + S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" + fi + + KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" +IUSE="caps llvm" +REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" + +RDEPEND=" + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) + sys-libs/zlib:= + virtual/libelf:= +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}[llvm_targets_BPF]') +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +PATCHES=( + "${FILESDIR}"/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch + "${FILESDIR}"/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch + "${FILESDIR}"/7.4-003-fix-typo-in-usage-help.patch + "${FILESDIR}"/7.4-004-fix-the-wrong-format-specifier.patch + "${FILESDIR}"/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch + "${FILESDIR}"/7.4-006-fix-undefined-behavior-in-qsort.patch + "${FILESDIR}"/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch + "${FILESDIR}"/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch +) + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + default + + # prepare libbpf if necessary + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + rm -rf libbpf || die + ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die + fi + + # remove -Werror from libbpf (bug 887981) + sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die + + # remove -Werror from bpftool feature detection + sed -i -e 's/-Werror//g' src/Makefile.feature || die + + # remove hardcoded/unhelpful flags from bpftool + sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + CLANG="$(get_llvm_prefix -b)/bin/clang" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/dev-util/bpftool/bpftool-7.5.0.ebuild b/dev-util/bpftool/bpftool-7.5.0.ebuild new file mode 100644 index 0000000..13df87b --- /dev/null +++ b/dev-util/bpftool/bpftool-7.5.0.ebuild @@ -0,0 +1,137 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://github.com/libbpf/bpftool" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" + EGIT_SUBMODULES=(libbpf) +else + # bpftool typically vendors whatever libbpf is current at the time + # of a release, while libbpf publishes minor updates more frequently. + # Uncomment the following to bundle an updated libbpf e.g. in case of + # security or crasher bugs in libbpf and to keep the two synchronized. + # This allows us to quickly update the vendored lib with a revbump. + # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. + # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. + # LIBBPF_VERSION=1.5.0 + + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz + https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz + -> libbpf-${LIBBPF_VERSION}.tar.gz" + else + # use tarball with bundled libbpf + SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" + S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" + fi + + KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" +IUSE="caps +clang llvm" +REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" + +RDEPEND=" + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) + sys-libs/zlib:= + virtual/libelf:= +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils + clang? ( $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}[llvm_targets_BPF]') ) + !clang? ( sys-devel/bpf-toolchain ) +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + default + + # prepare libbpf if necessary + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + rm -rf libbpf || die + ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die + fi + + # remove -Werror from libbpf (bug 887981) + sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die + + # remove -Werror from bpftool feature detection + sed -i -e 's/-Werror//g' src/Makefile.feature || die + + # remove hardcoded/unhelpful flags from bpftool + sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + + if ! use clang; then + # remove bpf target & add assembly annotations to fix CO-RE feature detection + sed -i -e 's/-target bpf/-dA/' src/Makefile.feature || die + + # remove bpf target from skeleton build + sed -i -e 's/--target=bpf//g' src/Makefile || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + # which BPF compiler should we use? + if use clang; then + export CLANG="$(get_llvm_prefix -b)/bin/clang" + export LLVM_STRIP="$(get_llvm_prefix -b)/bin/llvm-strip" + else + # use bpf-toolchain + export CLANG="bpf-unknown-none-gcc" + export LLVM_STRIP="bpf-unknown-none-strip" + fi + + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/dev-util/bpftool/bpftool-9999.ebuild b/dev-util/bpftool/bpftool-9999.ebuild new file mode 100644 index 0000000..f67a385 --- /dev/null +++ b/dev-util/bpftool/bpftool-9999.ebuild @@ -0,0 +1,137 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://github.com/libbpf/bpftool" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" + EGIT_SUBMODULES=(libbpf) +else + # bpftool typically vendors whatever libbpf is current at the time + # of a release, while libbpf publishes minor updates more frequently. + # Uncomment the following to bundle an updated libbpf e.g. in case of + # security or crasher bugs in libbpf and to keep the two synchronized. + # This allows us to quickly update the vendored lib with a revbump. + # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. + # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. + # LIBBPF_VERSION=1.5.0 + + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz + https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz + -> libbpf-${LIBBPF_VERSION}.tar.gz" + else + # use tarball with bundled libbpf + SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" + S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" +IUSE="caps +clang llvm" +REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" + +RDEPEND=" + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) + sys-libs/zlib:= + virtual/libelf:= +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils + clang? ( $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}[llvm_targets_BPF]') ) + !clang? ( sys-devel/bpf-toolchain ) +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + default + + # prepare libbpf if necessary + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + rm -rf libbpf || die + ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die + fi + + # remove -Werror from libbpf (bug 887981) + sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die + + # remove -Werror from bpftool feature detection + sed -i -e 's/-Werror//g' src/Makefile.feature || die + + # remove hardcoded/unhelpful flags from bpftool + sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + + if ! use clang; then + # remove bpf target & add assembly annotations to fix CO-RE feature detection + sed -i -e 's/-target bpf/-dA/' src/Makefile.feature || die + + # remove bpf target from skeleton build + sed -i -e 's/--target=bpf//g' src/Makefile || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + # which BPF compiler should we use? + if use clang; then + export CLANG="$(get_llvm_prefix -b)/bin/clang" + export LLVM_STRIP="$(get_llvm_prefix -b)/bin/llvm-strip" + else + # use bpf-toolchain + export CLANG="bpf-unknown-none-gcc" + export LLVM_STRIP="bpf-unknown-none-strip" + fi + + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch b/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch new file mode 100644 index 0000000..c874555 --- /dev/null +++ b/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch @@ -0,0 +1,255 @@ +From 54bcb7c7fecb33d40266223d4bba49ad38e59ee3 Mon Sep 17 00:00:00 2001 +From: Sahil Siddiq +Date: Fri, 5 Apr 2024 00:52:19 +0530 +Subject: [PATCH] bpftool: Mount bpffs on provided dir instead of parent dir + +When pinning programs/objects under PATH (eg: during "bpftool prog +loadall") the bpffs is mounted on the parent dir of PATH in the +following situations: +- the given dir exists but it is not bpffs. +- the given dir doesn't exist and the parent dir is not bpffs. + +Mounting on the parent dir can also have the unintentional side- +effect of hiding other files located under the parent dir. + +If the given dir exists but is not bpffs, then the bpffs should +be mounted on the given dir and not its parent dir. + +Similarly, if the given dir doesn't exist and its parent dir is not +bpffs, then the given dir should be created and the bpffs should be +mounted on this new dir. + +Fixes: 2a36c26fe3b8 ("bpftool: Support bpffs mountpoint as pin path for prog loadall") +Signed-off-by: Sahil Siddiq +Signed-off-by: Andrii Nakryiko +Link: https://lore.kernel.org/bpf/2da44d24-74ae-a564-1764-afccf395eeec@isovalent.com/T/#t +Link: https://lore.kernel.org/bpf/20240404192219.52373-1-icegambit91@gmail.com + +Closes: https://github.com/libbpf/bpftool/issues/100 + +Changes since v1: + - Split "mount_bpffs_for_pin" into two functions. + This is done to improve maintainability and readability. + +Changes since v2: +- mount_bpffs_for_pin: rename to "create_and_mount_bpffs_dir". +- mount_bpffs_given_file: rename to "mount_bpffs_given_file". +- create_and_mount_bpffs_dir: + - introduce "dir_exists" boolean. + - remove new dir if "mnt_fs" fails. +- improve error handling and error messages. + +Changes since v3: +- Rectify function name. +- Improve error messages and formatting. +- mount_bpffs_for_file: + - Check if dir exists before block_mount check. + +Changes since v4: +- Use strdup instead of strcpy. +- create_and_mount_bpffs_dir: + - Use S_IRWXU instead of 0700. +- Improve error handling and formatting. +--- + src/common.c | 96 ++++++++++++++++++++++++++++++++++++++++++------ + src/iter.c | 2 +- + src/main.h | 3 +- + src/prog.c | 5 ++- + src/struct_ops.c | 2 +- + 5 files changed, 92 insertions(+), 16 deletions(-) + +diff --git a/src/common.c b/src/common.c +index cc6e6aae..958e92ac 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -244,29 +244,101 @@ int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type) + return fd; + } + +-int mount_bpffs_for_pin(const char *name, bool is_dir) ++int create_and_mount_bpffs_dir(const char *dir_name) + { + char err_str[ERR_MAX_LEN]; +- char *file; +- char *dir; ++ bool dir_exists; + int err = 0; + +- if (is_dir && is_bpffs(name)) ++ if (is_bpffs(dir_name)) + return err; + +- file = malloc(strlen(name) + 1); +- if (!file) { ++ dir_exists = access(dir_name, F_OK) == 0; ++ ++ if (!dir_exists) { ++ char *temp_name; ++ char *parent_name; ++ ++ temp_name = strdup(dir_name); ++ if (!temp_name) { ++ p_err("mem alloc failed"); ++ return -1; ++ } ++ ++ parent_name = dirname(temp_name); ++ ++ if (is_bpffs(parent_name)) { ++ /* nothing to do if already mounted */ ++ free(temp_name); ++ return err; ++ } ++ ++ if (access(parent_name, F_OK) == -1) { ++ p_err("can't create dir '%s' to pin BPF object: parent dir '%s' doesn't exist", ++ dir_name, parent_name); ++ free(temp_name); ++ return -1; ++ } ++ ++ free(temp_name); ++ } ++ ++ if (block_mount) { ++ p_err("no BPF file system found, not mounting it due to --nomount option"); ++ return -1; ++ } ++ ++ if (!dir_exists) { ++ err = mkdir(dir_name, S_IRWXU); ++ if (err) { ++ p_err("failed to create dir '%s': %s", dir_name, strerror(errno)); ++ return err; ++ } ++ } ++ ++ err = mnt_fs(dir_name, "bpf", err_str, ERR_MAX_LEN); ++ if (err) { ++ err_str[ERR_MAX_LEN - 1] = '\0'; ++ p_err("can't mount BPF file system on given dir '%s': %s", ++ dir_name, err_str); ++ ++ if (!dir_exists) ++ rmdir(dir_name); ++ } ++ ++ return err; ++} ++ ++int mount_bpffs_for_file(const char *file_name) ++{ ++ char err_str[ERR_MAX_LEN]; ++ char *temp_name; ++ char *dir; ++ int err = 0; ++ ++ if (access(file_name, F_OK) != -1) { ++ p_err("can't pin BPF object: path '%s' already exists", file_name); ++ return -1; ++ } ++ ++ temp_name = strdup(file_name); ++ if (!temp_name) { + p_err("mem alloc failed"); + return -1; + } + +- strcpy(file, name); +- dir = dirname(file); ++ dir = dirname(temp_name); + + if (is_bpffs(dir)) + /* nothing to do if already mounted */ + goto out_free; + ++ if (access(dir, F_OK) == -1) { ++ p_err("can't pin BPF object: dir '%s' doesn't exist", dir); ++ err = -1; ++ goto out_free; ++ } ++ + if (block_mount) { + p_err("no BPF file system found, not mounting it due to --nomount option"); + err = -1; +@@ -276,12 +348,12 @@ int mount_bpffs_for_pin(const char *name, bool is_dir) + err = mnt_fs(dir, "bpf", err_str, ERR_MAX_LEN); + if (err) { + err_str[ERR_MAX_LEN - 1] = '\0'; +- p_err("can't mount BPF file system to pin the object (%s): %s", +- name, err_str); ++ p_err("can't mount BPF file system to pin the object '%s': %s", ++ file_name, err_str); + } + + out_free: +- free(file); ++ free(temp_name); + return err; + } + +@@ -289,7 +361,7 @@ int do_pin_fd(int fd, const char *name) + { + int err; + +- err = mount_bpffs_for_pin(name, false); ++ err = mount_bpffs_for_file(name); + if (err) + return err; + +diff --git a/src/iter.c b/src/iter.c +index 6b0e5202..5c39c2ed 100644 +--- a/src/iter.c ++++ b/src/iter.c +@@ -76,7 +76,7 @@ static int do_pin(int argc, char **argv) + goto close_obj; + } + +- err = mount_bpffs_for_pin(path, false); ++ err = mount_bpffs_for_file(path); + if (err) + goto close_link; + +diff --git a/src/main.h b/src/main.h +index b8bb08d1..9eb764fe 100644 +--- a/src/main.h ++++ b/src/main.h +@@ -142,7 +142,8 @@ const char *get_fd_type_name(enum bpf_obj_type type); + char *get_fdinfo(int fd, const char *key); + int open_obj_pinned(const char *path, bool quiet); + int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type); +-int mount_bpffs_for_pin(const char *name, bool is_dir); ++int mount_bpffs_for_file(const char *file_name); ++int create_and_mount_bpffs_dir(const char *dir_name); + int do_pin_any(int argc, char **argv, int (*get_fd_by_id)(int *, char ***)); + int do_pin_fd(int fd, const char *name); + +diff --git a/src/prog.c b/src/prog.c +index 9cb42a33..4c4cf16a 100644 +--- a/src/prog.c ++++ b/src/prog.c +@@ -1778,7 +1778,10 @@ static int load_with_options(int argc, char **argv, bool first_prog_only) + goto err_close_obj; + } + +- err = mount_bpffs_for_pin(pinfile, !first_prog_only); ++ if (first_prog_only) ++ err = mount_bpffs_for_file(pinfile); ++ else ++ err = create_and_mount_bpffs_dir(pinfile); + if (err) + goto err_close_obj; + +diff --git a/src/struct_ops.c b/src/struct_ops.c +index d573f264..aa43dead 100644 +--- a/src/struct_ops.c ++++ b/src/struct_ops.c +@@ -515,7 +515,7 @@ static int do_register(int argc, char **argv) + if (argc == 1) + linkdir = GET_ARG(); + +- if (linkdir && mount_bpffs_for_pin(linkdir, true)) { ++ if (linkdir && create_and_mount_bpffs_dir(linkdir)) { + p_err("can't mount bpffs for pinning"); + return -1; + } diff --git a/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch b/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch new file mode 100644 index 0000000..2eb6e72 --- /dev/null +++ b/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch @@ -0,0 +1,38 @@ +From 06c61eccd3b8a6ff3df3e451a2a93058913124fc Mon Sep 17 00:00:00 2001 +From: jinzhiguang +Date: Sun, 7 Apr 2024 16:54:33 +0800 +Subject: [PATCH] mirror: Set DESTDIR to empty when building libbpf + +If a value is assigned to the variable DESTDIR when compiling bpftool, +this variable will be passed to libbpf's Makefile. + +In this case, libbpf's header files will be installed in an unexpected +directory, causing bpftool to be unable to find the header files. + +Signed-off-by: jinzhiguang +--- + src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index a3bc6a0..d48d22f 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -42,7 +42,7 @@ $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT) $(LIBBPF_HDRS_DI + + $(LIBBPF): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_OUTPUT)) \ +- PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers ++ DESTDIR="" PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers + + $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_DIR) + $(call QUIET_INSTALL, $@) +@@ -50,7 +50,7 @@ $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_ + + $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_BOOTSTRAP_OUTPUT)) \ +- PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ ++ DESTDIR="" PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ + ARCH= CROSS_COMPILE= CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)" $@ install_headers + + $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BOOTSTRAP_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_BOOTSTRAP_HDRS_DIR) diff --git a/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch b/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch new file mode 100644 index 0000000..fc488ac --- /dev/null +++ b/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch @@ -0,0 +1,30 @@ +From a44a93bb7ed0d8e62220b534df92ea2a678fb4b7 Mon Sep 17 00:00:00 2001 +From: Donald Hunter +Date: Wed, 17 Jul 2024 14:45:08 +0100 +Subject: [PATCH] bpftool: Fix typo in usage help + +The usage help for "bpftool prog help" contains a ° instead of the _ +symbol for cgroup/sendmsg_unix. Fix the typo. + +Fixes: 8b3cba987e6d ("bpftool: Add support for cgroup unix socket address hooks") +Signed-off-by: Donald Hunter +Signed-off-by: Daniel Borkmann +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240717134508.77488-1-donald.hunter@gmail.com +--- + src/prog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/prog.c b/src/prog.c +index 40ea743..2ff949e 100644 +--- a/src/prog.c ++++ b/src/prog.c +@@ -2489,7 +2489,7 @@ static int do_help(int argc, char **argv) + " cgroup/connect_unix | cgroup/getpeername4 | cgroup/getpeername6 |\n" + " cgroup/getpeername_unix | cgroup/getsockname4 | cgroup/getsockname6 |\n" + " cgroup/getsockname_unix | cgroup/sendmsg4 | cgroup/sendmsg6 |\n" +- " cgroup/sendmsg°unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" ++ " cgroup/sendmsg_unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" + " cgroup/getsockopt | cgroup/setsockopt | cgroup/sock_release |\n" + " struct_ops | fentry | fexit | freplace | sk_lookup }\n" + " ATTACH_TYPE := { sk_msg_verdict | sk_skb_verdict | sk_skb_stream_verdict |\n" diff --git a/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch b/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch new file mode 100644 index 0000000..19dfa0c --- /dev/null +++ b/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch @@ -0,0 +1,38 @@ +From cb035aad23cf92254d8d3c7631e5b642e6805bd1 Mon Sep 17 00:00:00 2001 +From: Zhu Jun +Date: Wed, 24 Jul 2024 04:11:20 -0700 +Subject: [PATCH] tools/bpf: Fix the wrong format specifier + +The format specifier of "unsigned int" in printf() should be "%u", not +"%d". + +Signed-off-by: Zhu Jun +Signed-off-by: Andrii Nakryiko +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240724111120.11625-1-zhujun2@cmss.chinamobile.com +--- + src/xlated_dumper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/xlated_dumper.c b/src/xlated_dumper.c +index 567f56d..d009434 100644 +--- a/src/xlated_dumper.c ++++ b/src/xlated_dumper.c +@@ -349,7 +349,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len, + + double_insn = insn[i].code == (BPF_LD | BPF_IMM | BPF_DW); + +- printf("% 4d: ", i); ++ printf("%4u: ", i); + print_bpf_insn(&cbs, insn + i, true); + + if (opcodes) { +@@ -415,7 +415,7 @@ void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end, + } + } + +- printf("%d: ", insn_off); ++ printf("%u: ", insn_off); + print_bpf_insn(&cbs, cur, true); + + if (opcodes) { diff --git a/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch b/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch new file mode 100644 index 0000000..90c3499 --- /dev/null +++ b/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch @@ -0,0 +1,47 @@ +From a0f887bbdc525006f7662f4a83e240f2c46d3418 Mon Sep 17 00:00:00 2001 +From: Kuan-Wei Chiu +Date: Sun, 8 Sep 2024 22:00:09 +0800 +Subject: [PATCH] bpftool: Fix undefined behavior caused by shifting into the sign bit + +Replace shifts of '1' with '1U' in bitwise operations within +__show_dev_tc_bpf() to prevent undefined behavior caused by shifting +into the sign bit of a signed integer. By using '1U', the operations +are explicitly performed on unsigned integers, avoiding potential +integer overflow or sign-related issues. + +Signed-off-by: Kuan-Wei Chiu +Signed-off-by: Andrii Nakryiko +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240908140009.3149781-1-visitorckw@gmail.com +--- + src/net.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/net.c b/src/net.c +index 2a51f1c..3c50fc6 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -486,9 +486,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, + if (prog_flags[i] || json_output) { + NET_START_ARRAY("prog_flags", "%s "); + for (j = 0; prog_flags[i] && j < 32; j++) { +- if (!(prog_flags[i] & (1 << j))) ++ if (!(prog_flags[i] & (1U << j))) + continue; +- NET_DUMP_UINT_ONLY(1 << j); ++ NET_DUMP_UINT_ONLY(1U << j); + } + NET_END_ARRAY(""); + } +@@ -497,9 +497,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, + if (link_flags[i] || json_output) { + NET_START_ARRAY("link_flags", "%s "); + for (j = 0; link_flags[i] && j < 32; j++) { +- if (!(link_flags[i] & (1 << j))) ++ if (!(link_flags[i] & (1U << j))) + continue; +- NET_DUMP_UINT_ONLY(1 << j); ++ NET_DUMP_UINT_ONLY(1U << j); + } + NET_END_ARRAY(""); + } diff --git a/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch b/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch new file mode 100644 index 0000000..4662581 --- /dev/null +++ b/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch @@ -0,0 +1,49 @@ +From 37e304df400c69347189449b38864705cc88b987 Mon Sep 17 00:00:00 2001 +From: Kuan-Wei Chiu +Date: Tue, 10 Sep 2024 23:02:07 +0800 +Subject: [PATCH] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) + +When netfilter has no entry to display, qsort is called with +qsort(NULL, 0, ...). This results in undefined behavior, as UBSan +reports: + +net.c:827:2: runtime error: null pointer passed as argument 1, which is declared to never be null + +Although the C standard does not explicitly state whether calling qsort +with a NULL pointer when the size is 0 constitutes undefined behavior, +Section 7.1.4 of the C standard (Use of library functions) mentions: + +"Each of the following statements applies unless explicitly stated +otherwise in the detailed descriptions that follow: If an argument to a +function has an invalid value (such as a value outside the domain of +the function, or a pointer outside the address space of the program, or +a null pointer, or a pointer to non-modifiable storage when the +corresponding parameter is not const-qualified) or a type (after +promotion) not expected by a function with variable number of +arguments, the behavior is undefined." + +To avoid this, add an early return when nf_link_info is NULL to prevent +calling qsort with a NULL pointer. + +Signed-off-by: Kuan-Wei Chiu +Signed-off-by: Andrii Nakryiko +Reviewed-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240910150207.3179306-1-visitorckw@gmail.com +--- + src/net.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/net.c b/src/net.c +index 3c50fc6..d2242d9 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -880,6 +880,9 @@ static void show_link_netfilter(void) + nf_link_count++; + } + ++ if (!nf_link_info) ++ return; ++ + qsort(nf_link_info, nf_link_count, sizeof(*nf_link_info), netfilter_link_compar); + + for (id = 0; id < nf_link_count; id++) { diff --git a/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch b/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch new file mode 100644 index 0000000..c88cbdf --- /dev/null +++ b/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch @@ -0,0 +1,48 @@ +From bf9e0609acb97d73a7ebf3e8910b0119cd943dfb Mon Sep 17 00:00:00 2001 +From: Quentin Monnet +Date: Mon, 14 Oct 2024 17:43:25 +0100 +Subject: [PATCH] mirror: Define PACKAGE at build time when trying to detect libbfd + +Feature detection from the Makefile.feature for libbfd (with the +different variants of the probe) may fail on some systems where the +bfd.h and dis-asm.h headers expect the PACKAGE or PACKAGE_VERSION macros +to be defined [0]. In the kernel tree, feature detection addresses it by +defining the PACKAGE macro when invoking the compiler [1]. Add a similar +definition for the mirror repository. + +Note that this issue has remained undetected for a while. This is +because the bfd.h included in some distributions (Debian/Ubuntu, for +example) does not contain the inclusion guard [2]. + +[0] https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/bfd-in.h;h=04e65aad5f0c235a5013513c545e57a01e96541f;hb=binutils-2_43_1#l27 +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/build/feature/Makefile?h=v6.11#n114 +[2] https://git.launchpad.net/ubuntu/+source/binutils/tree/debian/rules?h=applied/2.43.1-5#n1031 + +Reported-by: Holger Hoffstätte +Signed-off-by: Quentin Monnet +--- + src/Makefile.feature | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.feature b/src/Makefile.feature +index 131c67e..90f9e7c 100644 +--- a/src/Makefile.feature ++++ b/src/Makefile.feature +@@ -45,7 +45,7 @@ LIBBFD_PROBE += ' bfd_demangle(0, 0, 0);' + LIBBFD_PROBE += ' return 0;' + LIBBFD_PROBE += '}' + LIBBFD_PROBE_CMD = printf '%b\n' $(LIBBFD_PROBE) | \ +- $(CC) $(CFLAGS) -Wall -Werror -x c - $(1) -o /dev/null >/dev/null ++ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - $(1) -o /dev/null >/dev/null + + define libbfd_build + $(call detect,$(LIBBFD_PROBE_CMD)) +@@ -78,7 +78,7 @@ DISASSEMBLER_PROBE += ' return 0;' + DISASSEMBLER_PROBE += '}' + + DISASSEMBLER_PROBE_CMD = printf '%b\n' $(1) | \ +- $(CC) $(CFLAGS) -Wall -Werror -x c - -lbfd -lopcodes -S -o - >/dev/null ++ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - -lbfd -lopcodes -S -o - >/dev/null + define disassembler_build + $(call detect,$(DISASSEMBLER_PROBE_CMD)) + endef diff --git a/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch b/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch new file mode 100644 index 0000000..399b824 --- /dev/null +++ b/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch @@ -0,0 +1,38 @@ +From 3be8ac358900c5f57028b2b6501407a14167a9bb Mon Sep 17 00:00:00 2001 +From: Quentin Monnet +Date: Thu, 17 Oct 2024 11:22:14 +0100 +Subject: [PATCH] mirror: Always disable unused CLI arguments warning for feature probe + +In commit 8a2d7d510ccd ("mirror: Fix features detection for building +with clang") we prevented clang to error out when encountering unused +command-line arguments in the feature probes, because we do add unused +arguments for some of the probes when retrieving arguments from +llvm-config, and we don't want probes to fail because of that. + +At the time, the issue was apparent for the LLVM-based disassembler, so +we added -Wno-unused-command-line-argument when $(LLVM) was enabled, +only. We missed the case when we're building bpftool with clang instead +of gcc, without building the LLVM disassembler. Let's disable the +warning unconditionally instead to fix this case. + +Reported-by: Holger Hoffstätte +Signed-off-by: Quentin Monnet +--- + src/Makefile.feature | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/Makefile.feature b/src/Makefile.feature +index 90f9e7c..b08e7b9 100644 +--- a/src/Makefile.feature ++++ b/src/Makefile.feature +@@ -4,9 +4,7 @@ pound := \# + + CFLAGS_BACKUP := $(CFLAGS) + CFLAGS := $(EXTRA_CFLAGS) +-ifneq ($(LLVM),) +- CFLAGS += -Wno-unused-command-line-argument +-endif ++CFLAGS += -Wno-unused-command-line-argument + + ifeq ($(V),1) + LOG=$(warning $(1)) diff --git a/dev-util/bpftool/metadata.xml b/dev-util/bpftool/metadata.xml new file mode 100644 index 0000000..f61ac01 --- /dev/null +++ b/dev-util/bpftool/metadata.xml @@ -0,0 +1,20 @@ + + + + + holger@applied-asynchrony.com + Holger Hoffstätte + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Use sys-libs/libcap to enable unprivileged run support + Use llvm-core/clang instead of sys-devel/bpf-toolchain for BPF CO-RE support + Use llvm-core/llvm instead of libbfd (sys-libs/binutils-libs) for JIT disassembly + + + libbpf/bpftool + + diff --git a/dev-util/ccls/Manifest b/dev-util/ccls/Manifest new file mode 100644 index 0000000..02905dd --- /dev/null +++ b/dev-util/ccls/Manifest @@ -0,0 +1,3 @@ +DIST ccls-0.20240202.tar.gz 162283 BLAKE2B e96ae688690cfac13505e710c4b31afc5a3281bcb735d5f215b364870e0958b0b11799ab4340b74ef1530eb8d378d2b8dd7fddb1b16cbe5707073d63bce4a985 SHA512 bf30c869b985d7d6c0ecabfcc563b4983616c4f47ba743586a23441575695d87557113cdfd2603185adc454940d9244c331d9dc16444564358c910e2d61e9281 +DIST ccls-0.20240505.tar.gz 162441 BLAKE2B 881481d0d420d5e56e872271629051077c44ee8b5a6d184956ab7ae881afe0d7f6b798fd2f063904152f4b9aeadb8550ab2e1708c1ff7f3993bd97da6c0e9ee0 SHA512 1f250c4aee5d0f48886530c688581222b539b2b4fe9a11a5f9158306e85b47d2f299eccf721c171d92f83bda2b0ea90c299d393d25c0549c462f3f13decf2d6e +DIST ccls-0.20241108.tar.gz 161114 BLAKE2B 83cb61c92707eb3c08c05f36e644dea00a08e5b12baafb45477f44a806a265825788ff431e4cf115ac70f543462e9ea15500b5e8086d2194285d8101a3e036c5 SHA512 b271b175ea64eb10a052789c5527135b5aff7f9088aa20158895263262c1c93541cc4f987e7d7a73b702db0b85f9366ed57a9b38bf1e245e50f3c4e3eeed7277 diff --git a/dev-util/ccls/ccls-0.20240202.ebuild b/dev-util/ccls/ccls-0.20240202.ebuild new file mode 100644 index 0000000..94aeebc --- /dev/null +++ b/dev-util/ccls/ccls-0.20240202.ebuild @@ -0,0 +1,47 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_REPO_URI="https://github.com/MaskRay/${PN}" + +if [[ ${PV} = 9999* ]]; then + GIT_ECLASS="git-r3" + LLVM_MAX_SLOT=18 +else + LLVM_MAX_SLOT=18 +fi + +inherit cmake llvm ${GIT_ECLASS} + +DESCRIPTION="C/C++/ObjC language server" +HOMEPAGE="https://github.com/MaskRay/ccls" + +if [[ ${PV} != *9999 ]] ; then + SRC_URI="https://github.com/MaskRay/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm64 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# We only depend on Clang because of a quirk in how dependencies work +# See comment in llvm.eclass docs +DEPEND=" + dev-libs/rapidjson + +Date: Tue, 6 Aug 2024 11:41:47 +0100 +Subject: [PATCH] utils: Add `` + +utils uses `uint64_t` without including `` +which fails to build w/ GCC 15 after a change in libstdc++ [0] + +[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2 +--- a/src/utils.hh ++++ b/src/utils.hh +@@ -6,6 +6,7 @@ + #include + #include + ++#include + #include + #include + #include + diff --git a/dev-util/ccls/metadata.xml b/dev-util/ccls/metadata.xml new file mode 100644 index 0000000..b0d4a40 --- /dev/null +++ b/dev-util/ccls/metadata.xml @@ -0,0 +1,11 @@ + + + + + mattst88@gentoo.org + Matt Turner + + + MaskRay/ccls + + diff --git a/dev-util/clang-extract/Manifest b/dev-util/clang-extract/Manifest new file mode 100644 index 0000000..17c9ee9 --- /dev/null +++ b/dev-util/clang-extract/Manifest @@ -0,0 +1 @@ +DIST clang-extract-0_pre20241220.gh.tar.gz 129806 BLAKE2B ddf3dbc5c509a3483a1ac9229eab4229c227a5f5b41d25f853bdee0ffe846ff4c8731efcdbd1f853250681f2e718d5db85403762c7eba7afc5787a38cfbdf1aa SHA512 bf130d35c3170a8a3488f67173ed876196339b93cd4243e56eee3f01771badd4c96d80da88db6a267f3e55f874d2735b82da746e8276199f52ead53385c85ef6 diff --git a/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild b/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild new file mode 100644 index 0000000..3e0549f --- /dev/null +++ b/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild @@ -0,0 +1,115 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic llvm-r1 meson python-any-r1 + +DESCRIPTION="Tool to extract code content from source files" +HOMEPAGE="https://github.com/SUSE/clang-extract" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git" + inherit git-r3 +else + CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc" + SRC_URI=" + https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz + " + S="${WORKDIR}"/${PN}-${CLANG_EXTRACT_COMMIT} + + KEYWORDS="~amd64" +fi + +LICENSE="UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/zstd:= + sys-libs/zlib + virtual/libelf + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') +" +RDEPEND="${DEPEND}" +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( ${PYTHON_DEPS} ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-meson.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup + llvm-r1_pkg_setup +} + +src_prepare() { + default + + # There's no need to manually add --gcc-install-dir to Clang invocations; + # we already have this setup properly via our Clang config files in + # /etc/clang. + sed -i -e '/add_project_argument.*gcc-install-dir/d' meson.build || die + + # Testsuite makes some (bad) assumptions about layout + BUILD_DIR="${S}"/build +} + +src_configure() { + # Use whatever CC/CXX llvm-r1 found for us, as meson.build + # asserts on GCC being used. + export CC=clang + export CXX=clang++ + export PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}" + # User flags may be expecting GCC + strip-unsupported-flags + + meson_src_configure +} + +src_test() { + # These hacks are inspired by dev-util/clazy. + # + # clang-extract wants to be installed in the directory of the clang binary, + # so it can find the llvm/clang via relative paths. + # + # Setup the directories and symlink the system include dir for that. + local -x LLVM_ROOT="$(get_llvm_prefix)" + local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}" + + mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die + ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die + mkdir -p "${BUILD_DIR}${LLVM_ROOT}/bin" || die + ln -s "${BUILD_DIR}"/clang-extract "${BUILD_DIR}${LLVM_ROOT}/bin" || die + ln -s "${BUILD_DIR}"/ce-inline "${BUILD_DIR}${LLVM_ROOT}/bin" || die + + # Wrap runtest.py so we always pass -bin-path. + # + # This is gnarly but we already have to make sure it uses the + # right Python, so it was quicker to just do the bash wrapper. + mv testsuite/lib/runtest.py{,.real} || die + cat <<-EOF > testsuite/lib/runtest.py || die + #!/bin/bash + export CLANG_NO_DEFAULT_CONFIG=1 + ${EPYTHON} "${S}"/testsuite/lib/runtest.py.real \ + -bin-path "${BUILD_DIR}${LLVM_ROOT}/bin/" \ + "\$@" + EOF + chmod +x testsuite/lib/runtest.py || die + + local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}" + local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" + + meson_src_test +} diff --git a/dev-util/clang-extract/clang-extract-9999.ebuild b/dev-util/clang-extract/clang-extract-9999.ebuild new file mode 100644 index 0000000..3e0549f --- /dev/null +++ b/dev-util/clang-extract/clang-extract-9999.ebuild @@ -0,0 +1,115 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic llvm-r1 meson python-any-r1 + +DESCRIPTION="Tool to extract code content from source files" +HOMEPAGE="https://github.com/SUSE/clang-extract" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git" + inherit git-r3 +else + CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc" + SRC_URI=" + https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz + " + S="${WORKDIR}"/${PN}-${CLANG_EXTRACT_COMMIT} + + KEYWORDS="~amd64" +fi + +LICENSE="UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/zstd:= + sys-libs/zlib + virtual/libelf + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') +" +RDEPEND="${DEPEND}" +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( ${PYTHON_DEPS} ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-meson.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup + llvm-r1_pkg_setup +} + +src_prepare() { + default + + # There's no need to manually add --gcc-install-dir to Clang invocations; + # we already have this setup properly via our Clang config files in + # /etc/clang. + sed -i -e '/add_project_argument.*gcc-install-dir/d' meson.build || die + + # Testsuite makes some (bad) assumptions about layout + BUILD_DIR="${S}"/build +} + +src_configure() { + # Use whatever CC/CXX llvm-r1 found for us, as meson.build + # asserts on GCC being used. + export CC=clang + export CXX=clang++ + export PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}" + # User flags may be expecting GCC + strip-unsupported-flags + + meson_src_configure +} + +src_test() { + # These hacks are inspired by dev-util/clazy. + # + # clang-extract wants to be installed in the directory of the clang binary, + # so it can find the llvm/clang via relative paths. + # + # Setup the directories and symlink the system include dir for that. + local -x LLVM_ROOT="$(get_llvm_prefix)" + local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}" + + mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die + ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die + mkdir -p "${BUILD_DIR}${LLVM_ROOT}/bin" || die + ln -s "${BUILD_DIR}"/clang-extract "${BUILD_DIR}${LLVM_ROOT}/bin" || die + ln -s "${BUILD_DIR}"/ce-inline "${BUILD_DIR}${LLVM_ROOT}/bin" || die + + # Wrap runtest.py so we always pass -bin-path. + # + # This is gnarly but we already have to make sure it uses the + # right Python, so it was quicker to just do the bash wrapper. + mv testsuite/lib/runtest.py{,.real} || die + cat <<-EOF > testsuite/lib/runtest.py || die + #!/bin/bash + export CLANG_NO_DEFAULT_CONFIG=1 + ${EPYTHON} "${S}"/testsuite/lib/runtest.py.real \ + -bin-path "${BUILD_DIR}${LLVM_ROOT}/bin/" \ + "\$@" + EOF + chmod +x testsuite/lib/runtest.py || die + + local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}" + local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" + + meson_src_test +} diff --git a/dev-util/clang-extract/files/clang-extract-meson.patch b/dev-util/clang-extract/files/clang-extract-meson.patch new file mode 100644 index 0000000..7e25d81 --- /dev/null +++ b/dev-util/clang-extract/files/clang-extract-meson.patch @@ -0,0 +1,54 @@ +TODO: Upstream the LLVM includedir parts. +NOTE: The add_languages part is commented out as it interferes with + which LLVM we choose in the ebuild. Might be: + https://github.com/mesonbuild/meson/issues/13906. +--- a/libcextract/meson.build ++++ b/libcextract/meson.build +@@ -37,4 +37,4 @@ libcextract_sources = [ + 'ASTUnitHack.cpp' + ] + +-libcextract_static = static_library('cextract', libcextract_sources) ++libcextract_static = static_library('cextract', libcextract_sources, include_directories: llvm_incdir) +--- a/meson.build ++++ b/meson.build +@@ -61,11 +61,16 @@ foreach line : gcc_output + endforeach + + # Check if we got the gcc installation dir and add it to the project arguments. +-assert(gcc_install_dir != '', 'GCC headers dir not found. Check \'gcc -v\'') +-add_project_arguments('--gcc-install-dir=' + gcc_install_dir, language: 'cpp') ++#assert(gcc_install_dir != '', 'GCC headers dir not found. Check \'gcc -v\'') ++#add_project_arguments('--gcc-install-dir=' + gcc_install_dir, language: 'cpp') + + ########## Dependency: clang libraries ################ +-llvm_libdir = dependency('llvm', version : '>=16').get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir') ++# This is needed to lookup LLVM via CMake, per a Meson warning. ++#add_languages('c', native : false) ++llvm_dep = dependency('llvm', version : '>=16') ++llvm_bindir = llvm_dep.get_variable(cmake : 'LLVM_BINARY_DIR', configtool : 'bindir') ++llvm_incdir = llvm_dep.get_variable(cmake : 'LLVM_MAIN_INCLUDE_DIR', configtool : 'includedir') ++llvm_libdir = llvm_dep.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool : 'libdir') + + clang_dep = [] + clang_dep += cpp.find_library('clang-cpp', dirs : llvm_libdir) +@@ -80,15 +85,17 @@ subdir('libcextract') + incdir = include_directories('libcextract') + + executable('ce-inline', 'Inline.cpp', +- include_directories : incdir, ++ include_directories : [llvm_incdir, incdir], + install : true, ++ install_dir : llvm_bindir, + link_with : libcextract_static, + dependencies : [elf_dep, zlib_dep, zstd_dep] + ) + + executable('clang-extract', 'Main.cpp', +- include_directories : incdir, ++ include_directories : [llvm_incdir, incdir], + install : true, ++ install_dir : llvm_bindir, + link_with : libcextract_static, + dependencies : [elf_dep, clang_dep, zlib_dep, zstd_dep] + ) diff --git a/dev-util/clang-extract/metadata.xml b/dev-util/clang-extract/metadata.xml new file mode 100644 index 0000000..3c186ae --- /dev/null +++ b/dev-util/clang-extract/metadata.xml @@ -0,0 +1,11 @@ + + + + + sam@gentoo.org + Sam James + + + SUSE/clang-extract + + diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest new file mode 100644 index 0000000..b31e0db --- /dev/null +++ b/dev-util/clazy/Manifest @@ -0,0 +1 @@ +DIST clazy-1.13.tar.xz 434648 BLAKE2B 2659bec375c9f30021cdd86c12ab4416dfb5250706c2f6254cbd848d07e3e4f220b2a74d23390f235939ad3e5390797ea4b5398948e129a07a66a5de2d33c997 SHA512 4044bddb9e60e227ff2ab7e40c32f087a621e00c985e1706a4f4e2ace20f96cc6e78f00781f7d59da5b066aa49370c645db506e41d955409c0e146771a59ee24 diff --git a/dev-util/clazy/clazy-1.13.ebuild b/dev-util/clazy/clazy-1.13.ebuild new file mode 100644 index 0000000..98d3195 --- /dev/null +++ b/dev-util/clazy/clazy-1.13.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake llvm-r1 python-any-r1 + +DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics" +HOMEPAGE="https://apps.kde.org/clazy" +SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="amd64 arm64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + ${PYTHON_DEPS} + dev-qt/qtbase:6[network,xml] + dev-qt/qtmultimedia:6 + dev-qt/qtnetworkauth:6 + dev-qt/qtscxml:6[qml] + dev-qt/qtsvg:6 + ) +" + +PATCHES=( + # downstream patches + "${FILESDIR}"/${PN}-1.12-LIBRARY_DIRS.patch + "${FILESDIR}"/${PN}-1.12-INCLUDE_DIRS.patch + "${FILESDIR}"/${PN}-1.12-standalone-install-location.patch + "${FILESDIR}"/${PN}-1.12-clazy-install-location.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup + llvm-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \ + -i CMakeLists.txt || die +} + +src_configure() { + local -x LLVM_ROOT="$(get_llvm_prefix -d)" + + export CI_JOB_NAME_SLUG="qt6" + + cmake_src_configure +} + +src_test() { + # clazy-standalone wants to be installed in the directory of the clang binary, + # so it can find the llvm/clang via relative paths. + # Requires the standalone-install-location.patch. + # Setup the directories and symlink the system include dir for that. + local -x LLVM_ROOT="$(get_llvm_prefix -d)" + local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}" + mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die + + ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die + + # Run tests against built copy, not installed + # bug #811723 + local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}" + local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib" + + chmod +x "${BUILD_DIR}/bin/clazy" || die + + cmake_src_test +} diff --git a/dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch b/dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch new file mode 100644 index 0000000..2364182 --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch @@ -0,0 +1,42 @@ +From 6e17217d7b77a27bdf77da2c20044e89f112e9b1 Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Sun, 10 Nov 2024 17:19:56 +0100 +Subject: do not inject include dirs with installed llvm + +`string(FIND returns` returns `-1` on failure not `FALSE`. +If `_llvmSourceRoot` is equal to to first directory in `LLVM_INCLUDE_DIRS` +this would include non-existant directories. + +Signed-off-by: Paul Zander + +diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake +index b4f0b0a..eda8bb5 100644 +--- a/cmake/FindClang.cmake ++++ b/cmake/FindClang.cmake +@@ -95,8 +95,7 @@ if(CLANG_FOUND) + OUTPUT_VARIABLE _llvmSourceRoot + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +- string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) +- if (NOT _llvmIsInstalled) ++ if(NOT "${_llvmSourceRoot}" IN_LIST LLVM_INCLUDE_DIRS) + message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang") + list(APPEND CLANG_INCLUDE_DIRS + "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir +diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake +index c625eeb..1e1e902 100644 +--- a/cmake/FindLLVM.cmake ++++ b/cmake/FindLLVM.cmake +@@ -140,8 +140,7 @@ if (LLVM_FOUND) + OUTPUT_VARIABLE _llvmSourceRoot + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +- string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) +- if (NOT _llvmIsInstalled) ++ if(NOT "${_llvmSourceRoot}" IN_LIST LLVM_INCLUDE_DIRS) + list(APPEND LLVM_INCLUDE_DIRS "${LLVM_INSTALL_PREFIX}/include") + endif() + endif() +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch b/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch new file mode 100644 index 0000000..44d59ce --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch @@ -0,0 +1,33 @@ +From d04f0203febdeac38c4b085babb1183747c2edfb Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Sun, 10 Nov 2024 17:19:20 +0100 +Subject: do not inject lib dirs with installed llvm + +Including `${LLVM_INSTALL_PREFIX}/lib` in the `LINK_DIRECTORIES` only works, +when lib is the correct LIBDIR for the current arch. +Normally you would use `CMAKE_INSTALL_LIBDIR`, unless you know better. + +As a bonus we avoid duplicates. + +Signed-off-by: Paul Zander + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4215e49..9f77fb3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,7 +106,11 @@ include(ClazySources.cmake) + + include_directories(${CMAKE_BINARY_DIR}) + include_directories(${CLANG_INCLUDE_DIRS} ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/src) +-link_directories("${LLVM_INSTALL_PREFIX}/lib" ${LLVM_LIBRARY_DIRS}) ++link_directories(${LLVM_LIBRARY_DIRS}) ++ ++if(NOT "${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" IN_LIST LLVM_LIBRARY_DIRS) ++ link_directories("${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++endif() + + set(clang_tooling_refactoring_lib clangToolingRefactoring) + +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch b/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch new file mode 100644 index 0000000..651dcf2 --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch @@ -0,0 +1,25 @@ +From b5600e28b0720a9a43d20717e79ba26dae6b9359 Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Sun, 10 Nov 2024 22:22:07 +0100 +Subject: [PATCH] move clazy script to CMAKE_RUNTIME_OUTPUT_DIRECTORY + +Signed-off-by: Paul Zander + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 765083c..c7c1cea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -229,8 +229,8 @@ if (NOT CLAZY_BUILD_WITH_CLANG) + endif() + file(RELATIVE_PATH BIN_RELATIVE_LIBDIR "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}") + file(RELATIVE_PATH BIN_RELATIVE_SHAREDIR "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_DATAROOTDIR}") +- configure_file(${CMAKE_CURRENT_LIST_DIR}/clazy.cmake ${CMAKE_BINARY_DIR}/clazy @ONLY) +- install(PROGRAMS ${CMAKE_BINARY_DIR}/clazy DESTINATION bin) ++ configure_file(${CMAKE_CURRENT_LIST_DIR}/clazy.cmake ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clazy @ONLY) ++ install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clazy DESTINATION bin) + else() + install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy.bat DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(MSVC) +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch b/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch new file mode 100644 index 0000000..76ff787 --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch @@ -0,0 +1,50 @@ +From 3912afc2e9cec14299e9866014a709a55a07be2e Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Sun, 10 Nov 2024 17:20:42 +0100 +Subject: Install clazy-standalone so relative path look-up works +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fatal error: ‘stddef.h’ file not found, while using clazy-standalone Be sure the +clazy-standalone binary is located in the same folder as the +clang binary. + +Signed-off-by: Paul Zander + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9f77fb3..c67065e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -199,6 +199,12 @@ endmacro() + + set(SYMBOL_FILE Lazy.exports) + ++execute_process( ++ COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir ++ OUTPUT_VARIABLE LLVM_BIN_DIR ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++) ++ + if (NOT CLAZY_BUILD_WITH_CLANG) + set(CLAZY_MINI_AST_DUMPER_SRCS src/MiniAstDumper.cpp) + add_clang_plugin(ClazyPlugin ${CLAZY_PLUGIN_SRCS} ${CLAZY_MINI_AST_DUMPER_SRCS}) +@@ -315,9 +321,14 @@ else() + + target_link_libraries(clazy-standalone clazyPlugin) + +- install(TARGETS clazy-standalone DESTINATION bin PERMISSIONS OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) ++ install(TARGETS clazy-standalone DESTINATION ${LLVM_BIN_DIR} PERMISSIONS OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) ++ + endif() + ++set_target_properties(clazy-standalone PROPERTIES ++ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${LLVM_BIN_DIR}" ++) ++ + function(to_raw_string_literal input_string output_string) + if (MSVC) + # Work around "C2026: string too big, trailing characters truncated" +-- +2.47.0 + diff --git a/dev-util/clazy/metadata.xml b/dev-util/clazy/metadata.xml new file mode 100644 index 0000000..9d9470c --- /dev/null +++ b/dev-util/clazy/metadata.xml @@ -0,0 +1,12 @@ + + + + + kde@gentoo.org + Gentoo KDE Project + + + https://bugs.kde.org/enter_bug.cgi?product=clazy + sdk/clazy + + diff --git a/dev-util/cvise/Manifest b/dev-util/cvise/Manifest new file mode 100644 index 0000000..44d4881 --- /dev/null +++ b/dev-util/cvise/Manifest @@ -0,0 +1 @@ +DIST cvise-2.11.0.tar.gz 272016 BLAKE2B 1551cb1c8ee80cad9c4ed5846f5185432649d75f78c9d90cca93ab8e2615fa58f1bb08d43d156289592faac68343d3e021b74e0163eb92b914b16c65c0fe7422 SHA512 4c0844f1ce0596a7aed84018ecf63fbed31e7fb474d341f9947e99ee61274713ad8ae5dce619fcbc7b2acdddb950b1418989e9cd6cd6d7a2031e56226ccf9f57 diff --git a/dev-util/cvise/cvise-2.11.0.ebuild b/dev-util/cvise/cvise-2.11.0.ebuild new file mode 100644 index 0000000..f7bbe38 --- /dev/null +++ b/dev-util/cvise/cvise-2.11.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +LLVM_COMPAT=( 20 ) +inherit cmake llvm-r1 python-single-r1 + +DESCRIPTION="Super-parallel Python port of the C-Reduce" +HOMEPAGE="https://github.com/marxin/cvise/" +SRC_URI=" + https://github.com/marxin/cvise/archive/v${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/pebble[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ') + dev-util/unifdef + app-alternatives/lex +" +BDEPEND=" + ${PYTHON_DEPS} + app-alternatives/lex + test? ( + $(python_gen_cond_dep ' + dev-python/pebble[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) +" + +pkg_setup() { + python-single-r1_pkg_setup + llvm-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' -e '/CMAKE_CXX_FLAGS_REL/d' CMakeLists.txt || die + cmake_src_prepare +} + +src_test() { + cd "${BUILD_DIR}" || die + epytest +} + +src_install() { + cmake_src_install + + python_fix_shebang "${ED}"/usr/bin/cvise +} diff --git a/dev-util/cvise/metadata.xml b/dev-util/cvise/metadata.xml new file mode 100644 index 0000000..34abec5 --- /dev/null +++ b/dev-util/cvise/metadata.xml @@ -0,0 +1,11 @@ + + + + + toolchain@gentoo.org + Gentoo Toolchain Project + + + marxin/cvise + + diff --git a/dev-util/edi/Manifest b/dev-util/edi/Manifest new file mode 100644 index 0000000..f7c37e8 --- /dev/null +++ b/dev-util/edi/Manifest @@ -0,0 +1 @@ +DIST edi-0.8.0.tar.gz 1076134 BLAKE2B b422493a1786f6dd2865adfdc88d756e7ced7681d8ccfbb6d0befcf04b035435134b168752d47dc25f86b1ee59c659a23b04b392787f8863f772e90a5f6f55fb SHA512 88d4ff3f5a4c56c3de7392024022a505907b6d6a16854254f227e457157fd7abd35eff1916842c77fcd6b81d42ec2fa15deceee632bf67d22ab272f8e755215c diff --git a/dev-util/edi/edi-0.8.0-r2.ebuild b/dev-util/edi/edi-0.8.0-r2.ebuild new file mode 100644 index 0000000..1fccfdc --- /dev/null +++ b/dev-util/edi/edi-0.8.0-r2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit llvm meson xdg + +DESCRIPTION="An EFL-based IDE" +HOMEPAGE="https://www.enlightenment.org/about-edi + https://phab.enlightenment.org/w/projects/edi/ + https://github.com/Enlightenment/edi" +SRC_URI="https://github.com/Enlightenment/edi/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 GPL-3 LGPL-2.1-with-linking-exception" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="clang" + +RDEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) + >=dev-libs/efl-1.22.0[eet] + clang? ( + dev-util/bear + llvm-core/clang:= + )" +DEPEND="${RDEPEND} + dev-libs/check" +BDEPEND="virtual/libintl + virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/edi-0.8.0-meson-0.61.1-fix.patch ) + +llvm_check_deps() { + has_version "llvm-core/clang:${LLVM_SLOT}" +} + +pkg_setup() { + use clang && llvm_pkg_setup +} + +src_prepare() { + default + + # fix a QA issue with .desktop file, https://phab.enlightenment.org/T7368 + sed -i '/Version=/d' data/desktop/edi.desktop* || die + + # fix 'unexpected path' QA warning + sed -i 's|share/doc/edi/|share/doc/'${PF}'/|g' doc/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use clang bear) + $(meson_use clang libclang) + ) + + if use clang; then + emesonargs+=( + -D libclang-headerdir="$(llvm-config --includedir)" + -D libclang-libdir="$(llvm-config --libdir)" + ) + fi + + meson_src_configure +} diff --git a/dev-util/edi/edi-0.8.0-r3.ebuild b/dev-util/edi/edi-0.8.0-r3.ebuild new file mode 100644 index 0000000..b1b494f --- /dev/null +++ b/dev-util/edi/edi-0.8.0-r3.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit llvm-r2 meson xdg + +DESCRIPTION="An EFL-based IDE" +HOMEPAGE="https://www.enlightenment.org/about-edi + https://phab.enlightenment.org/w/projects/edi/ + https://github.com/Enlightenment/edi" +SRC_URI="https://github.com/Enlightenment/edi/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 GPL-3 LGPL-2.1-with-linking-exception" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="clang" + +RDEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) + >=dev-libs/efl-1.22.0[eet] + clang? ( + dev-util/bear + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}=') + )" +DEPEND="${RDEPEND} + dev-libs/check" +BDEPEND="virtual/libintl + virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/edi-0.8.0-meson-0.61.1-fix.patch ) + +llvm_check_deps() { + has_version "llvm-core/clang:${LLVM_SLOT}" +} + +pkg_setup() { + use clang && llvm-r2_pkg_setup +} + +src_prepare() { + default + + # fix a QA issue with .desktop file, https://phab.enlightenment.org/T7368 + sed -i '/Version=/d' data/desktop/edi.desktop* || die + + # fix 'unexpected path' QA warning + sed -i 's|share/doc/edi/|share/doc/'${PF}'/|g' doc/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use clang bear) + $(meson_use clang libclang) + ) + + if use clang; then + emesonargs+=( + -D libclang-headerdir="$(llvm-config --includedir)" + -D libclang-libdir="$(llvm-config --libdir)" + ) + fi + + meson_src_configure +} diff --git a/dev-util/edi/files/edi-0.8.0-meson-0.61.1-fix.patch b/dev-util/edi/files/edi-0.8.0-meson-0.61.1-fix.patch new file mode 100644 index 0000000..8b829b5 --- /dev/null +++ b/dev-util/edi/files/edi-0.8.0-meson-0.61.1-fix.patch @@ -0,0 +1,15 @@ +diff -Naur a/data/extra/templates/meson.build b/data/extra/templates/meson.build +--- a/data/extra/templates/meson.build 2020-04-29 16:40:58.000000000 +0300 ++++ b/data/extra/templates/meson.build 2022-02-23 11:27:30.271380219 +0200 +@@ -6,10 +6,9 @@ + foreach skeleton_name : skeleton_names + + custom_target('skeleton ' + skeleton_name, +- command : [tar, 'zcf', '@OUTPUT@', '-C', ++ command : [tar, 'zcf', '@OUTPUT@', '-C', + join_paths(meson.source_root(), 'data', 'extra', 'templates', 'skeletons'), + skeleton_name], +- input : join_paths('skeletons', skeleton_name), + output : skeleton_name + '.tar.gz', + install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'templates'), + install : true, diff --git a/dev-util/edi/metadata.xml b/dev-util/edi/metadata.xml new file mode 100644 index 0000000..70dc069 --- /dev/null +++ b/dev-util/edi/metadata.xml @@ -0,0 +1,15 @@ + + + + + juippis@gentoo.org + Joonas Niilola + + + + Provide integration with llvm-core/clang and + dev-util/bear for autocompletion, inline errors and + information about compilation units. + + + diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest new file mode 100644 index 0000000..23ad173 --- /dev/null +++ b/dev-util/hip/Manifest @@ -0,0 +1,15 @@ +DIST hip-5.7.1.tar.gz 553774 BLAKE2B f88c235f688d3a662ec6cb4ad7fe3f82c0015015997871609cc30ab5b2f7fcb9709a08683d77194e45a6dbbe1d24c6355b128d2ecf655f1dea3468711c64e0a3 SHA512 68fa8753725b53c999d102d254c6b1dba53af4e00d6a48db93d10213cc02eec30b4a39c66e773d4f625dd9636cf8b0c5faa05b69fac27cf5a6b19dd3ddd2b905 +DIST hip-6.1.1.tar.gz 247192 BLAKE2B c40bb483fb61b3037693f456e546046598df7e0dd81a1f1c8d222ab0d9c0752092ce85c8533bd355f883dda5ce1f32f7ff2b2a58cebac50d53e0e7f4d85ca3ae SHA512 3e6162938294a74af51bc2161ada38dc4ba19614e182238f320f2052a9025be6ea413e40f00cb80f4e86696793d6c4431e2417ea798a2330886a3f3e66aedf0d +DIST hip-6.1.2.tar.gz 247193 BLAKE2B e343bdf233752e40cdefa0c2bbd56858bbb471155045ae1adcf651ddff2ed40dc7c7069998a35e9b26324fdf1c972e13e1222406bc52ae2591c23a45611864c5 SHA512 771f6494c7ff0ddb7d22193dfdbb3fb9461f6e4be347ecb879bb84c5a01a95fb4c4d3f7a0f039265d5369f6c6a5b66949af7bc91ed220f5e81a5b15ec98a68eb +DIST hip-6.3.2.tar.gz 1486601 BLAKE2B 033a02c9b4bdcfcd8d23281df74f061e557b0027e95a76431a5b7f56922306a317d36896619bfb5106103cb34ac2369b85fd603c7dfd9e4f2a6cc1537b168f81 SHA512 839d19d47326c56ae5f44b39a2f62c215692cf9ddbc292becb3ce5b5d1784d92c98ce8f73bc1a294a2cd7c875568b38c9e2053b3646513516b31a9ab1e91d688 +DIST hip-6.3.3.tar.gz 1486598 BLAKE2B 998b28786c0b156cd1c23a01ce284206d1ad5cad1f207676b9d40994dc4f60d16a1f0804cfa287622826d78871ee19d2b5aa78dc29a69fe54ab50f08652bfd26 SHA512 70544467c5c262fab1e9415f5e77d0ec3b4635b6fa104de5d7ab2da0e2ca88fe40ce716068e50eaa17a807516cd41e2c0af22bcada3a1f7de50aa88283850e38 +DIST hip-test-6.1.1.tar.gz 1080605 BLAKE2B 7eddf648be31365479baa0cd4fd1c060a682a6b44d923cac1c4840c0768782db2fef4e5d97318ef0423be1e5c85b1a0cc6b9d324db789dad28be17f64ab38cae SHA512 0dd679c5b94a59e192bea5789f4448b53ac23c8a03b24a347758b1d70ff692483fd4aaea0b19345eb6ffb82a4492ed21958398b53ae6244a244a660dfa33412f +DIST hip-test-6.1.2.tar.gz 1080493 BLAKE2B ff501ab92c1d3207e330f5e9630e3300aa52f7c2acfae2173a964a2843952db90eea2b4ecf5db1ec6ba65d7764750b9eae3f2a9641d1a3fc71d5172e3a7264a8 SHA512 09fa4243c8b73ddbe163ff4c60f0f8f4182f1a37071e9747bf95ecdc219ba3a0407bdf1e2391481f537b223565a38f16e918667194666558a469d94f88a1e236 +DIST hip-test-6.3.2.tar.gz 1446861 BLAKE2B c82f8b52807bdae7ea32bd85cccaaea8e01fda440c36ef68603c3cac5d31032b10a21e3828702fec556fa8c262797f08cc2395e042d5db8c6ae601968d47ed8a SHA512 aa162ab73e0ef2b739a8652cdd34eb4fbef130d75ac7aaece030263d820ef0abfb124a10692937da529ac523c386ba2b8241c9a205c820b41e6b7090770653e2 +DIST hip-test-6.3.3.tar.gz 1446849 BLAKE2B 474194bd7cef54af85eab0bc8fdfbe2360a9a22ab27f9014ebbb22f03952bfc014d682e2a0cbf90fcd365b4295df266a64419deebbce38aa7b5b7af9c979cc20 SHA512 65bde402804e95a09142bc2a9866bbef14068b63d09236d70086e15c3927ef29fb75d0859a90aa4bc75ebe03f94da85284b233fb41b95246bb45d1d8fee172ed +DIST rocm-5.7.0.tar.gz 845881 BLAKE2B 08255edc1407e5ef85895336b11496319695318fce265565728ad75175b5e1dfab98f696fee2d27e60c48e862f721fad4c53118cc70b807353fff5f97ed72ac2 SHA512 72420e16c7cfe9687e030331838666dabaa43d686bdad1d109431e44db99070a2cf6dd64b59e3275019abedd6612f6008c798a79275e7225b6b122fb9f644660 +DIST rocm-clr-5.7.1.tar.gz 2008647 BLAKE2B 3db0760d6f83504e60caf88a2dd5e0bc02c7db9d6f263ad0eb2cfc79aa0f88a3699c412844a0158a796d9d02e79660287e791edad787d814eefffea4fd2298b4 SHA512 d79323481d82fc02c12a32cdcc0d14437d512af023e7737db0387b7eecb27fe6e4ae7c71d6adce57932a04bb24c880440d9dc10aeb5af11a4f2ca64d44330965 +DIST rocm-clr-6.1.1.tar.gz 2031034 BLAKE2B b0485bb015d31986f4988d1db0c029c826856e50b5bb1b58fac2097c14b3966668f1b8d41ec198889e27ac860497a8b3c081ec31d52390d5c9ff5db092bf7cce SHA512 86925e8b9a9e77b06a57daefbc7279887b4ef7c6a79c3717bc2f2d3bf29926281c60063fd17e21c65d7def520d9f579bf88f69051d053a38750ba968f69ca3fc +DIST rocm-clr-6.1.2.tar.gz 2031283 BLAKE2B d51d32a77794ea97f1a3817786c9fd6b482106b665eea6e2c9b4c11e4dce19a3486386eb5ba111554c2d82c30e2a93add7502eed5768caf3fb709fb5fbb2e71b SHA512 e97224451864efe0084c4117f54893c9624a6a9f365a0b4abad08fd9635f008dea742dc589429fbb714e1b8177d06362c0f5a741f6c4a050d0fd4d48da72d54b +DIST rocm-clr-6.3.2.tar.gz 2095677 BLAKE2B 2f1122a2058f8ba358fe48a46473f23c46a5413fef16515f103c21a8ae13bb76522fbe587cb9c9e6e3dd06f968402b6a881391823c80381c0c41072597c845ac SHA512 5bade294dc6fc60bf459bfd7124c354f2b0079167d3c8776a9e3d6d8320bb9b1a2a0770a466987e164994293024bf47de158ba207f077968dfccb7bf20fb884b +DIST rocm-clr-6.3.3.tar.gz 2095704 BLAKE2B bdb315fc9f1f9c76aa2a345bd48a600c81f3b72eb68fee8862b5e155e7519bef6f6421698a43358c6fe0200bb0b6924ff819860d9a91a5c07fc3e9d44eeb1b16 SHA512 94d2959b981b324e0dae2d06e86c72cd01fa495de081666bcec2445c02bada22aa60e94ecac0ee63e70e52275f92caeefcb6dc96a3f0fba593896be7b0d8ab42 diff --git a/dev-util/hip/files/hip-5.7.0-install.patch b/dev-util/hip/files/hip-5.7.0-install.patch new file mode 100644 index 0000000..668e24a --- /dev/null +++ b/dev-util/hip/files/hip-5.7.0-install.patch @@ -0,0 +1,13 @@ +diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt +index a472c5b7a..ac6fdc2ab 100755 +--- a/hipamd/CMakeLists.txt ++++ b/hipamd/CMakeLists.txt +@@ -396,8 +396,6 @@ if (NOT ${HIPCC_BIN_DIR} STREQUAL "") + install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.pl DESTINATION bin) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.pl DESTINATION bin) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipvars.pm DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin) + endif() + + ############################# diff --git a/dev-util/hip/files/hip-5.7.1-disable-stack-protector.patch b/dev-util/hip/files/hip-5.7.1-disable-stack-protector.patch new file mode 100644 index 0000000..49d944e --- /dev/null +++ b/dev-util/hip/files/hip-5.7.1-disable-stack-protector.patch @@ -0,0 +1,13 @@ +Disable stack-protector (which is enabled by default gentoo-hardened) in device code. +This is not required after https://github.com/llvm/llvm-project/pull/70799, but helps with older clang. +Upstream bug: https://github.com/ROCm-Developer-Tools/clr/issues/21 +--- a/hipamd/src/hiprtc/hiprtcInternal.cpp ++++ b/hipamd/src/hiprtc/hiprtcInternal.cpp +@@ -144,6 +144,7 @@ RTCCompileProgram::RTCCompileProgram(std::string name_) : RTCProgram(name_), fgp + compile_options_.push_back("-nogpuinc"); + compile_options_.push_back("-Wno-gnu-line-marker"); + compile_options_.push_back("-Wno-missing-prototypes"); ++ compile_options_.push_back("-fno-stack-protector"); + #ifdef _WIN32 + compile_options_.push_back("-target"); + compile_options_.push_back("x86_64-pc-windows-msvc"); diff --git a/dev-util/hip/files/hip-5.7.1-exec-stack.patch b/dev-util/hip/files/hip-5.7.1-exec-stack.patch new file mode 100644 index 0000000..744ca7b --- /dev/null +++ b/dev-util/hip/files/hip-5.7.1-exec-stack.patch @@ -0,0 +1,31 @@ +Upstream bug: https://github.com/ROCm-Developer-Tools/clr/issues/22 +--- a/hipamd/src/hip_embed_pch.sh ++++ b/hipamd/src/hip_embed_pch.sh +@@ -178,6 +178,7 @@ EOF + + echo "// Automatically generated script for HIP RTC." > $mcinFile + if [[ $isWindows -eq 0 ]]; then ++ echo " .section .note.GNU-stack,"",%progbits" >> $mcinFile + echo " .type __hipRTC_header,@object" >> $mcinFile + echo " .type __hipRTC_header_size,@object" >> $mcinFile + fi +--- a/hipamd/src/hiprtc/cmake/HIPRTC.cmake ++++ b/hipamd/src/hiprtc/cmake/HIPRTC.cmake +@@ -98,6 +98,7 @@ macro(generate_hiprtc_mcin HiprtcMcin HiprtcPreprocessedInput) + set(HIPRTC_TYPE_LINUX_ONLY "") + else() + set(HIPRTC_TYPE_LINUX_ONLY ++ " .section .note.GNU-stack,\"\",%progbits\n" + " .type __hipRTC_header,@object\n" + " .type __hipRTC_header_size,@object") + endif() +--- a/hipamd/src/hip_embed_pch.sh ++++ b/hipamd/src/hip_embed_pch.sh +@@ -111,6 +111,7 @@ cat >$tmp/hip_pch.h <$tmp/hip_pch.mcin < +https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0025-improve-rocclr-isa-compatibility-check.patch +https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch +--- a/hipamd/src/hip_code_object.cpp ++++ b/hipamd/src/hip_code_object.cpp +@@ -390,47 +390,123 @@ static bool getTripleTargetID(std::string bundled_co_entry_id, const void* code_ + return true; + } + +-static bool isCodeObjectCompatibleWithDevice(std::string co_triple_target_id, +- std::string agent_triple_target_id) { ++struct GfxPattern { ++ std::string root; ++ std::string suffixes; ++}; ++ ++static bool matches(const GfxPattern& p, const std::string& s) { ++ if (p.root.size() + 1 != s.size()) { ++ return false; ++ } ++ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) { ++ return false; ++ } ++ return p.suffixes.find(s[p.root.size()]) != std::string::npos; ++} ++ ++static bool isGfx900EquivalentProcessor(const std::string& processor) { ++ return matches(GfxPattern{"gfx90", "029c"}, processor); ++} ++ ++static bool isGfx900SupersetProcessor(const std::string& processor) { ++ return matches(GfxPattern{"gfx90", "0269c"}, processor); ++} ++ ++static bool isGfx1030EquivalentProcessor(const std::string& processor) { ++ return matches(GfxPattern{"gfx103", "0123456"}, processor); ++} ++ ++static bool isGfx1010EquivalentProcessor(const std::string& processor) { ++ return matches(GfxPattern{"gfx101", "0"}, processor); ++} ++ ++static bool isGfx1010SupersetProcessor(const std::string& processor) { ++ return matches(GfxPattern{"gfx101", "0123"}, processor); ++} ++ ++enum CompatibilityScore { ++ CS_EXACT_MATCH = 1 << 4, ++ CS_PROCESSOR_MATCH = 1 << 3, ++ CS_PROCESSOR_COMPATIBLE = 1 << 2, ++ CS_XNACK_SPECIALIZED = 1 << 1, ++ CS_SRAM_ECC_SPECIALIZED = 1 << 0, ++ CS_INCOMPATIBLE = 0, ++}; ++ ++static int getProcessorCompatibilityScore(const std::string& co_processor, ++ const std::string& agent_processor) { ++ if (co_processor == agent_processor) ++ return CS_PROCESSOR_MATCH; ++ ++ if (isGfx900SupersetProcessor(agent_processor)) ++ return isGfx900EquivalentProcessor(co_processor) ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; ++ ++ if (isGfx1010SupersetProcessor(agent_processor)) ++ return isGfx1010EquivalentProcessor(co_processor) ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; ++ ++ if (isGfx1030EquivalentProcessor(agent_processor)) ++ return isGfx1030EquivalentProcessor(co_processor) ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; ++ ++ return CS_INCOMPATIBLE; ++} ++ ++static int getCompatiblityScore(std::string co_triple_target_id, ++ std::string agent_triple_target_id) { + // Primitive Check +- if (co_triple_target_id == agent_triple_target_id) return true; ++ if (co_triple_target_id == agent_triple_target_id) return CS_EXACT_MATCH; + + // Parse code object triple target id + if (!consume(co_triple_target_id, std::string(AMDGCN_TARGET_TRIPLE) + '-')) { +- return false; ++ return CS_INCOMPATIBLE; + } + + std::string co_processor; + char co_sram_ecc, co_xnack; + if (!getTargetIDValue(co_triple_target_id, co_processor, co_sram_ecc, co_xnack)) { +- return false; ++ return CS_INCOMPATIBLE; + } + +- if (!co_triple_target_id.empty()) return false; ++ if (!co_triple_target_id.empty()) return CS_INCOMPATIBLE; + + // Parse agent isa triple target id + if (!consume(agent_triple_target_id, std::string(AMDGCN_TARGET_TRIPLE) + '-')) { +- return false; ++ return CS_INCOMPATIBLE; + } + + std::string agent_isa_processor; + char isa_sram_ecc, isa_xnack; + if (!getTargetIDValue(agent_triple_target_id, agent_isa_processor, isa_sram_ecc, isa_xnack)) { +- return false; ++ return CS_INCOMPATIBLE; + } + +- if (!agent_triple_target_id.empty()) return false; ++ if (!agent_triple_target_id.empty()) return CS_INCOMPATIBLE; + + // Check for compatibility +- if (agent_isa_processor != co_processor) return false; +- if (co_sram_ecc != ' ') { +- if (co_sram_ecc != isa_sram_ecc) return false; ++ int processor_score = getProcessorCompatibilityScore(co_processor, agent_isa_processor); ++ if (processor_score == CS_INCOMPATIBLE) { ++ return CS_INCOMPATIBLE; + } +- if (co_xnack != ' ') { +- if (co_xnack != isa_xnack) return false; ++ ++ int xnack_bonus; ++ if (co_xnack == ' ') { ++ xnack_bonus = 0; ++ } else if (co_xnack == isa_xnack) { ++ xnack_bonus = CS_XNACK_SPECIALIZED; ++ } else { ++ return CS_INCOMPATIBLE; + } + +- return true; ++ int sram_ecc_bonus; ++ if (co_sram_ecc == ' ') { ++ sram_ecc_bonus = 0; ++ } else if (co_sram_ecc == isa_sram_ecc) { ++ sram_ecc_bonus = CS_SRAM_ECC_SPECIALIZED; ++ } else { ++ return CS_INCOMPATIBLE; ++ } ++ ++ return processor_score + xnack_bonus + sram_ecc_bonus; + } + + // This will be moved to COMGR eventually +@@ -483,6 +559,7 @@ hipError_t CodeObject::extractCodeObjectFromFatBinary( + for (size_t i = 0; i < agent_triple_target_ids.size(); i++) { + code_objs.push_back(std::make_pair(nullptr, 0)); + } ++ std::vector compatibility_score(agent_triple_target_ids.size()); + + const auto obheader = reinterpret_cast(data); + const auto* desc = &obheader->desc[0]; +@@ -495,17 +572,19 @@ hipError_t CodeObject::extractCodeObjectFromFatBinary( + reinterpret_cast(reinterpret_cast(obheader) + desc->offset); + const size_t image_size = desc->size; + +- if (num_code_objs == 0) break; + std::string bundleEntryId{desc->bundleEntryId, desc->bundleEntryIdSize}; + + std::string co_triple_target_id; + if (!getTripleTargetID(bundleEntryId, image, co_triple_target_id)) continue; + + for (size_t dev = 0; dev < agent_triple_target_ids.size(); ++dev) { +- if (code_objs[dev].first) continue; +- if (isCodeObjectCompatibleWithDevice(co_triple_target_id, agent_triple_target_ids[dev])) { ++ if (compatibility_score[dev] >= CS_PROCESSOR_MATCH) continue; ++ int score = getCompatiblityScore(co_triple_target_id, agent_triple_target_ids[dev]); ++ if (score > compatibility_score[dev]) { ++ compatibility_score[dev] = score; ++ if (!code_objs[dev].first) ++ --num_code_objs; + code_objs[dev] = std::make_pair(image, image_size); +- --num_code_objs; + } + } + } +--- a/rocclr/device/device.cpp ++++ b/rocclr/device/device.cpp +@@ -234,10 +234,49 @@ std::string Isa::isaName() const { + return std::string(hsaIsaNamePrefix) + targetId(); + } + ++template ++static bool Contains(const std::array& arr, const T& value) { ++ return std::find(std::begin(arr), std::end(arr), value) != std::end(arr); ++} ++ ++static bool IsVersionCompatible(const Isa &codeObjectIsa, ++ const Isa &agentIsa) { ++ if (codeObjectIsa.versionMajor() == agentIsa.versionMajor() && ++ codeObjectIsa.versionMinor() == agentIsa.versionMinor()) { ++ ++ if (codeObjectIsa.versionStepping() == agentIsa.versionStepping()) { ++ return true; // exact match ++ } ++ ++ // The code object and the agent may sometimes be compatible if ++ // they differ only by stepping version. ++ if (codeObjectIsa.versionMajor() == 9 && ++ codeObjectIsa.versionMinor() == 0) { ++ const std::array gfx900_equivalent = { 0, 2, 9, 12 }; ++ const std::array gfx900_superset = { 0, 2, 6, 9, 12 }; ++ if (Contains(gfx900_equivalent, codeObjectIsa.versionStepping()) && ++ Contains(gfx900_superset, agentIsa.versionStepping())) { ++ return true; // gfx900 compatible object and agent ++ } ++ } else if (codeObjectIsa.versionMajor() == 10) { ++ if (codeObjectIsa.versionMinor() == 1) { ++ const std::array gfx1010_equivalent = { 0 }; ++ const std::array gfx1010_superset = { 0, 1, 2, 3 }; ++ if (Contains(gfx1010_equivalent, codeObjectIsa.versionStepping()) && ++ Contains(gfx1010_superset, agentIsa.versionStepping())) { ++ return true; // gfx1010 compatible object and agent ++ } ++ } else if (codeObjectIsa.versionMinor() == 3) { ++ return true; // gfx1030 compatible object and agent ++ } ++ } ++ } ++ ++ return false; ++} ++ + bool Isa::isCompatible(const Isa &codeObjectIsa, const Isa &agentIsa) { +- if (codeObjectIsa.versionMajor() != agentIsa.versionMajor() || +- codeObjectIsa.versionMinor() != agentIsa.versionMinor() || +- codeObjectIsa.versionStepping() != agentIsa.versionStepping()) ++ if (!IsVersionCompatible(codeObjectIsa, agentIsa)) + return false; + + assert(codeObjectIsa.isSrameccSupported() == agentIsa.isSrameccSupported() && diff --git a/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch b/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch new file mode 100644 index 0000000..dbafe4e --- /dev/null +++ b/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch @@ -0,0 +1,41 @@ +Backport of SWDEV-417691 - Error handling for MemoryMap OS calls. +The issue was fixed in rocclr 6.0.0. +https://github.com/ROCm/clr/commit/7a10423a44b8b353f67539dc1ae14c0b99c209b8 +--- a/rocclr/os/os_posix.cpp ++++ b/rocclr/os/os_posix.cpp +@@ -214,7 +214,7 @@ address Os::reserveMemory(address start, size_t size, size_t alignment, MemProt + MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS, 0, 0); + + // check for out of memory +- if (mem == NULL) return NULL; ++ if (mem == MAP_FAILED) return NULL; + + address aligned = alignUp(mem, alignment); + +@@ -842,7 +842,7 @@ bool Os::MemoryMapFileDesc(FileDesc fdesc, size_t fsize, size_t foffset, const v + } + + *mmap_ptr = mmap(NULL, fsize, PROT_READ, MAP_SHARED, fdesc, foffset); +- return true; ++ return (*mmap_ptr == MAP_FAILED) ? false : true; + } + + bool Os::MemoryUnmapFile(const void* mmap_ptr, size_t mmap_size) { +@@ -874,7 +874,7 @@ bool Os::MemoryMapFile(const char* fname, const void** mmap_ptr, size_t* mmap_si + + close(fd); + +- if (*mmap_ptr == nullptr) { ++ if (*mmap_ptr == MAP_FAILED) { + return false; + } + +@@ -899,7 +899,7 @@ bool Os::MemoryMapFileTruncated(const char* fname, const void** mmap_ptr, size_t + + close(fd); + +- if (*mmap_ptr == nullptr) { ++ if (*mmap_ptr == MAP_FAILED) { + return false; + } + \ No newline at end of file diff --git a/dev-util/hip/files/hip-5.7.1-fix-unaligned-access.patch b/dev-util/hip/files/hip-5.7.1-fix-unaligned-access.patch new file mode 100644 index 0000000..ae2092f --- /dev/null +++ b/dev-util/hip/files/hip-5.7.1-fix-unaligned-access.patch @@ -0,0 +1,67 @@ +Fix SIGSEGV when compiled with avx-512 instructions. + +Due to unaligned allocations, library crashes in +nontemporalMemcpy in _mm512_stream_si512 (which requires +64-aligned allocations, but used to copy default-aligned objects). + +Without this patch hipamd causes random crashes in hipMemcpy* callers +(tensile, rocBLAS, miopen, rocThrust, etc.). + +Bug: https://bugs.gentoo.org/915969 +Bug report in upstream: https://github.com/ROCm-Developer-Tools/clr/issues/18 +--- a/rocclr/device/rocm/rocvirtual.cpp ++++ b/rocclr/device/rocm/rocvirtual.cpp +@@ -2790,44 +2790,6 @@ bool VirtualGPU::createVirtualQueue(uint deviceQueueSize) + return true; + } + +-// ================================================================================================ +-__attribute__((optimize("unroll-all-loops"), always_inline)) +-static inline void nontemporalMemcpy(void* __restrict dst, const void* __restrict src, +- uint16_t size) { +- #if defined(__AVX512F__) +- for (auto i = 0u; i != size / sizeof(__m512i); ++i) { +- _mm512_stream_si512(reinterpret_cast<__m512i* __restrict&>(dst)++, +- *reinterpret_cast(src)++); +- } +- size = size % sizeof(__m512i); +- #endif +- +- #if defined(__AVX__) +- for (auto i = 0u; i != size / sizeof(__m256i); ++i) { +- _mm256_stream_si256(reinterpret_cast<__m256i* __restrict&>(dst)++, +- *reinterpret_cast(src)++); +- } +- size = size % sizeof(__m256i); +- #endif +- +- for (auto i = 0u; i != size / sizeof(__m128i); ++i) { +- _mm_stream_si128(reinterpret_cast<__m128i* __restrict&>(dst)++, +- *(reinterpret_cast(src)++)); +- } +- size = size % sizeof(__m128i); +- +- for (auto i = 0u; i != size / sizeof(long long); ++i) { +- _mm_stream_si64(reinterpret_cast(dst)++, +- *reinterpret_cast(src)++); +- } +- size = size % sizeof(long long); +- +- for (auto i = 0u; i != size / sizeof(int); ++i) { +- _mm_stream_si32(reinterpret_cast(dst)++, +- *reinterpret_cast(src)++); +- } +-} +- + // ================================================================================================ + bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, + const amd::Kernel& kernel, const_address parameters, void* eventHandle, +@@ -3096,7 +3058,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, + argBuffer = reinterpret_cast
(allocKernArg(gpuKernel.KernargSegmentByteSize(), + gpuKernel.KernargSegmentAlignment())); + // Load all kernel arguments +- nontemporalMemcpy(argBuffer, parameters, ++ memcpy(argBuffer, parameters, + std::min(gpuKernel.KernargSegmentByteSize(), + signature.paramsSize())); + } diff --git a/dev-util/hip/files/hip-5.7.1-no_asan_doc.patch b/dev-util/hip/files/hip-5.7.1-no_asan_doc.patch new file mode 100644 index 0000000..40de416 --- /dev/null +++ b/dev-util/hip/files/hip-5.7.1-no_asan_doc.patch @@ -0,0 +1,17 @@ +Donot install -asan documents. + +Reference: +https://github.com/RadeonOpenCompute/llvm-project/commit/e782e09f7b113a0f896c6cec7240d411aca1d73f +https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/61 + +--- a/hipamd/packaging/CMakeLists.txt 2023-11-18 23:25:45.000000000 +0800 ++++ b/hipamd/packaging/CMakeLists.txt 2023-11-18 23:27:27.230354665 +0800 +@@ -36,8 +36,6 @@ + ###Set License#### + set(CPACK_RESOURCE_FILE_LICENSE ${hip_SOURCE_DIR}/LICENSE.txt) + install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) +-# install license file in share/doc/hip-asan folder +-install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan COMPONENT asan) + set(CPACK_RPM_PACKAGE_LICENSE "MIT") + #Begin binary files install + if(HIP_PLATFORM STREQUAL "amd" ) diff --git a/dev-util/hip/files/hip-6.1.0-install.patch b/dev-util/hip/files/hip-6.1.0-install.patch new file mode 100644 index 0000000..416663f --- /dev/null +++ b/dev-util/hip/files/hip-6.1.0-install.patch @@ -0,0 +1,20 @@ +These files already installed by hipcc, which is a runtime dep +--- a/hipamd/CMakeLists.txt ++++ b/hipamd/CMakeLists.txt +@@ -401,16 +401,7 @@ if (NOT ${HIPCC_BIN_DIR} STREQUAL "") + set(hipcc_bin ${hipcc_bin}.exe) + set(hipconfig_bin ${hipconfig_bin}.exe) + endif() +- if(EXISTS ${hipcc_bin} AND EXISTS ${hipconfig_bin}) +- install(PROGRAMS ${hipcc_bin} DESTINATION bin) +- install(PROGRAMS ${hipconfig_bin} DESTINATION bin) +- endif() + endif() +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.pl DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.pl DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipvars.pm DESTINATION bin) + if(WIN32) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin) \ No newline at end of file diff --git a/dev-util/hip/files/hip-6.1.1-fix-musl.patch b/dev-util/hip/files/hip-6.1.1-fix-musl.patch new file mode 100644 index 0000000..424cd0d --- /dev/null +++ b/dev-util/hip/files/hip-6.1.1-fix-musl.patch @@ -0,0 +1,24 @@ +Fix "basename" and "__cpu_mask" definitions for musl + +Upstream PR: https://github.com/ROCm/clr/pull/83 +--- a/rocclr/os/os.hpp ++++ b/rocclr/os/os.hpp +@@ -29,6 +29,7 @@ + + #if defined(__linux__) + #include ++#include + #endif + + #ifdef _WIN32 +@@ -377,6 +378,10 @@ ALWAYSINLINE address Os::currentStackPtr() { + + #if defined(__linux__) + ++#ifndef __GLIBC__ ++typedef unsigned long int __cpu_mask; ++#endif ++ + inline void Os::ThreadAffinityMask::init() { CPU_ZERO(&mask_); } + + inline void Os::ThreadAffinityMask::set(uint cpu) { CPU_SET(cpu, &mask_); } diff --git a/dev-util/hip/files/hip-6.2.4-libcxx.patch b/dev-util/hip/files/hip-6.2.4-libcxx.patch new file mode 100644 index 0000000..9f11bae --- /dev/null +++ b/dev-util/hip/files/hip-6.2.4-libcxx.patch @@ -0,0 +1,25 @@ +Fix for: class template specialization of '__numeric_type' not in a namespace enclosing '__hip' + +Backports https://github.com/ROCm/clr/pull/109 +--- a/hipamd/include/hip/amd_detail/amd_math_functions.h ++++ b/hipamd/include/hip/amd_detail/amd_math_functions.h +@@ -41,19 +41,6 @@ THE SOFTWARE. + #include + #endif // !defined(__HIPCC_RTC__) + +-#if _LIBCPP_VERSION && __HIP__ +-namespace std { +-template <> +-struct __numeric_type<_Float16> +-{ +- static _Float16 __test(_Float16); +- +- typedef _Float16 type; +- static const bool value = true; +-}; +-} +-#endif // _LIBCPP_VERSION +- + #pragma push_macro("__DEVICE__") + #pragma push_macro("__RETURN_TYPE") + diff --git a/dev-util/hip/files/hip-6.3.0-clr-fix-libcxx.patch b/dev-util/hip/files/hip-6.3.0-clr-fix-libcxx.patch new file mode 100644 index 0000000..3052e25 --- /dev/null +++ b/dev-util/hip/files/hip-6.3.0-clr-fix-libcxx.patch @@ -0,0 +1,30 @@ +Fix compilation with libc++ (ROCM/clr part) +--- a/hipamd/include/hip/amd_detail/amd_hip_runtime.h ++++ b/hipamd/include/hip/amd_detail/amd_hip_runtime.h +@@ -386,15 +386,26 @@ hc_get_workitem_absolute_id(int dim) + #pragma push_macro("__CUDA__") + #define __CUDA__ + #include <__clang_cuda_math_forward_declares.h> ++// __clang_cuda_complex_builtins wants ::max ++#include <__clang_hip_math.h> + #include <__clang_cuda_complex_builtins.h> + // Workaround for using libc++ with HIP-Clang. + // The following headers requires clang include path before standard C++ include path. + // However libc++ include path requires to be before clang include path. + // To workaround this, we pass -isystem with the parent directory of clang include + // path instead of the clang include path itself. ++ ++// libc++: transitively includes , which uses __local ++#define ORIGINAL__LOCAL __local ++#undef __local ++ + #include + #include + #include ++ ++#define __local ORIGINAL__LOCAL ++#undef ORIGINAL__LOCAL ++ + #undef __CUDA__ + #pragma pop_macro("__CUDA__") + #endif // !_OPENMP || __HIP_ENABLE_CUDA_WRAPPER_FOR_OPENMP__ diff --git a/dev-util/hip/files/hip-6.3.0-hip-fix-libcxx.patch b/dev-util/hip/files/hip-6.3.0-hip-fix-libcxx.patch new file mode 100644 index 0000000..01409cb --- /dev/null +++ b/dev-util/hip/files/hip-6.3.0-hip-fix-libcxx.patch @@ -0,0 +1,27 @@ +Fix compilation with libc++ (ROCm/HIP part) +--- a/include/hip/hip_runtime.h ++++ b/include/hip/hip_runtime.h +@@ -49,10 +49,6 @@ THE SOFTWARE. + #include + #include + #include +- +-#if __cplusplus > 199711L +-#include +-#endif + #endif // !defined(__HIPCC_RTC__) + + #include +@@ -67,6 +63,12 @@ THE SOFTWARE. + #endif + + #if !defined(__HIPCC_RTC__) ++// libc++ transitively includes thread->string_view->cuda_wrappers/algorithm, ++// which uses __host__, which is included via hip runtime above ++#if __cplusplus > 199711L ++#include ++#endif ++ + #include + #include + #endif // !defined(__HIPCC_RTC__) diff --git a/dev-util/hip/files/hip-6.3.0-install.patch b/dev-util/hip/files/hip-6.3.0-install.patch new file mode 100644 index 0000000..40b88f4 --- /dev/null +++ b/dev-util/hip/files/hip-6.3.0-install.patch @@ -0,0 +1,12 @@ +hipcc files are already installed by dev-util/hipcc, which is a runtime dep +--- a/hipamd/CMakeLists.txt ++++ b/hipamd/CMakeLists.txt +@@ -393,7 +393,7 @@ endif() + install(FILES ${PROJECT_BINARY_DIR}/include/hip/hip_version.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip) + +-if (NOT ${HIPCC_BIN_DIR} STREQUAL "") ++if (INSTALL_HIPCC AND NOT ${HIPCC_BIN_DIR} STREQUAL "") + file(TO_CMAKE_PATH "${HIPCC_BIN_DIR}" HIPCC_BIN_DIR) + if(EXISTS ${HIPCC_BIN_DIR}) + install(PROGRAMS ${HIPCC_BIN_DIR}/${HIPCC_EXECUTABLE} DESTINATION bin) diff --git a/dev-util/hip/files/hip-6.3.0-no-isystem-usr-include.patch b/dev-util/hip/files/hip-6.3.0-no-isystem-usr-include.patch new file mode 100644 index 0000000..973de08 --- /dev/null +++ b/dev-util/hip/files/hip-6.3.0-no-isystem-usr-include.patch @@ -0,0 +1,17 @@ +Prevent HIP targets from adding -isystem /usr/include, which breaks +--- a/hipamd/hip-config-amd.cmake.in ++++ b/hipamd/hip-config-amd.cmake.in +@@ -135,13 +135,11 @@ set_target_properties(hip::host PROPERTIES + + set_target_properties(hip::amdhip64 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +- INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + if(NOT WIN32) + set_target_properties(hip::device PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +- INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + endif() + diff --git a/dev-util/hip/files/hip-test-5.7.0-rocm_agent_enumerator-location.patch b/dev-util/hip/files/hip-test-5.7.0-rocm_agent_enumerator-location.patch new file mode 100644 index 0000000..1d96721 --- /dev/null +++ b/dev-util/hip/files/hip-test-5.7.0-rocm_agent_enumerator-location.patch @@ -0,0 +1,15 @@ +In Gentoo rocm_agent_enumerator is installed by rocminfo and is in PATH. + +--- catch/CMakeLists.txt~ 2023-11-18 13:56:08.000000000 +0800 ++++ catch/CMakeLists.txt 2023-11-18 13:59:28.136170638 +0800 +@@ -182,9 +182,8 @@ + # rocm_agent_enumerator + if(NOT DEFINED OFFLOAD_ARCH_STR + AND NOT DEFINED ENV{HCC_AMDGPU_TARGET} +- AND EXISTS "${ROCM_PATH}/bin/rocm_agent_enumerator" + AND HIP_PLATFORM STREQUAL "amd" AND UNIX) +- execute_process(COMMAND ${ROCM_PATH}/bin/rocm_agent_enumerator ++ execute_process(COMMAND rocm_agent_enumerator + OUTPUT_VARIABLE HIP_GPU_ARCH + RESULT_VARIABLE ROCM_AGENT_ENUM_RESULT) + # Trim out gfx000 diff --git a/dev-util/hip/files/hip-test-5.7.1-remove-incompatible-flag.patch b/dev-util/hip/files/hip-test-5.7.1-remove-incompatible-flag.patch new file mode 100644 index 0000000..02aa12f --- /dev/null +++ b/dev-util/hip/files/hip-test-5.7.1-remove-incompatible-flag.patch @@ -0,0 +1,28 @@ +https://github.com/ROCm/hip-tests/pull/443 + +From cb0140843a162f69c454e91cd994524423b39b8c Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Sun, 10 Dec 2023 21:57:14 +0800 +Subject: [PATCH] -fallow-half-arguments-and-returns is not recognized by clang + +Reference: https://reviews.llvm.org/D145345 +Issue: https://github.com/ROCm/HIP/issues/3178 +Signed-off-by: Yiyang Wu +--- + catch/unit/deviceLib/CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/catch/unit/deviceLib/CMakeLists.txt b/catch/unit/deviceLib/CMakeLists.txt +index 0645def..3662cbd 100644 +--- catch/unit/deviceLib/CMakeLists.txt ++++ catch/unit/deviceLib/CMakeLists.txt +@@ -171,7 +171,6 @@ if(${ARCH_CHECK} GREATER_EQUAL 0) + set_source_files_properties(unsafeAtomicAdd_NonCoherent_withunsafeflag.cc PROPERTIES COMPILE_OPTIONS "-munsafe-fp-atomics") + set_source_files_properties(unsafeAtomicAdd_Coherent_withnounsafeflag.cc PROPERTIES COMPILE_OPTIONS "-mno-unsafe-fp-atomics") + set_source_files_properties(unsafeAtomicAdd_NonCoherent_withnounsafeflag.cc PROPERTIES COMPILE_OPTIONS "-mno-unsafe-fp-atomics") +- set_source_files_properties(hipMathFunctions.cc PROPERTIES COMPILE_FLAGS "-Xclang -fallow-half-arguments-and-returns") + file(GLOB AtomicAdd_files *AtomicAdd_*_*.cc) + set_property(SOURCE ${AtomicAdd_files} PROPERTY COMPILE_FLAGS --save-temps) + file(GLOB unsafeAtomicAdd_files *unsafeAtomicAdd_*_*.cc) +-- +2.42.0 diff --git a/dev-util/hip/files/hip-test-6.0.2-hipcc-system-install.patch b/dev-util/hip/files/hip-test-6.0.2-hipcc-system-install.patch new file mode 100644 index 0000000..bf14393 --- /dev/null +++ b/dev-util/hip/files/hip-test-6.0.2-hipcc-system-install.patch @@ -0,0 +1,43 @@ +In Gentoo rocm_agent_enumerator is installed by rocminfo and is in PATH. + +Index: catch/CMakeLists.txt +=================================================================== +--- catch.orig/CMakeLists.txt ++++ catch/CMakeLists.txt +@@ -55,9 +55,9 @@ endif() + message(STATUS "HIP_PATH: ${HIP_PATH}") + message(STATUS "ROCM_PATH: ${ROCM_PATH}") + +-set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc${EXT}") +-set(CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc${EXT}") +-set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig${EXT}") ++set(CMAKE_CXX_COMPILER "hipcc${EXT}") ++set(CMAKE_C_COMPILER "hipcc${EXT}") ++set(HIPCONFIG_EXECUTABLE "hipconfig${EXT}") + execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE HIP_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) +@@ -183,9 +183,8 @@ message(STATUS "CMAKE HIP ARCHITECTURES: + # OFFLOAD_ARCH_STR + # rocm_agent_enumerator + if(NOT DEFINED OFFLOAD_ARCH_STR +- AND EXISTS "${ROCM_PATH}/bin/rocm_agent_enumerator" + AND HIP_PLATFORM STREQUAL "amd" AND UNIX) +- execute_process(COMMAND "${ROCM_PATH}/bin/rocm_agent_enumerator" ++ execute_process(COMMAND "rocm_agent_enumerator" + OUTPUT_VARIABLE HIP_GPU_ARCH + RESULT_VARIABLE ROCM_AGENT_ENUM_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) +Index: catch/hipTestMain/hip_test_context.cc +=================================================================== +--- catch.orig/hipTestMain/hip_test_context.cc ++++ catch/hipTestMain/hip_test_context.cc +@@ -37,7 +37,7 @@ std::string TestContext::substringFound( + + std::string TestContext::getCurrentArch() { + #if HT_LINUX +- const char* cmd = "/opt/rocm/bin/rocm_agent_enumerator | sort -u | xargs | sed -e 's/ /;/g'"; ++ const char* cmd = "rocm_agent_enumerator | sort -u | xargs | sed -e 's/ /;/g'"; + std::array buffer; + std::string result; + std::unique_ptr pipe(popen(cmd, "r"), pclose); diff --git a/dev-util/hip/files/hip-test-6.1.0-disable-hipKerArgOptimization.patch b/dev-util/hip/files/hip-test-6.1.0-disable-hipKerArgOptimization.patch new file mode 100644 index 0000000..cb65eba --- /dev/null +++ b/dev-util/hip/files/hip-test-6.1.0-disable-hipKerArgOptimization.patch @@ -0,0 +1,24 @@ +Those tests requires >=clang-18 to support -amdgpu-kernarg-preload-count +index afdf8c4..28b0198 100644 +--- a/unit/module/CMakeLists.txt ++++ b/unit/module/CMakeLists.txt +@@ -41,9 +41,6 @@ add_custom_target(copyKernel.s + -I${CMAKE_CURRENT_SOURCE_DIR}/../../include --rocm-path=${ROCM_PATH}) + + if(UNIX) +-set(TEST_SRC +- ${TEST_SRC} +- hipKerArgOptimization.cc) + + add_custom_target(copiousArgKernel.code + COMMAND ${CMAKE_CXX_COMPILER} --genco ${OFFLOAD_ARCH_STR} +@@ -106,8 +103,4 @@ hip_add_exe_to_target(NAME ModuleTest + TEST_TARGET_NAME build_tests COMMON_SHARED_SRC ${COMMON_SHARED_SRC}) + + add_dependencies(build_tests copyKernel.code copyKernel.s) +-if(UNIX) +-add_dependencies(build_tests copiousArgKernel.code copiousArgKernel0.code copiousArgKernel1.code copiousArgKernel2.code +-copiousArgKernel3.code copiousArgKernel16.code copiousArgKernel17.code) + endif() +-endif() +\ No newline at end of file diff --git a/dev-util/hip/files/hip-test-6.1.1-fix-musl.patch b/dev-util/hip/files/hip-test-6.1.1-fix-musl.patch new file mode 100644 index 0000000..c3f3e45 --- /dev/null +++ b/dev-util/hip/files/hip-test-6.1.1-fix-musl.patch @@ -0,0 +1,159 @@ +Fix musl errors: +* reinterpret_cast from 'std::nullptr_t' to 'void **' is not allowed +* error.h is GNU extension + +Upstream PR: https://github.com/ROCm/hip-tests/pull/463 +--- a/unit/rtc/headers/printf_common.h ++++ b/unit/rtc/headers/printf_common.h +@@ -30,7 +30,6 @@ THE SOFTWARE. + #if defined(_WIN32) + #include + #else +-#include + #include + #endif + +@@ -110,7 +109,7 @@ struct CaptureStream { + saved_fd = dup(orig_fd); + + if ((temp_fd = mkstemp(tempname)) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } +@@ -118,11 +117,11 @@ struct CaptureStream { + void Begin() { + fflush(nullptr); + if (dup2(temp_fd, orig_fd) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + if (close(temp_fd) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } +@@ -130,11 +129,11 @@ struct CaptureStream { + void End() { + fflush(nullptr); + if (dup2(saved_fd, orig_fd) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + if (close(saved_fd) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } +@@ -148,7 +147,7 @@ struct CaptureStream { + + ~CaptureStream() { + if (remove(tempname) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } +--- a/unit/memory/hipMemRangeGetAttributes_old.cc ++++ b/unit/memory/hipMemRangeGetAttributes_old.cc +@@ -268,7 +268,7 @@ TEST_CASE("Unit_hipMemRangeGetAttributes_NegativeTst") { + // Passing NULL as first parameter + SECTION("Passing NULL as first parameter") { + if (!CheckError(hipMemRangeGetAttributes( +- reinterpret_cast(NULL), ++ static_cast(NULL), + reinterpret_cast(dataSizes), + AttrArr, 4, Hmm, MEM_SIZE), + __LINE__)) { +--- a/unit/occupancy/hipOccupancyMaxActiveBlocksPerMultiprocessor_old.cc ++++ b/unit/occupancy/hipOccupancyMaxActiveBlocksPerMultiprocessor_old.cc +@@ -40,7 +40,7 @@ TEST_CASE("Unit_hipOccupancyMaxActiveBlocksPerMultiprocessor_Negative") { + ret = hipOccupancyMaxActiveBlocksPerMultiprocessor(NULL, f1, blockSize, 0); + REQUIRE(ret != hipSuccess); + +- ret = hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlock, NULL, blockSize, 0); ++ ret = hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlock, static_cast(NULL), blockSize, 0); + REQUIRE(ret != hipSuccess); + + ret = hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlock, f1, 0, 0); +--- a/unit/occupancy/hipOccupancyMaxPotentialBlockSize_old.cc ++++ b/unit/occupancy/hipOccupancyMaxPotentialBlockSize_old.cc +@@ -37,7 +37,7 @@ TEST_CASE("Unit_hipOccupancyMaxPotentialBlockSize_Negative") { + + #ifndef __HIP_PLATFORM_NVIDIA__ + // nvcc doesnt support kernelfunc(NULL) for api +- ret = hipOccupancyMaxPotentialBlockSize(&gridSize, &blockSize, NULL, 0, 0); ++ ret = hipOccupancyMaxPotentialBlockSize(&gridSize, &blockSize, static_cast(NULL), 0, 0); + REQUIRE(ret != hipSuccess); + #endif + } +--- a/unit/occupancy/hipOccupancyMaxActiveBlocksPerMultiprocessor.cc ++++ b/unit/occupancy/hipOccupancyMaxActiveBlocksPerMultiprocessor.cc +@@ -48,7 +48,7 @@ TEST_CASE("Unit_hipOccupancyMaxActiveBlocksPerMultiprocessor_Negative_Parameters + blockSize); + + SECTION("Kernel function is NULL") { +- HIP_CHECK_ERROR(hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, NULL, blockSize, 0), ++ HIP_CHECK_ERROR(hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, static_cast(NULL), blockSize, 0), + hipErrorInvalidDeviceFunction); + } + } +--- a/unit/kernel/printf_common.h ++++ b/unit/kernel/printf_common.h +@@ -24,7 +24,6 @@ THE SOFTWARE. + #define _STRESSTEST_PRINTF_COMMON_H_ + + #include +-#include + #include + #include + #include +@@ -47,17 +46,17 @@ struct CaptureStream { + saved_fd = dup(orig_fd); + + if ((temp_fd = mkstemp(tempname)) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + + fflush(nullptr); + if (dup2(temp_fd, orig_fd) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + if (close(temp_fd) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } +@@ -67,11 +66,11 @@ struct CaptureStream { + return; + fflush(nullptr); + if (dup2(saved_fd, orig_fd) == -1) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + if (close(saved_fd) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + saved_fd = -1; +@@ -90,7 +89,7 @@ struct CaptureStream { + ~CaptureStream() { + restoreStream(); + if (remove(tempname) != 0) { +- error(0, errno, "Error"); ++ fprintf(stderr, "Error: %s\n", strerror(errno)); + assert(false); + } + } diff --git a/dev-util/hip/files/hip-test-6.3.0-hipcc-system-install.patch b/dev-util/hip/files/hip-test-6.3.0-hipcc-system-install.patch new file mode 100644 index 0000000..291da5a --- /dev/null +++ b/dev-util/hip/files/hip-test-6.3.0-hipcc-system-install.patch @@ -0,0 +1,12 @@ +In Gentoo rocm_agent_enumerator is installed by rocminfo and is in PATH. +--- a/hipTestMain/hip_test_context.cc ++++ b/hipTestMain/hip_test_context.cc +@@ -37,7 +37,7 @@ std::string TestContext::substringFound( + + std::string TestContext::getCurrentArch() { + #if HT_LINUX +- const char* cmd = "/opt/rocm/bin/rocm_agent_enumerator | sort -u | xargs | sed -e 's/ /;/g'"; ++ const char* cmd = "rocm_agent_enumerator | sort -u | xargs | sed -e 's/ /;/g'"; + std::array buffer; + std::string result; + std::unique_ptr pipe(popen(cmd, "r"), pclose); diff --git a/dev-util/hip/hip-5.7.1-r2.ebuild b/dev-util/hip/hip-5.7.1-r2.ebuild new file mode 100644 index 0000000..c0fd94a --- /dev/null +++ b/dev-util/hip/hip-5.7.1-r2.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +inherit cmake docs flag-o-matic llvm rocm + +LLVM_MAX_SLOT=17 + +TEST_PV=5.7.0 # No hip-test-5.7.1 release + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/hipamd" +SRC_URI="https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz )" + +KEYWORDS="~amd64" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +RESTRICT="!test? ( test )" +IUSE="debug test" + +DEPEND=" + =dev-util/rocminfo-5* + llvm-core/clang:${LLVM_MAX_SLOT} + dev-libs/rocm-comgr:${SLOT} + >=dev-libs/rocr-runtime-5.6 + "${ED}"/usr/include/rocm-core/rocm_version.h || die +#pragma once +#define ROCM_VERSION_MAJOR $(ver_cut 1) +#define ROCM_VERSION_MINOR $(ver_cut 2) +#define ROCM_VERSION_PATCH $(ver_cut 3) +#define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" +EOF + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + rm "${ED}/usr/include/hip/hcc_detail" || die + + # files already installed by hipcc, which is a runtime dep + rm "${ED}/usr/bin/hipconfig.pl" || die + rm "${ED}/usr/bin/hipcc.pl" || die + rm "${ED}/usr/bin/hipcc" || die + rm "${ED}/usr/bin/hipconfig" || die + rm "${ED}/usr/bin/hipvars.pm" || die +} diff --git a/dev-util/hip/hip-6.1.1.ebuild b/dev-util/hip/hip-6.1.1.ebuild new file mode 100644 index 0000000..55dcd53 --- /dev/null +++ b/dev-util/hip/hip-6.1.1.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +LLVM_COMPAT=( 20 ) + +inherit cmake docs flag-o-matic llvm-r1 rocm + +TEST_PV=${PV} + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/clr" +SRC_URI=" + https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( + https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> hip-test-${TEST_PV}.tar.gz + ) +" +S="${WORKDIR}/clr-rocm-${PV}/" +TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + || ( hip opencl ) + ^^ ( video_cards_amdgpu video_cards_nvidia ) +" + +DEPEND=" + video_cards_amdgpu? ( + >=dev-util/rocminfo-5 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + dev-libs/rocm-comgr:${SLOT} + dev-libs/rocr-runtime:${SLOT} + ) + video_cards_nvidia? ( + dev-libs/hipother:${SLOT} + ) + x11-base/xorg-proto + virtual/opengl +" +BDEPEND=" + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + ) +" +RDEPEND="${DEPEND} + llvm-core/clang-runtime:= + opencl? ( + !dev-libs/opencl-icd-loader + !dev-libs/rocm-opencl-runtime + !dev-util/clinfo + !dev-util/opencl-headers + ) + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + >=dev-libs/rocm-device-libs-${PV} + >=dev-libs/roct-thunk-interface-5 + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch" + "${FILESDIR}/${PN}-6.1.0-install.patch" + "${FILESDIR}/${PN}-6.1.1-fix-musl.patch" +) + +hip_test_wrapper() { + local CMAKE_USE_DIR="${TEST_S}" + local BUILD_DIR="${TEST_S}_build" + cd "${TEST_S}" || die + "${@}" +} + +src_prepare() { + # NOTE We do this head stand to safe the patch size. + # NOTE Adjust when we drop 5.7.1 + sed \ + -e 's:kAmdgcnTargetTriple:AMDGCN_TARGET_TRIPLE:g' \ + -i hipamd/src/hip_code_object.cpp || die + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + sed \ + -e 's:AMDGCN_TARGET_TRIPLE:kAmdgcnTargetTriple:g' \ + -i hipamd/src/hip_code_object.cpp || die + + # hipamd is itself built by cmake, and should never provide a + # FindHIP.cmake module. But the reality is some package relies on it. + # Set HIP and HIP Clang paths directly, don't search using heuristics + sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \ + -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \ + -i "${WORKDIR}/HIP-rocm-${PV}/cmake/FindHIP.cmake" || die + + cmake_src_prepare + + # With Clang>17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + if [ "$LLVM_SLOT" -le "17" ]; then + sed -e "s/-mllvm=-amdgpu-early-inline-all=true //" -i hipamd/hip-config-amd.cmake || die + sed -e "s/-mllvm=-amdgpu-early-inline-all=true;//" -i "${WORKDIR}/HIP-rocm-${PV}/hip-lang-config.cmake.in" + fi + + if use test; then + local PATCHES=( + "${FILESDIR}"/hip-test-6.0.2-hipcc-system-install.patch + "${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch + "${FILESDIR}"/hip-test-6.1.0-disable-hipKerArgOptimization.patch + "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch + ) + hip_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/858383 + # https://github.com/ROCm/clr/issues/64 + # + # Do not trust it for LTO either + append-flags -fno-strict-aliasing + filter-lto + + use debug && CMAKE_BUILD_TYPE="Debug" + + # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382 + # See also: https://github.com/gentoo/gentoo/pull/29097 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)" + -DCMAKE_SKIP_RPATH=ON + -D__HIP_ENABLE_PCH="no" + + -DCLR_BUILD_HIP="$(usex hip)" + -DCLR_BUILD_OCL="$(usex opencl)" + + -DHIP_COMMON_DIR="${WORKDIR}/HIP-rocm-${PV}" + -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin" + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API="no" + -DFILE_REORG_BACKWARD_COMPATIBILITY="no" + + -DOpenGL_GL_PREFERENCE="GLVND" + -DCMAKE_DISABLE_FIND_PACKAGE_Git="yes" + ) + + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIPNV_DIR="${EPREFIX}/usr" + -DHIP_PLATFORM="nvidia" + ) + fi + + cmake_src_configure + + if use test; then + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2" + ) + if use video_cards_amdgpu; then + mycmakeargs+=( + -DROCM_PATH="${BUILD_DIR}/hipamd" + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DROCM_PATH="${BUILD_DIR}/hipother" + -DHIP_PLATFORM="nvidia" + ) + fi + HIP_PATH="${EPREFIX}/usr" hip_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + + if use test; then + HIP_PATH="${BUILD_DIR}"/hipamd \ + hip_test_wrapper cmake_src_compile build_tests + fi +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib" + + # TODO: research how to test Vulkan-related features. + local CMAKE_SKIP_TESTS=( + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters + Unit_hipImportExternalMemory_Vulkan_Negative_Parameters + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters + Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters + ) + + MAKEOPTS="-j1" hip_test_wrapper cmake_src_test +} + +src_install() { + cmake_src_install + + # add version file that is required by some libraries + mkdir "${ED}"/usr/include/rocm-core || die + cat <<-EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die + #pragma once + #define ROCM_VERSION_MAJOR $(ver_cut 1) + #define ROCM_VERSION_MINOR $(ver_cut 2) + #define ROCM_VERSION_PATCH $(ver_cut 3) + #define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" + EOF + + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + if use video_cards_nvidia; then + newenvd - 99hipconfig <<-EOF + HIP_PLATFORM="nvidia" + HIP_RUNTIME="cuda" + CUDA_PATH="${EPREFIX}/opt/cuda" + EOF + fi +} diff --git a/dev-util/hip/hip-6.1.2.ebuild b/dev-util/hip/hip-6.1.2.ebuild new file mode 100644 index 0000000..6091eaf --- /dev/null +++ b/dev-util/hip/hip-6.1.2.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +LLVM_COMPAT=( 20 ) + +inherit cmake docs flag-o-matic llvm-r1 rocm + +TEST_PV=${PV} + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/clr" +SRC_URI=" + https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( + https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> hip-test-${TEST_PV}.tar.gz + ) +" +S="${WORKDIR}/clr-rocm-${PV}/" +TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + || ( hip opencl ) + ^^ ( video_cards_amdgpu video_cards_nvidia ) +" + +DEPEND=" + video_cards_amdgpu? ( + dev-util/rocminfo:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + dev-libs/rocm-comgr:${SLOT} + dev-libs/rocr-runtime:${SLOT} + ) + video_cards_nvidia? ( + dev-libs/hipother:${SLOT} + ) + x11-base/xorg-proto + virtual/opengl +" +BDEPEND=" + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + ) +" +RDEPEND="${DEPEND} + llvm-core/clang-runtime:= + opencl? ( + !dev-libs/opencl-icd-loader + !dev-libs/rocm-opencl-runtime + !dev-util/clinfo + !dev-util/opencl-headers + ) + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + dev-libs/rocm-device-libs:${SLOT} + dev-libs/roct-thunk-interface:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch" + "${FILESDIR}/${PN}-6.1.0-install.patch" + "${FILESDIR}/${PN}-6.1.1-fix-musl.patch" +) + +hip_test_wrapper() { + local CMAKE_USE_DIR="${TEST_S}" + local BUILD_DIR="${TEST_S}_build" + cd "${TEST_S}" || die + "${@}" +} + +src_prepare() { + # NOTE We do this head stand to safe the patch size. + # NOTE Adjust when we drop 5.7.1 + sed \ + -e 's:kAmdgcnTargetTriple:AMDGCN_TARGET_TRIPLE:g' \ + -i hipamd/src/hip_code_object.cpp || die + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + sed \ + -e 's:AMDGCN_TARGET_TRIPLE:kAmdgcnTargetTriple:g' \ + -i hipamd/src/hip_code_object.cpp || die + + # hipamd is itself built by cmake, and should never provide a + # FindHIP.cmake module. But the reality is some package relies on it. + # Set HIP and HIP Clang paths directly, don't search using heuristics + sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \ + -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \ + -i "${WORKDIR}/HIP-rocm-${PV}/cmake/FindHIP.cmake" || die + + cmake_src_prepare + + # With Clang>17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + if [ "$LLVM_SLOT" -le "17" ]; then + sed -e "s/-mllvm=-amdgpu-early-inline-all=true //" -i hipamd/hip-config-amd.cmake || die + sed -e "s/-mllvm=-amdgpu-early-inline-all=true;//" -i "${WORKDIR}/HIP-rocm-${PV}/hip-lang-config.cmake.in" + fi + + if use test; then + local PATCHES=( + "${FILESDIR}"/hip-test-6.0.2-hipcc-system-install.patch + "${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch + "${FILESDIR}"/hip-test-6.1.0-disable-hipKerArgOptimization.patch + "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch + ) + hip_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/858383 + # https://github.com/ROCm/clr/issues/64 + # + # Do not trust it for LTO either + append-flags -fno-strict-aliasing + filter-lto + + use debug && CMAKE_BUILD_TYPE="Debug" + + # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382 + # See also: https://github.com/gentoo/gentoo/pull/29097 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)" + -DCMAKE_SKIP_RPATH=ON + -D__HIP_ENABLE_PCH="no" + + -DCLR_BUILD_HIP="$(usex hip)" + -DCLR_BUILD_OCL="$(usex opencl)" + + -DHIP_COMMON_DIR="${WORKDIR}/HIP-rocm-${PV}" + -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin" + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API="no" + -DFILE_REORG_BACKWARD_COMPATIBILITY="no" + + -DOpenGL_GL_PREFERENCE="GLVND" + -DCMAKE_DISABLE_FIND_PACKAGE_Git="yes" + ) + + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIPNV_DIR="${EPREFIX}/usr" + -DHIP_PLATFORM="nvidia" + ) + fi + + cmake_src_configure + + if use test; then + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2" + ) + if use video_cards_amdgpu; then + mycmakeargs+=( + -DROCM_PATH="${BUILD_DIR}/hipamd" + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DROCM_PATH="${BUILD_DIR}/hipother" + -DHIP_PLATFORM="nvidia" + ) + fi + HIP_PATH="${EPREFIX}/usr" hip_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + + if use test; then + HIP_PATH="${BUILD_DIR}"/hipamd \ + hip_test_wrapper cmake_src_compile build_tests + fi +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib" + + # TODO: research how to test Vulkan-related features. + local CMAKE_SKIP_TESTS=( + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters + Unit_hipImportExternalMemory_Vulkan_Negative_Parameters + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters + Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters + ) + + MAKEOPTS="-j1" hip_test_wrapper cmake_src_test +} + +src_install() { + cmake_src_install + + # add version file that is required by some libraries + mkdir "${ED}"/usr/include/rocm-core || die + cat <<-EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die + #pragma once + #define ROCM_VERSION_MAJOR $(ver_cut 1) + #define ROCM_VERSION_MINOR $(ver_cut 2) + #define ROCM_VERSION_PATCH $(ver_cut 3) + #define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" + EOF + + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + if use video_cards_nvidia; then + newenvd - 99hipconfig <<-EOF + HIP_PLATFORM="nvidia" + HIP_RUNTIME="cuda" + CUDA_PATH="${EPREFIX}/opt/cuda" + EOF + fi +} diff --git a/dev-util/hip/hip-6.3.2.ebuild b/dev-util/hip/hip-6.3.2.ebuild new file mode 100644 index 0000000..f48faed --- /dev/null +++ b/dev-util/hip/hip-6.3.2.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +LLVM_COMPAT=( 20 ) + +inherit cmake docs flag-o-matic llvm-r1 rocm + +TEST_PV=${PV} + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/clr" +SRC_URI=" + https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( + https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> hip-test-${TEST_PV}.tar.gz + ) +" +S="${WORKDIR}/clr-rocm-${PV}/" +TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch" +HIP_S="${WORKDIR}/HIP-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia" + +# some tests are broken +RESTRICT="test" + +REQUIRED_USE=" + || ( hip opencl ) + ^^ ( video_cards_amdgpu video_cards_nvidia ) +" + +DEPEND=" + video_cards_amdgpu? ( + dev-util/rocminfo:${SLOT} + dev-libs/rocm-comgr:${SLOT} + dev-libs/rocr-runtime:${SLOT} + ) + video_cards_nvidia? ( + dev-libs/hipother:${SLOT} + ) + x11-base/xorg-proto + virtual/opengl +" +BDEPEND=" + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + ) + test? ( + media-libs/freeglut + ) +" +RDEPEND="${DEPEND} + opencl? ( + !dev-libs/opencl-icd-loader + !dev-libs/rocm-opencl-runtime + !dev-util/clinfo + !dev-util/opencl-headers + ) + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + dev-libs/rocm-device-libs:${SLOT} + dev-libs/roct-thunk-interface:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch" + "${FILESDIR}/${PN}-6.3.0-install.patch" + "${FILESDIR}/${PN}-6.1.1-fix-musl.patch" + "${FILESDIR}/${PN}-6.2.4-libcxx.patch" + "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch" + "${FILESDIR}/${PN}-6.3.0-clr-fix-libcxx.patch" +) + +hip_test_wrapper() { + local CMAKE_USE_DIR="${TEST_S}" + local BUILD_DIR="${TEST_S}_build" + cd "${TEST_S}" || die + "${@}" +} + +src_prepare() { + # NOTE We do this head stand to safe the patch size. + # NOTE Adjust when we drop 5.7.1 + sed \ + -e 's:kAmdgcnTargetTriple:AMDGCN_TARGET_TRIPLE:g' \ + -i hipamd/src/hip_code_object.cpp || die + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + sed \ + -e 's:AMDGCN_TARGET_TRIPLE:kAmdgcnTargetTriple:g' \ + -i hipamd/src/hip_code_object.cpp || die + + pushd "${HIP_S}" >/dev/null || die + eapply "${FILESDIR}/${PN}-6.3.0-hip-fix-libcxx.patch" + + # hipamd is itself built by cmake, and should never provide a + # FindHIP.cmake module. But the reality is some package relies on it. + # Set HIP and HIP Clang paths directly, don't search using heuristics + sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \ + -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \ + -i "cmake/FindHIP.cmake" || die + popd >/dev/null || die + + sed -e "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die + + cmake_src_prepare + + if use test; then + local PATCHES=( + "${FILESDIR}"/hip-test-6.3.0-hipcc-system-install.patch + "${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch + "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch + ) + sed -e "s/-Werror //" -e "s/-Wall -Wextra //" -i "${TEST_S}/CMakeLists.txt" || die + + hip_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/858383 + # https://github.com/ROCm/clr/issues/64 + # + # Do not trust it for LTO either + append-flags -fno-strict-aliasing + filter-lto + + use debug && CMAKE_BUILD_TYPE="Debug" + + # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382 + # See also: https://github.com/gentoo/gentoo/pull/29097 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)" + -DCMAKE_SKIP_RPATH=ON + -D__HIP_ENABLE_PCH=OFF + + -DCLR_BUILD_HIP="$(usex hip)" + -DCLR_BUILD_OCL="$(usex opencl)" + + -DHIP_COMMON_DIR="${HIP_S}" + -DHIP_ENABLE_ROCPROFILER_REGISTER=OFF + -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin" + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API=OFF + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + + -DOpenGL_GL_PREFERENCE="GLVND" + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + ) + + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIPNV_DIR="${EPREFIX}/usr" + -DHIP_PLATFORM="nvidia" + ) + fi + + cmake_src_configure + + if use test; then + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2" + -DROCM_PATH="${EPREFIX}/usr" + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON + -Wno-dev + + # 1) Use custom build of hipamd instead of system one + # 2) Build fails with libc++: https://github.com/llvm/llvm-project/issues/119076 + -DCMAKE_CXX_FLAGS="-I${BUILD_DIR}/hipamd/include -stdlib=libstdc++" + -DCMAKE_EXE_LINKER_FLAGS="-L${BUILD_DIR}/hipamd/lib" + ) + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIP_PLATFORM="nvidia" + ) + fi + hip_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + + if use test; then + hip_test_wrapper cmake_src_compile build_tests + fi +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib" + + # TODO: research how to test Vulkan-related features. + local CMAKE_SKIP_TESTS=( + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters + Unit_hipImportExternalMemory_Vulkan_Negative_Parameters + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters + Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters + ) + + MAKEOPTS="-j1" hip_test_wrapper cmake_src_test +} + +src_install() { + cmake_src_install + + # add version file that is required by some libraries + mkdir "${ED}"/usr/include/rocm-core || die + cat <<-EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die + #pragma once + #define ROCM_VERSION_MAJOR $(ver_cut 1) + #define ROCM_VERSION_MINOR $(ver_cut 2) + #define ROCM_VERSION_PATCH $(ver_cut 3) + #define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" + EOF + + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + if use video_cards_nvidia; then + newenvd - 99hipconfig <<-EOF + HIP_PLATFORM="nvidia" + HIP_RUNTIME="cuda" + CUDA_PATH="${EPREFIX}/opt/cuda" + EOF + fi +} diff --git a/dev-util/hip/hip-6.3.3.ebuild b/dev-util/hip/hip-6.3.3.ebuild new file mode 100644 index 0000000..f48faed --- /dev/null +++ b/dev-util/hip/hip-6.3.3.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +LLVM_COMPAT=( 20 ) + +inherit cmake docs flag-o-matic llvm-r1 rocm + +TEST_PV=${PV} + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/clr" +SRC_URI=" + https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( + https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> hip-test-${TEST_PV}.tar.gz + ) +" +S="${WORKDIR}/clr-rocm-${PV}/" +TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch" +HIP_S="${WORKDIR}/HIP-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia" + +# some tests are broken +RESTRICT="test" + +REQUIRED_USE=" + || ( hip opencl ) + ^^ ( video_cards_amdgpu video_cards_nvidia ) +" + +DEPEND=" + video_cards_amdgpu? ( + dev-util/rocminfo:${SLOT} + dev-libs/rocm-comgr:${SLOT} + dev-libs/rocr-runtime:${SLOT} + ) + video_cards_nvidia? ( + dev-libs/hipother:${SLOT} + ) + x11-base/xorg-proto + virtual/opengl +" +BDEPEND=" + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + ) + test? ( + media-libs/freeglut + ) +" +RDEPEND="${DEPEND} + opencl? ( + !dev-libs/opencl-icd-loader + !dev-libs/rocm-opencl-runtime + !dev-util/clinfo + !dev-util/opencl-headers + ) + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + dev-libs/rocm-device-libs:${SLOT} + dev-libs/roct-thunk-interface:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch" + "${FILESDIR}/${PN}-6.3.0-install.patch" + "${FILESDIR}/${PN}-6.1.1-fix-musl.patch" + "${FILESDIR}/${PN}-6.2.4-libcxx.patch" + "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch" + "${FILESDIR}/${PN}-6.3.0-clr-fix-libcxx.patch" +) + +hip_test_wrapper() { + local CMAKE_USE_DIR="${TEST_S}" + local BUILD_DIR="${TEST_S}_build" + cd "${TEST_S}" || die + "${@}" +} + +src_prepare() { + # NOTE We do this head stand to safe the patch size. + # NOTE Adjust when we drop 5.7.1 + sed \ + -e 's:kAmdgcnTargetTriple:AMDGCN_TARGET_TRIPLE:g' \ + -i hipamd/src/hip_code_object.cpp || die + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + sed \ + -e 's:AMDGCN_TARGET_TRIPLE:kAmdgcnTargetTriple:g' \ + -i hipamd/src/hip_code_object.cpp || die + + pushd "${HIP_S}" >/dev/null || die + eapply "${FILESDIR}/${PN}-6.3.0-hip-fix-libcxx.patch" + + # hipamd is itself built by cmake, and should never provide a + # FindHIP.cmake module. But the reality is some package relies on it. + # Set HIP and HIP Clang paths directly, don't search using heuristics + sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \ + -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \ + -i "cmake/FindHIP.cmake" || die + popd >/dev/null || die + + sed -e "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die + + cmake_src_prepare + + if use test; then + local PATCHES=( + "${FILESDIR}"/hip-test-6.3.0-hipcc-system-install.patch + "${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch + "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch + ) + sed -e "s/-Werror //" -e "s/-Wall -Wextra //" -i "${TEST_S}/CMakeLists.txt" || die + + hip_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/858383 + # https://github.com/ROCm/clr/issues/64 + # + # Do not trust it for LTO either + append-flags -fno-strict-aliasing + filter-lto + + use debug && CMAKE_BUILD_TYPE="Debug" + + # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382 + # See also: https://github.com/gentoo/gentoo/pull/29097 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)" + -DCMAKE_SKIP_RPATH=ON + -D__HIP_ENABLE_PCH=OFF + + -DCLR_BUILD_HIP="$(usex hip)" + -DCLR_BUILD_OCL="$(usex opencl)" + + -DHIP_COMMON_DIR="${HIP_S}" + -DHIP_ENABLE_ROCPROFILER_REGISTER=OFF + -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin" + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API=OFF + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + + -DOpenGL_GL_PREFERENCE="GLVND" + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + ) + + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIPNV_DIR="${EPREFIX}/usr" + -DHIP_PLATFORM="nvidia" + ) + fi + + cmake_src_configure + + if use test; then + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2" + -DROCM_PATH="${EPREFIX}/usr" + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON + -Wno-dev + + # 1) Use custom build of hipamd instead of system one + # 2) Build fails with libc++: https://github.com/llvm/llvm-project/issues/119076 + -DCMAKE_CXX_FLAGS="-I${BUILD_DIR}/hipamd/include -stdlib=libstdc++" + -DCMAKE_EXE_LINKER_FLAGS="-L${BUILD_DIR}/hipamd/lib" + ) + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIP_PLATFORM="nvidia" + ) + fi + hip_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + + if use test; then + hip_test_wrapper cmake_src_compile build_tests + fi +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib" + + # TODO: research how to test Vulkan-related features. + local CMAKE_SKIP_TESTS=( + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters + Unit_hipImportExternalMemory_Vulkan_Negative_Parameters + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters + Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters + ) + + MAKEOPTS="-j1" hip_test_wrapper cmake_src_test +} + +src_install() { + cmake_src_install + + # add version file that is required by some libraries + mkdir "${ED}"/usr/include/rocm-core || die + cat <<-EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die + #pragma once + #define ROCM_VERSION_MAJOR $(ver_cut 1) + #define ROCM_VERSION_MINOR $(ver_cut 2) + #define ROCM_VERSION_PATCH $(ver_cut 3) + #define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" + EOF + + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + if use video_cards_nvidia; then + newenvd - 99hipconfig <<-EOF + HIP_PLATFORM="nvidia" + HIP_RUNTIME="cuda" + CUDA_PATH="${EPREFIX}/opt/cuda" + EOF + fi +} diff --git a/dev-util/hip/metadata.xml b/dev-util/hip/metadata.xml new file mode 100644 index 0000000..8746df9 --- /dev/null +++ b/dev-util/hip/metadata.xml @@ -0,0 +1,33 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + candrews@gentoo.org + Craig Andrews + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + gentoo@holzke.net + Wilfried Holzke + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/HIP + + + Build HIP runtime + Build OpenCL runtime + Build for AMD platform + Build for Nvidia platform + + diff --git a/dev-util/hipcc/Manifest b/dev-util/hipcc/Manifest new file mode 100644 index 0000000..17ea85c --- /dev/null +++ b/dev-util/hipcc/Manifest @@ -0,0 +1,5 @@ +DIST hipcc-5.7.1.tar.gz 36589 BLAKE2B a8ae6bd9f0f985d78119223b67b5b35b8d1ee38edb7e43c1e77752d203fe2c8b669b3bcff0cec661054d8cb24f799e7784a49eb0664bdd1dc2bf024ce026c175 SHA512 2d232c8dd4a47de6e0cff9d37b4e63a26cb1809ef2ff3a119c15e992cae96ffc2f4d8c1ddffd8732dea3a3d589a93e177f424a6174f982908aa50904e265432a +DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818 +DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0 +DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c +DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872 diff --git a/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch b/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch new file mode 100644 index 0000000..c464202 --- /dev/null +++ b/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch @@ -0,0 +1,13 @@ +Related bug: https://bugs.gentoo.org/890377 +--- a/bin/hipcc.pl ++++ b/bin/hipcc.pl +@@ -552,6 +552,9 @@ if ($buildDeps and $HIP_PLATFORM eq 'amd') { + # pass-through CPP mode. + + if ($HIP_PLATFORM eq "amd") { ++ # Append -fno-stack-protector due to stack protection for HIP is not supported ++ $HIPCXXFLAGS .= " -fno-stack-protector"; ++ $HIPCFLAGS .= " -fno-stack-protector"; + # Set default optimization level to -O3 for hip-clang. + if ($optArg eq "") { + $HIPCXXFLAGS .= " -O3"; diff --git a/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch b/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch new file mode 100644 index 0000000..fa00d44 --- /dev/null +++ b/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch @@ -0,0 +1,42 @@ +Edit from: +https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/759b0773bd848ff9471fa8cdecd9ee21010bc29c/debian/patches/0013-hipcc-hip-version.patch +`--hip-version` is required for correclty including __clang_hip_runtime_wrapper.h +================================================================================= +Description: enforce --hip-version option within hipcc call. + This change is needed since the normal mechanism in ROCm relies on + reading a .hipVersion hidden configuration file which has no proper + equivalent in a FHS compliant tree, as of ROCm 5.0. +Author: Cordell Bloor +Bug: https://github.com/ROCm-Developer-Tools/HIP/pull/2937 +Forwarded: not-needed +Reviewed-by: Étienne Mollier +Last-Update: 2022-07-04 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: HIP/bin/hipcc.pl +=================================================================== +--- HIP.orig/bin/hipcc.pl ++++ HIP/bin/hipcc.pl +@@ -121,6 +121,9 @@ $HIP_PATH = $hipvars::HIP_PATH; + $ROCM_PATH = $hipvars::ROCM_PATH; + $HIP_VERSION = $hipvars::HIP_VERSION; + $HIP_ROCCLR_HOME = $hipvars::HIP_ROCCLR_HOME; ++$HIP_VERSION_MAJOR = $hipvars::HIP_VERSION_MAJOR; ++$HIP_VERSION_MINOR = $hipvars::HIP_VERSION_MINOR; ++$HIP_VERSION_PATCH = $hipvars::HIP_VERSION_PATCH; + + if ($HIP_PLATFORM eq "amd") { + $HIP_INCLUDE_PATH = "$HIP_ROCCLR_HOME/include"; +@@ -188,6 +191,12 @@ if ($HIP_PLATFORM eq "amd") { + ## Allow __fp16 as function parameter and return type. + $HIPCXXFLAGS .= " -Xclang -fallow-half-arguments-and-returns -D__HIP_HCC_COMPAT_MODE__=1"; + } ++ ++ # Gentoo: there is no FHS compliant location for .hipVersion where clang will still be ++ # able to find it, so .hipVersion has been omitted and the hip version is passed explicitly ++ $HIPCXXFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; ++ $HIPCFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; ++ $HIPLDFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; + } elsif ($HIP_PLATFORM eq "nvidia") { + $CUDA_PATH=$ENV{'CUDA_PATH'} // '/usr/local/cuda'; + $HIP_INCLUDE_PATH = "$HIP_PATH/include"; diff --git a/dev-util/hipcc/hipcc-5.7.1-r3.ebuild b/dev-util/hipcc/hipcc-5.7.1-r3.ebuild new file mode 100644 index 0000000..5e96899 --- /dev/null +++ b/dev-util/hipcc/hipcc-5.7.1-r3.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake llvm + +LLVM_MAX_SLOT=17 + +DESCRIPTION="Radeon Open Compute hipcc" +HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipcc" + +KEYWORDS="~amd64" +SRC_URI="https://github.com/ROCm-Developer-Tools/hipcc/archive/refs/tags/rocm-${PV}.tar.gz -> hipcc-${PV}.tar.gz" + +LICENSE="Apache-2.0 MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug test" +RESTRICT="!test? ( test )" + +S=${WORKDIR}/HIPCC-rocm-${PV} + +DEPEND="17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + if [ "$LLVM_SLOT" != "17" ]; then + sed -e "s/-mllvm -amdgpu-early-inline-all=true //g" -i bin/hipcc.pl || die + fi +} + +src_install() { + cmake_src_install + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die + # Handle hipvars.pm + rm "${ED}/usr/bin/hipvars.pm" || die + perl_domodule "${S}"/bin/hipvars.pm +} diff --git a/dev-util/hipcc/hipcc-6.1.2.ebuild b/dev-util/hipcc/hipcc-6.1.2.ebuild new file mode 100644 index 0000000..b37cf9b --- /dev/null +++ b/dev-util/hipcc/hipcc-6.1.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake perl-functions llvm-r1 + +DESCRIPTION="Radeon Open Compute hipcc" +HOMEPAGE="https://github.com/ROCm/hipcc" + +MY_P=llvm-project-rocm-${PV} +components=( "amd/hipcc" ) +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0 MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-runtimes/compiler-rt:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND} + !17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + if [ "$LLVM_SLOT" != "17" ]; then + sed -e "s/-mllvm -amdgpu-early-inline-all=true //g" -i bin/hipcc.pl || die + fi +} + +src_install() { + cmake_src_install + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die + # Handle hipvars.pm + rm "${ED}/usr/bin/hipvars.pm" || die + perl_domodule "${S}"/bin/hipvars.pm +} diff --git a/dev-util/hipcc/hipcc-6.3.2.ebuild b/dev-util/hipcc/hipcc-6.3.2.ebuild new file mode 100644 index 0000000..9030940 --- /dev/null +++ b/dev-util/hipcc/hipcc-6.3.2.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake perl-functions llvm-r1 + +DESCRIPTION="Radeon Open Compute hipcc" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc" + +MY_P=llvm-project-rocm-${PV} +components=( "amd/hipcc" ) +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0 MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-runtimes/compiler-rt:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND} + !17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + sed -e "s/-mllvm -amdgpu-early-inline-all=true //g" \ + -i bin/hipcc.pl \ + -i src/hipBin_amd.h || die +} + +src_install() { + cmake_src_install + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die + # Handle hipvars.pm + rm "${ED}/usr/bin/hipvars.pm" || die + perl_domodule "${S}"/bin/hipvars.pm +} diff --git a/dev-util/hipcc/hipcc-6.3.3.ebuild b/dev-util/hipcc/hipcc-6.3.3.ebuild new file mode 100644 index 0000000..9030940 --- /dev/null +++ b/dev-util/hipcc/hipcc-6.3.3.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake perl-functions llvm-r1 + +DESCRIPTION="Radeon Open Compute hipcc" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc" + +MY_P=llvm-project-rocm-${PV} +components=( "amd/hipcc" ) +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0 MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-runtimes/compiler-rt:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND} + !17 -amdgpu-early-inline-all=true causes OOMs in dependencies + # https://github.com/llvm/llvm-project/issues/86332 + sed -e "s/-mllvm -amdgpu-early-inline-all=true //g" \ + -i bin/hipcc.pl \ + -i src/hipBin_amd.h || die +} + +src_install() { + cmake_src_install + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die + # Handle hipvars.pm + rm "${ED}/usr/bin/hipvars.pm" || die + perl_domodule "${S}"/bin/hipvars.pm +} diff --git a/dev-util/hipcc/metadata.xml b/dev-util/hipcc/metadata.xml new file mode 100644 index 0000000..b6d2531 --- /dev/null +++ b/dev-util/hipcc/metadata.xml @@ -0,0 +1,31 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + candrews@gentoo.org + Craig Andrews + + + patrick@gentoo.org + Patrick Lauer + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + gentoo@holzke.net + Wilfried Holzke + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/hipcc + + diff --git a/dev-util/hipify-clang/Manifest b/dev-util/hipify-clang/Manifest new file mode 100644 index 0000000..a70988b --- /dev/null +++ b/dev-util/hipify-clang/Manifest @@ -0,0 +1,4 @@ +DIST HIPIFY-5.7.1.tar.gz 673452 BLAKE2B e0293c1b7f9ea028efc8d712ddedae4ec933c5bcfba524e13816bd999e67bcf06097f9fe0e4d1f4fa6a38df133be694e92adeefd92f77301d8537b6880b1a1fe SHA512 0cc75fdbcb6278d319cfe8ee3c8547dc75ea494a007d2159c64312c3411627905e0d6c7d7f0032cbc4c727a90723325aa2705db2fd473dbeb41e60f276d1c9a7 +DIST HIPIFY-6.1.1.tar.gz 813425 BLAKE2B accc661431f11796d0c8bcf638537a6035020b2a36ebe66c1b8c10bb63b762418d5fd1f256f3a3e51d2ace224a6492abfe72838bef859b1da68c2126cc3521be SHA512 29c45e312c8e2f0d06916b57f24eba27ba7beae3bd860850b57cfe27c87df22aabe9fdcf3d12671b81e68b61c3974aaf0064e96ae68392d181148aaeef14f1c7 +DIST HIPIFY-6.3.2.tar.gz 978994 BLAKE2B 7f35d462f69ab298485ef27b53624676071be551d671532383f246dbe6cd133ce1b30fb98d5457b82a0a9a01070cc6050e14f4f8fdecbf04a9b589309c3afd67 SHA512 26fc5db270e661d3ca380dfd570f2b46108c41b808f84413b27c4b6efaf6796ae625d4489c2278c253345d8a25408f636fde476be380b08d489254e20b8a12c0 +DIST HIPIFY-6.3.3.tar.gz 978886 BLAKE2B 391afa3ca27651597264ada3f1ef8f2a3ed75d7f0bbd29b868e89d0ecd6a76986fb4b74e15d62c7a0990d5e8a6c5e92cf4e987ddbf3fb5e45eddd2f9d22c9b45 SHA512 5fe529db7ef9de56e127ced21c62b45b770aa383913bd9d373e7c4eb16e1028a6414ae25aa2f40c79b45f5a2dcb4318cd6773cf821c814bfd545431512cae490 diff --git a/dev-util/hipify-clang/files/hipify-clang-5.7.1-fix-clang-libs.patch b/dev-util/hipify-clang/files/hipify-clang-5.7.1-fix-clang-libs.patch new file mode 100644 index 0000000..c2a50c9 --- /dev/null +++ b/dev-util/hipify-clang/files/hipify-clang-5.7.1-fix-clang-libs.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce188b7..19bd013 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,41 +68,7 @@ if (NOT HIPIFY_CLANG_TESTS_ONLY) + endif() + + # Link against LLVM and CLANG libraries. +- target_link_libraries(hipify-clang PRIVATE +- clangASTMatchers +- clangFrontend +- clangTooling +- clangParse +- clangSerialization +- clangSema +- clangEdit +- clangFormat +- clangLex +- clangAnalysis +- clangDriver +- clangAST +- clangToolingCore +- clangRewrite +- clangBasic +- LLVMProfileData +- LLVMSupport +- LLVMMCParser +- LLVMMC +- LLVMBitReader +- LLVMOption +- LLVMCore) +- +- if(LLVM_PACKAGE_VERSION VERSION_GREATER "6.0.1") +- target_link_libraries(hipify-clang PRIVATE clangToolingInclusions) +- endif() +- +- if(LLVM_PACKAGE_VERSION VERSION_GREATER "9.0.1") +- target_link_libraries(hipify-clang PRIVATE LLVMFrontendOpenMP) +- endif() +- +- if(LLVM_PACKAGE_VERSION VERSION_EQUAL "15.0.0" OR LLVM_PACKAGE_VERSION VERSION_GREATER "15.0.0") +- target_link_libraries(hipify-clang PRIVATE LLVMWindowsDriver clangSupport) +- endif() ++ target_link_libraries(hipify-clang PRIVATE clang clang-cpp) + + if(LLVM_PACKAGE_VERSION VERSION_EQUAL "16.0.0" OR LLVM_PACKAGE_VERSION VERSION_GREATER "16.0.0") + if(MSVC) diff --git a/dev-util/hipify-clang/hipify-clang-5.7.1.ebuild b/dev-util/hipify-clang/hipify-clang-5.7.1.ebuild new file mode 100644 index 0000000..b9ca905 --- /dev/null +++ b/dev-util/hipify-clang/hipify-clang-5.7.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++" +HOMEPAGE="https://github.com/ROCm-Developer-Tools/HIPIFY" +SRC_URI="https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-${PV}.tar.gz -> HIPIFY-${PV}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +BDEPEND=">=dev-build/cmake-3.22" +DEPEND=" + llvm-core/clang:17 + llvm-core/llvm:17" + +S="${WORKDIR}/HIPIFY-rocm-${PV}" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fix-clang-libs.patch" +) + +src_prepare() { + cmake_src_prepare + sed -i 's:/../libexec/hipify::' \ + bin/hipconvertinplace.sh bin/hipconvertinplace-perl.sh \ + bin/hipexamine-perl.sh bin/hipexamine.sh || die + # Workaround for bug https://github.com/ROCm/HIPIFY/issues/1396 + sed -i 's/find_package(LLVM REQUIRED/find_package(LLVM 17 REQUIRED/' CMakeLists.txt || die +} + +src_install() { + cmake_src_install + + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die +} diff --git a/dev-util/hipify-clang/hipify-clang-6.1.1.ebuild b/dev-util/hipify-clang/hipify-clang-6.1.1.ebuild new file mode 100644 index 0000000..ae32248 --- /dev/null +++ b/dev-util/hipify-clang/hipify-clang-6.1.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++" +HOMEPAGE="https://github.com/ROCm/HIPIFY" +SRC_URI="https://github.com/ROCm/HIPIFY/archive/rocm-${PV}.tar.gz -> HIPIFY-${PV}.tar.gz" +S="${WORKDIR}/HIPIFY-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +BDEPEND=">=dev-build/cmake-3.22" +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fix-clang-libs.patch" +) + +src_prepare() { + cmake_src_prepare + sed -i 's:/../libexec/hipify::' \ + bin/hipconvertinplace.sh bin/hipconvertinplace-perl.sh \ + bin/hipexamine-perl.sh bin/hipexamine.sh || die +} + +src_configure() { + # 928906: CMakeLists.txt ignores CC/CXX, switches compiler to clang + # and fails if non-compatible CFLAGS/CXXFLAGS are used + strip-unsupported-flags + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)/$(get_libdir)/cmake/llvm" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die +} diff --git a/dev-util/hipify-clang/hipify-clang-6.3.2.ebuild b/dev-util/hipify-clang/hipify-clang-6.3.2.ebuild new file mode 100644 index 0000000..34f16f8 --- /dev/null +++ b/dev-util/hipify-clang/hipify-clang-6.3.2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++" +HOMEPAGE="https://github.com/ROCm/HIPIFY" +SRC_URI="https://github.com/ROCm/HIPIFY/archive/rocm-${PV}.tar.gz -> HIPIFY-${PV}.tar.gz" +S="${WORKDIR}/HIPIFY-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +BDEPEND=">=dev-build/cmake-3.22" +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fix-clang-libs.patch" +) + +src_prepare() { + cmake_src_prepare + sed -i 's:/../libexec/hipify::' \ + bin/hipconvertinplace.sh bin/hipconvertinplace-perl.sh \ + bin/hipexamine-perl.sh bin/hipexamine.sh || die +} + +src_configure() { + # 928906: CMakeLists.txt ignores CC/CXX, switches compiler to clang + # and fails if non-compatible CFLAGS/CXXFLAGS are used + strip-unsupported-flags + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)/$(get_libdir)/cmake/llvm" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + fperms +x /usr/bin/hipconvertinplace-perl.sh + fperms +x /usr/bin/hipconvertinplace.sh + fperms +x /usr/bin/hipexamine-perl.sh + fperms +x /usr/bin/hipexamine.sh + fperms +x /usr/bin/hipify-perl +} diff --git a/dev-util/hipify-clang/hipify-clang-6.3.3.ebuild b/dev-util/hipify-clang/hipify-clang-6.3.3.ebuild new file mode 100644 index 0000000..34f16f8 --- /dev/null +++ b/dev-util/hipify-clang/hipify-clang-6.3.3.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++" +HOMEPAGE="https://github.com/ROCm/HIPIFY" +SRC_URI="https://github.com/ROCm/HIPIFY/archive/rocm-${PV}.tar.gz -> HIPIFY-${PV}.tar.gz" +S="${WORKDIR}/HIPIFY-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +BDEPEND=">=dev-build/cmake-3.22" +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fix-clang-libs.patch" +) + +src_prepare() { + cmake_src_prepare + sed -i 's:/../libexec/hipify::' \ + bin/hipconvertinplace.sh bin/hipconvertinplace-perl.sh \ + bin/hipexamine-perl.sh bin/hipexamine.sh || die +} + +src_configure() { + # 928906: CMakeLists.txt ignores CC/CXX, switches compiler to clang + # and fails if non-compatible CFLAGS/CXXFLAGS are used + strip-unsupported-flags + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)/$(get_libdir)/cmake/llvm" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + fperms +x /usr/bin/hipconvertinplace-perl.sh + fperms +x /usr/bin/hipconvertinplace.sh + fperms +x /usr/bin/hipexamine-perl.sh + fperms +x /usr/bin/hipexamine.sh + fperms +x /usr/bin/hipify-perl +} diff --git a/dev-util/hipify-clang/metadata.xml b/dev-util/hipify-clang/metadata.xml new file mode 100644 index 0000000..4d4ce95 --- /dev/null +++ b/dev-util/hipify-clang/metadata.xml @@ -0,0 +1,15 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/HIPIFY + + diff --git a/dev-util/include-what-you-use/Manifest b/dev-util/include-what-you-use/Manifest new file mode 100644 index 0000000..e207467 --- /dev/null +++ b/dev-util/include-what-you-use/Manifest @@ -0,0 +1,3 @@ +DIST include-what-you-use-0.21.tar.gz 776263 BLAKE2B 32e1afc3400641ba4d648cfed0228db5b12357e5aaf4a4c5d8f063e82f14db4c6c568eedbfbfdfed033ae36d787db42122a026df8f74a080901247264ae856e2 SHA512 d6940fcde5f8212b7d6e1b3b8c9075157f831320279f5b7e57346c292c5b2cc52b53491a2c65b69dfcbd83ae2246c7c71555416e1faad9fd9a0aff9c12ddf1ba +DIST include-what-you-use-0.22.tar.gz 796681 BLAKE2B 6ae0b2fd94367c458f2db268493af8922f9e82e0a389765fc94d3d53482b7f276f7a7959f6a8d9fe6ca55e58c0db77ee50f58ce4ad375c0ea73b9029e26ea54d SHA512 e95dc64372ed791441b0b92e113cbeee8aa76e8912776f776ffeb02d96f84fec18988527f46b1fbf7e174e11af043b4387ff47d9012cdd74ce38ec0bfc7ebad2 +DIST include-what-you-use-0.23.tar.gz 813726 BLAKE2B 845101985d1c39925605d2908ad76c40b8df0838467d7afd83b644914893f8e32ed1563348e568bc126ea4349ab390b189b734f66cf3b8da75277af169313a23 SHA512 5c2bbda7dbc614089717d2a4f8b9a96111dc30efcdd331a21c548399d58b47229210d5f17eb48eeb56c44797068ebac634a5d68a5c50ff322753e5f7965b3d48 diff --git a/dev-util/include-what-you-use/include-what-you-use-0.21.ebuild b/dev-util/include-what-you-use/include-what-you-use-0.21.ebuild new file mode 100644 index 0000000..ff50e27 --- /dev/null +++ b/dev-util/include-what-you-use/include-what-you-use-0.21.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake llvm python-single-r1 + +DESCRIPTION="Find unused include directives in C/C++ programs" +HOMEPAGE="https://include-what-you-use.org/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +LLVM_MAX_SLOT=17 + +RDEPEND=" + llvm-core/clang:${LLVM_MAX_SLOT} + llvm-core/llvm:${LLVM_MAX_SLOT} + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +llvm_check_deps() { + has_version "llvm-core/clang:${LLVM_SLOT}" +} + +pkg_setup() { + llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + python_fix_shebang . +} + +src_configure() { + local mycmakeargs=( + # Note [llvm install path] + # Unfortunately all binaries using clang driver + # have to reside at the same path depth as + # 'clang' binary itself. See bug #625972 + # Thus as a hack we install it to the same directory + # as llvm/clang itself. + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + ) + cmake_src_configure +} + +src_test() { + local clang_version=$(best_version llvm-core/clang:${LLVM_MAX_SLOT}) + clang_version=${clang_version#*/*-} # reduce it to ${PV}-${PR} + clang_version=${clang_version%%[_-]*} # main version without beta/pre/patch/revision + + local clang_include_dir_candidates=( + "${ESYSROOT}/usr/lib/clang/${clang_version}/include" + "${ESYSROOT}/usr/lib/clang/${LLVM_MAX_SLOT}/include" + ) + + local candidate_dir + for candidate_dir in "${clang_include_dir_candidates[@]}"; do + if [[ -d "${candidate_dir}" ]]; then + local clang_include_dir="${candidate_dir}" + break + fi + done + + if [[ ! -v clang_include_dir ]]; then + die "Could not infer clang include directory. Candidates: ${clang_include_dir_candidates[*]}" + fi + + local -x IWYU_EXTRA_ARGS="-I ${clang_include_dir}" + "${EPYTHON}" run_iwyu_tests.py \ + -- "${BUILD_DIR}"/bin/${PN} \ + || die "Tests failed with $? (using ${EPYTHON})" +} diff --git a/dev-util/include-what-you-use/include-what-you-use-0.22.ebuild b/dev-util/include-what-you-use/include-what-you-use-0.22.ebuild new file mode 100644 index 0000000..bc3d1be --- /dev/null +++ b/dev-util/include-what-you-use/include-what-you-use-0.22.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake llvm python-single-r1 + +DESCRIPTION="Find unused include directives in C/C++ programs" +HOMEPAGE="https://include-what-you-use.org/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +LLVM_MAX_SLOT=18 + +RDEPEND=" + llvm-core/clang:${LLVM_MAX_SLOT} + llvm-core/llvm:${LLVM_MAX_SLOT} + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +llvm_check_deps() { + has_version "llvm-core/clang:${LLVM_SLOT}" +} + +pkg_setup() { + llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + python_fix_shebang . +} + +src_configure() { + local mycmakeargs=( + # Note [llvm install path] + # Unfortunately all binaries using clang driver + # have to reside at the same path depth as + # 'clang' binary itself. See bug #625972 + # Thus as a hack we install it to the same directory + # as llvm/clang itself. + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + ) + cmake_src_configure +} + +src_test() { + local clang_version=$(best_version llvm-core/clang:${LLVM_MAX_SLOT}) + clang_version=${clang_version#*/*-} # reduce it to ${PV}-${PR} + clang_version=${clang_version%%[_-]*} # main version without beta/pre/patch/revision + + local clang_include_dir_candidates=( + "${ESYSROOT}/usr/lib/clang/${clang_version}/include" + "${ESYSROOT}/usr/lib/clang/${LLVM_MAX_SLOT}/include" + ) + + local candidate_dir + for candidate_dir in "${clang_include_dir_candidates[@]}"; do + if [[ -d "${candidate_dir}" ]]; then + local clang_include_dir="${candidate_dir}" + break + fi + done + + if [[ ! -v clang_include_dir ]]; then + die "Could not infer clang include directory. Candidates: ${clang_include_dir_candidates[*]}" + fi + + local -x IWYU_EXTRA_ARGS="-I ${clang_include_dir}" + "${EPYTHON}" run_iwyu_tests.py \ + -- "${BUILD_DIR}"/bin/${PN} \ + || die "Tests failed with $? (using ${EPYTHON})" +} diff --git a/dev-util/include-what-you-use/include-what-you-use-0.23-r1.ebuild b/dev-util/include-what-you-use/include-what-you-use-0.23-r1.ebuild new file mode 100644 index 0000000..1fd7966 --- /dev/null +++ b/dev-util/include-what-you-use/include-what-you-use-0.23-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +LLVM_COMPAT=( 20 ) + +inherit cmake llvm-r1 python-single-r1 + +DESCRIPTION="Find unused include directives in C/C++ programs" +HOMEPAGE="https://include-what-you-use.org/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +pkg_setup() { + llvm-r1_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + python_fix_shebang . +} + +src_configure() { + local mycmakeargs=( + # Note [llvm install path] + # Unfortunately all binaries using clang driver + # have to reside at the same path depth as + # 'clang' binary itself. See bug #625972 + # Thus as a hack we install it to the same directory + # as llvm/clang itself. + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)" + # Relative path to the clang library + # https://github.com/include-what-you-use/include-what-you-use/commit/e046d23571876e72719ef96a36ff0cb1cb2e64b6 + -DIWYU_RESOURCE_DIR="../../../clang/${LLVM_SLOT}" + ) + cmake_src_configure +} + +src_test() { + "${EPYTHON}" run_iwyu_tests.py \ + -- "${BUILD_DIR}"/bin/${PN} \ + || die "Tests failed with $? (using ${EPYTHON})" +} diff --git a/dev-util/include-what-you-use/metadata.xml b/dev-util/include-what-you-use/metadata.xml new file mode 100644 index 0000000..28cf5d9 --- /dev/null +++ b/dev-util/include-what-you-use/metadata.xml @@ -0,0 +1,11 @@ + + + + + flow@gentoo.org + Florian Schmaus + + + include-what-you-use/include-what-you-use + + diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest new file mode 100644 index 0000000..024e6c5 --- /dev/null +++ b/dev-util/intel-graphics-compiler/Manifest @@ -0,0 +1,2 @@ +DIST intel-graphics-compiler-1.0.17791.18.tar.gz 10746999 BLAKE2B d85c7888e4be962fc90ba6e2686aeba14d7ebe32c7dececdfddb0ba3726df82e43167dfc1bd0a2c4a0f72a6de481a270a4dcb6b4d5a40d785dac6c4628a27e2d SHA512 c814f667c558eebfbe1af68614c4eff7259b2d3626e317eb936e185b33b4aba7b225f33276ab09e9582164e5573b6cc52c230ab82e4689db41b3b2f4368367ec +DIST intel-graphics-compiler-2.7.8.tar.gz 11044562 BLAKE2B ab1b3fc35cfc668a3e7e9c6a8eb772d0f8a6c04b842ad543044d3d210e832482cc9e8092cc0ceaabd4245f7795530c16fb607cc304c0b4cf8abfabfb2f67f911 SHA512 ab663ce9c715e14cb61f7a442ed5c7e68167f18c3116d2c78cb08d8ae1f7f6a47e16ac8c5fd191c51ef03692117c31881fbae84bd5a353fe95698bcb278fd26f diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch new file mode 100644 index 0000000..54a3364 --- /dev/null +++ b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch @@ -0,0 +1,31 @@ +--- a/IGC/BiFModule/CMakeLists.txt ++++ b/IGC/BiFModule/CMakeLists.txt +@@ -19,24 +19,10 @@ + + if(UNIX) + if(NOT ${CCLANG_BUILD_INTREE_LLVM}) +- # Get common clang library soname +- get_target_property(CCLANG_LIB_PATH opencl-clang-lib "IMPORTED_LOCATION") +- execute_process( +- COMMAND readelf -d ${CCLANG_LIB_PATH} +- RESULT_VARIABLE CCLANG_READELF_RESULT +- OUTPUT_VARIABLE CCLANG_READELF_CALL) +- if(CCLANG_READELF_RESULT AND NOT CCLANG_READELF_RESULT EQUAL 0) +- message(FATAL_ERROR "[IGC\\BiFModule] : Error occurred while executing readelf: ${CCLANG_READELF_RESULT}") +- endif() +- string(REGEX MATCH "\\[${COMMON_CLANG_LIB_FULL_NAME}\\.([0-9](\\.[0-9]*)*[a-zA-Z0-9]*)\\]" CCLANG_SONAME_VERSION "${CCLANG_READELF_CALL}") +- set(CCLANG_SONAME_VERSION "${CMAKE_MATCH_1}") +- +- # Check if common clang library is newer than 5.0.0 version on which we have SPIR-V support +- if("${CCLANG_SONAME_VERSION}" VERSION_GREATER "5.0.0") +- set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" "${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}") +- else() +- message(FATAL_ERROR "[IGC\\BiFModule] : Version ${CCLANG_SONAME_VERSION} of library ${COMMON_CLANG_LIB_FULL_NAME} is below version 5.0.0 (where it's starts support of SPIR-V), please upgrade this library at least to version 5.0.0") +- endif() ++ # Workaround for https://bugs.gentoo.org/739138 : instead of checking ++ # the version of opencl-clang, have ebuilds set CCLANG_SONAME_VERSION ++ # for us. ++ set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" "${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}") + endif() + if (NOT CCLANG_FROM_SYSTEM) + install(FILES $ DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl) diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8365-disable-git.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8365-disable-git.patch new file mode 100644 index 0000000..4a9a898 --- /dev/null +++ b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8365-disable-git.patch @@ -0,0 +1,37 @@ +From d0f801a178755504c2f8956841823b2aa6a124c4 Mon Sep 17 00:00:00 2001 +From: Conrad Kostecki +Date: Sat, 28 Aug 2021 00:57:59 +0200 +Subject: [PATCH] IGC: CMakeLists: drop git + +Dropping git, as we don't have any git release. + +Signed-off-by: Conrad Kostecki +--- + visa/iga/IGALibrary/CMakeLists.txt | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/visa/iga/IGALibrary/CMakeLists.txt b/visa/iga/IGALibrary/CMakeLists.txt +index 061476d94..2fd44807c 100644 +--- a/visa/iga/IGALibrary/CMakeLists.txt ++++ b/visa/iga/IGALibrary/CMakeLists.txt +@@ -14,17 +14,6 @@ set(CMAKE_CXX_STANDARD 14) + + ############################################## + # compute the version string from the git repo +-execute_process( +- COMMAND git rev-parse --short HEAD +- OUTPUT_VARIABLE GIT_COMMIT +- OUTPUT_STRIP_TRAILING_WHITESPACE +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +-# +-execute_process( +- COMMAND git diff-index --quiet HEAD -- +- RESULT_VARIABLE GIT_DIRTY +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +- + set(IGA_VERSION_SUFFIX "") + if(GIT_COMMIT) + set(IGA_VERSION_DIRTY_TAG "") +-- +2.33.0 + diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.9-no_Werror.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.9-no_Werror.patch new file mode 100644 index 0000000..433b0e9 --- /dev/null +++ b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.9-no_Werror.patch @@ -0,0 +1,10 @@ +--- a/IGC/CMakeLists.txt ++++ b/IGC/CMakeLists.txt +@@ -2769,7 +2769,6 @@ + -march=corei7 + -mstackrealign + -fms-extensions +- -Werror + -Wno-unused-parameter + -Wno-missing-field-initializers + -Wwrite-strings diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.17791.18.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.17791.18.ebuild new file mode 100644 index 0000000..02a0dd6 --- /dev/null +++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.17791.18.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" +LLVM_COMPAT=( 20 ) +MY_PN="igc" +MY_P="${MY_PN}-${PV}" +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake flag-o-matic llvm-r1 python-any-r1 + +DESCRIPTION="LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware" +HOMEPAGE="https://github.com/intel/intel-graphics-compiler" +SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MY_P}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_P}" + +LICENSE="MIT" +SLOT="0/1.0.1" +KEYWORDS="amd64" +IUSE="debug vc" + +DEPEND=" + dev-libs/opencl-clang:15[${LLVM_USEDEP}] + dev-util/spirv-tools + $(llvm_gen_dep ' + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + vc? ( + >=dev-libs/intel-vc-intrinsics-0.21.0[${LLVM_USEDEP}] + dev-util/spirv-llvm-translator:15= + ) +" + +RDEPEND="${DEPEND}" + +BDEPEND=" + $(python_gen_any_dep 'dev-python/mako[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + ${PYTHON_DEPS} +" + +python_check_deps() { + python_has_version "dev-python/mako[${PYTHON_USEDEP}]" + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +PATCHES=( + "${FILESDIR}/${PN}-1.0.9-no_Werror.patch" + "${FILESDIR}/${PN}-1.0.8173-opencl-clang_version.patch" + "${FILESDIR}/${PN}-1.0.8365-disable-git.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + # Don't hardcode FORTIFY_SOURCE + sed -e '/-D_FORTIFY_SOURCE=2/d' -i IGC/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # Get LLVM version + local llvm_version="$(best_version -d llvm-core/llvm:${LLVM_SLOT})" + local llvm_version="${llvm_version%%-r*}" + + # See https://github.com/intel/intel-graphics-compiler/issues/212 + append-ldflags -Wl,-z,undefs + + # See bug #893370 and https://github.com/intel/intel-graphics-compiler/issues/282 + append-flags -U_GLIBCXX_ASSERTIONS + + # See https://bugs.gentoo.org/718824 + ! use debug && append-cppflags -DNDEBUG + + local mycmakeargs=( + -DBUILD_SHARED_LIBS="OFF" + -DCCLANG_FROM_SYSTEM="ON" + -DCCLANG_SONAME_VERSION="${LLVM_SLOT}" + -DCMAKE_LIBRARY_PATH="$(get_llvm_prefix)/$(get_libdir)" + -DIGC_BUILD__VC_ENABLED="$(usex vc)" + -DIGC_OPTION__ARCHITECTURE_TARGET="Linux64" + -DIGC_OPTION__CLANG_MODE="Prebuilds" + -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR="ON" + -DIGC_OPTION__LLD_MODE="Prebuilds" + -DIGC_OPTION__LLDELF_H_DIR="$(get_llvm_prefix)/include/lld/Common" + -DIGC_OPTION__LLVM_MODE="Prebuilds" + -DIGC_OPTION__LLVM_PREFERRED_VERSION="${llvm_version##*-}" + -DIGC_OPTION__OPENCL_HEADER_PATH="/usr/lib/clang/${llvm_version##*-}/include/opencl-c.h" + -DIGC_OPTION__SPIRV_TOOLS_MODE="Prebuilds" + -DIGC_OPTION__SPIRV_TRANSLATOR_MODE="Prebuilds" + -DIGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_SC="ON" + -DIGC_OPTION__USE_PREINSTALLED_SPIRV_HEADERS="ON" + $(usex vc '-DIGC_OPTION__VC_INTRINSICS_MODE=Prebuilds' '') + -DPYTHON_EXECUTABLE="${PYTHON}" + -DINSTALL_GENX_IR="ON" + -DSPIRVLLVMTranslator_INCLUDE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/include/LLVMSPIRVLib" + -Wno-dev + ) + + cmake_src_configure +} diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-2.7.8.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-2.7.8.ebuild new file mode 100644 index 0000000..9ff187f --- /dev/null +++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-2.7.8.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake flag-o-matic llvm-r1 python-any-r1 + +DESCRIPTION="LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware" +HOMEPAGE="https://github.com/intel/intel-graphics-compiler" +SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0/2.5.0" +KEYWORDS="~amd64" +IUSE="debug vc" + +DEPEND=" + dev-libs/opencl-clang:15[${LLVM_USEDEP}] + dev-util/spirv-tools + $(llvm_gen_dep ' + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + vc? ( + >=dev-libs/intel-vc-intrinsics-0.22.0[${LLVM_USEDEP}] + dev-util/spirv-llvm-translator:15= + ) +" + +RDEPEND="${DEPEND}" + +BDEPEND=" + $(python_gen_any_dep 'dev-python/mako[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + ${PYTHON_DEPS} +" + +python_check_deps() { + python_has_version "dev-python/mako[${PYTHON_USEDEP}]" + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +PATCHES=( + "${FILESDIR}/${PN}-1.0.9-no_Werror.patch" + "${FILESDIR}/${PN}-1.0.8365-disable-git.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + # Don't hardcode FORTIFY_SOURCE + sed -e '/-D_FORTIFY_SOURCE=2/d' -i IGC/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # Get LLVM version + local llvm_version="$(best_version -d llvm-core/llvm:${LLVM_SLOT})" + local llvm_version="${llvm_version%%-r*}" + + # See https://github.com/intel/intel-graphics-compiler/issues/212 + append-ldflags -Wl,-z,undefs + + # See bug #893370 and https://github.com/intel/intel-graphics-compiler/issues/282 + append-flags -U_GLIBCXX_ASSERTIONS + + # See https://bugs.gentoo.org/718824 + ! use debug && append-cppflags -DNDEBUG + + local mycmakeargs=( + -DBUILD_SHARED_LIBS="OFF" + -DCCLANG_FROM_SYSTEM="ON" + -DCCLANG_SONAME_VERSION="${LLVM_SLOT}" + -DCMAKE_LIBRARY_PATH="$(get_llvm_prefix)/$(get_libdir)" + -DIGC_BUILD__VC_ENABLED="$(usex vc)" + -DIGC_OPTION__ARCHITECTURE_TARGET="Linux64" + -DIGC_OPTION__CLANG_MODE="Prebuilds" + -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR="ON" + -DIGC_OPTION__LLD_MODE="Prebuilds" + -DIGC_OPTION__LLDELF_H_DIR="$(get_llvm_prefix)/include/lld/Common" + -DIGC_OPTION__LLVM_MODE="Prebuilds" + -DIGC_OPTION__LLVM_PREFERRED_VERSION="${llvm_version##*-}" + -DIGC_OPTION__OPENCL_HEADER_PATH="/usr/lib/clang/${llvm_version##*-}/include/opencl-c.h" + -DIGC_OPTION__SPIRV_TOOLS_MODE="Prebuilds" + -DIGC_OPTION__SPIRV_TRANSLATOR_MODE="Prebuilds" + -DIGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_SC="ON" + -DIGC_OPTION__USE_PREINSTALLED_SPIRV_HEADERS="ON" + $(usex vc '-DIGC_OPTION__VC_INTRINSICS_MODE=Prebuilds' '') + -DPYTHON_EXECUTABLE="${PYTHON}" + -DSPIRVLLVMTranslator_INCLUDE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/include/LLVMSPIRVLib" + -Wno-dev + ) + + cmake_src_configure +} diff --git a/dev-util/intel-graphics-compiler/metadata.xml b/dev-util/intel-graphics-compiler/metadata.xml new file mode 100644 index 0000000..35c6738 --- /dev/null +++ b/dev-util/intel-graphics-compiler/metadata.xml @@ -0,0 +1,22 @@ + + + + + gentoo@taujhe.de + Jan Henke + + + proxy-maint@gentoo.org + Proxy Maintainers + + + conikost@gentoo.org + Conrad Kostecki + + + Enable VectorCompiler for a better performance. + + + intel/intel-graphics-compiler + + diff --git a/dev-util/intel_clc/Manifest b/dev-util/intel_clc/Manifest new file mode 100644 index 0000000..3d92d89 --- /dev/null +++ b/dev-util/intel_clc/Manifest @@ -0,0 +1 @@ +DIST mesa-24.3.4.tar.xz 30691532 BLAKE2B a5cf1f49c6d809d19510793f5d1dcec1a3842495d3b4166e303d7f2d4744d179811697d264c5c9b39f2819ebc64a76357195b3eae6b1d2a83128de141354e3c2 SHA512 9c23cd86fda4cf0289c5a78b08ceea8b01e5b141d86ee3e659fa46e62ff9586ff92a4984d2a340b5bf209c4c7f3414bf99f3ced19feee8fb39ef99fe572dbd55 diff --git a/dev-util/intel_clc/intel_clc-24.3.4.ebuild b/dev-util/intel_clc/intel_clc-24.3.4.ebuild new file mode 100644 index 0000000..dcec3f2 --- /dev/null +++ b/dev-util/intel_clc/intel_clc-24.3.4.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/intel_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="amd64 x86" +fi + +LICENSE="MIT SGI-B-2.0" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-util/spirv-tools + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + llvm-core/clang:${LLVM_SLOT}= + =llvm-core/libclc-${LLVM_SLOT}* + llvm-core/llvm:${LLVM_SLOT}= + ') +" +DEPEND="${RDEPEND} + dev-libs/expat +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dintel-clc=enabled + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc +} diff --git a/dev-util/intel_clc/intel_clc-9999.ebuild b/dev-util/intel_clc/intel_clc-9999.ebuild new file mode 100644 index 0000000..7b45f83 --- /dev/null +++ b/dev-util/intel_clc/intel_clc-9999.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/intel_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT SGI-B-2.0" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-util/spirv-tools + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + llvm-core/clang:${LLVM_SLOT}= + =llvm-core/libclc-${LLVM_SLOT}* + llvm-core/llvm:${LLVM_SLOT}= + ') +" +DEPEND="${RDEPEND} + dev-libs/expat +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dintel-clc=enabled + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc +} diff --git a/dev-util/intel_clc/metadata.xml b/dev-util/intel_clc/metadata.xml new file mode 100644 index 0000000..a0aca75 --- /dev/null +++ b/dev-util/intel_clc/metadata.xml @@ -0,0 +1,12 @@ + + + + + x11@gentoo.org + X11 + + + cpe:/a:mesa3d:mesa + mesa/mesa + + diff --git a/dev-util/kdevelop/Manifest b/dev-util/kdevelop/Manifest new file mode 100644 index 0000000..6696fa8 --- /dev/null +++ b/dev-util/kdevelop/Manifest @@ -0,0 +1,2 @@ +DIST kdevelop-24.08.3.tar.xz 8819060 BLAKE2B e15dc7ac0808c04e2d7752b6ceb984286be5ba43a183acafd68d60a53308d02cbf3e9b281bb2029754e41f107237c811395a8b9e27cb5b8b13141536cf3207ae SHA512 1a1ffc4186efec19e7dfca403c6b327bfda0ed96793186a44aaf52e0f8eab2e070dc4452c632f112f0a296f4182bd8d1ab38dbdd5fbd2a1c982ec694a10eae2a +DIST kdevelop-24.12.2.tar.xz 8833936 BLAKE2B 92f7e413b9d47e5c6eb6b5e57afe88adc544ba7ce5edd7b856ab98780b6bd66af38b4e6013a0da1b4d91c21c1704d862d251cb4c546dee4e2f9a2b20f82f8015 SHA512 fadfa1b6f9ec83ae45bb9d5f909d33af15184a2f24e8a525b64c73f7e1f3c0534fa16b897ac59ce383c77780a5b182b55b924204ded373109227e0adb4715a98 diff --git a/dev-util/kdevelop/kdevelop-24.08.3.ebuild b/dev-util/kdevelop/kdevelop-24.08.3.ebuild new file mode 100644 index 0000000..b1a5e99 --- /dev/null +++ b/dev-util/kdevelop/kdevelop-24.08.3.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +ECM_TEST="true" +KDE_ORG_CATEGORY="kdevelop" +KFMIN=6.5.0 +LLVM_COMPAT=( 20 ) +QTMIN=6.7.2 +inherit ecm gear.kde.org llvm-r1 optfeature + +DESCRIPTION="Integrated Development Environment, supporting KF6/Qt, C/C++ and much more" +HOMEPAGE="https://kdevelop.org/" + +LICENSE="GPL-2 LGPL-2" +SLOT="6/$(ver_cut 1-2)" +KEYWORDS="amd64 arm64" +IUSE="gdbui plasma +qmake +share subversion" + +# see bug 366471 +RESTRICT="test" + +# UPSTREAM: not ported yet, check plugins/CMakeLists.txt +# IUSE="hex" +# hex? ( app-editors/okteta:6 ) +COMMON_DEPEND=" + >=dev-qt/qt5compat-${QTMIN}:6 + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QTMIN}:6[widgets] + >=dev-qt/qttools-${QTMIN}:6[assistant] + >=dev-qt/qtwebengine-${QTMIN}:6[widgets] + >=dev-util/astyle-3.1:= + kde-apps/libkomparediff2:6 + >=kde-frameworks/karchive-${KFMIN}:6 + >=kde-frameworks/kbookmarks-${KFMIN}:6 + >=kde-frameworks/kcmutils-${KFMIN}:6 + >=kde-frameworks/kcodecs-${KFMIN}:6 + >=kde-frameworks/kcompletion-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kguiaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kiconthemes-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kitemmodels-${KFMIN}:6 + >=kde-frameworks/kitemviews-${KFMIN}:6 + >=kde-frameworks/kjobwidgets-${KFMIN}:6 + >=kde-frameworks/knewstuff-${KFMIN}:6 + >=kde-frameworks/knotifications-${KFMIN}:6 + >=kde-frameworks/knotifyconfig-${KFMIN}:6 + >=kde-frameworks/kparts-${KFMIN}:6 + >=kde-frameworks/kservice-${KFMIN}:6 + >=kde-frameworks/ktexteditor-${KFMIN}:6 + >=kde-frameworks/ktexttemplate-${KFMIN}:6 + >=kde-frameworks/ktextwidgets-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kwindowsystem-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 + >=kde-frameworks/sonnet-${KFMIN}:6 + >=kde-frameworks/threadweaver-${KFMIN}:6 + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + gdbui? ( kde-plasma/libksysguard:6= ) + plasma? ( + >=kde-frameworks/krunner-${KFMIN}:6 + kde-plasma/libplasma:6 + ) + qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) + share? ( >=kde-frameworks/purpose-${KFMIN}:6 ) + subversion? ( + dev-libs/apr:1 + dev-libs/apr-util:1 + dev-vcs/subversion + ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/boost + >=dev-qt/qtbase-${QTMIN}:6[concurrent] +" +RDEPEND="${COMMON_DEPEND} + dev-build/ninja + >=dev-debug/gdb-7.0[python] + >=dev-qt/qttools-${QTMIN}:6[qdbus] + kde-apps/kapptemplate:* + kde-apps/kio-extras:6 +" + +pkg_setup() { + ecm_pkg_setup + llvm-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DLLVM_ROOT="$(get_llvm_prefix)" + $(cmake_use_find_package gdbui KSysGuard) + -DBUILD_executeplasmoid=$(usex plasma) + $(cmake_use_find_package plasma Plasma) + $(cmake_use_find_package qmake KDevelop-PG-Qt) + $(cmake_use_find_package share KF6Purpose) + $(cmake_use_find_package subversion SubversionLibrary) + ) +# $(cmake_use_find_package hex OktetaKastenControllers) + + ecm_src_configure +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "konsole view" "kde-apps/konsole:6" + optfeature "static C++ Qt code analysis" dev-util/clazy + optfeature "static C/C++ code analysis" dev-util/cppcheck + optfeature "heap memory profiling" "dev-util/heaptrack[gui]" + optfeature "meson project manager plugin" dev-build/meson + optfeature "formatting configurations via customscript plugin" dev-util/indent + optfeature "formatting configurations via customscript plugin" dev-util/uncrustify + fi + ecm_pkg_postinst +} diff --git a/dev-util/kdevelop/kdevelop-24.12.2-r1.ebuild b/dev-util/kdevelop/kdevelop-24.12.2-r1.ebuild new file mode 100644 index 0000000..a3c1597 --- /dev/null +++ b/dev-util/kdevelop/kdevelop-24.12.2-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +ECM_TEST="true" +KDE_ORG_CATEGORY="kdevelop" +KFMIN=6.7.0 +LLVM_COMPAT=( 20 ) +QTMIN=6.7.2 +inherit ecm gear.kde.org llvm-r2 optfeature + +DESCRIPTION="Integrated Development Environment, supporting KF6/Qt, C/C++ and much more" +HOMEPAGE="https://kdevelop.org/" + +LICENSE="GPL-2 LGPL-2" +SLOT="6/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64" +IUSE="gdbui plasma +qmake +share subversion" + +# see bug 366471 +RESTRICT="test" + +# UPSTREAM: not ported yet, check plugins/CMakeLists.txt +# IUSE="hex" +# hex? ( app-editors/okteta:6 ) +COMMON_DEPEND=" + >=dev-qt/qt5compat-${QTMIN}:6 + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QTMIN}:6[widgets] + >=dev-qt/qttools-${QTMIN}:6[assistant] + >=dev-qt/qtwebengine-${QTMIN}:6[widgets] + >=dev-util/astyle-3.1:= + kde-apps/libkomparediff2:6 + >=kde-frameworks/karchive-${KFMIN}:6 + >=kde-frameworks/kbookmarks-${KFMIN}:6 + >=kde-frameworks/kcmutils-${KFMIN}:6 + >=kde-frameworks/kcodecs-${KFMIN}:6 + >=kde-frameworks/kcompletion-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kguiaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kiconthemes-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kitemmodels-${KFMIN}:6 + >=kde-frameworks/kitemviews-${KFMIN}:6 + >=kde-frameworks/kjobwidgets-${KFMIN}:6 + >=kde-frameworks/knewstuff-${KFMIN}:6 + >=kde-frameworks/knotifications-${KFMIN}:6 + >=kde-frameworks/knotifyconfig-${KFMIN}:6 + >=kde-frameworks/kparts-${KFMIN}:6 + >=kde-frameworks/kservice-${KFMIN}:6 + >=kde-frameworks/ktexteditor-${KFMIN}:6 + >=kde-frameworks/ktexttemplate-${KFMIN}:6 + >=kde-frameworks/ktextwidgets-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kwindowsystem-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 + >=kde-frameworks/sonnet-${KFMIN}:6 + >=kde-frameworks/threadweaver-${KFMIN}:6 + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + gdbui? ( kde-plasma/libksysguard:6= ) + plasma? ( + >=kde-frameworks/krunner-${KFMIN}:6 + kde-plasma/libplasma:6 + ) + qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) + share? ( >=kde-frameworks/purpose-${KFMIN}:6 ) + subversion? ( + dev-libs/apr:1 + dev-libs/apr-util:1 + dev-vcs/subversion + ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/boost + >=dev-qt/qtbase-${QTMIN}:6[concurrent] +" +RDEPEND="${COMMON_DEPEND} + app-alternatives/ninja + >=dev-debug/gdb-7.0[python] + >=dev-qt/qttools-${QTMIN}:6[qdbus] + kde-apps/kapptemplate:* + kde-apps/kio-extras:6 +" + +pkg_setup() { + ecm_pkg_setup + llvm-r2_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DLLVM_ROOT="$(get_llvm_prefix)" + $(cmake_use_find_package gdbui KSysGuard) + -DBUILD_executeplasmoid=$(usex plasma) + $(cmake_use_find_package plasma Plasma) + $(cmake_use_find_package qmake KDevelop-PG-Qt) + $(cmake_use_find_package share KF6Purpose) + $(cmake_use_find_package subversion SubversionLibrary) + ) +# $(cmake_use_find_package hex OktetaKastenControllers) + + ecm_src_configure +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "konsole view" "kde-apps/konsole:6" + optfeature "static C++ Qt code analysis" dev-util/clazy + optfeature "static C/C++ code analysis" dev-util/cppcheck + optfeature "heap memory profiling" "dev-util/heaptrack[gui]" + optfeature "meson project manager plugin" dev-build/meson + optfeature "formatting configurations via customscript plugin" dev-util/indent + optfeature "formatting configurations via customscript plugin" dev-util/uncrustify + fi + ecm_pkg_postinst +} diff --git a/dev-util/kdevelop/metadata.xml b/dev-util/kdevelop/metadata.xml new file mode 100644 index 0000000..ac0fe32 --- /dev/null +++ b/dev-util/kdevelop/metadata.xml @@ -0,0 +1,17 @@ + + + + + kde@gentoo.org + Gentoo KDE Project + + + https://bugs.kde.org/ + + + Enable GUI for attaching GDB to a running process + + Enable support for QMake build system + Enable support for patch sharing using kde-frameworks/purpose + + diff --git a/dev-util/mesa_clc/Manifest b/dev-util/mesa_clc/Manifest new file mode 100644 index 0000000..9c849ad --- /dev/null +++ b/dev-util/mesa_clc/Manifest @@ -0,0 +1 @@ +DIST mesa-25.0.0.tar.xz 46643728 BLAKE2B 9aca2416ea4e304d46fda648cb9b8e04caa053458b91893fb874e9a30d8293722c3bed1098c2720b04b0c7278eba3b0387900b56e13b6133a23c0f6be705025c SHA512 7f5b6674c40b6c8dcab7934512ff754b40a6a8a466422c90236f614d322033d4d465307ddcd983f9f3afb1310e132ec3186a085d261c95493a0c460b2ec59ce8 diff --git a/dev-util/mesa_clc/mesa_clc-25.0.0.ebuild b/dev-util/mesa_clc/mesa_clc-25.0.0.ebuild new file mode 100644 index 0000000..06567b3 --- /dev/null +++ b/dev-util/mesa_clc/mesa_clc-25.0.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="mesa_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/mesa_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-util/spirv-tools + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + llvm-core/clang:${LLVM_SLOT}= + =llvm-core/libclc-${LLVM_SLOT}* + llvm-core/llvm:${LLVM_SLOT}= + ') +" +DEPEND="${RDEPEND} + dev-libs/expat + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dmesa-clc=enabled + -Dinstall-mesa-clc=true + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/compiler/clc/mesa_clc + dobin "${BUILD_DIR}"/src/compiler/spirv/vtn_bindgen +} diff --git a/dev-util/mesa_clc/mesa_clc-9999.ebuild b/dev-util/mesa_clc/mesa_clc-9999.ebuild new file mode 100644 index 0000000..6c08849 --- /dev/null +++ b/dev-util/mesa_clc/mesa_clc-9999.ebuild @@ -0,0 +1,95 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="mesa_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/mesa_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-util/spirv-tools + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + llvm-core/clang:${LLVM_SLOT}= + =llvm-core/libclc-${LLVM_SLOT}* + llvm-core/llvm:${LLVM_SLOT}= + ') +" +DEPEND="${RDEPEND} + dev-libs/expat + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dmesa-clc=enabled + -Dinstall-mesa-clc=true + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/compiler/clc/mesa_clc + dobin "${BUILD_DIR}"/src/compiler/spirv/vtn_bindgen2 +} diff --git a/dev-util/mesa_clc/metadata.xml b/dev-util/mesa_clc/metadata.xml new file mode 100644 index 0000000..a0aca75 --- /dev/null +++ b/dev-util/mesa_clc/metadata.xml @@ -0,0 +1,12 @@ + + + + + x11@gentoo.org + X11 + + + cpe:/a:mesa3d:mesa + mesa/mesa + + diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest new file mode 100644 index 0000000..393d40a --- /dev/null +++ b/dev-util/perf/Manifest @@ -0,0 +1,6 @@ +DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea +DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548 +DIST linux-6.13.tar.xz 148523052 BLAKE2B 9f617ecb3f2393b57ba03c654fea62a7213f24c835989f333a1ef29492af551bfa7d9ad786d5ef1484854adc77c7c6af38fb09a72d994d305695f512c325e77f SHA512 1137e6440132b0958f89165440e99208f82b204e7245ae69dc9c808df97d13ce8f58136db92407e0e93394fa7f6283ec7a34597c6e92a5b6d9025e0960357957 +DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad +DIST patch-6.11.7.xz 669756 BLAKE2B f2ec79bd337eaa61c7203c00ce61b3e5afa9eee38a3e38e63a7fc9270af86674e5c369ca7ddfe4fa5f79601b1c874af1ce732bd8987529c7db2f2f9ca54ba85b SHA512 031c22e2fa7e1c7808f50dc2120a35d10a0b81d30636c5d19146fe12558999517f132213b72c39a32d8cc2c0e14e16ff64cac63ef97f8be0ebe8e709a3de8156 +DIST patch-6.13.5.xz 459896 BLAKE2B 08f3dc28f8f9cbf561570dc74b1a7070be07f966c442e9a4baf98fc5d7b18ec9d15360911049747ecbc1fe91c3f32188006ce85817caf2ba10925bf9456d76cf SHA512 d1d4b60f6072291624fcab6c630e8cd06795ad84282ad7fd55b1ab288b762a092b8486d2905f1de8e91e7b0e7d6e9a0046bd76d8e7352ff7ab5129e2ef67613b diff --git a/dev-util/perf/files/perf-6.11.7-annotate.patch b/dev-util/perf/files/perf-6.11.7-annotate.patch new file mode 100644 index 0000000..ca6e7bb --- /dev/null +++ b/dev-util/perf/files/perf-6.11.7-annotate.patch @@ -0,0 +1,19 @@ + +Fix for bug #943203. + +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5363c306787c88d41a41493f81b4308643696f6e + +diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c +index a18927d792afc5..3bbf173ad822bc 100644 +--- a/tools/perf/util/symbol.c ++++ b/tools/perf/util/symbol.c +@@ -1931,6 +1931,9 @@ int dso__load(struct dso *dso, struct map *map) + if (next_slot) { + ss_pos++; + ++ if (dso__binary_type(dso) == DSO_BINARY_TYPE__NOT_FOUND) ++ dso__set_binary_type(dso, symtab_type); ++ + if (syms_ss && runtime_ss) + break; + } else { diff --git a/dev-util/perf/files/perf-6.4-libtracefs.patch b/dev-util/perf/files/perf-6.4-libtracefs.patch new file mode 100644 index 0000000..e02e2db --- /dev/null +++ b/dev-util/perf/files/perf-6.4-libtracefs.patch @@ -0,0 +1,23 @@ +Let perf find libtraceevent headers when detecting libtracefs + +--- a/tools/build/feature/test-libtracefs.c ++++ b/tools/build/feature/test-libtracefs.c +@@ -1,5 +1,5 @@ + // SPDX-License-Identifier: GPL-2.0 +-#include ++#include + + int main(void) + { +--- a/tools/perf/Makefile.config ++++ b/tools/perf/Makefile.config +@@ -185,6 +185,9 @@ endif + FEATURE_CHECK_CFLAGS-libbabeltrace := $(LIBBABELTRACE_CFLAGS) + FEATURE_CHECK_LDFLAGS-libbabeltrace := $(LIBBABELTRACE_LDFLAGS) -lbabeltrace-ctf + ++FEATURE_CHECK_CFLAGS-libtracefs := $(shell $(PKG_CONFIG) --cflags libtracefs) ++FEATURE_CHECK_LDFLAGS-libtracefs := $(shell $(PKG_CONFIG) --libs libtracefs) ++ + ifdef LIBZSTD_DIR + LIBZSTD_CFLAGS := -I$(LIBZSTD_DIR)/lib + LIBZSTD_LDFLAGS := -L$(LIBZSTD_DIR)/lib diff --git a/dev-util/perf/files/perf-6.7-expr.patch b/dev-util/perf/files/perf-6.7-expr.patch new file mode 100644 index 0000000..84f90c9 --- /dev/null +++ b/dev-util/perf/files/perf-6.7-expr.patch @@ -0,0 +1,24 @@ +Ensure versions of libtraceevent and libtracefs have 3 components. + +Fixes: https://bugs.gentoo.org/917559 + +--- a/tools/perf/Makefile.config ++++ b/tools/perf/Makefile.config +@@ -1163,7 +1163,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) + ifeq ($(feature-libtraceevent), 1) + CFLAGS += -DHAVE_LIBTRACEEVENT + EXTLIBS += -ltraceevent +- LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent) ++ LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent).0 + LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION))) + LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION))) + LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION))) +@@ -1177,7 +1177,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) + $(call feature_check,libtracefs) + ifeq ($(feature-libtracefs), 1) + EXTLIBS += -ltracefs +- LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs) ++ LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0 + LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION))) + LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION))) + LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION))) diff --git a/dev-util/perf/metadata.xml b/dev-util/perf/metadata.xml new file mode 100644 index 0000000..2a4e4ea --- /dev/null +++ b/dev-util/perf/metadata.xml @@ -0,0 +1,41 @@ + + + + + amadio@gentoo.org + Guilherme Amadio + + + naota@gentoo.org + Naohiro Aota + + + dlan@gentoo.org + Yixun Lan + + + Enable support for eBPF features with dev-libs/libbpf + Enable dev-util/babeltrace support + Use dev-libs/capstone for disassembly support + + Build documentation and man pages. With this USE flag disabled, + the --help parameter for perf and its sub-tools will not be + available. This is optional because it depends on a few + documentation handling tools that are not always welcome on user + systems. + + Enable dev-libs/libpfm support + Enable dev-libs/libtraceevent support + Enable dev-libs/libtracefs support + Enable NUMA support + + Add support for Perl as a scripting language for perf tools. + + + Add support to define SDT event in perf tools. + + + Use sys-libs/libunwind for frame unwinding support. + + + diff --git a/dev-util/perf/perf-6.11.7-r1.ebuild b/dev-util/perf/perf-6.11.7-r1.ebuild new file mode 100644 index 0000000..80452f8 --- /dev/null +++ b/dev-util/perf/perf-6.11.7-r1.ebuild @@ -0,0 +1,347 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +# setuptools (and Python) are always needed even if not building Python bindings +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + >=app-arch/tar-1.34-r2 + dev-python/setuptools[${PYTHON_USEDEP}] + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) +" + +RDEPEND=" + audit? ( sys-process/audit ) + babeltrace? ( dev-util/babeltrace:0/1 ) + bpf? ( + dev-libs/libbpf + dev-util/bpftool + dev-util/pahole + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + caps? ( sys-libs/libcap ) + capstone? ( dev-libs/capstone ) + crypt? ( dev-libs/openssl:= ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm:= ) + libtraceevent? ( dev-libs/libtraceevent ) + libtracefs? ( dev-libs/libtracefs ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-debug/systemtap ) + tcmalloc? ( dev-util/google-perftools ) + unwind? ( sys-libs/libunwind:= ) + zstd? ( app-arch/zstd:= ) + dev-libs/elfutils + sys-libs/binutils-libs:= + sys-libs/zlib + virtual/libcrypt +" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi +} + +pkg_setup() { + local CONFIG_CHECK=" + ~DEBUG_INFO + ~FTRACE + ~FTRACE_SYSCALLS + ~FUNCTION_TRACER + ~KALLSYMS + ~KALLSYMS_ALL + ~KPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~UPROBES + ~UPROBE_EVENTS + " + + use bpf && llvm-r1_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup + + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT" + fi + + linux-info_pkg_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + eapply "${FILESDIR}"/perf-6.11.7-annotate.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ + "${S_K}"/tools/lib/perf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" 1; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + + # sync this with the whitelist in tools/perf/Makefile.config + local disable_libdw + if ! use amd64 && ! use x86 && \ + ! use arm && \ + ! use arm64 && \ + ! use ppc && ! use ppc64 \ + ! use s390 && \ + ! use riscv && \ + ! use loong + then + disable_libdw=1 + fi + + # perf directly invokes LD for linking without going through CC, on mips + # it is required to specify the emulation. port of below buildroot patch + # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ + local linker="$(tc-getLD)" + if use mips + then + if use big-endian + then + use abi_mips_n64 && linker+=" -m elf64btsmip" + use abi_mips_n32 && linker+=" -m elf32btsmipn32" + use abi_mips_o32 && linker+=" -m elf32btsmip" + else + use abi_mips_n64 && linker+=" -m elf64ltsmip" + use abi_mips_n32 && linker+=" -m elf32ltsmipn32" + use abi_mips_o32 && linker+=" -m elf32ltsmip" + fi + fi + + # FIXME: NO_CORESIGHT + local emakeargs=( + V=1 VF=1 + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" + CLANG="${CHOST}-clang" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + prefix="${EPREFIX}/usr" bindir_relative="bin" + tipdir="share/doc/${PF}" + EXTRA_CFLAGS="${CFLAGS}" + EXTRA_LDFLAGS="${LDFLAGS}" + ARCH="${arch}" + BUILD_BPF_SKEL=$(usex bpf 1 "") \ + BUILD_NONDISTRO=1 + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + NO_AUXTRACE= + NO_BACKTRACE= + NO_CAPSTONE=$(puse capstone) + NO_DEMANGLE= + NO_JEVENTS=$(puse python) + NO_JVMTI=$(puse java) + NO_LIBAUDIT=$(puse audit) + NO_LIBBABELTRACE=$(puse babeltrace) + NO_LIBBIONIC=1 + NO_LIBBPF=$(puse bpf) + NO_LIBCAP=$(puse caps) + NO_LIBCRYPTO=$(puse crypt) + NO_LIBDW_DWARF_UNWIND="${disable_libdw}" + NO_LIBELF= + NO_LIBLLVM=$(puse bpf) + NO_LIBNUMA=$(puse numa) + NO_LIBPERL=$(puse perl) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=$(puse unwind) + NO_LIBZSTD=$(puse zstd) + NO_SDT=$(puse systemtap) + NO_SHELLCHECK=1 + NO_SLANG=$(puse slang) + NO_LZMA=$(puse lzma) + NO_ZLIB= + TCMALLOC=$(usex tcmalloc 1 "") + WERROR=0 + DEBUG=$(usex debug 1 "") + LIBDIR="/usr/libexec/perf-core" + libdir="${EPREFIX}/usr/$(get_libdir)" + plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" + "$@" + ) + emake "${emakeargs[@]}" +} + +src_compile() { + filter-lto + + perf_make -f Makefile.perf + use doc && perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + _install_python_ext() { + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + } + + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + python_foreach_impl _install_python_ext + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + if use doc ; then + doman Documentation/*.1 + fi +} diff --git a/dev-util/perf/perf-6.12-r1.ebuild b/dev-util/perf/perf-6.12-r1.ebuild new file mode 100644 index 0000000..8cc4d0e --- /dev/null +++ b/dev-util/perf/perf-6.12-r1.ebuild @@ -0,0 +1,351 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} python3_13t) +inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +# setuptools (and Python) are always needed even if not building Python bindings +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + >=app-arch/tar-1.34-r2 + dev-python/setuptools[${PYTHON_USEDEP}] + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) +" + +RDEPEND=" + audit? ( sys-process/audit ) + babeltrace? ( dev-util/babeltrace:0/1 ) + bpf? ( + dev-libs/libbpf + dev-util/bpftool + dev-util/pahole + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + caps? ( sys-libs/libcap ) + capstone? ( dev-libs/capstone ) + crypt? ( dev-libs/openssl:= ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm:= ) + libtraceevent? ( dev-libs/libtraceevent ) + libtracefs? ( dev-libs/libtracefs ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-debug/systemtap ) + tcmalloc? ( dev-util/google-perftools ) + unwind? ( sys-libs/libunwind:= ) + zstd? ( app-arch/zstd:= ) + dev-libs/elfutils + sys-libs/binutils-libs:= + sys-libs/zlib + virtual/libcrypt +" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi +} + +pkg_setup() { + local CONFIG_CHECK=" + ~!SCHED_OMIT_FRAME_POINTER + ~DEBUG_INFO + ~FRAME_POINTER + ~FTRACE + ~FTRACE_SYSCALLS + ~FUNCTION_TRACER + ~KALLSYMS + ~KALLSYMS_ALL + ~KPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~STACKTRACE + ~TRACEPOINTS + ~UPROBES + ~UPROBE_EVENTS + " + + use bpf && llvm-r1_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup + + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER" + fi + + linux-info_pkg_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + # Gentoo patches go here + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ + "${S_K}"/tools/lib/perf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" 1; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + + # sync this with the whitelist in tools/perf/Makefile.config + local disable_libdw + if ! use amd64 && ! use x86 && \ + ! use arm && \ + ! use arm64 && \ + ! use ppc && ! use ppc64 \ + ! use s390 && \ + ! use riscv && \ + ! use loong + then + disable_libdw=1 + fi + + # perf directly invokes LD for linking without going through CC, on mips + # it is required to specify the emulation. port of below buildroot patch + # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ + local linker="$(tc-getLD)" + if use mips + then + if use big-endian + then + use abi_mips_n64 && linker+=" -m elf64btsmip" + use abi_mips_n32 && linker+=" -m elf32btsmipn32" + use abi_mips_o32 && linker+=" -m elf32btsmip" + else + use abi_mips_n64 && linker+=" -m elf64ltsmip" + use abi_mips_n32 && linker+=" -m elf32ltsmipn32" + use abi_mips_o32 && linker+=" -m elf32ltsmip" + fi + fi + + # FIXME: NO_CORESIGHT + local emakeargs=( + V=1 VF=1 + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" + CLANG="${CHOST}-clang" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + prefix="${EPREFIX}/usr" bindir_relative="bin" + tipdir="share/doc/${PF}" + EXTRA_CFLAGS="${CFLAGS}" + EXTRA_LDFLAGS="${LDFLAGS}" + ARCH="${arch}" + BUILD_BPF_SKEL=$(usex bpf 1 "") \ + BUILD_NONDISTRO=1 + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + NO_AUXTRACE= + NO_BACKTRACE= + NO_CAPSTONE=$(puse capstone) + NO_DEMANGLE= + NO_JEVENTS=$(puse python) + NO_JVMTI=$(puse java) + NO_LIBAUDIT=$(puse audit) + NO_LIBBABELTRACE=$(puse babeltrace) + NO_LIBBIONIC=1 + NO_LIBBPF=$(puse bpf) + NO_LIBCAP=$(puse caps) + NO_LIBCRYPTO=$(puse crypt) + NO_LIBDW_DWARF_UNWIND="${disable_libdw}" + NO_LIBELF= + NO_LIBLLVM=$(puse bpf) + NO_LIBNUMA=$(puse numa) + NO_LIBPERL=$(puse perl) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=$(puse unwind) + NO_LIBZSTD=$(puse zstd) + NO_SDT=$(puse systemtap) + NO_SHELLCHECK=1 + NO_SLANG=$(puse slang) + NO_LZMA=$(puse lzma) + NO_ZLIB= + TCMALLOC=$(usex tcmalloc 1 "") + WERROR=0 + DEBUG=$(usex debug 1 "") + LIBDIR="/usr/libexec/perf-core" + libdir="${EPREFIX}/usr/$(get_libdir)" + plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" + "$@" + ) + emake "${emakeargs[@]}" +} + +src_compile() { + filter-lto + + perf_make -f Makefile.perf + use doc && perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + _install_python_ext() { + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + } + + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + python_foreach_impl _install_python_ext + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + if use doc ; then + doman Documentation/*.1 + fi +} diff --git a/dev-util/perf/perf-6.13.5.ebuild b/dev-util/perf/perf-6.13.5.ebuild new file mode 100644 index 0000000..b15c280 --- /dev/null +++ b/dev-util/perf/perf-6.13.5.ebuild @@ -0,0 +1,350 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} python3_13t) +inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind zstd" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +# setuptools (and Python) are always needed even if not building Python bindings +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + >=app-arch/tar-1.34-r2 + dev-python/setuptools[${PYTHON_USEDEP}] + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) +" + +RDEPEND=" + babeltrace? ( dev-util/babeltrace:0/1 ) + bpf? ( + dev-libs/libbpf + dev-util/bpftool + dev-util/pahole + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + caps? ( sys-libs/libcap ) + capstone? ( dev-libs/capstone ) + crypt? ( dev-libs/openssl:= ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm:= ) + libtraceevent? ( dev-libs/libtraceevent ) + libtracefs? ( dev-libs/libtracefs ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-debug/systemtap ) + tcmalloc? ( dev-util/google-perftools ) + unwind? ( sys-libs/libunwind:= ) + zstd? ( app-arch/zstd:= ) + dev-libs/elfutils + sys-libs/binutils-libs:= + sys-libs/zlib + virtual/libcrypt +" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi +} + +pkg_setup() { + local CONFIG_CHECK=" + ~!SCHED_OMIT_FRAME_POINTER + ~DEBUG_INFO + ~FRAME_POINTER + ~FTRACE + ~FTRACE_SYSCALLS + ~FUNCTION_TRACER + ~KALLSYMS + ~KALLSYMS_ALL + ~KPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~STACKTRACE + ~TRACEPOINTS + ~UPROBES + ~UPROBE_EVENTS + " + + use bpf && llvm-r1_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup + + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER" + fi + + linux-info_pkg_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + # Gentoo patches go here + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ + "${S_K}"/tools/lib/perf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" 1; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + + # sync this with the whitelist in tools/perf/Makefile.config + local disable_libdw + if ! use amd64 && ! use x86 && \ + ! use arm && \ + ! use arm64 && \ + ! use ppc && ! use ppc64 \ + ! use s390 && \ + ! use riscv && \ + ! use loong + then + disable_libdw=1 + fi + + # perf directly invokes LD for linking without going through CC, on mips + # it is required to specify the emulation. port of below buildroot patch + # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ + local linker="$(tc-getLD)" + if use mips + then + if use big-endian + then + use abi_mips_n64 && linker+=" -m elf64btsmip" + use abi_mips_n32 && linker+=" -m elf32btsmipn32" + use abi_mips_o32 && linker+=" -m elf32btsmip" + else + use abi_mips_n64 && linker+=" -m elf64ltsmip" + use abi_mips_n32 && linker+=" -m elf32ltsmipn32" + use abi_mips_o32 && linker+=" -m elf32ltsmip" + fi + fi + + # FIXME: NO_CORESIGHT + local emakeargs=( + V=1 VF=1 + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" + CLANG="${CHOST}-clang" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + prefix="${EPREFIX}/usr" bindir_relative="bin" + tipdir="share/doc/${PF}" + EXTRA_CFLAGS="${CFLAGS}" + EXTRA_LDFLAGS="${LDFLAGS}" + ARCH="${arch}" + BUILD_BPF_SKEL=$(usex bpf 1 "") \ + BUILD_NONDISTRO=1 + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + NO_AUXTRACE= + NO_BACKTRACE= + NO_CAPSTONE=$(puse capstone) + NO_DEMANGLE= + NO_JEVENTS=$(puse python) + NO_JVMTI=$(puse java) + NO_LIBAUDIT=1 + NO_LIBBABELTRACE=$(puse babeltrace) + NO_LIBBIONIC=1 + NO_LIBBPF=$(puse bpf) + NO_LIBCAP=$(puse caps) + NO_LIBCRYPTO=$(puse crypt) + NO_LIBDW_DWARF_UNWIND="${disable_libdw}" + NO_LIBELF= + NO_LIBLLVM=$(puse bpf) + NO_LIBNUMA=$(puse numa) + NO_LIBPERL=$(puse perl) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=$(puse unwind) + NO_LIBZSTD=$(puse zstd) + NO_SDT=$(puse systemtap) + NO_SHELLCHECK=1 + NO_SLANG=$(puse slang) + NO_LZMA=$(puse lzma) + NO_ZLIB= + TCMALLOC=$(usex tcmalloc 1 "") + WERROR=0 + DEBUG=$(usex debug 1 "") + LIBDIR="/usr/libexec/perf-core" + libdir="${EPREFIX}/usr/$(get_libdir)" + plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" + "$@" + ) + emake "${emakeargs[@]}" +} + +src_compile() { + filter-lto + + perf_make -f Makefile.perf + use doc && perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + _install_python_ext() { + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + } + + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + python_foreach_impl _install_python_ext + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + if use doc ; then + doman Documentation/*.1 + fi +} diff --git a/dev-util/perf/perf-6.7.ebuild b/dev-util/perf/perf-6.7.ebuild new file mode 100644 index 0000000..7ddda6c --- /dev/null +++ b/dev-util/perf/perf-6.7.ebuild @@ -0,0 +1,338 @@ +# 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 estack flag-o-matic linux-info llvm toolchain-funcs python-r1 + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +# setuptools (and Python) are always needed even if not building Python bindings +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + >=app-arch/tar-1.34-r2 + dev-python/setuptools[${PYTHON_USEDEP}] + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) +" + +RDEPEND=" + audit? ( sys-process/audit ) + babeltrace? ( dev-util/babeltrace:0/1 ) + bpf? ( + dev-libs/libbpf + dev-util/bpftool + dev-util/pahole + ) + caps? ( sys-libs/libcap ) + bpf? ( + llvm-core/clang:= + llvm-core/llvm:= + ) + crypt? ( dev-libs/openssl:= ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm:= ) + libtraceevent? ( dev-libs/libtraceevent ) + libtracefs? ( dev-libs/libtracefs ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-debug/systemtap ) + tcmalloc? ( dev-util/google-perftools ) + unwind? ( sys-libs/libunwind:= ) + zstd? ( app-arch/zstd:= ) + dev-libs/elfutils + sys-libs/binutils-libs:= + sys-libs/zlib +" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi +} + +pkg_setup() { + local CONFIG_CHECK=" + ~DEBUG_INFO + ~FTRACE + ~FTRACE_SYSCALLS + ~FUNCTION_TRACER + ~KALLSYMS + ~KALLSYMS_ALL + ~KPROBES + ~KPROBE_EVENTS + ~PERF_EVENTS + ~UPROBES + ~UPROBE_EVENTS + " + + use bpf && llvm_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup + + if use bpf ; then + CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT" + fi + + linux-info_pkg_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts} + scripts include lib "arch/*/lib" "arch/*/tools" + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ + > ${P}.patch + eend $? || die "filterdiff failed" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + eapply "${FILESDIR}"/perf-6.4-libtracefs.patch + eapply "${FILESDIR}"/perf-6.7-expr.patch + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \ + "${S_K}"/tools/lib/perf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" 1; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + + # sync this with the whitelist in tools/perf/Makefile.config + local disable_libdw + if ! use amd64 && ! use x86 && \ + ! use arm && \ + ! use arm64 && \ + ! use ppc && ! use ppc64 \ + ! use s390 && \ + ! use riscv && \ + ! use loong + then + disable_libdw=1 + fi + + # perf directly invokes LD for linking without going through CC, on mips + # it is required to specify the emulation. port of below buildroot patch + # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/ + local linker="$(tc-getLD)" + if use mips + then + if use big-endian + then + use abi_mips_n64 && linker+=" -m elf64btsmip" + use abi_mips_n32 && linker+=" -m elf32btsmipn32" + use abi_mips_o32 && linker+=" -m elf32btsmip" + else + use abi_mips_n64 && linker+=" -m elf64ltsmip" + use abi_mips_n32 && linker+=" -m elf32ltsmipn32" + use abi_mips_o32 && linker+=" -m elf32ltsmip" + fi + fi + + # FIXME: NO_CORESIGHT + local emakeargs=( + V=1 VF=1 + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)" + CLANG="${CHOST}-clang" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + prefix="${EPREFIX}/usr" bindir_relative="bin" + tipdir="share/doc/${PF}" + EXTRA_CFLAGS="${CFLAGS}" + EXTRA_LDFLAGS="${LDFLAGS}" + ARCH="${arch}" + BUILD_BPF_SKEL=$(usex bpf 1 "") \ + BUILD_NONDISTRO=1 + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + NO_AUXTRACE= + NO_BACKTRACE= + NO_DEMANGLE= + NO_JEVENTS=$(puse python) + NO_JVMTI=$(puse java) + NO_LIBAUDIT=$(puse audit) + NO_LIBBABELTRACE=$(puse babeltrace) + NO_LIBBIONIC=1 + NO_LIBBPF=$(puse bpf) + NO_LIBCAP=$(puse caps) + NO_LIBCRYPTO=$(puse crypt) + NO_LIBDW_DWARF_UNWIND="${disable_libdw}" + NO_LIBELF= + NO_LIBNUMA=$(puse numa) + NO_LIBPERL=$(puse perl) + NO_LIBPFM4=$(puse libpfm) + NO_LIBPYTHON=$(puse python) + NO_LIBTRACEEVENT=$(puse libtraceevent) + NO_LIBUNWIND=$(puse unwind) + NO_LIBZSTD=$(puse zstd) + NO_SDT=$(puse systemtap) + NO_SLANG=$(puse slang) + NO_LZMA=$(puse lzma) + NO_ZLIB= + TCMALLOC=$(usex tcmalloc 1 "") + WERROR=0 + LIBDIR="/usr/libexec/perf-core" + libdir="${EPREFIX}/usr/$(get_libdir)" + plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" + "$@" + ) + emake "${emakeargs[@]}" +} + +src_compile() { + filter-lto + + perf_make -f Makefile.perf + use doc && perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + _install_python_ext() { + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + } + + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + python_foreach_impl _install_python_ext + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + if use doc ; then + doman Documentation/*.1 + fi +} diff --git a/dev-util/pkgcruft/Manifest b/dev-util/pkgcruft/Manifest new file mode 100644 index 0000000..394e821 --- /dev/null +++ b/dev-util/pkgcruft/Manifest @@ -0,0 +1 @@ +DIST pkgcruft-0.0.10.tar.xz 32193612 BLAKE2B d0f28f63e0b4f1d1309156309331feb0daa0cd52c6f0491f918d49f76c425b36a47fd02060554cd4398ac3490d6e21009b7421cb0ca14a821093fca7f57087bc SHA512 14812be27345a737d91281c869bc8149581bf3802b3bddca19908bfb687013cd1ee751213e86c7c277850f07eff2b58358930c74cbe2e3f4b370929de518097e diff --git a/dev-util/pkgcruft/metadata.xml b/dev-util/pkgcruft/metadata.xml new file mode 100644 index 0000000..33c1ad3 --- /dev/null +++ b/dev-util/pkgcruft/metadata.xml @@ -0,0 +1,11 @@ + + + + + sam@gentoo.org + Sam James + + + pkgcraft/pkgcraft + + diff --git a/dev-util/pkgcruft/pkgcruft-0.0.10.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.10.ebuild new file mode 100644 index 0000000..fb3b2e6 --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-0.0.10.ebuild @@ -0,0 +1,122 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.82.0" + +inherit cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs + +DESCRIPTION="QA library and tools based on pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/${PN} +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="amd64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( dev-util/cargo-nextest ) +" + +QA_FLAGS_IGNORED="usr/bin/pkgcruft" + +pkg_setup() { + llvm-r2_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + # For scallop building bash + tc-export AR CC + + cargo_src_compile + + if [[ ${PV} == 9999 ]] ; then + # https://github.com/pkgcraft/pkgcraft/issues/258 + edo cargo run --features shell --bin pkgcruft-shell-comp -p pkgcruft + fi +} + +src_test() { + unset CLICOLOR CLICOLOR_FORCE + + # TODO: Maybe move into eclass (and maybe have a cargo_enable_tests + # helper) + local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)" + + # The test failures appear ebuild-related + edo cargo nextest run $(usev !debug '--release') \ + --color always \ + --all-features \ + --tests \ + --no-fail-fast \ + -- \ + --skip 'commands::tests::check' \ + --skip 'dependency::tests::check' \ + --skip 'dependency_slot_missing::tests::check' \ + --skip 'eapi_stale::tests::check' \ + --skip 'eapi_status::tests::check' \ + --skip 'ebuild_name::tests::check' \ + --skip 'eclass::tests::check' \ + --skip 'filesdir::tests::check' \ + --skip 'header::tests::check' \ + --skip 'homepage::tests::check' \ + --skip 'ignore::tests::check' \ + --skip 'iuse::tests::check' \ + --skip 'keywords::tests::check' \ + --skip 'keywords_dropped::tests::check' \ + --skip 'license::tests::check' \ + --skip 'live::tests::check' \ + --skip 'manifest::tests::check' \ + --skip 'metadata::tests::check' \ + --skip 'properties::tests::check' \ + --skip 'python_update::tests::check' \ + --skip 'repo_layout::tests::check' \ + --skip 'restrict::tests::check' \ + --skip 'restrict_test_missing::tests::check' \ + --skip 'ruby_update::tests::check' \ + --skip 'src_uri::tests::check' \ + --skip 'unstable_only::tests::check' \ + --skip 'use_local::tests::check' \ + --skip 'variable_order::tests::check' \ + --skip 'whitespace::tests::check' +} + +src_install() { + cargo_src_install + + newbashcomp shell/pkgcruft.bash ${PN} + dozshcomp shell/_pkgcruft + dofishcomp shell/pkgcruft.fish +} diff --git a/dev-util/pkgcruft/pkgcruft-9999.ebuild b/dev-util/pkgcruft/pkgcruft-9999.ebuild new file mode 100644 index 0000000..d449849 --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-9999.ebuild @@ -0,0 +1,122 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.82.0" + +inherit cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs + +DESCRIPTION="QA library and tools based on pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/${PN} +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( dev-util/cargo-nextest ) +" + +QA_FLAGS_IGNORED="usr/bin/pkgcruft" + +pkg_setup() { + llvm-r2_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + # For scallop building bash + tc-export AR CC + + cargo_src_compile + + if [[ ${PV} == 9999 ]] ; then + # https://github.com/pkgcraft/pkgcraft/issues/258 + edo cargo run --features shell --bin pkgcruft-shell-comp -p pkgcruft + fi +} + +src_test() { + unset CLICOLOR CLICOLOR_FORCE + + # TODO: Maybe move into eclass (and maybe have a cargo_enable_tests + # helper) + local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)" + + # The test failures appear ebuild-related + edo cargo nextest run $(usev !debug '--release') \ + --color always \ + --all-features \ + --tests \ + --no-fail-fast \ + -- \ + --skip 'commands::tests::check' \ + --skip 'dependency::tests::check' \ + --skip 'dependency_slot_missing::tests::check' \ + --skip 'eapi_stale::tests::check' \ + --skip 'eapi_status::tests::check' \ + --skip 'ebuild_name::tests::check' \ + --skip 'eclass::tests::check' \ + --skip 'filesdir::tests::check' \ + --skip 'header::tests::check' \ + --skip 'homepage::tests::check' \ + --skip 'ignore::tests::check' \ + --skip 'iuse::tests::check' \ + --skip 'keywords::tests::check' \ + --skip 'keywords_dropped::tests::check' \ + --skip 'license::tests::check' \ + --skip 'live::tests::check' \ + --skip 'manifest::tests::check' \ + --skip 'metadata::tests::check' \ + --skip 'properties::tests::check' \ + --skip 'python_update::tests::check' \ + --skip 'repo_layout::tests::check' \ + --skip 'restrict::tests::check' \ + --skip 'restrict_test_missing::tests::check' \ + --skip 'ruby_update::tests::check' \ + --skip 'src_uri::tests::check' \ + --skip 'unstable_only::tests::check' \ + --skip 'use_local::tests::check' \ + --skip 'variable_order::tests::check' \ + --skip 'whitespace::tests::check' +} + +src_install() { + cargo_src_install + + newbashcomp shell/pkgcruft.bash ${PN} + dozshcomp shell/_pkgcruft + dofishcomp shell/pkgcruft.fish +} diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest new file mode 100644 index 0000000..2786fb5 --- /dev/null +++ b/dev-util/roctracer/Manifest @@ -0,0 +1,4 @@ +DIST roctracer-5.7.1.tar.gz 354686 BLAKE2B 2e72d8df5cf53a913102a715dab55f7c6d33b2d4a9cad7647a61824deba0363cf3dbf96d8de3469a78d6b5c8e517c163c303bf6aa12eeaf8e43f82ac8381ef97 SHA512 62cf62fc505955426596bd6d539c92f4d730d90d820d817343525f1b7be693290727c8c447ca98b1a0e46d1d188b62b3f4fafcf6bffbf2479fc5d937fb354e13 +DIST roctracer-6.1.1.tar.gz 396688 BLAKE2B e332c3a6056d1678e3da511878fd2710a4eaa02526cd1e7353dd1dbcba776cb77e6e431d90daf5f238ec7793fc8e9f51afd7f09992f70b26c7e3aab28bb319a9 SHA512 d59c367953b1d5df0daae96746095e2e19f706f43b5ebed3d45c15d23697e9c99c1623bbb8dfa001648fdeda172a3c1d820d884b6da3946addec8f4b9a86e5dc +DIST roctracer-6.3.2.tar.gz 397366 BLAKE2B 0edc2e6483935dcbc8e905b1eac1d426c3e553491cbe119a8f6cba99cadad5c622ec7a0005e27e66d57f9baf4e3048033185cd38f32b4cfd17277d80673ac225 SHA512 d08657e8424cf2fbdee1caa46140dd90f45b5efe7c71a96c789b0bb350d7c36a9c725ae436bee00fb0948ab0de5fc5356f71082619edae1316922221c19eae1c +DIST roctracer-6.3.3.tar.gz 397370 BLAKE2B dff4c796b7284c2107ef0d308ee16d640aab6e9ce49c769a84352837f3e29e24e09e71d5a1d1fe19d22d218e607e85f7fbe6b43ff1a0a1f6e04aa859baefd054 SHA512 50ee107b7c8676dd5d41d2b9433fce701807b954b3d6624c25c32d057bd3a50ad2c7f853cb287c7bb5dd1f5fe2c3b0ec4a7cb082d5ef545c17f2ae2644c1df7c diff --git a/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch b/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch new file mode 100644 index 0000000..d8cc792 --- /dev/null +++ b/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch @@ -0,0 +1,12 @@ +Append flags for clang to recognize device lib path +=================================================================== +--- roctracer-rocm-5.3.3.orig/test/CMakeLists.txt ++++ roctracer-rocm-5.3.3/test/CMakeLists.txt +@@ -80,6 +80,7 @@ add_dependencies(mytest codeobj_test) + function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) + separate_arguments(CLANG_ARG_LIST UNIX_COMMAND + "-O2 -x cl -Xclang -finclude-default-header -cl-denorms-are-zero -cl-std=CL2.0 -Wl,--build-id=sha1 ++ --rocm-path=@GENTOO_PORTAGE_EPREFIX@/usr --rocm-device-lib-path=@GENTOO_PORTAGE_EPREFIX@/usr/lib/amdgcn/bitcode + -target amdgcn-amd-amdhsa -mcpu=${TARGET_ID} -o ${OUTPUT_FILE} ${INPUT_FILE}") + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} + COMMAND clang ${CLANG_ARG_LIST} diff --git a/dev-util/roctracer/files/roctracer-5.7.1-with-tests.patch b/dev-util/roctracer/files/roctracer-5.7.1-with-tests.patch new file mode 100644 index 0000000..eb728b8 --- /dev/null +++ b/dev-util/roctracer/files/roctracer-5.7.1-with-tests.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,7 +56,7 @@ endif() + add_subdirectory(src) + + ## Build tests +-if(${LIBRARY_TYPE} STREQUAL SHARED) ++if(WITH_TESTS) + add_subdirectory(test) + endif() + diff --git a/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch b/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch new file mode 100644 index 0000000..d6f5191 --- /dev/null +++ b/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch @@ -0,0 +1,67 @@ +--- a/script/gen_ostream_ops.py ++++ b/script/gen_ostream_ops.py +@@ -242,7 +242,15 @@ def gen_cppheader(infilepath, outfilepath, rank): + if c == 'max_align_t' or c == '__fsid_t': # Skipping as it is defined in multiple domains + continue + if len(cppHeader.classes[c]["properties"]["public"]) != 0: +- output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n") ++ print_c = ("typename " + c) if '>::' in c else c ++ ++ if '\n") ++ elif c == 'HIP_vector_type': ++ output_filename_h.write("template\n") ++ print_c = 'HIP_vector_type' ++ ++ output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + print_c + "& v)\n") + output_filename_h.write("{\n") + output_filename_h.write(" std::operator<<(out, '{');\n") + output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt++;\n") +@@ -257,7 +265,13 @@ def gen_cppheader(infilepath, outfilepath, rank): + output_filename_h.write(" return out;\n") + output_filename_h.write("}\n") + global_str = '' +- global_ops += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v);\n" + " return out;\n" + "}\n\n" ++ ++ if ' /dev/null +@@ -83,7 +91,7 @@ find_file(HIP_RUNTIME_API_H hip_runtime_api.h + ## Generate the HIP pretty printers + add_custom_command( + OUTPUT hip_ostream_ops.h +- COMMAND ${CMAKE_C_COMPILER} "$<$:-I$-I>>" ++ COMMAND ${CMAKE_C_COMPILER} -nostdinc++ -isystem ${SYSTEM_HEADERS_DIR} "$<$:-I$-I>>" + -E "${CMAKE_CURRENT_SOURCE_DIR}/roctracer/hip_full_api.h" -D__HIP_PLATFORM_AMD__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i + BYPRODUCTS hip_runtime_api.h.i + COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/script/gen_ostream_ops.py diff --git a/dev-util/roctracer/metadata.xml b/dev-util/roctracer/metadata.xml new file mode 100644 index 0000000..a7f7157 --- /dev/null +++ b/dev-util/roctracer/metadata.xml @@ -0,0 +1,23 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + gentoo@holzke.net + Wilfried Holzke + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/roctracer + + diff --git a/dev-util/roctracer/roctracer-5.7.1-r1.ebuild b/dev-util/roctracer/roctracer-5.7.1-r1.ebuild new file mode 100644 index 0000000..6c36347 --- /dev/null +++ b/dev-util/roctracer/roctracer-5.7.1-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +LLVM_MAX_SLOT=17 +ROCM_VERSION=${PV} + +inherit cmake prefix python-any-r1 rocm llvm + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm-Developer-Tools/roctracer" +SRC_URI="https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-libs/rocr-runtime + dev-util/hip" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/cppheaderparser[${PYTHON_USEDEP}] + dev-python/ply[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}"/roctracer-5.7.1-with-tests.patch +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.3.3-rocm-path.patch) + + # Install libs directly into /usr/lib64 + sed -e 's:${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}:${CMAKE_INSTALL_LIBDIR}:g' \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DWITH_TESTS=$(usex test) + ) + use test && mycmakeargs+=( + -DCMAKE_FIND_DEBUG_MODE=ON + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DHIP_CLANG_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} diff --git a/dev-util/roctracer/roctracer-6.1.1-r1.ebuild b/dev-util/roctracer/roctracer-6.1.1-r1.ebuild new file mode 100644 index 0000000..1bbcbf6 --- /dev/null +++ b/dev-util/roctracer/roctracer-6.1.1-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +LLVM_COMPAT=( 20 ) +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic llvm-r1 prefix python-any-r1 rocm toolchain-funcs + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm/roctracer" +SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-libs/rocr-runtime +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/cppheaderparser[${PYTHON_USEDEP}] + dev-python/ply[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}"/roctracer-5.7.1-with-tests.patch +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup + llvm-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.3.3-rocm-path.patch) + + # Install libs directly into /usr/lib64 + sed -e 's:${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}:${CMAKE_INSTALL_LIBDIR}:g' \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die + + # bug #892732 + sed -i -e 's/-Werror//' CMakeLists.txt || die + + # libc++ may have no experimental/filesystem + sed -e 's|experimental/||' -e 's|experimental::||' \ + -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \ + src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die +} + +src_configure() { + rocm_use_hipcc + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then + # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem + append-libs "-lc++fs" + fi + + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DWITH_TESTS=$(usex test) + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} diff --git a/dev-util/roctracer/roctracer-6.3.2.ebuild b/dev-util/roctracer/roctracer-6.3.2.ebuild new file mode 100644 index 0000000..453e1d1 --- /dev/null +++ b/dev-util/roctracer/roctracer-6.3.2.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm/roctracer" +SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-libs/rocr-runtime +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/cppheaderparser[${PYTHON_USEDEP}] + dev-python/ply[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-with-tests.patch" + "${FILESDIR}/${PN}-6.3.0-fix-prettyprinter.patch" +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch) + + # Install libs directly into /usr/lib64 + sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Test fails: https://github.com/ROCm/roctracer/issues/109 + sed '/load_unload_reload_test/d' -i test/run.sh || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die + + # bug #892732 + sed -e 's/-Werror//' -i CMakeLists.txt || die + + # libc++ may have no experimental/filesystem + sed -e 's|experimental/||' -e 's|experimental::||' \ + -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \ + src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die +} + +src_configure() { + rocm_use_hipcc + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then + # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem + append-libs "-lc++fs" + fi + + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DWITH_TESTS=$(usex test) + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} diff --git a/dev-util/roctracer/roctracer-6.3.3.ebuild b/dev-util/roctracer/roctracer-6.3.3.ebuild new file mode 100644 index 0000000..453e1d1 --- /dev/null +++ b/dev-util/roctracer/roctracer-6.3.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm/roctracer" +SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-libs/rocr-runtime +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/cppheaderparser[${PYTHON_USEDEP}] + dev-python/ply[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-with-tests.patch" + "${FILESDIR}/${PN}-6.3.0-fix-prettyprinter.patch" +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch) + + # Install libs directly into /usr/lib64 + sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Test fails: https://github.com/ROCm/roctracer/issues/109 + sed '/load_unload_reload_test/d' -i test/run.sh || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die + + # bug #892732 + sed -e 's/-Werror//' -i CMakeLists.txt || die + + # libc++ may have no experimental/filesystem + sed -e 's|experimental/||' -e 's|experimental::||' \ + -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \ + src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die +} + +src_configure() { + rocm_use_hipcc + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then + # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem + append-libs "-lc++fs" + fi + + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DWITH_TESTS=$(usex test) + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} diff --git a/games-board/jja/Manifest b/games-board/jja/Manifest new file mode 100644 index 0000000..67c0593 --- /dev/null +++ b/games-board/jja/Manifest @@ -0,0 +1,239 @@ +DIST addr2line-0.21.0.crate 40807 BLAKE2B 9796b9a1177a299797902b7f64247d81d63d3f7e0dcc1256990628e84c5f92e3094ee8d753d9b72187b9aaa73b7ca67c0217899f2226ebd1076f8d25b458475b SHA512 afde7660dda30dee240e79df1fb5b92d4572520bf17a134ef3765e2a077af9e13713952d52e27fae420109b40f6e24dbce1056687dbcbead858ffc21cc7dc69b +DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 +DIST advapi32-sys-0.2.0.crate 7217 BLAKE2B ef3328a3405f51afe01b4bf0dec00def432a23935fb1d26a4c577b7f4716f1018ae44ba3d738275406512cc7085fb8be9f3795a56e84349acd2af64165ddef84 SHA512 8e6bc75fcb2b91d2b8fe281d165aa8281c8ecca9ba09552f5e4cdbadc03b91db5a98789233c4dc858ee9cf8a3488f28af5a742dac50b44f6397fd14478b77618 +DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST anstream-0.6.14.crate 29160 BLAKE2B 1120895a51ed7a285c5d5a03d2f7e26dc956d95f39cf500ba9f547d71a62ed0326f519860ddcf8db77cb09e9119e914a62693369eca51cbf9c01ef874ade9112 SHA512 65ece20958e3fb1ed4a5ff1d45f5bfdcb942c64994a3d14eefb0dfd5b04f433f6e1b06ebff240c67ed8ff7cc01d93ca0acf8c8ea29cb41309c6c882e7c192b34 +DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed +DIST anstyle-parse-0.2.4.crate 23069 BLAKE2B e80bd81e351326a222238b3f559020a2430ac37293e61b6b6309b37bbb8bdb78ec11ca9c0fd270098af5e5ffb2f5660cfbfda949d20fd2efd336ed1c143215b2 SHA512 c1dac475df77d090a4d2041ba40ff418abe66e93e4ddda54653bf024fb4995e431166684343509a2337bc813fe06f362d3df8a1d7d05d177cec1a488bcb9942a +DIST anstyle-query-1.0.3.crate 9742 BLAKE2B cfcba0a2773f07b9292279afd70832c5d4eb441ed61bcacdbeeda9184c63b7e01af70a8744d6efceb7f74a2c2dfa5672b873255cc1d273bd6a2d3d7ee08c2d2b SHA512 38637f49e547836a4958d9f528cb270abfc81c5ca644d6d43b0f3aaef8c6f1301a8bc30a23afec5e71722c3afe7eb0f48f9fdea88b73e36f597b74531da84226 +DIST anstyle-wincon-3.0.3.crate 12179 BLAKE2B 37793975a05ad60bb2b670c208db11c5cda8a2a456242cd118748709d0a220b541b6f088676eccd19870cfb8f910d4aa1e7764393785a6db0531af4a3ffc8047 SHA512 55217c65fc9ec674e5b4dd70716a221bd108b507dce9baaeb542f0e0a47027ec7fe61f9cd3cccfda43e4a4cd785b42f13400daf89884c32d3768e48bdff2d179 +DIST anyhow-1.0.83.crate 45650 BLAKE2B 522121300f10688756aac1c39e83e867e20b9f142fdc1bb87732d8a64f6bf67411f1e35542fae7aa036d9221412a29b47acc75de8a2bb019bab90fece55e2c86 SHA512 4e4b29fd0a97ac55269d23efa399a372ef6128e1909ce464f178ae91fc61dc90a5867cd2a7218205f53988aea8cff6649302f7f6f12e07d1b5d3472d4c5eaaf3 +DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST backtrace-0.3.71.crate 86553 BLAKE2B 15ed93574fb9e8e28d5ad901bb1f94013b5fec7a79aa96d17f13f6f11a02d29a274ec14ce51a9f515574839aa41232e5aaf6e6fa3ad9c0483591055bd0a78c8a SHA512 5d9307757349e860fb4cab7e9ba1c9d0f1faf49ebcd935ba879b85fed2a9812786c7458abb59a742842a0796fc29ce9921cf575792402486ecdbd9a2568cdd89 +DIST benchmarking-0.4.13.crate 5318 BLAKE2B 81e4246d151ad021ffa21f593b2037248625661aa577fbb70d03ecc24d6b5de7b17412a185bd316e201481e669fe89fa5922bbb9f470eac7478c722d676b82a0 SHA512 e39fcfb224f5ac2a8890134d5d5df0d9196d03bcd65dd3946259b24424d49749dd3b3a6f3b97961fdebc3255c5bc234ede40001401a0b882090bb72f2e7de4c1 +DIST bindgen-0.65.1.crate 213479 BLAKE2B 91f143d6d3ca37990ff01a9f11ba43fc7808210f47143419abd2de1d4b38a4855a806476b5607aa140de77b83db1649e318f6f904338c621cb300a53a00b1b01 SHA512 f3fab122b02abe8eca4438edb220eae0066a43f6ff4459aedca6c6261e769bdbdd6c820e5b29ddbc5b5cdf8ec0bdac1a4bc374fae2772117958e7c40bc22e8f2 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9 +DIST block-0.1.6.crate 4077 BLAKE2B a2c11873b8cb1a1ea399ecc99ed45e5d0b9399bd88435cdea346910b8707b7da94eeef522dafa5cdb09929534472b2a096c03c373744a789962d4175fd1b110e SHA512 c278e3c0346cae423b533a8f5d6b822e788ec450c92ef0f5f559d5705764a0a11df49f0f66bb1c8af7e89bec8ec802934676b969e43f92255a38b210d0fbd710 +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb +DIST btoi-0.4.3.crate 10007 BLAKE2B 60a4c0511afc23ec3bdd07a905e82b501f1000081e6dbfca9ee6a0d6aad40ade84ab09d740fbc8e9656653a7f5a9a12a68ffa732618e8dc87f9cf00a90b6d3cd SHA512 35d54183a37c8adb11838724a061b38d286a92603a557ee8b4b80dd230649a0ceb165fcab4b6e41402284f2153e18fad5c246f83d99accb2fdaa8f32f854bd22 +DIST built-0.7.2.crate 21148 BLAKE2B a045171fcfdc3e58cba332ea21a0e814922ca8895d1f02033d2ed45d18685c0df06a5df9269523c7f75c4772365066d486ea0a507f9991459e0c1984c56d9ae4 SHA512 840a59423475baeff4e1c626a2117b75859f25d50de83bf7f36efd790842dc713bd7bbbf7b650f63e4442c0d8d4e5ccec08c2273d09c213d48f5ac45643ef0af +DIST bytefmt-0.1.7.crate 3814 BLAKE2B cc6f985d93ea5d4b92dccb5bc02cb1d2a30dcc869b569eff7b8dcf4c45977faf31a9b3393d8b30d79f7c81cab03a9de8167ac283b79fb15a696b395dae8d17d8 SHA512 807d84c6366cbebd6624749be101bc29e65b58d6148dfc66304c1c1876708ca3bae8ad8657401f87829cf146fd999efca0b6785b9a276441e4b9a5d43656b4b7 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555 +DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b +DIST cc-1.0.97.crate 76951 BLAKE2B ec2e65797dfe13223b64f28bf6d143e00362f8bdd14e4df3d16ec2c5b68b8c603968f8cf6e7ede95b527ef16a748775bf247e8bf11010a326bbac4b296d72eb5 SHA512 119d1769530ec2fcc643b9b4a0f2a45db6f0772e4df882b832f961824bbb41d101d4a507573b4e05b4627d647fa823e81bc66dafdde40146878616af96b24143 +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.1.1.crate 6009 BLAKE2B 6acfae9a89d3479f7ce1f0b5dbb13bfe27c006b936a96685606a61a06f69d17ab754a8a0d96c54213f758281c2fb32ac74d03a34e0f836dc7e438387955aac37 SHA512 238828445c5b48ca41ff88825af0a1ad30494e423bb6f89b6d5e4d26042afaa1ceb0e32041f7cddd79c3e15c6c82a1ddb9469c4b63a1ac52d4bcc1174900f880 +DIST circular-0.3.0.crate 4571 BLAKE2B 4e40382b5d7df5162993e307c55981c72de69689927c257a40e6f85510c398c897e0f99962e52d466f0d6dcf869ea181cd24ebe459d4a6a32edbe08997f00fd1 SHA512 531ecc0f996188d3479c36c808f66f85e9d9a9ab462ed56a2f957b99c49176e7209067eda679e8497c2fae9421e36447ea4e770905781204172f0d8492a5b22b +DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81 +DIST clap-4.5.4.crate 55401 BLAKE2B e9ece2eee6be16c366888f6140080c43a182aa758a971ab2f60fa5c8f5e00460c3e6ae6bface1f36445306265ce13d8145ac24cef833b68b2b2c32c13a7a4a00 SHA512 c1e88968a86598a6541cd8f8144909872fe71fc707dc5327293a71425f6ff9d4957491f93c36326a9f615c1cce1a453cc85740ff18e1ca571e91bf8f7a6ad7c0 +DIST clap_builder-4.5.2.crate 163566 BLAKE2B 5eb81df416f3da0bb7e53c59ef4e914f03e2bb0563bb3707fbf70215f249aa523e3f5ef2205d0a8e25c23db6c6d0d344181c1c771566453505c769c55b355374 SHA512 af7eb8326a980cf461442a4dd6d224e61ae31a2fe4a45b34210a2c1f747eed49e00b6254699e82f986f441667f290a5de747b5e9d9d0360ed049504343385864 +DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036 +DIST colorchoice-1.0.1.crate 7895 BLAKE2B f1c841e74f01f33fa83cf41c5f0a1286ca3899239d9a188a838550abde507af374a4fe3e85934d10d28bd5eae2c7fa1f662307bd46d5dd4daa52249cb64ebb5b SHA512 3d216ba46cfcca5c52a56884ed09fe7d6d350ccb44144a60c75006582f7f9a28df21d44375a8cb304c721b9de615875675b3a03c485eb209b2a12d745fa609cd +DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 +DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6 +DIST crc32fast-1.4.0.crate 38665 BLAKE2B 77398dedfa5e61357fb9abe3415ee53e45d3f1f7aaee959cbc9774f31a10ed324da2a558d20fd7c0674d450c8985b1e9c78b0b65e6ae2d9da6c873fe631c5ce7 SHA512 3e0bf1d2411ad9c651e0242c574cfda09403db24ab4b55560145ee73b31b08be45e5e12ce2db991d165ff056c7f2f67203fb2c048651f1c66ce90ec3276c455e +DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994 +DIST crossbeam-channel-0.5.12.crate 90515 BLAKE2B 5a302e58411d99d52630cd154f4f642ec925af3330ced9456a16e417e2e43a37dc2b2288ccc88137a75e682e7b10ab2979f1f90c0bd42ceca8fa84c700b7dd0d SHA512 e17b0e41901b2b41e89913a0a50cd1eaacbf64cd07f454605a85781b8b1373c35bedd16ccf6b24029404a3171e0d670fc2b1474a6448d0feb40ba0e41f99019c +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe +DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9 +DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f +DIST ctrlc-3.4.4.crate 14660 BLAKE2B fe7c2ca8352dbe40e60ad2c63654beafd9ad3f62483b23b3c614a22dacc8ce0edd2b94e9ec3a2472c581f6a1b8befe0952df092b4c7d34ad92414190e285e51b SHA512 c09c5bb87e4116e4f2604023d9a94afb9985678a4d02aac17baf5b5d13d0ac7321e07dd7b20ed620af9670926acdb6b78be37a56c8be171c21975d34ebf0196c +DIST dialoguer-0.11.0.crate 31286 BLAKE2B 612c7b9de482b48df6404ce31b3d9a8afbd1c8c42807f2c3bc343bd3aa16c359abc95bc879304f29c6861c93101833bf5da036eb0fe85f21be50fdc3a771f447 SHA512 7124e9943dd4fd4403200357b7d26683e7ea709ad9b0251af5d6db4dc8da2a476c6b89e7413df3a90e4279498bd54b67d8d0b161b0e5ae8ebd0bb5b5276cd612 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c +DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766 +DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5 +DIST displaydoc-0.2.4.crate 23200 BLAKE2B 91b0ae7018109d407095060b6bbd6aed1cc21120bc30348e8b16b5121f7c35ab72b65e80bf97dbea6cb4ee6b4d5215e8e5c4374f92a569697bc9c862348620cd SHA512 a1de2c200584bfac640f8b84b5103d8687919cd29f59a14898e98d480f476a8e4dc06e3b929af479d536cd02186e2a9be72e6414338bc117b97bc0d160029592 +DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff +DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 +DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359 +DIST encoding-0.2.33.crate 88798 BLAKE2B 4163e26e6f38f7fc1d7424f1135fec1dddd2af3d6dd5f5bc6a5edc3eb3fd56af56858cc0fa5ed6a241b55882807f72f2e5d2940c9a7e5c4c6700ef905727044a SHA512 10c186e0f6ffcffeacb11a66fa39960454955b4827dba03e13d9ab5294bf14e77faa8e64956d5c3756fbb7e930081b7b301db8ad6873a6e8d44a7f9d98566e4e +DIST encoding-index-japanese-1.20141219.5.crate 91495 BLAKE2B 4deb91b0b2dd1b33bc4b43ac2ec31df0552344b1177c9e504481d62a706b1c187eb3f4e8dd78c62871aa58c86ab6e309494b1b7937843de6056f3d1a0120160c SHA512 879fa0b9a294f3a73a4b224318ce5e44bc1ad0496763a518cb9ee251a4cadeb08885df97eb72f27a1e331f36d46a96824f98b7d128d879c0639405a10e08b8e2 +DIST encoding-index-korean-1.20141219.5.crate 103230 BLAKE2B f3acdd4375ddda1f6b3c070566f1a52dbbbe2384bc6be79150e4e55b88740858791d66f95040ad9f637bf13e381b9f316b14bb5617a8949bab4040b91d0d18bd SHA512 0e79eb9b01fe0354532dc7a8ca55e6332add19827905340560ef9b0e4725becda68ffedd5d18b9ac9d0c4a1b64fb337a9a31de5891b9e6469478fc974e5f9884 +DIST encoding-index-simpchinese-1.20141219.5.crate 130962 BLAKE2B 3c1e498c170edaf2a954439e50b3ccc31560806063a11610c4563975810a65c64e547168674ef778beb1d1d603cd508145f3153a03748d5e8c7e79690af6e3bd SHA512 caffc2a9b77545c2cc22bfcb38c886fba21e765ef49a3cfcfff88ebd76064432638bb432cd57a7ecd23bf2ea074c400c1f043a0589e5aa28024ed3ae0f59be75 +DIST encoding-index-singlebyte-1.20141219.5.crate 14950 BLAKE2B 89faf849452f0fe78b82616614f43bffaf658dd81063ae5d130ad6eb64d38e0ee8a26ab078f8c992f0c7f3e1db768e73920482f5e3bd56b0d7370c72fc93755f SHA512 648a5b9dcbdd40184b6026f6d0593df3b75c5eed554c19a199810c99aba857fccbab2acbf5b047ff42a75a6a3f6e8211a07e70e6fa4048f07144f9132af7d17a +DIST encoding-index-tradchinese-1.20141219.5.crate 120862 BLAKE2B 727a26b32f2bdec20dfeda482fad4235ca3ded489a002c27d0c26cbb9f37ea81f93f7e46ee4750dfcd7385dfc8bc55669a0a21b3acdba2a1fe91b855edd2decb SHA512 3b23213433947af7c56e9ea3e4eaf937b8083ce7e9e481b1351925a6da647be6a037b505116bab08ce73727bec75550bccb877ead6cb7fb0473bb3bd3d40833d +DIST encoding_index_tests-0.1.4.crate 1631 BLAKE2B 65151672aaa863b169b6139c8e68065ecd6ab602e8fbf8b0f68a5e2af3f34858d363e5f0602f58e4ad3169ddea83d02a0f19a6d635584521397bee63587c9fd9 SHA512 0635e6a879d59aa3373e1c0cae6f61b9bd11138691a1113f3639a1d16ba894c1554f29a6d347353f02395508be4da8a4b16b17db3339cf970a62267874fe93a6 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST fallible-iterator-0.3.0.crate 19639 BLAKE2B 58b8fe842fd6514fa4327eacc81b157a4a9bec4ad9b8e69248c0f0aa5610dbddb9c8a72e6e6ef9fb8216e8f79e6aab439e90d4d527e35634ab222347cbe39974 SHA512 c655918fcda5deb8ce792708509e4959139f113c1006dd41b94d7073ffc204512a22cdeeee05c87534db9c414da3f4eb716e1a26970646fcb1c139a14eb8a2fa +DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc +DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 +DIST find-crate-0.6.3.crate 12092 BLAKE2B 5434dd8ba17e54ddc3d68e0fbfdb0e0a2026c0c62ed76e5b64b19d8da1963e693e43f385c41d0b7d480369705291ac67abff9aab8f2b7a84b57abd7b4732cfa4 SHA512 f7866a4f917df064277630570f987898e465dce98be548ff7535201ada88b5db71c755f00013fcfed45ffdf29fd667c90ff19999a1fb7cb183a7007bd011f899 +DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578 +DIST fluent-langneg-0.13.0.crate 11723 BLAKE2B bfa4ec1a3a11360d28b5291e8eed2628ca6007b8afca726ded87d630394773835b3c8aaf818376a93a60de10feab25d7784c8d2b1e34e63b660d581a37d9626d SHA512 397d0a4f3508c7f58105dbb9ef7a32c5c4ebe4a73d80d2a19930479bee325839485c8002b49fb8c55d686ec9f3ed1d26493b56825b65d60ef7fba78a1442f9d5 +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST gettext-0.4.0.crate 12223 BLAKE2B b351e521a3b553ad0038f8706d6115296488c031bd333e58d367ef9d9b0fd72808b7f92494d74d4376309941ab93f6714785f976725259b6bff66e81d618fe2c SHA512 42e54b0a75b4880aaf709d2be97dbb14dae7c782f37327e16f3d80f0a1a2b7c2fbac4e242e3f1216cb7b5a68f4058b19dd7e711b2d044b1c674d365a72fe689c +DIST gimli-0.28.1.crate 270497 BLAKE2B 4089e0f871295d464e548610ab5f0c2fd863825416109cf58ca827e482897f00eab23b795295758f1e3af16167b52c77c91df6f707f1f445984a6c4bcd68c6ef SHA512 695e46471fc07813dc4a47744458729b097f6efbfceeb57eb3db4165654e99bebb98dde2d73230b90bb5dd7c0ca0c6e77c7c3dc6f2abf70058b830a2fb386d25 +DIST git2-0.18.3.crate 213009 BLAKE2B f0df4ba154d08f7e7ccd2f5bac9c41c60dd4af7c49d525b0b30fe9fc563c8fe62cf6be833e867f86d61103b946223a7cff9171aad569b8596c340deded56e419 SHA512 f74221d0d96c36d9362c762185b6715f93adc78d5b4db89a3008a2baeb4bb05d5cee2f3c53f59fec97e9a690f82ac3a4f29a1633445f63c6137512255fed48a5 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST hashlink-0.9.1.crate 28928 BLAKE2B 14276fe00fb8aa7a8183b5cedc99eb403c0a68cb662555cd51efbe55a46c864f68f3d421395f56defcd1a87576c5a38509581adb5d02b831d9aab2efdd376f9f SHA512 16189f332b9e2a71f8cf4c8b72485eb107c4a84d4bfe3c739ecea8fe5dec33ad3c796d57830b12c176bc65a2066913c809a0f7c8db83e9da1bb0c555de8d3717 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hostname-0.4.0.crate 10632 BLAKE2B 85c1b224aa0de4c64a4c56dc284145c50bfe3ddc9063e0884de1cc994b38931552229c57dfa832e927f816df0d93d7b553bd8b4ede582939bebc36c0acf451a8 SHA512 1365d02b3c438d467cee0bb704e98b601390cfc76ff290da198d6c1e85bdd57db5ea07ed9d14b35f4b0cb3c2999eddda69667fca4b01ef3b6c4df1769f0abd21 +DIST human-panic-1.2.3.crate 11443 BLAKE2B f537fec064dccbaf494983ed9ff39e3d40a3934c2e3dc4f784adf188b57a0321306c643f6042c5744290c3719388108563ae61f217b84c1c94428dcce7e32cd5 SHA512 9b4b78d53112be252872e0befcc5acdf9f3faa9a49991afb9f19c9c9d68621fdc46f9b862a904c1e484609dd9181d3da7cf495ac7cb734aae75ea0745b4b5158 +DIST i18n-config-0.4.6.crate 7890 BLAKE2B 3abec6eb04d93120a89ef697cb3b3f2ecdc9cf80a2d12dd5609f2bd6db74a72d1a3a0157ed06dfd280a6b14e553583f93a4c8dbd0d474b6609af71c6f67ce84f SHA512 f82a162dad2107372d6e0c910458ecbbaad427b2cc40b25c6c6561d3a49e3b6620b63b2327e1f3a13f1d2d21bea3b0f18b20cf10c138d989b047e281e38a3d7d +DIST i18n-embed-0.14.1.crate 24987 BLAKE2B e6b4c0082e652188c9a18ed816f4cc0e295132dd5f7dcd6f7236bf62b0927690eb5cf3d3d8d00a86d9509bbeaa28df6867b61854c5a557722e1c91ba47f5331d SHA512 c34a1300815bdffadb5e86ccd671eee22def30882bf81d885f8270908100c3fa81696b7e3729f27854a4fe49aac5eacf97b69f2c9762f181e139b677fb8e9eae +DIST i18n-embed-impl-0.8.3.crate 4712 BLAKE2B fef9de75eaf4fac7d126da7c2a50774cfd8d98de72e45a72a65d6f04a8d1cd7f3be2741629c7a41406001ae7eedcb1ba18b4b22e788301327e480b0fdd9f7bb0 SHA512 4c0099cd83629b8ed89ab124f519a1100ea59e23899db7aee189ea8a5495c267bb321377e4be73684329db3138a74fd6a4b3b616c22af50a50e7ee5fcb27022c +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea +DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf +DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407 +DIST intl-memoizer-0.5.2.crate 11708 BLAKE2B 54fdd1cd254ca570c3d829e2f9cc09acfe350ef73936fd663a5af46a4a4b56f7f5ff6cd46d4e922e60f700dc6ff11a106a9a3dea227ff5c166c72946f12428ba SHA512 01334436ef65fe529e9673f9bf38c995a346ddd2ef77e993e2c7ebab990ccb00c69f8847ceb8de86a6e9c625c4fd8b3c9351a50a96367919ca985eb2e962e405 +DIST is-terminal-0.4.12.crate 7470 BLAKE2B 6d1db6148198299d0775539734dc62a3c7e453d621d69e01c3addeadbec4e88dde6082e4e12c7b7e8359cbd93b68c0af314d4a8df4600061a9534834699cc38a SHA512 9eb840a419f530c60d6acc52fdc9d6477818fb513bf9c3e8ab808ecd19087a52933e958a930e7a8c316d5e5a3e5beb56c34b560dddaa03c744ad37cfe6554a0f +DIST is_terminal_polyfill-1.70.0.crate 7451 BLAKE2B 9efe76f14d61a5af6d3cd30d5e64209971d4292d8d2c12f4a621ef65324a5bccbb7e1d79d5efa75ea7456431241d6325cdeaa0af802b1480c6cd9c1bc5a35994 SHA512 c07d5076978e4c5d8d6a191d8880fb62643161979c473564881feb17726cd9ac8da25c40094ff12727dbdb064fe88fbda1867120a2c3fda1051bcc39380645d6 +DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3 +DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST jja-0.9.1.tar.gz 7808981 BLAKE2B c2e1b1b41ed0090cfb8a699843b0597b6040cc14226935dc7855aaeb6d25b8c325b8a14f856df18993e8e2919c58394f9c0a3cbbc3eb7feb47d7f5d90cdbe120 SHA512 a86f9a8f82ee628f658944abbd4241c1d9cf7e7f041e670724b9590b4d34328c976ffeb259c5b382468142f8f493a0386f4803fa7cad59be0d4d58ef5ae9bac7 +DIST jobserver-0.1.31.crate 27306 BLAKE2B 08ed4a90dfdad5bd7d67b8e15cf61bccb4a9669dfe4a479680c481e7066c70d833cd199b56a4ce7d1180cc9fef565d0afe722a13a436b86326cdfc8c10fb0424 SHA512 0488e5eafc5a99583d4626ae8900d49082aa09228b35a8992d8e715b5a39aade47f51562dc4db8ac41305e069988c4c63e1c78e92d65561e3e8a09d4dfa5fe25 +DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61 +DIST libgit2-sys-0.16.2+1.7.2.crate 1773674 BLAKE2B 86eedb63c1d92a15cbe2ce735530b60abb3d915a9f6051f7a084b9f6e6402dbdbffad2a261689f5e5abc2353b7765a390eff7cb86e88e50fb4cfe4346487bb8b SHA512 45e23f66e1823c551b1f91d1466d971b05927e591684b35b75047ac5f7d23de889910b662ec403388b88a35dfd19b8ad9787481d36e10949e610aa02fcc35c40 +DIST libloading-0.8.3.crate 28480 BLAKE2B b8588be0e7034e94c808490adb8ee6e81c29e962aec436a0d8f8c7617b3ba9177887ce59b95b2f0af00ab030bc77b73e0a889d8a77b84deb437245211a969c94 SHA512 af8fa5fe2428fa98177d6adfc01bcd6e701b0d77ac18c95b8b8d5abb3a6376f16241ccc71b9fe100782c73c843ca53c9bad465545d8bb7def52320dad0eecef9 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST librocksdb-sys-0.11.0+8.1.1.crate 6270227 BLAKE2B 7ffe576e64b0476c7f1f179b4ddb2bb3c785c50fe6212f1048997e647743be1cc5095b82e780547e5ba2c8da3f41c936066319a97cb7b927d54c1ac37e3bdfd9 SHA512 e95fcaf891b5e9985b6985046201324f3c011ebda5f07d76a66709872ff245e5a0d509100832144e7b18e94e6843c23679bc0cfa7a82473a99836b79fcc8f950 +DIST libsqlite3-sys-0.28.0.crate 4975624 BLAKE2B e8d9e637a9ed616372e6e9496a9a7095eea281e1496ffa5b312f632958c751d50d9051f5ad09777e23a18dec08821cf9c43a405c4ac64fbb8719820c12886b54 SHA512 4a3d16eec47c6e3e53e00232501fd50fa77f1ee1370f4ab6c984496f2f897b4acd1c15c697caa8babd635d31a946e147d5d090378615676a3b5c4a9656355016 +DIST libz-sys-1.1.16.crate 3958920 BLAKE2B 1780cfc7181a3c33dd8f693ee93e46bf0f70c1958503e8eb866d6ecb6732c8ab7bec56397c5384d582680fdbd8762ae37ccca7063616f266c59a7eff7801c0db SHA512 1d6b65b5a5293d470cf8ed48293a6f8273828a0cdf096d286e777d438b2c4d076360b5492ee3c2c83b27605d51389e6a3eda7eaebfb09a6041a877a48540aef1 +DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62 +DIST locale_config-0.3.0.crate 20808 BLAKE2B 68b0519639c816af82b941a417d4a74896033e9c5110081d495e1cc3a3e7613ddaf2a665770c6199749b89be131a35592dc4cd7cc2789928199b22205300aa9d SHA512 c7d77156e957559172f589f90405b2e9f5306041887990a60a31630af2de81c00fbba2bcdf52bd163fe431f85694dc6d2d380671f38f2724d7e4d178d89998da +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b +DIST lz4-1.24.0.crate 13361 BLAKE2B e0ebfab2aceb6817fea87d703b9c63d7248156d6ff4a051b4d41beceb0462551e9b4b7250a1bba8724fafbb90ab3618aed115d3f2f90cf184013d4eac76e93d4 SHA512 971e6265f12306ad228841ab5b72cfb80f001e57c2e3a815a8fe4a343ee2d93cfef6155ad4ff019873555b7e843ddffb1b70e22a057bb79b4688903c9407bcbc +DIST lz4-sys-1.9.4.crate 354842 BLAKE2B ced6f5f681003284d6720f3bf4af4089b991320fc1ba52a445d67ae118a573edbba9dac656a4f04dab50e3d4ea8c1b32339f3413a5e590a597c2407a963da646 SHA512 a0cd903494db1089965f5316694eb23e219002c147aad68794d57e7206aff641824e54f25f7c4cbe08bb06a63e6f5ee4c44447aa7f7057c8467872d69c6f0b06 +DIST lzma-sys-0.1.20.crate 760045 BLAKE2B 1f66d32008178c218575fba12df95a2cdc448e080c0a81ef4617f35dde09f0d56c86c28050db61c2ae7b464d0eaed7dd8c59a1fa605b39ff8c329e49165cd922 SHA512 393908b4e3006e4d9948a077d84ba7f5004765c4cc0f854e04847e504a246ab9a8e761fa48d4f211a7ac08dc119d950481da1ed1a480778d6b6e9b446a697279 +DIST malloc_buf-0.0.6.crate 1239 BLAKE2B baa59345fd372db162773adbb441caff1f6bad965c3681f244161deaee76282fa09b9af0d0642cd39ef35689f85f5bd7c2efb7ba8119a58e86c7cd12d81b2c6b SHA512 463b3d7666cdd7de618abf0cc4e488060c84d6d93c56d4e922169511a0b03de380ea988cd998f5a162b244088902198763351ac16dea3762f0fa0840fc29d6ed +DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 +DIST memmap-0.7.0.crate 15214 BLAKE2B 44a5bde9b85b2c378fd4c6ebfaa322ef8d0076472d6c7322f7aa95b8aba3514fd5212b4429eb369d30d0327377e36c626de474ea5e1f764bd4fae595680a04f8 SHA512 3a7c7f963111c2afeaa0381aaa6a57f0f57600392693ee1807d54771bc058ea0f86ac6e8afbe858e45f9f17b685430bf256dba1126b8074ace3aafc07bc14bfa +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432 +DIST nix-0.28.0.crate 311086 BLAKE2B a07023566f04896fdb3ef8b2a1ae8dd64adaa5eb48217c58588e1b41733642e03e0637350c0ee83ac47e663c02b24d5668be751f8d199aa773de6df8b2213894 SHA512 73c0c94b360f4fc81ff07a13692b2a5b5ceda3a7203bdf1e526facabd36cdf160f0ae8fa479e31a4e4237c09bde11e9bf821aa496311cac8614f9c5626f8d69a +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df +DIST objc-0.2.7.crate 22036 BLAKE2B 14a41a5ed6beb100d68601af12914dfef67a9f580f80d70c4578ad9df98a6b4496bc3a1003dec762a27f0ae71afe2c9e8fd41ad715bdb310722c8fc092563599 SHA512 7178870c8e4e9154b4c7b4953b3164946b7ce72c956a02b9ba18889353c72be735824bd73e44a485e42ad5f97994820d9153ac684629342755a6a63711ab5988 +DIST objc-foundation-0.1.1.crate 9063 BLAKE2B 876dd217b612278a522f2d08434537d468f8b0fd1efb0e58d0b58216e20f7f9fc80a5ff034ea25d9216d4d53b2d65552684ae5d5212f18d758c7937c91742a84 SHA512 976dcab4e62ad1c387a81723d70b969fb7d332e1f7dbeb2ea9a26c62fa999d91ff6d8f737ac5725a7611334862df16fa8b15765c036d7acfc3e42a745d051f34 +DIST objc_id-0.1.1.crate 3258 BLAKE2B 9a74fc17235ffdd7987c2735a7a9d136376fd13355f0561b4ecf234784aed077d1ab5aa11c1a82fcee7d47d4d36e471ca4ba3e5bb725a2ed0049a5565967326f SHA512 ec36fae6f5cefda00f3e44618b3c9fe6ec8f528f70d1a95def6421704bfa128a6e5b4a32e9dd686bf6ff60c4f87fe8094aa5e1c8070bcde58b17fdc06f49f9f5 +DIST object-0.32.2.crate 286994 BLAKE2B b9085200fe0107ab0f8ddd5c5ac82bc681dc6266c6503e4a803ae4dbdec775ae84ca4a736754b770d858ebb058342af45d485d4c9a41f57966ca1466de40a4c5 SHA512 5d03d998f06dc592c3be141f7163bd72a0e73396f95d22ef1e0ffbfc66489bf727a6f6fb813a32739609b619b8e34a471974b2231dcfa23df8bff52007c25a96 +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST os_info-3.8.2.crate 26400 BLAKE2B d685f62f4273a75a5820d5445892fa5878cfcf3763730c2eecdf15fee12331884d04906b7c105f437299ee01f2999f77b6a4034e94f781bf694cbad8aab82b10 SHA512 4454fb13dbec94aea5849427742856619abe77b2209dfd0a60a8f446ce5f843b423831632786eb850d0493e023977fae705d0fabff90798774d1c32366984916 +DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2 +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST pgcopy-0.0.2.crate 11456 BLAKE2B 791a783373c74db23d4b884d9292b2eae93678218aaa477522c56523301b93b10f4a1a03e5c8adab3aa301451214cd9f35e9d0acc0372361e502f3f9d8154962 SHA512 c74ebb471c923f62fe7daa45987ebbd0db87bce97772ed6aa72c9cf267d8255147d4bc0a3cdf2446c005a5c31795cb5e352439d577162efda6815afc8498441e +DIST pgn-reader-0.25.0.crate 65949 BLAKE2B fb7ba80e3228c0e63c9167e9b1193acd7b06aa329d8c456411677e4c6031617b33eace732840d4ac30ffc2c726097bf715ff0f1c46acc855294f9e5cba98f55b SHA512 400d2805c64b97980c62353cae7208297aee2964325e56d0cf9d1652c119d2da3ab03eaeb3af4d9c8554ee0f3fc177a30b1a7e4f87c8422fe517c2582d68a991 +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c +DIST positioned-io-0.3.3.crate 487765 BLAKE2B 05b3f09fc818d3fa17819c3893ada2833cd0697f24e59a96fb27b9cce46c5f91773b02b9bd74da986569ec2fb33f2116257613162914594e708cf0282cce6b64 SHA512 00148eacbdf4b6358afbbb7c7573dc8f95ef43920761185abc04581478f27424486f4901e597bd61fabc0916e1022c2ee3bd2b34fc5e5a399a9cb5121c07e3b3 +DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a +DIST prettyplease-0.2.20.crate 57809 BLAKE2B 7c0b96177508fb61f76e45cb1df901f09a48611494d807acde17fede4c62f79053a09737ab6d31562bb60edfb2edc43028e62a2c4136ed799ab247086531db46 SHA512 fd6aa2cfbbb953227653eb5cc9f48d8ae6a7120026144578a9250397511416af461fff9b3f4a0fcf565d9ae589d4c0ed7523951ef36c491270d740efb61427ec +DIST prettytable-rs-0.10.0.crate 35474 BLAKE2B cd4103eb30479830376b8ee82f2f9d26a2f974b3f2c44078d7b8c3741475eddef03dbc14a27a2329ec3204860c1389ebc0b52c68d59349cc80f8fe6ea5e4cb6d SHA512 3a77d959f03cc952b533124f299470857b67cd0857fe7afaab1058a726ffba588f533210ce75be81ce66d6c7f0e80f46b7aa1a442c60c6d316c5814cd72266eb +DIST proc-macro2-1.0.82.crate 48452 BLAKE2B c01f60b788c1395d1041d7eb55fe9519ae4e78f86e3dfa732458747767ff801fcdd5a19a81ee9a8d8cd2457eb0a2bb7cec118299a5a9a64d65b5cf06b9d81165 SHA512 3726463868483243adce01c319c1deb1ab153188f1adcb083b53bff838fa80371091bb8e20ce88709ea850ab3ef74dcd99ca5aa95fa375b330841fd4230c842d +DIST quick-csv-0.1.6.crate 263584 BLAKE2B 5f0d0737d62cd16337140c97a1da0c67cb40c4ed3d0219999aee0cfc5909d7f67ba9ae9652afabadbca45d5eea221385b65450219b3530487bab406e2fc23b43 SHA512 c520e2c1116364e2aaeea4c63e4a979f5e7156d5b68dc4b448b81a5ae4c43ee563535837c6525ae1d103774622b8ccdb444ea395ee8e2c804552db5927ac79e0 +DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rand_xorshift-0.3.0.crate 9121 BLAKE2B 56c29e159c0beb9c751429130e84e4666f9031b6f70e180544f9cc8f8e85d98676b861b588dbda46f2cdbd254fb908c02c6ba640d53422e6bfa1ae4e48ca5a33 SHA512 256e410e5bc08c56496c53c3d53936f3b1cfed41458b0ee8879d7aa8b95375055746ca49e29000ef847b37f01e9237f569cd000c4b281f6c78ddfc78ce439a49 +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460 +DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4 +DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b +DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1 +DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76 +DIST rocksdb-0.21.0.crate 125106 BLAKE2B 7ffc8f592311921a7cec069f19e787cce20b8502c2ec7521f80f31de6c477fba6e74226feeceaffb4dcc029ee43a799de5bd0b189a0872719431e04e81ba627d SHA512 839b43ba5b91e5a7faa7e9f12dfa4c98d5b85167eca329178af3f767571ed57a22da1276709e43f1b4cdc0d51a2bd7544a97b088c0e35b5accb30174d56bf19e +DIST rusqlite-0.31.0.crate 152252 BLAKE2B 5ef8396ab6ee9f6887466e7ff856c6260f40ef85361ca451e230d8590019d6ffa4952df15abd21cf300cf51da4a6ea4e82f5dc88dfba474f2f62036cee76caa3 SHA512 6d20b015ab72d3d75c363111c0cb41feae8bff83104ebdfcb8e5efc1bfb63eb48a17f6de2e6c96cb1e916b4795fea6d58466ab0820b151b12d1dc4c29800ba66 +DIST rust-embed-8.4.0.crate 903547 BLAKE2B 20f47947c357dfcd4722cb6e6c46888c3161b29774454c4b126b7dc5ce2f1e4847863f53aa3a0275319f2aefc8e269ffd6bde2f8cc6822f5a6acdaea87fb6a16 SHA512 532a678d76b49b7a8ee36649c97f00e1d60558359172b6b9719e2cee18686f1c98849ef15b0acdee101166f0984304de232f6ee206826bf69ed5a9b8c00ab5bd +DIST rust-embed-impl-8.4.0.crate 5927 BLAKE2B 48e23b5504bb101c137e3548a523d87d871a0d077b828fadc99bf3478ceb84329284f89d00da960c88e5bd76ed9d625c7ea7184fb639f85e53af48ef21c59591 SHA512 9a710c31f4e5e6af4810a1322090fdd660f07b8a34cc09f9e8ca618997ee3966792571753ea1d2067214982da8ce9653603127fc97f321cc75888eac1bdea501 +DIST rust-embed-utils-8.4.0.crate 3446 BLAKE2B 82790d7865bdd81e95f90516a55056fa045c8b2a0cd423e792ce3ab7ddd9e11e9fa29f55997969cfe16cfc04f4e6506aa71030b0ec1b675bb6aad99ae1725a33 SHA512 34c578b98994c17761b972e522a68ab7cafb38acbb60b59abf5b39a862aae742561a60685af86db4b7b5f66a68c5791af3944e5b2b9951f6aad3c8ae9608705d +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc-serialize-0.3.25.crate 46114 BLAKE2B 54feaa72c7cda8aa4d4de225a99b3e2c78fa3893eef47c7666b6503e183bfd830d9693676a274e0dbf1d2f650489c4ba924ebf8650c47d11d561ec8bf8e85a11 SHA512 d7023ab949a1bcb43b3458a7bf3f6a8903a5a8e43ad87e8c635f5b1a43c72a27052b96bd9f2e9e8da4a532b5a97674850e5a11537ef8a1b17ef44017c7be1be8 +DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST serde-1.0.202.crate 77722 BLAKE2B 8c921fe39b399e0840b9e375895fb4b730bb2df126ef07d0e5701dccd58ab7fa4d111e718d116ae28c32faa7ba89a6b4dc9dfbe0db098a008484d42932bef389 SHA512 19a6906f575f98e3f92bae1b4665d15d98e8ceaeaafb5a2c993206b4556adc92a38dc7b4978b4f0a14f55a7a93c128567d011fb0e871494005b27877d7f98b9c +DIST serde_derive-1.0.202.crate 55867 BLAKE2B aac9781a405cad646ab05c39082e0e075e14d13efe0c6c7f4db895bdfd2bf508a9089b594f994730c4eb6e9eb158079a830d0b2ab990c10b7711d8df2c943feb SHA512 78da51c769eb97518da7ec42a4666931979c5dc79860c0187dcbdb8a2d73643dd060d9b3fb5bf870758d22d08af38efaf4afe42bd023c9dbeaa10f72f1181c14 +DIST serde_json-1.0.117.crate 146921 BLAKE2B fda4f87c300762c24163cceb449bb27fc96b089d5ee869b89f204dbeeec704231cdea7a14bc303cb40b621288fcb1a2b03f50552767e32a73c982d459762624b SHA512 363443af23e8e03dd17c0efc94b376f0d89b596c74d70d0437471e78bc20c6beb61da59404ff150af52000162f6df728ce73475feb828c453e58ea43e66ca056 +DIST serde_spanned-0.6.5.crate 8349 BLAKE2B f4f8f798ae3a02c0d5178aa12a94bd1bc08fef88b6a81d782ba07ba36fb0d89927ecf621087faf376b6e53de12f6a96e0880ce0cd01ecc31c5dab7dadc6f3ff4 SHA512 bffe2398629ae5a5a5bb6d5fc2fa0f4b94d02c96e25d1be2fb9ad95d8ca2fa9bfdeb3af11049ee9c050e497f3beca108f03020f88f6de29b208063c3898af354 +DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST shakmaty-0.26.0.crate 547837 BLAKE2B dc48e037d9b96389d5bd8496cc9e520c6a40d3c22430dbb937fb4d7ec28c7cfce3c946865e1f30d27f65403d23ce37ef235f4ea03e0000623953159288fd34ec SHA512 6b1ef0960781305b30d2f6df7f6f985690eb1666d503f045ed3eee861055717145ef59c2ca96b44ed17f9bbab0dd6b69c1307d9f79cf64fd5f3b2d9e53b2f328 +DIST shakmaty-syzygy-0.24.0.crate 55398 BLAKE2B b9da9754b2fd640556aa1ad7696dae3436c048e2a3620663a56dfab351382002405bebf66f3f2304f994392ea1a3aafd7634cf80363b18df082fafdeab63be1b SHA512 a49b14ede985f3182b3b6744fe3a2c11eb8483f4c4ab800ae875d3f24e9536a091da81516bcccc5c8ba091ce1cc94e46afde7f3f6a818c85676fdc5fa9f0dffc +DIST shell-escape-0.1.5.crate 6847 BLAKE2B ccd71a73b217b375843d3f0a762b3f5317bc0fdc8e43380a17f25e1ffdc391de0af7b0e4472be23241a6654f5b6ab799a51bbed8da35295322002c54ad84e9a5 SHA512 848f8d47d802b82e83f113fb07f44fe962628379481d1bef9d15f2e5821a382c9928c32175652361aae9fe4c8fa5c1dc1c89350db6ef5e68691bae4a3742df93 +DIST shell-words-1.1.0.crate 9871 BLAKE2B 7923b36f0ba50c17ac4eebfdda34566b615291253b7b41879b3f64b3fc1325e63948d3d44801e40748b11ddd2ab201b81d238af2a2007c7a57d71f5dcd0667f6 SHA512 05c280a8e1f65b205746560a82e397689a3b5ec934219b558ece3a25efbfdefe903f9172319240e96039b38fb2c4be6e070805aedbdfd10344d9144b9c93de00 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST syn-2.0.63.crate 258075 BLAKE2B a6d0c01640925c7fc0513b0e03dadf2439a1fa488177551cb9b894dc1c7c98882287dad1883d6b1e4b22e74ac66c6eab78766f7afd1ab0e2c8aec9ea5cde4249 SHA512 22d82bd1a0206fd326d6004245fe2538db9aed2ccfb58e9dd967030d3c63ca4ee146c501e21ef854910b89bc11d09d953b6d4139df63b53584127c03d9ea6ce2 +DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39 +DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a +DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 +DIST test_bin-0.4.0.crate 7591 BLAKE2B 1e5bf3a50757abba99fc2f9d3b4f043854883ed0fab791d34b6850811348baca28944acaf85ab1490cce05de6e6b33b6e5e6e740e4616159546ba2452556ef5a SHA512 f8c6a925dad183d5dbcac116c8a3f89bda213255c05e9f3d521b51f4b26338ce2666595eda06f9b36db21c9d6effb2953a9626f39f23fe107d99e76ce4591888 +DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b +DIST thiserror-1.0.60.crate 21247 BLAKE2B 433d54b0938451a4458da709576f78e957d243bd7a27619f070c05f395fa6717566fa3d40be61f85e3b95edb11391107b11be3945bc6ee8a70bb9f55c17f08e3 SHA512 4fbd8770fed56da490436a018d5bcc00075493e9772b8249e72bb7213262766574b83743469fabc602d417ca0a787ee43f539dd9f08d87e9ec73c6c65768381f +DIST thiserror-impl-1.0.60.crate 15787 BLAKE2B e83014f3cfed1e0c54d7854787a6bcc5a099af33fd14431831e607884f1658339e5e1f9d666d6d92d362a285337ac5f170c71bbdece96a343bd80007e73009d4 SHA512 607356d744e1becf7b7070878b8738d853978d28ef4a589bae739f1c3cebde90e8d70e7ec79d67588f6d024784a0fe91c21658befbfeeb71d33f5eaea9416325 +DIST tikv-jemalloc-sys-0.5.4+5.3.0-patched.crate 884765 BLAKE2B 58789abe69c2a7c653fb0227aba06f814e2a0cc0d007f382a2d7fef34013022656a1d4c439bae8b86b85bf47b2b90f59ab14077af71176845c58998554fddc72 SHA512 d9c2254acb33fbae58048a978cc27173bbe3c5f1aed0c0c8ce8e86dd09e6faee80676cdced9950169758ca7298f8d5c6ead81e47909866d98bc35c7db16ea2c8 +DIST tinystr-0.7.5.crate 16366 BLAKE2B 00a5eda21da581ab351dbdd2591960c027d0d1e35f00b2b1049cf78ce115b4e7f9583ebec74d0a95c79112d2b4fa60ab8440ec83646542d8c73236790c07ae8c SHA512 f6f5ee490049a3572d13305f1431d4882f201c81bacb0e0a333e949a0a955c98d3a0d347b1f31d1fc8eaeefb4690a3fe6fb18e82163b92d10b757a56bb5610c3 +DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 +DIST toml-0.8.12.crate 51145 BLAKE2B bbd5b7c536c16b23f26bc520298172a61a61cf72195191d1d3eddcf54ef0ceef781902ad2c0033fab5aed11229400ec537e3cf86c24645a6d111b387ca8d54c7 SHA512 dd8054e20aac5320a2a6a7d47640cc56e48c2b6db01069786382fe5ae19e9b307fe7f4811ce5b8fd283a307c0aabb2b7f57101e05edadf79636785128b5cc265 +DIST toml_datetime-0.6.5.crate 10910 BLAKE2B 93a21ab2784e96ee2e6b56c7b4f733f6ac4c68c1e7d7dac3fbd8aceedb3580e25b4a9c7d9c3f9b5ed152560353b3e80906e37824956dc4ea90bc6f039768f6cb SHA512 502bdedbcbd2ac9fbaa5f4b51f2e409af185f3633f01f8845de5e3b007f2400215ddeb82ac588bc915ed5a5f9d7251ccf93fe2a57cd40fca2927f4c0966357e6 +DIST toml_edit-0.22.12.crate 104416 BLAKE2B 8f1f670ae986b900e141ed359f8ec1300dd91c3b0c204c8f3d6bcb44bd11ed06dda87535a6a8b94efa604a323e2a714ddfb382633b1ee3605e1f91488d9f2e56 SHA512 723b9cf08b1262c3e28c227ab363fec0122e23c3c9854f428d1aa117dc87564be2e22f368f9ee63cfe7abafa563c2ea51c00909d44eaa067bf1fd8c985d25965 +DIST tr-0.1.7.crate 7906 BLAKE2B 3330404338f8195fe416704e335a9bae92ce74d92645675a6f1cd1b96242bb3931fed75eb4eafe11f5ded55aca461307b4b02523b2b2c3bf5b584a08a9c71788 SHA512 7224f025fc1689ef564915c71e436b7a8e08ba8136ffa6b349b3a3bf28078f4ba57cff8e899d295654e90ba92fc1255e67492ac9d4e3b403f93e712685a6cf2a +DIST type-map-0.5.0.crate 3464 BLAKE2B 02eb7aec3b683842cbc2daecc5e778719a353c3f9fd24c76262c980acdac2a303b9156718bf7fc15e0ac66345bf1c04befbc218a358f55a97ae0d172390b5367 SHA512 9d35158412917abfd56833a365c32d06df1ce1b2de3411993a43a675833321d9b3120ae4432a4618a887cf087cffc3470b82786a1f67db29a90ebb7b2555012e +DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 +DIST unic-langid-0.9.5.crate 8898 BLAKE2B 0b7a383b46b0f99cd708f03dd00bcef4e6066d4ae758b0f57e88968214b3f04a0067a57e794f94a2c0f366b3e8f42b4f3ba5c43cd9bdba917832a65b13a66804 SHA512 e006351fc040df380947ce60e057e130180a021dd4828c6525fe974ff2af432f9cfa024cf01e0b445fc6dab510b34d612eb27412831b1628867433a14f16587a +DIST unic-langid-impl-0.9.5.crate 89659 BLAKE2B 66679ff153caee98ccd4ed5d8c6d91238ecfda9e262cc98a9d5504eb25896ada6ca5851714e4edef973f5b1e30dbd87460d077d7874a3c293a44db553cde1d10 SHA512 a9bc573585c4fe456a42c5d097a0e74748f22ca6384317a61bb50f428e95fa3ab164ffc3f9e16634f1fd241b6c2ac892fde089469e52ca8c27766e86b9d35f33 +DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828 +DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 +DIST unicode-width-0.1.12.crate 24062 BLAKE2B 61afd22353d46a8a77519af9b3580d75dafc7965967f7724cb740f1ee199c7742b3549ad6c67776b876dbda5b8f27c634431f68517e29a72ade1622da9fde446 SHA512 0bafd7a69bdf49c849e7c063ebf0487eca8a76244e3bc18c9a5f4609465dc0e5d482daceb6a9a6f4125b801bf7063cb8225fdb55173e5dc55e7bf278300df1b4 +DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3 +DIST username-0.2.0.crate 1528 BLAKE2B 0135f42fb2a26fdecc6f727114d9248d2303b20f1e539d858e43ad513bdf9ca65d562414ad398817307860ec74b20caf41426ca2dbbaea5608bae571ba91519a SHA512 cefa5f7a3c1f63a58b5d10052eae7d0ea256ed95d6dafc47c46af238d673b9b0696fd11e8fe7747414ceb8da2ea49a6fb5a05aba922881e8646f4344c5d4478a +DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050 +DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-0.52.0.crate 11843715 BLAKE2B 0d35225f5d61f71b0cb768f03825031101e05c83d7f12e05cb17b14ba28e6bc6a3d5aaee5ba07e54c1a773b6eadde4ce3523ab87e8e313e5578e2de01a3dcdc7 SHA512 8a9d443cfae3b44ab50bdffd70b70ea3b3d536f464e4beb7cfa9e15eb4e4505cbac20266b44d589bb7231790a87f473ead6d2160b8cd18d62f31b78bf61417da +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee +DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d +DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d +DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2 +DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b +DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634 +DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8 +DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08 +DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6 +DIST winnow-0.6.8.crate 159453 BLAKE2B 36ae0b096ab916c1d925d51ce9b4fa072fd687022c3578debf4be852eeed046fd73003c8be2f6e3b0abbd2d3952a23100e79a8e432f516a0ddab2ac7aba4b034 SHA512 64652527221385a1278efb66d25ebbab86cb64d2f71fbf9bc9956dc548ae9d028b998f3aa851a94dba66853da7fbf1bdfcf2dae02ed60b2562869569acf2b583 +DIST xz2-0.1.7.crate 23892 BLAKE2B fd4b65cc82405f28a3d9fcc3db9dbffac41ae8ec7e767f3405bc9c7e45000b529cd571f72a76e41f2fb9866e7af8ab37d9f1ab8e6f14652495d306ba0a745879 SHA512 9969ae958b157f3d49708bd00640e57fe7c3826add2871575bdac03e6064aabd28392e3062bfbb833752df374195c50b19dc6b6c08ac41455c492213fb91fc74 +DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148 +DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63 +DIST zstd-0.13.1.crate 29805 BLAKE2B f5ad84f1a6899637a93c85dee8e3006609db0df89a8f94878881e2f21735ad0ce104a0a2391feabd5570d9461689deede14e98778d9f51f99c3393f4218a0dd3 SHA512 903edbc1713fe0822dabd4d3b014cadd59f4c9ad4f9eb8c78ca4b78b0e927dc360b9f21c7feb2e85231896543b8a6ffd7d9daa705eeb2de26f501f4f8e8c2bb1 +DIST zstd-safe-7.1.0.crate 20792 BLAKE2B e12fa6387c46ad526d8831dbe1ca0dcc0d3d93043f29af2dbbebd1600ee3bb818acb6bf9d33b050a6c908ce70507686fb3e1c1377f441ac48b496cd0f1d8d391 SHA512 b9127f270c747b6f2df256fe8d2b3d50c17c55bf366ffe516315c90214952ed3c7069e14d5d37d382df9f621f385abfb6855c4c8416baccd277bff7698524044 +DIST zstd-sys-2.0.10+zstd.1.5.6.crate 749088 BLAKE2B 89ec471502281a65841e1c38b313571ac0ba1d2bb3aacba11297f782db9f0f8ed9cf945b757840e7851da0b7400b8c58fc79a60f24a6535fc271d28f07b2ffe9 SHA512 588008a436a9c7751fa7c088620bf04434751e508c9a729e6840e42a14a2cc26c8ee252e8f129a5ae00eb1f76ae6ecfffaac043d854b61381d386f71d80993f9 diff --git a/games-board/jja/jja-0.9.1-r2.ebuild b/games-board/jja/jja-0.9.1-r2.ebuild new file mode 100644 index 0000000..1191ce8 --- /dev/null +++ b/games-board/jja/jja-0.9.1-r2.ebuild @@ -0,0 +1,294 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + advapi32-sys@0.2.0 + ahash@0.8.11 + aho-corasick@1.1.3 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.83 + arrayvec@0.7.4 + autocfg@1.3.0 + backtrace@0.3.71 + benchmarking@0.4.13 + bindgen@0.65.1 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block@0.1.6 + btoi@0.4.3 + built@0.7.2 + bytefmt@0.1.7 + byteorder@1.5.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cc@1.0.97 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + circular@0.3.0 + clang-sys@1.7.0 + clap@4.5.4 + clap_builder@4.5.2 + clap_lex@0.7.0 + colorchoice@1.0.1 + console@0.15.8 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crypto-common@0.1.6 + ctrlc@3.4.4 + dialoguer@0.11.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + displaydoc@0.2.4 + either@1.11.0 + encode_unicode@0.3.6 + encode_unicode@1.0.0 + encoding-index-japanese@1.20141219.5 + encoding-index-korean@1.20141219.5 + encoding-index-simpchinese@1.20141219.5 + encoding-index-singlebyte@1.20141219.5 + encoding-index-tradchinese@1.20141219.5 + encoding@0.2.33 + encoding_index_tests@0.1.4 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + find-crate@0.6.3 + flate2@1.0.30 + fluent-langneg@0.13.0 + form_urlencoded@1.2.1 + generic-array@0.14.7 + getrandom@0.2.15 + gettext@0.4.0 + gimli@0.28.1 + git2@0.18.3 + glob@0.3.1 + hashbrown@0.14.5 + hashlink@0.9.1 + hermit-abi@0.3.9 + hostname@0.4.0 + human-panic@1.2.3 + i18n-config@0.4.6 + i18n-embed-impl@0.8.3 + i18n-embed@0.14.1 + idna@0.5.0 + indexmap@2.2.6 + indicatif@0.17.8 + instant@0.1.12 + intl-memoizer@0.5.2 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.0 + itertools@0.10.5 + itertools@0.12.1 + itoa@1.0.11 + jobserver@0.1.31 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.154 + libgit2-sys@0.16.2+1.7.2 + libloading@0.8.3 + libredox@0.1.3 + librocksdb-sys@0.11.0+8.1.1 + libsqlite3-sys@0.28.0 + libz-sys@1.1.16 + linux-raw-sys@0.4.13 + locale_config@0.3.0 + lock_api@0.4.12 + log@0.4.21 + lz4-sys@1.9.4 + lz4@1.24.0 + lzma-sys@0.1.20 + malloc_buf@0.0.6 + memchr@2.7.2 + memmap@0.7.0 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + nix@0.28.0 + nom@7.1.3 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.32.2 + once_cell@1.19.0 + os_info@3.8.2 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + pgcopy@0.0.2 + pgn-reader@0.25.0 + pkg-config@0.3.30 + portable-atomic@1.6.0 + positioned-io@0.3.3 + ppv-lite86@0.2.17 + prettyplease@0.2.20 + prettytable-rs@0.10.0 + proc-macro2@1.0.82 + quick-csv@0.1.6 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rocksdb@0.21.0 + rusqlite@0.31.0 + rust-embed-impl@8.4.0 + rust-embed-utils@8.4.0 + rust-embed@8.4.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc-serialize@0.3.25 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + serde@1.0.202 + serde_derive@1.0.202 + serde_json@1.0.117 + serde_spanned@0.6.5 + sha2@0.10.8 + shakmaty-syzygy@0.24.0 + shakmaty@0.26.0 + shell-escape@0.1.5 + shell-words@1.1.0 + shlex@1.3.0 + smallvec@1.13.2 + strsim@0.11.1 + syn@2.0.63 + tempfile@3.10.1 + term@0.7.0 + termtree@0.4.1 + test_bin@0.4.0 + textwrap@0.16.1 + thiserror-impl@1.0.60 + thiserror@1.0.60 + tikv-jemalloc-sys@0.5.4+5.3.0-patched + tinystr@0.7.5 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.22.12 + tr@0.1.7 + type-map@0.5.0 + typenum@1.17.0 + unic-langid-impl@0.9.5 + unic-langid@0.9.5 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + url@2.5.0 + username@0.2.0 + utf8parse@0.2.1 + uuid@1.8.0 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.2.8 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.52.0 + windows-targets@0.52.5 + windows@0.52.0 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 + winnow@0.6.8 + xz2@0.1.7 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zstd-safe@7.1.0 + zstd-sys@2.0.10+zstd.1.5.6 + zstd@0.13.1 +" + +LLVM_COMPAT=( 20 ) + +inherit cargo llvm-r1 + +DESCRIPTION="swiss army knife for chess file formats" +HOMEPAGE="https://git.sr.ht/~alip/jja" + +if [[ "${PV}" == "9999" ]] ; then + EGIT_REPO_URI="https://git.sr.ht/~alip/${PN}" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="https://git.sr.ht/~alip/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-v${PV}" +fi + +# rocksdb needs clang +DEPEND+="$(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + sys-libs/liburing" +RDEPEND=${DEPEND} +LICENSE="GPL-3+" + +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016" +SLOT="0" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + + if [[ "${PV}" == "9999" ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi + +} diff --git a/dev-util/android-ndk/metadata.xml b/games-board/jja/metadata.xml similarity index 73% rename from dev-util/android-ndk/metadata.xml rename to games-board/jja/metadata.xml index e85252a..2ce0e74 100644 --- a/dev-util/android-ndk/metadata.xml +++ b/games-board/jja/metadata.xml @@ -2,7 +2,7 @@ - perfinion@gentoo.org - Jason Zaman + patrick@gentoo.org + Patrick Lauer diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest new file mode 100644 index 0000000..95a9136 --- /dev/null +++ b/games-emulation/dolphin/Manifest @@ -0,0 +1,9 @@ +DIST Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz 2288519 BLAKE2B bd11ba3ecac3bf0f6df255a4b87556092b9630c85b97cbcc2c0901d5293882da6f996e326cce8f410f8503f9e29454f0a2994c4adceb4565490d435b307d4495 SHA512 3679a087ea024a15b2d30730834345d2af3869ae012bcc5a996eed90558516d16b762010d887b9c762b5177bfc0a21b3bd29dbc4e236e067132623482068b058 +DIST VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz 904841 BLAKE2B 64966d40b86197a18f86c9715acb2ea649ea6b69d3de38d9385a8130e35519036eca49b7503886123284be58d5c248dd9d7c5cb16a489c64d385439c382dcd30 SHA512 3a47a4bc81562b96f598f357b803d2219fa167e6eb87779837efa6e85fc6eaff8e1cfbdea0935117a7b3c630cc99944b94e91823eafa8a94d80b2c459f33c317 +DIST dolphin-2407.tar.gz 19773792 BLAKE2B a6de162479d45e6b1cba5444df5abdeafd92773d1e49cc837dfc6c1ab45ed11d7a3f72a582ddb56d0ecc6b550d03c1a02a9389852ba438d8a9235d5ea3285d4b SHA512 8bb8459d8b653708e34d5df184d96ba9705e8c50b00d066862d4012f78b7e71938207979b3bd900dd14c35c3b6c0258bb5c8fad9ba73267188e98d8a2edfb73f +DIST dolphin-2412.tar.gz 19926717 BLAKE2B 89036561987283067a1f116aa38a94c92d0c8e3114d28a0545787f63b389cb204b265bdd4c2452ec02ca3fe90fccf5fc0fd55be3acb9b8bd346e3738f3f96767 SHA512 3025e24b4cdc8cf3493e23a7968064cb9090d622a3a830b0a964fc87af840227125de8c0f69243c7d3975fc5ea2dd0c485d870301c25e8fa078abe83ae88bca9 +DIST implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz 137924 BLAKE2B c830275b05a74e8a60a7164f22c01dd9a5a35f9219736785c9cc17830dae809eb8cba65604b0388c3966d7658c9fe71cb9a8468c23d3ed17b7890581a2222cb8 SHA512 ab9935e759f38d19e6f60ed195c22018929ba46fccf783f4486346d7ffb7040b6097bc4c3d3b3577cc91f0c413684e07449a24bebf3db9c937638092c181de92 +DIST mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz 14488880 BLAKE2B 5beec2de9a0999a93a4ad704f45246b551824a9ddd576a5b77e731b269fb8f7d311d1c4e2cfb217f34e22a49050498c70e52d714d9c0bb7b4e4d178f49f15c3d SHA512 782d456b7bf827591c774f146a88821b41b3b936faefddb5aee82bb0dd16ca7ad7228a1c331e1e517eac40a71cc4c94cc44bee12560946328c8433e1c6327225 +DIST minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz 770054 BLAKE2B 7d5b24a5be7134ac17178869883625b28fa80a55f878231ca4156901057db72b20b4d342f8d0bb04a436fcd72d7ccbb0f79adc8503a16e1197a84f3a476da730 SHA512 f76a2cefd7d9ad47f8c3c73b3483b657fab0507605e0b29895eaec759718a65f0d2915ea7022831f3f98493891a1ab4f5035971bf09d4860abbf4cde0b091869 +DIST tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz 5903179 BLAKE2B 0ef4b36cf26f3a5a544d0c739317b8cce041121b1dec58d1d9dbc3bbc892df284d80aa4c45ec1ebc332ba96b151230a5b0dbf95b95aefcf86ee7878c393eda5d SHA512 486bcf32be137dea5746117074dc51bc978290698de7831e1c4bbaa4acb56ed99fc34c38e69878a955b3e5f10f43eab07b0637164f822beae0fddd099aa0c56d +DIST zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz 2223118 BLAKE2B c79a138c31c74c291ae38a6c4d8983e0884169ced4147d7242d1a766f70777de0368ceba815ac2261bd2543dba55a6106b70f7e040fae4f200863da217f88978 SHA512 73f4e56410ae298ef211ebab52b1a0d3d5bfae91c2de3cd294b56cd0a78ab50e1203b396c7df462f360c1aaaa9392ec5625473d1e9eb084cc64bc813e28d12a1 diff --git a/games-emulation/dolphin/dolphin-2407-r1.ebuild b/games-emulation/dolphin/dolphin-2407-r1.ebuild new file mode 100644 index 0000000..d158313 --- /dev/null +++ b/games-emulation/dolphin/dolphin-2407-r1.ebuild @@ -0,0 +1,307 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +inherit cmake llvm-r1 pax-utils xdg-utils + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + EGIT_SUBMODULES=( + Externals/mGBA/mgba + Externals/implot/implot + Externals/tinygltf/tinygltf + Externals/Vulkan-Headers + Externals/VulkanMemoryAllocator + Externals/zlib-ng/zlib-ng + Externals/minizip-ng/minizip-ng + ) +else + MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 + IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d + TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b + VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72 + VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816 + ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f + MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70 + SRC_URI=" + https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz + -> implot-${IMPLOT_COMMIT}.tar.gz + https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz + -> tinygltf-${TINYGLTF_COMMIT}.tar.gz + https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz + -> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + -> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz + -> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz + https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz + -> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz + mgba? ( + https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz + -> mgba-${MGBA_COMMIT}.tar.gz + ) + " + KEYWORDS="amd64 ~arm64" +fi + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://dolphin-emu.org/" + +LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB" +SLOT="0" +IUSE=" + alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba + profile pulseaudio sdl systemd telemetry test upnp vulkan +" +REQUIRED_USE=" + mgba? ( gui ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2:= + >=app-arch/lz4-1.8:= + app-arch/xz-utils + >=app-arch/zstd-1.4.0:= + dev-libs/hidapi + =dev-libs/libfmt-10.1 + dev-libs/lzo:2 + dev-libs/pugixml + dev-libs/xxhash + media-libs/cubeb + media-libs/libsfml:= + media-libs/libspng + >=net-libs/enet-1.3.18:1.3= + net-libs/mbedtls:0= + net-misc/curl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( media-video/ffmpeg:= ) + gui? ( + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtsvg:6 + ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl2 ) + systemd? ( sys-apps/systemd:0= ) + upnp? ( net-libs/miniupnpc:= ) +" +DEPEND=" + ${RDEPEND} + egl? ( media-libs/libglvnd ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" + +# vulkan-loader required for vulkan backend which can be selected +# at runtime. +RDEPEND+=" + vulkan? ( media-libs/vulkan-loader ) +" + +# [directory]=license +declare -A KEEP_BUNDLED=( + # please keep this list in CMakeLists.txt order + + # TODO: use system libraries + [zlib-ng]=ZLIB + [minizip-ng]=ZLIB + + [Bochs_disasm]=LGPL-2.1+ + [cpp-optparse]=MIT + [imgui]=MIT + [implot]=MIT + [glslang]=BSD + + [tinygltf]=MIT + + [FreeSurround]=GPL-2+ + [soundtouch]=LGPL-2.1+ + + # FIXME: discord-rpc not packaged + [discord-rpc]=MIT + + [mGBA]=MPL-2.0 + + [picojson]=BSD-2 + [expr]=MIT + [rangeset]=ZLIB + [FatFs]=FatFs + [Vulkan-Headers]="|| ( Apache-2.0 MIT )" + [VulkanMemoryAllocator]=MIT +) + +PATCHES=( + "${FILESDIR}"/dolphin-2407-libfmt-11-fix.patch + "${FILESDIR}"/dolphin-2407-minizip.patch + "${FILESDIR}"/dolphin-2407-fix-llvm-build.patch +) + +add_bundled_licenses() { + for license in ${KEEP_BUNDLED[@]}; do + LICENSE+=" ${license}" + done +} +add_bundled_licenses + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != *9999 ]]; then + mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die + mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die + mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die + mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die + mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die + mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die + if use mgba; then + mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die + fi + fi + + cmake_src_prepare + + local s remove=() + for s in Externals/*; do + [[ -f ${s} ]] && continue + if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then + remove+=( "${s}" ) + fi + done + + einfo "removing sources: ${remove[*]}" + rm -r "${remove[@]}" || die + + # About 50% compile-time speedup + if ! use vulkan; then + sed -i -e '/Externals\/glslang/d' CMakeLists.txt || die + fi + + # Remove dirty suffix: needed for netplay + sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DDSPTOOL=ON + -DENABLE_ALSA=$(usex alsa) + -DENABLE_ANALYTICS=$(usex telemetry) + -DENABLE_AUTOUPDATE=OFF + -DENABLE_BLUEZ=$(usex bluetooth) + -DENABLE_CLI_TOOL=ON + -DENABLE_EGL=$(usex egl) + -DENABLE_EVDEV=$(usex evdev) + -DENABLE_LLVM=$(usex llvm) + -DENABLE_LTO=OFF # just adds -flto, user can do that via flags + -DENABLE_NOGUI=$(usex !gui) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QT=$(usex gui) + -DENABLE_SDL=$(usex sdl) + -DENABLE_TESTS=$(usex test) + -DENABLE_VULKAN=$(usex vulkan) + -DENCODE_FRAMEDUMPS=$(usex ffmpeg) + -DFASTLOG=$(usex log) + -DOPROFILING=$(usex profile) + -DSTEAM=OFF + -DUSE_DISCORD_PRESENCE=$(usex discord-presence) + -DUSE_MGBA=$(usex mgba) + -DUSE_RETRO_ACHIEVEMENTS=OFF + -DUSE_UPNP=$(usex upnp) + + -DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd) + + # Use system libraries + -DUSE_SYSTEM_FMT=ON + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_SYSTEM_ENET=ON + -DUSE_SYSTEM_XXHASH=ON + -DUSE_SYSTEM_BZIP2=ON + -DUSE_SYSTEM_LIBLZMA=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_SYSTEM_ZLIB=OFF + -DUSE_SYSTEM_MINIZIP=OFF + -DUSE_SYSTEM_LZO=ON + -DUSE_SYSTEM_LZ4=ON + -DUSE_SYSTEM_SPNG=ON + -DUSE_SYSTEM_CUBEB=ON + -DUSE_SYSTEM_LIBUSB=ON + -DUSE_SYSTEM_SFML=ON + -DUSE_SYSTEM_MBEDTLS=ON + -DUSE_SYSTEM_CURL=ON + -DUSE_SYSTEM_ICONV=ON + -DUSE_SYSTEM_HIDAPI=ON + + # Use ccache only when user did set FEATURES=ccache (or similar) + # not when ccache binary is present in system (automagic). + -DCCACHE_BIN=CCACHE_BIN-NOTFOUND + + # Undo cmake.eclass's defaults. + # All dolphin's libraries are private + # and rely on circular dependency resolution. + -DBUILD_SHARED_LIBS=OFF + + # Avoid warning spam around unset variables. + -Wno-dev + ) + + # System installed git shouldnt affect non live builds + [[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + + use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON ) + use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF ) + use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON ) + use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build unittests +} + +src_install() { + cmake_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + # Add pax markings for hardened systems + pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool} +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/games-emulation/dolphin/dolphin-2412-r1.ebuild b/games-emulation/dolphin/dolphin-2412-r1.ebuild new file mode 100644 index 0000000..265b97d --- /dev/null +++ b/games-emulation/dolphin/dolphin-2412-r1.ebuild @@ -0,0 +1,301 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +inherit cmake llvm-r1 pax-utils xdg-utils + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + EGIT_SUBMODULES=( + Externals/mGBA/mgba + Externals/implot/implot + Externals/tinygltf/tinygltf + Externals/Vulkan-Headers + Externals/VulkanMemoryAllocator + Externals/zlib-ng/zlib-ng + Externals/minizip-ng/minizip-ng + ) +else + MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 + IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d + TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b + VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72 + VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816 + ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f + MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70 + SRC_URI=" + https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz + -> implot-${IMPLOT_COMMIT}.tar.gz + https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz + -> tinygltf-${TINYGLTF_COMMIT}.tar.gz + https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz + -> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + -> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz + -> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz + https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz + -> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz + mgba? ( + https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz + -> mgba-${MGBA_COMMIT}.tar.gz + ) + " + KEYWORDS="~amd64 ~arm64" +fi + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://dolphin-emu.org/" + +LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB" +SLOT="0" +IUSE=" + alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba + profile pulseaudio sdl systemd telemetry test upnp vulkan +" +REQUIRED_USE=" + mgba? ( gui ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2:= + >=app-arch/lz4-1.8:= + app-arch/xz-utils + >=app-arch/zstd-1.4.0:= + dev-libs/hidapi + >=dev-libs/libfmt-10.1:= + dev-libs/lzo:2 + dev-libs/pugixml + dev-libs/xxhash + media-libs/cubeb + media-libs/libsfml:= + media-libs/libspng + >=net-libs/enet-1.3.18:1.3= + net-libs/mbedtls:0= + net-misc/curl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( media-video/ffmpeg:= ) + gui? ( + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtsvg:6 + ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( >=media-libs/libsdl2-2.30.9 ) + systemd? ( sys-apps/systemd:0= ) + upnp? ( net-libs/miniupnpc:= ) +" +DEPEND=" + ${RDEPEND} + egl? ( media-libs/libglvnd ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" + +# vulkan-loader required for vulkan backend which can be selected +# at runtime. +RDEPEND+=" + vulkan? ( media-libs/vulkan-loader ) +" + +# [directory]=license +declare -A KEEP_BUNDLED=( + # please keep this list in CMakeLists.txt order + + # TODO: use system libraries + # bug #873952 + # https://github.com/dolphin-emu/dolphin/pull/13089 + [zlib-ng]=ZLIB + [minizip-ng]=ZLIB + + [Bochs_disasm]=LGPL-2.1+ + [cpp-optparse]=MIT + [imgui]=MIT + [implot]=MIT + [glslang]=BSD + + [tinygltf]=MIT + + [FreeSurround]=GPL-2+ + [soundtouch]=LGPL-2.1+ + + # FIXME: discord-rpc not packaged + [discord-rpc]=MIT + + [mGBA]=MPL-2.0 + + [picojson]=BSD-2 + [expr]=MIT + [rangeset]=ZLIB + [FatFs]=FatFs + [Vulkan-Headers]="|| ( Apache-2.0 MIT )" + [VulkanMemoryAllocator]=MIT +) + +PATCHES=( + "${FILESDIR}"/dolphin-2407-minizip.patch + "${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.patch + "${FILESDIR}"/dolphin-2412-fix-build-without-retro-achievements.patch +) + +add_bundled_licenses() { + for license in ${KEEP_BUNDLED[@]}; do + LICENSE+=" ${license}" + done +} +add_bundled_licenses + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != *9999 ]]; then + mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die + mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die + mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die + mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die + mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die + mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die + if use mgba; then + mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die + fi + fi + + cmake_src_prepare + + local s remove=() + for s in Externals/*; do + [[ -f ${s} ]] && continue + if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then + remove+=( "${s}" ) + fi + done + + einfo "removing sources: ${remove[*]}" + rm -r "${remove[@]}" || die + + # Remove dirty suffix: needed for netplay + sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DDSPTOOL=ON + -DENABLE_ALSA=$(usex alsa) + -DENABLE_ANALYTICS=$(usex telemetry) + -DENABLE_AUTOUPDATE=OFF + -DENABLE_BLUEZ=$(usex bluetooth) + -DENABLE_CLI_TOOL=ON + -DENABLE_EGL=$(usex egl) + -DENABLE_EVDEV=$(usex evdev) + -DENABLE_LLVM=$(usex llvm) + -DENABLE_LTO=OFF # just adds -flto, user can do that via flags + -DENABLE_NOGUI=$(usex !gui) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QT=$(usex gui) + -DENABLE_SDL=$(usex sdl) + -DENABLE_TESTS=$(usex test) + -DENABLE_VULKAN=$(usex vulkan) + -DENCODE_FRAMEDUMPS=$(usex ffmpeg) + -DFASTLOG=$(usex log) + -DOPROFILING=$(usex profile) + -DUSE_DISCORD_PRESENCE=$(usex discord-presence) + -DUSE_MGBA=$(usex mgba) + -DUSE_RETRO_ACHIEVEMENTS=OFF + -DUSE_UPNP=$(usex upnp) + + -DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd) + + # Use system libraries + -DUSE_SYSTEM_FMT=ON + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_SYSTEM_ENET=ON + -DUSE_SYSTEM_XXHASH=ON + -DUSE_SYSTEM_BZIP2=ON + -DUSE_SYSTEM_LIBLZMA=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_SYSTEM_MINIZIP=OFF + -DUSE_SYSTEM_LZO=ON + -DUSE_SYSTEM_LZ4=ON + -DUSE_SYSTEM_SPNG=ON + -DUSE_SYSTEM_CUBEB=ON + -DUSE_SYSTEM_LIBUSB=ON + -DUSE_SYSTEM_SFML=ON + -DUSE_SYSTEM_MBEDTLS=ON + -DUSE_SYSTEM_CURL=ON + -DUSE_SYSTEM_ICONV=ON + -DUSE_SYSTEM_HIDAPI=ON + + # Use ccache only when user did set FEATURES=ccache (or similar) + # not when ccache binary is present in system (automagic). + -DCCACHE_BIN=CCACHE_BIN-NOTFOUND + + # Undo cmake.eclass's defaults. + # All dolphin's libraries are private + # and rely on circular dependency resolution. + -DBUILD_SHARED_LIBS=OFF + + # Avoid warning spam around unset variables. + -Wno-dev + ) + + # System installed git shouldnt affect non live builds + [[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + + use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON ) + use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF ) + use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON ) + use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build unittests +} + +src_install() { + cmake_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + # Add pax markings for hardened systems + pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool} +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/games-emulation/dolphin/dolphin-9999.ebuild b/games-emulation/dolphin/dolphin-9999.ebuild new file mode 100644 index 0000000..0b84215 --- /dev/null +++ b/games-emulation/dolphin/dolphin-9999.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 + +inherit cmake llvm-r1 pax-utils xdg-utils + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + EGIT_SUBMODULES=( + Externals/mGBA/mgba + Externals/implot/implot + Externals/tinygltf/tinygltf + Externals/Vulkan-Headers + Externals/VulkanMemoryAllocator + Externals/zlib-ng/zlib-ng + Externals/minizip-ng/minizip-ng + ) +else + MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 + IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d + TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b + VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72 + VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816 + ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f + MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70 + SRC_URI=" + https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz + -> implot-${IMPLOT_COMMIT}.tar.gz + https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz + -> tinygltf-${TINYGLTF_COMMIT}.tar.gz + https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz + -> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + -> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz + -> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz + https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz + -> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz + mgba? ( + https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz + -> mgba-${MGBA_COMMIT}.tar.gz + ) + " + KEYWORDS="~amd64 ~arm64" +fi + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://dolphin-emu.org/" + +LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB" +SLOT="0" +IUSE=" + alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba + profile pulseaudio sdl systemd telemetry test upnp vulkan +" +REQUIRED_USE=" + mgba? ( gui ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2:= + >=app-arch/lz4-1.8:= + app-arch/xz-utils + >=app-arch/zstd-1.4.0:= + dev-libs/hidapi + >=dev-libs/libfmt-10.1:= + dev-libs/lzo:2 + dev-libs/pugixml + dev-libs/xxhash + media-libs/cubeb + media-libs/libsfml:= + media-libs/libspng + >=net-libs/enet-1.3.18:1.3= + net-libs/mbedtls:0= + net-misc/curl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( media-video/ffmpeg:= ) + gui? ( + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtsvg:6 + ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl2 ) + systemd? ( sys-apps/systemd:0= ) + upnp? ( net-libs/miniupnpc:= ) +" +DEPEND=" + ${RDEPEND} + egl? ( media-libs/libglvnd ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" + +# vulkan-loader required for vulkan backend which can be selected +# at runtime. +RDEPEND+=" + vulkan? ( media-libs/vulkan-loader ) +" + +# [directory]=license +declare -A KEEP_BUNDLED=( + # please keep this list in CMakeLists.txt order + + # TODO: use system libraries + # bug #873952 + # https://github.com/dolphin-emu/dolphin/pull/13089 + [zlib-ng]=ZLIB + [minizip-ng]=ZLIB + + [Bochs_disasm]=LGPL-2.1+ + [cpp-optparse]=MIT + [imgui]=MIT + [implot]=MIT + [glslang]=BSD + + [tinygltf]=MIT + + [FreeSurround]=GPL-2+ + [soundtouch]=LGPL-2.1+ + + # FIXME: discord-rpc not packaged + [discord-rpc]=MIT + + [mGBA]=MPL-2.0 + + [picojson]=BSD-2 + [expr]=MIT + [rangeset]=ZLIB + [FatFs]=FatFs + [Vulkan-Headers]="|| ( Apache-2.0 MIT )" + [VulkanMemoryAllocator]=MIT +) + +PATCHES=( + "${FILESDIR}"/dolphin-2407-minizip.patch +) + +add_bundled_licenses() { + for license in ${KEEP_BUNDLED[@]}; do + LICENSE+=" ${license}" + done +} +add_bundled_licenses + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != *9999 ]]; then + mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die + mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die + mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die + mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die + mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die + mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die + if use mgba; then + mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die + fi + fi + + cmake_src_prepare + + local s remove=() + for s in Externals/*; do + [[ -f ${s} ]] && continue + if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then + remove+=( "${s}" ) + fi + done + + einfo "removing sources: ${remove[*]}" + rm -r "${remove[@]}" || die + + # Remove dirty suffix: needed for netplay + sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DDSPTOOL=ON + -DENABLE_ALSA=$(usex alsa) + -DENABLE_ANALYTICS=$(usex telemetry) + -DENABLE_AUTOUPDATE=OFF + -DENABLE_BLUEZ=$(usex bluetooth) + -DENABLE_CLI_TOOL=ON + -DENABLE_EGL=$(usex egl) + -DENABLE_EVDEV=$(usex evdev) + -DENABLE_LLVM=$(usex llvm) + -DENABLE_LTO=OFF # just adds -flto, user can do that via flags + -DENABLE_NOGUI=$(usex !gui) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QT=$(usex gui) + -DENABLE_SDL=$(usex sdl) + -DENABLE_TESTS=$(usex test) + -DENABLE_VULKAN=$(usex vulkan) + -DENCODE_FRAMEDUMPS=$(usex ffmpeg) + -DFASTLOG=$(usex log) + -DOPROFILING=$(usex profile) + -DUSE_DISCORD_PRESENCE=$(usex discord-presence) + -DUSE_MGBA=$(usex mgba) + -DUSE_RETRO_ACHIEVEMENTS=OFF + -DUSE_UPNP=$(usex upnp) + + -DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd) + + # Use system libraries + -DUSE_SYSTEM_FMT=ON + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_SYSTEM_ENET=ON + -DUSE_SYSTEM_XXHASH=ON + -DUSE_SYSTEM_BZIP2=ON + -DUSE_SYSTEM_LIBLZMA=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_SYSTEM_MINIZIP=OFF + -DUSE_SYSTEM_LZO=ON + -DUSE_SYSTEM_LZ4=ON + -DUSE_SYSTEM_SPNG=ON + -DUSE_SYSTEM_CUBEB=ON + -DUSE_SYSTEM_LIBUSB=ON + -DUSE_SYSTEM_SFML=ON + -DUSE_SYSTEM_MBEDTLS=ON + -DUSE_SYSTEM_CURL=ON + -DUSE_SYSTEM_ICONV=ON + -DUSE_SYSTEM_HIDAPI=ON + + # Use ccache only when user did set FEATURES=ccache (or similar) + # not when ccache binary is present in system (automagic). + -DCCACHE_BIN=CCACHE_BIN-NOTFOUND + + # Undo cmake.eclass's defaults. + # All dolphin's libraries are private + # and rely on circular dependency resolution. + -DBUILD_SHARED_LIBS=OFF + + # Avoid warning spam around unset variables. + -Wno-dev + ) + + # System installed git shouldnt affect non live builds + [[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + + use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON ) + use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF ) + use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON ) + use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build unittests +} + +src_install() { + cmake_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + # Add pax markings for hardened systems + pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool} +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/games-emulation/dolphin/files/dolphin-2407-fix-llvm-build.patch b/games-emulation/dolphin/files/dolphin-2407-fix-llvm-build.patch new file mode 100644 index 0000000..2a678d1 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-2407-fix-llvm-build.patch @@ -0,0 +1,27 @@ +https://github.com/dolphin-emu/dolphin/pull/12986 +https://github.com/dolphin-emu/dolphin/commit/9c5cd817e39b44ff2eb68c75d9405c582207b53b + +From 9c5cd817e39b44ff2eb68c75d9405c582207b53b Mon Sep 17 00:00:00 2001 +From: mitaclaw <140017135+mitaclaw@users.noreply.github.com> +Date: Thu, 8 Aug 2024 09:42:14 -0700 +Subject: [PATCH] CMakeLists: Fix LLVM Usage In UICommon + +This compile definition was removed in 68cbd2640d4663fe29e21234dc068769cb9bc673 because it was complicated by changes in 50dc0ffbceebe0f633bd63cd4710a3e2f548d688. Thus, the LLVM disassembler would never be used in UICommon's Disassembler class. +--- a/Source/Core/UICommon/CMakeLists.txt ++++ b/Source/Core/UICommon/CMakeLists.txt +@@ -56,6 +56,7 @@ if(ENABLE_LLVM) + find_package(LLVM CONFIG) + if(LLVM_FOUND) + message(STATUS "LLVM found, enabling LLVM support in disassembler") ++ target_compile_definitions(uicommon PRIVATE HAVE_LLVM) + # Minimal documentation about LLVM's CMake functions is available here: + # https://releases.llvm.org/16.0.0/docs/CMake.html#embedding-llvm-in-your-project + # https://groups.google.com/g/llvm-dev/c/YeEVe7HTasQ?pli=1 +@@ -69,6 +70,7 @@ if(ENABLE_LLVM) + llvm_config(uicommon USE_SHARED + mcdisassembler target ${LLVM_EXPAND_COMPONENTS} + ) ++ target_include_directories(uicommon PRIVATE ${LLVM_INCLUDE_DIRS}) + endif() + endif() + diff --git a/games-emulation/dolphin/files/dolphin-2407-libfmt-11-fix.patch b/games-emulation/dolphin/files/dolphin-2407-libfmt-11-fix.patch new file mode 100644 index 0000000..bee165a --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-2407-libfmt-11-fix.patch @@ -0,0 +1,103 @@ +From f69c099c20afb5ae5262e93208f1a28e39d911f1 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +Date: Fri, 9 Aug 2024 08:54:08 +0300 +Subject: [PATCH 1/2] Add support for libfmt-11 + +fmt::join was moved into fmt/ranges.h +--- a/Source/Core/Common/StringUtil.cpp ++++ b/Source/Core/Common/StringUtil.cpp +@@ -22,6 +22,7 @@ + #include + + #include ++#include + + #include "Common/CommonFuncs.h" + #include "Common/CommonPaths.h" +--- a/Source/Core/Core/HW/EXI/EXI_Device.h ++++ b/Source/Core/Core/HW/EXI/EXI_Device.h +@@ -111,7 +111,7 @@ struct fmt::formatter + constexpr formatter() : EnumFormatter(names) {} + + template +- auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx) ++ auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx) const + { + if (e != ExpansionInterface::EXIDeviceType::None) + { +--- a/Source/Core/Core/NetPlayClient.cpp ++++ b/Source/Core/Core/NetPlayClient.cpp +@@ -17,6 +17,7 @@ + #include + + #include ++#include + + #include "Common/Assert.h" + #include "Common/CommonPaths.h" +--- a/Source/Core/Core/NetPlayServer.cpp ++++ b/Source/Core/Core/NetPlayServer.cpp +@@ -18,6 +18,7 @@ + #include + + #include ++#include + + #include "Common/CommonPaths.h" + #include "Common/ENet.h" +--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp ++++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp +@@ -7,6 +7,7 @@ + #include + + #include ++#include + + #include + #include +--- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp ++++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp +@@ -25,6 +25,8 @@ + #include + #include + ++#include ++ + #include "Common/CommonPaths.h" + #include "Common/Config/Config.h" + #include "Common/HttpRequest.h" +--- a/Source/Core/VideoBackends/OGL/OGLConfig.cpp ++++ b/Source/Core/VideoBackends/OGL/OGLConfig.cpp +@@ -7,6 +7,8 @@ + #include + #include + ++#include ++ + #include "Common/Assert.h" + #include "Common/GL/GLContext.h" + #include "Common/GL/GLExtensions/GLExtensions.h" +--- a/Source/Core/VideoCommon/VertexLoaderBase.cpp ++++ b/Source/Core/VideoCommon/VertexLoaderBase.cpp +@@ -11,6 +11,7 @@ + #include + + #include ++#include + + #include "Common/Assert.h" + #include "Common/BitUtils.h" +--- a/Source/UnitTests/Common/BitFieldTest.cpp ++++ b/Source/UnitTests/Common/BitFieldTest.cpp +@@ -1,6 +1,8 @@ + // Copyright 2014 Dolphin Emulator Project + // SPDX-License-Identifier: GPL-2.0-or-later + ++#include ++ + #include + + #include "Common/BitField.h" +-- +2.45.2 + diff --git a/games-emulation/dolphin/files/dolphin-2407-minizip.patch b/games-emulation/dolphin/files/dolphin-2407-minizip.patch new file mode 100644 index 0000000..90757f7 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-2407-minizip.patch @@ -0,0 +1,18 @@ +From 18ba49ec1ece5af136a75cb63530f7d1131bf8a7 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +Date: Fri, 9 Aug 2024 09:11:21 +0300 +Subject: [PATCH 2/2] minizip + +--- a/Externals/minizip-ng/CMakeLists.txt ++++ b/Externals/minizip-ng/CMakeLists.txt +@@ -1,5 +1,7 @@ + project(minizip C) + ++include(CheckFunctionExists) ++ + add_library(minizip STATIC + minizip-ng/mz.h + minizip-ng/mz_compat.c +-- +2.45.2 + diff --git a/games-emulation/dolphin/files/dolphin-2412-fix-build-without-retro-achievements.patch b/games-emulation/dolphin/files/dolphin-2412-fix-build-without-retro-achievements.patch new file mode 100644 index 0000000..01575fb --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-2412-fix-build-without-retro-achievements.patch @@ -0,0 +1,68 @@ +https://github.com/dolphin-emu/dolphin/pull/13226 + +https://github.com/dolphin-emu/dolphin/commit/84ab15e020a993286329e1fc0b0e47ffc3c0a536 +From 84ab15e020a993286329e1fc0b0e47ffc3c0a536 Mon Sep 17 00:00:00 2001 +From: JosJuice +Date: Sun, 15 Dec 2024 18:00:14 +0100 +Subject: [PATCH 1/2] AchievementManager: Add required forward declarations + +This was causing compilation errors when building without +USE_RETRO_ACHIEVEMENTS. +--- a/Source/Core/Core/AchievementManager.h ++++ b/Source/Core/Core/AchievementManager.h +@@ -275,11 +275,21 @@ class AchievementManager + + #include + ++namespace ActionReplay ++{ ++struct ARCode; ++} ++ + namespace DiscIO + { + class Volume; + } + ++namespace Gecko ++{ ++class GeckoCode; ++} ++ + class AchievementManager + { + public: + +https://github.com/dolphin-emu/dolphin/commit/ad24ddb6bb01ddaba19bf72e8eda5cae354701ae +From ad24ddb6bb01ddaba19bf72e8eda5cae354701ae Mon Sep 17 00:00:00 2001 +From: JosJuice +Date: Sun, 15 Dec 2024 18:15:57 +0100 +Subject: [PATCH 2/2] VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs + +--- a/Source/Core/DolphinTool/VerifyCommand.cpp ++++ b/Source/Core/DolphinTool/VerifyCommand.cpp +@@ -133,8 +133,10 @@ int VerifyCommand(const std::vector& args) + hashes_to_calculate.md5 = true; + else if (algorithm == "sha1") + hashes_to_calculate.sha1 = true; ++#ifdef USE_RETRO_ACHIEVEMENTS + else if (algorithm == "rchash") + rc_hash_calculate = true; ++#endif + } + + if (!hashes_to_calculate.crc32 && !hashes_to_calculate.md5 && !hashes_to_calculate.sha1 && +@@ -163,11 +165,13 @@ int VerifyCommand(const std::vector& args) + verifier.Finish(); + const DiscIO::VolumeVerifier::Result& result = verifier.GetResult(); + ++#ifdef USE_RETRO_ACHIEVEMENTS + // Calculate rcheevos hash + if (rc_hash_calculate) + { + rc_hash_result = AchievementManager::CalculateHash(input_file_path); + } ++#endif + + // Print the report + if (!algorithm_is_set) diff --git a/games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.patch b/games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.patch new file mode 100644 index 0000000..0f5c3fd --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.patch @@ -0,0 +1,75 @@ +https://github.com/dolphin-emu/dolphin/commit/22dc21cca42b2eaf373ac9e1b5128c566615aa71 +https://github.com/dolphin-emu/dolphin/pull/13262 + +From 825092ad33a2e7466e79520c1338d0bed56ca299 Mon Sep 17 00:00:00 2001 +From: Ferdinand Bachmann +Date: Sat, 4 Jan 2025 18:45:32 +0100 +Subject: [PATCH 1/2] BBA/HLE: Fix incorrect fmt format string + +--- a/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp ++++ b/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp +@@ -686,7 +686,7 @@ bool CEXIETHERNET::BuiltInBBAInterface::SendFrame(const u8* frame, u32 size) + } + + default: +- ERROR_LOG_FMT(SP1, "Unsupported EtherType {#06x}", *ethertype); ++ ERROR_LOG_FMT(SP1, "Unsupported EtherType {:#06x}", *ethertype); + return false; + } + + +From b79bdb13c05b4fcef23cd30b210d40662d28373b Mon Sep 17 00:00:00 2001 +From: Ferdinand Bachmann +Date: Sat, 4 Jan 2025 18:46:04 +0100 +Subject: [PATCH 2/2] Common: Fix compile failure with fmt>=11 + +--- a/Source/Core/Common/Logging/Log.h ++++ b/Source/Core/Common/Logging/Log.h +@@ -99,7 +99,13 @@ void GenericLogFmt(LogLevel level, LogType type, const char* file, int line, con + static_assert(NumFields == sizeof...(args), + "Unexpected number of replacement fields in format string; did you pass too few or " + "too many arguments?"); +- GenericLogFmtImpl(level, type, file, line, format, fmt::make_format_args(args...)); ++ ++#if FMT_VERSION >= 110000 ++ auto&& format_str = fmt::format_string(format); ++#else ++ auto&& format_str = format; ++#endif ++ GenericLogFmtImpl(level, type, file, line, format_str, fmt::make_format_args(args...)); + } + } // namespace Common::Log + +--- a/Source/Core/Common/MsgHandler.h ++++ b/Source/Core/Common/MsgHandler.h +@@ -41,12 +41,17 @@ bool MsgAlertFmt(bool yes_no, MsgType style, Common::Log::LogType log_type, cons + static_assert(NumFields == sizeof...(args), + "Unexpected number of replacement fields in format string; did you pass too few or " + "too many arguments?"); +-#if FMT_VERSION >= 90000 ++#if FMT_VERSION >= 110000 ++ static_assert(std::is_base_of_v); ++ auto&& format_str = fmt::format_string(format); ++#elif FMT_VERSION >= 90000 + static_assert(fmt::detail::is_compile_string::value); ++ auto&& format_str = format; + #else + static_assert(fmt::is_compile_string::value); ++ auto&& format_str = format; + #endif +- return MsgAlertFmtImpl(yes_no, style, log_type, file, line, format, ++ return MsgAlertFmtImpl(yes_no, style, log_type, file, line, format_str, + fmt::make_format_args(args...)); + } + +@@ -60,7 +65,9 @@ bool MsgAlertFmtT(bool yes_no, MsgType style, Common::Log::LogType log_type, con + static_assert(NumFields == sizeof...(args), + "Unexpected number of replacement fields in format string; did you pass too few or " + "too many arguments?"); +-#if FMT_VERSION >= 90000 ++#if FMT_VERSION >= 110000 ++ static_assert(std::is_base_of_v); ++#elif FMT_VERSION >= 90000 + static_assert(fmt::detail::is_compile_string::value); + #else + static_assert(fmt::is_compile_string::value); diff --git a/games-emulation/dolphin/metadata.xml b/games-emulation/dolphin/metadata.xml new file mode 100644 index 0000000..7685ff3 --- /dev/null +++ b/games-emulation/dolphin/metadata.xml @@ -0,0 +1,26 @@ + + + + + mgorny@gentoo.org + Michał Górny + + + games@gentoo.org + Gentoo Games Project + + + Enables Discord Rich Presence, show the current game on Discord + Enable evdev input support + Enables LLVM support, for disassembly + Increase logging output + Enables GBA controllers emulation using libmgba. + + + Dolphin is a Gamecube and Wii emulator. Most games run perfectly or with + minor bugs. Games are playable at HD quality, with 1080p and more. + + + dolphin-emu/dolphin + + diff --git a/games-util/r2modman-bin/Manifest b/games-util/r2modman-bin/Manifest new file mode 100644 index 0000000..1163659 --- /dev/null +++ b/games-util/r2modman-bin/Manifest @@ -0,0 +1 @@ +DIST r2modman-bin-3.1.45.tar.gz 37124043 BLAKE2B 8d089c71bd5dfce76e362a2bb86d03b310bb85ef373b1ccb985b4a0836bbc75e9688d253d78c3100b924e8bd6808c8c9a292e4906e3019a7c478f9f933a5a553 SHA512 c8f5dcad2252f362f8ddd1f09ad34c75e15a8fe76e3fbb4f636cefeb9a707931c7813cd37b32ac4cfbe4c8c61836af56c006868e11133a73d4243a6a84edd094 diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest new file mode 100644 index 0000000..fbede02 --- /dev/null +++ b/mail-client/thunderbird/Manifest @@ -0,0 +1,197 @@ +DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e +DIST firefox-136-patches-01.tar.xz 12568 BLAKE2B 9056b1c750eeb7c226bd4ff5ebdb03d491177d93bbee95552f7176903ec8796131a491c39304030370ed55281f92585422e28926b5f7491081d33912360d999f SHA512 48548637f6152fd3a72e283e3d16708a563fe84cd22d84129d5bd58f6b6baf7a6e50d521cb371ef21e7b9f95c13cc72531a3e1ab735abb70c51e5c02424fb2ca +DIST thunderbird-128.7.0esr-af.xpi 530351 BLAKE2B 665e3c36027491ec674b4d11f668de264b9e7fdb476930dd151a7df7449759be5768986ac83ad348f6a9e1495ce34faea05a3647e31503a0a531c5ed35dbf516 SHA512 18dd42b98b74e951d624a868c89ae9713d5e5b1e991170506a880d2ab8ddb22e834b11a42bf9ab01c2664742eb503afcfbae93dc6baf3c0c2b5ce1322e545632 +DIST thunderbird-128.7.0esr-ar.xpi 686986 BLAKE2B 4b219c2ddb940ea9363f86167d1d94acb68ebb280a17c761d8a54b09dab85939f4fe861b82c6ffc90b79be061b85167b35e9e96abde1ebb5732d82f59f9e426a SHA512 f9e314831d230b1488b64056caf22a410f4e883c50e697746965949775333f785ed0316d0baac1df460c33f7724eb93a8e0784d7ee99d5fc9513245552f7749e +DIST thunderbird-128.7.0esr-ast.xpi 561055 BLAKE2B 14f2c12ee192d153d665f3637352bc5b5964661ff96db6d4c67a07cad2bd7650f3e2ce2fc687c92ea3480edd4fc5bd748f7c10d08cf8fd19f5cddba08b12397a SHA512 4a68c5a10b38496c654d27e4ca82c10804f739ab526e6644509a8dbb09928c1a2d2182e003e79a4276a92bf62ebe6195c292662acbc3e21f633eb00abeaa843e +DIST thunderbird-128.7.0esr-be.xpi 772990 BLAKE2B 0a6004aa6afe568d4b0dcda0cf77e8f2ddbe51171f00b671feacc76ebe96b0b9cdcc65ea96830a0f73ce37d8fe534bd4a0fd715e7cb1a17f28f8fef20777572a SHA512 77cb2459d26521253efcb71dabac1a3209c6a8fe5111d4c4e6bcb2d696c5d601f72890f9cb3c49c476fcf4ef73f67a033d5798c3d12cc1ca9c3dbfe84b2abe95 +DIST thunderbird-128.7.0esr-bg.xpi 812324 BLAKE2B 9d684f979c7e30f8d6f06038607dd0b88b13cec484bd5202ce36b13d7fd344135ffafac5f368c10ce170e9121aae7cca8af82665a057aafc79b7d0e71ad551c2 SHA512 570e2a9c71aa853d9e8d159cf925e7b0f7a409cfb66f43383e2834edf2bbd90127305954c182654f52129437506c4cd0e54f66d14f880fc86478c7c2d7008a6c +DIST thunderbird-128.7.0esr-br.xpi 655126 BLAKE2B 819b6abfc63c53ea3ce8032743bd12650fa21ca96aa81f467eba3501239c4da0d2b29efcecdae61673084b41b1b80360a7f725e786dd3f746e599e2c11e36e02 SHA512 6cd4d4fefc0e8a7ce7454d7838cb360399194f3a05118ca90b029d0a53ababa762b3846f5f9855df0ce4e94b1eddb2766605a3b1b014b3aeaf0c87b4497be225 +DIST thunderbird-128.7.0esr-ca.xpi 711079 BLAKE2B 3a1596e753edf2f9def896127abc7099405e36ddfd78733578c27cbee62467147b6a60bcc6ea50aa67f07a20a5c681fe90dbcfda7b3ea43c05b02204854889d8 SHA512 9ac29808ac217e334b561585c9a9aead3a41ae6d06f6878db2ac34b3d993bc06c3ee33102d98e1ffbdfb3f563788ad65c3cf479c3192f35d7ac21cef0750af10 +DIST thunderbird-128.7.0esr-cak.xpi 672196 BLAKE2B 4d124cb87065abf5b00d9c9b32579d66c8598e903a1f4d4f114184462f06a30e3d82ff250e3e56366b9dcca72ca1a51ed72c857556be634f8611289d0e4dcb0f SHA512 0a92954fe4deb26f5a7587c175c6ca81c1a561d089fd54d737a5a5a9d52529904e8f0debb1378841e1d3f6f586a976ae179e4087dd5ea5941cf944701dc38c38 +DIST thunderbird-128.7.0esr-cs.xpi 791610 BLAKE2B 513dab8838994d84d5c3b536c4530a1184e409a510d7c3a76d4dee26eac55d82fdbd74b5d6ccfd50b972509b90fc03db7ccb401653304f7e09f8e06c4a1d7db4 SHA512 c843800a1e8e791f3264075450e3e1ef978a2d1d4ec18ad5c55e513f526849f3ef7070d2796cd87accf38dac9dff381535b85edd4e8a57cea3632967a4fad7a6 +DIST thunderbird-128.7.0esr-cy.xpi 756815 BLAKE2B ed1319a45cb72de06dcaa74a717a7a93d821db60832417824d53b3a377ecaf0b7ae406efbcb2632968d0349d19a38515f09d05800ee99d701ec537be7d236d19 SHA512 0158488d145a05e0bf84e626f42c96d448423ebfb37cad0a8a7fcd300267864f59ac519d43dc8eb91503621297e88181164aeef2731fee07b49da2619e7e806a +DIST thunderbird-128.7.0esr-da.xpi 740057 BLAKE2B df744c0426149bea0702e31bec9e0b42b57c45dd62250b67d8f80017d02696969753659af91e423bd5cb9215c3364dbc4137898236ee6857fe053bc3afd8239a SHA512 67f3e7c2fa199db55c187ca1e8998a513c21158579996fa54f8296850805d9ccfa96f8c9387f7fd63593c5f11c3b15e66035af80200509bd00f1751cf0b8e18c +DIST thunderbird-128.7.0esr-de.xpi 772207 BLAKE2B cc51ec2a127eb7a66a3cd4c82fc910403317b36f24a72a5a50c15eb1a1a921156c1f6eca2507901ed92ca484285d36c402a065ddf7dec34b6cdac1dacb1935fc SHA512 f299654dbeeb9ac0a4c3a601d0d9ab084b271c62a624a1646a880bc2e3a224c9143b96d1993c8d302d0018bcb784a5d56814742f0b64ada5363e9b3b3fcf7acf +DIST thunderbird-128.7.0esr-dsb.xpi 790369 BLAKE2B b57ca9a6cc7975540195c71316bebbff19d998f767ef4000b04cb9debde12aa6bd65eb7f56318e6d3cafa4b92b32bfed352ad1188e74adbe921bfaa69036c86b SHA512 e2cda336edbc3b6a3a2776ad026c245c3e7be10b71dc7a88d87f209d92b76bc328761c73f348f23b9d6cd37809c85fef7fb722d36e186f5f508fd94f3987e39c +DIST thunderbird-128.7.0esr-el.xpi 895923 BLAKE2B b257252ad8eb88a88a386a7e733150a8cc53ee4b14e114645751715b7d0098e1a4a598d555e44c4501bd059950a3eb6359244bf4f26c419857cbf4d4c7df689f SHA512 acf2f553bd1e69f09760e1eadf51bd3d9ab30be3bfaf93a4c4dde3f818114b6e0cca041dc257b31fefa60b6809501c9d3363a1af48039bbe7d75eab95a1a0263 +DIST thunderbird-128.7.0esr-en-CA.xpi 705214 BLAKE2B 4bdfb5bae2c16bdf1761c51874db0fb817da188d81a81f3c5166ed5a97cc9df98dd271374813c036b76c366181ccca286ffb7bf3ca912c4b80382f10efe20f4e SHA512 21b8515ed27a03d37e68f2adf548d8f68cdb0e1607adec950d44e1068eb4703f0ad2f5bb183ea3d2b1fe184335032958aea35a3d5c755c23e9f87e7929eff29e +DIST thunderbird-128.7.0esr-en-GB.xpi 709688 BLAKE2B eb62ab5f6b3badc50391095464908bceb1fc502264e268d8bc4390f0d037b952fc0667cd212fc514fca2c4609b91199a2288204d03f5434feef543af79f658da SHA512 a8edeb153ed97de071454fd88d01db964ac4b30c4580b540d0425c7e637dd5a6d76aee8e92775c3e2c5ab2bd071899c00ebf4b32902f9cf3339fc5425f92468e +DIST thunderbird-128.7.0esr-es-AR.xpi 765754 BLAKE2B 78a051457cdc46c87cdb07d09b0a801fc81fabfefa4fcae2d6f20d27ac998879c5068c7f6b858556b73c8acc7ff6a3a85b8ccfa97ed63ceed667cd6a12a3de90 SHA512 273a5ff9e1ec094a4d4d6bc523df8644359cbc807a5aa61c2d0d1d31f40c44adaaf4dfb79407db899990bc03b76a507a5180b1d672e0d34f8184d7827ac79a24 +DIST thunderbird-128.7.0esr-es-ES.xpi 733786 BLAKE2B 5149580e38ec172c049c5b4c33da754f522880102a3fd52d3b27b51a65926a23407ae55f9cc83018fc6c263974171a0b50a0c1ccd08f5ba3c34cd1d3d06f6137 SHA512 72c68661a3961e75c40a16f5cc2b9d4ecadf539a7ed47f47ec0bf8b052c3c3ada75ce367d2210c5adcc298e83f761c06851c9af4b6f8dacd0a8e89808f889837 +DIST thunderbird-128.7.0esr-es-MX.xpi 749782 BLAKE2B 5e88ebd56adc287f5b957546e24192d2ad3dff297f149deeeb2c5d8c191d159ff469a83df974aa559465cfd66ea88000a573d7f7f118821933679f4c140df0fe SHA512 d38c7a0605bf937d30a1b3839587c577729454e93a57a0ff212b0758d6301c39a44c240d8bf20378e283616767bd9d4171b426af09248465f81c15190f880f74 +DIST thunderbird-128.7.0esr-et.xpi 696775 BLAKE2B cd10655d2ecc37f81d21ed5f742332630addc0006680c08fd97d5726c04a1b0e185dc2442f0a057d2ec77856191bcbe021b9a1d752a20aba43548f935d775069 SHA512 099d3a710c5ac18461826ed9340d32fb8fcfae0f274005c5404eb124fd0ad9c0e0d54929ad43bdac0e955d44da241fdbfc7225295bcc8894db0459321d32ead7 +DIST thunderbird-128.7.0esr-eu.xpi 740306 BLAKE2B 6e406585672f1abd52470b5812dd513b264d11dbfa44cc518320058b161ee94a86b5bd9d4fbf926521e5f03cf4acf8922ecdea5faf95cedd65180e74fd1981ff SHA512 b040d43d3a83d9b083a6645f24763535425420c7d6643c9b500cf1f0c9babfa8c90671d60adaaee318b271b2a3a8813de2a91a709e91aba407b7a7d2ca131347 +DIST thunderbird-128.7.0esr-fi.xpi 738932 BLAKE2B e8d9b71a5d67face67145fab85afd531b3026c1ab3dce19cec0e0e7b898039855e9982e01ee445134428eec6e71e7e1a866b8f6b7f4f08fca95916576bd150b5 SHA512 f2da784f2127e20a7bef27a315cb4ed468c4cae96f8931221847a2c8bdbf5d3af4079d2ab16a21ef187391ea2d2c9606d8a980003a483e7e3cc30cceb0f48558 +DIST thunderbird-128.7.0esr-fr.xpi 777365 BLAKE2B 215c1552484d7423c11bf601bf3b8fbcd29a2e434e43cd5d0de31ded728139f1de533f1250252d1ff832392c3abd98c4450c52b3c3dce37414573df14c150eec SHA512 8ede47f16b8d1a86835648a1d1d02e32b69022ba6feab73b680c0945c34d845af2cb17ecc2215a8dc2efba1d83ddf658f61510b5f817c7b6778b806cdf5c21c5 +DIST thunderbird-128.7.0esr-fy-NL.xpi 759929 BLAKE2B 87d665b71bf41c0f660f5dc6c190adcc153f6ee37e4a23fa0b007ae2e3a1d870306bdcabaf7c4733b639c65f1ae294d5e03249e6a6aa246fcbe0e4cc5398e2e3 SHA512 0df0967be48ca4fd4b32b3ff95cfc7f34de8e8684b89255b0fe65dc56129c90768eaa2e2fbf8d04de2ebb53ff5f507ae0b2322a47be9ff8884db3acabf7e5983 +DIST thunderbird-128.7.0esr-ga-IE.xpi 616369 BLAKE2B ad3e57f7e344582435acb00141a38c64bafa9b7075c0e19eddacc22d05d8d5e9ac4cedab579b84ec5b559f5285ae0b06d54b0c8d7d0050a5940d24eb803ac52c SHA512 6e5b0c87ae508b10a6634b39aecdda738cc9c9ee17d248d3d01c952bbe0dd0eaf09dd2c94c028e9f32cff3fc1807a417886c29160e0f956abf7504134a9c99cb +DIST thunderbird-128.7.0esr-gd.xpi 729139 BLAKE2B be822c4a4cd736c2dcc8aba3d190474e061a0922bb640a901f5c1cf04ff927490dd5846f6d8d678e23a9c9df2c3f0d62f8f48c4191e42430e241af23b3ff5b73 SHA512 c6b06f31acffe9fadfb6093027e9f065d4d87915405539168922d0c2a34256570d96715cefd145ff8e7f748baddb15e2a374bccfb4411ca77988c697bb16f501 +DIST thunderbird-128.7.0esr-gl.xpi 742177 BLAKE2B a63dec77259d3d24601dc0b32fe07634b239a75ab1630b4599458ffaf952c61e2623dca5cdf25b6b54a31095620b3672db1ab84db3026214f5973cdbcc36af06 SHA512 bfa460e0cf2d67a4eaabf7439ce7588040257a2979418d42bedb9f56ff6a803563fbb6e9f938e1283674e627daea924780c681bdf95e1b4112803b72e3b5c5f4 +DIST thunderbird-128.7.0esr-he.xpi 703448 BLAKE2B f609b7f1c7957fcfc293fa270b1d66017e2d1051e19252904febf85928549cb3d263d5653e01ed52632af639ae16fac2722e7766924ac2953f13fde27ac131a9 SHA512 cbf6fc25c3f2f53ffa7ad434b88dab5f76e03e72c17d452cded322e73b2f9b9b76fdb758a2c9e786d8e77c4b8b0de094f3656ad58e9a9a6db6dca59175d5e7ac +DIST thunderbird-128.7.0esr-hr.xpi 720121 BLAKE2B 27bcb5ecd4310ab6fe0a5ac331f6d22c33662f4800acb88f9c5a68e1b718c385ef52defaddae907cb8c5ff2f4c95381fe489db4de23e4c977cf6b622fdc5cb1a SHA512 133991092b131dfbebd1099854267307052228af24fe96f0d20153310bb26ce386019ca0b32266478ab77e80154258372e385a1eef253b7633077a6f479a6e6d +DIST thunderbird-128.7.0esr-hsb.xpi 787749 BLAKE2B 25c56ec7893869a7c6fbc74db46e2c8837ca7da7779b064af8dc0ef6dbc655ae4d1ad4aa5b68ba86e880fe03c621fd77e94f169e9fc3e1836789e99541dbf081 SHA512 83e58733a1794bd45127f144857f8ea51fe859967087297f09d99d1a7871e14e1a88e76638a65547b809b350775a96e120c06a1247a2e8124abd681d44a6ef40 +DIST thunderbird-128.7.0esr-hu.xpi 790232 BLAKE2B 467586f159244dc01a82f01374b996ea40c2fc73c0e19ef33a29913cd2347fff77e7a6b9be2ea94b0074143fcb6b488143fb142cfc071f4176f6f5b704b2a1a9 SHA512 5d529176cbb1b7e5ee35f154c040583e812cc98c6ca1fa07e0ec0bb4c0b38262abb10863ae064984296e762b2db3236b2cc364b57d2a43804e9b2add32be7143 +DIST thunderbird-128.7.0esr-id.xpi 710327 BLAKE2B 10078c0b4d2cd1961ccce39e082a1102da49bd97460527fe5f799d09c7129897c716ad68dc789b7f300bb68e7d2c28360aa8999dc62f5792032209077a4f4884 SHA512 2009b7d03b4cefb805aeae0fbc9256721aed633809714361f40911d3009504299cca8eaf56049395825b40a41a0263899966cb1bd0c7a7b97846257ae83c5fd6 +DIST thunderbird-128.7.0esr-is.xpi 751188 BLAKE2B c7df7207f236b65b50c3420940657a34257e5bbc78487f04c1f6b8ff71b45ed2415faf3b77d71216e84cf03b2a7024f4d5b0af4e7ced8d1136d2c5bfe708d117 SHA512 6d0311ed75a3f5bf9f38424dabd803a29b2786173428df1f92999982df5aebfc6809c83faa545552f2717d5fc6d1689e6f422f1c83f894f13aac4b055e45c768 +DIST thunderbird-128.7.0esr-it.xpi 697096 BLAKE2B 8ff1927df39a7c876309ed90101af330b5f1a3a2b5d8fdb17fb1357be15dbe2d9397a1ca74ef830085233290c82103a0bcb7f6692c169951b6b04cab48ae9cd8 SHA512 af53190ee838502482d54884fc71cdb364bf37d98dfc1c130ab4bd20442e352f015e4a3be73ccb1e7edfce894fc941f93ac7bedaa874a6642dd5235708d11d86 +DIST thunderbird-128.7.0esr-ja.xpi 817723 BLAKE2B b39950f85af5319feb9038f6e46e9b468f45cd28f19df387b91bbea819bc0627aea964e16eded49a96c715eeb8c1b100459981b97571b29b0533b8646bd468cf SHA512 e06f73a66f177ee38cd04e69eab6f27da4d6369c25e2be089db538101226d47abc35c71f6a9e653268e7469b0c04b8676af8f1910c11a008f877e359a86c94cf +DIST thunderbird-128.7.0esr-ka.xpi 796714 BLAKE2B 2cdee09811e79f8fcb1664771bcdbd46a0d4310ead60585bbbc9fc9d9c759b563d2ab78944d039a2b57cc48354abe9fa83d27f4a76e5a399e74e93b3ac8f253e SHA512 ba98c87673a7a37389a0a529aa90b3529ca9c463a4a1bc97c198d51877de322b281fe03574047073abb502e392a4e1bf241a38127f72f2b07135a2d82353fd92 +DIST thunderbird-128.7.0esr-kab.xpi 735477 BLAKE2B 48c4c8fac97afc18fc364e79a4fb274e4ccb2784b987ff8186619aa60d91fae969668295eac1b641157898100bd335a8e0dad0ddb3868e61a37418c2e3e001ca SHA512 e47aa096b4f1ba1891e1ff8fc8f7d8edbeef5cd1e5cdcfb679906f3f7e497b8a7d1be54739480acd6a0641f5a274999ea6c38025809a69954c7d28b45b687e43 +DIST thunderbird-128.7.0esr-kk.xpi 865511 BLAKE2B 61ad7f3884c9edfb5177a6cf2c7d2b43129cba842ccd2a5eba82e1948db01b7360b48a15ce276d645899f22faa0a44b89b99b751d20edced31dd315a8452d7ab SHA512 965421675ad7a9329fbe87e53ba290d58caf2c9e6ff68790f84ea1cf1e017e669f43050e10363ba8799b51d989b92c119f6afb4205ca3ce2b8367948dc078371 +DIST thunderbird-128.7.0esr-ko.xpi 762642 BLAKE2B 3f584133f334dcd8d9e6e89219162dcf5497e136e5e3163791a7e1b57c35420e5ac4ca7692b8a91f3b8a6a137dcfa20992bc33ee82aeefe1d97e697627fa68cd SHA512 7b7cd4e4f3a27ca3ce3b4840e20e3d366b9c46bccbe6518bd76700ad38f5fc89f2886090fe3c6d0cccfdc453c0fdd701c8eec3e0f44bcb8169cdd42697cb7f77 +DIST thunderbird-128.7.0esr-lt.xpi 701409 BLAKE2B 8642f92b9fa47609e6b405517c93261a6257c5cd734f1abbeaf42c9e89ee7831cc829c31ee4b72f9ccf8585ee9be882155d52e170dc4c3df5fe3e6d7c7202c45 SHA512 a0379dbeca96b02fb5c30d0a95d54dce6e15886848bd1cdca2f0068472666e191e1792e83a4578650b47f406eb28582ca429b3f2592226b9ac5b8c9b5018666d +DIST thunderbird-128.7.0esr-lv.xpi 625981 BLAKE2B 1820f75e8d2d617ee04640262c1459c652dfd10bf7736f83e8923567b81924dd4432b5946fbcf5acb8e253465f23d91980be0dfc10e1f07392334deaff129e88 SHA512 d021f9e76c7790ff8e989fb36313b86b1396f40381171e2cd3a1d3088cbb9a5155df949240f720ea02c5375e85bc37648e5e23820299c3693a210e8aac366841 +DIST thunderbird-128.7.0esr-ms.xpi 581575 BLAKE2B 17fa1b1f9e114413491c47366b6c47b5d1f484436de3b849cf7e32a5a6ea8eb6bfc89ade56e97825e28aa493ed2f4f5d669aa09a4b0fe243f08c91a888bf245f SHA512 95c2f483c2a325da0c6f950f4f8e211cb4a27f378e30ad050a100f15dd1ee693e16039c0afda74918774e6271cefcb98fbbf1e052978153fb938489b07468e77 +DIST thunderbird-128.7.0esr-nb-NO.xpi 708562 BLAKE2B b0758c994535b4809feac99dad9930b50f91e568601f63511295f08097e8f2feb1e195b1592685b36f9d38f48a95a2fcb756fcd8509b4965207460c9f32eeaf0 SHA512 53096019a732bd6add30384c75a4ad84a8143ed48c5f69a4e7e4c3ffcb5a8a083125705fa1408de8ead7c1b807b95ee9fdc6888296593f7b5ce5806e9082a897 +DIST thunderbird-128.7.0esr-nl.xpi 751613 BLAKE2B 9a4850d60232ccbecd2cf7df797935257da484265316aca5a5a90e77817e4ddce79867e66594201a0eaed3a296cf5c867799737de5d40c5fe75585bd7efa21a9 SHA512 f4249e1a77391f99c0607b8df7aa6e9ee1c5abc79e470a05cf670bde0531d55cd99e74b542ffbc0e2d43385ba33fc29dffa6bfc2e8b27969f77a37d97ee6802d +DIST thunderbird-128.7.0esr-nn-NO.xpi 729660 BLAKE2B f0d4386ac0f14c8992024e0d64ec675f1e0f96368781961328c1f1dea8d9f4d90ac15ffbb3ec2989707892ef79faaa40694ce8ed984bda0665bb9588067d6ba2 SHA512 4e5f87f4f7e0f0ab4ef1469f8877357437de87e44a40a29b16a0ebb465b7b999e5db12dcb91768342eccc86010cfa5efc68654a80d554811b01c88e22889f57b +DIST thunderbird-128.7.0esr-pa-IN.xpi 688139 BLAKE2B c6d025a17685b94711d8ff7dda506f901eb3d17a1562ffa3cb4be6ecf3b7159442fcf6e891825890d9b89cf6e201f9375fb8e7021ce46ce0eec8b71e1d9bfd8b SHA512 8b81b0a32d04b63a8916036d40798a7284fcabb48f3435ebb1a4984dac7cf5403dd7062866f1c36d1e03caf3379f4d56bdfdb3b3195f277e58328ff2b624e995 +DIST thunderbird-128.7.0esr-pl.xpi 770780 BLAKE2B 196e2aa441a0702e58df702cf6c8a373d033d3727eb854f0c3933950050df5819a35e5239f6af346abdc421148cf7b8653dd5658e3fe0121a876a022015a28e8 SHA512 47b929ca24adc07e0a9fda4103cf6c730ff30c805587f09cf1e71a246a3f72469300b51b4db05ebb4ef09e9350ac00c279e4530fbe657b00f2872d8ca8d78f56 +DIST thunderbird-128.7.0esr-pt-BR.xpi 758846 BLAKE2B bdfd3fcbdafcdb3d0a4c484683ce34ccbaf725fea99ef106839717a21a3166a3c06dade39dfef1d4298db15ac809399ff33bcd1ffb4a57fea5f4378abf0b7703 SHA512 fd344d6744ec854111b883448195fc6cd31ee387edf23a4514dc44967dde3ed0daf51b8a4a4c730e4a4183c7bdff05d341d6069a2378f9083c2c0004d136bdc3 +DIST thunderbird-128.7.0esr-pt-PT.xpi 752025 BLAKE2B 3eb50f6be0dd6a42140475060a8ea834c4c65c65f04016e16ce92d3cef9602b9d9b18f28e9a63da270cebf051074aac1e5bd6898ef9a029ed5de23924f239c01 SHA512 edb1f09f58c8891b6fd89168e2e9efd4d86caf1b52a89d7f3da0d1f2e5f72a38543fca4ba7a117856fe40134753667fc730a00070404f9b5a73da0d939c389b5 +DIST thunderbird-128.7.0esr-rm.xpi 754446 BLAKE2B 50da6601327866d8194a9065b99a9e797bcd0abfda74e7a762a8c4b81b8337c643a6e0bbdaff93173eac6ea1815835c3dbe9255f9089e5109e3c9f0b122c2d9b SHA512 4029bb04abd05ea71435c90a56bd94e46642a9fefd85e85617aabfde929412367b1b3df6552db0e6d9f6c3646d2a33ba6e8d87cf10a886aac0c9cc2497a45c21 +DIST thunderbird-128.7.0esr-ro.xpi 670229 BLAKE2B 6ca1de5496c6d28148fc66f2755b1f2f165a0048c044b0001ab17ee5669c7c5bc37191c3267f888c31b8de242225aad831bc1dfc45e3c0defc0164ccdef4702e SHA512 44459221af31502c905d40da208d7262b50880d8f422f33a0a7fe4b59a9332071f5fcfb86b9917646df4fd990b203e06db8dd085f66e59f7065cbeeff14ceb10 +DIST thunderbird-128.7.0esr-ru.xpi 880798 BLAKE2B f587eb80231744bd135438f4196700b0507072e0f50619f3d4a1b307c66f665cc554ccde3e4e017d1ce9f6c547cd481a17ee0e0a79e8e674841fb390d9eb60a8 SHA512 724876f8f959c268d2a68948d8dc519067076a08948ce8f9d26df58d96fdd3c927982d9acf9621acad91c3730ff053ec5582c3b2caa7242a08fad50985902f5d +DIST thunderbird-128.7.0esr-sk.xpi 792220 BLAKE2B 5dd4b78bd08f2f325da0ae8536dacc1efc4412e01e6163fda00cc92c64e566d951cbac6496046c7055b0c105d113b93ba3ebaa318f2aa94d5e893f42aa845840 SHA512 9c89e0c8df307fddcb39ae84c7e2d83b90166f13b85ced0ac090773d26ddbf29320bae87cb2daf46281df6c6606d5879a2d4a7a846ea23174abcae4ea0e5a55c +DIST thunderbird-128.7.0esr-sl.xpi 751650 BLAKE2B a3d62715cf25d2d2283608cc9caab4df42d582f641097e5e82c7025fc12337c00f879c057c65328c5900f4ead59719458e7804be9ce96a24fd43c92d70fb6360 SHA512 8bdf61fce9f362415471a196488f0ab89c39927559bf9bac8f0097f8c5c154f3cd1852d59c1e43f8ed8cc6f44f457cc9c90b9936b9d77c5da6a10a2d37f6edc9 +DIST thunderbird-128.7.0esr-sq.xpi 774998 BLAKE2B 4641573f4aadee35d60a0b406370a413ff487b9fd27bf8b7e8bfa432f53b726c1baacc855785d6e870ca04b9158c6bc90001ede39c67f67b8c496d0cf89757f7 SHA512 71f9dc77159e5a118352fbbfa3f6821c6e17d95c3b210d18adcb06aa77e53bb0963fb9f648541585aa6d8e75c73d5c16763f319efbdf02d227258d7b5512e94a +DIST thunderbird-128.7.0esr-sr.xpi 771753 BLAKE2B 9158c3187a0b4d9e8830b9bf7f52fc296d81b911d44715592ad3ef444c4a46c2ba0eeb13ae0a25b0472376818acc4840f5b5c23751f43cc2d867b4cfd15835b8 SHA512 132af5aa750a5711478d320c2a7ee15c6fd90106c3db16c778ec8c6237d7d54901a34b8114fb44249f9fbc1d777aca95bc7f4b649e0ab230312bc9517557ede3 +DIST thunderbird-128.7.0esr-sv-SE.xpi 754939 BLAKE2B 91f8336b699d25aa89a22c1e08f592b81a3138287efed6523ab094fbb2577eb5bc63c297313c0ed9e3726881526f5cd35a8fb45c6b0663f6cf7c6c8730c9d512 SHA512 e2376ca51b18b82210fbab686aaaab1f64ac5257415fd432633b7f849c9ec626deb3d586187c6a82d79f85b0f2d5a69995a3d9fc0037031b4a04008b0f855b52 +DIST thunderbird-128.7.0esr-th.xpi 819693 BLAKE2B 9a94de8b73e90bc2a144feed11ef2415ebc0688dc72ec81d29fd762eab20569a5a033bc28c58c7c8bf3a41b29b2fe91a94632316e2f7a63e18399f5ba95feb85 SHA512 c3e6739123d31026fd6e26c7cf5f486010b9d1a8a31bc41a28c36a2e77ef14b0b8d6d9111c21ae8ab70d937d7558af100c6e80d15c5e058c433dcc974b016be2 +DIST thunderbird-128.7.0esr-tr.xpi 765550 BLAKE2B 9fa3d0dbe20beba4e9cb12cf196dc62b60392cdb10338bc50307fdcb71279dba0901bc01075dbf7085e532651cd43db68b4f68648e8160288fafacd1281a3e0f SHA512 eaea6c9a393b01f2beac43e1e814e105eb2c11906c99934a254da36beb6d5c77f62becdca0fe00252416618b10f624262d6e96c74358092fabbf3931c143d2f4 +DIST thunderbird-128.7.0esr-uk.xpi 871378 BLAKE2B adc8d1669544b922325c54f3a76acf32e63dfb3b910b668eefccba3e0d8708c79c4569cf7fa1b2870a67aec5c85faad590db2f4aa385cb45dd040078033065be SHA512 8b5fab2af470faa990fb7e2c7a75231694bc2a9a38aa82fe54f9f71c0dd9ed8a10c263cbc2c41c4b8fbc239c67aae9a3dfe7d8e328a2b12288c68f03fe94ce7d +DIST thunderbird-128.7.0esr-uz.xpi 592620 BLAKE2B c1f41ccedddd4c025153dd1fe7e016f4ce97443f63ce91ccf71c051eb28c1e7b781e5ad714d001116387031220be331ca5d75840154a6ba76dd097a098f4551f SHA512 2fd7eb9a7b1f605ca04a4b6ee3c890a0339e064c4f5e21955b279ae1fabc50b73770caab46b2fbf3ea674f60e627654913feb5a55c93f1def46845e252315a3d +DIST thunderbird-128.7.0esr-vi.xpi 794035 BLAKE2B 307d9823c016a4f6d32168cf45cebd8402e70bbab61ce02602881a172ec0d5c21cc2b46985375a36ad46d01a6b85003f8295f8c122a122a2e3f84f837f24e36c SHA512 c2e30523bb15db7353d64275aa86c9398d8719abc01de566c656bd1d012371abb30bb7ab4eb45abfaf376dc309bd728884e87ef0564ec6a357153c3bc6dcfec4 +DIST thunderbird-128.7.0esr-zh-CN.xpi 794062 BLAKE2B 3a7b5e1543894412d8e2aca92fc742764dd01f8101db2a9fa52edd3960e12062ae674da416c8fb17fb710786088a156c809d51668afc74bfd4b96d8f838d7d51 SHA512 51f6ff063552779304b227f62075dc0432509d7fee98f9bf854335e94df07a1818a1179813b31564eff487cf383eaf124c62ba3e745bb208e25f6fca6d9a69ea +DIST thunderbird-128.7.0esr-zh-TW.xpi 797337 BLAKE2B d2d37f1a0fd41b8254821db6f728b503ab2cbb2c2b197f4f5a9830ff01f4a12ac9a6df36e11c0250bb4cdb8d1f003204de60c82e2c40800e3066b114d8a29309 SHA512 cb0714ce99d1df345e9968ca4d99b7d80b27c7a86347d0ca897244c81d9c7b6425de5aa35889e0f3fcc41c95a88541f716a80e56c66c146ea239ad3f9ff40060 +DIST thunderbird-128.7.0esr.source.tar.xz 674370672 BLAKE2B c857f6a703205492c1fcb1f7d4ecec24507847c54e6e0cbfe546289ebfa4b53d9eb37a9e6f2738fcb8125ec18142c18b8af344a13142e6cfb378819379a2da2f SHA512 13c09644183a10bdaf9a7f7691063cda571bdc8dcdd3882f72dd3b176372ce42fb83fe510270018c467027e9b3af3b01bacf199534878781251a0fe668606f0b +DIST thunderbird-128.7.1esr-af.xpi 530348 BLAKE2B 7de1fe4d220eeffda02fd7861243f1bacfb26da41e275bc81fb27d5d3ff49877c98c154dcb5088d6173835771a3f675fccafc5c040b7e31320172a6ddbb0fbac SHA512 176939034339567d83ca359ba9eb6ea7975456977e17ba28d599a04907c8042251c7f017dd116e0477e85b46aef283ed6dbbf36083387cfd0936a85d54bf6a84 +DIST thunderbird-128.7.1esr-ar.xpi 686984 BLAKE2B 5bfd3acd009fbd4ebb569159b02e68c04fe104ca4387abea862cae18e3498520d385a58e6ed3f2aed9ffeb5213d710c63a4de3983f884ad9e3e9c64b7abdb65f SHA512 5f7c41266b7094d590d324599a46048cf9cc132c950fcd65a0a5b259e72ecb2392c2451fb9d9b0c28b8c7ca2b69a2b7e61b8418ed4f1ef95fc4cbb2154c99936 +DIST thunderbird-128.7.1esr-ast.xpi 561054 BLAKE2B 41b5b1f0b620eff30a2e43cfc6610a77df36a2a52f079a30acf612efbc2ad9a573c0614d51fd84804859f92a4316a8c14e3fb1bbdcfe1348054021f524fd622c SHA512 9d62476475504768bb669bcf945c51636384f4df7e2cd483ceb590ff0eb584047b0506f779a3775fec6390c0588ab3bc69b690174d57033f2d1470a9f2f85205 +DIST thunderbird-128.7.1esr-be.xpi 772989 BLAKE2B c3391708bd0d5d89eed1505294b743233903d6f731f82eb023c2727e5e370c442301ad11f6b458e1ae0484d5886cd83388a8b75b41368b16543917551a1eab3a SHA512 9bed30ce21dbc462f21a7b747d6e2095ff374c6919c1f84249ce6fe4719c78a14c4578a555c3fc42464884ff80bb2c95f4ba3bd95f8e3ec7c05beaa9669d9098 +DIST thunderbird-128.7.1esr-bg.xpi 812323 BLAKE2B b2ce5a0617056557f80b6d30b8b51e265abd97b8bd373427e1dc15119fb1153a066b30d0e1378bf4e080c0162e1bc9d3d1581648452ee7b7cf34a4c71ab1d60b SHA512 04264dd7c3f7826e152e3a2eea68333900e1884c0c33b03e9b45b042f7cf4a76bbe599d722b3d1c50230abc31c22ec5be7d913be3627587596022821ae9a0048 +DIST thunderbird-128.7.1esr-br.xpi 655127 BLAKE2B a63f486eb447a1df080d5924e0043a7cd27d47fe498cbee6ab7fc1245069974bb3d83ea30c85708db944b8524efabaff1930a39d4ed8901b7702749860ad01c4 SHA512 aeee8bdf7bb310363250243c04bfd0e37a3b30957dfc0ab1db0d34be67467c1fc7cd2c322b17f23b1aadd1febaeabc02ffc2c0f45bf0c3c7f54cee5016897ae5 +DIST thunderbird-128.7.1esr-ca.xpi 711078 BLAKE2B 21bc680b5ae49b58ca1347ef28390d8b5e1cbb8b976e5cea9f01402505baafd783aa4f2dd27c10fa4f303b32a4fe318aaba5b6aa7f8f891574207bb1211cb87a SHA512 c516154912ca300c4a098394fb82c8fbfbb57cc5aedb254c77ca1435c241286dbd1d1c54f6646b4c4f53cdadf037855889c5c7d728e541803f5de12a9614ee8e +DIST thunderbird-128.7.1esr-cak.xpi 672195 BLAKE2B 1f4c7e10c79003c5a53b3b575924d6a9015ec41dc8b9df54006cbe31975397741c6865c6dba39a2e636e9e8f421faf73d0b450bb314b2306673170f917029964 SHA512 e332d9e51fc0e20fa5dde88035f577ced64b52989e02d4b3e952a1ad0d4dbd9a1fbb72e18ae7c3d0a245299ad58420aa0e086d075258e66383c68df9f34e65f1 +DIST thunderbird-128.7.1esr-cs.xpi 791609 BLAKE2B fbab2d5bf79ef393dd51bbc101a2263bd52a358c0f3f17f7f7478cfa5bdc8d3c084d5370cfc7a9ac9024021363da476e0f5431989b46ff6300c92605b3ea16fb SHA512 2d64a7d7a7cf669d637338e14ee097a9658d960500c964b82dd5ed4a301c5db203a030ddcf885ba5811e6db158baa05d1bc29a23279d63de7aa816fae2585da9 +DIST thunderbird-128.7.1esr-cy.xpi 756815 BLAKE2B 41740bf3994d3444824a3e2cf91e5595bc3543dbf32bc65c8014bfc6a3d74ce167d7cd5a7cb75c768a4f60024b6cdb74ef40908b3301868b950331c2d6e1c627 SHA512 71fcee17a5c3653e900b55b1ee9f5a1cf8f1b239b54ac5b51311ebf5961d782aa8ea1072e98a4f68199f48c1171918a71807d4fe4caf0841e4e8911a94b4ba18 +DIST thunderbird-128.7.1esr-da.xpi 740057 BLAKE2B e32497f38a09fd3d75bb9021e3d68265bd7543dd559cae3a524401e9926f38cc5efb1f3c17537ff4e2b5f43f2c10cc18dca9a7cb88b430eabfc06ad8ebda339a SHA512 378ce2062564d46de7264f5bbe2f6ae2693127823e7e3f21b9b337e8fbd4f184181ab8ae5480109086832abc7fb41e49bebef443cd601d637a8f4bd76c8e1e0b +DIST thunderbird-128.7.1esr-de.xpi 772205 BLAKE2B 8f0027806a89ae3b966e8b1c77f15535dd8e027d8b9e1d34a7ae3325d4fc3d1c864b79004654941766b94b52d3c62f9a8fcbd9a7b8638e94605808a488ac26f0 SHA512 0c8cb63456cad4b56d4e3d469958a89c4685e2b0a808f11fc9df6b294e917c89ba461f943ad86c102bfa434d68721733ace2c9265e5838cd3a29719e233d1434 +DIST thunderbird-128.7.1esr-dsb.xpi 790368 BLAKE2B 47c94fb40e899740260d28b59f21571023145e8f0a4b57ba21f6fcc424b463eb3ac6d8d2b49b8b94d3b8a89bc55f2ab8b77bde06e0d688d50491dae6b931b769 SHA512 833976fe5154c412fe3a78e16f02dcbc9d11b2de12e5dbb83f0992ef97dd82cd7d1cfdaf96711b068deec998f18a7cc633d93f75ee9e9c86e1ebe0380cbefec9 +DIST thunderbird-128.7.1esr-el.xpi 895922 BLAKE2B 0162eb14d5d8cf82d49e06fab0c51f1bfaac90df746c0128621ad3b546dd55628835ec00e612db275a76526c8e518f2f0f04feb9fe6bf54bcf329c501ce3bdbc SHA512 4ae241200258dd957b857d6714a441a505e7b626473dd97e69ffc556573dac3ceeeecfadb39b9ee6d0ae68a06fcf47aebd7e3117ed2178781826fe5927f0c4e4 +DIST thunderbird-128.7.1esr-en-CA.xpi 705213 BLAKE2B c7f8321dcbd4c1a264ab71be1bcec71254ad43f0424e1aa9076792c8cc75f166940eb4fdb6f8c1dba677b6f037ab221eee0765dab7a4550d96e10a61776cc7df SHA512 c4865db2b2c8335e2babb1442cd00a1e8659c802037f2967d19155298ce3bf442ca6636965e9abf8b1573f0449d5b2bdf510b380f29915d1f2ce0f35232d0c1c +DIST thunderbird-128.7.1esr-en-GB.xpi 709687 BLAKE2B fde466c1192ebfcb37528c9a14ee04d5b2798dc9811d567e4bb29eaac3e30bdb796590cc1b7677071dce68d77a5dc81f0e8baa07d6e3499ccca8aaa31612d656 SHA512 824ed0843d593c5500a5437c8768830f33243c0a5e9f4f4e736f2d1959776a32859d6ae73af0904037c2c1fce2005053d998a669a6fa463199dd58b79a2c6d0f +DIST thunderbird-128.7.1esr-es-AR.xpi 765754 BLAKE2B 27f8d732459a4cb2c00793b384fe4af850795219fa93fef2b00dae18f96006db7007e0abe8b4bf6dfc4b761b305614b9a585df6853fcc659d8d217d8e29250cd SHA512 24876acd108ab7bfb422ea7169f12617c2be1310fda3dd1b3628a9295a3a9f475f41cd2327631f39f5c32c8660e820922d2612669e3dee2061f7d69404c1ba7c +DIST thunderbird-128.7.1esr-es-ES.xpi 733783 BLAKE2B 978efc7892aa55fde07387aac5b56ee73ce7ab3e10cce706d4a8579ad6cfd9c6c54cb6e00abdbaf8933da14769fd9b9a0c179c81003b9a2eae811e7f55eecfc2 SHA512 106341ab72a79469843ee0e282088bc205aafb15b2d082603812b9f131ca3389d3dd61fd52ce3b89d360703dedd9d5d22a613954664ebd8f4d5cfdf79c4dccf8 +DIST thunderbird-128.7.1esr-es-MX.xpi 749782 BLAKE2B 828653a1d88bb2fd9c361d6e4c7beef448a9c27321d6972771d9478c2da5329fd3a2ab150f0a477e735986e891882df9e29f86d93c17bdd9a4590bb002e76b71 SHA512 75f2232fe1b1f09fefaba979d081a07b19e1f43378489c5d8cdbe95f8adf94a0c3445240fbc6eb6690bb714e473f1508aed7147f353b3e5ddffb67c6f87af841 +DIST thunderbird-128.7.1esr-et.xpi 696774 BLAKE2B e0acc92e10910fee3e7d4f113f99a7f289a588e83cdccb02bc0a00912a191251f52fd7cd56fc2c56562c5c16cb526f3a9044ce72a9612c689d879cf5c97ba3c0 SHA512 a8053c73288c0216d1852a440dc251e820b19720fdd9a66466082991eba5fd9ebd7c96935360984d2ee983004d22e41d328b76444dbb590e84de6e172d3c11c3 +DIST thunderbird-128.7.1esr-eu.xpi 740304 BLAKE2B f209715a51e4e49f598f8e5ee9df6bb739efac6a220ebf004155a7e989b7e7734f336832bd9e14685bff5107606b76df314a8cede0ccc02fe101c024eef5d376 SHA512 36185a28c0237c2b6c7b048d27ba9b1f2779ec0beee069307ed564105779a6cc1ec20e0efdef091b75e17b78f93966e62dc0025c8ffbf49cedc13996326a3e57 +DIST thunderbird-128.7.1esr-fi.xpi 738930 BLAKE2B 9ba3ca763d2174d1375d2e1eb720d52e521b66580d83c46333d722581d6b7052b66155bc9849206a43722e49967117a2c4ff01e9941d154cdc04226d6eed1174 SHA512 ab9f0ff3a71f295f0f3376ec78444627c51511bc03b5aea75ef720a7a4b8fbcb2e176b40208da05d808fca813c5ddede709c90b6af90233759ba6106d25d8c1b +DIST thunderbird-128.7.1esr-fr.xpi 777364 BLAKE2B 2f2a0f6eae1822ecbb42a02fa38d63a1a7f6adc11be67503c3d5a25d7f7124781cf205ed3855b27a2c05e5de50c4b05c2c4cb20c565dc32db38ea61581b62b39 SHA512 9c3a82ff34575756087c4f4d89869fb503547c1725343da2ce11395a9e3cf6e232af0212772ba5f782b379392ae363892720eb9e68ac0325bed75508165fa4a1 +DIST thunderbird-128.7.1esr-fy-NL.xpi 759927 BLAKE2B 057f14aa076f2f8264f1f93cd2406d9349b70621be9a968a42b9b320f13d1f10461dbd6be0d3100399ca45c444a8a745f4687da109d0d12ac615b998408b3596 SHA512 c4bd433294d24d2d65debe2b9841450ed7426b869e6e5f84e2e8d44a8b9f7d99fef82b01c296415e9a6b534299c76b3d1c12b75b491826a6365bcf3530d0f04c +DIST thunderbird-128.7.1esr-ga-IE.xpi 616369 BLAKE2B b68ec8abf72847b7bba23704c78a422bec8a1b933cfebeecd63a9ea3e1f37fff59ef3a5b52ed85b328e5a8f63403cce70281eb020fe8cfcbe1d5baed91cc7183 SHA512 c2a26e2138349e9473a7bc59a0c844c3115fc95e6ab08648425df7b982d198b177dda1bdd04f84227b933ccf8d90d59af246de4875a940d4d0efd7bd911ae830 +DIST thunderbird-128.7.1esr-gd.xpi 729136 BLAKE2B b64d74f325a2b87d2c22c1f74f6954cabd0e9ecd1e555ef5198fbd241e23a3016055c8b48748b251d552325cd7fd24c3dd387d0d3c574a5800eb842eada6846c SHA512 ccfac1372778f16cd9316720028e4116350f63cb5bd79c1a77aab107b1d24e1556a31029f68a68e37199b26b4f961f1e3161f4eb6712d4485c975dc3cb8cf060 +DIST thunderbird-128.7.1esr-gl.xpi 742176 BLAKE2B 1528fb92964c3f8b501f5623142c282489f82ba2f1b1ff3c2be13488c605e827b675cddc19339132c0aa4699927c0c5f4941093ab0987a99226f17e8597ca16c SHA512 2b53a7136acb7c25ed8a62e0c457ab552dc53bd8a0434baf99307a2b9588f052852474089acaaccb974c994f6b4bf69f0fcf49bd7b311401585adeebd83f4367 +DIST thunderbird-128.7.1esr-he.xpi 703447 BLAKE2B 920131317a810907e2cc732c9eed48778a54e65635a5a48a79b664b48f14c32b92a0e0c0d2a648c31ced26b0c84fcf2ece9b26bd63d66490ce37ac44f488887e SHA512 59e5593be0946e48a67c36eec4987a18a91762264b6fb4d9123ee4d59b4e859355667df2ab411f5089b2ca310699a68341e8623e9f37908847319614b79d285a +DIST thunderbird-128.7.1esr-hr.xpi 720117 BLAKE2B b1dd3f0116504baff4e4ecbb1feb76682afe3621525d6d1435bf789c718ef37475c63b889d2492041394cbd0176cf023e29d41bf8735ef31a554f8e98480d139 SHA512 74c238c0391f590eb1e7aae2211eda48ca4a24ffad5f2e53821b895438333b4e01aef79874f10307445a05d1f1ab62c44a1f4235a2bd3fc9f0cf10d01f416879 +DIST thunderbird-128.7.1esr-hsb.xpi 787749 BLAKE2B d44b04bb275529136ccca0c9768cea7358058e4de06d465f86098a21e427bb0d64b454acffee37496abffb4a70220025e35438ea03a5d880d1b8896adc98dfb8 SHA512 a7d3aaf20ddffe6093cef2f100bcc28f6c82cf3fbb35bfc91ccb6934d7ba0e628c1316b988858df1153d8166d6606b6657ecd468ebdd82a1fead71961ec03e05 +DIST thunderbird-128.7.1esr-hu.xpi 790229 BLAKE2B e9f95eef0123eab3d8a751dd2e71ce634691970a1356d565a66f388bbfa9f3027f9d24ddd5007b78ccb9cad85521da3bb62ff2906af70495bde21bee4861a1b5 SHA512 cddfe757e3ec80e1894532dc3332a14f85d9d07301b3ba64781144b0041ab6acbfeccfc7f46a915dd125946575cf7d670fb763366d9511e279def30c2baa3d3b +DIST thunderbird-128.7.1esr-id.xpi 710326 BLAKE2B 3f59600ed68d86b01317d4d3e86fb024f4e1d580636fa3433ef98fb265e50178912c98ebf8410c8ff5dc036ae7b5216250395bb54539ac756efc2f0b82f3f66f SHA512 d9c4690b0033a8cab3441f265920aec95d8b2f01273e5f091115f0916d5a4d01da1212f4bcd1fbdbb0c63811d35467f8ddd153ee56534c97b294ae3fc9cd7102 +DIST thunderbird-128.7.1esr-is.xpi 751186 BLAKE2B 5f5da4b1df8be97f11e29e286f84db4970aac55921ab48eed6dab7235980471e62167a545785072ded18d0a50f00b53dc702920258e2144665668490dd3a1185 SHA512 747bf61aecf39ddebf6aded37173a4e747c770de88b159be6fc07ce4bd90a4024c08340a45181e9fda99ec67dbafe923ed8915b2c59bc646dabe54a951c4042e +DIST thunderbird-128.7.1esr-it.xpi 697094 BLAKE2B c44fa72c16571ec37072f8d6be7e4e2c14c97ea3e24fdcbab87917885d726066cfec583079e4b28dce430fc454323b6d7253858e3d398a7fa6dd247fc1202492 SHA512 9af8a1c7b872b7bf947cccbce2aac2f6919b93d9c8b95a76769005b0ca853724118d24c27b5e7842a00b6abcf10e3e1d87af385666988d69421906e81891a9f8 +DIST thunderbird-128.7.1esr-ja.xpi 817723 BLAKE2B 80d3f54623febd9d5f370315f59a82db838f896e1c626a2d0713ee1ee7ccc0caf2746831cccf613194ab8a03f699a785bc06e39b50c9db2a3fbe5b87e7343058 SHA512 9df76163982fecb7b266990ccbd3ec327dbf4c9ff1bae492796178a5d4fd016a88c6343126bbac2578b200ec5b74e7adf27cac6318491ac8ede4e2df9692f113 +DIST thunderbird-128.7.1esr-ka.xpi 796711 BLAKE2B 31c0d777ffeadaf77817e51eb010db2c2802f5ae2c0d4351502d0353c1ffbf896fa99fe92d68e8191ff1abd4fd03bd134878f351002a8f58388fc343e6f5598e SHA512 2dc5a00d270b5423cf108cf40ecf6d5a76841f292d3b7557f35770966f681476cc1f89f44025b1391793ec865d4cc5a424b4c3f23fe4efd0705ef06647c6fbbc +DIST thunderbird-128.7.1esr-kab.xpi 735475 BLAKE2B 489e8b2ebc298c98bfa5852cf2439764fb5f8f218a11a29569dd01c66785a7804c8e91cf392f5e53f807bb67c532ac9da821f25cbcf1d7401917e04388d81ead SHA512 836e898da3ad131fda13d1e8187045033658db87b5ec042af2379503e24b847f3bc61e54556f030e3b77f8b8966357711e6237fc17ed8d54936cbaf29e137097 +DIST thunderbird-128.7.1esr-kk.xpi 865511 BLAKE2B bb3fb43ef5df2512376f572e4c1e3dc523ae4f6840c5d33a29d2f01e5a2803c28edb36ab194f17315d74a74675e1f96335083e235356541863aa4bdeb2c4750e SHA512 424f23075a19b366a93dfaab8746a0562ab54f343468d91cf37823fd179721f20e9226d3982d7cde6bcf3ea7c643122eb1a979756b7a6b374fcb304fdf98ee3a +DIST thunderbird-128.7.1esr-ko.xpi 762641 BLAKE2B ef2149e038248575473a9c2ca7babc4b42e2af538ed195b583b1bb85ce06e96dfa6d09b1054d8cd977cdd9eb94a394e167ddba995166adc6999572e050a2c523 SHA512 6a38e8d266eb7d1ccd6cc4d1789cebf1fd45235ebef1de6b40847b169c05be34c8fea7ee268ed216ec8ddbc5855af8359377fa38435088f45017255802013ea3 +DIST thunderbird-128.7.1esr-lt.xpi 701408 BLAKE2B 1777f7b794293cd3f2365b0a40141ae0c9341b0744bd0b97e96a2080a6ecfaa929fcbf60899f79d3ee7594db0601263aee4c1df2332838b21959bca9d94db791 SHA512 55c4435af9f636b12a765cdd2eca637c5ed9c79f01e1cf744fb59ad85d6d7fd18c576add0904a53ba86ec8276540f091e5f0c5a1912f0daaed1220669b8af1c8 +DIST thunderbird-128.7.1esr-lv.xpi 625981 BLAKE2B cd0c21fe5e57e10068c36a93559e7fa7e3b9f8f3472db02390ae53e76f2e5778ca9b0e54330d81602317ba403ff1cb8e4735eff78219a011fbe81dc0464efe5e SHA512 e2b0933e2353b66f947e9b4ac7d33baf8ab859f126e566f85689492c942cc07a2b21fe2b86825ac42ba5fc17e83d0e9a2801fd54ada934b9457281eeb9eaa576 +DIST thunderbird-128.7.1esr-ms.xpi 581573 BLAKE2B 8db0f38b0f4d67c44ff79fbb08d16fd6aeb18d29fbc32d662115e7a0f054093dbb8d6b4b1b73c1b44ff7fa6a77d1349fb63801bda721463149e87d6c05596220 SHA512 ab222488d0972f0ef2b9d0616c84d372b632ee76794af462c8f158f095560019f36fcc49dd5a7bce41ffc3632583731823a01586f3e94f90da40390a3eb828e3 +DIST thunderbird-128.7.1esr-nb-NO.xpi 708560 BLAKE2B 9538b6ab1c8ea01870213e8fae161a2310d3a24d7cd0b824ea4c0580c70c6350de729e41133c5f4a7a5a5350fd1b005227fc9884cf90d2e787b6dded314d74af SHA512 f4d791b700a2edf6de3000e082b739344c2ef044517aa6f701c976f4efca1599a2193289acaad3de650061dbee2797e1ba6f583d50bb983ff7ebb9c6b629e0c5 +DIST thunderbird-128.7.1esr-nl.xpi 751614 BLAKE2B 039b09e6bb9e6e1f037acb7c68cf302ef44026a3d194d089c26cc3193ea385446c3f8e27ccc398d815f390c25816904a136bce11a68873c86af8cc70d1fd857d SHA512 2838e16f0266f8c0c3315f65a8a5f70031d7abc71d9bd3037b5ec43948a95f8454caa64e1f2d80d4f552ea266f1e44b291ff498f3aed534151ec72c1a7d38806 +DIST thunderbird-128.7.1esr-nn-NO.xpi 729657 BLAKE2B d6556c3f083198869a96633d5f778d9b16f6380ed4d8694ab7ec0c29f9cfbe4ae41524f6314e5779f4b98f4697357a4d65ae624066708deeccb2755a1baf21ba SHA512 0ef5ce4173b7c9adb25174aa2de5e4994085415e890d6ba54f582f3eabd5cba4dadf8d3ce50850eaac0370596746fd14c422dac2f2b44a1a4be440a10894f139 +DIST thunderbird-128.7.1esr-pa-IN.xpi 688137 BLAKE2B 4a73c2bd880722f988480d90142089f00bb5a3f76c1fe999ab8641dc4c84e60652dc465ebab02a785b25b447c3d197e7852dcab7466470791b2916e0c95390a9 SHA512 bb3a0e0c5893912095738bdb31c4e25eea70d2bfea8cb01b997a7ba432d43ad7ceed719dc97c057f239269475d3c65152cfcfcdfcf180b1b0ed308edcd52b2b0 +DIST thunderbird-128.7.1esr-pl.xpi 770777 BLAKE2B e0f38b25d2dc8d5a01ceed7232fdefc3fe0338188ccd2ac3f928d7f34f576ff9607a0cb25abdfbc2f9d919a01cbf2acc0f53f62373a77d7df8e67a92e075cb25 SHA512 fbefae4da1492db70f00b07880d25b84e6be1942ae6b3d536972ec02558e31ab232d88ca53a12397f51780969dbe3a0195a50f99975918e3738fcac1893fdae5 +DIST thunderbird-128.7.1esr-pt-BR.xpi 758844 BLAKE2B 341257d0fdf36f2beb879d80708d2326bb20ff8d4388e47c8d3d3a781fdf09796492326c7acc75edc0d1a2285950f6976649ed0e476bd4529c5ecfd3a79356d9 SHA512 f24cea5b7db95e1e6b3eaec2a7c1122be43c855ddd50ec609c534d93f3f672443d494ca64403c83c8d6b63d19819684d90c8893cba4a5c7eb8fd96f4ccb93092 +DIST thunderbird-128.7.1esr-pt-PT.xpi 752024 BLAKE2B af40f482261795d7693c2f6b98b55769cb6ed0e27b325c00f34de19e3a172b616b8173acc79a0d49c8222090851cffba567f6ee0353245538fe76f86fcf4d208 SHA512 3461aa5f095029c1d6eadd37779f481e2db99e1ba303c1fa11ddea65d9fd7107f9431e1c28b0f2fd198e2fd17214ab0fc3ddf9806f92fc1dd41d03827b3c41a4 +DIST thunderbird-128.7.1esr-rm.xpi 754443 BLAKE2B 11d1d39cf01228bd683f2c0187b20477d3fd497e2e29a7e643c2ae763a4d3d8bcfe1b670d625c0896b2622e95464eddc803410fa03d0fba5c8a4880d51085b39 SHA512 3b7ad3f0a2d455b0c49d7cc5104ca6cac53703961bb9d8fbdeb73eb0bfe8ef8f58fd5505ed179b89b3af371d8eb56cb881193bf754f35a04f9f8f2694ead91d2 +DIST thunderbird-128.7.1esr-ro.xpi 670228 BLAKE2B 00d8b0be636df2c13f5242fec1ffd9e4b29b3964a59aca9a0a841b945a53c6a37a9990100081cd9d07a8b6640e3d9273021579b9798c3fb92dc15ada910daf53 SHA512 2e62ebcf24ad216591b33f8fd4cff09b0c6406ddea2f955dc3e80e9c72a32cb64a448fd0220f48867ad1105a30153daa6c1cb29084fd7bec082a8101a86dafe8 +DIST thunderbird-128.7.1esr-ru.xpi 880796 BLAKE2B 8832b30f58d8303718ceb2149c213a3e482757220e451af012b3086494632e97f85498b96de6b1970e2f2d1f60dda9880bd1e0234682ec071e1a2fd49d5983da SHA512 5ddd148f8e66a44d260af15b0fba42e6d41a44eb652778905cb94408ff391f0b9fc242ff3d1c7d24a5fd55ce818b364b304dff549aa8b18e52977a9179bb4622 +DIST thunderbird-128.7.1esr-sk.xpi 792219 BLAKE2B 34f5500ab3aea02e7b431f91ba07544ce889c5703721e978275439b869c458fe061764081fba2e7107d4d9fe923dcb2158fdb72dc905fc216c933e655d5a2174 SHA512 796fdd7a788300e168e3505663d781f2df9491b08f1a8f1bdd2f2379c8763b422f074d96a5e1be2278cf4efb4ab3fcb430d9494712711c4282f800d8189f6302 +DIST thunderbird-128.7.1esr-sl.xpi 751649 BLAKE2B 6ad90029e0d5a5912aad40bacd17648b1ebf9c792f6b823eb17d1fc3af0a64ef34bcd9926c2f103dc9c7e407feb4df6eb14671962ff7184a8913d8cf5fc10a76 SHA512 f5eab4798dca4c965a5bc2f2f0010ca720fe61ab7a8f8a1376de7325c67d7855ccde56c360bbdcd4e2f7726177b90abd093ddcd693818ceeb8a6286ec66dba8e +DIST thunderbird-128.7.1esr-sq.xpi 774995 BLAKE2B a6130bb7d4940839390db0d90b11cbb8daa15efc216a67d50cb15801b63d71b06229251a4a40f8ebe8803f0902789307dcbda65c1fc863fd4dec16265b8ecc6b SHA512 28d615a373ec7ca3f6f8bc2090d15b0d91586f302b93bf91fb5787ad8360582a24ac1ad7ac3ee21b4a391750cc16909e98444810a67724062f42b6263432242c +DIST thunderbird-128.7.1esr-sr.xpi 771752 BLAKE2B 1f1e7090127800bed154c224690a7a2f7ac0409147fd4795f52dfa86cca56762630abc7764792ee83559c1966a4799816a7269d132398a3f49f5e0fa9b164e81 SHA512 67eb57bafeb29b4a8624c18cbd8106c8efffba1f880e5aa3e33d6eaf151039cc168c99392adda35e8c48e624a242d38d8dc391c0963ec9a6ea89d931e386204f +DIST thunderbird-128.7.1esr-sv-SE.xpi 754938 BLAKE2B 476e1650290127efa67984383850bf385b92b8cac2b3fa72153eee1b1daffab02d18f19efdfa5aceb726bb2a95ff93dafe008e49ff9e0d1fe17489ec17185be5 SHA512 3ad9663f8c41d74c37c1c9777460199a56359982bc7d4b3d41393095ed54f7e5151c771d54bafb5d4cc5689e0e272fc8f3e7f0b31ad73266e2376bce36890e99 +DIST thunderbird-128.7.1esr-th.xpi 819691 BLAKE2B fb958b46a45bcb852c62975a9f6ad6a97b97d35956f8336583c9e2806cb63295c58093c4bbc6218080b511c1a455cb37d9bad5a7be8a374005613a3c2217e325 SHA512 19dcd1163e0330b275d6488b08790a93e42fee577bd34a69e65bd8c616f9014c6b43f0244e818f0a0c135cbd0fde4d019e2b8471197c5c074028b1963284a1e3 +DIST thunderbird-128.7.1esr-tr.xpi 765548 BLAKE2B ebbf61f1da4f2b6d0ac2aeff754ea2a95fc93569c13d6eae438c716ac2c6bd4df3dab146fa9bc62d15eefd3e0519a831c478bd12213cc20ce195eb2aba4cf53c SHA512 c9bb56c7aa992e53978f3110bae8d4c5bdbbeb538f3d37036faca629c89122db892784fcee05cfe8c8abf79b704b6e3179c40fac9a662e9c97aac8661f72d15c +DIST thunderbird-128.7.1esr-uk.xpi 871377 BLAKE2B 9c4d5fe6981ecfc0658525750d7008a5420fabade38b852d2ebe3b33805e985e4f8dc7357e281a86737d5170e0b94627e5bc567bde5d6374c5625abbd2b9f3c0 SHA512 7726a4163d5e91bed873a935af51305852b82a6684e4f92f1e42ea44dc448e3e8c1348fb777dfcb94e010ef34a24ca515a616dc081d5b165b9c285642e194107 +DIST thunderbird-128.7.1esr-uz.xpi 592619 BLAKE2B 8f8dbb9325576ab7ad4c2734490e33e73b0c5d2a97b24782c4d24a6035ade7e4ee38ff8b36453ac9c299a7655d84d5e8beb6a328107c7662a81467a86798dbe8 SHA512 ec24b2d8826b3183cb97c429bec17c2f26476a1f1af478835759e79af0cc857817d9c2c0ef0f716bf146387681ed211342744d9ad74b3a908ef7b567cdc24ac5 +DIST thunderbird-128.7.1esr-vi.xpi 794033 BLAKE2B 94d10d0287650d3864dbb82a162e2c01ae69cc83d1cb096cf6a9d104ba84919c9607022fc8b2def3a9941dc5752f9aa15970ecc939a2a5df800d54f8c9f6711f SHA512 9dc272336ce7693daac787c90e4f8feb7e12d2905e7366e348118c89b2b9e58c58e2c5d239764f2ea6769d9c22163364ba236ad3246e8235586cd5a59f7833db +DIST thunderbird-128.7.1esr-zh-CN.xpi 794062 BLAKE2B 5b93207a294c70d9e6305ace560209e318f3ae353649003a7feed1d62621a78a268d68452544e381176538ab0d1aa6e8dfb1dd98bc210154a91ef5f3b2b33649 SHA512 f75913eac9ca58ab3a81ab1a28d84557776506493e842644cb272ffbda3599a380c89fa4c867a6d9b256344814a3d3bcaf3caf629d0e6d07d74b13301555ea6c +DIST thunderbird-128.7.1esr-zh-TW.xpi 797334 BLAKE2B bec51940d11ac011fb0c6d6a063ce0a97685d90b5dbf56611476f615282f6db7880009ff60122f35bb56d09f5f2a7d87c4d7ce05eb821d58ff479b3608d27fe6 SHA512 f2697c244fdb85ebdfcec4f2589d1611e0aa3e88f7d3f3b250913782a4d996eedc7bef09dad4eca7cd6dad0f45b5a0faea5694aae2499ade0674ce8ce70d8873 +DIST thunderbird-128.7.1esr.source.tar.xz 679801568 BLAKE2B 27840ccf9bf8abfa681cab54cbf13dd176abb107853b148a2bdde443f3a25a99d4ba99aa701a7397066a5efaaa2a941b5687074414ce8882f614f92efd1c2b46 SHA512 3f84e1f1a83379da1f154b66dbb5f941d04548ad017aab32aa9520f4315edb524e3754ac1fe9a7ae27f7aa33e2881c6783f11ccc53cda713f107760b7d880667 +DIST thunderbird-136.0-af.xpi 315237 BLAKE2B 38c380818291313eb232db7840994d66897673181cc7d86b7dd223345d045f8a5fd46157be92a39ad113f1ceafcb449930e8fad3e15a82d7ff413fccc86fbaa9 SHA512 a19f7361376ec99a1ad0c31372f1dd9aa4ead954666c2d9ce21a9ee7542ccaf52e57274a777b9be29a335b9fafb68c92d695cd5bf802222fe01f1d64aa9f024c +DIST thunderbird-136.0-ar.xpi 430240 BLAKE2B 123843dab3332af07ad41966d561f1104cc540a172e9a1cfda4c799479139edd510306f839bbc024d4a3e71889ebf57179ea73865f943bcad091cdd3221f36e9 SHA512 232bb40b11b302f9f8fabd1e47fdf2746ace3e5df710b547e3dfc45ab40426720e5a5f9ebfa70c0074b2208d9830e14477db1c9ff6e434f4f9d9d50278140c8a +DIST thunderbird-136.0-ast.xpi 340880 BLAKE2B 43dac2dd4a52e17656fa33497f38cb4850c88593a5ae9008e5131807ebc41e8f6990aebe7238e209c49d1afab78111e62332985ef4b3185fb180c9c3b69bd6ad SHA512 0bf29c38fbd54b6643257e8e651ae7039ff72504a2dca34923b645edb4524ca54dec8b176cc0efe5353e12ff1234747fcc5208baeb250d5046065de8c8d16156 +DIST thunderbird-136.0-be.xpi 514007 BLAKE2B 17f7c0c54a437e64ef37aa56a5e0152d1fbfe5230497e457ebff79e305488616252266891843832230f19af65982c33e1bc340a162125e0c9b78d13c5467bbfb SHA512 779a2cf11860dc1a8139c27e2f80fa59ba378a11da0a3d9aac580592cba6c9675f2aa0c4a048c15821525f7362c1f50fbdd28dddeb987b65c1c53d1223daf89c +DIST thunderbird-136.0-bg.xpi 533575 BLAKE2B f69ac1042b1bb4be9bf7737825418a1e3081e2a2531fac5dca5190961683ef7153b8e2727f0ec564f1407da6fe8ae703b7ed57cbe1eb4e06c3ce456b26c8e4a1 SHA512 489537b18c76cb89997833510605f132ce2ca7723f73ecaee6ae9e8036e38bc012b6465b02207c6d1c6affe76f15eb0e838cc0e5e8688fc5cf1666354739a8d6 +DIST thunderbird-136.0-br.xpi 401903 BLAKE2B 4ae8bd67533ca83d23cdb9ad0cae8f9aa39ebe9625bb4e3fa825300fe48fdc9b0440e0bb2c0b64864c2ba585d7ce3eb384a824f4a5502e194e5c80a7b084671b SHA512 fa6f4bfd76b09d5d8e092423217ff218145cace3862c023612af7571274fac93eaf0217f192a9c50f1f6b61c61eb8755f14220ec4f09f672b8eb22fafeb6f0d5 +DIST thunderbird-136.0-ca.xpi 439983 BLAKE2B 91de0855c046abb3e181fd81d6b688a89d8b7d37901372015907a1bc72f94f6d25221523cb04379a61b02bbe8b9b7441ad5c5953180f939d4208c56a1a384850 SHA512 c45956e78ce5c4bfe9a6510d7d18d99610052722c9b34ae7bec992cf571ab51a0364c3cfba6bdaa8f5b6c72359b2ed485260df2e352522558f5e3696cb0a249e +DIST thunderbird-136.0-cak.xpi 417796 BLAKE2B 600b3fa7357179bb892de13b874097b27ad121b25bae270c96f806977fd1d3828ed3feb17b3980609e671be370894272420cefa59c2fdd92d3e8b273fdeb29eb SHA512 3242a5b8fc92cd609461d2d283c7d7bdf906baa22496b89c81b685e35f90972f9199cbc6d073516ef4931007fdb21ca6accd3976578cb3b5766493e1dc7ff5d3 +DIST thunderbird-136.0-cs.xpi 511345 BLAKE2B 75c80ba7ce809cfb174cf6e35b15c104261de9262c9a5a22053feab563e6e8422bb7c7104af8545fc201d5182447f50d0c82c07d055622a7a9a404c8a3517ae9 SHA512 868c178e9f7e185084a3243ba6e57677c62caf3db457cc9038024cf4f5a39c56e9dbae8b3a92928a4a9c4a3b4ee44743ecea6df5cdd73e5646436434488e1b1a +DIST thunderbird-136.0-cy.xpi 480180 BLAKE2B c7d550be299d12964876b4d3056ba6f710ef4a784f46bd0a21a029afbb6632f0184872e60a04991f739f04ae1fb17196b4c26579852075000d1be885d40dbf04 SHA512 009390d713e05cc8a9a00f4510bb0c9fe9f93458a6704adf535e74a04e419be6a62e5f352cafc334f6dbe6f8834ac5f8ca272c9d1e21d520e12df672ae889ada +DIST thunderbird-136.0-da.xpi 469407 BLAKE2B fc85e3eecf9b28177afa84952594d02850e280136b9c76ec0914ad907357c2aa323070b3a350ae05ef2414b57a3c6417045b4ec33dafa868268c63234c37c052 SHA512 b3752201a637d7e912df13a7cc54e2691d8a6d36568a9fe4f9d5c114d2ffd3656b1a24fd81a6520eae44f22f791516a84715d531cea6c0abe0b753d51b446bdf +DIST thunderbird-136.0-de.xpi 497361 BLAKE2B 3344fa5043ad5337dc776988a7c76abb11f925decfc3fe218afa37268bf1b82cba385a62b848c0bbd7d8df6a4e07b6d5b3ec92c74962498c3ef36ea7dc875f95 SHA512 d3ce7232618054e7c44b8f48d10f9cfda82b1a8de01222fd3fd5f3cc95dacbcf8025a03531cceab450039d2d01cc4122850025a154e33e31b7be837afe6324ac +DIST thunderbird-136.0-dsb.xpi 510106 BLAKE2B 78d702351e5c99b97c3d40b89f9612d2f7a2c733de65f6a5187fc23369bc76e5a294f8ad650e9d01c6e1bf8802632397eac67667a8dfd340557f51abf9a28be1 SHA512 cdfd39fdd4b1bd0cb88dbf7f646864cfa3facad296f07f3cf9b50b25d30623a4fae93dc12575c6db20f2cd5b5f4253e321e6e1a8e8da577149e449c194af6f98 +DIST thunderbird-136.0-el.xpi 600372 BLAKE2B 8b74661b0ed72c7b06e3d249b864dfa8fcdfd45e522ab12e31fee8fba96a31bb1ea439300425c2825c46b380e71920bd7eff2bc19a26a1b6df613347d90381dd SHA512 36ed5ba60edf9346c087c08193b0f8b4e31d91328c275e26d208553664a243599a3cdf150f69af8a48df141f9ce0d6e1e523ff69c6f753d30d2b47b7b3954e1f +DIST thunderbird-136.0-en-CA.xpi 445700 BLAKE2B 5af88736a1a14c87b774172b839aaba1a286924aa6657f0eed9b7af62011e79f292bcfac4d4e09b02ff11382d310e3a5eb8dc814dc76d7aa289b2e5d988d3154 SHA512 366bcee5baabb2d23f55bd6ac3a54bf8563b2945838cfd1df2b9e04107191612693fd6ef51073dcb4d67ba55e6b9b2dcd0d4926e9e8b40120ef2bf67908cf74f +DIST thunderbird-136.0-en-GB.xpi 445528 BLAKE2B 0412547c9eb02631eab65e9df4746cc76845d7532d907c28633e4d0c1804ca130b5432717bb11fabcf1bd818fd8084d164a28c147bd781cff18b84af93f9d145 SHA512 418d9b068eca2f1189aad96a35609fabb0af125551bdd37b8def3851c080ffcd757d07a6a0e5a4624638ed915b00f8fe668e389b0087f40e125b536e6eb9f0ed +DIST thunderbird-136.0-es-AR.xpi 488023 BLAKE2B 2374b3b568240801c05c6604f383718d2f6e7caf489d6cbbe43f209e3a641e9d7990b41d15bb0ae425b5db698a8642ae67f32ac4375113b678d56c47076e240d SHA512 4184985fb4448c472b9a3d0b6424fb256f60aa2bf658167c5e1fb665c2018c6f036689c9466aacd6c7aa09e527085d17d1ecad51aa27413ae73eaf6a8a485329 +DIST thunderbird-136.0-es-ES.xpi 489906 BLAKE2B 50be88d700bd6ddb6a719b2263c392c784fe77d5b3ae7c0331686082dae11d9ce5c97ec29805e51ff1b3505e4e2d29476d6d1353bb57326fc14467b7080fd1a6 SHA512 fe718d68c88b32e9f62a3dc6cfe1b145b4686eeded9cff51b90a3b1f6d4ad1eec1cd7a033d3bb32604831caa2f305b9854e0594b0c623640f313c0301a1f2b9b +DIST thunderbird-136.0-es-MX.xpi 482601 BLAKE2B be48dd6d5d98396f1afe631e854ba58d096f6c20f27b4beda94995ca7f8d8f689d25cf14abddef8c865ca481d4db51d69162c378e5895bea49b042361b4447e0 SHA512 5f1184679c0d3772e9b54a23052cd508e31ccb2c45db60a3104b43886f226b3b3415101e7ea4ca7b1b8a513c9bad61f6ed25e7aad07324c740d102b69b9c28f4 +DIST thunderbird-136.0-et.xpi 434538 BLAKE2B 2ccb7a73c4fd407d75140a914d590bdde622b8c5b7b969fcf7080c66ed42ee5b32c52f6d44b2d7d278f8fa46a5d3152337f74f1e242b6bb2382e93bf0f6ec808 SHA512 df79816aa9703fb6863da25cff56c119719637e12b242a9ade6cc5364a171f764252dfeddd9d560a5d2d2a4cbce5a75a3c36700f7e9625196ba7cf6a4d306857 +DIST thunderbird-136.0-eu.xpi 466221 BLAKE2B 6462a5a3c989ad5250be12d44860872a128391d66507bf516be747239967a18376e5898e2d23f6d8080a21df39427774157a2c44796a05f309d1dac00f61d90d SHA512 650e0241008a79ff131f75f4b41723914ee0e0c4284ed1e671033dae7ccd6b1925487dd4218a53472939b78d4e550ecb7d22b0376d884b1f624891885a53faa1 +DIST thunderbird-136.0-fi.xpi 467725 BLAKE2B 8634df42da596f9f83df68f8fa785da1cb26f967fae8421ac3c8630f8f5cace65fc50251629658e81cdd1022fb56ee0a506dfc5b7ef650820cf19cf957dc6ae6 SHA512 8ee25aee8615c2ee2d112e319849167abd0971a449c44e499520fc758709659037807d59c8f0d3a116ab312df0d17c5b3e0b59a92690203087c52d12a2910d2e +DIST thunderbird-136.0-fr.xpi 500568 BLAKE2B 72956b807d8824e46b199ec2ae902dd5a90f19d944c7e27625729bb670d09eda510803a74a80fd6f55c9915f81ebd5422a51a13d2e8ebf84d9a89b75a6e41c3c SHA512 8fc96dbf15d7296980e9673aa42c2c187c0ac84b33bad5ee8cb63e6642dd1401b67f03684717dc932de64490e78204117aed7ccf54097dad211af6e8f0c19d0d +DIST thunderbird-136.0-fy-NL.xpi 483362 BLAKE2B f96940a677fe0ce021dc9cc9fb46a97fc819cf542da204a8f3a0bf86b4cb9b1e85dbcc78cda1610b1e7c3fe0b1102fc4040e5a29867252edeea3a1faf50ee696 SHA512 1e504ffd61d2ebb9f1018b86d249e040bf51d3442a12ecf20f1687f067b0c62f59eed21476bef144803d04b25335fc099d3de4ae90e9a9837e7cb69dd1724935 +DIST thunderbird-136.0-ga-IE.xpi 375963 BLAKE2B 50b14d9736215890de8708e882bcbb1ba8e2edce21dd7e352dd50cebd90ce2235ac9f7d926d0e0a6d1a062104a931fe9b3cc816d1304955654e04882efd74e7a SHA512 a80126b2ce0f596c417869d3de4cb484f9515a2d04d334bf4cf2d0b0af9eb6d0e1a3070347217d9cdaf0177f034afaecb18c72cbed720d38a627c823aa9e0597 +DIST thunderbird-136.0-gd.xpi 461927 BLAKE2B 7b69e19c883ff6f6f84a7e47b6ea734a4250909ed7b8d273f727889a4cf9bc73b62d15fc6c24320cc4ed7b97f8a5d8a9cb58ec3a695416b09ddc01690b9a6eb3 SHA512 626dee7d4566834b89d5fdc1b04c740eaaa11b517320695b9a51acb3cd07e5553b66a2c65c367255ea347b538097352e5e0b490e68427db6edb297a49cdd748f +DIST thunderbird-136.0-gl.xpi 470691 BLAKE2B 9135fc497966bb9b284aed6d37810a9b475f0e9acfd2dd4708c4bce730357d3c26a632397f73f7b9da71632d75aa657cd1da86d2d2f0ff0ffb67871cbd8a9f06 SHA512 184f65e8fa562fe24d7ce4aa379138ef096130334459f8da9b1b1563d395ab53420e0055ef7ceee166a28700908e63e8e18a3d0e7c14195d730b159253897e88 +DIST thunderbird-136.0-he.xpi 436337 BLAKE2B 737cc902a3b9a56e77c931e6cd5b8f39c785e09cf1a540eaf3c393bef20ff1192523c99279980745cb8b24aa587cffd001198bcc457e7e52182b0dacfda85b69 SHA512 3421eef2ff723882b542506140bfb25f5ec2fb61078399a4a9b6974c6050bf1a81c9dc382a9b809338d082d6d48bdbba3abf6a89bbddc80abd9205eb5fc09d62 +DIST thunderbird-136.0-hr.xpi 455955 BLAKE2B ae08d7b3ab1ba2f024428f31cedda22a33265de9295be47c28991bd99b35e2583f0f6400053428dc50fde418969735c3acef98e854415aa8784ea86f38aa86f6 SHA512 3c65f7d1e331cf7abc7dbdab2a3da26752e25ce806cef7c4543c0f66f8294958ff4fd89136b2b86886906fe3a88b29e5e406c51e665f81d278893035c2936ce3 +DIST thunderbird-136.0-hsb.xpi 507189 BLAKE2B 4ea3534e729a0c94d5ec97af79ac3a288e9f39e4c49159a40df2338e03ae7cf7c8ed358004ea49e70aa0960a6725633bdd74a96ef98b6c4787b076f68059ee87 SHA512 faa8c4dfa14d9872052060b8137c76b89c9d49ec13dcc1895b305300e60e84216135b5090f5c23037cda3a874fbb6e307f78792dd9480e80947a4e889c1a51d8 +DIST thunderbird-136.0-hu.xpi 509901 BLAKE2B 8363382de86bbf09db217a854f01c0df29abcdaf7c591e5492b1bbf56d31f44d619796592b67e6d244f4866b2b242a642376b84ac2a88cabbf2f0f9677fa2857 SHA512 c60623dbfa0d4c8f337613378bd293be307283271ed4b2c8e817383ebd8991218feee9e8d25078966ffccfbd3767f5ec462e24efaf0508503e718ac89aba56ae +DIST thunderbird-136.0-id.xpi 456734 BLAKE2B 0455ce9f2a1fc36b082d155118941909963e303e360880df9bf6eeba7fe31e66a8974951f57447ff6aa7906c839a77277a844a450473abe1d97951c24ab0e379 SHA512 d1ad88c91dd7ff95d727fabfc71ef9c637d2e029a4c827e3fd0c409de49301a7eb20598d7b921e33c74a0f45c8868987dc6e25d716cbab23022548497c6521e7 +DIST thunderbird-136.0-is.xpi 477555 BLAKE2B c5901363b7c837c2e72398b91eb5d567cca978b6a1be2bfa47d25221a068e53f0c07ab905197e4685bb2a7edf6eee65fb441e7ebb908c06cd6b1f2022bbb293b SHA512 8d859529b2d4f88da1716ce729e715b8aa1eab22f9b86e56d8f9be09bf33334cac0e65598f16130d37ba0149b574351d733fdbe28d16c65debee48f66a84fdd0 +DIST thunderbird-136.0-it.xpi 481201 BLAKE2B 2ccc44e2f365adfbdd523bfb9fa7a14dd7630424e0c6270380374201b89103aaa2de67de8cc6a48cea27b80c216244112dfccdf981e4d2ec931ac8129dd2577c SHA512 b1351592d1e915e9f51a4265e7713058dd8613980f135bc72f09e8125b8361ace3a5f222d61c887aef013751d59caf14cccabd88f9d45921aa892fa06a603761 +DIST thunderbird-136.0-ja.xpi 531330 BLAKE2B 3b6eaf10cab21800d427e8e18c60e6c634ce0e3d8869f957adcb17bd2295045bbf7b887445679dfce3ca9e1c699d60ce38b91b72722f5f003fe11c80a3513483 SHA512 0d7df95c0c874304af6ee555df77a96c9fd8b81df305f4b778290d2a53da89014eb0d3b7a2d9ac10b08c0b1f712ff2379e61c53f10a6751c50a334f1ba6f7808 +DIST thunderbird-136.0-ka.xpi 530549 BLAKE2B a0b078da6703fa8e7382181bfdc6aa325f8396b35ffce6882453d7f17a715fc86fcc8fef56e531d4d044af345057307bc45f78c19e0c0ccc63a507d30ce50fbb SHA512 e2de8b64f742617b4dd057ded7583df0291a4454f61d11e0a302d2cd6c9bdc3d2b5a65711df6442f8f56fa01d632a9360334e35eebc924a137816ba3e8c65372 +DIST thunderbird-136.0-kab.xpi 462907 BLAKE2B ad4596f8d08e102d482fc546c857e4f141eb2b21719086e193d6f889554f8488dd7fc5b884e620e7b17adff70398503c0a5343f7b855b4e80a91ee267b5651d2 SHA512 a03a7ad037c7248b7d631f3805cb47b65d19627ec1f9e07e0687192afa16912ee7035c319270f95041fd46c9fe053de99303a00d9097cf48b6cc1351ddf0d791 +DIST thunderbird-136.0-kk.xpi 568322 BLAKE2B 882c6a1e3b3dcae63a43ebee59561a45b543694b3118b04763cecbb0c2b7cc16a29f347f866b583aedbcc8f51498d060633e1c0ed21376466f8f877f051edd88 SHA512 8721683466e28b39c60a8e91fe45158ed8a6c18504968c033be3c9513b98182195b7e9c6b056cadf0b02254f961e3c3788f1a777ecae941f1ee46c107b80b606 +DIST thunderbird-136.0-ko.xpi 507762 BLAKE2B 7ed2993abea197d95a24d64fde9c5755a99f91b09215cb062ee9e9f6846d0fcf131fadaa6b56358ce3bccf9cd76bdc2de30b0ae7bfd58ebaa57cb840d6640409 SHA512 73ebc1fff334d9c140254f157150f05e8762239503853c18c3a19df60209fe890b1d06d8befce0f53ab5ffacba57247d46cf195b987f00b4e485328d593d0586 +DIST thunderbird-136.0-lt.xpi 441639 BLAKE2B d3d91a39a9fd5c9d4e407c2dafb5e068af7efed2aa5b1a45dc4e75e47ab327986f9cda7050ea38e24f503645eb3addd7c1c5d1e763e12a9ef61d1a2bc20d16aa SHA512 89fdb10b7eed2a24a4b9989b39003fa2f4cbfd64d5542807f0afb593a9d0199920a47cf1817d67645747238b8d38f1f611429a3277a7505f566d7a8d73666df2 +DIST thunderbird-136.0-lv.xpi 390956 BLAKE2B fb8068df10f5a7620e2cba6ec033fa482de316dd8336108c0e50dc5e8f251e9ff7938edb5da95ba3431e7decfa6d12a03399749051d69ee18ff51bd2a34ece2f SHA512 ca2703249ff5b78501252da66662e5a5c248199ab006a0bfead8a0cfe74d12a21ca1f63952f2c6d7dbcb71c8139cc16ed0787838285e884716fba54c996a7532 +DIST thunderbird-136.0-ms.xpi 351080 BLAKE2B 56823fb4253a7e1186f1496b1bda21e441e62a7a55c053ec473f70368a686bfb5dc4acffe47bff18c8d95568a8617fd7ae02aa42afe4b80bbab65e94afd30ca8 SHA512 c48c07de580087a5348fbbc15cd1c78b02b778e333b1a4b5c915d61a6fb479ac7caefbe01c92beaa0453912a9650525e74599847faaef4988341d24e46493612 +DIST thunderbird-136.0-nb-NO.xpi 441360 BLAKE2B 5520cb215c446546b39f1ebf92b622f5535da19fc37b79937c757be97800b2816e39575995cd6e52615650b42f20b76de0a95fd17471eae24b13310b4616cd55 SHA512 e414e1b0850385e6698b32d20a9b3298b14e1c896aed34e83aa34622975866cf252483c13e963d936b8581bd6efe426970b237f13e2da961408676883a664760 +DIST thunderbird-136.0-nl.xpi 474915 BLAKE2B 87e7294d199e24a6d1077ec2ba160a66799daf55b0dc1bc462a4a4919b01aa15a91c6d4237bdfc4aa56b22659387188db2772219a46cbe5db4847d7fd5599eb5 SHA512 dcf011efde48b4961ea75652b72dfa5f5cf45d37a65298c59732d968dd6627878512defae0e64583cac142cb318361371f4854342760e658de3b4230846781d7 +DIST thunderbird-136.0-nn-NO.xpi 459879 BLAKE2B 7988c2ae5aa240b6a7fdf34231a27c40ffd10dd0d79e15e7cde431437a8bfc5363bc6a6c199e5141ae8681cc6db624bd4f1cfac5db61a0a38c91a5c0a6f14245 SHA512 b1f5fb8ebbbbd93594e5b70984bcca8a3556263e9de3a89c2bcf355a203d880e09a4f896b57ae3419db83ac8836bccb24c5e57bdaae870a1582f0e2baf2af8c4 +DIST thunderbird-136.0-pa-IN.xpi 431273 BLAKE2B 2f73749875d9a6c1d92143a4b6987478237c9de0c68d5adde0065fbd77944ca4014195f1716423c46ef5ab0175d9de17bbc2270835343a672d103f98e0934b40 SHA512 5e9c34f107d519597f840d1d9d4d29ec7ec0a533a4ecb4a92ce44e64f6433f6196df6febc7b4155314fbfc086c279d994090e991cb0baa4137cc7b69885c1631 +DIST thunderbird-136.0-pl.xpi 507839 BLAKE2B 645ec43910da2c2bf8a71db3109893cfbc23171391325de0ebd70c24d01b76f0b3b0e6667d02867a3447d7113027e8513f8813509c776fea70e17f6fd93def3e SHA512 e5e0a1fb882bb5df87a357a38e34ac2baa8e93d55e8a05e1d3766fe462a80864cfcefc181f700207dbb28e55f3fd29277f7c0408d14d01514bf6d6db485444d7 +DIST thunderbird-136.0-pt-BR.xpi 482872 BLAKE2B 2d49ebcf35c57095bc1701c19c62654e389d8411b85a115a8965d665102152afa81d9c3ba426968649c9ce019ac2be29661f474c9c9714033399e344841961d5 SHA512 e887b4f45741e93ebd74cfc32985d1cbf1dbb1d8132e03b6fa069c6ba4e5a0d044f5b07ca752dbaacaa33213c7d680d555635ba6c40962b4e05678afd141ef49 +DIST thunderbird-136.0-pt-PT.xpi 477513 BLAKE2B 4dd4a505a9ce2dd5569d564323c6a7e64c0a50165de5d310369bfc3bb49b109410270dd04247d82a3637638322079f2a5b71a879646536ae058349d845c09580 SHA512 dcd1bb991aee568a0343f3ebf69de81e4b13f38aba23c553f6717f114bf759cc91239f95760fb51237462082dd72016ab77a101afc088c8bdd951583197e8de3 +DIST thunderbird-136.0-rm.xpi 483302 BLAKE2B 7e7ceed559907dbbbe8fdd437c860c758a56ddfa0f623c94450aa3bde9e7a7ad7b25da20508dd52d20a4a38c3c582983220882706fdadc9dfa2cae447ad6f72d SHA512 d5ab5413b3f0e951eaf4062b9942532984a07dcc2e318ff2f51c5791dc2b273c6285f24154feea5a7307b40b8132ebb893f140502d052e4ae34566ae09f85ea9 +DIST thunderbird-136.0-ro.xpi 417116 BLAKE2B 61bf3f18ff8ad3541905d5e8f9466e2ecc35f3acfb4367a3ef3ab91c303c04dca08e43dcd4a5fff40811a1328b69d151ea0fa442054e3cb10bb8c0ab2eb0d987 SHA512 0481c653d1da62db9430296572571631e87c4e214373cbe7120b77469ecf1f4150e7d527e89199648fba74fc4a6e758ebb2f3df88e3256d5c6aa80ff2edb1096 +DIST thunderbird-136.0-ru.xpi 583974 BLAKE2B b9e8e25634f52852b0faa75d32f6021f9f5d964eec5a773beffc7bbba8e3e49c57de4c97beb55dc0ff7a65b178c7843fbfa6c12e3861402082191c61bd61ee8b SHA512 6f38833eb9c80c81d0f08639e624a316903f8d27fa97fc8c6997fbc2fbfbec3c738b54a6db3e0e2ed8881ad72bedbd448af707bdcaf79ac28f6415bc8463fe0f +DIST thunderbird-136.0-sk.xpi 511215 BLAKE2B 6486ba4840fe3d94c8d2486428aee6d5a77c3eb24486f2b96ae52ff467f165fe0efee180013d64941480b197627b1f3d1bc42b005378a2020241a9d4dd4f4ab9 SHA512 3099ee335d126be2f9ffa0d42c59021765945f1bb8b9325d6854fbe9c2772db609b4910b80ca62440c6982cae72c955d74e6e4a1f390c2792e37b023960adae0 +DIST thunderbird-136.0-sl.xpi 477414 BLAKE2B a969683f1338c0acfc2dd04be85f5270f9395c75b8666bd7362c6835b669e3c19fe4b1685a4009caa3fca20662eb6695415646eb3a9d28ef7bc4fb1bbebb53d5 SHA512 d40029563d4e1db44796c757d1f1e04d95043cbf2411568649ee41deeafed0e625d79366fc961fa19a4b2f86eba104d69a80a3e93b95090d19b8586bb6922249 +DIST thunderbird-136.0-sq.xpi 498450 BLAKE2B 25c329dd3538e91bd9ac1ef4d7c3cbc4a18affdc9be9de4178d5f66d8aad82617b1e71746a57c333cbb30997842317d9b8ad5b70f315d53256e8551a2c740132 SHA512 3e3145f1ea4d9e95e0daed3de19f4b9a922f2657158f78fd908796ee69f74b8b3f4d32f591199ac69bc02ea9227cead12ef751133f536bb8602d84b0efc977eb +DIST thunderbird-136.0-sr.xpi 495677 BLAKE2B affa4d83c8aaa0d4333b9d19b69cf35e2821b2a375a3d7552dbb071b8fe1f6a8d745faadccf10bc8dcd7fddd67a1bd225082538a952c130ddb06a17b46bcf415 SHA512 5c0443edf2d073c7072f16abf7ac3dc91dafa7bac71f5897ef9576f7793fde581fc36c3dcf04a9f472f4a46f3ef2f83c9427dfde87c7da461bff6e0bb3bb0d83 +DIST thunderbird-136.0-sv-SE.xpi 477339 BLAKE2B 0cc3cc38612d2f9368e9386ba5bf44564cd45912212bbdf4cf48c0a677c03336a3575b02fe42801072a867e683c7149525be896d555ac7130566f6efbd0f8a97 SHA512 68713cd49578a96217a9a2f3ff2abe149b046901bcd9dfbc419389779cc1b9b08d08f0bb12c2e3950f84e2088a612d1805072331ae48a8bc788ae9ec61f5777c +DIST thunderbird-136.0-th.xpi 560618 BLAKE2B f90d765016b85e5e14ee38a8fc8db56fdb400bc3d5ee97b4e840255e781834c8c3f3606e3696084ca01ea6ef5a38f35bbb34a3531e1b70c43a9a6b82a60b5f08 SHA512 028e603a4c3cbfb0ba41b9fc332d04eb9ebb7ce8c758ceb9d1d86d6c97228a8d842755869c841e01a1c456bb8cef06f97074533bb2cbfce86ade0cd2d2629b6b +DIST thunderbird-136.0-tr.xpi 487412 BLAKE2B 745e6e9af1c535c6790eb6489521bc4b1b40e142a7d3ca2b33a2b49b68787129f5f615aee983f19c93ec22ae8eab777e407a18dfd56598cd683a8f636f4c7409 SHA512 3c66f22442c0c0a1e4b2a41b5b4ace8b192e1a964c14be6ab85f32bfc39388c52e03c3efeb5ad60edfab12eb440b703273093ff8b0dec6ece9f37bc5f3606d7e +DIST thunderbird-136.0-uk.xpi 575503 BLAKE2B ad716a1d0f4a74954c17c53ff79363ecb95afc637e675e3cbae7f5285f0469a383ad466e62c9a9f16ead0f50c78e0e99e729250af5f29bb22d8ce5b8fb34af56 SHA512 4081e72bc44f56915c25093eccc6af325928dde5daff629407c5a3c19ff6e63ea11186192580103a6865577276f47462b0bc4d0b986937bf4e4d3fc584714832 +DIST thunderbird-136.0-uz.xpi 354651 BLAKE2B 1b1298a3e3eb328589ba98e9e76d98efc1b00d26a0a8698a53d1fd04cac03303736aa8b442eabf45e9d958b5eac7129966502cd33ee3790d340676dcd12e2346 SHA512 6fb8abdea1f823ac083690335855e9655b91335bbd64587c6cc869499d3cb630b3ed44caf703b301f48519e94e93e820e2d814759e9778396933e735572bfd53 +DIST thunderbird-136.0-vi.xpi 511066 BLAKE2B 5bd84d25a90f4bf99422544605b1e5c7d4eedbda662494e2e4a19c3cb62fba95bab4e829094e30ab2b271da0d1bb5502e6c22d7c5655b6157ff244e20a305a1d SHA512 5456eef9e20aa4d5e57540c9ad79786b12dab2f5bc14c3c172dcd8c3bd432870f0a244e81d09ecf382d51692e9fd85060f8dc0ce21f8735f802851b7250fa3e2 +DIST thunderbird-136.0-zh-CN.xpi 500523 BLAKE2B cb7891a99f679ab9d61a02099a81087e6f6938948ed735abf85dffdd1ea09ff4aea46d3ef6cca11492a1af3699e583c210ea90165325256e37cb53d465102b30 SHA512 517dd3e3fab2ffbe6e2f47d8e0b690b3b3a3180e5200023d7745f52e218f14fbc628f67908655e6022c27ff3a9d0865f69d1d499d5588958abb853b7f06a582c +DIST thunderbird-136.0-zh-TW.xpi 503558 BLAKE2B c943c3883d0442e7faeba9502f2202ccb58e08551e8f0904a0ac34baa79a5f72fd4dacf4d22df14e78448cca3a7d0523a2dd9b44048ae0f3273d658e9c08b413 SHA512 a95e42f58a1fcde06f5509a723dfd0f3a097c95fb8dc9b40fbac2e81e9f8bd62976dad7fdeb16f2a67f136eb83427b73773ed12b41b522a22011be8e1255f3f7 +DIST thunderbird-136.0.source.tar.xz 724177104 BLAKE2B 32a1c23efb28625bf900840ab5eeace63f98c10f95b3e4f665a6fb6b8c653319adec522bbf76d60bccb0f2673ac12c6623ec1cca37eae02aafa08594419d1479 SHA512 37c94258b49a7e87b24b4cffaa6eae81698356ddc3f0f49ea675b885dea2c56a3ca758dac2ddb2720beaf2f34faa15a9ab9b5eda0b352c0c8f14167c01838714 diff --git a/mail-client/thunderbird/files/disable-auto-update.policy.json b/mail-client/thunderbird/files/disable-auto-update.policy.json new file mode 100644 index 0000000..f366220 --- /dev/null +++ b/mail-client/thunderbird/files/disable-auto-update.policy.json @@ -0,0 +1,5 @@ +{ + "policies": { + "DisableAppUpdate": true + } +} diff --git a/mail-client/thunderbird/files/distribution.ini b/mail-client/thunderbird/files/distribution.ini new file mode 100644 index 0000000..ab0d149 --- /dev/null +++ b/mail-client/thunderbird/files/distribution.ini @@ -0,0 +1,9 @@ +[Global] +id=gentoo +version=1.0 +about=Mozilla Thunderbird for Gentoo +about.de=Mozilla Thunderbird für Gentoo + +[Preferences] +app.distributor="gentoo" +app.distributor.channel="gentoo" diff --git a/mail-client/thunderbird/files/gentoo-default-prefs-r1.js b/mail-client/thunderbird/files/gentoo-default-prefs-r1.js new file mode 100644 index 0000000..4b7eea4 --- /dev/null +++ b/mail-client/thunderbird/files/gentoo-default-prefs-r1.js @@ -0,0 +1,5 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("mail.shell.checkDefaultClient", false); +pref("intl.locale.requested", ""); diff --git a/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js new file mode 100644 index 0000000..a00144a --- /dev/null +++ b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js @@ -0,0 +1,3 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("layers.acceleration.force-enabled", true); +pref("webgl.force-enabled", true); diff --git a/mail-client/thunderbird/files/icon/thunderbird-r2.desktop b/mail-client/thunderbird/files/icon/thunderbird-r2.desktop new file mode 100644 index 0000000..20073ac --- /dev/null +++ b/mail-client/thunderbird/files/icon/thunderbird-r2.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Email +Comment=Send and Receive Email +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[de]=Emails lesen und verfassen +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[it]=Leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[sv]=Läs och skriv e-post +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=message/rfc822;text/calendar;x-scheme-handler/mailto; +StartupNotify=true +Categories=Network;Email;Calendar; +Keywords=email;messages;calendar +Actions=profile-manager-window; +StartupWMClass=thunderbird-esr + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/mail-client/thunderbird/files/thunderbird-r1.sh b/mail-client/thunderbird/files/thunderbird-r1.sh new file mode 100644 index 0000000..a433ee3 --- /dev/null +++ b/mail-client/thunderbird/files/thunderbird-r1.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +## +## Usage: +## +## $ thunderbird +## +## This script is meant to run Mozilla Thunderbird in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_THUNDERBIRD_FILE="thunderbird" + +if [[ ! -r ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then + if [[ ! -r ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then + echo "Error: ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2 + if [[ -d ${SECONDARY_LIB_DIR} ]]; then + echo " ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2 + fi + exit 1 + fi + MOZ_LIB_DIR="${SECONDARY_LIB_DIR}" +fi +MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/thunderbird" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_THUNDERBIRD_FILE}" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the mail client +exec ${MOZ_PROGRAM} "${@}" diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml new file mode 100644 index 0000000..94a1759 --- /dev/null +++ b/mail-client/thunderbird/metadata.xml @@ -0,0 +1,40 @@ + + + + + mozilla@gentoo.org + Gentoo Mozilla Team + + + Use Clang compiler instead of GCC + Disable EME (DRM plugin) capability at build time + Force-enable hardware-accelerated rendering (Mozilla bug 594876) + Enable libproxy support + Add support for profile-guided optimization using gcc-4.5, + for faster binaries. This option will double the compile time. + Add sound server support via media-libs/libpulse (may be PulseAudio or + Pipewire, or apulse if installed) + Compile and install experimental rust extensions, that may become + part of Thunderbird some day. + Enable support for the media-sound/sndio backend + Use the system-wide media-libs/dav1d + and media-libs/libaom library instead of bundled. + Use the system-wide media-libs/harfbuzz + and media-gfx/graphite2 instead of bundled. + Use the system-wide dev-libs/icu + instead of bundled. + Use the system-wide media-libs/libjpeg-turbo + instead of bundled. + Use the system-wide dev-libs/libevent + instead of bundled. + Use system-wide dev-util/librnp instead of bundled one. + Use the system-wide media-libs/libvpx + instead of bundled. + Use the system-wide media-libs/libpng + instead of bundled (requires APNG patches) + Use the system-wide media-libs/libwebp + instead of bundled. + Enable necko-wifi for NetworkManager integration, and access point MAC + address scanning for better precision with opt-in geolocation services + + diff --git a/mail-client/thunderbird/thunderbird-128.7.0.ebuild b/mail-client/thunderbird/thunderbird-128.7.0.ebuild new file mode 100644 index 0000000..c9402b9 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.7.0.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" + +IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-128.7.1.ebuild b/mail-client/thunderbird/thunderbird-128.7.1.ebuild new file mode 100644 index 0000000..5bb6342 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.7.1.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-136.0.ebuild b/mail-client/thunderbird/thunderbird-136.0.ebuild new file mode 100644 index 0000000..97d0ddf --- /dev/null +++ b/mail-client/thunderbird/thunderbird-136.0.ebuild @@ -0,0 +1,1153 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-136-patches-01.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + use system-av1 && append-ldflags "-laom" + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest new file mode 100644 index 0000000..d54f6c4 --- /dev/null +++ b/media-gfx/blender/Manifest @@ -0,0 +1,3 @@ +DIST blender-3.6.15.tar.xz 67906200 BLAKE2B 8709b20347e78f3f71d22fee9799b1c0e20a39521b35cff83d6cd3462d4b172e31c1656812d7ce51eef25341a0cff2e9efdcdab0bc9a361ec843a666fc8c3185 SHA512 dfd1d80850fe6ab0616fd99ab039345da621418890b1a006e5320a4b739d1cf6f4ca313e8f8aed6e27c976400c75e8d6085847623d933de71932aefe82f3fd32 +DIST blender-3.6.18.tar.xz 67900952 BLAKE2B d4a619197abc3e4969846913f3c88cd64fd679bbefe007354af6ba2e83d47a8fcd27b3bcbaf6d850d28960eedeb3c50ff9336d0e61fd488d4916b6628bfd67dd SHA512 48a8b3e8b2fe75305061d7cb9b7b8491cef4f23fbd809d1fc34663a4f97f487d6e7e6e92848110fe6aa5a2fed18a2c1a2a0c1c928aa813e2456f7786681eae60 +DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7ba82c8823f92fe1e6a14419edae1f3914f639e88dd8b5fb3ec7c124783e1ece56199a80b9b51a0f320764e1eba7 SHA512 a5e15dc9de7024cebb955fc531ae592a4c58336196a07fd63ed5bb4eb14d66751a3697ea8b120283ca5078c92d8c87966e882862011ebb4368f132e2de004a45 diff --git a/media-gfx/blender/blender-3.6.15.ebuild b/media-gfx/blender/blender-3.6.15.ebuild new file mode 100644 index 0000000..8780d66 --- /dev/null +++ b/media-gfx/blender/blender-3.6.15.ebuild @@ -0,0 +1,447 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_10 python3_11 ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="amd64 ~arm ~arm64" +fi + +LICENSE="GPL-3+ cycles? ( Apache-2.0 )" +SLOT="${PV%.*}" +IUSE="+bullet +dds +fluid +openexr +tbb + alembic collada +color-management cuda +cycles cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k + man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl + +sndfile test +tiff valgrind wayland X" +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + osl? ( cycles ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:=[nls?] + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + media-libs/libepoxy:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsamplerate + >=media-libs/openimageio-2.4.6.0:= + sys-libs/zlib:= + virtual/glu + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio:= ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + embree? ( >=media-libs/embree-3.10.0:=[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp[cxx] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + oidn? ( >=media-libs/oidn-1.4.1 ) + openexr? ( + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + ) + openpgl? ( media-libs/openpgl:0/0.5 ) + opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) + openvdb? ( + =dev-libs/wayland-1.12 + >=dev-libs/wayland-protocols-1.15 + >=x11-libs/libxkbcommon-0.2.0 + media-libs/mesa[wayland] + sys-apps/dbus + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) +" + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +blender_get_version() { + # Get blender version from blender itself. + BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) + if ((${BV:0:1} < 3)) ; then + # Add period (290 -> 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + + git-r3_fetch "${ADDONS_EGIT_REPO_URI}" + git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets + subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die + + sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die + + mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/859607 + # https://projects.blender.org/blender/blender/issues/120444 + filter-lto + + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + blender_get_version + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) + -DWITH_CYCLES_STANDALONE=OFF + -DWITH_CYCLES_STANDALONE_GUI=OFF + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD=OFF + -DWITH_GHOST_WAYLAND_LIBDECOR=OFF + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_FREETYPE=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=OFF + -DWITH_LINKER_LLD=OFF + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + cmake_src_install + + if use man; then + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-3.6.18.ebuild b/media-gfx/blender/blender-3.6.18.ebuild new file mode 100644 index 0000000..bdf6973 --- /dev/null +++ b/media-gfx/blender/blender-3.6.18.ebuild @@ -0,0 +1,447 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_10 python3_11 ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="amd64 ~arm ~arm64" +fi + +LICENSE="GPL-3+ cycles? ( Apache-2.0 )" +SLOT="${PV%.*}" +IUSE="+bullet +dds +fluid +openexr +tbb + alembic collada +color-management cuda +cycles cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k + man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl + +sndfile test +tiff valgrind wayland X" +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + osl? ( cycles ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:=[nls?] + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + media-libs/libepoxy:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsamplerate + >=media-libs/openimageio-2.4.6.0:= + sys-libs/zlib:= + virtual/glu + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio:= ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + embree? ( >=media-libs/embree-3.10.0:=[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp[cxx] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + oidn? ( >=media-libs/oidn-1.4.1 ) + openexr? ( + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + ) + openpgl? ( media-libs/openpgl:0/0.5 ) + opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) + openvdb? ( + =dev-libs/wayland-1.12 + >=dev-libs/wayland-protocols-1.15 + >=x11-libs/libxkbcommon-0.2.0 + media-libs/mesa[wayland] + sys-apps/dbus + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) +" + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +blender_get_version() { + # Get blender version from blender itself. + BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) + if ((${BV:0:1} < 3)) ; then + # Add period (290 -> 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + + git-r3_fetch "${ADDONS_EGIT_REPO_URI}" + git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets + subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die + + sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die + + mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/859607 + # https://projects.blender.org/blender/blender/issues/120444 + filter-lto + + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + blender_get_version + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) + -DWITH_CYCLES_STANDALONE=OFF + -DWITH_CYCLES_STANDALONE_GUI=OFF + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD=OFF + -DWITH_GHOST_WAYLAND_LIBDECOR=OFF + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_FREETYPE=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=OFF + -DWITH_LINKER_LLD=OFF + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + cmake_src_install + + if use man; then + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-3.6.8.ebuild b/media-gfx/blender/blender-3.6.8.ebuild new file mode 100644 index 0000000..f127201 --- /dev/null +++ b/media-gfx/blender/blender-3.6.8.ebuild @@ -0,0 +1,447 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_10 python3_11 ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="amd64 ~arm ~arm64" +fi + +LICENSE="GPL-3+ cycles? ( Apache-2.0 )" +SLOT="${PV%.*}" +IUSE="+bullet +dds +fluid +openexr +tbb + alembic collada +color-management cuda +cycles cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k + man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl + +sndfile test +tiff valgrind wayland X" +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + osl? ( cycles ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:=[nls?] + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + media-libs/libepoxy:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsamplerate + >=media-libs/openimageio-2.4.6.0:= + sys-libs/zlib:= + virtual/glu + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio:= ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + embree? ( >=media-libs/embree-3.10.0:=[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + oidn? ( >=media-libs/oidn-1.4.1 ) + openexr? ( + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + ) + openpgl? ( media-libs/openpgl:0/0.5 ) + opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) + openvdb? ( + =dev-libs/wayland-1.12 + >=dev-libs/wayland-protocols-1.15 + >=x11-libs/libxkbcommon-0.2.0 + media-libs/mesa[wayland] + sys-apps/dbus + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) +" + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +blender_get_version() { + # Get blender version from blender itself. + BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) + if ((${BV:0:1} < 3)) ; then + # Add period (290 -> 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + + git-r3_fetch "${ADDONS_EGIT_REPO_URI}" + git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets + subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die + + sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die + + mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/859607 + # https://projects.blender.org/blender/blender/issues/120444 + filter-lto + + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + blender_get_version + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) + -DWITH_CYCLES_STANDALONE=OFF + -DWITH_CYCLES_STANDALONE_GUI=OFF + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD=OFF + -DWITH_GHOST_WAYLAND_LIBDECOR=OFF + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_FREETYPE=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=OFF + -DWITH_LINKER_LLD=OFF + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + cmake_src_install + + if use man; then + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch new file mode 100644 index 0000000..f476756 --- /dev/null +++ b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch @@ -0,0 +1,14 @@ +From: Paul Zander +insert CUDA_NVCC_FLAGS into the custom nvcc call so we can use CUDAHOSTCXX, e.g. a different gcc version for cuda code +diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt +index 604ccb8..160ee20 100644 +--- a/intern/cycles/kernel/CMakeLists.txt ++++ b/intern/cycles/kernel/CMakeLists.txt +@@ -752,6 +752,7 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES) + -I "${CMAKE_CURRENT_SOURCE_DIR}/device/cuda" + --use_fast_math + -Wno-deprecated-gpu-targets ++ ${CUDA_NVCC_FLAGS} + -o ${output}) + + if(WITH_NANOVDB) diff --git a/media-gfx/blender/files/blender-4.0.2-FindClang.patch b/media-gfx/blender/files/blender-4.0.2-FindClang.patch new file mode 100644 index 0000000..2c7a404 --- /dev/null +++ b/media-gfx/blender/files/blender-4.0.2-FindClang.patch @@ -0,0 +1,14 @@ +From: Paul Zander +look for the merged clang library so we can find clang +diff --git a/build_files/cmake/Modules/FindClang.cmake b/build_files/cmake/Modules/FindClang.cmake +index 1957c63..5620b84 100644 +--- a/build_files/cmake/Modules/FindClang.cmake ++++ b/build_files/cmake/Modules/FindClang.cmake +@@ -85,6 +85,7 @@ set(_CLANG_FIND_COMPONENTS + clangAST + clangLex + clangBasic ++ clang-cpp + ) + + set(_CLANG_LIBRARIES) diff --git a/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch b/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch new file mode 100644 index 0000000..e8e1c34 --- /dev/null +++ b/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch @@ -0,0 +1,38 @@ +From: =?UTF-8?q?Jannik=20Gl=C3=BCckert?= +Date: Fri, 23 Aug 2024 13:17:34 +0200 +Subject: [PATCH] fix FindLLVM lookup + +find out our installed libnames and use that in the lookup + +Signed-off-by: Paul Zander + +diff --git build_files/cmake/Modules/FindLLVM.cmake build_files/cmake/Modules/FindLLVM.cmake +index 4c7cc5f..21c760e 100644 +--- a/build_files/cmake/Modules/FindLLVM.cmake ++++ b/build_files/cmake/Modules/FindLLVM.cmake +@@ -54,16 +54,21 @@ if(NOT LLVM_LIBPATH) + set(LLVM_LIBPATH ${LLVM_LIBPATH} CACHE PATH "Path to the LLVM library path") + mark_as_advanced(LLVM_LIBPATH) + endif() ++if(NOT LLVM_LIBNAMES) ++ execute_process(COMMAND ${LLVM_CONFIG} --libnames ++ OUTPUT_VARIABLE LLVM_LIBNAMES ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ set(LLVM_LIBNAMES ${LLVM_LIBNAMES} CACHE PATH "Name of the LLVM libraries") ++ mark_as_advanced(LLVM_LIBNAMES) ++endif() + + if(LLVM_STATIC) + find_library(LLVM_LIBRARY +- NAMES LLVMAnalysis # first of a whole bunch of libs to get ++ NAMES ${LLVM_LIBNAMES} + PATHS ${LLVM_LIBPATH}) + else() + find_library(LLVM_LIBRARY +- NAMES +- LLVM-${LLVM_VERSION} +- LLVMAnalysis # check for the static library as a fall-back ++ NAMES ${LLVM_LIBNAMES} + PATHS ${LLVM_LIBPATH}) + endif() + diff --git a/media-gfx/blender/files/blender-4.1.1-numpy.patch b/media-gfx/blender/files/blender-4.1.1-numpy.patch new file mode 100644 index 0000000..bd76da8 --- /dev/null +++ b/media-gfx/blender/files/blender-4.1.1-numpy.patch @@ -0,0 +1,26 @@ +From: Paul Zander +Date: Fri, 23 Aug 2024 13:19:21 +0200 +Subject: [PATCH] fix numpy lookup + +use cmake config for find_package() + +Signed-off-by: Paul Zander + +--- a/build_files/cmake/platform/platform_unix.cmake ++++ b/build_files/cmake/platform/platform_unix.cmake +@@ -463,13 +463,13 @@ if(WITH_BOOST) + endif() + list(APPEND __boost_packages system) + set(Boost_NO_WARN_NEW_VERSIONS ON) +- find_package(Boost 1.48 COMPONENTS ${__boost_packages}) ++ find_package(Boost 1.48 CONFIG COMPONENTS ${__boost_packages}) + if(NOT Boost_FOUND) + # try to find non-multithreaded if -mt not found, this flag + # doesn't matter for us, it has nothing to do with thread + # safety, but keep it to not disturb build setups + set(Boost_USE_MULTITHREADED OFF) +- find_package(Boost 1.48 COMPONENTS ${__boost_packages}) ++ find_package(Boost 1.48 CONFIG COMPONENTS ${__boost_packages}) + endif() + unset(__boost_packages) + if(Boost_USE_STATIC_LIBS AND WITH_BOOST_ICU) diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml new file mode 100644 index 0000000..927ab93 --- /dev/null +++ b/media-gfx/blender/metadata.xml @@ -0,0 +1,97 @@ + + + + + negril.nx+gentoo@gmail.com + Paul Zander + + + darkdefende@gmail.com + Sebastian Parborg + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Blender, the open source software for 3D modeling, animation, + rendering, post-production, interactive creation and playback. + + + + Add support for Alembic through + media-gfx/alembic. + + + Enable Bullet (Physics Engine). + + + Add support for Collada interchange format through + media-libs/opencollada. + + Enable color management via media-libs/opencolorio. + + Build cycles renderer with nVidia CUDA support. + + + Build cycles renderer with AMD HIP support. + + + Enable the Cycles raytracing render engine. + + + Precompile the cycles render kernels for the CUDA/HIP/OneAPI backends, if they are enabled, at compile time. + This makes it so that the user doesn't have to wait for the kernels to compile when they are used for the first time in Blender. + If this option is not on, they will be built as needed at runtime. + + + Adds DDS textures support to Blender. + + + Use embree to accelerate certain areas of the Cycles render engine. + + + Build Experimental Blender Modules + + + Adds fluid simulation support via the built-in Mantaflow library. + + + Enable nanoVDB support in Cycles. Uses less memory than regular openVDB when rendering. + + + Enable NDOF input devices (SpaceNavigator and friends). + + Enable OpenImageDenoiser Support + Build OIDN with Intel oneAPI SyCL support + Enable path guiding support in Cycles + + Add rendering support form OpenSubdiv from Dreamworks Animation + through media-libs/opensubdiv. + + + Enable openvdb for volumetric processing, like the voxel remesher. Also enables volumetric GPU preview rendering for Nvidia cards. + + + Add support for NVIDIA's OptiX Raytracing Engine. + + + Add support for OpenShadingLanguage scripting. + + + Add support for converting bitmaps into Grease pencil line using the potrace library. + + + Enable PugiXML support (Used for OpenImageIO, Grease Pencil SVG export) + + + Build Blender with renderdoc support + + + Use threading building blocks library from dev-cpp/tbb. + + + Add support for the experimental Vulkan viewport backend + + + diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index b19171d..662c548 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1 +1,8 @@ DIST mesa-24.0.0-rc3.tar.xz 19856164 BLAKE2B 08b01aba87a7b942831d6406319d8e08909a0dc0518f8ea552093faace06554de33afb54bfa6224e9530ad9b9c0c526f14693a497d4308286c15fe58fe44182e SHA512 0cd619cc79198981061f25e9464cdffa56b5cffbda69b339e7da275af92527c3cd3d3b6ec0d80f920fe0aae025874a2f15f37a737be6e051738fa26bb2907164 +DIST mesa-24.3.4.tar.xz 30691532 BLAKE2B a5cf1f49c6d809d19510793f5d1dcec1a3842495d3b4166e303d7f2d4744d179811697d264c5c9b39f2819ebc64a76357195b3eae6b1d2a83128de141354e3c2 SHA512 9c23cd86fda4cf0289c5a78b08ceea8b01e5b141d86ee3e659fa46e62ff9586ff92a4984d2a340b5bf209c4c7f3414bf99f3ced19feee8fb39ef99fe572dbd55 +DIST mesa-25.0.0.tar.xz 46643728 BLAKE2B 9aca2416ea4e304d46fda648cb9b8e04caa053458b91893fb874e9a30d8293722c3bed1098c2720b04b0c7278eba3b0387900b56e13b6133a23c0f6be705025c SHA512 7f5b6674c40b6c8dcab7934512ff754b40a6a8a466422c90236f614d322033d4d465307ddcd983f9f3afb1310e132ec3186a085d261c95493a0c460b2ec59ce8 +DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c +DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 diff --git a/media-libs/mesa/mesa-24.3.4-r1.ebuild b/media-libs/mesa/mesa-24.3.4-r1.ebuild new file mode 100644 index 0000000..a435314 --- /dev/null +++ b/media-libs/mesa/mesa-24.3.4-r1.ebuild @@ -0,0 +1,504 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.76.0" +RUST_MULTILIB=1 +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-util/spirv-tools-1.3.231.0[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + =llvm-core/libclc-\${LLVM_SLOT}*[spirv(-)] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + llvm-core/libclc[spirv(-)] + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.38 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + llvm-core/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version llvm-core/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || (use vulkan && use video_cards_nvk); then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + + emesonargs+=(-Dvulkan-layers=device-select,overlay) + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Dlegacy-x11=dri2 + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_compile() { + if [[ ${ABI} == x86 ]]; then + # Bug 939803 + BINDGEN_EXTRA_CLANG_ARGS="-m32" meson_src_compile + else + meson_src_compile + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-25.0.0.ebuild b/media-libs/mesa/mesa-25.0.0.ebuild new file mode 100644 index 0000000..9632dfb --- /dev/null +++ b/media-libs/mesa/mesa-25.0.0.ebuild @@ -0,0 +1,506 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.78.0" +RUST_MULTILIB=1 +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-util/spirv-tools-1.3.231.0[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + =llvm-core/libclc-\${LLVM_SLOT}*[spirv(-)] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + llvm-core/libclc[spirv(-)] + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.38 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + >=dev-build/meson-1.7.0 + >=dev-util/bindgen-0.71.0 + ${RUST_DEPEND} + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/mesa_clc-${PV} + llvm-core/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-build/meson-1.7.0 + >=dev-util/bindgen-0.71.0 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libgallium-*.so + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version llvm-core/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || (use vulkan && use video_cards_nvk); then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + + emesonargs+=(-Dvulkan-layers=device-select,overlay) + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Dlegacy-x11=dri2 + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dmesa-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_compile() { + if [[ ${ABI} == x86 ]]; then + # Bug 939803 + BINDGEN_EXTRA_CLANG_ARGS="-m32" meson_src_compile + else + meson_src_compile + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index c819b57..7ca546c 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -1,74 +1,111 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) -inherit llvm meson-multilib python-any-r1 linux-info +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain MY_P="${P/_/-}" +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.78.0" +RUST_MULTILIB=1 +RUST_OPTIONAL=1 + +inherit cargo + DESCRIPTION="OpenGL-like graphic library for Linux" HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - EGIT_BRANCH="24.0-branchpoint" inherit git-r3 else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" fi +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + LICENSE="MIT SGI-B-2.0" SLOT="0" -RESTRICT="!test? ( test )" RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" for card in ${VIDEO_CARDS}; do IUSE_VIDEO_CARDS+=" video_cards_${card}" done IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - + wayland +X xa +zstd" +RESTRICT="!test? ( test )" REQUIRED_USE=" d3d9? ( || ( + video_cards_freedreno video_cards_intel + video_cards_nouveau + video_cards_panfrost video_cards_r300 video_cards_r600 video_cards_radeonsi - video_cards_nouveau video_cards_vmware + video_cards_zink ) ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) + llvm? ( ${LLVM_REQUIRED_USE} ) video_cards_lavapipe? ( llvm vulkan ) video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) vdpau? ( X ) xa? ( X ) - zink? ( vulkan ) " -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119" +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" RDEPEND=" >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-util/spirv-tools-1.3.231.0[${MULTILIB_USEDEP}] >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) + $(llvm_gen_dep " + llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + =llvm-core/libclc-\${LLVM_SLOT}*[spirv(-)] + ) + ") video_cards_r600? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) @@ -79,14 +116,16 @@ RDEPEND=" lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) opencl? ( >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 + llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + vulkan? ( virtual/libudev:= ) selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] @@ -95,11 +134,10 @@ RDEPEND=" >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] x11-libs/libXfixes[${MULTILIB_USEDEP}] x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) " for card in ${RADEON_CARDS}; do @@ -111,41 +149,10 @@ RDEPEND="${RDEPEND} video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) " -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 17. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="17" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( =dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/mesa_clc-${PV} + llvm-core/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) vulkan? ( dev-util/glslang - llvm? ( - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - ) - ) + video_cards_nvk? ( + >=dev-build/meson-1.7.0 + >=dev-util/bindgen-0.71.0 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) " -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - QA_WX_LOAD=" x86? ( - usr/lib/libglapi.so.0.0.0 + usr/lib/libgallium-*.so usr/lib/libOSMesa.so.8.0.0 usr/lib/libGLX_mesa.so.0.0.0 )" -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die } pkg_pretend() { @@ -200,36 +220,44 @@ pkg_pretend() { if ! use video_cards_d3d12 && ! use video_cards_freedreno && ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" fi fi + # VA if use vaapi; then if ! use video_cards_d3d12 && + ! use video_cards_nouveau && ! use video_cards_r600 && ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" fi fi if use vdpau; then if ! use video_cards_d3d12 && - ! use video_cards_r300 && + ! use video_cards_nouveau && ! use video_cards_r600 && ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" fi fi if use xa; then if ! use video_cards_freedreno && + ! use video_cards_intel && ! use video_cards_nouveau && ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" fi fi @@ -243,7 +271,9 @@ pkg_pretend() { } python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1 + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 if use llvm && use vulkan && use video_cards_intel && use amd64; then python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 fi @@ -251,8 +281,8 @@ python_check_deps() { pkg_setup() { # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + if use llvm && has_version llvm-core/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/llvm" ewarn "detected! This can cause problems. For details, see bug 459306." fi @@ -270,10 +300,12 @@ pkg_setup() { linux-info_pkg_setup fi - if use llvm; then - llvm_pkg_setup - fi + use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || (use vulkan && use video_cards_nvk); then + rust_pkg_setup + fi } src_prepare() { @@ -285,26 +317,33 @@ src_prepare() { multilib_src_configure() { local emesonargs=() + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + local platforms use X && platforms+="x11" use wayland && platforms+=",wayland" emesonargs+=(-Dplatforms=${platforms#,}) - if use video_cards_intel || + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || use video_cards_r300 || use video_cards_r600 || use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then + use video_cards_vmware || # svga + use video_cards_zink; then emesonargs+=($(meson_use d3d9 gallium-nine)) else emesonargs+=(-Dgallium-nine=false) fi if use video_cards_d3d12 || + use video_cards_nouveau || use video_cards_r600 || use video_cards_radeonsi || - use video_cards_nouveau; then + use video_cards_virgl; then emesonargs+=($(meson_feature vaapi gallium-va)) use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) else @@ -316,16 +355,17 @@ multilib_src_configure() { fi if use video_cards_d3d12 || - use video_cards_r300 || + use video_cards_nouveau || use video_cards_r600 || use video_cards_radeonsi || - use video_cards_nouveau; then + use video_cards_virgl; then emesonargs+=($(meson_feature vdpau gallium-vdpau)) else emesonargs+=(-Dgallium-vdpau=disabled) fi if use video_cards_freedreno || + use video_cards_intel || use video_cards_nouveau || use video_cards_vmware; then emesonargs+=($(meson_feature xa gallium-xa)) @@ -333,20 +373,12 @@ multilib_src_configure() { emesonargs+=(-Dgallium-xa=disabled) fi - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 gallium_enable video_cards_freedreno freedreno gallium_enable video_cards_intel crocus i915 iris gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 gallium_enable video_cards_nouveau nouveau gallium_enable video_cards_panfrost panfrost gallium_enable video_cards_v3d v3d @@ -354,18 +386,18 @@ multilib_src_configure() { gallium_enable video_cards_virgl virgl gallium_enable video_cards_vivante etnaviv gallium_enable video_cards_vmware svga - gallium_enable zink zink + gallium_enable video_cards_zink zink gallium_enable video_cards_r300 r300 gallium_enable video_cards_r600 r600 gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then + if ! use video_cards_r300 && + ! use video_cards_r600; then gallium_enable video_cards_radeon r300 r600 fi if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig" + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst emesonargs+=( $(meson_native_true gallium-rusticl) @@ -374,12 +406,26 @@ multilib_src_configure() { fi if use vulkan; then - vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_d3d12 microsoft-experimental vulkan_enable video_cards_freedreno freedreno vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost vulkan_enable video_cards_radeonsi amd vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + + emesonargs+=(-Dvulkan-layers=device-select,overlay) fi driver_list() { @@ -387,28 +433,29 @@ multilib_src_configure() { echo "${drivers//$'\n'/,}" } - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel && use amd64; then - emesonargs+=(-Dintel-clc=system) + if use opengl && use X; then + emesonargs+=(-Dglx=dri) else - emesonargs+=(-Dintel-clc=disabled) + emesonargs+=(-Dglx=disabled) fi + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + emesonargs+=( $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled + -Dlegacy-x11=dri2 -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) $(meson_feature llvm) $(meson_feature lm-sensors lmsensors) $(meson_use osmesa) @@ -416,14 +463,27 @@ multilib_src_configure() { $(meson_feature unwind libunwind) $(meson_feature zstd) $(meson_use cpu_flags_x86_sse2 sse2) + -Dmesa-clc=$(usex video_cards_intel system auto) -Dvalgrind=$(usex valgrind auto disabled) -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) -Db_ndebug=$(usex debug false true) ) meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_compile() { + if [[ ${ABI} == x86 ]]; then + # Bug 939803 + BINDGEN_EXTRA_CLANG_ARGS="-m32" meson_src_compile + else + meson_src_compile + fi } multilib_src_test() { diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml index 459ad45..7751dc5 100644 --- a/media-libs/mesa/metadata.xml +++ b/media-libs/mesa/metadata.xml @@ -7,7 +7,6 @@ Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine. - Enable GLESv1 support. Enable LLVM backend for Gallium3D. Enable Gallium HUD lm-sensors support. Enable the Rusticl Gallium OpenCL state tracker. @@ -17,7 +16,6 @@ Build vulkan-overlay-layer which displays Frames Per Second and other statistics Enable support for dev-libs/wayland Enable the XA (X Acceleration) API for Gallium3D. - Enable the Zink OpenGL-over-Vulkan Gallium driver cpe:/a:mesa3d:mesa diff --git a/media-libs/oidn/Manifest b/media-libs/oidn/Manifest new file mode 100644 index 0000000..489f13a --- /dev/null +++ b/media-libs/oidn/Manifest @@ -0,0 +1,3 @@ +DIST oidn-1.4.2.tar.gz 54221996 BLAKE2B bb6593e2e15877f65d9224fc93dac72aff6d567a00d727b050a88a1add4dc1441e695dc38056dd796e004e20916054b43ed7d0e90f22a16597f6617cf6a119e7 SHA512 8b464cedc91ef7a88cfc97c3fde80275b12058cdd26b352718d90f8f20b3462c4ac65b2b1ad5548a520590fbd015fcc8ab9f964633bc8b89d72901fe8a13e352 +DIST oidn-1.4.3.tar.gz 54222682 BLAKE2B f9b585c318258fd78e221a453b64e83965a3e5035a912baa49e4d5b48466441bf1d3c15291de2cd4d36e9da187ff7a643bb9d4af5282cdbb8b6bc99fb3cda0d0 SHA512 6fbdf347763c0734140195a523cf0878b1dbd91d4943c9ce4928f6991549f8b3d5ab4d57b90e20a8d04a87d00e3a1554ce73a3a3c1e64fcb016a3c1f8aa07982 +DIST oidn-2.1.0.tar.gz 48977314 BLAKE2B 0fc32697df7fc6b8b367a78312a5b16ab68a5c88a2d19a8780e9de87c7e7096d7fe43dbd07928f2eba44c62fb4545338fc92f918dd4c33623259d0088a06a854 SHA512 508cb100f1a0a825774c2c01e0fc983e697341745fa0bfa48a99bfa70fc431f66fcdf17c3f170e40baefd7c3796a25d147f49cb17efbf1a1886556367c5c4566 diff --git a/media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch b/media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch new file mode 100644 index 0000000..90d3c17 --- /dev/null +++ b/media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch @@ -0,0 +1,46 @@ +Allow specifying AMDGPU_TARGETS with CMake flags. +Fix build when main compiler is set to GCC. +--- a/devices/CMakeLists.txt ++++ b/devices/CMakeLists.txt +@@ -123,6 +123,10 @@ if(OIDN_DEVICE_HIP) + ) + mark_as_advanced(OIDN_DEVICE_HIP_COMPILER) + ++ set(AMDGPU_TARGETS "gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103" CACHE STRING "AMD GPU targets to compile for") ++ mark_as_advanced(AMDGPU_TARGETS) ++ message(STATUS "AMD targets: ${AMDGPU_TARGETS}") ++ + # Add ROCm to CMAKE_PREFIX_PATH + set(_hip_prefix_path CMAKE_PREFIX_PATH) + list(APPEND _hip_prefix_path ${ROCM_PATH}/hip ${ROCM_PATH}) +@@ -137,7 +141,6 @@ if(OIDN_DEVICE_HIP) + CMAKE_CACHE_ARGS + -DCMAKE_PREFIX_PATH:STRING=${_hip_prefix_path_str} + -DCMAKE_CXX_COMPILER:FILEPATH=${OIDN_DEVICE_HIP_COMPILER} +- -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/hip/preinstall + -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR} +@@ -149,6 +152,9 @@ if(OIDN_DEVICE_HIP) + -DOIDN_API_NAMESPACE:STRING=${OIDN_API_NAMESPACE} + -DOIDN_WARN_AS_ERRORS:BOOL=${OIDN_WARN_AS_ERRORS} + -DOIDN_SANITIZER:STRING=${OIDN_SANITIZER} ++ -DGPU_TARGETS:STRING=${AMDGPU_TARGETS} ++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ++ -G "${CMAKE_GENERATOR}" + BUILD_ALWAYS TRUE + DEPENDS + OpenImageDenoise_core +--- a/devices/hip/CMakeLists.txt ++++ b/devices/hip/CMakeLists.txt +@@ -25,8 +25,8 @@ include(oidn_common_external) + # FIXME: The HIP runtime has a bug that causes a crash if the kernels are not compiled for all + # targets detected in the system. As a workaround, we compile for more targets then we actually + # support to avoid the crash on systems with dedicated + integrated GPUs. +-set(GPU_TARGETS "gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE INTERNAL "") +-set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE INTERNAL "") ++set(GPU_TARGETS "gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103" CACHE STRING "") ++set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE STRING "") + + # Find HIP + find_package(hip REQUIRED) diff --git a/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch b/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch new file mode 100644 index 0000000..4a6c2ce --- /dev/null +++ b/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch @@ -0,0 +1,46 @@ +Allow specifying AMDGPU_TARGETS with CMake flags. +Fix build when main compiler is set to GCC. +--- a/devices/CMakeLists.txt ++++ b/devices/CMakeLists.txt +@@ -129,6 +129,10 @@ if(OIDN_DEVICE_HIP) + ) + mark_as_advanced(OIDN_DEVICE_HIP_COMPILER) + ++ set(AMDGPU_TARGETS "gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103" CACHE STRING "AMD GPU targets to compile for") ++ mark_as_advanced(AMDGPU_TARGETS) ++ message(STATUS "AMD targets: ${AMDGPU_TARGETS}") ++ + # Add ROCm to CMAKE_PREFIX_PATH + set(_hip_prefix_path CMAKE_PREFIX_PATH) + list(APPEND _hip_prefix_path ${ROCM_PATH}/hip ${ROCM_PATH}) +@@ -143,7 +147,6 @@ if(OIDN_DEVICE_HIP) + CMAKE_CACHE_ARGS + -DCMAKE_PREFIX_PATH:STRING=${_hip_prefix_path_str} + -DCMAKE_CXX_COMPILER:FILEPATH=${OIDN_DEVICE_HIP_COMPILER} +- -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/hip/preinstall + -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR} +@@ -155,6 +158,9 @@ if(OIDN_DEVICE_HIP) + -DOIDN_API_NAMESPACE:STRING=${OIDN_API_NAMESPACE} + -DOIDN_WARN_AS_ERRORS:BOOL=${OIDN_WARN_AS_ERRORS} + -DOIDN_SANITIZER:STRING=${OIDN_SANITIZER} ++ -DGPU_TARGETS:STRING=${AMDGPU_TARGETS} ++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ++ -G "${CMAKE_GENERATOR}" + BUILD_ALWAYS TRUE + DEPENDS + OpenImageDenoise_core +--- a/devices/hip/CMakeLists.txt ++++ b/devices/hip/CMakeLists.txt +@@ -25,8 +25,8 @@ include(oidn_common_external) + # FIXME: Older versions of the HIP runtime have a bug which may cause a crash if the kernels are + # not compiled for all targets detected in the system (it seems mostly APUs/integrated GPUs). + # As a workaround, we compile for more targets then we actually support to avoid this crash. +-set(GPU_TARGETS "gfx902,gfx909,gfx90c,gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE INTERNAL "") +-set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE INTERNAL "") ++set(GPU_TARGETS "gfx902,gfx909,gfx90c,gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE STRING "") ++set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE STRING "") + + # Find HIP + find_package(hip REQUIRED) diff --git a/media-libs/oidn/metadata.xml b/media-libs/oidn/metadata.xml new file mode 100644 index 0000000..eb65b09 --- /dev/null +++ b/media-libs/oidn/metadata.xml @@ -0,0 +1,31 @@ + + + + + darkdefende@gmail.com + Sebastian Parborg + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Intel Open Image Denoise is an open source library of high-performance, + high-quality denoising filters for images rendered with ray tracing. Intel + Open Image Denoise is part of the Intel® oneAPI Rendering Toolkit and is + + + + Build the standalone denoise, self test, and benchmark binaries. + + + Build OIDN with AMD HIP support. + + + Enable OpenImageIO Support + + + + RenderKit/oidn + + diff --git a/media-libs/oidn/oidn-1.4.2.ebuild b/media-libs/oidn/oidn-1.4.2.ebuild new file mode 100644 index 0000000..c39523e --- /dev/null +++ b/media-libs/oidn/oidn-1.4.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10} ) + +inherit cmake python-single-r1 + +DESCRIPTION="Intel(R) Open Image Denoise library" +HOMEPAGE="http://www.openimagedenoise.org/" + +if [[ ${PV} = *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git" + EGIT_BRANCH="master" +else + SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-cpp/tbb:= + dev-lang/ispc" +DEPEND="${RDEPEND}" diff --git a/media-libs/oidn/oidn-1.4.3.ebuild b/media-libs/oidn/oidn-1.4.3.ebuild new file mode 100644 index 0000000..91c7b0f --- /dev/null +++ b/media-libs/oidn/oidn-1.4.3.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake python-single-r1 + +DESCRIPTION="Intel(R) Open Image Denoise library" +HOMEPAGE="https://www.openimagedenoise.org/" + +if [[ ${PV} = *9999 ]]; then + EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-cpp/tbb:= + dev-lang/ispc" +DEPEND="${RDEPEND}" diff --git a/media-libs/oidn/oidn-2.1.0.ebuild b/media-libs/oidn/oidn-2.1.0.ebuild new file mode 100644 index 0000000..6f9b87d --- /dev/null +++ b/media-libs/oidn/oidn-2.1.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +LLVM_MAX_SLOT=17 +ROCM_VERSION=5.7 + +inherit cmake python-single-r1 llvm rocm + +DESCRIPTION="Intel(R) Open Image Denoise library" +HOMEPAGE="https://www.openimagedenoise.org/" + +if [[ ${PV} = *9999 ]]; then + EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( apps ) +" +IUSE="apps cuda hip test" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/tbb:= + dev-lang/ispc + cuda? ( dev-util/nvidia-cuda-toolkit ) + hip? ( dev-util/hip ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-2.1.0-amdgpu-targets.patch" +) + +src_prepare() { + if use hip; then + # https://bugs.gentoo.org/930391 + sed "/-Wno-unused-result/s:): --rocm-path=${EPREFIX}/usr/lib):" \ + -i devices/hip/CMakeLists.txt || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DOIDN_DEVICE_CUDA=$(usex cuda) + -DOIDN_DEVICE_HIP=$(usex hip) + -DOIDN_APPS=$(usex apps) + ) + + if use hip; then + mycmakeargs+=( + -DROCM_PATH="${EPREFIX}/usr" + -DOIDN_DEVICE_HIP_COMPILER="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++" + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + fi + + cmake_src_configure +} + +src_test() { + "${BUILD_DIR}"/oidnTest || die "There were test faliures!" +} + +src_install() { + cmake_src_install + + if use hip || use cuda ; then + # remove garbage in /var/tmp left by subprojects + rm -rf "${ED}"/var || die + fi +} diff --git a/media-libs/osl/Manifest b/media-libs/osl/Manifest new file mode 100644 index 0000000..8cb2a29 --- /dev/null +++ b/media-libs/osl/Manifest @@ -0,0 +1 @@ +DIST osl-1.13.12.0.tar.gz 21824352 BLAKE2B 0d5c1d166afc347a515187c34d60c0a2be99e8a1b7078a388190f2232ee545654e3c1fea829dfabb7b0a105d69d3d98cc5dae4fa8f4db1a2228f9f258b34e76b SHA512 152a1b085c4ea88c86bc0ccbd694b848b9f50bd91f1a165899c2c3999042e413e54cdfb83dd90ea23daeeb2a3b65f794b8b2c19e9629bbda266971dcd6e3b5e7 diff --git a/media-libs/osl/files/osl-1.12.14.0-libfmt11.patch b/media-libs/osl/files/osl-1.12.14.0-libfmt11.patch new file mode 100644 index 0000000..6b0d7ca --- /dev/null +++ b/media-libs/osl/files/osl-1.12.14.0-libfmt11.patch @@ -0,0 +1,431 @@ +From 62ab57dcaa96587c9c7d014571c4b83da1181090 Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Mon, 13 Mar 2023 09:58:11 -0700 +Subject: [PATCH] oslc: simple constant folding of binary expressions on the + oslc side + +The runtime optimization does a great job of constant folding, and +we'd pushed it there because, with instance parameter values and +shader network connections known, it can find so much more opportunity +to optimize than we could in oslc. + +However, there is one pesky problem, which is that shader parameters +that are initialized to even simple expressions such as 3+1 end up +with "init ops", which although later constant folded by the time the +shader is JITed, make it impossible to know the value via OSLQuery. + +So this patch just takes the simplest cases -- certain `int OP int` +and `float OP float` expressions involving literal constants, and +performs the operation as it's parsing the code. So + + int val = 3 + 1; + +actually just immediately is turned into `val = 4` instead of making +an "add". + +To reiterate, the add would never have happened while executing the +shader -- at runtime in the renderer, when it's time to optimize and +JIT the shader, it would know it's a constant 4 value. This is +strictly about making oslc directly output an .oso file that knows +that parameter `val` has default value 4 instead of throwing up its +hands and saying "it's math code that will be evaluated later." + +Signed-off-by: Larry Gritz +--- + src/cmake/testing.cmake | 1 + + src/liboslcomp/ast.cpp | 63 +++++++++++++++++++++++ + src/liboslcomp/ast.h | 4 ++ + src/liboslcomp/oslgram.y | 36 +++++++------- + testsuite/oslc-literalfold/ref/out.txt | 28 +++++++++++ + testsuite/oslc-literalfold/run.py | 7 +++ + testsuite/oslc-literalfold/test.osl | 69 ++++++++++++++++++++++++++ + 7 files changed, 190 insertions(+), 18 deletions(-) + create mode 100644 testsuite/oslc-literalfold/ref/out.txt + create mode 100755 testsuite/oslc-literalfold/run.py + create mode 100644 testsuite/oslc-literalfold/test.osl + +diff --git a/src/cmake/testing.cmake b/src/cmake/testing.cmake +index 0ae2c200e..3ce6f2a3d 100644 +--- a/src/cmake/testing.cmake ++++ b/src/cmake/testing.cmake +@@ -299,6 +299,7 @@ macro (osl_add_all_tests) + oslc-err-struct-dup oslc-err-struct-print + oslc-err-type-as-variable + oslc-err-unknown-ctr ++ oslc-literalfold + oslc-pragma-warnerr + oslc-warn-commainit + oslc-variadic-macro +diff --git a/src/liboslcomp/ast.cpp b/src/liboslcomp/ast.cpp +index 0ae74db48..74873e1c1 100644 +--- a/src/liboslcomp/ast.cpp ++++ b/src/liboslcomp/ast.cpp +@@ -1187,6 +1187,69 @@ ASTbinary_expression::ASTbinary_expression(OSLCompilerImpl* comp, Operator op, + + + ++ASTNode* ++ASTbinary_expression::make(OSLCompilerImpl* comp, Operator op, ASTNode* left, ++ ASTNode* right) ++{ ++ // If the left and right are both literal constants, fold the expression ++ if (left->nodetype() == literal_node && right->nodetype() == literal_node) { ++ ASTNode* cf = nullptr; // constant-folded result ++ if (left->typespec().is_int() && right->typespec().is_int()) { ++ int lv = dynamic_cast(left)->intval(); ++ int rv = dynamic_cast(right)->intval(); ++ switch (op) { ++ case Mul: cf = new ASTliteral(comp, lv * rv); break; ++ case Div: cf = new ASTliteral(comp, rv ? lv / rv : 0); break; ++ case Add: cf = new ASTliteral(comp, lv + rv); break; ++ case Sub: cf = new ASTliteral(comp, lv - rv); break; ++ case Mod: cf = new ASTliteral(comp, rv ? lv % rv : 0); break; ++ case Equal: cf = new ASTliteral(comp, lv == rv ? 1 : 0); break; ++ case NotEqual: cf = new ASTliteral(comp, lv != rv ? 1 : 0); break; ++ case Greater: cf = new ASTliteral(comp, lv > rv ? 1 : 0); break; ++ case Less: cf = new ASTliteral(comp, lv < rv ? 1 : 0); break; ++ case GreaterEqual: ++ cf = new ASTliteral(comp, lv >= rv ? 1 : 0); ++ break; ++ case LessEqual: cf = new ASTliteral(comp, lv <= rv ? 1 : 0); break; ++ case BitAnd: cf = new ASTliteral(comp, lv & rv); break; ++ case BitOr: cf = new ASTliteral(comp, lv | rv); break; ++ case Xor: cf = new ASTliteral(comp, lv ^ rv); break; ++ case ShiftLeft: cf = new ASTliteral(comp, lv << rv); break; ++ case ShiftRight: cf = new ASTliteral(comp, lv >> rv); break; ++ default: break; ++ } ++ } else if (left->typespec().is_float() ++ && right->typespec().is_float()) { ++ float lv = dynamic_cast(left)->floatval(); ++ float rv = dynamic_cast(right)->floatval(); ++ switch (op) { ++ case Mul: cf = new ASTliteral(comp, lv * rv); break; ++ case Div: cf = new ASTliteral(comp, rv ? lv / rv : 0.0f); break; ++ case Add: cf = new ASTliteral(comp, lv + rv); break; ++ case Sub: cf = new ASTliteral(comp, lv - rv); break; ++ case Equal: cf = new ASTliteral(comp, lv == rv ? 1 : 0); break; ++ case NotEqual: cf = new ASTliteral(comp, lv != rv ? 1 : 0); break; ++ case Greater: cf = new ASTliteral(comp, lv > rv ? 1 : 0); break; ++ case Less: cf = new ASTliteral(comp, lv < rv ? 1 : 0); break; ++ case GreaterEqual: ++ cf = new ASTliteral(comp, lv >= rv ? 1 : 0); ++ break; ++ case LessEqual: cf = new ASTliteral(comp, lv <= rv ? 1 : 0); break; ++ default: break; ++ } ++ } ++ if (cf) { ++ delete left; ++ delete right; ++ return cf; ++ } ++ } ++ ++ return new ASTbinary_expression(comp, op, left, right); ++} ++ ++ ++ + const char* + ASTbinary_expression::childname(size_t i) const + { +diff --git a/src/liboslcomp/ast.h b/src/liboslcomp/ast.h +index db9bd14e5..f4bd2eeec 100644 +--- a/src/liboslcomp/ast.h ++++ b/src/liboslcomp/ast.h +@@ -832,6 +832,10 @@ class ASTbinary_expression final : public ASTNode { + ASTbinary_expression(OSLCompilerImpl* comp, Operator op, ASTNode* left, + ASTNode* right); + ++ // Special consructor wrapper that can collapse ops between literals ++ static ASTNode* make(OSLCompilerImpl* comp, Operator op, ASTNode* left, ++ ASTNode* right); ++ + const char* nodetypename() const { return "binary_expression"; } + const char* childname(size_t i) const; + const char* opname() const; +diff --git a/src/liboslcomp/oslgram.y b/src/liboslcomp/oslgram.y +index b65818193..b4f3ad2e1 100644 +--- a/src/liboslcomp/oslgram.y ++++ b/src/liboslcomp/oslgram.y +@@ -858,109 +858,109 @@ variable_ref + binary_expression + : expression OR_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Or, $1, $3); + $$->sourceline (@2.first_line); + } + | expression AND_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::And, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '|' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::BitOr, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '^' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Xor, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '&' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::BitAnd, $1, $3); + $$->sourceline (@2.first_line); + } + | expression EQ_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Equal, $1, $3); + $$->sourceline (@2.first_line); + } + | expression NE_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::NotEqual, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '>' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Greater, $1, $3); + $$->sourceline (@2.first_line); + } + | expression GE_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::GreaterEqual, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '<' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Less, $1, $3); + $$->sourceline (@2.first_line); + } + | expression LE_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::LessEqual, $1, $3); + $$->sourceline (@2.first_line); + } + | expression SHL_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::ShiftLeft, $1, $3); + $$->sourceline (@2.first_line); + } + | expression SHR_OP expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::ShiftRight, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '+' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Add, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '-' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Sub, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '*' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Mul, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '/' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Div, $1, $3); + $$->sourceline (@2.first_line); + } + | expression '%' expression + { +- $$ = new ASTbinary_expression (oslcompiler, ++ $$ = ASTbinary_expression::make(oslcompiler, + ASTNode::Mod, $1, $3); + $$->sourceline (@2.first_line); + } +diff --git a/testsuite/oslc-literalfold/ref/out.txt b/testsuite/oslc-literalfold/ref/out.txt +new file mode 100644 +index 000000000..9397357ff +--- /dev/null ++++ b/testsuite/oslc-literalfold/ref/out.txt +@@ -0,0 +1,28 @@ ++Compiled test.osl -> test.oso ++int add_i = 8 ++int sub_i = 2 ++int mul_i = 15 ++int div_i = 1 ++int mod_i = 2 ++int eq_i = 0 ++int ne_i = 1 ++int gt_i = 1 ++int ge_i = 1 ++int lt_i = 0 ++int le_i = 0 ++int and_i = 1 ++int or_i = 7 ++int xor_i = 6 ++int shl_i = 40 ++int shr_i = 0 ++float add_f = 8.000000 ++float sub_f = 2.000000 ++float mul_f = 15.000000 ++float div_f = 1.666667 ++float eq_f = 0 ++float ne_f = 1 ++float gt_f = 1 ++float ge_f = 1 ++float lt_f = 0 ++float le_f = 0 ++ +diff --git a/testsuite/oslc-literalfold/run.py b/testsuite/oslc-literalfold/run.py +new file mode 100755 +index 000000000..6836d5554 +--- /dev/null ++++ b/testsuite/oslc-literalfold/run.py +@@ -0,0 +1,7 @@ ++#!/usr/bin/env python ++ ++# Copyright Contributors to the Open Shading Language project. ++# SPDX-License-Identifier: BSD-3-Clause ++# https://github.com/AcademySoftwareFoundation/OpenShadingLanguage ++ ++command = testshade("test") +diff --git a/testsuite/oslc-literalfold/test.osl b/testsuite/oslc-literalfold/test.osl +new file mode 100644 +index 000000000..0f1b09e36 +--- /dev/null ++++ b/testsuite/oslc-literalfold/test.osl +@@ -0,0 +1,69 @@ ++// Copyright Contributors to the Open Shading Language project. ++// SPDX-License-Identifier: BSD-3-Clause ++// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage ++ ++// Test oslc-side constant folding of simple binary operators on literal ++// values ++ ++#define three 3 ++#define five 5 ++ ++ ++shader test( ++ int add_i = five + three, ++ int sub_i = five - three, ++ int mul_i = five * three, ++ int div_i = five / three, ++ int mod_i = five % three, ++ int eq_i = five == three, ++ int ne_i = five != three, ++ int gt_i = five > three, ++ int ge_i = five >= three, ++ int lt_i = five < three, ++ int le_i = five <= three, ++ int and_i = five & three, ++ int or_i = five | three, ++ int xor_i = five ^ three, ++ int shl_i = five << three, ++ int shr_i = five >> three, ++ ++ float add_f = float(five) + float(three), ++ float sub_f = float(five) - float(three), ++ float mul_f = float(five) * float(three), ++ float div_f = float(five) / float(three), ++ int eq_f = float(five) == float(three), ++ int ne_f = float(five) != float(three), ++ int gt_f = float(five) > float(three), ++ int ge_f = float(five) >= float(three), ++ int lt_f = float(five) < float(three), ++ int le_f = float(five) <= float(three), ++) ++{ ++ printf("int add_i = %d\n", add_i); ++ printf("int sub_i = %d\n", sub_i); ++ printf("int mul_i = %d\n", mul_i); ++ printf("int div_i = %d\n", div_i); ++ printf("int mod_i = %d\n", mod_i); ++ printf("int eq_i = %d\n", eq_i); ++ printf("int ne_i = %d\n", ne_i); ++ printf("int gt_i = %d\n", gt_i); ++ printf("int ge_i = %d\n", ge_i); ++ printf("int lt_i = %d\n", lt_i); ++ printf("int le_i = %d\n", le_i); ++ printf("int and_i = %d\n", and_i); ++ printf("int or_i = %d\n", or_i); ++ printf("int xor_i = %d\n", xor_i); ++ printf("int shl_i = %d\n", shl_i); ++ printf("int shr_i = %d\n", shr_i); ++ ++ printf("float add_f = %f\n", add_f); ++ printf("float sub_f = %f\n", sub_f); ++ printf("float mul_f = %f\n", mul_f); ++ printf("float div_f = %f\n", div_f); ++ printf("float eq_f = %d\n", eq_f); ++ printf("float ne_f = %d\n", ne_f); ++ printf("float gt_f = %d\n", gt_f); ++ printf("float ge_f = %d\n", ge_f); ++ printf("float lt_f = %d\n", lt_f); ++ printf("float le_f = %d\n", le_f); ++} +From 977f2898b10b9688c4bd65260884e1e477d29806 Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Sun, 20 Aug 2023 21:36:59 -0700 +Subject: [PATCH] fix: Recent journaling changes break with some fmtlib + versions + +Certain fmt library versions don't automatically know how to format +atomics. Explicitly load them to turn into regular ints to avoid new +build errors introduced by the recent journaling changes. + +Signed-off-by: Larry Gritz +--- + .github/workflows/ci.yml | 2 +- + src/liboslcomp/ast.cpp | 2 +- + src/liboslexec/journal.cpp | 6 +++--- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/liboslcomp/ast.cpp b/src/liboslcomp/ast.cpp +index 74873e1c1..a8e5d75e4 100644 +--- a/src/liboslcomp/ast.cpp ++++ b/src/liboslcomp/ast.cpp +@@ -46,7 +46,7 @@ ScopeExit print_node_counts([]() { + for (int i = 0; i < ASTNode::_last_node; ++i) + if (node_counts[i] > 0) + Strutil::print("ASTNode type {:2}: {:5} (peak {:5})\n", i, +- node_counts[i], node_counts_peak[i]); ++ node_counts[i].load(), node_counts_peak[i].load()); + }); + } // namespace + #endif diff --git a/media-libs/osl/files/osl-1.12.14.0-m_dz.patch b/media-libs/osl/files/osl-1.12.14.0-m_dz.patch new file mode 100644 index 0000000..fb50c53 --- /dev/null +++ b/media-libs/osl/files/osl-1.12.14.0-m_dz.patch @@ -0,0 +1,23 @@ +From f8b8242f26a7d4676cf8e5e195f3b6ba0335bcfc Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Mon, 23 Sep 2024 12:35:36 -0700 +Subject: [PATCH] fix: Typo in dual.h made invalid template DualStorage + +Signed-off-by: Larry Gritz +--- + src/include/OSL/dual.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/include/OSL/dual.h b/src/include/OSL/dual.h +index a7b5e4063..60ec05ee8 100644 +--- a/src/include/OSL/dual.h ++++ b/src/include/OSL/dual.h +@@ -204,7 +204,7 @@ class DualStorage + : m_val(other.m_val) + , m_dx(other.m_dx) + , m_dy(other.m_dy) +- , m_dz(other.dz) ++ , m_dz(other.m_dz) + {} + + OSL_HOSTDEVICE constexpr const T& elem (ConstIndex<0>) const { return m_val; } diff --git a/media-libs/osl/files/osl-boost-config.patch b/media-libs/osl/files/osl-boost-config.patch new file mode 100644 index 0000000..0c0f3bb --- /dev/null +++ b/media-libs/osl/files/osl-boost-config.patch @@ -0,0 +1,22 @@ +From 8a29f2263675bf9cb7a567f00fc257728b3ac3d8 Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Thu, 9 Jan 2025 19:49:15 +0100 +Subject: [PATCH] boost config + +Signed-off-by: Paul Zander + +diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +index 7250633..1f032f8 100644 +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -57,6 +57,7 @@ else () + checked_find_package (Boost REQUIRED + VERSION_MIN 1.55 + COMPONENTS ${Boost_COMPONENTS} ++ CONFIG + RECOMMEND_MIN 1.66 + RECOMMEND_MIN_REASON "Boost 1.66 is the oldest version our CI tests against" + PRINT Boost_INCLUDE_DIRS Boost_LIBRARIES +-- +2.47.1 + diff --git a/media-libs/osl/files/osl-include-cstdint.patch b/media-libs/osl/files/osl-include-cstdint.patch new file mode 100644 index 0000000..efaa2f8 --- /dev/null +++ b/media-libs/osl/files/osl-include-cstdint.patch @@ -0,0 +1,20 @@ +--- a/src/include/OSL/platform.h ++++ b/src/include/OSL/platform.h +@@ -18,6 +18,7 @@ + + #pragma once + ++#include + #include + #include + +--- a/src/include/osl_pvt.h ++++ b/src/include/osl_pvt.h +@@ -4,6 +4,7 @@ + + #pragma once + ++#include + #include + + #include diff --git a/media-libs/osl/files/osl-oslfile.patch b/media-libs/osl/files/osl-oslfile.patch new file mode 100644 index 0000000..76e985c --- /dev/null +++ b/media-libs/osl/files/osl-oslfile.patch @@ -0,0 +1,26 @@ +From 9abc5d56c8ae830355a10d6008b5925faef30af2 Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Thu, 9 Jan 2025 19:59:01 +0100 +Subject: [PATCH] oslsrc + +This was snuck in via +https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/1914 + +Signed-off-by: Paul Zander + +diff --git a/src/shaders/CMakeLists.txt b/src/shaders/CMakeLists.txt +index 1ea7bee..e96207d 100644 +--- a/src/shaders/CMakeLists.txt ++++ b/src/shaders/CMakeLists.txt +@@ -40,7 +40,7 @@ macro (oslc_compile) + list (APPEND oslc_args "-I${CMAKE_SOURCE_DIR}/src/shaders") + add_custom_command (OUTPUT ${osofile} + COMMAND oslc ${oslc_args} "${oslfile}" -o "${osofile}" +- MAIN_DEPENDENCY ${oslsrc} ++ MAIN_DEPENDENCY ${oslfile} + DEPENDS ${_shader_DEPENDS} "${stdosl_header}" oslc + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "oslc ${oslsrc_we}") +-- +2.47.1 + diff --git a/media-libs/osl/metadata.xml b/media-libs/osl/metadata.xml new file mode 100644 index 0000000..a62fb42 --- /dev/null +++ b/media-libs/osl/metadata.xml @@ -0,0 +1,27 @@ + + + + + negril.nx+gentoo@gmail.com + Paul Zander + + + proxy-maint@gentoo.org + Proxy Maintainers + + + A small but rich language for programmable shading in advanced + renderers and other applications, ideal for describing materials, + lights, displacement, and pattern generation. + + + Build the osltoy binary + Build against llvm-runtimes/libcxx when using clang + Do not use Fuse-Multiply-Add operations + Add support for NVIDIA's OptiX Raytracing Engine + Use media-libs/partio + + + AcademySoftwareFoundation/OpenShadingLanguage + + diff --git a/media-libs/osl/osl-1.13.12.0-r1.ebuild b/media-libs/osl/osl-1.13.12.0-r1.ebuild new file mode 100644 index 0000000..e5a0a81 --- /dev/null +++ b/media-libs/osl/osl-1.13.12.0-r1.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +# Check this on updates +LLVM_COMPAT=( 20 ) + +inherit cmake cuda flag-o-matic llvm-r1 toolchain-funcs python-single-r1 + +DESCRIPTION="Advanced shading language for production GI renderers" +HOMEPAGE="https://www.imageworks.com/technology/opensource https://github.com/AcademySoftwareFoundation/OpenShadingLanguage" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/AcademySoftwareFoundation/OpenShadingLanguage.git" +else + # If a development release, please don't keyword! + SRC_URI="https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" + S="${WORKDIR}/OpenShadingLanguage-${PV}" +fi + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" # based on SONAME + +X86_CPU_FEATURES=( + sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2 + avx:avx avx2:avx2 avx512f:avx512f f16c:f16c +) +CPU_FEATURES=( "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" ) + +IUSE="debug doc gui libcxx nofma optix partio test ${CPU_FEATURES[*]%:*} python" + +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# TODO optix +RDEPEND=" + dev-libs/boost:= + dev-libs/pugixml + >=media-libs/openimageio-2.4:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + optix? ( dev-libs/optix[-headers-only] ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pybind11[${PYTHON_USEDEP}] + media-libs/openimageio[python,${PYTHON_SINGLE_USEDEP}] + ') + ) + partio? ( media-libs/partio ) + gui? ( + dev-qt/qtbase:6[gui,widgets,opengl] + ) +" + +DEPEND="${RDEPEND} + dev-util/patchelf + >=media-libs/openexr-3 + sys-libs/zlib + test? ( + media-fonts/droid + ) +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-boost-config.patch" + "${FILESDIR}/${PN}-oslfile.patch" + "${FILESDIR}/${PN}-include-cstdint.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if use optix; then + cuda_src_prepare + cuda_add_sandbox -w + fi + + sed -e "/^install.*llvm_macros.cmake.*cmake/d" -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/875836 + # https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/1810 + filter-lto + + # pick the highest we support + local mysimd=() + if use cpu_flags_x86_avx512f; then + mysimd+=( avx512f ) + elif use cpu_flags_x86_avx2 ; then + mysimd+=( avx2 ) + if use cpu_flags_x86_f16c ; then + mysimd+=( f16c ) + fi + elif use cpu_flags_x86_avx ; then + mysimd+=( avx ) + elif use cpu_flags_x86_sse4_2 ; then + mysimd+=( sse4.2 ) + elif use cpu_flags_x86_sse4_1 ; then + mysimd+=( sse4.1 ) + elif use cpu_flags_x86_ssse3 ; then + mysimd+=( ssse3 ) + elif use cpu_flags_x86_sse3 ; then + mysimd+=( sse3 ) + elif use cpu_flags_x86_sse2 ; then + mysimd+=( sse2 ) + fi + + local mybatched=() + if use cpu_flags_x86_avx512f || use cpu_flags_x86_avx2 ; then + if use cpu_flags_x86_avx512f ; then + if use nofma; then + mybatched+=( + "b8_AVX512_noFMA" + "b16_AVX512_noFMA" + ) + fi + mybatched+=( + "b8_AVX512" + "b16_AVX512" + ) + fi + if use cpu_flags_x86_avx2 ; then + if use nofma; then + mybatched+=( + "b8_AVX2_noFMA" + ) + fi + mybatched+=( + "b8_AVX2" + ) + fi + fi + if use cpu_flags_x86_avx ; then + mybatched+=( + "b8_AVX" + ) + fi + + # If no CPU SIMDs were used, completely disable them + [[ -z "${mysimd[*]}" ]] && mysimd=("0") + [[ -z "${mybatched[*]}" ]] && mybatched=("0") + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + # Even if there are no SIMD features selected, it seems like the code will turn on NEON support if it is available. + use arm64 && append-flags -flax-vector-conversions + + local gcc + gcc="$(tc-getCC)" + + local mycmakeargs=( + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # BUG FindCUDA + + # std::tuple_size_v is c++17 + -DCMAKE_CXX_STANDARD="17" + + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + -DINSTALL_DOCS="$(usex doc)" + -DUSE_CCACHE="no" + -DLLVM_STATIC="no" + -DOSL_BUILD_TESTS="$(usex test)" + -DSTOP_ON_WARNING="no" + -DUSE_PARTIO="$(usex partio)" + -DUSE_PYTHON="$(usex python)" + -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")" + -DUSE_BATCHED="$(IFS=","; echo "${mybatched[*]}")" + -DUSE_LIBCPLUSPLUS="$(usex libcxx)" + -DOSL_USE_OPTIX="$(usex optix)" + -DUSE_QT="$(usex gui)" + + -DOpenImageIO_ROOT="${EPREFIX}/usr" + ) + + if use debug; then + mycmakeargs+=( + -DVEC_REPORT="yes" + ) + fi + + if use optix; then + mycmakeargs+=( + -DOptiX_FIND_QUIETLY="no" + -DCUDA_FIND_QUIETLY="no" + + -DOPTIXHOME="${EPREFIX}/opt/optix" + -DCUDA_TOOLKIT_ROOT_DIR="${EPREFIX}/opt/cuda" + + -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)" + -DOSL_EXTRA_NVCC_ARGS="--compiler-bindir;$(cuda_gccdir)" + -DCUDA_VERBOSE_BUILD="yes" + ) + fi + + if use partio; then + mycmakeargs+=( + -Dpartio_DIR="${EPREFIX}/usr" + ) + fi + + if use python; then + mycmakeargs+=( + "-DPYTHON_VERSION=${EPYTHON#python}" + "-DPYTHON_SITE_DIR=$(python_get_sitedir)" + ) + fi + + cmake_src_configure +} + +src_test() { + # A bunch of tests only work when installed. + # So install them into the temp directory now. + DESTDIR="${T}" cmake_build install + + ln -s "${CMAKE_USE_DIR}/src/cmake/" "${BUILD_DIR}/src/cmake" || die + + if use optix; then + cp \ + "${BUILD_DIR}/src/liboslexec/shadeops_cuda.ptx" \ + "${BUILD_DIR}/src/testrender/"{optix_raytracer,quad,rend_lib_testrender,sphere,wrapper}".ptx" \ + "${BUILD_DIR}/src/testshade/"{optix_grid_renderer,rend_lib_testshade}".ptx" \ + "${BUILD_DIR}/bin/" || die + + # NOTE this should go to cuda eclass + addwrite /dev/nvidiactl + addwrite /dev/nvidia0 + addwrite /dev/nvidia-uvm + addwrite /dev/nvidia-caps + addwrite "/dev/char/" + fi + + CMAKE_SKIP_TESTS=( + "-broken$" + "^render" + + # broken with in-tree <=dev-libs/optix-7.5.0 and out of date + "^example-cuda$" + + # outright fail + "^testoptix.optix.opt$" + "^testoptix-noise.optix.opt$" + "^testoptix-reparam.optix.opt$" + "^transform-reg.regress.batched.opt$" + "^spline-reg.regress.batched.opt$" + + # doesn't handle parameters + "^osl-imageio$" + "^osl-imageio.opt$" + "^osl-imageio.opt.rs_bitcode$" + ) + + if use optix; then + CMAKE_SKIP_TESTS+=( + "^color2.optix$" + "^color4.optix(|.opt|.fused)$" + "^vector2.optix$" + "^vector4.optix$" + ) + fi + + myctestargs=( + # src/build-scripts/ci-test.bash + '--force-new-ctest-process' + ) + + local -x DEBUG CXXFLAGS LD_LIBRARY_PATH DIR OSL_DIR OSL_SOURCE_DIR PYTHONPATH + DEBUG=1 # doubles the floating point tolerance so we avoid FMA related issues + CXXFLAGS="-I${T}/usr/include" + LD_LIBRARY_PATH="${T}/usr/$(get_libdir)" + OSL_DIR="${T}/usr/$(get_libdir)/cmake/OSL" + OSL_SOURCE_DIR="${S}" + + if use python; then + PYTHONPATH="${BUILD_DIR}/lib/python/site-packages" + fi + + cmake_src_test + + einfo "" + einfo "testing render tests in isolation" + einfo "" + + CMAKE_SKIP_TESTS=( + "^render-background$" + "^render-mx-furnace-sheen$" + "^render-mx-burley-diffuse$" + "^render-mx-conductor$" + "^render-microfacet$" + "^render-veachmis$" + "^render-ward$" + "^render-raytypes.opt$" + "^render-raytypes.opt.rs_bitcode$" + ) + + myctestargs=( + # src/build-scripts/ci-test.bash + '--force-new-ctest-process' + --repeat until-pass:10 + -R "^render" + ) + + cmake_src_test +} + +src_install() { + cmake_src_install + + if [[ -d "${ED}/usr/build-scripts" ]]; then + rm -vr "${ED}/usr/build-scripts" || die + fi + + if use test; then + rm \ + "${ED}/usr/bin/test"{render,shade{,_dso}} \ + "${ED}/usr/$(get_libdir)/libtestshade.so"* \ + || die + fi + + if use amd64; then + find "${ED}/usr/$(get_libdir)" -type f -name 'lib_*_oslexec.so' -print0 \ + | while IFS= read -r -d $'\0' batched_lib; do + patchelf --set-soname "$(basename "${batched_lib}")" "${batched_lib}" || die + done + fi +} diff --git a/media-libs/osl/osl-9999.ebuild b/media-libs/osl/osl-9999.ebuild new file mode 100644 index 0000000..e5a0a81 --- /dev/null +++ b/media-libs/osl/osl-9999.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +# Check this on updates +LLVM_COMPAT=( 20 ) + +inherit cmake cuda flag-o-matic llvm-r1 toolchain-funcs python-single-r1 + +DESCRIPTION="Advanced shading language for production GI renderers" +HOMEPAGE="https://www.imageworks.com/technology/opensource https://github.com/AcademySoftwareFoundation/OpenShadingLanguage" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/AcademySoftwareFoundation/OpenShadingLanguage.git" +else + # If a development release, please don't keyword! + SRC_URI="https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" + S="${WORKDIR}/OpenShadingLanguage-${PV}" +fi + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" # based on SONAME + +X86_CPU_FEATURES=( + sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2 + avx:avx avx2:avx2 avx512f:avx512f f16c:f16c +) +CPU_FEATURES=( "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" ) + +IUSE="debug doc gui libcxx nofma optix partio test ${CPU_FEATURES[*]%:*} python" + +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# TODO optix +RDEPEND=" + dev-libs/boost:= + dev-libs/pugixml + >=media-libs/openimageio-2.4:= + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + optix? ( dev-libs/optix[-headers-only] ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pybind11[${PYTHON_USEDEP}] + media-libs/openimageio[python,${PYTHON_SINGLE_USEDEP}] + ') + ) + partio? ( media-libs/partio ) + gui? ( + dev-qt/qtbase:6[gui,widgets,opengl] + ) +" + +DEPEND="${RDEPEND} + dev-util/patchelf + >=media-libs/openexr-3 + sys-libs/zlib + test? ( + media-fonts/droid + ) +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-boost-config.patch" + "${FILESDIR}/${PN}-oslfile.patch" + "${FILESDIR}/${PN}-include-cstdint.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if use optix; then + cuda_src_prepare + cuda_add_sandbox -w + fi + + sed -e "/^install.*llvm_macros.cmake.*cmake/d" -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/875836 + # https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/1810 + filter-lto + + # pick the highest we support + local mysimd=() + if use cpu_flags_x86_avx512f; then + mysimd+=( avx512f ) + elif use cpu_flags_x86_avx2 ; then + mysimd+=( avx2 ) + if use cpu_flags_x86_f16c ; then + mysimd+=( f16c ) + fi + elif use cpu_flags_x86_avx ; then + mysimd+=( avx ) + elif use cpu_flags_x86_sse4_2 ; then + mysimd+=( sse4.2 ) + elif use cpu_flags_x86_sse4_1 ; then + mysimd+=( sse4.1 ) + elif use cpu_flags_x86_ssse3 ; then + mysimd+=( ssse3 ) + elif use cpu_flags_x86_sse3 ; then + mysimd+=( sse3 ) + elif use cpu_flags_x86_sse2 ; then + mysimd+=( sse2 ) + fi + + local mybatched=() + if use cpu_flags_x86_avx512f || use cpu_flags_x86_avx2 ; then + if use cpu_flags_x86_avx512f ; then + if use nofma; then + mybatched+=( + "b8_AVX512_noFMA" + "b16_AVX512_noFMA" + ) + fi + mybatched+=( + "b8_AVX512" + "b16_AVX512" + ) + fi + if use cpu_flags_x86_avx2 ; then + if use nofma; then + mybatched+=( + "b8_AVX2_noFMA" + ) + fi + mybatched+=( + "b8_AVX2" + ) + fi + fi + if use cpu_flags_x86_avx ; then + mybatched+=( + "b8_AVX" + ) + fi + + # If no CPU SIMDs were used, completely disable them + [[ -z "${mysimd[*]}" ]] && mysimd=("0") + [[ -z "${mybatched[*]}" ]] && mybatched=("0") + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + # Even if there are no SIMD features selected, it seems like the code will turn on NEON support if it is available. + use arm64 && append-flags -flax-vector-conversions + + local gcc + gcc="$(tc-getCC)" + + local mycmakeargs=( + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # BUG FindCUDA + + # std::tuple_size_v is c++17 + -DCMAKE_CXX_STANDARD="17" + + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + -DINSTALL_DOCS="$(usex doc)" + -DUSE_CCACHE="no" + -DLLVM_STATIC="no" + -DOSL_BUILD_TESTS="$(usex test)" + -DSTOP_ON_WARNING="no" + -DUSE_PARTIO="$(usex partio)" + -DUSE_PYTHON="$(usex python)" + -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")" + -DUSE_BATCHED="$(IFS=","; echo "${mybatched[*]}")" + -DUSE_LIBCPLUSPLUS="$(usex libcxx)" + -DOSL_USE_OPTIX="$(usex optix)" + -DUSE_QT="$(usex gui)" + + -DOpenImageIO_ROOT="${EPREFIX}/usr" + ) + + if use debug; then + mycmakeargs+=( + -DVEC_REPORT="yes" + ) + fi + + if use optix; then + mycmakeargs+=( + -DOptiX_FIND_QUIETLY="no" + -DCUDA_FIND_QUIETLY="no" + + -DOPTIXHOME="${EPREFIX}/opt/optix" + -DCUDA_TOOLKIT_ROOT_DIR="${EPREFIX}/opt/cuda" + + -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)" + -DOSL_EXTRA_NVCC_ARGS="--compiler-bindir;$(cuda_gccdir)" + -DCUDA_VERBOSE_BUILD="yes" + ) + fi + + if use partio; then + mycmakeargs+=( + -Dpartio_DIR="${EPREFIX}/usr" + ) + fi + + if use python; then + mycmakeargs+=( + "-DPYTHON_VERSION=${EPYTHON#python}" + "-DPYTHON_SITE_DIR=$(python_get_sitedir)" + ) + fi + + cmake_src_configure +} + +src_test() { + # A bunch of tests only work when installed. + # So install them into the temp directory now. + DESTDIR="${T}" cmake_build install + + ln -s "${CMAKE_USE_DIR}/src/cmake/" "${BUILD_DIR}/src/cmake" || die + + if use optix; then + cp \ + "${BUILD_DIR}/src/liboslexec/shadeops_cuda.ptx" \ + "${BUILD_DIR}/src/testrender/"{optix_raytracer,quad,rend_lib_testrender,sphere,wrapper}".ptx" \ + "${BUILD_DIR}/src/testshade/"{optix_grid_renderer,rend_lib_testshade}".ptx" \ + "${BUILD_DIR}/bin/" || die + + # NOTE this should go to cuda eclass + addwrite /dev/nvidiactl + addwrite /dev/nvidia0 + addwrite /dev/nvidia-uvm + addwrite /dev/nvidia-caps + addwrite "/dev/char/" + fi + + CMAKE_SKIP_TESTS=( + "-broken$" + "^render" + + # broken with in-tree <=dev-libs/optix-7.5.0 and out of date + "^example-cuda$" + + # outright fail + "^testoptix.optix.opt$" + "^testoptix-noise.optix.opt$" + "^testoptix-reparam.optix.opt$" + "^transform-reg.regress.batched.opt$" + "^spline-reg.regress.batched.opt$" + + # doesn't handle parameters + "^osl-imageio$" + "^osl-imageio.opt$" + "^osl-imageio.opt.rs_bitcode$" + ) + + if use optix; then + CMAKE_SKIP_TESTS+=( + "^color2.optix$" + "^color4.optix(|.opt|.fused)$" + "^vector2.optix$" + "^vector4.optix$" + ) + fi + + myctestargs=( + # src/build-scripts/ci-test.bash + '--force-new-ctest-process' + ) + + local -x DEBUG CXXFLAGS LD_LIBRARY_PATH DIR OSL_DIR OSL_SOURCE_DIR PYTHONPATH + DEBUG=1 # doubles the floating point tolerance so we avoid FMA related issues + CXXFLAGS="-I${T}/usr/include" + LD_LIBRARY_PATH="${T}/usr/$(get_libdir)" + OSL_DIR="${T}/usr/$(get_libdir)/cmake/OSL" + OSL_SOURCE_DIR="${S}" + + if use python; then + PYTHONPATH="${BUILD_DIR}/lib/python/site-packages" + fi + + cmake_src_test + + einfo "" + einfo "testing render tests in isolation" + einfo "" + + CMAKE_SKIP_TESTS=( + "^render-background$" + "^render-mx-furnace-sheen$" + "^render-mx-burley-diffuse$" + "^render-mx-conductor$" + "^render-microfacet$" + "^render-veachmis$" + "^render-ward$" + "^render-raytypes.opt$" + "^render-raytypes.opt.rs_bitcode$" + ) + + myctestargs=( + # src/build-scripts/ci-test.bash + '--force-new-ctest-process' + --repeat until-pass:10 + -R "^render" + ) + + cmake_src_test +} + +src_install() { + cmake_src_install + + if [[ -d "${ED}/usr/build-scripts" ]]; then + rm -vr "${ED}/usr/build-scripts" || die + fi + + if use test; then + rm \ + "${ED}/usr/bin/test"{render,shade{,_dso}} \ + "${ED}/usr/$(get_libdir)/libtestshade.so"* \ + || die + fi + + if use amd64; then + find "${ED}/usr/$(get_libdir)" -type f -name 'lib_*_oslexec.so' -print0 \ + | while IFS= read -r -d $'\0' batched_lib; do + patchelf --set-soname "$(basename "${batched_lib}")" "${batched_lib}" || die + done + fi +} diff --git a/media-sound/helvum/Manifest b/media-sound/helvum/Manifest new file mode 100644 index 0000000..d0ea0ab --- /dev/null +++ b/media-sound/helvum/Manifest @@ -0,0 +1,144 @@ +DIST aho-corasick-1.0.4.crate 171175 BLAKE2B b3d450533f0799a18fa6ceba41ce841573a3b9fe9bc66745aba9b5a1ef4d86b107aa68c049bd30df7bc86229c71264142e40da8e1d145e776017269a01aed86e SHA512 7cb8feb3289a508b1345b3cc04b59f2f730b80f561b17c7605ce23bf92780b5b3714ec84f5e3c5f4ba0c3abd47ac44fd0064a8bf4c5a7d00bd580774c6a3aee8 +DIST aho-corasick-1.1.1.crate 182812 BLAKE2B df74c2cfa0ae392a8d466e370ba761c4cd37c65773affba9a3cdcf7f5797b34b4a25e1646be3de5081644b34db2dce273609edb4f18a1ce7fdbf31ac28a10b88 SHA512 a894e1cefbb63a3b7b78a3676874d0b7a507c27970f48cdfbda1e5deefbf6b20ed4271b660a12eea77b318cd2fa0f80850a0b1ddfe0d0731ffa326c0fc295692 +DIST anyhow-1.0.75.crate 43901 BLAKE2B 6353557d7ec2cbfdd001c039fad62c95fea9e02b113149f726fd14bb36b31e637e8609dd5ee20a900e9c11bb783d9958d664b31ba7c467382fa7f51d477ad3aa SHA512 190d6be8ede0af9808210db53e4dc31ce69b126a26b0357220c4705a11e83cab2c2c09c59964a35794f3c434f717eaa6bb669e9e8f16012535c14246b17e8d40 +DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f +DIST bindgen-0.66.1.crate 218860 BLAKE2B e0edc8dd6c14220ca223b5d2a5f2af93aa64ed32f4fedfabcca1b93e46d8e7a88b283c2e67070c71900e0dfc899fdf51e3931781575b25e40c8c1f4891905e35 SHA512 82ceed313f6b45d54745ec79040e4298ad29e3f600bf7e16a48e88c2d166204b14aabd919e8449548997f20a65400e74bb56abc511c0131b98ec1cc050411c6e +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c +DIST cairo-rs-0.18.0.crate 54153 BLAKE2B 37452643d0466d8f9b8c236158c0408d0d9ea6b34b151263211834439a716a051e98349cd437a5f4ff22ad232f63362cc5db623325a588d453f42edcfaef121a SHA512 b3e778aa275c510989dad43684293f60758e0770c7eaf0c12c1c641bbca1e410b011cd90e6b5f76ac1f8c3f1f18dae7643336b3ca316a191d1a3601163ceb9e6 +DIST cairo-rs-0.18.2.crate 54200 BLAKE2B 499551c1195174e59b314a0854bc01111521a4d9a60774f28e19f7cb3648204af3d71c57464710891f4b1f2cb787b003ef9d8956ea94fa6350e5e48f3b5e752b SHA512 2343429c6ac03068db66e12429e462ae07157b7850175d5a03db261bf36ff518032a87a3a88c7ab60544d53a45e07f143342e8e4121b8ee0ff0620ddd1df8d7a +DIST cairo-sys-rs-0.18.0.crate 11803 BLAKE2B b7358bfb19b846e619dc57544f342e5f8a5a5a5d2d0b19368e6d03375141176961c6a8780906c2a218970513525a7f7eab71348b5f09578d3c509f5f5f1038fc SHA512 e5d86d1c2d9825f3c69b194bd8068b8db61a125a9c8646d7b56859417176692188a1f9f40228ff7ac2836b16e49bac5ce5ea762928c872cd4c3aa14ec8029568 +DIST cairo-sys-rs-0.18.2.crate 11855 BLAKE2B da237a944a6eed675b6812bf8a71f99354c0c41302d222cc0ddf38e47d612d6c49754cb8854c92dbc62d32de5f716bc869cc874949b62c2ac4736104c5996144 SHA512 b101f7a2543793fbc1a1cf86c62a8fa404ce171160603e72f9aae3592736e4d68ae53b8ad91aa8d70e21965d263dc740f96fe001bb049674b4efee1039d3d68a +DIST cc-1.0.82.crate 67879 BLAKE2B 3b06cbe1516d4fe8291e1543b09d32d39a135c2352e545b64bc69fc82a40128a9b1291f20bd4cac6a3c37d9466093f8b63cae20663ad517bd7dbc380bfa87ee7 SHA512 27810ea12401635b0122e5b3a71367a52ca7040f196cb30f709e0b8ec0e717aeb8a89ef4e891b1c7c88f7cc8a1c35e55db132b728b0c499e0b683d5b803a671f +DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7 +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-expr-0.15.4.crate 41460 BLAKE2B ed09121cbbae52f91a5c65c56b162e7223a467b931f6a0b4c35b9b947cbe36bbc0778e58240864668002a3a6fa3c36cc10b406cce59a302edaea461bdcd3ebe8 SHA512 6370348665551fea37bc85ee444f302fc5890fee0620b365b03a27aebf2c366facfc73d3a6aa040b83dc39c463948dbe8a15e679c3e413566dfb506ba855cd33 +DIST cfg-expr-0.15.5.crate 41639 BLAKE2B 8dce19ca74027fd284086797829caad8202ccd4c774f918f47384988a4b5ac20053054d5b656e8ab67575b7075a819fedd2f09f0b2d46198581883bc61bfd620 SHA512 13e9c47e66d74da94a742af01716655dde119d7928fcc519a52720f3d9c27ccdee9b3de231617c3f5739775c251e695e892bd1b7511d4bfca65e93447d86dd76 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c +DIST convert_case-0.6.0.crate 18675 BLAKE2B 5e5ab159a61e68b801f1c95dc5336f3af7ffe6fee212c8ffb9905af1121f0b272b234b4e70a30f29f5ed24f4825ccfb59722057b69549fec0fc3472857ee1ce9 SHA512 3b17449195a9a36e3965db89eeb967979c192ad7743217ea08e8c8b91ecae1ac1674362d05dc6f32f1f361fface3f783398285bb78060403f65a777a9d29adf2 +DIST cookie-factory-0.3.2.crate 14325 BLAKE2B 34a45c00e033b7d684b1bfd61a60d5969d3f5cf72532239d09f4f9f803b8cdff4858d1c827bdccc991b562c3ecad3b308995430775080c06fd5ad03538e6e9de SHA512 8c3eb5ac052368a426158ec23c4d2cd3d74f14b426782cab4b89de6070611cbdaf4360a668dc3c76d9168f738cd10389eb56094f72014c7e5c249ee1616aebc7 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST field-offset-0.3.6.crate 10032 BLAKE2B b4b43d35f793c55e8c521de7bc1648501cfe46494fc17d0b6135ba3456c8d72a11b422a16735c681c7c6542084652c119661372628096d61197f6e387b66143a SHA512 3ec99bf5e860dc68f3fcd0abd2b0de2ae0b3174eb177458506aabeee9dc7b0b8b58b925e2c6108a8f18ab95f2e1952dd9474650a639e1c1d50ec3f72bbd30077 +DIST futures-channel-0.3.28.crate 32281 BLAKE2B 128709ed9c3f275ee9365135426b626dab7d34a706cb9435a6ee45e2a28f7d2e6702b7bcd8b0788f7171ccc75917f287834a18c8af58b73ec07f46425aecdd97 SHA512 21bcae42859687538a3bbd4a4328b1a176bf8eec3b03f9d341f8ec08e796ada1638c0c3011246995d742e392a3ecf4446ccd2e92ea5426fe658c5f5ad8303b99 +DIST futures-core-0.3.28.crate 14780 BLAKE2B 551327876d54a6ccd97382679d61afb3e344f7c8e26813ac85779a57850cbb1f54041c82d71a7bfe4a30d1c8d9aeb560d8d4bf5babe7010fb7cf3c36c8ebf3cf SHA512 a21900a68f1a9232c245b160e95896b109315f10719147b4f104e11edb5b59c862555e07aee37a7d4fbedf0f09a02d4ed329f92fa1ad4679db1d7c78ae2865e0 +DIST futures-executor-0.3.28.crate 17743 BLAKE2B b192025f0838c924783090e7b0bd7806edae0502172e5f961d4cab5a4a5c074050ab6a707a50baa0ac2f505deb1e3ace4259349570beab0bff34b7bf6849e9ef SHA512 1404717a512f1968e3ac6c53bb6c428fa049b0f6c61565ddc4859407cf16c56735cddf7a2931b2816c6c8dc8809f76e7f98ff05d4f80e4567488c2aa7b424a50 +DIST futures-io-0.3.28.crate 8910 BLAKE2B 5554e9dd8548be47e7195ae8b223288cc2e765dc9feb703092972ec9e19ade825bc9d7093625a77c7dd2213df59e2c70ada84a84446b5a940c3e62daeb9dd57d SHA512 805177f2677a09d94ce5f010af9244e0e0dc285937e355a836179297c4c912a762f8d96bce57af388502810dcb67a772b7a522f5c6b21be3aa4b7ee46372d402 +DIST futures-macro-0.3.28.crate 11272 BLAKE2B 3f6bd63f402ab3348e1eae96897b4c18aad01b99a1f9ff555496fc6f3114cfb3334b1949604c21af251fdc4923c09e4412f40031ed92646a06ee05f6bee9a0d9 SHA512 accbe4f434b3704fea440e1fa7492c438068ac89798e3b2c85a2b251c55663ef2c65480f6da0884c8e80a9c5f5203aa6ae623059235f4a480a54d91bc5e9426a +DIST futures-task-0.3.28.crate 11848 BLAKE2B 79cd7b01d24a5274b0e564edf0f5d041414d9dee02c503f2303958e679db0db3c652c64352052d20bbad7bace078b553f77920e2ae21a948a1c884eeecc663ab SHA512 198f3efa51b1a8492a4151a6e4ef6e7abd09f2f537f5ffc2b8f2cf739718fb9714718226ee1cde7a58d41a2e623445ae64013f02e7f00489320c06292465fa82 +DIST futures-util-0.3.28.crate 158510 BLAKE2B 0721356a4947b39cd066dc8a88afa7686b832be269295af3ebff8cd74b42dffe5484399f66e3e11e2b54c2b8e04ee002a9d507eeb5259fbdc00b226e0f94b175 SHA512 0c7dd3701b7ab0a443a56aa64e6d9b6ba7bb9ccba4c05dfe17608df3e2bed1c2fa460a0cb4abb9fb25289d3a776128ffcc4fced75ca73a65d40b18ee2e9a46e4 +DIST gdk-pixbuf-0.18.0.crate 18173 BLAKE2B 44367c346398bc670321b30019fe557e1a84210ba531094297cf925b672f663f58f45e46850e5d2104e6ce00902af4df579783a3440d27d78d7c1bdd4c4a4350 SHA512 20ef7a417ff80434c1354199e0e19ee9db7be5d56f1810e0f8b4e82ce9fe5f4ecbdc53a4bb9d2e51a4f8c47710877bd513e8fc058cb6286fbbe3b69b2e56d176 +DIST gdk-pixbuf-sys-0.18.0.crate 9674 BLAKE2B f9c224988cc2d46181a5d3dde212988785c5cd8fd411ca5d4a55156307ee5895465c5185d761b246a7ebfff81a60ef7c5973ecbe5704b5e0ad77ec72b55025e2 SHA512 ef757be6df8f6ffbe8a0276ccac2b3d4c46b7acc6580876635a10b6782d5afb9ae6e8b11c7dccb0933b6d8767c57bc89b0ab117470f33b73f7a4a141f44fb121 +DIST gdk4-0.7.2.crate 88698 BLAKE2B be4a5989d7a5a0490a9feed74d61fbe98300c3993ec729f2cfbfe4ec6c21b2d87725668ad1b6b4d3159ef7825257a0eeed034d57229b52aa415b03e3b0966c0f SHA512 8e649a7a3f76cf4dd2796bcd9db3250c20b8a3ee726bbecc7d1fed859a7228ef15951ca73b0f3eea2ff72d9e9378c11b6131509f9a634e0811d853f10b40d386 +DIST gdk4-0.7.3.crate 88832 BLAKE2B d4cb8f0e76c238123f934d241bb172559cfb560aa57a51698fb2d254131b8035aead4b892d58c785c17607befc83aab1379efe443d0ba454a7175ebe5f093d2e SHA512 5fa610b59b1f2ed179889289cba0901806ff0d30a10d8c7d919f7c34357ed823debcee3db8ff5659b821f6c0fff520bc8a183dd951538addf0b9a25e8be0a376 +DIST gdk4-sys-0.7.2.crate 64775 BLAKE2B f54ec0a8f4b63709b015801ddb2c1e8df185b13ced0b66ff453655dee10f750dc555f36e1965487eec6e814c9e35e816a8aedfc46cd18b6b284fe1c0aec952c3 SHA512 e4ab0e5b50c86e90da016e7efc0b824caa4d09a12d1f2d9cf2236dec6060a36da0609a7206c74937a0747df3a8fca0c16e2c8aa22e1ff58b223dfe5a5a3a105c +DIST gio-0.18.1.crate 204998 BLAKE2B 36e3f697db478cb5b1da3c5136ea158713eab2ab126126b4fe22f9b5c6093b623b8efbb72cecf672df107bdca0f651fff40d2985c4a9f2cf9e5f2a9ca8d0809b SHA512 f489a0f0223a68673eecabfce71d494973d46fcd19c385e2bf219adcc612997fdbe542a36cc5fcf539120d5177325dc297fb1120b72fc172fd458d50b87e2e52 +DIST gio-0.18.2.crate 205555 BLAKE2B af94572db03f5e270bafe884b18b4a1a5919a997d0ed6d7e1cdc6bddf62d2c9095d3d788102d6168c408b27d9be8b44500056c060ebcbab2ade205a8aed11feb SHA512 c32c55167b33e7e2a5e70101eacef953971ccc0181865963a6a21189bb4c4bda5b7a02345507250a673504a7302e184b89d7ebd71d3eb482999495e7ac2def4d +DIST gio-sys-0.18.1.crate 81369 BLAKE2B 40b7425735f49cab5748130a3edde01713472cb75c2e3f1612ac1699ff2488abcd17addc8b9de1704328f7656e660f90cf33502f8567c22565f15d9f80aa4079 SHA512 f02e9766754d48407e955fc81bb27820a357a1f6cf7b1e89464c0399cd39d4adfb8586d7d7a2a12e98792fcf6e4fe2807816185824967906d45ff936ba3d911c +DIST glib-0.18.1.crate 261969 BLAKE2B 8b6e43772952c25c422ba970022f57dfb2e38437a2743ea380c146f4aaab7af8e3275082299a9000f41025ae497b8fdb50aa06d1fd13e8d773817fa95b1f47f9 SHA512 86b761f034151d0f4aedcc313f06430460f3c8fcce5d423c9deaacc6e8d89307e670b5aba09ac687786e31f8ae82b45e5966b97f9350224ef2a43a356430a1f3 +DIST glib-0.18.2.crate 267214 BLAKE2B fe30e388621649e858195998df250c8917f49ee58590c042cb89c1e53032738b5e08b16aefee2f640006d09a327ff56c16669f5874a550cf585b289a51746b6c SHA512 ef1768336827f9bbfcadd013fac6741fecf73e3f25617321b803aeddecb885930d7a17c6abb0c636cce802898381e4d38cebfd9a95f47c7841d29d25e7a76bc5 +DIST glib-macros-0.18.0.crate 49938 BLAKE2B 6f5cc6a9e20c3de82954520b4c7e437de8db082492c12ac26a6262e3d36d25a0e14d188882c3c7d03513d6761b4968e2cd736f27fc4e1a5ddfdddb673f396817 SHA512 e907f3f4dec6511ff20dba71048b80402d3110ab213bbf1e693b16de1a712d403aa4ec6b4cdadc537b0850534f8965916b5ebe23183c2d52b4d6a28a84c0a110 +DIST glib-macros-0.18.2.crate 50855 BLAKE2B 3daeb7596006cafdf1d97fac17c10ba7ce29af7dcbcddf86ba7c32d87f281dbe0a2f12a182e2a5aa6148f4903bea8d007a71356016464b85908ec0f8a89d6bcb SHA512 0adf4e1fb83b627ef65bacf2f0fc2deb0baca817b6bc6a9cd88e529ac5b84badd30a94e1076890049a7558d8249ead1add252c9df00b356180b274460f7fd2b8 +DIST glib-sys-0.18.1.crate 60464 BLAKE2B a68df8198874339988cb60ff45b9904607a7852d224e5efa487f22f3bda8d3eb54f7e30f6e2c30bb20dd6e5d48c205b65b7f8c3787915d3a436666d6fbfb797c SHA512 46583979de6d58cb863e522f9f11f9fd2e16ed5d1ec098f9f9511a7a124029671107beba01d5a19dcb082e57c53a2714ad3f75b0ae47c65985c2ab947d3f2c15 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST gobject-sys-0.18.0.crate 18699 BLAKE2B c5578c791f40ebece8210473bb363174ebf6d41db6a7ce64f4a86a2ab5337c45c5b10ff9093712a846cd2cd9bec99e135b4db556a4d18d6d4758a1a66aac08ed SHA512 7b274a6a4c4f38a4c1a5abf6410151d5ecd669c9a2c3ca874faadb0cf31c94b000c7439e1c1d409cf66ba41d8157dc9bd931de5bac58e50bc2ea9cbab13b3f00 +DIST graphene-rs-0.18.1.crate 17724 BLAKE2B c0d28601904e5b81780b3c535a7805df404a31168fa470f9cd0e49fdf3ad2fc51c77595a9dd95267a8cccb94b3935db3838f21d738bb19a3a398fde9566c31e6 SHA512 d7f6acdc70ed7de110b24297d7df3b1ca298966bb0d7695af8d2c955f521f828638bf3282a5d4c79042d30029c6f77251a204fa5f3be84703a1728a2eb681a81 +DIST graphene-sys-0.18.1.crate 11573 BLAKE2B 029a5afee5ac658ff250c55ff18af09d5dc3657857d7124050d27f85cef97c0bb7f150fc43c5fe238c8961c31b57a9d5a3d757887c90929c4a9a50e25b0c614b SHA512 890556cfc5120fab60d22028394be9ca8ccbb57f34d386768da3e1580047b8c2096a08b636ea2df76f19b7b1c045275b2873b74ee039896c65ab03f5b97e89a9 +DIST gsk4-0.7.2.crate 32358 BLAKE2B 4c8ec9741a8d3a03760429ba6bbe7dcae394206f8e1dc4c1ec50692fb3e9841dcc7098a0787ad87858a63dd85b9d74ea9bec479d032e5b6ab85f8942276529a2 SHA512 d688a2439895904a9b6dceee2d3dd6c8c76c3534be08a634e96684584fa6a08261911904bd7256738978598c0d45bc5ab88edb4c2a7873c928c69e54679583bd +DIST gsk4-0.7.3.crate 33660 BLAKE2B c3d0aa2cb05bfbd64ffa877272b2d01e9293a513337d46bb84ecdc350de1222e1f0d450d862e9466a1daaaf003ea3e06dc2e98064aecb03df6b755fc63284a70 SHA512 05b49365b85b36e169aada6b9c3f584eeb7bc1a498ab0e7f873c5b6d67848534a7706a5c8eb29368a35334cb6db814f20efac32c0995ddc89f91dc464071851c +DIST gsk4-sys-0.7.2.crate 14612 BLAKE2B b70e165a36e147efffe200765efbee25881ffba8e50023c120579cb02e6b2902747cc1913291663a3089229633cd4593148c6f58efe132df22c78e80d9497f69 SHA512 9d676819a5692a053ee4a5fa2ce72bf70b27423d8ceb24ba31381e39b9c27860b20eee90989c3a9fbedd678c839497c0ea3b151da24969c94ed1461e713a9e8b +DIST gsk4-sys-0.7.3.crate 15050 BLAKE2B 7518f8959f2bda9d3a2d8bf1bb8467d2ae0550bfa00db2a86e8e1e8b1c60d218e1708d2936eea2192f95d2e72549cb10ba06b2db28bd9fbe5073d2f28753f22c SHA512 0d14a4d977609c674c67b49a4ba79e819b502d6a7450fdb18320bdf87ca16bd0ead118c8193626a0cf7ed136dbcad9804c61f38bf521ee5824749e7e3a156fff +DIST gtk4-0.7.2.crate 468489 BLAKE2B 3987b0680ce1554782d208f184dc8fc901a8f0d775c8a15a3f227ac4d0ed27c02872475149401b6f08f9ff6a9611900252dc78ababe0e536e792438f8d187f77 SHA512 6143127c066b0626bdcfeb7c834f16bf49c25e3f237b03e0b5265206e6a191a32b1fc368af13a700635edb4552c19d4f7e8ea2d4141e3bedfe55226df35aec99 +DIST gtk4-0.7.3.crate 468953 BLAKE2B 90bbcc6e13055a170f031131ba12f96e5aa090dafdfa655bab76c4cce0cc42866b6e9b594b328ef8f61ff9cd44fd370e160c65cf20c343d6bb53bf405c04c984 SHA512 53a767c68428e35f59c1b7703793a6b1e460f647804f40b4d9ad206b2cb02985d90af858724c0553496e20517e8dddfe2d18df26822a39f591eab9c92e891722 +DIST gtk4-macros-0.7.2.crate 16770 BLAKE2B a63be9ede28cb264c411f39b698857c72e08f250df4de99c3f475be3dfd683b6e1f19f54d2a637232e83c35280a5e91acfc8fd98e1b9cf4c870e54d4d8016119 SHA512 66486f148acc5a1200536cf63711d71bee44253138f811821a9595759695da03c0b1f79e9d6c7e30a4a140b6e7470792e35d4d7113a2e550df9ce58cf48976b2 +DIST gtk4-sys-0.7.2.crate 105913 BLAKE2B c46e9f2e91ad852886d3ef4da3f5acbf5797b357172c190f6f47d7894224e8ec52b9ace0702bc7e0c75b366f888894f9e0866e537ca7aa130ee554b5918188ef SHA512 6ef8ae72923291db8eefd74d4b51ace58b586e9e4b1101ef9d0b6457c2ce525935d1042acb160042ff92fd6648730282fcfff46e6bbf6af9e41614f15cbe7f71 +DIST gtk4-sys-0.7.3.crate 106028 BLAKE2B 0b80e030a5e17de7692f55efd2600db62c4bdbe2f764dde88151a6ac69e5c81de1a0ac4ffea5b4f00bf511cf4feedc249067e6b0ad69fbb266e12e896ef33251 SHA512 40c14996e8d819bd907d98677fa1e05f86411e030f5b28b076131b36b300af240bee0c255199602d558d4f7429232e1d58e310cd0a95650a6ae84349e3d1b9a2 +DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959 +DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 +DIST helvum-0.4.1.tar.bz2 131341 BLAKE2B bdcb48bfe79c0d30b3f5b3e935a873fc1c62d75054f9be93c54074461d18b6cb163e32b934e9f113b64eff5d36df37a7797bbe54e68b06311e717ea8201531cc SHA512 32d847074561359e636d9a845d74fcdcf3e0d159508bfd6717f3f6d8a0dd49b2eb8bd28c8d12984a3b1dec4e22f0ae34fd2538470b26b4825dc9eb846c80263f +DIST helvum-0.5.1.tar.bz2 165923 BLAKE2B ae3b2d460b70a79454e846f0f92d301398093aca48d10c22a62354044dfcdb4031069a0530317578319654308bb1c07ae665b9b453e350c4279209c7ba75df14 SHA512 84b0031827a1db9824f4be89b8360d3796e164e61b0fd6be7444137c0ba709cfd96ce29bd23b8e572f83c02bca69e42c00138782b39a228823f450aa250abe30 +DIST indexmap-2.0.0.crate 64038 BLAKE2B e7a1b2bbd790f1446f77262b5b0799c2a816a01295a9a4db66f10e6c0502f8970982fb808581472e840cc34dc70e7938b89408799ed0d91aa50d3dd0b4807995 SHA512 59bc19653436389e1408e21b0933e5ca6f9fe228f0f5fbe9a7e4fb461b9712ba82983cbf22c0581eaf7913298b9ef5842702946152b493c1dc651381d6bce1a3 +DIST indexmap-2.0.1.crate 64305 BLAKE2B 61863f045afbf78466fb73ef99cc02b48c6781c596cf46a67fbde3c025468bfac3380a31efe10e8c69eee4ec1c85cd79b260627111ca6842d50c39552f3e17e4 SHA512 69b7da13fdc3164630e79ea09bf7e036bdf9cc44384742069ef59b3f8f909a5912c65908f9c605748a1476722d0536c3468cb5243666b37215d3f4f5f38cabc1 +DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libadwaita-0.5.3.crate 100024 BLAKE2B ea960daa5411173be50d9d3290837350c3c45cf1f6c12a6c6e83162d2bccdec8491d979866c30a975eeb87e642c7775d28a413b7c96946d0feb65f2b8388af8d SHA512 5f0880b0ab0e69902230e88db393c0c90243b4ce2a0014006efc0fbccbeb948169981fd683cc05ae9449f44d1ccaee64e7b041453dccf3857a9f21e276dd33f8 +DIST libadwaita-sys-0.5.3.crate 24713 BLAKE2B 9ba2b45383c3427d6096dbd1b4482f0d5e287f75d5feba84f62653ef95dae1834e13c489470cb8211f6d66a74dd5e7eb6fbbd2c0ebe51fb5c41f3617ac061809 SHA512 5108a26bfd53f4fc934a11c76045052e22a2dd1158068271633679b7051c709052d08d5e7a54839fde783c8bf9880c0df304c50c495a394a0f717e030aeffd49 +DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e +DIST libc-0.2.148.crate 690988 BLAKE2B 41dd38cfff1431cd8184220745697d794a66f6badec750be3910ddc4a6ddcf964692b5b28a5a9714592c5579da26248092facb9407920330b55aaef38501420c SHA512 1dec9ec8f4c610c08f62bc2b45dd32f1e4528a045161d848b5c4f0382be1158a690f4d7760203d7d2347a80422671f43b07531871cf44990887eaaed35d924d4 +DIST libloading-0.7.4.crate 27580 BLAKE2B 491faef2659270b10bb88ac46e0453f747f35e78d7f28b7d6d9151177b4c7a7aec0a1efdf702eda0988c31e9dafff2990eba4e6a9b0b695c535ea9086ccf36e7 SHA512 34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1 +DIST libspa-0.7.0.crate 54348 BLAKE2B 08915c54da7f1382136fed70f16e45bc5596ee4d6b1109619d365f2f8d6ecb1a4bb446a11267faa859b6567deccec84278d8e603d07a9da7671126c716a9104f SHA512 6c1dee8b339b2fe66c108c5e585c4033ab1d66a04e27154cc4f2851a5b8a1078ddccecbd34be724e351f4f048e88e4af9bac1606eb0ebef0154c2b7d2718c0bc +DIST libspa-0.7.2.crate 54357 BLAKE2B d1e16ceecc5fb1dd68ea56db45afc6529bada6f0b002f2d2b31bdf5bd5522fe5c64c5044d36a180430e03d3d5608acded9ae5e6d33a9d867eacb8bc5cc5bf521 SHA512 df09cd4d71f2d806967a7a18cb0eecdc2771cad271320e4c2479884aeae94d5c78c27ae37cdc55bc33c1a7c030b40982f3937e6027f7bf92f6ae20c94eb29075 +DIST libspa-sys-0.7.0.crate 10140 BLAKE2B 5e1a695c653b54552d19235214a714a662b8e4064b163cc531a9a73d18a4bc2e48f7bdb519c84e522f96696180766f1e6a02cffed5e3899a2c510425cd8a1f24 SHA512 dd3e058655acb8dc84415c31cd1a59619f1e03e22ca94dd95f5c00e70c39518ff5e6354573527d4714080a3b6badb61fbf14b326b5e41c281d6ecb45fc3108d0 +DIST libspa-sys-0.7.2.crate 10156 BLAKE2B 69c4e81753f9638b0d57f512ddf7c4ed0ef25fa96362d842ca8b9340b8a5ac1f01daf0c956b66fb8f62c70f781f96c9de55c42e53f7a523ffe585b7d4f37c096 SHA512 e5b1bafdc8143ebe8d0ba6a8c4e77a68b0d6df7fe88a4bc04c176b4d65ecd7b591e951f5ed408b9ff3d5e05e4b5d9d6d35fc4de1f0537763e774a175c05829c9 +DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e +DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa +DIST memchr-2.6.3.crate 94377 BLAKE2B 5f1603397d6703ddd9a1e68429cb6e9dae9021e14692c1e084f3b5c82d36645a1fa930c7a76b97df8e1919402fa7e1c621969ce85ce20c82b3087104afe18f25 SHA512 8d5e1425ea702a0950c95271dfd2e81610731496f77af0d683536b074a22922a7d7ec6da41577487d1d658e3b27257b7d1e142761b523e68760a2f5f24f049bc +DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157 +DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST nix-0.26.2.crate 277973 BLAKE2B 86adcbeda37edda784593196c390e92ee069761d283f706c0390bf8983ba8841a51486a98a1869f910fe4d518afba5572490e9c69a021e12c598d094b41361ad SHA512 abf2d0a4eb83cd4bd43836e8b533f0f07f07979619c86c11302a2df0800d569f33f0dda0bc2c4136d36c79789d175eaf5d3928ecf16286319aabf93c720a1704 +DIST nix-0.26.4.crate 279099 BLAKE2B 41debf1f21427ad6c25c6cd26b7867feb8ba46366028c4b74073307e902e526543f536fc0a66db2cdc5a52fbbf9166a6a4843aba57e5e5caada3d914286ddd60 SHA512 cc68ff8e3e8ea8635c6fd4c0a866cf42121aa3e25165666ef3b97b5b2c1d9273cba6f689e80eb812b55b5ee513390924a926d95fce45de0a74b98764dd1fa27d +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8 +DIST pango-0.18.0.crate 47499 BLAKE2B 7f446be2a20cb9bdded6668deb0c6aee8a8368ed2439df131ec47c42eeef9ca8440e43623455638e8bb9433d016af0f732cf558021b7feefc4218be86a0e897d SHA512 6c2a333b65cb39d6dab511f3f5a6e3fffb7aec0bd02ac147cd4b6dd7cf5f917d69b4515472f3e999a30c4ea2974b1b85b6b6f684a3de7ca2902728b013576ea8 +DIST pango-sys-0.18.0.crate 24709 BLAKE2B f197872258fae7b554be9d62ad2c7a3484fc817430b008263a6b2d20845809ee3c450fa8c65e6845854d5885cdd80f24791a94ee7fa3cde43bf1c7c504f886a0 SHA512 b20df431e744c7b19896b31f487060e0d929c65289520f1fd4d624ff708698d4e082baa73366321206a2a7e3f4ad126ace9b3e55169ff815c9c6b25e5ec5ba3f +DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST pin-project-lite-0.2.12.crate 29073 BLAKE2B ab66a6dad606804eb6121fac25bfbca3ad00e8d80af2e7d1ab38add91c3f76761fd1864f0fb184cb305cd216cc92e81c2f73f0cd2e6f210ede3bde4cbdeff77c SHA512 9d2eb190169819fadece7fcf33d006863ebe2c298066ad97d97ba96ced6229892b4087ec1f364d5c6150cc80b0ded8f431d9d4285adceb5fc9ae1da8e1a6d82e +DIST pin-project-lite-0.2.13.crate 29141 BLAKE2B c434a336716c9cdd16ebc297fed393e9106ef167a693c4aa0b12c681e03141b8ba3cdf64c310916cb7d5cc43cbbfcaaeb39bb5fb1e8b3efb9e94a3f72af914eb SHA512 7f12595d751d315de6c0d380e2f501b74154661eb676987d2cab6fdc956091a68c9cac658df45dbff73615e982e6ae2ea138c09ebb708cd6c351f0d18dbbdbee +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pipewire-0.7.0.crate 46397 BLAKE2B bb7d7b0fdc66ee7b07399febe8c290f834902e95e8ea5871d66757900ff830c967f4cdedb3217f7a5e7a2f8d4b5f519d42a79981d8517df540dd835f418112db SHA512 0f682d25e9bf7869c59e3cd8ec871d1b08138d0303367287a855bf6543913b501156f10651b567abd6264653f28fcca704751c30df0ec63606c1f0621a157f31 +DIST pipewire-0.7.2.crate 46643 BLAKE2B 0a5919d53ef5b2234fab83fa61aa319da48f853cc178eaf9a19fea163f96dbe2dc984f8e9da79472efb2d386a3d2614230fa34dbb5166b1e5149618c5194d979 SHA512 ff92a0e38fb0c3068fa32c95f717e6adb0890b5f0eb6c82e0461fbb738a355ac1c0547f7fd4dbca0049ef304c0cdb21e32fe9ff2911c3ffd1e4aa0d4608cec36 +DIST pipewire-sys-0.7.0.crate 2992 BLAKE2B 9b84c231adc15ad55d95e2938e18e0e3e43ed25a84b053da2f20c9a2a17f44a09bd31bdba9a926c27454960b115ca42e8f380f274e0b443d9a00af9f76639abe SHA512 70f64f556fff2a7a59f028eed22b6a6d06bb31e1e76cd99ea608e38209753c5e5202f887e9dfe1c1ac891cf3760031a5f959d8472b08cb4a4ff816b6fbcb53d4 +DIST pipewire-sys-0.7.2.crate 3009 BLAKE2B c42dd90b62e07cda89a7cf9d3346dda17cfb42d54e8273bc4036789d8707b7e9fc81fb7228e53b3b0e8d83c375735ed8478c43bc825fe0e95cbdb449b2815cfc SHA512 20d37b828624251eed7af5a06033f5230f9bf0536b4c59a3df5fa156602c140202a9fbc247171230de0707b3d623b4f3004484ce8fd504c1ff92ff371f9acc98 +DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a +DIST proc-macro-crate-1.3.1.crate 9678 BLAKE2B ed617a1930bf28a26e865f6477229566a0c4ade7f2c1e8f70d628c5536985f03c7533c561490415e207c0f58b4885367e7f54ddcf10b058711829f78a34d68a9 SHA512 5306f017933ffa89eb6111ee00b0536179c5cfab56529440630a0bec86b62194ff16f57ebb471b233e88cd886b7b9871de8402ed29073b23e5ca98193e513659 +DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db +DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495 +DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407 +DIST proc-macro2-1.0.67.crate 43683 BLAKE2B a7f485d058ffb654c22ad01088756d8050780e559d86f96590e284c3babf1bb59ce347400c1681b296c6f58e2d42ed67d3e458483368399c22d7810685adcbc6 SHA512 3827f5f698aaecc168a03643e330e03aca7b0de98bd57dc97507c1bd53b6ec64752a1f4dee4c8a12ab02f410775a11f5ce7b0d36ec0e1fbbec197e3d7e199eab +DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c +DIST regex-1.9.3.crate 252676 BLAKE2B dd419b02b7dbd28a71e14c90bc538e98a63c0b9cc2ea01e7d8f6a0075c723c42c3d7bcbb45391431dec3008e6709e9d1d396d8e505f7f8d5d3a629ededf74b4d SHA512 ef5ece7d2b80a136d437ac42c5395cb01f6d357dcc490c8f6c89657f3f97af6befcc699008535c27583d7354e979418d1d933e36e8774ff2bb62750b9009d5d6 +DIST regex-1.9.5.crate 253883 BLAKE2B aeb05371251aaa0fd11dce1f22ea095345b3b1e68d9d5e083b4b8b0b938d0d901b3bade66015bec830db3ee71d0d2ccac09b842ff9919e08b0e98112ea1897be SHA512 79b921edc977dc98bd07e89dc17873c8a1088473ddf941504973259bb8c46ad11bbe3818fb88a7ed07b86841206c322a9555033d0a5dfebb18fcae45e07ea53e +DIST regex-automata-0.3.6.crate 607174 BLAKE2B 6d02512501b45b0e87d8746c894009ec669fbfdeb742966e8ba8960ebf692f3b2c3df44ce5ee03e7d5320136709ad83b532dbc322a779e3c21ff0f65768c0d0e SHA512 ab3da2e63ff2c6a4da2c149dd34e565303f961f38547db7b34fbe984cf90aac107d4ec116111c765c9b71c4bf26022742151e1d4c5d01a6beac0a8a0887e30ce +DIST regex-automata-0.3.8.crate 610113 BLAKE2B 1aebbca26e76e85b42b035fa9ba02f98425b75fdeeec0f12c1c08e8f4a320c64d36c129c692e622256d7f8772052041c47df1aff165d8337d55d61770963a777 SHA512 47ad01be2c51fd510576e14f399b7f30d379a2cce2dbef3af4ee3e609859451082885132ae703c810e2b19bb3716976356e057a1a592ed507146aff9e7138dac +DIST regex-syntax-0.7.4.crate 343365 BLAKE2B b50c01f02e08729496e8bcf023949d088463bf62348b4a1043fe5205650da37863b2ca51f683662a4df33bd56085e0501e50410106c9c471a0daec4c71dfe945 SHA512 b33713c71f6f753820ca6405e8415e5eeed457efd01e81b0b720e48c135b9bb0973962269587ddca31350233aec6d3f598596cb48310db0633bf67f8970f0e18 +DIST regex-syntax-0.7.5.crate 343366 BLAKE2B af07596e45e3525ffd253d6070ddad08dffc8f0409ea14843a135646da8b37a7a568c12ede809d9fa47eec2329f68da7a3b3c0e0cabfa200de64affe6ecefee3 SHA512 6388dbf68c8c86d8a5bd8cfb13a86e9ab2da1a339fd607c1a16848f85dd21c85d744d694c7b918954ea27eeefc90b589926c9da464343fb78ab639a5e2925efd +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db +DIST semver-1.0.18.crate 29703 BLAKE2B b1867f552ac87968d895c5e49123bcce0f8aa0ad384e421e5ac88bd04ae203ed6b731d5c77fb8488ec6601f1f02a8f2a207a9d21f1cc66d433032628f5d7beda SHA512 698dcd37b354cfd6ee452dce02d16051f23088ce53f0b4d099e1e4ad0f9350996f0b9b2e1c3ac7d5ed258accd92773266892e945fcae28055d4671c7ae5aac02 +DIST semver-1.0.19.crate 30027 BLAKE2B 426db70341dea6a78264d70f6aba45dd6b9f9ad5950a2dc09ed07c59642ea0ab5bd70325837ba4280aa40321027c4110f86f441fa29b726c6ecec3eb7da60c19 SHA512 df67c8042a8045196ef2a929b3075056d27da68cbf8d895bc4527ed2a769c579382cbe720e34554078182c12657fe40d47206a676d142d82b73715551f3f6e1c +DIST serde-1.0.183.crate 77210 BLAKE2B 280e3d253a29b664b4e2d17f41397b17fe22af64417facca42d6ca0c839f1def745380a5402d7a87345bb16f4fdacf9a8c01966579b8c08fb06c05f097a87e68 SHA512 3a27efdff92cb1f6b50449a761efde781af91584b8410fbf5ce37b20005e7d46dc4c750fd1730e15468ea22aac7799421c4e60c74243c65ef7916d3cbadd0ef8 +DIST serde-1.0.188.crate 76230 BLAKE2B 81e92adf17e3f2ce73c82e3069b8fd656211cfeb6755abd338b74d52f748f5bba6690abf5c83ea2a126fbd6187bc587b539f0ebcf621e928085876f28fbb9513 SHA512 7d42ce834bcd1034f8ccbcd6646cc93f8e189e344f29f4d7b0ab148ba11ce7848d0ab986dce7a0245fcd6893243f5768f7bc0ca9c24c75c53585ecc899d312d2 +DIST serde_derive-1.0.188.crate 55563 BLAKE2B 3b24044915a704d9d8a2cae6e6547ecffea7ee3fd4260ddb2bf7fa38b23fd7fc597b61ac28bf65b9f0d45e18ffd6bc7596f5a3d602cc79835697fb3f5440242f SHA512 fa9132a319f7829e6afad65289031be99255466d76270875d9d81f82f63e53592eaef5452d0df38da92e9d0b6f2b37e91026635fff4bf597b0ae662b71b5eff0 +DIST serde_spanned-0.6.3.crate 7737 BLAKE2B 957352cb24d5cb1173613a48de7e411d768c61a73dd57572530490be0569e133e7c8eb62ec34e542a17010871562a53e37b296386c54dee8ea61d175dd0b05e3 SHA512 5c4f4a861dba2af7f0ad0c585859f845a7ea6c0a8ff8b63985503c9da27f313ba15b904b0aa56a59043c44a87c75fd317b23006a3804d332b84855189e436610 +DIST shlex-1.1.0.crate 5199 BLAKE2B 325536bab9c9707566a099a161e7bc8448c7369cd9d7b2f144ed71543d551038ef1fd764376491e8076ccdcc928b5c4e177764a68584267a91386b8d542264c3 SHA512 e51892298dd79dc7cf04d7e6f0a03e4850a57b15cd75e6e3b56e2a0b15d4cb85ee8afcc14e3727d193c8b91baec8c2864a9c800834ee4d18a1be584f17591752 +DIST shlex-1.2.0.crate 6584 BLAKE2B ac07c648d9affe62512edab307fe07436dce69b428570ba6455aaf21c178145b1026e35704f920fc177b334cf190f57e393e4dd9e522dd26d133f80fb2c15f47 SHA512 cf48c0c47aac44654a48047fed3568c30f53f19cd131615cabbc247dbdf1eb1b7540b0d188f341251b4876dd0d5fcc13792800f0160f7907e8d8fe9a5e75083f +DIST slab-0.4.8.crate 16928 BLAKE2B f20603e1331a767c3f55b56d58bbdb9fc126794a116db128fce6d204122c420e9a65478f9f10a26f86c045dbd55a62556862f4339f3a41419f810bcfa9fd145d SHA512 1d713a217b3816a1e6c230d4bb52c32c90f600e64520f0c339ea8255ee8aefd887d969fa23497f1bd8b2b1f7dcb4b220957889746f04dc3453240b5f28517192 +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7 +DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5 +DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.29.crate 241664 BLAKE2B 5b339433249d7ee17b032cc9ecb118169957d91f438619940aeba0003ab0015b01cc6afb00656b5492539a5396325ec16c37e33764b00d6f9b8dc6b5b5e6a9f0 SHA512 a6319ee743a7690c7858da8492ffb6a963d102beba07009e82b08082d33ac8e8ea2675bdfc3ac3684392b3bc3d7f2624983dc508dd8b8f1fb9a57ec8a5b82828 +DIST syn-2.0.37.crate 243250 BLAKE2B b81750ed52bf75bf944542c373a88f5a54421c230c86f23d0ed3e5680d85bb454251bf43e0ad7bd3e2464e6df579550cca1e17e8b044ba62a27a25f3940ff20b SHA512 5cc8f2a17f891477a9b2078580bcb4c5dec0b540fdc4d2c0b8dd51972c734ff4519e891166c1c5f6d35b73bfb564ac747836f7487481a2ea26fb7d8405835023 +DIST system-deps-6.1.1.crate 24171 BLAKE2B 40ec288648bda3c5370f78b7614621d3919589eedd19c86e542e4091066eaaf1d36258cf657a3e74bf2bde70dcedd14d335f4b7c89043b742b96d756df0c38e8 SHA512 14fc67e8a4447381bb5330ae6d579cafe7b1a1e62d3f528256217c18e07f6d0aa7095340b6c771eb62404b1e21771b627d77cdaadeb46cc80dc4fd6c789577d9 +DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718 +DIST thiserror-1.0.47.crate 18811 BLAKE2B ea2da26fdfbe3d9519942761a9fa8a7c3528a170846c290a111a33420dfbe6c3f114591e3ad101258ea2a01a756ce4710d7b46c01b40011e5ea01cabc37db189 SHA512 fdb128982f0b0a6d83221bfa6b274431a1008a9727c82d55a8cb2770bb85d18842e6b26b90885fc0f00801b157b96de61fdb0f72d98b8092c69181d8ee67cf63 +DIST thiserror-1.0.49.crate 18912 BLAKE2B ec93a21ea72626a0d49d87e8989633a4a1c6747e3dc4f183bd490b52488ded6fe97e60d0db59da6e67db2c2181ac13eb903a9b77bc8df7f61de77fdd73bd1c3e SHA512 a6b0476b9250f2a1555ad1f528b062fe7683f7aed338efaebd86b967e58d08f03ea10b4b6c502f4b6ccbeb44cf773b7511996a8504e541c1ea6a6efcc8cc2814 +DIST thiserror-impl-1.0.47.crate 15080 BLAKE2B 4b8084ae885160607905333dbac2287576127992eeb58293050c46ccc2abdc1a04f85b07db35846046d9a3e7e94ffc7c8912bab37e4eb9a5290bd55df46d0d02 SHA512 b6b73e9eea058492c45d41a70d5ce491b773f4747e171b794577f996f0ed5d76562338a18105f82a6733e1e37954aced4fca78d5f66c05e6789c15bca5ebffe7 +DIST thiserror-impl-1.0.49.crate 15101 BLAKE2B 7a097705408155ff28e13b30c9a84e5da5cbb2ea60cd586f2bea303aab8180b4d57dc7edff1b36437376c04aa03758c4ba573492118785c3cd1f12b70d77de66 SHA512 dffaacf5238c81fa5bdd605c84c7d064695c4435b5927c0a7ef8975340170252d1361ad48c26116663fcdb0afaec0ec0a63b5f613ad256d75bcdfa3f0659a437 +DIST toml-0.7.6.crate 49220 BLAKE2B 805bd9928fc3d05a1658188d4b858df62347cc93bf870a3846b9509c1dbdfc4123bc29a26019efa04e98699239ca7bb95ce63c802badffd86246266cebc65d7a SHA512 e51c49af63e37d1682892b84e74d48e171591c36dccb26e26bbf136385181ea9cbb94809b8900eae82b15e1cb79f844ae1cf0b00f0a6ac3afd5ebd02d554f9bc +DIST toml-0.7.8.crate 49671 BLAKE2B 47988292efa682f34b5295ee15524d9603d7884a0ebdc50aff93823bc9bb565569097b6aa0c622976cb23688aff73e41c0a19b0ab72ca55676cc86d7ae3db693 SHA512 84479acfa305aa682ed6ba655208c245d442d61028c422fefd6174371ec214e88912c257a3e2527e14646b655b18d55ac2d5482b0b4fd8cc2a9f66575ff1c84b +DIST toml_datetime-0.6.3.crate 10770 BLAKE2B fc1754eb7c3a7073cfe41e5ccba152ff09891a8de8afe38991cf2dd7b93aacf07f1075fd24d7aa643238cf31e3df1fc3162335b2c475438178b4a4d8a2055471 SHA512 cabf5dce24ed3bf4674008743180a21e86286d999cdce79f934de48b1e1fe0f16a7f3d2498bf059acdb823b51bc01986faf47139f8100ae272e6bd19095cfa9b +DIST toml_edit-0.19.14.crate 94875 BLAKE2B d11328357d66d4139ac23766ddc84985eb9e2ab7eb5ac5b3639be2098938596cb69c28150589f24bd404c10ec2fe06e0adc207b787c3dc869472eff15ec0fa2e SHA512 87f432e0f6870c2ff1476fd1dbafae8cfd736ab39436c1c60627d60511a65fece8c07bd9834d68a080f6969a256430acb20381f210b775c281764b183ec57411 +DIST toml_edit-0.19.15.crate 95324 BLAKE2B f989f96d571693ff81572af6c05a6f51b673e478f22d20a6b166c45909902ac80280ea92ec5c3567327df90100a47fb7504845fc39bbcff6756af6c1a89e2221 SHA512 46d6bd2fea957392ae0ad7e687dad7743b76ee8e8ec76c80d6374ea294d3d09b6f73df0a82c821b9ee3b5268987a4136aa825034309f3cbc1947dbd1af1505dc +DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b +DIST version-compare-0.1.1.crate 13224 BLAKE2B 4bb1e7db6a4a5b30f4ef950234fa939bd562e8d5693aad42a5dadddde7caee01b4dc42b28d8ef61a769cf573440e57c0dc321f8a8b4b3dfc0cc035507bfed886 SHA512 efc9441440f702518867e2056c0ab066cd2fa6949112479e463802610f25a4d50c4411eb5fd0ba6ca9b187e358fce8d99579188e0ed9ba0297191172ab7af408 +DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST winnow-0.5.12.crate 144683 BLAKE2B 3d363754f2f37490a3fd812945408a626c5b17c460d732ef30c5c97a1487d02fd6a5c3632cbc59c1f9f367da996b7f58c8f281db4c45be8d300b5f214f8de055 SHA512 c51782ea9f14ccd76ead83df6562c2f5fbd76ec31d149aac83ef5ce8dd541b92156f1b2acb62f7af2886eb16e2ef419f5be703c96b378ee5b8558a751ebcb9f1 +DIST winnow-0.5.15.crate 145621 BLAKE2B 039262561227641c2d8b996ebb59c79718de3f2b7dd8e369fc3e341f3458b1e0213f35c575d615e87d5f89aad639c7a258e4efb2c10f58c2cd6e120482702cc2 SHA512 42dce18906f41e45e6dd75ba01af6a94501317dee8b45f4c7340f7c9c94f8935afe2536cd9ad5a91eef6f3a6135cab0a451d67a35b5a0fd69130a90e6aa47603 diff --git a/media-sound/helvum/helvum-0.4.1-r2.ebuild b/media-sound/helvum/helvum-0.4.1-r2.ebuild new file mode 100644 index 0000000..d48a947 --- /dev/null +++ b/media-sound/helvum/helvum-0.4.1-r2.ebuild @@ -0,0 +1,173 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.0.4 + anyhow@1.0.75 + autocfg@1.1.0 + bindgen@0.66.1 + bitflags@1.3.2 + bitflags@2.4.0 + cairo-rs@0.18.0 + cairo-sys-rs@0.18.0 + cc@1.0.82 + cexpr@0.6.0 + cfg-expr@0.15.4 + cfg-if@1.0.0 + clang-sys@1.6.1 + convert_case@0.6.0 + cookie-factory@0.3.2 + equivalent@1.0.1 + field-offset@0.3.6 + futures-channel@0.3.28 + futures-core@0.3.28 + futures-executor@0.3.28 + futures-io@0.3.28 + futures-macro@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + gdk-pixbuf-sys@0.18.0 + gdk-pixbuf@0.18.0 + gdk4-sys@0.7.2 + gdk4@0.7.2 + gio-sys@0.18.1 + gio@0.18.1 + glib-macros@0.18.0 + glib-sys@0.18.1 + glib@0.18.1 + glob@0.3.1 + gobject-sys@0.18.0 + graphene-rs@0.18.1 + graphene-sys@0.18.1 + gsk4-sys@0.7.2 + gsk4@0.7.2 + gtk4-macros@0.7.2 + gtk4-sys@0.7.2 + gtk4@0.7.2 + hashbrown@0.14.0 + heck@0.4.1 + indexmap@2.0.0 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.147 + libspa-sys@0.7.0 + libspa@0.7.0 + log@0.4.20 + memchr@2.5.0 + memoffset@0.7.1 + memoffset@0.9.0 + minimal-lexical@0.2.1 + nix@0.26.2 + nom@7.1.3 + once_cell@1.18.0 + pango-sys@0.18.0 + pango@0.18.0 + peeking_take_while@0.1.2 + pin-project-lite@0.2.12 + pin-utils@0.1.0 + pipewire-sys@0.7.0 + pipewire@0.7.0 + pkg-config@0.3.27 + proc-macro-crate@1.3.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.66 + quote@1.0.33 + regex-automata@0.3.6 + regex-syntax@0.7.4 + regex@1.9.3 + rustc-hash@1.1.0 + rustc_version@0.4.0 + semver@1.0.18 + serde@1.0.183 + serde_spanned@0.6.3 + shlex@1.1.0 + slab@0.4.8 + smallvec@1.11.0 + static_assertions@1.1.0 + syn@1.0.109 + syn@2.0.29 + system-deps@6.1.1 + target-lexicon@0.12.11 + thiserror-impl@1.0.47 + thiserror@1.0.47 + toml@0.7.6 + toml_datetime@0.6.3 + toml_edit@0.19.14 + unicode-ident@1.0.11 + unicode-segmentation@1.10.1 + version-compare@0.1.1 + version_check@0.9.4 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + winnow@0.5.12 +" + +LLVM_COMPAT=( 20 ) + +inherit cargo desktop llvm-r1 xdg + +DESCRIPTION="A GTK patchbay for pipewire" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/helvum" +SRC_URI=" + https://gitlab.freedesktop.org/pipewire/helvum/-/archive/${PV}/${P}.tar.bz2 + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64" + +# Clang needed for bindgen +BDEPEND=" + >=dev-build/meson-0.59.0 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + virtual/pkgconfig +" +DEPEND=" + >=dev-libs/glib-2.66:2 + >=gui-libs/gtk-4.4.0:4 + media-libs/graphene + >=media-video/pipewire-0.3:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango +" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_install() { + cargo_src_install + + dodoc README.md + + doicon --size scalable data/icons/org.pipewire.Helvum.svg + + insopts -m 0644 + insinto /usr/share/icons/hicolor/symbolic/apps + doins data/icons/org.pipewire.Helvum-symbolic.svg + + make_desktop_entry "${PN}" Helvum org.pipewire.Helvum \ + "AudioVideo;Audio;Video;Midi;Settings;GNOME;GTK" "Terminal=false\nGenericName=Patchbay" +} + +pkg_postinst() { + xdg_pkg_postinst + xdg_icon_cache_update +} diff --git a/media-sound/helvum/helvum-0.5.1-r4.ebuild b/media-sound/helvum/helvum-0.5.1-r4.ebuild new file mode 100644 index 0000000..fc0a4e4 --- /dev/null +++ b/media-sound/helvum/helvum-0.5.1-r4.ebuild @@ -0,0 +1,178 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.1 + anyhow@1.0.75 + autocfg@1.1.0 + bindgen@0.66.1 + bitflags@1.3.2 + bitflags@2.4.0 + cairo-rs@0.18.2 + cairo-sys-rs@0.18.2 + cc@1.0.83 + cexpr@0.6.0 + cfg-expr@0.15.5 + cfg-if@1.0.0 + clang-sys@1.6.1 + convert_case@0.6.0 + cookie-factory@0.3.2 + equivalent@1.0.1 + field-offset@0.3.6 + futures-channel@0.3.28 + futures-core@0.3.28 + futures-executor@0.3.28 + futures-io@0.3.28 + futures-macro@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + gdk-pixbuf-sys@0.18.0 + gdk-pixbuf@0.18.0 + gdk4-sys@0.7.2 + gdk4@0.7.3 + gio-sys@0.18.1 + gio@0.18.2 + glib-macros@0.18.2 + glib-sys@0.18.1 + glib@0.18.2 + glob@0.3.1 + gobject-sys@0.18.0 + graphene-rs@0.18.1 + graphene-sys@0.18.1 + gsk4-sys@0.7.3 + gsk4@0.7.3 + gtk4-macros@0.7.2 + gtk4-sys@0.7.3 + gtk4@0.7.3 + hashbrown@0.14.0 + heck@0.4.1 + indexmap@2.0.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libadwaita-sys@0.5.3 + libadwaita@0.5.3 + libc@0.2.148 + libloading@0.7.4 + libspa-sys@0.7.2 + libspa@0.7.2 + log@0.4.20 + memchr@2.6.3 + memoffset@0.7.1 + memoffset@0.9.0 + minimal-lexical@0.2.1 + nix@0.26.4 + nom@7.1.3 + once_cell@1.18.0 + pango-sys@0.18.0 + pango@0.18.0 + peeking_take_while@0.1.2 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pipewire-sys@0.7.2 + pipewire@0.7.2 + pkg-config@0.3.27 + proc-macro-crate@1.3.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.67 + quote@1.0.33 + regex-automata@0.3.8 + regex-syntax@0.7.5 + regex@1.9.5 + rustc-hash@1.1.0 + rustc_version@0.4.0 + semver@1.0.19 + serde@1.0.188 + serde_derive@1.0.188 + serde_spanned@0.6.3 + shlex@1.2.0 + slab@0.4.9 + smallvec@1.11.1 + syn@1.0.109 + syn@2.0.37 + system-deps@6.1.1 + target-lexicon@0.12.11 + thiserror-impl@1.0.49 + thiserror@1.0.49 + toml@0.7.8 + toml_datetime@0.6.3 + toml_edit@0.19.15 + unicode-ident@1.0.12 + unicode-segmentation@1.10.1 + version-compare@0.1.1 + version_check@0.9.4 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + winnow@0.5.15 +" + +LLVM_COMPAT=( 20 ) + +inherit cargo desktop llvm-r1 xdg + +DESCRIPTION="A GTK patchbay for pipewire" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/helvum" +SRC_URI=" + https://gitlab.freedesktop.org/pipewire/helvum/-/archive/${PV}/${P}.tar.bz2 + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# Clang needed for bindgen +BDEPEND=" + >=dev-build/meson-0.59.0 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + virtual/pkgconfig +" +DEPEND=" + >=dev-libs/glib-2.66:2 + >=gui-libs/gtk-4.4.0:4 + >=gui-libs/libadwaita-1.3:1 + media-libs/graphene + >=media-video/pipewire-0.3:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango +" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_install() { + cargo_src_install + + dodoc README.md + + doicon --size scalable data/icons/org.pipewire.Helvum.svg + + insopts -m 0644 + insinto /usr/share/icons/hicolor/symbolic/apps + doins data/icons/org.pipewire.Helvum-symbolic.svg + + make_desktop_entry "${PN}" Helvum org.pipewire.Helvum \ + "AudioVideo;Audio;Video;Midi;Settings;GNOME;GTK" "Terminal=false\nGenericName=Patchbay" +} + +pkg_postinst() { + xdg_pkg_postinst + xdg_icon_cache_update +} diff --git a/media-sound/helvum/metadata.xml b/media-sound/helvum/metadata.xml new file mode 100644 index 0000000..7231f0d --- /dev/null +++ b/media-sound/helvum/metadata.xml @@ -0,0 +1,16 @@ + + + + + Adel Kara Slimane + adel.ks@zegrapher.com + + + proxy-maint@gentoo.org + Proxy Maintainers + + + https://gitlab.freedesktop.org/pipewire/helvum/-/issues + pipewire/helvum + + diff --git a/metadata/md5-cache/app-admin/opensnitch-1.5.2-r1 b/metadata/md5-cache/app-admin/opensnitch-1.5.2-r1 index a926882..637c3ae 100644 --- a/metadata/md5-cache/app-admin/opensnitch-1.5.2-r1 +++ b/metadata/md5-cache/app-admin/opensnitch-1.5.2-r1 @@ -1,4 +1,4 @@ -BDEPEND=python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) >=dev-python/setuptools-65.7.0[python_targets_python3_10(-)?] virtual/pkgconfig >=dev-lang/go-1.18 app-arch/unzip +BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?] virtual/pkgconfig >=dev-lang/go-1.20:= app-arch/unzip DEFINED_PHASES=compile configure install prepare pretend setup test unpack DEPEND=>=dev-lang/go-1.13 net-libs/libnetfilter_queue dev-go/go-protobuf dev-go/protoc-gen-go-grpc dev-python/grpcio-tools[python_targets_python3_10(-)?] DESCRIPTION=Desktop application firewall @@ -8,10 +8,10 @@ INHERIT=distutils-r1 linux-info systemd go-module IUSE=systemd python_targets_python3_10 KEYWORDS=~amd64 ~x86 LICENSE=Apache-2.0 -RDEPEND=# dev-python/grpcio-tools[python_targets_python3_10(-)?] dev-python/python-slugify[python_targets_python3_10(-)?] dev-python/pyinotify[python_targets_python3_10(-)?] dev-python/PyQt5[sql,python_targets_python3_10(-)?] python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) +RDEPEND=# dev-python/grpcio-tools[python_targets_python3_10(-)?] dev-python/python-slugify[python_targets_python3_10(-)?] dev-python/pyinotify[python_targets_python3_10(-)?] dev-python/PyQt5[sql,python_targets_python3_10(-)?] python_targets_python3_10? ( dev-lang/python:3.10 ) REQUIRED_USE=|| ( python_targets_python3_10 ) RESTRICT=test SLOT=0 SRC_URI=https://github.com/evilsocket/opensnitch/archive/refs/tags/v1.5.2.tar.gz -> opensnitch-1.5.2.tar.gz amd64? ( https://dev.pentoo.ch/~blshkv/distfiles/opensnitch_amd64.o ) x86? ( https://dev.pentoo.ch/~blshkv/distfiles/opensnitch_i386.o ) arm64? ( https://dev.pentoo.ch/~blshkv/distfiles/opensnitch_arm64.o ) -_eclasses_=out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib 104e1332efb829e2f7cbf89307a474f1 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 eapi8-dosym 741bfa77afb2a9321261501aca58c208 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-r1 3c6cd0f418ba702c186a9865b85e704d distutils-r1 87ebb7e1e8d4ac49be0a91406b443060 linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 systemd 5f4bb0758df2e483babf68cd517078ca go-module 9c75e51a48520b2f01471c1f91762882 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df linux-info ea4122ba1d8791a12b78e53f9510a2e3 systemd 54bd206bb5c4efac6ae28b6b006713b0 go-env 0e2babf96e7d0b045fc07ad199eb2399 go-module df32d29550d40a92da723d3b8e17b467 _md5_=86bef4c6073259986710bd86f75b17f4 diff --git a/metadata/md5-cache/app-arch/rpm-4.18.0 b/metadata/md5-cache/app-arch/rpm-4.18.0 index a8d58fa..9aa6459 100644 --- a/metadata/md5-cache/app-arch/rpm-4.18.0 +++ b/metadata/md5-cache/app-arch/rpm-4.18.0 @@ -1,17 +1,17 @@ -BDEPEND=virtual/pkgconfig doc? ( app-doc/doxygen ) nls? ( sys-devel/gettext ) test? ( sys-apps/fakechroot ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71-r5 >=sys-devel/libtool-2.4.7 dev-lang/perl test? ( virtual/perl-Test-Simple ) +BDEPEND=virtual/pkgconfig doc? ( app-doc/doxygen ) nls? ( sys-devel/gettext ) test? ( sys-apps/fakechroot ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 >=dev-lang/perl-5.38.2-r3[perl_features_debug=,perl_features_ithreads=,perl_features_quadmath=] test? ( >=virtual/perl-Test-Simple-1 ) DEFINED_PHASES=compile configure install postinst prepare pretend setup test -DEPEND=lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) !app-arch/rpm5 app-arch/libarchive:= >=app-arch/bzip2-1.0.1 app-arch/xz-utils >=app-crypt/gnupg-1.2 >=dev-lang/perl-5.8.8 dev-libs/elfutils dev-libs/libgcrypt:= >=dev-libs/popt-1.7 sys-apps/file >=sys-libs/zlib-1.2.3-r1 virtual/libintl acl? ( virtual/acl ) audit? ( sys-process/audit ) caps? ( >=sys-libs/libcap-2.0 ) dbus? ( sys-apps/dbus ) readline? ( sys-libs/readline:= ) sqlite? ( dev-db/sqlite:3 ) python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) ) nls? ( virtual/libintl ) zstd? ( app-arch/zstd:= ) dev-lang/perl +DEPEND=lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) !app-arch/rpm5 app-arch/libarchive:= >=app-arch/bzip2-1.0.1 app-arch/xz-utils >=app-crypt/gnupg-1.2 >=dev-lang/perl-5.8.8 dev-libs/elfutils dev-libs/libgcrypt:= >=dev-libs/popt-1.7 sys-apps/file >=sys-libs/zlib-1.2.3-r1 virtual/libintl acl? ( virtual/acl ) audit? ( sys-process/audit ) caps? ( >=sys-libs/libcap-2.0 ) dbus? ( sys-apps/dbus ) readline? ( sys-libs/readline:= ) sqlite? ( dev-db/sqlite:3 ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) ) nls? ( virtual/libintl ) zstd? ( app-arch/zstd:= ) >=dev-lang/perl-5.38.2-r3[perl_features_debug=,perl_features_ithreads=,perl_features_quadmath=] DESCRIPTION=Red Hat Package Management Utils EAPI=8 HOMEPAGE=https://rpm.org/ https://github.com/rpm-software-management/rpm INHERIT=autotools lua-single perl-module python-single-r1 toolchain-funcs -IUSE=acl audit caps +berkdb doc dbus nls openmp python readline selinux +sqlite test +zstd lua_single_target_lua5-3 lua_single_target_lua5-4 test python_single_target_python3_10 python_single_target_python3_11 +IUSE=acl audit caps +berkdb doc dbus nls openmp python readline selinux +sqlite test +zstd lua_single_target_lua5-3 lua_single_target_lua5-4 perl_features_debug perl_features_ithreads perl_features_quadmath test python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux LICENSE=GPL-2 LGPL-2 -RDEPEND=lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) !app-arch/rpm5 app-arch/libarchive:= >=app-arch/bzip2-1.0.1 app-arch/xz-utils >=app-crypt/gnupg-1.2 >=dev-lang/perl-5.8.8 dev-libs/elfutils dev-libs/libgcrypt:= >=dev-libs/popt-1.7 sys-apps/file >=sys-libs/zlib-1.2.3-r1 virtual/libintl acl? ( virtual/acl ) audit? ( sys-process/audit ) caps? ( >=sys-libs/libcap-2.0 ) dbus? ( sys-apps/dbus ) readline? ( sys-libs/readline:= ) sqlite? ( dev-db/sqlite:3 ) python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) ) nls? ( virtual/libintl ) zstd? ( app-arch/zstd:= ) selinux? ( sec-policy/selinux-rpm ) dev-lang/perl:= +RDEPEND=lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) !app-arch/rpm5 app-arch/libarchive:= >=app-arch/bzip2-1.0.1 app-arch/xz-utils >=app-crypt/gnupg-1.2 >=dev-lang/perl-5.8.8 dev-libs/elfutils dev-libs/libgcrypt:= >=dev-libs/popt-1.7 sys-apps/file >=sys-libs/zlib-1.2.3-r1 virtual/libintl acl? ( virtual/acl ) audit? ( sys-process/audit ) caps? ( >=sys-libs/libcap-2.0 ) dbus? ( sys-apps/dbus ) readline? ( sys-libs/readline:= ) sqlite? ( dev-db/sqlite:3 ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) ) nls? ( virtual/libintl ) zstd? ( app-arch/zstd:= ) selinux? ( sec-policy/selinux-rpm ) >=dev-lang/perl-5.38.2-r3[perl_features_debug=,perl_features_ithreads=,perl_features_quadmath=] dev-lang/perl:= REQUIRED_USE=^^ ( lua_single_target_lua5-3 lua_single_target_lua5-4 ) python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) ) RESTRICT=test !test? ( test ) SLOT=0 SRC_URI=https://ftp.osuosl.org/pub/rpm/releases/rpm-4.18.x/rpm-4.18.0.tar.bz2 http://ftp.rpm.org/releases/rpm-4.18.x/rpm-4.18.0.tar.bz2 -_eclasses_=gnuconfig b6b3e92f8b8c996400074b5f61a59256 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 libtool 9d3a9a889a6fa62ae794f817c156491b autotools f0d3196128225dee3220e65f3371bc7a lua-utils d37a16dbcc1f07f71bc48da75ed7a0cb lua-single 86d497a20c93c7ce83af442f627515c1 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 perl-functions c3fca037246e877693badea0df3b0ef8 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 perl-module 8c55459fea879ccdec282839a3b22f78 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb multiprocessing 1e32df7deee68372153dca65f4a7c21f perl-functions 1863acf0982afafc67797e3ce7275b4c readme.gentoo-r1 b045f3acf546393ab6b3170781875358 perl-module 25ca2ff8e7971cb7f817f0bda4be696d python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=21a6582c027f99d1acf47059f3db53b5 diff --git a/metadata/md5-cache/app-backup/timeshift-22.06.5 b/metadata/md5-cache/app-backup/timeshift-22.06.5 index c01b04a..5970b84 100644 --- a/metadata/md5-cache/app-backup/timeshift-22.06.5 +++ b/metadata/md5-cache/app-backup/timeshift-22.06.5 @@ -11,5 +11,5 @@ LICENSE=LGPL-3 RDEPEND=dev-libs/atk dev-libs/glib:2 dev-libs/json-glib dev-libs/libgee:= net-libs/libsoup:2.4 media-libs/harfbuzz:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/libX11 x11-libs/pango x11-libs/xapp x11-libs/vte:2.91[vala] net-misc/rsync virtual/cron SLOT=0 SRC_URI=https://github.com/linuxmint/timeshift/archive/refs/tags/22.06.5.tar.gz -> timeshift-22.06.5.tar.gz -_eclasses_=optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 vala e477903dbe0105930c51f170a592dc16 xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 +_eclasses_=optfeature 538bce96e5589935b57e178e8635f301 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 vala e477903dbe0105930c51f170a592dc16 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=3df52d993f2f250a7f4f26f449c6850b diff --git a/metadata/md5-cache/app-containers/docker-cli-23.0.1 b/metadata/md5-cache/app-containers/docker-cli-23.0.1 index d80854d..9c98c45 100644 --- a/metadata/md5-cache/app-containers/docker-cli-23.0.1 +++ b/metadata/md5-cache/app-containers/docker-cli-23.0.1 @@ -11,5 +11,5 @@ RDEPEND=! docker-cli-23.0.1.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff golang-base 9f0e420ab37bc55a318d74bab3aae891 golang-vcs-snapshot 80659643e60eb07e6df6ff936b7d5f66 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 golang-base 33e0f9ff6c6f053a3df2d38992afeb58 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 go-env 0e2babf96e7d0b045fc07ad199eb2399 golang-vcs-snapshot dacb23628c2ff18d349878f599c078a5 _md5_=3627ffa456e8fce18d70f643eb091809 diff --git a/metadata/md5-cache/app-crypt/rpm-sequoia-1.7.0-r1 b/metadata/md5-cache/app-crypt/rpm-sequoia-1.7.0-r1 new file mode 100644 index 0000000..fee6e96 --- /dev/null +++ b/metadata/md5-cache/app-crypt/rpm-sequoia-1.7.0-r1 @@ -0,0 +1,16 @@ +BDEPEND=virtual/pkgconfig nettle? ( llvm_slot_20? ( llvm-core/clang:20 ) ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=nettle? ( dev-libs/gmp:= dev-libs/nettle:= ) openssl? ( dev-libs/openssl:= ) +DESCRIPTION=Implementation of the RPM PGP interface using Sequoia +EAPI=8 +HOMEPAGE=https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia +INHERIT=cargo llvm-r1 +IUSE=nettle +openssl +llvm_slot_20 debug +KEYWORDS=amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~sparc ~x86 +LICENSE=LGPL-2+ Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-3.0 Unicode-DFS-2016 || ( GPL-2 GPL-3 LGPL-3 ) +RDEPEND=nettle? ( dev-libs/gmp:= dev-libs/nettle:= ) openssl? ( dev-libs/openssl:= ) +REQUIRED_USE=^^ ( nettle openssl ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v1.7.0.tar.gz -> rpm-sequoia-1.7.0.tar.gz https://crates.io/api/v1/crates/aead/0.5.2/download -> aead-0.5.2.crate https://crates.io/api/v1/crates/aes-gcm/0.10.3/download -> aes-gcm-0.10.3.crate https://crates.io/api/v1/crates/aes/0.8.4/download -> aes-0.8.4.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anstyle/1.0.7/download -> anstyle-1.0.7.crate https://crates.io/api/v1/crates/anyhow/1.0.86/download -> anyhow-1.0.86.crate https://crates.io/api/v1/crates/ascii-canvas/3.0.0/download -> ascii-canvas-3.0.0.crate https://crates.io/api/v1/crates/assert_cmd/2.0.14/download -> assert_cmd-2.0.14.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/base16ct/0.2.0/download -> base16ct-0.2.0.crate https://crates.io/api/v1/crates/base64/0.22.1/download -> base64-0.22.1.crate https://crates.io/api/v1/crates/base64ct/1.6.0/download -> base64ct-1.6.0.crate https://crates.io/api/v1/crates/bindgen/0.68.1/download -> bindgen-0.68.1.crate https://crates.io/api/v1/crates/bit-set/0.5.3/download -> bit-set-0.5.3.crate https://crates.io/api/v1/crates/bit-vec/0.6.3/download -> bit-vec-0.6.3.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.4/download -> block-buffer-0.10.4.crate https://crates.io/api/v1/crates/block-padding/0.3.3/download -> block-padding-0.3.3.crate https://crates.io/api/v1/crates/blowfish/0.9.1/download -> blowfish-0.9.1.crate https://crates.io/api/v1/crates/botan-sys/0.10.5/download -> botan-sys-0.10.5.crate https://crates.io/api/v1/crates/botan/0.10.7/download -> botan-0.10.7.crate https://crates.io/api/v1/crates/bstr/1.9.1/download -> bstr-1.9.1.crate https://crates.io/api/v1/crates/buffered-reader/1.3.1/download -> buffered-reader-1.3.1.crate https://crates.io/api/v1/crates/bumpalo/3.16.0/download -> bumpalo-3.16.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/camellia/0.1.0/download -> camellia-0.1.0.crate https://crates.io/api/v1/crates/cast5/0.11.1/download -> cast5-0.11.1.crate https://crates.io/api/v1/crates/cc/1.0.106/download -> cc-1.0.106.crate https://crates.io/api/v1/crates/cdylib-link-lines/0.1.5/download -> cdylib-link-lines-0.1.5.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfb-mode/0.8.2/download -> cfb-mode-0.8.2.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chrono/0.4.38/download -> chrono-0.4.38.crate https://crates.io/api/v1/crates/cipher/0.4.4/download -> cipher-0.4.4.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/cmac/0.7.2/download -> cmac-0.7.2.crate https://crates.io/api/v1/crates/const-oid/0.9.6/download -> const-oid-0.9.6.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.6/download -> core-foundation-sys-0.8.6.crate https://crates.io/api/v1/crates/cpufeatures/0.2.12/download -> cpufeatures-0.2.12.crate https://crates.io/api/v1/crates/crunchy/0.2.2/download -> crunchy-0.2.2.crate https://crates.io/api/v1/crates/crypto-bigint/0.5.5/download -> crypto-bigint-0.5.5.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/ctr/0.9.2/download -> ctr-0.9.2.crate https://crates.io/api/v1/crates/curve25519-dalek-derive/0.1.1/download -> curve25519-dalek-derive-0.1.1.crate https://crates.io/api/v1/crates/curve25519-dalek/4.1.3/download -> curve25519-dalek-4.1.3.crate https://crates.io/api/v1/crates/dbl/0.3.2/download -> dbl-0.3.2.crate https://crates.io/api/v1/crates/der/0.7.9/download -> der-0.7.9.crate https://crates.io/api/v1/crates/des/0.8.1/download -> des-0.8.1.crate https://crates.io/api/v1/crates/difflib/0.4.0/download -> difflib-0.4.0.crate https://crates.io/api/v1/crates/digest/0.10.7/download -> digest-0.10.7.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/displaydoc/0.2.5/download -> displaydoc-0.2.5.crate https://crates.io/api/v1/crates/doc-comment/0.3.3/download -> doc-comment-0.3.3.crate https://crates.io/api/v1/crates/dsa/0.6.3/download -> dsa-0.6.3.crate https://crates.io/api/v1/crates/dyn-clone/1.0.17/download -> dyn-clone-1.0.17.crate https://crates.io/api/v1/crates/eax/0.5.0/download -> eax-0.5.0.crate https://crates.io/api/v1/crates/ecb/0.1.2/download -> ecb-0.1.2.crate https://crates.io/api/v1/crates/ecdsa/0.16.9/download -> ecdsa-0.16.9.crate https://crates.io/api/v1/crates/ed25519-dalek/2.1.1/download -> ed25519-dalek-2.1.1.crate https://crates.io/api/v1/crates/ed25519/2.2.3/download -> ed25519-2.2.3.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/elliptic-curve/0.13.8/download -> elliptic-curve-0.13.8.crate https://crates.io/api/v1/crates/ena/0.14.3/download -> ena-0.14.3.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/fastrand/2.1.0/download -> fastrand-2.1.0.crate https://crates.io/api/v1/crates/ff/0.13.0/download -> ff-0.13.0.crate https://crates.io/api/v1/crates/fiat-crypto/0.2.9/download -> fiat-crypto-0.2.9.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/generic-array/0.14.7/download -> generic-array-0.14.7.crate https://crates.io/api/v1/crates/generic-array/1.1.0/download -> generic-array-1.1.0.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/ghash/0.5.1/download -> ghash-0.5.1.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/group/0.13.0/download -> group-0.13.0.crate https://crates.io/api/v1/crates/hashbrown/0.14.5/download -> hashbrown-0.14.5.crate https://crates.io/api/v1/crates/hkdf/0.12.4/download -> hkdf-0.12.4.crate https://crates.io/api/v1/crates/hmac/0.12.1/download -> hmac-0.12.1.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.60/download -> iana-time-zone-0.1.60.crate https://crates.io/api/v1/crates/icu_collections/1.5.0/download -> icu_collections-1.5.0.crate https://crates.io/api/v1/crates/icu_locid/1.5.0/download -> icu_locid-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform/1.5.0/download -> icu_locid_transform-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform_data/1.5.0/download -> icu_locid_transform_data-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer/1.5.0/download -> icu_normalizer-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer_data/1.5.0/download -> icu_normalizer_data-1.5.0.crate https://crates.io/api/v1/crates/icu_properties/1.5.1/download -> icu_properties-1.5.1.crate https://crates.io/api/v1/crates/icu_properties_data/1.5.0/download -> icu_properties_data-1.5.0.crate https://crates.io/api/v1/crates/icu_provider/1.5.0/download -> icu_provider-1.5.0.crate https://crates.io/api/v1/crates/icu_provider_macros/1.5.0/download -> icu_provider_macros-1.5.0.crate https://crates.io/api/v1/crates/idea/0.5.1/download -> idea-0.5.1.crate https://crates.io/api/v1/crates/idna/1.0.2/download -> idna-1.0.2.crate https://crates.io/api/v1/crates/indexmap/2.2.6/download -> indexmap-2.2.6.crate https://crates.io/api/v1/crates/inout/0.1.3/download -> inout-0.1.3.crate https://crates.io/api/v1/crates/itertools/0.11.0/download -> itertools-0.11.0.crate https://crates.io/api/v1/crates/js-sys/0.3.69/download -> js-sys-0.3.69.crate https://crates.io/api/v1/crates/lalrpop-util/0.20.2/download -> lalrpop-util-0.20.2.crate https://crates.io/api/v1/crates/lalrpop/0.20.2/download -> lalrpop-0.20.2.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.155/download -> libc-0.2.155.crate https://crates.io/api/v1/crates/libloading/0.8.4/download -> libloading-0.8.4.crate https://crates.io/api/v1/crates/libm/0.2.8/download -> libm-0.2.8.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/litemap/0.7.3/download -> litemap-0.7.3.crate https://crates.io/api/v1/crates/lock_api/0.4.12/download -> lock_api-0.4.12.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/md-5/0.10.6/download -> md-5-0.10.6.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/memsec/0.7.0/download -> memsec-0.7.0.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/nettle-sys/2.3.0/download -> nettle-sys-2.3.0.crate https://crates.io/api/v1/crates/nettle/7.4.0/download -> nettle-7.4.0.crate https://crates.io/api/v1/crates/new_debug_unreachable/1.0.6/download -> new_debug_unreachable-1.0.6.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/num-bigint-dig/0.8.4/download -> num-bigint-dig-0.8.4.crate https://crates.io/api/v1/crates/num-integer/0.1.46/download -> num-integer-0.1.46.crate https://crates.io/api/v1/crates/num-iter/0.1.45/download -> num-iter-0.1.45.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/opaque-debug/0.3.1/download -> opaque-debug-0.3.1.crate https://crates.io/api/v1/crates/openssl-macros/0.1.1/download -> openssl-macros-0.1.1.crate https://crates.io/api/v1/crates/openssl-sys/0.9.102/download -> openssl-sys-0.9.102.crate https://crates.io/api/v1/crates/openssl/0.10.64/download -> openssl-0.10.64.crate https://crates.io/api/v1/crates/p256/0.13.2/download -> p256-0.13.2.crate https://crates.io/api/v1/crates/p384/0.13.0/download -> p384-0.13.0.crate https://crates.io/api/v1/crates/p521/0.13.3/download -> p521-0.13.3.crate https://crates.io/api/v1/crates/parking_lot/0.12.3/download -> parking_lot-0.12.3.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.10/download -> parking_lot_core-0.9.10.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/pem-rfc7468/0.7.0/download -> pem-rfc7468-0.7.0.crate https://crates.io/api/v1/crates/petgraph/0.6.5/download -> petgraph-0.6.5.crate https://crates.io/api/v1/crates/phf_shared/0.10.0/download -> phf_shared-0.10.0.crate https://crates.io/api/v1/crates/pkcs1/0.7.5/download -> pkcs1-0.7.5.crate https://crates.io/api/v1/crates/pkcs8/0.10.2/download -> pkcs8-0.10.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/polyval/0.6.2/download -> polyval-0.6.2.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download -> ppv-lite86-0.2.17.crate https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download -> precomputed-hash-0.1.1.crate https://crates.io/api/v1/crates/predicates-core/1.0.6/download -> predicates-core-1.0.6.crate https://crates.io/api/v1/crates/predicates-tree/1.0.9/download -> predicates-tree-1.0.9.crate https://crates.io/api/v1/crates/predicates/3.1.0/download -> predicates-3.1.0.crate https://crates.io/api/v1/crates/primeorder/0.13.6/download -> primeorder-0.13.6.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quote/1.0.36/download -> quote-1.0.36.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/redox_syscall/0.5.2/download -> redox_syscall-0.5.2.crate https://crates.io/api/v1/crates/redox_users/0.4.5/download -> redox_users-0.4.5.crate https://crates.io/api/v1/crates/regex-automata/0.4.7/download -> regex-automata-0.4.7.crate https://crates.io/api/v1/crates/regex-syntax/0.8.4/download -> regex-syntax-0.8.4.crate https://crates.io/api/v1/crates/regex/1.10.5/download -> regex-1.10.5.crate https://crates.io/api/v1/crates/rfc6979/0.4.0/download -> rfc6979-0.4.0.crate https://crates.io/api/v1/crates/ripemd/0.1.3/download -> ripemd-0.1.3.crate https://crates.io/api/v1/crates/rsa/0.9.6/download -> rsa-0.9.6.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.34/download -> rustix-0.38.34.crate https://crates.io/api/v1/crates/rustversion/1.0.17/download -> rustversion-1.0.17.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/sec1/0.7.3/download -> sec1-0.7.3.crate https://crates.io/api/v1/crates/semver/1.0.23/download -> semver-1.0.23.crate https://crates.io/api/v1/crates/sequoia-openpgp/1.21.1/download -> sequoia-openpgp-1.21.1.crate https://crates.io/api/v1/crates/sequoia-policy-config/0.6.0/download -> sequoia-policy-config-0.6.0.crate https://crates.io/api/v1/crates/serde/1.0.204/download -> serde-1.0.204.crate https://crates.io/api/v1/crates/serde_derive/1.0.204/download -> serde_derive-1.0.204.crate https://crates.io/api/v1/crates/sha1collisiondetection/0.3.4/download -> sha1collisiondetection-0.3.4.crate https://crates.io/api/v1/crates/sha2/0.10.8/download -> sha2-0.10.8.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/signature/2.2.0/download -> signature-2.2.0.crate https://crates.io/api/v1/crates/siphasher/0.3.11/download -> siphasher-0.3.11.crate https://crates.io/api/v1/crates/smallvec/1.13.2/download -> smallvec-1.13.2.crate https://crates.io/api/v1/crates/spin/0.9.8/download -> spin-0.9.8.crate https://crates.io/api/v1/crates/spki/0.7.3/download -> spki-0.7.3.crate https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download -> stable_deref_trait-1.2.0.crate https://crates.io/api/v1/crates/string_cache/0.8.7/download -> string_cache-0.8.7.crate https://crates.io/api/v1/crates/subtle/2.6.1/download -> subtle-2.6.1.crate https://crates.io/api/v1/crates/syn/2.0.70/download -> syn-2.0.70.crate https://crates.io/api/v1/crates/synstructure/0.13.1/download -> synstructure-0.13.1.crate https://crates.io/api/v1/crates/tempfile/3.10.1/download -> tempfile-3.10.1.crate https://crates.io/api/v1/crates/term/0.7.0/download -> term-0.7.0.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.61/download -> thiserror-impl-1.0.61.crate https://crates.io/api/v1/crates/thiserror/1.0.61/download -> thiserror-1.0.61.crate https://crates.io/api/v1/crates/tiny-keccak/2.0.2/download -> tiny-keccak-2.0.2.crate https://crates.io/api/v1/crates/tinystr/0.7.6/download -> tinystr-0.7.6.crate https://crates.io/api/v1/crates/toml/0.5.11/download -> toml-0.5.11.crate https://crates.io/api/v1/crates/twofish/0.7.1/download -> twofish-0.7.1.crate https://crates.io/api/v1/crates/typenum/1.17.0/download -> typenum-1.17.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-xid/0.2.4/download -> unicode-xid-0.2.4.crate https://crates.io/api/v1/crates/universal-hash/0.5.1/download -> universal-hash-0.5.1.crate https://crates.io/api/v1/crates/utf16_iter/1.0.5/download -> utf16_iter-1.0.5.crate https://crates.io/api/v1/crates/utf8_iter/1.0.4/download -> utf8_iter-1.0.4.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/wait-timeout/0.2.0/download -> wait-timeout-0.2.0.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.92/download -> wasm-bindgen-backend-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.92/download -> wasm-bindgen-macro-support-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.92/download -> wasm-bindgen-macro-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.92/download -> wasm-bindgen-shared-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.92/download -> wasm-bindgen-0.2.92.crate https://crates.io/api/v1/crates/win-crypto-ng/0.5.1/download -> win-crypto-ng-0.5.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.8/download -> winapi-util-0.1.8.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/write16/1.0.0/download -> write16-1.0.0.crate https://crates.io/api/v1/crates/writeable/0.5.5/download -> writeable-0.5.5.crate https://crates.io/api/v1/crates/x25519-dalek/2.0.1/download -> x25519-dalek-2.0.1.crate https://crates.io/api/v1/crates/xxhash-rust/0.8.11/download -> xxhash-rust-0.8.11.crate https://crates.io/api/v1/crates/yoke-derive/0.7.4/download -> yoke-derive-0.7.4.crate https://crates.io/api/v1/crates/yoke/0.7.4/download -> yoke-0.7.4.crate https://crates.io/api/v1/crates/zerofrom-derive/0.1.4/download -> zerofrom-derive-0.1.4.crate https://crates.io/api/v1/crates/zerofrom/0.1.4/download -> zerofrom-0.1.4.crate https://crates.io/api/v1/crates/zeroize/1.8.1/download -> zeroize-1.8.1.crate https://crates.io/api/v1/crates/zeroize_derive/1.4.2/download -> zeroize_derive-1.4.2.crate https://crates.io/api/v1/crates/zerovec-derive/0.10.3/download -> zerovec-derive-0.10.3.crate https://crates.io/api/v1/crates/zerovec/0.10.4/download -> zerovec-0.10.4.crate +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=c5ab34fbc50fece85ed4f6609d1cb410 diff --git a/metadata/md5-cache/app-crypt/sequoia-chameleon-gnupg-0.11.2 b/metadata/md5-cache/app-crypt/sequoia-chameleon-gnupg-0.11.2 new file mode 100644 index 0000000..1b7de6e --- /dev/null +++ b/metadata/md5-cache/app-crypt/sequoia-chameleon-gnupg-0.11.2 @@ -0,0 +1,17 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=dev-db/sqlite:3 dev-libs/gmp:= dev-libs/nettle:= dev-libs/openssl:= +DESCRIPTION=Sequoia's reimplementation of the GnuPG interface +EAPI=8 +HOMEPAGE=https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/ +INHERIT=cargo llvm-r1 xdg-utils +IUSE=+llvm_slot_20 debug +KEYWORDS=amd64 ~arm64 +LICENSE=GPL-3+ Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 || ( GPL-2 GPL-3 LGPL-3 ) +RDEPEND=dev-db/sqlite:3 dev-libs/gmp:= dev-libs/nettle:= dev-libs/openssl:= +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v0.11.2/sequoia-chameleon-gnupg-0.11.2-v0.11.2.tar.bz2 https://crates.io/api/v1/crates/addr2line/0.22.0/download -> addr2line-0.22.0.crate https://crates.io/api/v1/crates/adler2/2.0.0/download -> adler2-2.0.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/aead/0.5.2/download -> aead-0.5.2.crate https://crates.io/api/v1/crates/aes-gcm/0.10.3/download -> aes-gcm-0.10.3.crate https://crates.io/api/v1/crates/aes/0.8.4/download -> aes-0.8.4.crate https://crates.io/api/v1/crates/ahash/0.8.11/download -> ahash-0.8.11.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anstream/0.6.15/download -> anstream-0.6.15.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.5/download -> anstyle-parse-0.2.5.crate https://crates.io/api/v1/crates/anstyle-query/1.1.1/download -> anstyle-query-1.1.1.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.4/download -> anstyle-wincon-3.0.4.crate https://crates.io/api/v1/crates/anstyle/1.0.8/download -> anstyle-1.0.8.crate https://crates.io/api/v1/crates/anyhow/1.0.86/download -> anyhow-1.0.86.crate https://crates.io/api/v1/crates/ascii-canvas/3.0.0/download -> ascii-canvas-3.0.0.crate https://crates.io/api/v1/crates/async-trait/0.1.81/download -> async-trait-0.1.81.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/backtrace/0.3.73/download -> backtrace-0.3.73.crate https://crates.io/api/v1/crates/base64/0.21.7/download -> base64-0.21.7.crate https://crates.io/api/v1/crates/base64/0.22.1/download -> base64-0.22.1.crate https://crates.io/api/v1/crates/base64ct/1.6.0/download -> base64ct-1.6.0.crate https://crates.io/api/v1/crates/bindgen/0.68.1/download -> bindgen-0.68.1.crate https://crates.io/api/v1/crates/bit-set/0.5.3/download -> bit-set-0.5.3.crate https://crates.io/api/v1/crates/bit-vec/0.6.3/download -> bit-vec-0.6.3.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.4/download -> block-buffer-0.10.4.crate https://crates.io/api/v1/crates/block-padding/0.3.3/download -> block-padding-0.3.3.crate https://crates.io/api/v1/crates/botan-sys/0.10.5/download -> botan-sys-0.10.5.crate https://crates.io/api/v1/crates/botan/0.10.7/download -> botan-0.10.7.crate https://crates.io/api/v1/crates/buffered-reader/1.3.1/download -> buffered-reader-1.3.1.crate https://crates.io/api/v1/crates/bumpalo/3.16.0/download -> bumpalo-3.16.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/bytes/1.7.1/download -> bytes-1.7.1.crate https://crates.io/api/v1/crates/bzip2-sys/0.1.11+1.0.8/download -> bzip2-sys-0.1.11+1.0.8.crate https://crates.io/api/v1/crates/bzip2/0.4.4/download -> bzip2-0.4.4.crate https://crates.io/api/v1/crates/capnp-futures/0.19.0/download -> capnp-futures-0.19.0.crate https://crates.io/api/v1/crates/capnp-rpc/0.19.2/download -> capnp-rpc-0.19.2.crate https://crates.io/api/v1/crates/capnp/0.19.6/download -> capnp-0.19.6.crate https://crates.io/api/v1/crates/cc/1.1.15/download -> cc-1.1.15.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chrono/0.4.38/download -> chrono-0.4.38.crate https://crates.io/api/v1/crates/cipher/0.4.4/download -> cipher-0.4.4.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/clap/4.5.16/download -> clap-4.5.16.crate https://crates.io/api/v1/crates/clap_builder/4.5.15/download -> clap_builder-4.5.15.crate https://crates.io/api/v1/crates/clap_complete/4.5.24/download -> clap_complete-4.5.24.crate https://crates.io/api/v1/crates/clap_lex/0.7.2/download -> clap_lex-0.7.2.crate https://crates.io/api/v1/crates/clap_mangen/0.2.23/download -> clap_mangen-0.2.23.crate https://crates.io/api/v1/crates/cmac/0.7.2/download -> cmac-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.2/download -> colorchoice-1.0.2.crate https://crates.io/api/v1/crates/const-oid/0.9.6/download -> const-oid-0.9.6.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.7/download -> core-foundation-sys-0.8.7.crate https://crates.io/api/v1/crates/core-foundation/0.9.4/download -> core-foundation-0.9.4.crate https://crates.io/api/v1/crates/cpufeatures/0.2.13/download -> cpufeatures-0.2.13.crate https://crates.io/api/v1/crates/crc32fast/1.4.2/download -> crc32fast-1.4.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.13/download -> crossbeam-channel-0.5.13.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.5/download -> crossbeam-deque-0.8.5.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.18/download -> crossbeam-epoch-0.9.18.crate https://crates.io/api/v1/crates/crossbeam-queue/0.3.11/download -> crossbeam-queue-0.3.11.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.20/download -> crossbeam-utils-0.8.20.crate https://crates.io/api/v1/crates/crossbeam/0.8.4/download -> crossbeam-0.8.4.crate https://crates.io/api/v1/crates/crunchy/0.2.2/download -> crunchy-0.2.2.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/ctor/0.2.8/download -> ctor-0.2.8.crate https://crates.io/api/v1/crates/ctr/0.9.2/download -> ctr-0.9.2.crate https://crates.io/api/v1/crates/curve25519-dalek-derive/0.1.1/download -> curve25519-dalek-derive-0.1.1.crate https://crates.io/api/v1/crates/curve25519-dalek/4.1.3/download -> curve25519-dalek-4.1.3.crate https://crates.io/api/v1/crates/daemonize/0.5.0/download -> daemonize-0.5.0.crate https://crates.io/api/v1/crates/darling/0.20.10/download -> darling-0.20.10.crate https://crates.io/api/v1/crates/darling_core/0.20.10/download -> darling_core-0.20.10.crate https://crates.io/api/v1/crates/darling_macro/0.20.10/download -> darling_macro-0.20.10.crate https://crates.io/api/v1/crates/data-encoding/2.6.0/download -> data-encoding-2.6.0.crate https://crates.io/api/v1/crates/dbl/0.3.2/download -> dbl-0.3.2.crate https://crates.io/api/v1/crates/der/0.7.9/download -> der-0.7.9.crate https://crates.io/api/v1/crates/deranged/0.3.11/download -> deranged-0.3.11.crate https://crates.io/api/v1/crates/diff/0.1.13/download -> diff-0.1.13.crate https://crates.io/api/v1/crates/digest/0.10.7/download -> digest-0.10.7.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/dirs-sys/0.4.1/download -> dirs-sys-0.4.1.crate https://crates.io/api/v1/crates/dirs/5.0.1/download -> dirs-5.0.1.crate https://crates.io/api/v1/crates/displaydoc/0.2.5/download -> displaydoc-0.2.5.crate https://crates.io/api/v1/crates/doc-comment/0.3.3/download -> doc-comment-0.3.3.crate https://crates.io/api/v1/crates/dyn-clone/1.0.17/download -> dyn-clone-1.0.17.crate https://crates.io/api/v1/crates/eax/0.5.0/download -> eax-0.5.0.crate https://crates.io/api/v1/crates/ed25519-dalek/2.1.1/download -> ed25519-dalek-2.1.1.crate https://crates.io/api/v1/crates/ed25519/2.2.3/download -> ed25519-2.2.3.crate https://crates.io/api/v1/crates/editdistancek/1.0.2/download -> editdistancek-1.0.2.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/embedded-io/0.6.1/download -> embedded-io-0.6.1.crate https://crates.io/api/v1/crates/ena/0.14.3/download -> ena-0.14.3.crate https://crates.io/api/v1/crates/encoding_rs/0.8.34/download -> encoding_rs-0.8.34.crate https://crates.io/api/v1/crates/endian-type/0.1.2/download -> endian-type-0.1.2.crate https://crates.io/api/v1/crates/enum-as-inner/0.6.0/download -> enum-as-inner-0.6.0.crate https://crates.io/api/v1/crates/enumber/0.3.1/download -> enumber-0.3.1.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/fallible-iterator/0.3.0/download -> fallible-iterator-0.3.0.crate https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download -> fallible-streaming-iterator-0.1.9.crate https://crates.io/api/v1/crates/fastrand/2.1.1/download -> fastrand-2.1.1.crate https://crates.io/api/v1/crates/fd-lock/4.0.2/download -> fd-lock-4.0.2.crate https://crates.io/api/v1/crates/fiat-crypto/0.2.9/download -> fiat-crypto-0.2.9.crate https://crates.io/api/v1/crates/filetime/0.2.24/download -> filetime-0.2.24.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.33/download -> flate2-1.0.33.crate https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/form_urlencoded/1.2.1/download -> form_urlencoded-1.2.1.crate https://crates.io/api/v1/crates/fs2/0.4.3/download -> fs2-0.4.3.crate https://crates.io/api/v1/crates/futures-channel/0.3.30/download -> futures-channel-0.3.30.crate https://crates.io/api/v1/crates/futures-core/0.3.30/download -> futures-core-0.3.30.crate https://crates.io/api/v1/crates/futures-executor/0.3.30/download -> futures-executor-0.3.30.crate https://crates.io/api/v1/crates/futures-io/0.3.30/download -> futures-io-0.3.30.crate https://crates.io/api/v1/crates/futures-macro/0.3.30/download -> futures-macro-0.3.30.crate https://crates.io/api/v1/crates/futures-sink/0.3.30/download -> futures-sink-0.3.30.crate https://crates.io/api/v1/crates/futures-task/0.3.30/download -> futures-task-0.3.30.crate https://crates.io/api/v1/crates/futures-util/0.3.30/download -> futures-util-0.3.30.crate https://crates.io/api/v1/crates/futures/0.3.30/download -> futures-0.3.30.crate https://crates.io/api/v1/crates/generic-array/0.14.7/download -> generic-array-0.14.7.crate https://crates.io/api/v1/crates/generic-array/1.1.0/download -> generic-array-1.1.0.crate https://crates.io/api/v1/crates/gethostname/0.4.3/download -> gethostname-0.4.3.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/ghash/0.5.1/download -> ghash-0.5.1.crate https://crates.io/api/v1/crates/gimli/0.29.0/download -> gimli-0.29.0.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/h2/0.3.26/download -> h2-0.3.26.crate https://crates.io/api/v1/crates/hashbrown/0.12.3/download -> hashbrown-0.12.3.crate https://crates.io/api/v1/crates/hashbrown/0.14.5/download -> hashbrown-0.14.5.crate https://crates.io/api/v1/crates/hashlink/0.9.1/download -> hashlink-0.9.1.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/hex/0.4.3/download -> hex-0.4.3.crate https://crates.io/api/v1/crates/hickory-client/0.24.1/download -> hickory-client-0.24.1.crate https://crates.io/api/v1/crates/hickory-proto/0.24.1/download -> hickory-proto-0.24.1.crate https://crates.io/api/v1/crates/hickory-resolver/0.24.1/download -> hickory-resolver-0.24.1.crate https://crates.io/api/v1/crates/histo/1.0.0/download -> histo-1.0.0.crate https://crates.io/api/v1/crates/hostname/0.3.1/download -> hostname-0.3.1.crate https://crates.io/api/v1/crates/http-body/0.4.6/download -> http-body-0.4.6.crate https://crates.io/api/v1/crates/http/0.2.12/download -> http-0.2.12.crate https://crates.io/api/v1/crates/httparse/1.9.4/download -> httparse-1.9.4.crate https://crates.io/api/v1/crates/httpdate/1.0.3/download -> httpdate-1.0.3.crate https://crates.io/api/v1/crates/hyper-tls/0.5.0/download -> hyper-tls-0.5.0.crate https://crates.io/api/v1/crates/hyper/0.14.30/download -> hyper-0.14.30.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.60/download -> iana-time-zone-0.1.60.crate https://crates.io/api/v1/crates/icu_collections/1.5.0/download -> icu_collections-1.5.0.crate https://crates.io/api/v1/crates/icu_locid/1.5.0/download -> icu_locid-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform/1.5.0/download -> icu_locid_transform-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform_data/1.5.0/download -> icu_locid_transform_data-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer/1.5.0/download -> icu_normalizer-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer_data/1.5.0/download -> icu_normalizer_data-1.5.0.crate https://crates.io/api/v1/crates/icu_properties/1.5.1/download -> icu_properties-1.5.1.crate https://crates.io/api/v1/crates/icu_properties_data/1.5.0/download -> icu_properties_data-1.5.0.crate https://crates.io/api/v1/crates/icu_provider/1.5.0/download -> icu_provider-1.5.0.crate https://crates.io/api/v1/crates/icu_provider_macros/1.5.0/download -> icu_provider_macros-1.5.0.crate https://crates.io/api/v1/crates/ident_case/1.0.1/download -> ident_case-1.0.1.crate https://crates.io/api/v1/crates/idna/0.4.0/download -> idna-0.4.0.crate https://crates.io/api/v1/crates/idna/0.5.0/download -> idna-0.5.0.crate https://crates.io/api/v1/crates/idna/1.0.2/download -> idna-1.0.2.crate https://crates.io/api/v1/crates/indexmap/1.9.3/download -> indexmap-1.9.3.crate https://crates.io/api/v1/crates/indexmap/2.4.0/download -> indexmap-2.4.0.crate https://crates.io/api/v1/crates/inout/0.1.3/download -> inout-0.1.3.crate https://crates.io/api/v1/crates/interprocess/1.2.1/download -> interprocess-1.2.1.crate https://crates.io/api/v1/crates/ipconfig/0.3.2/download -> ipconfig-0.3.2.crate https://crates.io/api/v1/crates/ipnet/2.9.0/download -> ipnet-2.9.0.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/itertools/0.11.0/download -> itertools-0.11.0.crate https://crates.io/api/v1/crates/itoa/1.0.11/download -> itoa-1.0.11.crate https://crates.io/api/v1/crates/js-sys/0.3.70/download -> js-sys-0.3.70.crate https://crates.io/api/v1/crates/lalrpop-util/0.20.2/download -> lalrpop-util-0.20.2.crate https://crates.io/api/v1/crates/lalrpop/0.20.2/download -> lalrpop-0.20.2.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.158/download -> libc-0.2.158.crate https://crates.io/api/v1/crates/libloading/0.8.5/download -> libloading-0.8.5.crate https://crates.io/api/v1/crates/libm/0.2.8/download -> libm-0.2.8.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/libsqlite3-sys/0.28.0/download -> libsqlite3-sys-0.28.0.crate https://crates.io/api/v1/crates/linked-hash-map/0.5.6/download -> linked-hash-map-0.5.6.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/litemap/0.7.3/download -> litemap-0.7.3.crate https://crates.io/api/v1/crates/lock_api/0.4.12/download -> lock_api-0.4.12.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/lru-cache/0.1.2/download -> lru-cache-0.1.2.crate https://crates.io/api/v1/crates/match_cfg/0.1.0/download -> match_cfg-0.1.0.crate https://crates.io/api/v1/crates/md-5/0.10.6/download -> md-5-0.10.6.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/memsec/0.7.0/download -> memsec-0.7.0.crate https://crates.io/api/v1/crates/mime/0.3.17/download -> mime-0.3.17.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.4/download -> miniz_oxide-0.7.4.crate https://crates.io/api/v1/crates/miniz_oxide/0.8.0/download -> miniz_oxide-0.8.0.crate https://crates.io/api/v1/crates/mio/1.0.2/download -> mio-1.0.2.crate https://crates.io/api/v1/crates/native-tls/0.2.12/download -> native-tls-0.2.12.crate https://crates.io/api/v1/crates/nettle-sys/2.3.0/download -> nettle-sys-2.3.0.crate https://crates.io/api/v1/crates/nettle/7.4.0/download -> nettle-7.4.0.crate https://crates.io/api/v1/crates/new_debug_unreachable/1.0.6/download -> new_debug_unreachable-1.0.6.crate https://crates.io/api/v1/crates/nibble_vec/0.1.0/download -> nibble_vec-0.1.0.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/ntest/0.9.3/download -> ntest-0.9.3.crate https://crates.io/api/v1/crates/ntest_test_cases/0.9.3/download -> ntest_test_cases-0.9.3.crate https://crates.io/api/v1/crates/ntest_timeout/0.9.3/download -> ntest_timeout-0.9.3.crate https://crates.io/api/v1/crates/num-bigint-dig/0.8.4/download -> num-bigint-dig-0.8.4.crate https://crates.io/api/v1/crates/num-conv/0.1.0/download -> num-conv-0.1.0.crate https://crates.io/api/v1/crates/num-integer/0.1.46/download -> num-integer-0.1.46.crate https://crates.io/api/v1/crates/num-iter/0.1.45/download -> num-iter-0.1.45.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/object/0.36.3/download -> object-0.36.3.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/opaque-debug/0.3.1/download -> opaque-debug-0.3.1.crate https://crates.io/api/v1/crates/openpgp-cert-d/0.3.2/download -> openpgp-cert-d-0.3.2.crate https://crates.io/api/v1/crates/openssh-keys/0.6.4/download -> openssh-keys-0.6.4.crate https://crates.io/api/v1/crates/openssl-macros/0.1.1/download -> openssl-macros-0.1.1.crate https://crates.io/api/v1/crates/openssl-probe/0.1.5/download -> openssl-probe-0.1.5.crate https://crates.io/api/v1/crates/openssl-sys/0.9.103/download -> openssl-sys-0.9.103.crate https://crates.io/api/v1/crates/openssl/0.10.66/download -> openssl-0.10.66.crate https://crates.io/api/v1/crates/option-ext/0.2.0/download -> option-ext-0.2.0.crate https://crates.io/api/v1/crates/parking_lot/0.12.3/download -> parking_lot-0.12.3.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.10/download -> parking_lot_core-0.9.10.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/percent-encoding/2.3.1/download -> percent-encoding-2.3.1.crate https://crates.io/api/v1/crates/petgraph/0.6.5/download -> petgraph-0.6.5.crate https://crates.io/api/v1/crates/phf_shared/0.10.0/download -> phf_shared-0.10.0.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.14/download -> pin-project-lite-0.2.14.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pkcs8/0.10.2/download -> pkcs8-0.10.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/polyval/0.6.2/download -> polyval-0.6.2.crate https://crates.io/api/v1/crates/powerfmt/0.2.0/download -> powerfmt-0.2.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.20/download -> ppv-lite86-0.2.20.crate https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download -> precomputed-hash-0.1.1.crate https://crates.io/api/v1/crates/proc-macro-crate/3.2.0/download -> proc-macro-crate-3.2.0.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quick-error/1.2.3/download -> quick-error-1.2.3.crate https://crates.io/api/v1/crates/quote/1.0.37/download -> quote-1.0.37.crate https://crates.io/api/v1/crates/radix_trie/0.2.1/download -> radix_trie-0.2.1.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rand_distr/0.4.3/download -> rand_distr-0.4.3.crate https://crates.io/api/v1/crates/rayon-core/1.12.1/download -> rayon-core-1.12.1.crate https://crates.io/api/v1/crates/rayon/1.10.0/download -> rayon-1.10.0.crate https://crates.io/api/v1/crates/redox_syscall/0.5.3/download -> redox_syscall-0.5.3.crate https://crates.io/api/v1/crates/redox_users/0.4.6/download -> redox_users-0.4.6.crate https://crates.io/api/v1/crates/regex-automata/0.4.7/download -> regex-automata-0.4.7.crate https://crates.io/api/v1/crates/regex-syntax/0.8.4/download -> regex-syntax-0.8.4.crate https://crates.io/api/v1/crates/regex/1.10.6/download -> regex-1.10.6.crate https://crates.io/api/v1/crates/reqwest/0.11.27/download -> reqwest-0.11.27.crate https://crates.io/api/v1/crates/resolv-conf/0.7.0/download -> resolv-conf-0.7.0.crate https://crates.io/api/v1/crates/roff/0.2.2/download -> roff-0.2.2.crate https://crates.io/api/v1/crates/rpassword/7.3.1/download -> rpassword-7.3.1.crate https://crates.io/api/v1/crates/rtoolbox/0.0.2/download -> rtoolbox-0.0.2.crate https://crates.io/api/v1/crates/rusqlite/0.31.0/download -> rusqlite-0.31.0.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download -> rustc-demangle-0.1.24.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.35/download -> rustix-0.38.35.crate https://crates.io/api/v1/crates/rustls-pemfile/1.0.4/download -> rustls-pemfile-1.0.4.crate https://crates.io/api/v1/crates/rustversion/1.0.17/download -> rustversion-1.0.17.crate https://crates.io/api/v1/crates/ryu/1.0.18/download -> ryu-1.0.18.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/schannel/0.1.23/download -> schannel-0.1.23.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/security-framework-sys/2.11.1/download -> security-framework-sys-2.11.1.crate https://crates.io/api/v1/crates/security-framework/2.11.1/download -> security-framework-2.11.1.crate https://crates.io/api/v1/crates/semver/1.0.23/download -> semver-1.0.23.crate https://crates.io/api/v1/crates/sequoia-cert-store/0.6.0/download -> sequoia-cert-store-0.6.0.crate https://crates.io/api/v1/crates/sequoia-gpg-agent/0.4.2/download -> sequoia-gpg-agent-0.4.2.crate https://crates.io/api/v1/crates/sequoia-ipc/0.35.0/download -> sequoia-ipc-0.35.0.crate https://crates.io/api/v1/crates/sequoia-net/0.28.0/download -> sequoia-net-0.28.0.crate https://crates.io/api/v1/crates/sequoia-openpgp/1.21.2/download -> sequoia-openpgp-1.21.2.crate https://crates.io/api/v1/crates/sequoia-policy-config/0.6.0/download -> sequoia-policy-config-0.6.0.crate https://crates.io/api/v1/crates/sequoia-wot/0.12.0/download -> sequoia-wot-0.12.0.crate https://crates.io/api/v1/crates/serde/1.0.209/download -> serde-1.0.209.crate https://crates.io/api/v1/crates/serde_derive/1.0.209/download -> serde_derive-1.0.209.crate https://crates.io/api/v1/crates/serde_json/1.0.127/download -> serde_json-1.0.127.crate https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download -> serde_urlencoded-0.7.1.crate https://crates.io/api/v1/crates/serde_with/3.9.0/download -> serde_with-3.9.0.crate https://crates.io/api/v1/crates/serde_with_macros/3.9.0/download -> serde_with_macros-3.9.0.crate https://crates.io/api/v1/crates/sha1collisiondetection/0.3.4/download -> sha1collisiondetection-0.3.4.crate https://crates.io/api/v1/crates/sha2/0.10.8/download -> sha2-0.10.8.crate https://crates.io/api/v1/crates/shellexpand/3.1.0/download -> shellexpand-3.1.0.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.2/download -> signal-hook-registry-1.4.2.crate https://crates.io/api/v1/crates/signature/2.2.0/download -> signature-2.2.0.crate https://crates.io/api/v1/crates/siphasher/0.3.11/download -> siphasher-0.3.11.crate https://crates.io/api/v1/crates/slab/0.4.9/download -> slab-0.4.9.crate https://crates.io/api/v1/crates/smallvec/1.13.2/download -> smallvec-1.13.2.crate https://crates.io/api/v1/crates/socket2/0.5.7/download -> socket2-0.5.7.crate https://crates.io/api/v1/crates/spin/0.9.8/download -> spin-0.9.8.crate https://crates.io/api/v1/crates/spki/0.7.3/download -> spki-0.7.3.crate https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download -> stable_deref_trait-1.2.0.crate https://crates.io/api/v1/crates/stfu8/0.2.7/download -> stfu8-0.2.7.crate https://crates.io/api/v1/crates/streaming-stats/0.1.29/download -> streaming-stats-0.1.29.crate https://crates.io/api/v1/crates/string_cache/0.8.7/download -> string_cache-0.8.7.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/subtle/2.6.1/download -> subtle-2.6.1.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.76/download -> syn-2.0.76.crate https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download -> sync_wrapper-0.1.2.crate https://crates.io/api/v1/crates/synstructure/0.13.1/download -> synstructure-0.13.1.crate https://crates.io/api/v1/crates/system-configuration-sys/0.5.0/download -> system-configuration-sys-0.5.0.crate https://crates.io/api/v1/crates/system-configuration/0.5.1/download -> system-configuration-0.5.1.crate https://crates.io/api/v1/crates/tar/0.4.41/download -> tar-0.4.41.crate https://crates.io/api/v1/crates/tempfile/3.12.0/download -> tempfile-3.12.0.crate https://crates.io/api/v1/crates/term/0.7.0/download -> term-0.7.0.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.63/download -> thiserror-impl-1.0.63.crate https://crates.io/api/v1/crates/thiserror/1.0.63/download -> thiserror-1.0.63.crate https://crates.io/api/v1/crates/time-core/0.1.2/download -> time-core-0.1.2.crate https://crates.io/api/v1/crates/time-macros/0.2.18/download -> time-macros-0.2.18.crate https://crates.io/api/v1/crates/time/0.3.36/download -> time-0.3.36.crate https://crates.io/api/v1/crates/tiny-keccak/2.0.2/download -> tiny-keccak-2.0.2.crate https://crates.io/api/v1/crates/tinystr/0.7.6/download -> tinystr-0.7.6.crate https://crates.io/api/v1/crates/tinyvec/1.8.0/download -> tinyvec-1.8.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download -> tinyvec_macros-0.1.1.crate https://crates.io/api/v1/crates/to_method/1.1.0/download -> to_method-1.1.0.crate https://crates.io/api/v1/crates/tokio-macros/2.4.0/download -> tokio-macros-2.4.0.crate https://crates.io/api/v1/crates/tokio-native-tls/0.3.1/download -> tokio-native-tls-0.3.1.crate https://crates.io/api/v1/crates/tokio-socks/0.5.2/download -> tokio-socks-0.5.2.crate https://crates.io/api/v1/crates/tokio-util/0.7.11/download -> tokio-util-0.7.11.crate https://crates.io/api/v1/crates/tokio/1.39.3/download -> tokio-1.39.3.crate https://crates.io/api/v1/crates/toml/0.5.11/download -> toml-0.5.11.crate https://crates.io/api/v1/crates/toml_datetime/0.6.8/download -> toml_datetime-0.6.8.crate https://crates.io/api/v1/crates/toml_edit/0.22.20/download -> toml_edit-0.22.20.crate https://crates.io/api/v1/crates/tower-service/0.3.3/download -> tower-service-0.3.3.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.27/download -> tracing-attributes-0.1.27.crate https://crates.io/api/v1/crates/tracing-core/0.1.32/download -> tracing-core-0.1.32.crate https://crates.io/api/v1/crates/tracing/0.1.40/download -> tracing-0.1.40.crate https://crates.io/api/v1/crates/try-lock/0.2.5/download -> try-lock-0.2.5.crate https://crates.io/api/v1/crates/typenum/1.17.0/download -> typenum-1.17.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.15/download -> unicode-bidi-0.3.15.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.23/download -> unicode-normalization-0.1.23.crate https://crates.io/api/v1/crates/unicode-xid/0.2.5/download -> unicode-xid-0.2.5.crate https://crates.io/api/v1/crates/universal-hash/0.5.1/download -> universal-hash-0.5.1.crate https://crates.io/api/v1/crates/url/2.5.2/download -> url-2.5.2.crate https://crates.io/api/v1/crates/utf16_iter/1.0.5/download -> utf16_iter-1.0.5.crate https://crates.io/api/v1/crates/utf8_iter/1.0.4/download -> utf8_iter-1.0.4.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.5/download -> version_check-0.9.5.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/want/0.3.1/download -> want-0.3.1.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.93/download -> wasm-bindgen-backend-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.43/download -> wasm-bindgen-futures-0.4.43.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.93/download -> wasm-bindgen-macro-support-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.93/download -> wasm-bindgen-macro-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.93/download -> wasm-bindgen-shared-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.93/download -> wasm-bindgen-0.2.93.crate https://crates.io/api/v1/crates/web-sys/0.3.70/download -> web-sys-0.3.70.crate https://crates.io/api/v1/crates/widestring/1.1.0/download -> widestring-1.1.0.crate https://crates.io/api/v1/crates/win-crypto-ng/0.5.1/download -> win-crypto-ng-0.5.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.9/download -> winapi-util-0.1.9.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/winnow/0.6.18/download -> winnow-0.6.18.crate https://crates.io/api/v1/crates/winreg/0.50.0/download -> winreg-0.50.0.crate https://crates.io/api/v1/crates/write16/1.0.0/download -> write16-1.0.0.crate https://crates.io/api/v1/crates/writeable/0.5.5/download -> writeable-0.5.5.crate https://crates.io/api/v1/crates/xxhash-rust/0.8.12/download -> xxhash-rust-0.8.12.crate https://crates.io/api/v1/crates/yoke-derive/0.7.4/download -> yoke-derive-0.7.4.crate https://crates.io/api/v1/crates/yoke/0.7.4/download -> yoke-0.7.4.crate https://crates.io/api/v1/crates/z-base-32/0.1.4/download -> z-base-32-0.1.4.crate https://crates.io/api/v1/crates/zerocopy-derive/0.7.35/download -> zerocopy-derive-0.7.35.crate https://crates.io/api/v1/crates/zerocopy/0.7.35/download -> zerocopy-0.7.35.crate https://crates.io/api/v1/crates/zerofrom-derive/0.1.4/download -> zerofrom-derive-0.1.4.crate https://crates.io/api/v1/crates/zerofrom/0.1.4/download -> zerofrom-0.1.4.crate https://crates.io/api/v1/crates/zeroize/1.8.1/download -> zeroize-1.8.1.crate https://crates.io/api/v1/crates/zerovec-derive/0.10.3/download -> zerovec-derive-0.10.3.crate https://crates.io/api/v1/crates/zerovec/0.10.4/download -> zerovec-0.10.4.crate +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 +_md5_=8d34db19a41ddf5e86619a96d6d5f0b5 diff --git a/metadata/md5-cache/app-crypt/sequoia-sq-1.1.0 b/metadata/md5-cache/app-crypt/sequoia-sq-1.1.0 new file mode 100644 index 0000000..51ea287 --- /dev/null +++ b/metadata/md5-cache/app-crypt/sequoia-sq-1.1.0 @@ -0,0 +1,16 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) virtual/pkgconfig || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=dev-db/sqlite:3 dev-libs/gmp:= dev-libs/nettle:= dev-libs/openssl:= dev-libs/capnproto +DESCRIPTION=CLI of the Sequoia OpenPGP implementation +EAPI=8 +HOMEPAGE=https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq +INHERIT=cargo llvm-r1 shell-completion +IUSE=debug +llvm_slot_20 +KEYWORDS=amd64 ~arm64 ~ppc64 +LICENSE=LGPL-2.1+ Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 Unicode-3.0 || ( GPL-2 GPL-3 LGPL-3 ) +RDEPEND=dev-db/sqlite:3 dev-libs/gmp:= dev-libs/nettle:= dev-libs/openssl:= +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v1.1.0/sequoia-sq-v1.1.0.tar.bz2 https://crates.io/api/v1/crates/addr2line/0.24.2/download -> addr2line-0.24.2.crate https://crates.io/api/v1/crates/adler2/2.0.0/download -> adler2-2.0.0.crate https://crates.io/api/v1/crates/aead/0.5.2/download -> aead-0.5.2.crate https://crates.io/api/v1/crates/aes-gcm/0.10.3/download -> aes-gcm-0.10.3.crate https://crates.io/api/v1/crates/aes/0.8.4/download -> aes-0.8.4.crate https://crates.io/api/v1/crates/ahash/0.8.11/download -> ahash-0.8.11.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/aligned/0.4.2/download -> aligned-0.4.2.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anstream/0.6.18/download -> anstream-0.6.18.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.6/download -> anstyle-parse-0.2.6.crate https://crates.io/api/v1/crates/anstyle-query/1.1.2/download -> anstyle-query-1.1.2.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.6/download -> anstyle-wincon-3.0.6.crate https://crates.io/api/v1/crates/anstyle/1.0.10/download -> anstyle-1.0.10.crate https://crates.io/api/v1/crates/anyhow/1.0.95/download -> anyhow-1.0.95.crate https://crates.io/api/v1/crates/arraydeque/0.5.1/download -> arraydeque-0.5.1.crate https://crates.io/api/v1/crates/as-slice/0.2.1/download -> as-slice-0.2.1.crate https://crates.io/api/v1/crates/ascii-canvas/3.0.0/download -> ascii-canvas-3.0.0.crate https://crates.io/api/v1/crates/ascii-canvas/4.0.0/download -> ascii-canvas-4.0.0.crate https://crates.io/api/v1/crates/assert_cmd/2.0.16/download -> assert_cmd-2.0.16.crate https://crates.io/api/v1/crates/async-generic/1.1.2/download -> async-generic-1.1.2.crate https://crates.io/api/v1/crates/async-trait/0.1.83/download -> async-trait-0.1.83.crate https://crates.io/api/v1/crates/atomic-waker/1.1.2/download -> atomic-waker-1.1.2.crate https://crates.io/api/v1/crates/autocfg/1.4.0/download -> autocfg-1.4.0.crate https://crates.io/api/v1/crates/backtrace/0.3.74/download -> backtrace-0.3.74.crate https://crates.io/api/v1/crates/base16ct/0.2.0/download -> base16ct-0.2.0.crate https://crates.io/api/v1/crates/base64/0.21.7/download -> base64-0.21.7.crate https://crates.io/api/v1/crates/base64/0.22.1/download -> base64-0.22.1.crate https://crates.io/api/v1/crates/base64ct/1.6.0/download -> base64ct-1.6.0.crate https://crates.io/api/v1/crates/bindgen/0.68.1/download -> bindgen-0.68.1.crate https://crates.io/api/v1/crates/bit-set/0.5.3/download -> bit-set-0.5.3.crate https://crates.io/api/v1/crates/bit-set/0.8.0/download -> bit-set-0.8.0.crate https://crates.io/api/v1/crates/bit-vec/0.6.3/download -> bit-vec-0.6.3.crate https://crates.io/api/v1/crates/bit-vec/0.8.0/download -> bit-vec-0.8.0.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.4/download -> block-buffer-0.10.4.crate https://crates.io/api/v1/crates/block-padding/0.3.3/download -> block-padding-0.3.3.crate https://crates.io/api/v1/crates/blowfish/0.9.1/download -> blowfish-0.9.1.crate https://crates.io/api/v1/crates/botan-sys/0.11.0/download -> botan-sys-0.11.0.crate https://crates.io/api/v1/crates/botan/0.11.0/download -> botan-0.11.0.crate https://crates.io/api/v1/crates/bstr/1.11.1/download -> bstr-1.11.1.crate https://crates.io/api/v1/crates/buffered-reader/1.3.2/download -> buffered-reader-1.3.2.crate https://crates.io/api/v1/crates/bumpalo/3.16.0/download -> bumpalo-3.16.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/bytes/1.9.0/download -> bytes-1.9.0.crate https://crates.io/api/v1/crates/bzip2-sys/0.1.11+1.0.8/download -> bzip2-sys-0.1.11+1.0.8.crate https://crates.io/api/v1/crates/bzip2/0.5.0/download -> bzip2-0.5.0.crate https://crates.io/api/v1/crates/camellia/0.1.0/download -> camellia-0.1.0.crate https://crates.io/api/v1/crates/capnp-futures/0.19.1/download -> capnp-futures-0.19.1.crate https://crates.io/api/v1/crates/capnp-rpc/0.19.5/download -> capnp-rpc-0.19.5.crate https://crates.io/api/v1/crates/capnp/0.19.8/download -> capnp-0.19.8.crate https://crates.io/api/v1/crates/capnpc/0.19.0/download -> capnpc-0.19.0.crate https://crates.io/api/v1/crates/cast5/0.11.1/download -> cast5-0.11.1.crate https://crates.io/api/v1/crates/cc/1.2.6/download -> cc-1.2.6.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfb-mode/0.8.2/download -> cfb-mode-0.8.2.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cfg_aliases/0.2.1/download -> cfg_aliases-0.2.1.crate https://crates.io/api/v1/crates/chrono/0.4.39/download -> chrono-0.4.39.crate https://crates.io/api/v1/crates/cipher/0.4.4/download -> cipher-0.4.4.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/clap/4.5.23/download -> clap-4.5.23.crate https://crates.io/api/v1/crates/clap_builder/4.5.23/download -> clap_builder-4.5.23.crate https://crates.io/api/v1/crates/clap_complete/4.5.40/download -> clap_complete-4.5.40.crate https://crates.io/api/v1/crates/clap_derive/4.5.18/download -> clap_derive-4.5.18.crate https://crates.io/api/v1/crates/clap_lex/0.7.4/download -> clap_lex-0.7.4.crate https://crates.io/api/v1/crates/cmac/0.7.2/download -> cmac-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.3/download -> colorchoice-1.0.3.crate https://crates.io/api/v1/crates/console/0.15.10/download -> console-0.15.10.crate https://crates.io/api/v1/crates/const-oid/0.9.6/download -> const-oid-0.9.6.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.7/download -> core-foundation-sys-0.8.7.crate https://crates.io/api/v1/crates/core-foundation/0.9.4/download -> core-foundation-0.9.4.crate https://crates.io/api/v1/crates/cpufeatures/0.2.16/download -> cpufeatures-0.2.16.crate https://crates.io/api/v1/crates/crc32fast/1.4.2/download -> crc32fast-1.4.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.14/download -> crossbeam-channel-0.5.14.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.6/download -> crossbeam-deque-0.8.6.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.18/download -> crossbeam-epoch-0.9.18.crate https://crates.io/api/v1/crates/crossbeam-queue/0.3.12/download -> crossbeam-queue-0.3.12.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.21/download -> crossbeam-utils-0.8.21.crate https://crates.io/api/v1/crates/crossbeam/0.8.4/download -> crossbeam-0.8.4.crate https://crates.io/api/v1/crates/crunchy/0.2.2/download -> crunchy-0.2.2.crate https://crates.io/api/v1/crates/crypto-bigint/0.5.5/download -> crypto-bigint-0.5.5.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/ctor/0.2.9/download -> ctor-0.2.9.crate https://crates.io/api/v1/crates/ctr/0.9.2/download -> ctr-0.9.2.crate https://crates.io/api/v1/crates/culpa-macros/1.0.2/download -> culpa-macros-1.0.2.crate https://crates.io/api/v1/crates/culpa/1.0.2/download -> culpa-1.0.2.crate https://crates.io/api/v1/crates/curve25519-dalek-derive/0.1.1/download -> curve25519-dalek-derive-0.1.1.crate https://crates.io/api/v1/crates/curve25519-dalek/4.1.3/download -> curve25519-dalek-4.1.3.crate https://crates.io/api/v1/crates/cvt/0.1.2/download -> cvt-0.1.2.crate https://crates.io/api/v1/crates/data-encoding/2.6.0/download -> data-encoding-2.6.0.crate https://crates.io/api/v1/crates/dbl/0.3.2/download -> dbl-0.3.2.crate https://crates.io/api/v1/crates/der/0.7.9/download -> der-0.7.9.crate https://crates.io/api/v1/crates/deranged/0.3.11/download -> deranged-0.3.11.crate https://crates.io/api/v1/crates/des/0.8.1/download -> des-0.8.1.crate https://crates.io/api/v1/crates/descape/2.0.3/download -> descape-2.0.3.crate https://crates.io/api/v1/crates/deunicode/1.6.0/download -> deunicode-1.6.0.crate https://crates.io/api/v1/crates/difflib/0.4.0/download -> difflib-0.4.0.crate https://crates.io/api/v1/crates/digest/0.10.7/download -> digest-0.10.7.crate https://crates.io/api/v1/crates/directories/5.0.1/download -> directories-5.0.1.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/dirs-sys/0.4.1/download -> dirs-sys-0.4.1.crate https://crates.io/api/v1/crates/dirs/5.0.1/download -> dirs-5.0.1.crate https://crates.io/api/v1/crates/displaydoc/0.2.5/download -> displaydoc-0.2.5.crate https://crates.io/api/v1/crates/doc-comment/0.3.3/download -> doc-comment-0.3.3.crate https://crates.io/api/v1/crates/dsa/0.6.3/download -> dsa-0.6.3.crate https://crates.io/api/v1/crates/dyn-clone/1.0.17/download -> dyn-clone-1.0.17.crate https://crates.io/api/v1/crates/eax/0.5.0/download -> eax-0.5.0.crate https://crates.io/api/v1/crates/ecb/0.1.2/download -> ecb-0.1.2.crate https://crates.io/api/v1/crates/ecdsa/0.16.9/download -> ecdsa-0.16.9.crate https://crates.io/api/v1/crates/ed25519-dalek/2.1.1/download -> ed25519-dalek-2.1.1.crate https://crates.io/api/v1/crates/ed25519/2.2.3/download -> ed25519-2.2.3.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/elliptic-curve/0.13.8/download -> elliptic-curve-0.13.8.crate https://crates.io/api/v1/crates/embedded-io/0.6.1/download -> embedded-io-0.6.1.crate https://crates.io/api/v1/crates/ena/0.14.3/download -> ena-0.14.3.crate https://crates.io/api/v1/crates/encode_unicode/1.0.0/download -> encode_unicode-1.0.0.crate https://crates.io/api/v1/crates/encoding_rs/0.8.35/download -> encoding_rs-0.8.35.crate https://crates.io/api/v1/crates/endian-type/0.1.2/download -> endian-type-0.1.2.crate https://crates.io/api/v1/crates/enum-as-inner/0.6.1/download -> enum-as-inner-0.6.1.crate https://crates.io/api/v1/crates/env_filter/0.1.3/download -> env_filter-0.1.3.crate https://crates.io/api/v1/crates/env_logger/0.11.6/download -> env_logger-0.11.6.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.10/download -> errno-0.3.10.crate https://crates.io/api/v1/crates/fallible-iterator/0.3.0/download -> fallible-iterator-0.3.0.crate https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download -> fallible-streaming-iterator-0.1.9.crate https://crates.io/api/v1/crates/fastrand/2.3.0/download -> fastrand-2.3.0.crate https://crates.io/api/v1/crates/fd-lock/4.0.2/download -> fd-lock-4.0.2.crate https://crates.io/api/v1/crates/ff/0.13.0/download -> ff-0.13.0.crate https://crates.io/api/v1/crates/fiat-crypto/0.2.9/download -> fiat-crypto-0.2.9.crate https://crates.io/api/v1/crates/filetime/0.2.25/download -> filetime-0.2.25.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.35/download -> flate2-1.0.35.crate https://crates.io/api/v1/crates/float-cmp/0.10.0/download -> float-cmp-0.10.0.crate https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/form_urlencoded/1.2.1/download -> form_urlencoded-1.2.1.crate https://crates.io/api/v1/crates/fs2/0.4.3/download -> fs2-0.4.3.crate https://crates.io/api/v1/crates/fs_at/0.2.1/download -> fs_at-0.2.1.crate https://crates.io/api/v1/crates/fs_extra/1.3.0/download -> fs_extra-1.3.0.crate https://crates.io/api/v1/crates/futures-channel/0.3.31/download -> futures-channel-0.3.31.crate https://crates.io/api/v1/crates/futures-core/0.3.31/download -> futures-core-0.3.31.crate https://crates.io/api/v1/crates/futures-executor/0.3.31/download -> futures-executor-0.3.31.crate https://crates.io/api/v1/crates/futures-io/0.3.31/download -> futures-io-0.3.31.crate https://crates.io/api/v1/crates/futures-macro/0.3.31/download -> futures-macro-0.3.31.crate https://crates.io/api/v1/crates/futures-sink/0.3.31/download -> futures-sink-0.3.31.crate https://crates.io/api/v1/crates/futures-task/0.3.31/download -> futures-task-0.3.31.crate https://crates.io/api/v1/crates/futures-util/0.3.31/download -> futures-util-0.3.31.crate https://crates.io/api/v1/crates/futures/0.3.31/download -> futures-0.3.31.crate https://crates.io/api/v1/crates/generator/0.7.5/download -> generator-0.7.5.crate https://crates.io/api/v1/crates/generic-array/0.14.7/download -> generic-array-0.14.7.crate https://crates.io/api/v1/crates/generic-array/1.1.1/download -> generic-array-1.1.1.crate https://crates.io/api/v1/crates/gethostname/0.5.0/download -> gethostname-0.5.0.crate https://crates.io/api/v1/crates/getopts/0.2.21/download -> getopts-0.2.21.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/ghash/0.5.1/download -> ghash-0.5.1.crate https://crates.io/api/v1/crates/gimli/0.31.1/download -> gimli-0.31.1.crate https://crates.io/api/v1/crates/glob/0.3.2/download -> glob-0.3.2.crate https://crates.io/api/v1/crates/globset/0.4.15/download -> globset-0.4.15.crate https://crates.io/api/v1/crates/globwalk/0.9.1/download -> globwalk-0.9.1.crate https://crates.io/api/v1/crates/group/0.13.0/download -> group-0.13.0.crate https://crates.io/api/v1/crates/h2/0.4.7/download -> h2-0.4.7.crate https://crates.io/api/v1/crates/hashbrown/0.14.5/download -> hashbrown-0.14.5.crate https://crates.io/api/v1/crates/hashbrown/0.15.2/download -> hashbrown-0.15.2.crate https://crates.io/api/v1/crates/hashlink/0.9.1/download -> hashlink-0.9.1.crate https://crates.io/api/v1/crates/heck/0.5.0/download -> heck-0.5.0.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/hickory-client/0.24.2/download -> hickory-client-0.24.2.crate https://crates.io/api/v1/crates/hickory-proto/0.24.2/download -> hickory-proto-0.24.2.crate https://crates.io/api/v1/crates/hickory-resolver/0.24.2/download -> hickory-resolver-0.24.2.crate https://crates.io/api/v1/crates/hkdf/0.12.4/download -> hkdf-0.12.4.crate https://crates.io/api/v1/crates/hmac/0.12.1/download -> hmac-0.12.1.crate https://crates.io/api/v1/crates/home/0.5.9/download -> home-0.5.9.crate https://crates.io/api/v1/crates/hostname/0.3.1/download -> hostname-0.3.1.crate https://crates.io/api/v1/crates/html-escape/0.2.13/download -> html-escape-0.2.13.crate https://crates.io/api/v1/crates/http-body-util/0.1.2/download -> http-body-util-0.1.2.crate https://crates.io/api/v1/crates/http-body/1.0.1/download -> http-body-1.0.1.crate https://crates.io/api/v1/crates/http/1.2.0/download -> http-1.2.0.crate https://crates.io/api/v1/crates/httparse/1.9.5/download -> httparse-1.9.5.crate https://crates.io/api/v1/crates/humansize/2.1.3/download -> humansize-2.1.3.crate https://crates.io/api/v1/crates/humantime/2.1.0/download -> humantime-2.1.0.crate https://crates.io/api/v1/crates/hyper-rustls/0.27.5/download -> hyper-rustls-0.27.5.crate https://crates.io/api/v1/crates/hyper-tls/0.6.0/download -> hyper-tls-0.6.0.crate https://crates.io/api/v1/crates/hyper-util/0.1.10/download -> hyper-util-0.1.10.crate https://crates.io/api/v1/crates/hyper/1.5.2/download -> hyper-1.5.2.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.61/download -> iana-time-zone-0.1.61.crate https://crates.io/api/v1/crates/icu_collections/1.5.0/download -> icu_collections-1.5.0.crate https://crates.io/api/v1/crates/icu_locid/1.5.0/download -> icu_locid-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform/1.5.0/download -> icu_locid_transform-1.5.0.crate https://crates.io/api/v1/crates/icu_locid_transform_data/1.5.0/download -> icu_locid_transform_data-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer/1.5.0/download -> icu_normalizer-1.5.0.crate https://crates.io/api/v1/crates/icu_normalizer_data/1.5.0/download -> icu_normalizer_data-1.5.0.crate https://crates.io/api/v1/crates/icu_properties/1.5.1/download -> icu_properties-1.5.1.crate https://crates.io/api/v1/crates/icu_properties_data/1.5.0/download -> icu_properties_data-1.5.0.crate https://crates.io/api/v1/crates/icu_provider/1.5.0/download -> icu_provider-1.5.0.crate https://crates.io/api/v1/crates/icu_provider_macros/1.5.0/download -> icu_provider_macros-1.5.0.crate https://crates.io/api/v1/crates/idea/0.5.1/download -> idea-0.5.1.crate https://crates.io/api/v1/crates/idna/1.0.3/download -> idna-1.0.3.crate https://crates.io/api/v1/crates/idna_adapter/1.2.0/download -> idna_adapter-1.2.0.crate https://crates.io/api/v1/crates/ignore/0.4.23/download -> ignore-0.4.23.crate https://crates.io/api/v1/crates/indexmap/2.7.0/download -> indexmap-2.7.0.crate https://crates.io/api/v1/crates/indicatif/0.17.9/download -> indicatif-0.17.9.crate https://crates.io/api/v1/crates/inout/0.1.3/download -> inout-0.1.3.crate https://crates.io/api/v1/crates/ipconfig/0.3.2/download -> ipconfig-0.3.2.crate https://crates.io/api/v1/crates/ipnet/2.10.1/download -> ipnet-2.10.1.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/itertools/0.11.0/download -> itertools-0.11.0.crate https://crates.io/api/v1/crates/itertools/0.13.0/download -> itertools-0.13.0.crate https://crates.io/api/v1/crates/itoa/1.0.14/download -> itoa-1.0.14.crate https://crates.io/api/v1/crates/js-sys/0.3.76/download -> js-sys-0.3.76.crate https://crates.io/api/v1/crates/keccak/0.1.5/download -> keccak-0.1.5.crate https://crates.io/api/v1/crates/lalrpop-util/0.20.2/download -> lalrpop-util-0.20.2.crate https://crates.io/api/v1/crates/lalrpop-util/0.22.0/download -> lalrpop-util-0.22.0.crate https://crates.io/api/v1/crates/lalrpop/0.20.2/download -> lalrpop-0.20.2.crate https://crates.io/api/v1/crates/lalrpop/0.22.0/download -> lalrpop-0.22.0.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.169/download -> libc-0.2.169.crate https://crates.io/api/v1/crates/libloading/0.8.6/download -> libloading-0.8.6.crate https://crates.io/api/v1/crates/libm/0.2.11/download -> libm-0.2.11.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/libsqlite3-sys/0.30.1/download -> libsqlite3-sys-0.30.1.crate https://crates.io/api/v1/crates/line-col/0.2.1/download -> line-col-0.2.1.crate https://crates.io/api/v1/crates/linked-hash-map/0.5.6/download -> linked-hash-map-0.5.6.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/litemap/0.7.4/download -> litemap-0.7.4.crate https://crates.io/api/v1/crates/lock_api/0.4.12/download -> lock_api-0.4.12.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/loom/0.5.6/download -> loom-0.5.6.crate https://crates.io/api/v1/crates/lru-cache/0.1.2/download -> lru-cache-0.1.2.crate https://crates.io/api/v1/crates/marked-yaml/0.7.2/download -> marked-yaml-0.7.2.crate https://crates.io/api/v1/crates/match_cfg/0.1.0/download -> match_cfg-0.1.0.crate https://crates.io/api/v1/crates/matchers/0.1.0/download -> matchers-0.1.0.crate https://crates.io/api/v1/crates/md-5/0.10.6/download -> md-5-0.10.6.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/memsec/0.7.0/download -> memsec-0.7.0.crate https://crates.io/api/v1/crates/mime/0.3.17/download -> mime-0.3.17.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.8.2/download -> miniz_oxide-0.8.2.crate https://crates.io/api/v1/crates/mio/1.0.3/download -> mio-1.0.3.crate https://crates.io/api/v1/crates/native-tls/0.2.12/download -> native-tls-0.2.12.crate https://crates.io/api/v1/crates/nettle-sys/2.3.0/download -> nettle-sys-2.3.0.crate https://crates.io/api/v1/crates/nettle/7.4.0/download -> nettle-7.4.0.crate https://crates.io/api/v1/crates/new_debug_unreachable/1.0.6/download -> new_debug_unreachable-1.0.6.crate https://crates.io/api/v1/crates/nibble_vec/0.1.0/download -> nibble_vec-0.1.0.crate https://crates.io/api/v1/crates/nix/0.29.0/download -> nix-0.29.0.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download -> normalize-line-endings-0.3.0.crate https://crates.io/api/v1/crates/normpath/1.3.0/download -> normpath-1.3.0.crate https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download -> nu-ansi-term-0.46.0.crate https://crates.io/api/v1/crates/num-bigint-dig/0.8.4/download -> num-bigint-dig-0.8.4.crate https://crates.io/api/v1/crates/num-conv/0.1.0/download -> num-conv-0.1.0.crate https://crates.io/api/v1/crates/num-integer/0.1.46/download -> num-integer-0.1.46.crate https://crates.io/api/v1/crates/num-iter/0.1.45/download -> num-iter-0.1.45.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/object/0.36.7/download -> object-0.36.7.crate https://crates.io/api/v1/crates/once_cell/1.20.2/download -> once_cell-1.20.2.crate https://crates.io/api/v1/crates/opaque-debug/0.3.1/download -> opaque-debug-0.3.1.crate https://crates.io/api/v1/crates/openpgp-cert-d/0.3.3/download -> openpgp-cert-d-0.3.3.crate https://crates.io/api/v1/crates/openssl-macros/0.1.1/download -> openssl-macros-0.1.1.crate https://crates.io/api/v1/crates/openssl-probe/0.1.5/download -> openssl-probe-0.1.5.crate https://crates.io/api/v1/crates/openssl-sys/0.9.104/download -> openssl-sys-0.9.104.crate https://crates.io/api/v1/crates/openssl/0.10.68/download -> openssl-0.10.68.crate https://crates.io/api/v1/crates/option-ext/0.2.0/download -> option-ext-0.2.0.crate https://crates.io/api/v1/crates/overload/0.1.1/download -> overload-0.1.1.crate https://crates.io/api/v1/crates/p256/0.13.2/download -> p256-0.13.2.crate https://crates.io/api/v1/crates/p384/0.13.0/download -> p384-0.13.0.crate https://crates.io/api/v1/crates/p521/0.13.3/download -> p521-0.13.3.crate https://crates.io/api/v1/crates/parking_lot/0.12.3/download -> parking_lot-0.12.3.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.10/download -> parking_lot_core-0.9.10.crate https://crates.io/api/v1/crates/paste/1.0.15/download -> paste-1.0.15.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/pem-rfc7468/0.7.0/download -> pem-rfc7468-0.7.0.crate https://crates.io/api/v1/crates/percent-encoding/2.3.1/download -> percent-encoding-2.3.1.crate https://crates.io/api/v1/crates/pest/2.7.15/download -> pest-2.7.15.crate https://crates.io/api/v1/crates/pest_derive/2.7.15/download -> pest_derive-2.7.15.crate https://crates.io/api/v1/crates/pest_generator/2.7.15/download -> pest_generator-2.7.15.crate https://crates.io/api/v1/crates/pest_meta/2.7.15/download -> pest_meta-2.7.15.crate https://crates.io/api/v1/crates/petgraph/0.6.5/download -> petgraph-0.6.5.crate https://crates.io/api/v1/crates/phf_shared/0.10.0/download -> phf_shared-0.10.0.crate https://crates.io/api/v1/crates/pikchr/0.1.3/download -> pikchr-0.1.3.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.15/download -> pin-project-lite-0.2.15.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pkcs1/0.7.5/download -> pkcs1-0.7.5.crate https://crates.io/api/v1/crates/pkcs8/0.10.2/download -> pkcs8-0.10.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.31/download -> pkg-config-0.3.31.crate https://crates.io/api/v1/crates/polyval/0.6.2/download -> polyval-0.6.2.crate https://crates.io/api/v1/crates/portable-atomic/1.10.0/download -> portable-atomic-1.10.0.crate https://crates.io/api/v1/crates/powerfmt/0.2.0/download -> powerfmt-0.2.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.20/download -> ppv-lite86-0.2.20.crate https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download -> precomputed-hash-0.1.1.crate https://crates.io/api/v1/crates/predicates-core/1.0.9/download -> predicates-core-1.0.9.crate https://crates.io/api/v1/crates/predicates-tree/1.0.12/download -> predicates-tree-1.0.12.crate https://crates.io/api/v1/crates/predicates/3.1.3/download -> predicates-3.1.3.crate https://crates.io/api/v1/crates/primeorder/0.13.6/download -> primeorder-0.13.6.crate https://crates.io/api/v1/crates/proc-macro2/1.0.92/download -> proc-macro2-1.0.92.crate https://crates.io/api/v1/crates/pulldown-cmark-escape/0.11.0/download -> pulldown-cmark-escape-0.11.0.crate https://crates.io/api/v1/crates/pulldown-cmark/0.12.2/download -> pulldown-cmark-0.12.2.crate https://crates.io/api/v1/crates/quick-error/1.2.3/download -> quick-error-1.2.3.crate https://crates.io/api/v1/crates/quote/1.0.38/download -> quote-1.0.38.crate https://crates.io/api/v1/crates/radix_trie/0.2.1/download -> radix_trie-0.2.1.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rayon-core/1.12.1/download -> rayon-core-1.12.1.crate https://crates.io/api/v1/crates/rayon/1.10.0/download -> rayon-1.10.0.crate https://crates.io/api/v1/crates/redox_syscall/0.5.8/download -> redox_syscall-0.5.8.crate https://crates.io/api/v1/crates/redox_users/0.4.6/download -> redox_users-0.4.6.crate https://crates.io/api/v1/crates/regex-automata/0.1.10/download -> regex-automata-0.1.10.crate https://crates.io/api/v1/crates/regex-automata/0.4.9/download -> regex-automata-0.4.9.crate https://crates.io/api/v1/crates/regex-syntax/0.6.29/download -> regex-syntax-0.6.29.crate https://crates.io/api/v1/crates/regex-syntax/0.8.5/download -> regex-syntax-0.8.5.crate https://crates.io/api/v1/crates/regex/1.11.1/download -> regex-1.11.1.crate https://crates.io/api/v1/crates/remove_dir_all/1.0.0/download -> remove_dir_all-1.0.0.crate https://crates.io/api/v1/crates/reqwest/0.12.12/download -> reqwest-0.12.12.crate https://crates.io/api/v1/crates/resolv-conf/0.7.0/download -> resolv-conf-0.7.0.crate https://crates.io/api/v1/crates/rfc6979/0.4.0/download -> rfc6979-0.4.0.crate https://crates.io/api/v1/crates/ring/0.17.8/download -> ring-0.17.8.crate https://crates.io/api/v1/crates/ripemd/0.1.3/download -> ripemd-0.1.3.crate https://crates.io/api/v1/crates/roadmap/0.7.0/download -> roadmap-0.7.0.crate https://crates.io/api/v1/crates/roff/0.2.2/download -> roff-0.2.2.crate https://crates.io/api/v1/crates/rpassword/7.3.1/download -> rpassword-7.3.1.crate https://crates.io/api/v1/crates/rsa/0.9.7/download -> rsa-0.9.7.crate https://crates.io/api/v1/crates/rtoolbox/0.0.2/download -> rtoolbox-0.0.2.crate https://crates.io/api/v1/crates/rusqlite/0.32.1/download -> rusqlite-0.32.1.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download -> rustc-demangle-0.1.24.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.1/download -> rustc_version-0.4.1.crate https://crates.io/api/v1/crates/rustix/0.38.42/download -> rustix-0.38.42.crate https://crates.io/api/v1/crates/rustls-pemfile/2.2.0/download -> rustls-pemfile-2.2.0.crate https://crates.io/api/v1/crates/rustls-pki-types/1.10.1/download -> rustls-pki-types-1.10.1.crate https://crates.io/api/v1/crates/rustls-webpki/0.102.8/download -> rustls-webpki-0.102.8.crate https://crates.io/api/v1/crates/rustls/0.23.20/download -> rustls-0.23.20.crate https://crates.io/api/v1/crates/rustversion/1.0.19/download -> rustversion-1.0.19.crate https://crates.io/api/v1/crates/ryu/1.0.18/download -> ryu-1.0.18.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/schannel/0.1.27/download -> schannel-0.1.27.crate https://crates.io/api/v1/crates/scoped-tls/1.0.1/download -> scoped-tls-1.0.1.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/sec1/0.7.3/download -> sec1-0.7.3.crate https://crates.io/api/v1/crates/security-framework-sys/2.13.0/download -> security-framework-sys-2.13.0.crate https://crates.io/api/v1/crates/security-framework/2.11.1/download -> security-framework-2.11.1.crate https://crates.io/api/v1/crates/semver/1.0.24/download -> semver-1.0.24.crate https://crates.io/api/v1/crates/sequoia-autocrypt/0.25.1/download -> sequoia-autocrypt-0.25.1.crate https://crates.io/api/v1/crates/sequoia-cert-store/0.6.2/download -> sequoia-cert-store-0.6.2.crate https://crates.io/api/v1/crates/sequoia-directories/0.1.0/download -> sequoia-directories-0.1.0.crate https://crates.io/api/v1/crates/sequoia-gpg-agent/0.5.0/download -> sequoia-gpg-agent-0.5.0.crate https://crates.io/api/v1/crates/sequoia-ipc/0.35.1/download -> sequoia-ipc-0.35.1.crate https://crates.io/api/v1/crates/sequoia-keystore-backend/0.6.0/download -> sequoia-keystore-backend-0.6.0.crate https://crates.io/api/v1/crates/sequoia-keystore-gpg-agent/0.4.1/download -> sequoia-keystore-gpg-agent-0.4.1.crate https://crates.io/api/v1/crates/sequoia-keystore-softkeys/0.6.0/download -> sequoia-keystore-softkeys-0.6.0.crate https://crates.io/api/v1/crates/sequoia-keystore/0.6.2/download -> sequoia-keystore-0.6.2.crate https://crates.io/api/v1/crates/sequoia-net/0.29.0/download -> sequoia-net-0.29.0.crate https://crates.io/api/v1/crates/sequoia-openpgp/1.22.0/download -> sequoia-openpgp-1.22.0.crate https://crates.io/api/v1/crates/sequoia-policy-config/0.7.0/download -> sequoia-policy-config-0.7.0.crate https://crates.io/api/v1/crates/sequoia-wot/0.13.2/download -> sequoia-wot-0.13.2.crate https://crates.io/api/v1/crates/serde/1.0.217/download -> serde-1.0.217.crate https://crates.io/api/v1/crates/serde_derive/1.0.217/download -> serde_derive-1.0.217.crate https://crates.io/api/v1/crates/serde_json/1.0.134/download -> serde_json-1.0.134.crate https://crates.io/api/v1/crates/serde_path_to_error/0.1.16/download -> serde_path_to_error-0.1.16.crate https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download -> serde_urlencoded-0.7.1.crate https://crates.io/api/v1/crates/sha1collisiondetection/0.3.4/download -> sha1collisiondetection-0.3.4.crate https://crates.io/api/v1/crates/sha2/0.10.8/download -> sha2-0.10.8.crate https://crates.io/api/v1/crates/sha3/0.10.8/download -> sha3-0.10.8.crate https://crates.io/api/v1/crates/sharded-slab/0.1.7/download -> sharded-slab-0.1.7.crate https://crates.io/api/v1/crates/shell-words/1.1.0/download -> shell-words-1.1.0.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/signature/2.2.0/download -> signature-2.2.0.crate https://crates.io/api/v1/crates/siphasher/0.3.11/download -> siphasher-0.3.11.crate https://crates.io/api/v1/crates/slab/0.4.9/download -> slab-0.4.9.crate https://crates.io/api/v1/crates/slug/0.1.6/download -> slug-0.1.6.crate https://crates.io/api/v1/crates/smallvec/1.13.2/download -> smallvec-1.13.2.crate https://crates.io/api/v1/crates/smawk/0.3.2/download -> smawk-0.3.2.crate https://crates.io/api/v1/crates/socket2/0.5.8/download -> socket2-0.5.8.crate https://crates.io/api/v1/crates/spin/0.9.8/download -> spin-0.9.8.crate https://crates.io/api/v1/crates/spki/0.7.3/download -> spki-0.7.3.crate https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download -> stable_deref_trait-1.2.0.crate https://crates.io/api/v1/crates/state/0.6.0/download -> state-0.6.0.crate https://crates.io/api/v1/crates/stfu8/0.2.7/download -> stfu8-0.2.7.crate https://crates.io/api/v1/crates/string_cache/0.8.7/download -> string_cache-0.8.7.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/subplot-build/0.12.0/download -> subplot-build-0.12.0.crate https://crates.io/api/v1/crates/subplot/0.12.0/download -> subplot-0.12.0.crate https://crates.io/api/v1/crates/subplotlib-derive/0.12.0/download -> subplotlib-derive-0.12.0.crate https://crates.io/api/v1/crates/subplotlib/0.12.0/download -> subplotlib-0.12.0.crate https://crates.io/api/v1/crates/subtle/2.6.1/download -> subtle-2.6.1.crate https://crates.io/api/v1/crates/syn/2.0.93/download -> syn-2.0.93.crate https://crates.io/api/v1/crates/sync_wrapper/1.0.2/download -> sync_wrapper-1.0.2.crate https://crates.io/api/v1/crates/synstructure/0.13.1/download -> synstructure-0.13.1.crate https://crates.io/api/v1/crates/system-configuration-sys/0.6.0/download -> system-configuration-sys-0.6.0.crate https://crates.io/api/v1/crates/system-configuration/0.6.1/download -> system-configuration-0.6.1.crate https://crates.io/api/v1/crates/tempfile/3.14.0/download -> tempfile-3.14.0.crate https://crates.io/api/v1/crates/tera/1.20.0/download -> tera-1.20.0.crate https://crates.io/api/v1/crates/term/0.7.0/download -> term-0.7.0.crate https://crates.io/api/v1/crates/term/1.0.1/download -> term-1.0.1.crate https://crates.io/api/v1/crates/termcolor/1.4.1/download -> termcolor-1.4.1.crate https://crates.io/api/v1/crates/terminal_size/0.4.1/download -> terminal_size-0.4.1.crate https://crates.io/api/v1/crates/termtree/0.5.1/download -> termtree-0.5.1.crate https://crates.io/api/v1/crates/textwrap/0.16.1/download -> textwrap-0.16.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.69/download -> thiserror-impl-1.0.69.crate https://crates.io/api/v1/crates/thiserror-impl/2.0.9/download -> thiserror-impl-2.0.9.crate https://crates.io/api/v1/crates/thiserror/1.0.69/download -> thiserror-1.0.69.crate https://crates.io/api/v1/crates/thiserror/2.0.9/download -> thiserror-2.0.9.crate https://crates.io/api/v1/crates/thread_local/1.1.8/download -> thread_local-1.1.8.crate https://crates.io/api/v1/crates/time-core/0.1.2/download -> time-core-0.1.2.crate https://crates.io/api/v1/crates/time-macros/0.2.19/download -> time-macros-0.2.19.crate https://crates.io/api/v1/crates/time/0.3.37/download -> time-0.3.37.crate https://crates.io/api/v1/crates/tiny-keccak/2.0.2/download -> tiny-keccak-2.0.2.crate https://crates.io/api/v1/crates/tinystr/0.7.6/download -> tinystr-0.7.6.crate https://crates.io/api/v1/crates/tinyvec/1.8.1/download -> tinyvec-1.8.1.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download -> tinyvec_macros-0.1.1.crate https://crates.io/api/v1/crates/tokio-macros/2.4.0/download -> tokio-macros-2.4.0.crate https://crates.io/api/v1/crates/tokio-native-tls/0.3.1/download -> tokio-native-tls-0.3.1.crate https://crates.io/api/v1/crates/tokio-rustls/0.26.1/download -> tokio-rustls-0.26.1.crate https://crates.io/api/v1/crates/tokio-util/0.7.13/download -> tokio-util-0.7.13.crate https://crates.io/api/v1/crates/tokio/1.42.0/download -> tokio-1.42.0.crate https://crates.io/api/v1/crates/toml/0.5.11/download -> toml-0.5.11.crate https://crates.io/api/v1/crates/toml_datetime/0.6.8/download -> toml_datetime-0.6.8.crate https://crates.io/api/v1/crates/toml_edit/0.22.22/download -> toml_edit-0.22.22.crate https://crates.io/api/v1/crates/tower-layer/0.3.3/download -> tower-layer-0.3.3.crate https://crates.io/api/v1/crates/tower-service/0.3.3/download -> tower-service-0.3.3.crate https://crates.io/api/v1/crates/tower/0.5.2/download -> tower-0.5.2.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.28/download -> tracing-attributes-0.1.28.crate https://crates.io/api/v1/crates/tracing-core/0.1.33/download -> tracing-core-0.1.33.crate https://crates.io/api/v1/crates/tracing-log/0.2.0/download -> tracing-log-0.2.0.crate https://crates.io/api/v1/crates/tracing-subscriber/0.3.19/download -> tracing-subscriber-0.3.19.crate https://crates.io/api/v1/crates/tracing/0.1.41/download -> tracing-0.1.41.crate https://crates.io/api/v1/crates/try-lock/0.2.5/download -> try-lock-0.2.5.crate https://crates.io/api/v1/crates/twofish/0.7.1/download -> twofish-0.7.1.crate https://crates.io/api/v1/crates/typenum/1.17.0/download -> typenum-1.17.0.crate https://crates.io/api/v1/crates/ucd-trie/0.1.7/download -> ucd-trie-0.1.7.crate https://crates.io/api/v1/crates/unic-char-property/0.9.0/download -> unic-char-property-0.9.0.crate https://crates.io/api/v1/crates/unic-char-range/0.9.0/download -> unic-char-range-0.9.0.crate https://crates.io/api/v1/crates/unic-common/0.9.0/download -> unic-common-0.9.0.crate https://crates.io/api/v1/crates/unic-segment/0.9.0/download -> unic-segment-0.9.0.crate https://crates.io/api/v1/crates/unic-ucd-segment/0.9.0/download -> unic-ucd-segment-0.9.0.crate https://crates.io/api/v1/crates/unic-ucd-version/0.9.0/download -> unic-ucd-version-0.9.0.crate https://crates.io/api/v1/crates/unicase/2.8.1/download -> unicase-2.8.1.crate https://crates.io/api/v1/crates/unicode-ident/1.0.14/download -> unicode-ident-1.0.14.crate https://crates.io/api/v1/crates/unicode-linebreak/0.1.5/download -> unicode-linebreak-0.1.5.crate https://crates.io/api/v1/crates/unicode-width/0.1.14/download -> unicode-width-0.1.14.crate https://crates.io/api/v1/crates/unicode-width/0.2.0/download -> unicode-width-0.2.0.crate https://crates.io/api/v1/crates/unicode-xid/0.2.6/download -> unicode-xid-0.2.6.crate https://crates.io/api/v1/crates/universal-hash/0.5.1/download -> universal-hash-0.5.1.crate https://crates.io/api/v1/crates/untrusted/0.9.0/download -> untrusted-0.9.0.crate https://crates.io/api/v1/crates/url/2.5.4/download -> url-2.5.4.crate https://crates.io/api/v1/crates/utf16_iter/1.0.5/download -> utf16_iter-1.0.5.crate https://crates.io/api/v1/crates/utf8-width/0.1.7/download -> utf8-width-0.1.7.crate https://crates.io/api/v1/crates/utf8_iter/1.0.4/download -> utf8_iter-1.0.4.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/valuable/0.1.0/download -> valuable-0.1.0.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.5/download -> version_check-0.9.5.crate https://crates.io/api/v1/crates/wait-timeout/0.2.0/download -> wait-timeout-0.2.0.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/want/0.3.1/download -> want-0.3.1.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.99/download -> wasm-bindgen-backend-0.2.99.crate https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.49/download -> wasm-bindgen-futures-0.4.49.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.99/download -> wasm-bindgen-macro-support-0.2.99.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.99/download -> wasm-bindgen-macro-0.2.99.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.99/download -> wasm-bindgen-shared-0.2.99.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.99/download -> wasm-bindgen-0.2.99.crate https://crates.io/api/v1/crates/wasm-streams/0.4.2/download -> wasm-streams-0.4.2.crate https://crates.io/api/v1/crates/web-sys/0.3.76/download -> web-sys-0.3.76.crate https://crates.io/api/v1/crates/web-time/1.1.0/download -> web-time-1.1.0.crate https://crates.io/api/v1/crates/widestring/1.1.0/download -> widestring-1.1.0.crate https://crates.io/api/v1/crates/win-crypto-ng/0.5.1/download -> win-crypto-ng-0.5.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.9/download -> winapi-util-0.1.9.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-registry/0.2.0/download -> windows-registry-0.2.0.crate https://crates.io/api/v1/crates/windows-result/0.2.0/download -> windows-result-0.2.0.crate https://crates.io/api/v1/crates/windows-strings/0.1.0/download -> windows-strings-0.1.0.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows/0.48.0/download -> windows-0.48.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/winnow/0.6.21/download -> winnow-0.6.21.crate https://crates.io/api/v1/crates/winreg/0.50.0/download -> winreg-0.50.0.crate https://crates.io/api/v1/crates/write16/1.0.0/download -> write16-1.0.0.crate https://crates.io/api/v1/crates/writeable/0.5.5/download -> writeable-0.5.5.crate https://crates.io/api/v1/crates/x25519-dalek/2.0.1/download -> x25519-dalek-2.0.1.crate https://crates.io/api/v1/crates/xxhash-rust/0.8.15/download -> xxhash-rust-0.8.15.crate https://crates.io/api/v1/crates/yaml-rust2/0.9.0/download -> yaml-rust2-0.9.0.crate https://crates.io/api/v1/crates/yoke-derive/0.7.5/download -> yoke-derive-0.7.5.crate https://crates.io/api/v1/crates/yoke/0.7.5/download -> yoke-0.7.5.crate https://crates.io/api/v1/crates/z-base-32/0.1.4/download -> z-base-32-0.1.4.crate https://crates.io/api/v1/crates/zerocopy-derive/0.7.35/download -> zerocopy-derive-0.7.35.crate https://crates.io/api/v1/crates/zerocopy/0.7.35/download -> zerocopy-0.7.35.crate https://crates.io/api/v1/crates/zerofrom-derive/0.1.5/download -> zerofrom-derive-0.1.5.crate https://crates.io/api/v1/crates/zerofrom/0.1.5/download -> zerofrom-0.1.5.crate https://crates.io/api/v1/crates/zeroize/1.8.1/download -> zeroize-1.8.1.crate https://crates.io/api/v1/crates/zeroize_derive/1.4.2/download -> zeroize_derive-1.4.2.crate https://crates.io/api/v1/crates/zerovec-derive/0.10.3/download -> zerovec-derive-0.10.3.crate https://crates.io/api/v1/crates/zerovec/0.10.4/download -> zerovec-0.10.4.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 +_md5_=5a4f2bb33e393702dc90f7e21e6dbb25 diff --git a/metadata/md5-cache/app-crypt/sequoia-sqv-1.2.1-r1 b/metadata/md5-cache/app-crypt/sequoia-sqv-1.2.1-r1 new file mode 100644 index 0000000..d344d89 --- /dev/null +++ b/metadata/md5-cache/app-crypt/sequoia-sqv-1.2.1-r1 @@ -0,0 +1,16 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) virtual/pkgconfig llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=dev-libs/gmp:= dev-libs/nettle:= +DESCRIPTION=A simple OpenPGP signature verification program +EAPI=8 +HOMEPAGE=https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sqv +INHERIT=bash-completion-r1 cargo llvm-r1 +IUSE=+llvm_slot_20 debug +KEYWORDS=amd64 ~ppc64 +LICENSE=GPL-2+ Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 || ( GPL-2 GPL-3 LGPL-3 ) +RDEPEND=dev-libs/gmp:= dev-libs/nettle:= +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://gitlab.com/sequoia-pgp/sequoia-sqv/-/archive/v1.2.1/sequoia-sqv-v1.2.1.tar.bz2 https://crates.io/api/v1/crates/aead/0.5.2/download -> aead-0.5.2.crate https://crates.io/api/v1/crates/aes-gcm/0.10.3/download -> aes-gcm-0.10.3.crate https://crates.io/api/v1/crates/aes/0.8.4/download -> aes-0.8.4.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anstream/0.6.13/download -> anstream-0.6.13.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.3/download -> anstyle-parse-0.2.3.crate https://crates.io/api/v1/crates/anstyle-query/1.0.2/download -> anstyle-query-1.0.2.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.2/download -> anstyle-wincon-3.0.2.crate https://crates.io/api/v1/crates/anstyle/1.0.6/download -> anstyle-1.0.6.crate https://crates.io/api/v1/crates/anyhow/1.0.76/download -> anyhow-1.0.76.crate https://crates.io/api/v1/crates/ascii-canvas/3.0.0/download -> ascii-canvas-3.0.0.crate https://crates.io/api/v1/crates/assert_cmd/2.0.13/download -> assert_cmd-2.0.13.crate https://crates.io/api/v1/crates/autocfg/1.2.0/download -> autocfg-1.2.0.crate https://crates.io/api/v1/crates/base16ct/0.2.0/download -> base16ct-0.2.0.crate https://crates.io/api/v1/crates/base64/0.22.0/download -> base64-0.22.0.crate https://crates.io/api/v1/crates/base64ct/1.6.0/download -> base64ct-1.6.0.crate https://crates.io/api/v1/crates/bindgen/0.68.1/download -> bindgen-0.68.1.crate https://crates.io/api/v1/crates/bit-set/0.5.3/download -> bit-set-0.5.3.crate https://crates.io/api/v1/crates/bit-vec/0.6.3/download -> bit-vec-0.6.3.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.5.0/download -> bitflags-2.5.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.4/download -> block-buffer-0.10.4.crate https://crates.io/api/v1/crates/block-padding/0.3.3/download -> block-padding-0.3.3.crate https://crates.io/api/v1/crates/blowfish/0.9.1/download -> blowfish-0.9.1.crate https://crates.io/api/v1/crates/botan-sys/0.10.5/download -> botan-sys-0.10.5.crate https://crates.io/api/v1/crates/botan/0.10.7/download -> botan-0.10.7.crate https://crates.io/api/v1/crates/bstr/1.9.1/download -> bstr-1.9.1.crate https://crates.io/api/v1/crates/buffered-reader/1.3.1/download -> buffered-reader-1.3.1.crate https://crates.io/api/v1/crates/bumpalo/3.16.0/download -> bumpalo-3.16.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/camellia/0.1.0/download -> camellia-0.1.0.crate https://crates.io/api/v1/crates/cast5/0.11.1/download -> cast5-0.11.1.crate https://crates.io/api/v1/crates/cc/1.0.94/download -> cc-1.0.94.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfb-mode/0.8.2/download -> cfb-mode-0.8.2.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chrono/0.4.38/download -> chrono-0.4.38.crate https://crates.io/api/v1/crates/cipher/0.4.4/download -> cipher-0.4.4.crate https://crates.io/api/v1/crates/clang-sys/1.7.0/download -> clang-sys-1.7.0.crate https://crates.io/api/v1/crates/clap/4.4.18/download -> clap-4.4.18.crate https://crates.io/api/v1/crates/clap_builder/4.4.18/download -> clap_builder-4.4.18.crate https://crates.io/api/v1/crates/clap_complete/4.4.10/download -> clap_complete-4.4.10.crate https://crates.io/api/v1/crates/clap_derive/4.4.7/download -> clap_derive-4.4.7.crate https://crates.io/api/v1/crates/clap_lex/0.6.0/download -> clap_lex-0.6.0.crate https://crates.io/api/v1/crates/clap_mangen/0.2.19/download -> clap_mangen-0.2.19.crate https://crates.io/api/v1/crates/cmac/0.7.2/download -> cmac-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.0/download -> colorchoice-1.0.0.crate https://crates.io/api/v1/crates/const-oid/0.9.6/download -> const-oid-0.9.6.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.6/download -> core-foundation-sys-0.8.6.crate https://crates.io/api/v1/crates/cpufeatures/0.2.12/download -> cpufeatures-0.2.12.crate https://crates.io/api/v1/crates/crunchy/0.2.2/download -> crunchy-0.2.2.crate https://crates.io/api/v1/crates/crypto-bigint/0.5.5/download -> crypto-bigint-0.5.5.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/ctr/0.9.2/download -> ctr-0.9.2.crate https://crates.io/api/v1/crates/curve25519-dalek-derive/0.1.1/download -> curve25519-dalek-derive-0.1.1.crate https://crates.io/api/v1/crates/curve25519-dalek/4.1.2/download -> curve25519-dalek-4.1.2.crate https://crates.io/api/v1/crates/dbl/0.3.2/download -> dbl-0.3.2.crate https://crates.io/api/v1/crates/der/0.7.9/download -> der-0.7.9.crate https://crates.io/api/v1/crates/des/0.8.1/download -> des-0.8.1.crate https://crates.io/api/v1/crates/difflib/0.4.0/download -> difflib-0.4.0.crate https://crates.io/api/v1/crates/digest/0.10.7/download -> digest-0.10.7.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/doc-comment/0.3.3/download -> doc-comment-0.3.3.crate https://crates.io/api/v1/crates/dsa/0.6.3/download -> dsa-0.6.3.crate https://crates.io/api/v1/crates/dyn-clone/1.0.17/download -> dyn-clone-1.0.17.crate https://crates.io/api/v1/crates/eax/0.5.0/download -> eax-0.5.0.crate https://crates.io/api/v1/crates/ecb/0.1.2/download -> ecb-0.1.2.crate https://crates.io/api/v1/crates/ecdsa/0.16.9/download -> ecdsa-0.16.9.crate https://crates.io/api/v1/crates/ed25519-dalek/2.1.1/download -> ed25519-dalek-2.1.1.crate https://crates.io/api/v1/crates/ed25519/2.2.3/download -> ed25519-2.2.3.crate https://crates.io/api/v1/crates/either/1.11.0/download -> either-1.11.0.crate https://crates.io/api/v1/crates/elliptic-curve/0.13.8/download -> elliptic-curve-0.13.8.crate https://crates.io/api/v1/crates/ena/0.14.2/download -> ena-0.14.2.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.8/download -> errno-0.3.8.crate https://crates.io/api/v1/crates/fastrand/2.0.2/download -> fastrand-2.0.2.crate https://crates.io/api/v1/crates/ff/0.13.0/download -> ff-0.13.0.crate https://crates.io/api/v1/crates/fiat-crypto/0.2.7/download -> fiat-crypto-0.2.7.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/float-cmp/0.9.0/download -> float-cmp-0.9.0.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/generic-array/0.14.7/download -> generic-array-0.14.7.crate https://crates.io/api/v1/crates/getrandom/0.2.14/download -> getrandom-0.2.14.crate https://crates.io/api/v1/crates/ghash/0.5.1/download -> ghash-0.5.1.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/group/0.13.0/download -> group-0.13.0.crate https://crates.io/api/v1/crates/hashbrown/0.14.3/download -> hashbrown-0.14.3.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/hkdf/0.12.4/download -> hkdf-0.12.4.crate https://crates.io/api/v1/crates/hmac/0.12.1/download -> hmac-0.12.1.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.60/download -> iana-time-zone-0.1.60.crate https://crates.io/api/v1/crates/idea/0.5.1/download -> idea-0.5.1.crate https://crates.io/api/v1/crates/idna/0.5.0/download -> idna-0.5.0.crate https://crates.io/api/v1/crates/indexmap/2.2.6/download -> indexmap-2.2.6.crate https://crates.io/api/v1/crates/inout/0.1.3/download -> inout-0.1.3.crate https://crates.io/api/v1/crates/itertools/0.11.0/download -> itertools-0.11.0.crate https://crates.io/api/v1/crates/js-sys/0.3.69/download -> js-sys-0.3.69.crate https://crates.io/api/v1/crates/lalrpop-util/0.20.2/download -> lalrpop-util-0.20.2.crate https://crates.io/api/v1/crates/lalrpop/0.20.2/download -> lalrpop-0.20.2.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.153/download -> libc-0.2.153.crate https://crates.io/api/v1/crates/libloading/0.8.3/download -> libloading-0.8.3.crate https://crates.io/api/v1/crates/libm/0.2.8/download -> libm-0.2.8.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.13/download -> linux-raw-sys-0.4.13.crate https://crates.io/api/v1/crates/lock_api/0.4.11/download -> lock_api-0.4.11.crate https://crates.io/api/v1/crates/log/0.4.21/download -> log-0.4.21.crate https://crates.io/api/v1/crates/md-5/0.10.6/download -> md-5-0.10.6.crate https://crates.io/api/v1/crates/memchr/2.7.2/download -> memchr-2.7.2.crate https://crates.io/api/v1/crates/memsec/0.6.3/download -> memsec-0.6.3.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/nettle-sys/2.3.0/download -> nettle-sys-2.3.0.crate https://crates.io/api/v1/crates/nettle/7.4.0/download -> nettle-7.4.0.crate https://crates.io/api/v1/crates/new_debug_unreachable/1.0.6/download -> new_debug_unreachable-1.0.6.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download -> normalize-line-endings-0.3.0.crate https://crates.io/api/v1/crates/num-bigint-dig/0.8.4/download -> num-bigint-dig-0.8.4.crate https://crates.io/api/v1/crates/num-integer/0.1.46/download -> num-integer-0.1.46.crate https://crates.io/api/v1/crates/num-iter/0.1.44/download -> num-iter-0.1.44.crate https://crates.io/api/v1/crates/num-traits/0.2.18/download -> num-traits-0.2.18.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/opaque-debug/0.3.1/download -> opaque-debug-0.3.1.crate https://crates.io/api/v1/crates/openssl-macros/0.1.1/download -> openssl-macros-0.1.1.crate https://crates.io/api/v1/crates/openssl-sys/0.9.102/download -> openssl-sys-0.9.102.crate https://crates.io/api/v1/crates/openssl/0.10.64/download -> openssl-0.10.64.crate https://crates.io/api/v1/crates/p256/0.13.2/download -> p256-0.13.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.1/download -> parking_lot-0.12.1.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.9/download -> parking_lot_core-0.9.9.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/pem-rfc7468/0.7.0/download -> pem-rfc7468-0.7.0.crate https://crates.io/api/v1/crates/petgraph/0.6.4/download -> petgraph-0.6.4.crate https://crates.io/api/v1/crates/phf_shared/0.10.0/download -> phf_shared-0.10.0.crate https://crates.io/api/v1/crates/pkcs1/0.7.5/download -> pkcs1-0.7.5.crate https://crates.io/api/v1/crates/pkcs8/0.10.2/download -> pkcs8-0.10.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/platforms/3.4.0/download -> platforms-3.4.0.crate https://crates.io/api/v1/crates/polyval/0.6.2/download -> polyval-0.6.2.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download -> ppv-lite86-0.2.17.crate https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download -> precomputed-hash-0.1.1.crate https://crates.io/api/v1/crates/predicates-core/1.0.6/download -> predicates-core-1.0.6.crate https://crates.io/api/v1/crates/predicates-tree/1.0.9/download -> predicates-tree-1.0.9.crate https://crates.io/api/v1/crates/predicates/3.1.0/download -> predicates-3.1.0.crate https://crates.io/api/v1/crates/primeorder/0.13.6/download -> primeorder-0.13.6.crate https://crates.io/api/v1/crates/proc-macro2/1.0.81/download -> proc-macro2-1.0.81.crate https://crates.io/api/v1/crates/quote/1.0.36/download -> quote-1.0.36.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/redox_syscall/0.4.1/download -> redox_syscall-0.4.1.crate https://crates.io/api/v1/crates/redox_users/0.4.5/download -> redox_users-0.4.5.crate https://crates.io/api/v1/crates/regex-automata/0.4.6/download -> regex-automata-0.4.6.crate https://crates.io/api/v1/crates/regex-syntax/0.8.3/download -> regex-syntax-0.8.3.crate https://crates.io/api/v1/crates/regex/1.10.4/download -> regex-1.10.4.crate https://crates.io/api/v1/crates/rfc6979/0.4.0/download -> rfc6979-0.4.0.crate https://crates.io/api/v1/crates/ripemd/0.1.3/download -> ripemd-0.1.3.crate https://crates.io/api/v1/crates/roff/0.2.1/download -> roff-0.2.1.crate https://crates.io/api/v1/crates/rsa/0.9.6/download -> rsa-0.9.6.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.32/download -> rustix-0.38.32.crate https://crates.io/api/v1/crates/rustversion/1.0.15/download -> rustversion-1.0.15.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/sec1/0.7.3/download -> sec1-0.7.3.crate https://crates.io/api/v1/crates/semver/1.0.22/download -> semver-1.0.22.crate https://crates.io/api/v1/crates/sequoia-openpgp/1.20.0/download -> sequoia-openpgp-1.20.0.crate https://crates.io/api/v1/crates/sequoia-policy-config/0.6.0/download -> sequoia-policy-config-0.6.0.crate https://crates.io/api/v1/crates/serde/1.0.198/download -> serde-1.0.198.crate https://crates.io/api/v1/crates/serde_derive/1.0.198/download -> serde_derive-1.0.198.crate https://crates.io/api/v1/crates/sha1collisiondetection/0.3.4/download -> sha1collisiondetection-0.3.4.crate https://crates.io/api/v1/crates/sha2/0.10.8/download -> sha2-0.10.8.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/signature/2.2.0/download -> signature-2.2.0.crate https://crates.io/api/v1/crates/siphasher/0.3.11/download -> siphasher-0.3.11.crate https://crates.io/api/v1/crates/smallvec/1.13.2/download -> smallvec-1.13.2.crate https://crates.io/api/v1/crates/spin/0.5.2/download -> spin-0.5.2.crate https://crates.io/api/v1/crates/spki/0.7.3/download -> spki-0.7.3.crate https://crates.io/api/v1/crates/string_cache/0.8.7/download -> string_cache-0.8.7.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/subtle/2.5.0/download -> subtle-2.5.0.crate https://crates.io/api/v1/crates/syn/2.0.60/download -> syn-2.0.60.crate https://crates.io/api/v1/crates/tempfile/3.10.1/download -> tempfile-3.10.1.crate https://crates.io/api/v1/crates/term/0.7.0/download -> term-0.7.0.crate https://crates.io/api/v1/crates/terminal_size/0.3.0/download -> terminal_size-0.3.0.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.58/download -> thiserror-impl-1.0.58.crate https://crates.io/api/v1/crates/thiserror/1.0.58/download -> thiserror-1.0.58.crate https://crates.io/api/v1/crates/tiny-keccak/2.0.2/download -> tiny-keccak-2.0.2.crate https://crates.io/api/v1/crates/tinyvec/1.6.0/download -> tinyvec-1.6.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download -> tinyvec_macros-0.1.1.crate https://crates.io/api/v1/crates/toml/0.5.11/download -> toml-0.5.11.crate https://crates.io/api/v1/crates/twofish/0.7.1/download -> twofish-0.7.1.crate https://crates.io/api/v1/crates/typenum/1.17.0/download -> typenum-1.17.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.15/download -> unicode-bidi-0.3.15.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.23/download -> unicode-normalization-0.1.23.crate https://crates.io/api/v1/crates/unicode-xid/0.2.4/download -> unicode-xid-0.2.4.crate https://crates.io/api/v1/crates/universal-hash/0.5.1/download -> universal-hash-0.5.1.crate https://crates.io/api/v1/crates/utf8parse/0.2.1/download -> utf8parse-0.2.1.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/wait-timeout/0.2.0/download -> wait-timeout-0.2.0.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.92/download -> wasm-bindgen-backend-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.92/download -> wasm-bindgen-macro-support-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.92/download -> wasm-bindgen-macro-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.92/download -> wasm-bindgen-shared-0.2.92.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.92/download -> wasm-bindgen-0.2.92.crate https://crates.io/api/v1/crates/win-crypto-ng/0.5.1/download -> win-crypto-ng-0.5.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.6/download -> winapi-util-0.1.6.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows-targets/0.52.5/download -> windows-targets-0.52.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.5/download -> windows_aarch64_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.5/download -> windows_aarch64_msvc-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.5/download -> windows_i686_gnu-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.5/download -> windows_i686_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.5/download -> windows_i686_msvc-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.5/download -> windows_x86_64_gnu-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.5/download -> windows_x86_64_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.5/download -> windows_x86_64_msvc-0.52.5.crate https://crates.io/api/v1/crates/x25519-dalek/2.0.1/download -> x25519-dalek-2.0.1.crate https://crates.io/api/v1/crates/xxhash-rust/0.8.10/download -> xxhash-rust-0.8.10.crate https://crates.io/api/v1/crates/zeroize/1.7.0/download -> zeroize-1.7.0.crate https://crates.io/api/v1/crates/zeroize_derive/1.4.2/download -> zeroize_derive-1.4.2.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=15908b03566611c15bc0fecbd4c6e8d4 diff --git a/metadata/md5-cache/app-editors/zed-0.165.4 b/metadata/md5-cache/app-editors/zed-0.165.4 new file mode 100644 index 0000000..25920ba --- /dev/null +++ b/metadata/md5-cache/app-editors/zed-0.165.4 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/cmake dev-util/vulkan-headers sys-devel/gettext sys-devel/mold llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 dev-libs/libgit2:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +DESCRIPTION=The fast, collaborative code editor +EAPI=8 +HOMEPAGE=https://zed.dev https://github.com/zed-industries/zed +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +IUSE=gles +llvm_slot_20 debug +KEYWORDS=amd64 ~arm64 +LICENSE=GPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC LGPL-3 MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB +RDEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 dev-libs/libgit2:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/zed-industries/zed/archive/refs/tags/v0.165.4.tar.gz -> zed-0.165.4.tar.gz https://gitlab.com/api/v4/projects/35204985/packages/generic/zed/0.165.4/zed-0.165.4-crates.tar.xz https://github.com/zed-industries/lsp-types/archive/72357d6f6d212bdffba3b5ef4b31d8ca856058e7.tar.gz -> lsp-types-72357d6f6d212bdffba3b5ef4b31d8ca856058e7.gh.tar.gz https://github.com/pop-os/cosmic-text/archive/542b20ca4376a3b5de5fa629db1a4ace44e18e0c.tar.gz -> cosmic-text-542b20ca4376a3b5de5fa629db1a4ace44e18e0c.gh.tar.gz https://github.com/zed-industries/async-stripe/archive/3672dd4efb7181aa597bf580bf5a2f5d23db6735.tar.gz -> async-stripe-3672dd4efb7181aa597bf580bf5a2f5d23db6735.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/alacritty/alacritty/archive/91d034ff8b53867143c005acfaa14609147c9a2c.tar.gz -> alacritty-91d034ff8b53867143c005acfaa14609147c9a2c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/kvark/blade/archive/e142a3a5e678eb6a13e642ad8401b1f3aa38e969.tar.gz -> blade-e142a3a5e678eb6a13e642ad8401b1f3aa38e969.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/ConradIrwin/xkbcommon-rs/archive/fcbb4612185cc129ceeff51d22f7fb51810a03b2.tar.gz -> xkbcommon-rs-fcbb4612185cc129ceeff51d22f7fb51810a03b2.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/font-kit/archive/40391b7c0041d8a8572af2afa3de32ae088f0120.tar.gz -> font-kit-40391b7c0041d8a8572af2afa3de32ae088f0120.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/9a23c1a96c0513d8fc6520972beedd419a973539.tar.gz -> tree-sitter-markdown-9a23c1a96c0513d8fc6520972beedd419a973539.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-yaml/archive/baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.tar.gz -> tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/async-pipe-rs/archive/82d00a04211cf4e1236029aa03e6b6ce2a74c553.tar.gz -> async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-work/archive/acb0617bf7f4fda02c6217676cc64acb89536dc7.tar.gz -> tree-sitter-go-work-acb0617bf7f4fda02c6217676cc64acb89536dc7.gh.tar.gz https://github.com/kvark/blade/archive/e142a3a5e678eb6a13e642ad8401b1f3aa38e969.tar.gz -> blade-e142a3a5e678eb6a13e642ad8401b1f3aa38e969.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/kvark/blade/archive/e142a3a5e678eb6a13e642ad8401b1f3aa38e969.tar.gz -> blade-e142a3a5e678eb6a13e642ad8401b1f3aa38e969.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/reqwest/archive/fd110f6998da16bbca97b6dddda9be7827c50e29.tar.gz -> reqwest-fd110f6998da16bbca97b6dddda9be7827c50e29.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-mod/archive/a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca.tar.gz -> tree-sitter-go-mod-a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/KillTheMule/nvim-rs/archive/69500bae73b8b3f02a05b7bee621a0d0e633da6c.tar.gz -> nvim-rs-69500bae73b8b3f02a05b7bee621a0d0e633da6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-heex/archive/1dd45142fbb05562e35b2040c6129c9bca346592.tar.gz -> tree-sitter-heex-1dd45142fbb05562e35b2040c6129c9bca346592.gh.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=b53b77d354528f3e550d18df1fb53b68 diff --git a/metadata/md5-cache/app-editors/zed-0.168.2 b/metadata/md5-cache/app-editors/zed-0.168.2 new file mode 100644 index 0000000..100dc8a --- /dev/null +++ b/metadata/md5-cache/app-editors/zed-0.168.2 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/unzip dev-build/cmake dev-util/vulkan-headers sys-devel/gettext sys-devel/mold llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 dev-libs/libgit2:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +DESCRIPTION=The fast, collaborative code editor +EAPI=8 +HOMEPAGE=https://zed.dev https://github.com/zed-industries/zed +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +IUSE=gles +llvm_slot_20 debug +KEYWORDS=amd64 ~arm64 +LICENSE=GPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +RDEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 dev-libs/libgit2:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/zed-industries/zed/archive/refs/tags/v0.168.2.tar.gz -> zed-0.168.2.tar.gz https://gitlab.com/api/v4/projects/35204985/packages/generic/zed/0.168.2/zed-0.168.2-crates.tar.xz amd64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-x64-release.zip -> webrtc-dac8015-6-linux-x64-release.zip ) arm64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-arm64-release.zip -> webrtc-dac8015-6-linux-arm64-release.zip ) https://github.com/zed-industries/lsp-types/archive/72357d6f6d212bdffba3b5ef4b31d8ca856058e7.tar.gz -> lsp-types-72357d6f6d212bdffba3b5ef4b31d8ca856058e7.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/pop-os/cosmic-text/archive/542b20ca4376a3b5de5fa629db1a4ace44e18e0c.tar.gz -> cosmic-text-542b20ca4376a3b5de5fa629db1a4ace44e18e0c.gh.tar.gz https://github.com/zed-industries/async-stripe/archive/3672dd4efb7181aa597bf580bf5a2f5d23db6735.tar.gz -> async-stripe-3672dd4efb7181aa597bf580bf5a2f5d23db6735.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/kvark/blade/archive/091a8401033847bb9b6ace3fcf70448d069621c5.tar.gz -> blade-091a8401033847bb9b6ace3fcf70448d069621c5.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/ConradIrwin/xkbcommon-rs/archive/fcbb4612185cc129ceeff51d22f7fb51810a03b2.tar.gz -> xkbcommon-rs-fcbb4612185cc129ceeff51d22f7fb51810a03b2.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/font-kit/archive/40391b7c0041d8a8572af2afa3de32ae088f0120.tar.gz -> font-kit-40391b7c0041d8a8572af2afa3de32ae088f0120.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/9a23c1a96c0513d8fc6520972beedd419a973539.tar.gz -> tree-sitter-markdown-9a23c1a96c0513d8fc6520972beedd419a973539.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-yaml/archive/baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.tar.gz -> tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/async-pipe-rs/archive/82d00a04211cf4e1236029aa03e6b6ce2a74c553.tar.gz -> async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/zed-industries/cpal/archive/fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.tar.gz -> cpal-fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-work/archive/acb0617bf7f4fda02c6217676cc64acb89536dc7.tar.gz -> tree-sitter-go-work-acb0617bf7f4fda02c6217676cc64acb89536dc7.gh.tar.gz https://github.com/kvark/blade/archive/091a8401033847bb9b6ace3fcf70448d069621c5.tar.gz -> blade-091a8401033847bb9b6ace3fcf70448d069621c5.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/060964da10574cd9bf06463a53bf6e0769c5c45e.tar.gz -> livekit-rust-sdks-060964da10574cd9bf06463a53bf6e0769c5c45e.gh.tar.gz https://github.com/kvark/blade/archive/091a8401033847bb9b6ace3fcf70448d069621c5.tar.gz -> blade-091a8401033847bb9b6ace3fcf70448d069621c5.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/reqwest/archive/fd110f6998da16bbca97b6dddda9be7827c50e29.tar.gz -> reqwest-fd110f6998da16bbca97b6dddda9be7827c50e29.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-mod/archive/a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca.tar.gz -> tree-sitter-go-mod-a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/KillTheMule/nvim-rs/archive/69500bae73b8b3f02a05b7bee621a0d0e633da6c.tar.gz -> nvim-rs-69500bae73b8b3f02a05b7bee621a0d0e633da6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/ffcbf3f28c46633abd5448a52b1f396c322e0d6c.tar.gz -> python-environment-tools-ffcbf3f28c46633abd5448a52b1f396c322e0d6c.gh.tar.gz https://github.com/zed-industries/tree-sitter-heex/archive/1dd45142fbb05562e35b2040c6129c9bca346592.tar.gz -> tree-sitter-heex-1dd45142fbb05562e35b2040c6129c9bca346592.gh.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=4ef44c6fb07aa76c73c07d0bfc5a7d3a diff --git a/metadata/md5-cache/app-editors/zed-0.173.8 b/metadata/md5-cache/app-editors/zed-0.173.8 new file mode 100644 index 0000000..c9daada --- /dev/null +++ b/metadata/md5-cache/app-editors/zed-0.173.8 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/unzip dev-build/cmake dev-util/vulkan-headers sys-devel/gettext sys-devel/mold llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 >=dev-libs/libgit2-1.9.0:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +DESCRIPTION=The fast, collaborative code editor +EAPI=8 +HOMEPAGE=https://zed.dev https://github.com/zed-industries/zed +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +IUSE=gles +llvm_slot_20 debug +KEYWORDS=~amd64 ~arm64 +LICENSE=GPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +RDEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 >=dev-libs/libgit2-1.9.0:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools media-fonts/noto media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/zed-industries/zed/archive/refs/tags/v0.173.8.tar.gz -> zed-0.173.8.tar.gz https://gitlab.com/api/v4/projects/35204985/packages/generic/zed/0.173.8/zed-0.173.8-crates.tar.xz amd64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-x64-release.zip -> webrtc-dac8015-6-linux-x64-release.zip ) arm64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-arm64-release.zip -> webrtc-dac8015-6-linux-arm64-release.zip ) https://github.com/zed-industries/lsp-types/archive/1fff0dd12e2071c5667327394cfec163d2a466ab.tar.gz -> lsp-types-1fff0dd12e2071c5667327394cfec163d2a466ab.gh.tar.gz https://github.com/zed-industries/oo7/archive/9d5d5fcd7e4e0add9b420ffb58f67661b0b37568.tar.gz -> oo7-9d5d5fcd7e4e0add9b420ffb58f67661b0b37568.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/pop-os/cosmic-text/archive/542b20ca4376a3b5de5fa629db1a4ace44e18e0c.tar.gz -> cosmic-text-542b20ca4376a3b5de5fa629db1a4ace44e18e0c.gh.tar.gz https://github.com/zed-industries/async-stripe/archive/3672dd4efb7181aa597bf580bf5a2f5d23db6735.tar.gz -> async-stripe-3672dd4efb7181aa597bf580bf5a2f5d23db6735.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/alacritty/alacritty/archive/5e78d20c709cb1ab8d44ca7a8702cc26d779227c.tar.gz -> alacritty-5e78d20c709cb1ab8d44ca7a8702cc26d779227c.gh.tar.gz https://github.com/zed-industries/async-tls/archive/1e759a4b5e370f87dc15e40756ac4f8815b61d9d.tar.gz -> async-tls-1e759a4b5e370f87dc15e40756ac4f8815b61d9d.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/rust-lang/git2-rs/archive/a3b90cb3756c1bb63e2317bf9cfa57838178de5c.tar.gz -> git2-rs-a3b90cb3756c1bb63e2317bf9cfa57838178de5c.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/ConradIrwin/xkbcommon-rs/archive/fcbb4612185cc129ceeff51d22f7fb51810a03b2.tar.gz -> xkbcommon-rs-fcbb4612185cc129ceeff51d22f7fb51810a03b2.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/rust-lang/git2-rs/archive/a3b90cb3756c1bb63e2317bf9cfa57838178de5c.tar.gz -> git2-rs-a3b90cb3756c1bb63e2317bf9cfa57838178de5c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/font-kit/archive/40391b7c0041d8a8572af2afa3de32ae088f0120.tar.gz -> font-kit-40391b7c0041d8a8572af2afa3de32ae088f0120.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/9a23c1a96c0513d8fc6520972beedd419a973539.tar.gz -> tree-sitter-markdown-9a23c1a96c0513d8fc6520972beedd419a973539.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/tree-sitter-yaml/archive/baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.tar.gz -> tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/async-pipe-rs/archive/82d00a04211cf4e1236029aa03e6b6ce2a74c553.tar.gz -> async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/cpal/archive/fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.tar.gz -> cpal-fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-work/archive/acb0617bf7f4fda02c6217676cc64acb89536dc7.tar.gz -> tree-sitter-go-work-acb0617bf7f4fda02c6217676cc64acb89536dc7.gh.tar.gz https://github.com/zed-industries/tree-sitter-git-commit/archive/88309716a69dd13ab83443721ba6e0b491d37ee9.tar.gz -> tree-sitter-git-commit-88309716a69dd13ab83443721ba6e0b491d37ee9.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/reqwest/archive/fd110f6998da16bbca97b6dddda9be7827c50e29.tar.gz -> reqwest-fd110f6998da16bbca97b6dddda9be7827c50e29.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/camdencheek/tree-sitter-go-mod/archive/6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c.tar.gz -> tree-sitter-go-mod-6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/KillTheMule/nvim-rs/archive/69500bae73b8b3f02a05b7bee621a0d0e633da6c.tar.gz -> nvim-rs-69500bae73b8b3f02a05b7bee621a0d0e633da6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/tree-sitter-heex/archive/1dd45142fbb05562e35b2040c6129c9bca346592.tar.gz -> tree-sitter-heex-1dd45142fbb05562e35b2040c6129c9bca346592.gh.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=eb95b6414b09ae1fd22730435a1949c9 diff --git a/metadata/md5-cache/app-editors/zed-0.175.5 b/metadata/md5-cache/app-editors/zed-0.175.5 new file mode 100644 index 0000000..2be3c41 --- /dev/null +++ b/metadata/md5-cache/app-editors/zed-0.175.5 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/unzip dev-build/cmake dev-util/vulkan-headers sys-devel/gettext sys-devel/mold llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 >=dev-libs/libgit2-1.9.0:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools || ( media-fonts/dejavu media-fonts/cantarell media-fonts/noto media-fonts/ubuntu-font-family ) media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +DESCRIPTION=The fast, collaborative code editor +EAPI=8 +HOMEPAGE=https://zed.dev https://github.com/zed-industries/zed +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +IUSE=gles +llvm_slot_20 debug +KEYWORDS=~amd64 ~arm64 +LICENSE=GPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC LGPL-3 MIT MPL-2.0 Unicode-3.0 ZLIB +RDEPEND=app-arch/zstd:= app-misc/jq dev-db/sqlite:3 >=dev-libs/libgit2-1.9.0:= dev-libs/mimalloc dev-libs/openssl:0/3 dev-libs/protobuf dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner dev-util/vulkan-tools || ( media-fonts/dejavu media-fonts/cantarell media-fonts/noto media-fonts/ubuntu-font-family ) media-libs/alsa-lib media-libs/fontconfig media-libs/vulkan-loader[X] net-analyzer/openbsd-netcat net-misc/curl sys-libs/zlib x11-libs/libxcb:= x11-libs/libxkbcommon[X] +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/zed-industries/zed/archive/refs/tags/v0.175.5.tar.gz -> zed-0.175.5.tar.gz https://gitlab.com/api/v4/projects/35204985/packages/generic/zed/0.175.5/zed-0.175.5-crates.tar.xz amd64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-x64-release.zip -> webrtc-dac8015-6-linux-x64-release.zip ) arm64? ( https://github.com/livekit/rust-sdks/releases/download/webrtc-dac8015-6/webrtc-linux-arm64-release.zip -> webrtc-dac8015-6-linux-arm64-release.zip ) https://github.com/zed-industries/lsp-types/archive/1fff0dd12e2071c5667327394cfec163d2a466ab.tar.gz -> lsp-types-1fff0dd12e2071c5667327394cfec163d2a466ab.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/pop-os/cosmic-text/archive/542b20ca4376a3b5de5fa629db1a4ace44e18e0c.tar.gz -> cosmic-text-542b20ca4376a3b5de5fa629db1a4ace44e18e0c.gh.tar.gz https://github.com/zed-industries/async-stripe/archive/3672dd4efb7181aa597bf580bf5a2f5d23db6735.tar.gz -> async-stripe-3672dd4efb7181aa597bf580bf5a2f5d23db6735.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/async-tls/archive/1e759a4b5e370f87dc15e40756ac4f8815b61d9d.tar.gz -> async-tls-1e759a4b5e370f87dc15e40756ac4f8815b61d9d.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/rust-lang/git2-rs/archive/a3b90cb3756c1bb63e2317bf9cfa57838178de5c.tar.gz -> git2-rs-a3b90cb3756c1bb63e2317bf9cfa57838178de5c.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/ConradIrwin/xkbcommon-rs/archive/fcbb4612185cc129ceeff51d22f7fb51810a03b2.tar.gz -> xkbcommon-rs-fcbb4612185cc129ceeff51d22f7fb51810a03b2.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/rust-lang/git2-rs/archive/a3b90cb3756c1bb63e2317bf9cfa57838178de5c.tar.gz -> git2-rs-a3b90cb3756c1bb63e2317bf9cfa57838178de5c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/font-kit/archive/40391b7c0041d8a8572af2afa3de32ae088f0120.tar.gz -> font-kit-40391b7c0041d8a8572af2afa3de32ae088f0120.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/9a23c1a96c0513d8fc6520972beedd419a973539.tar.gz -> tree-sitter-markdown-9a23c1a96c0513d8fc6520972beedd419a973539.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/tree-sitter-yaml/archive/baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.tar.gz -> tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/async-pipe-rs/archive/82d00a04211cf4e1236029aa03e6b6ce2a74c553.tar.gz -> async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/cpal/archive/fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.tar.gz -> cpal-fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/zed-industries/tree-sitter-go-work/archive/acb0617bf7f4fda02c6217676cc64acb89536dc7.tar.gz -> tree-sitter-go-work-acb0617bf7f4fda02c6217676cc64acb89536dc7.gh.tar.gz https://github.com/zed-industries/tree-sitter-git-commit/archive/88309716a69dd13ab83443721ba6e0b491d37ee9.tar.gz -> tree-sitter-git-commit-88309716a69dd13ab83443721ba6e0b491d37ee9.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/livekit-rust-sdks/archive/811ceae29fabee455f110c56cd66b3f49a7e5003.tar.gz -> livekit-rust-sdks-811ceae29fabee455f110c56cd66b3f49a7e5003.gh.tar.gz https://github.com/kvark/blade/archive/b16f5c7bd873c7126f48c82c39e7ae64602ae74f.tar.gz -> blade-b16f5c7bd873c7126f48c82c39e7ae64602ae74f.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/reqwest/archive/fd110f6998da16bbca97b6dddda9be7827c50e29.tar.gz -> reqwest-fd110f6998da16bbca97b6dddda9be7827c50e29.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/camdencheek/tree-sitter-go-mod/archive/6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c.tar.gz -> tree-sitter-go-mod-6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/KillTheMule/nvim-rs/archive/69500bae73b8b3f02a05b7bee621a0d0e633da6c.tar.gz -> nvim-rs-69500bae73b8b3f02a05b7bee621a0d0e633da6c.gh.tar.gz https://github.com/XDeme1/xim-rs/archive/d50d461764c2213655cd9cf65a0ea94c70d3c4fd.tar.gz -> xim-rs-d50d461764c2213655cd9cf65a0ea94c70d3c4fd.gh.tar.gz https://github.com/microsoft/python-environment-tools/archive/1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.tar.gz -> python-environment-tools-1abe5cec5ebfbe97ca71746a4cfc7fe89bddf8e0.gh.tar.gz https://github.com/zed-industries/tree-sitter-heex/archive/1dd45142fbb05562e35b2040c6129c9bca346592.tar.gz -> tree-sitter-heex-1dd45142fbb05562e35b2040c6129c9bca346592.gh.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=d7be92c7db5a2e1780c133491d45506c diff --git a/metadata/md5-cache/app-emulation/quickemu-4.9.2-r1 b/metadata/md5-cache/app-emulation/quickemu-4.9.2-r1 new file mode 100644 index 0000000..d1e8563 --- /dev/null +++ b/metadata/md5-cache/app-emulation/quickemu-4.9.2-r1 @@ -0,0 +1,15 @@ +DEFINED_PHASES=install setup +DEPEND=python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) >=app-emulation/qemu-6.0.0[gtk,sdl,spice] >=app-shells/bash-4.0:= cdr? ( app-cdr/cdrtools ) app-crypt/swtpm app-misc/jq net-misc/spice-gtk[gtk3] net-misc/wget net-misc/zsync sys-apps/usbutils sys-apps/util-linux || ( sys-firmware/edk2 sys-firmware/edk2-bin ) sys-process/procps x11-apps/xrandr x11-misc/xdg-user-dirs +DESCRIPTION=Create and run optimised Windows, macOS and Linux desktop virtual machines +EAPI=8 +HOMEPAGE=https://github.com/quickemu-project/quickemu +INHERIT=python-single-r1 +IUSE=cdr python_single_target_python3_11 python_single_target_python3_12 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) >=app-emulation/qemu-6.0.0[gtk,sdl,spice] >=app-shells/bash-4.0:= cdr? ( app-cdr/cdrtools ) app-crypt/swtpm app-misc/jq net-misc/spice-gtk[gtk3] net-misc/wget net-misc/zsync sys-apps/usbutils sys-apps/util-linux || ( sys-firmware/edk2 sys-firmware/edk2-bin ) sys-process/procps x11-apps/xrandr x11-misc/xdg-user-dirs +REQUIRED_USE=^^ ( python_single_target_python3_11 python_single_target_python3_12 ) +SLOT=0 +SRC_URI=https://github.com/quickemu-project/quickemu/archive/refs/tags/4.9.2.tar.gz -> quickemu-4.9.2.tar.gz +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=35b1e6d03b1e219f432cb9144acd6f3e diff --git a/metadata/md5-cache/app-forensics/aflplusplus-4.21c b/metadata/md5-cache/app-forensics/aflplusplus-4.21c new file mode 100644 index 0000000..97a3026 --- /dev/null +++ b/metadata/md5-cache/app-forensics/aflplusplus-4.21c @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile install postinst setup test +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) !app-forensics/afl test? ( dev-util/cmocka ) +DESCRIPTION=Fork of AFL, the popular compile-time instrumentation fuzzer +EAPI=8 +HOMEPAGE=https://github.com/AFLplusplus/AFLplusplus +INHERIT=toolchain-funcs llvm-r1 optfeature python-single-r1 +IUSE=test +llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=amd64 arm64 +LICENSE=Apache-2.0 +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) !app-forensics/afl +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/AFLplusplus/AFLplusplus/archive/v4.21c.tar.gz -> aflplusplus-4.21c.tar.gz https://dev.gentoo.org/~sam/distfiles/app-forensics/aflplusplus/aflplusplus-4.21c-patches.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda optfeature 538bce96e5589935b57e178e8635f301 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=4b1693b914b5bc16694c416d08c1978e diff --git a/metadata/md5-cache/app-forensics/aflplusplus-4.30c b/metadata/md5-cache/app-forensics/aflplusplus-4.30c new file mode 100644 index 0000000..027853a --- /dev/null +++ b/metadata/md5-cache/app-forensics/aflplusplus-4.30c @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile install postinst setup test +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) !app-forensics/afl test? ( dev-util/cmocka ) +DESCRIPTION=Fork of AFL, the popular compile-time instrumentation fuzzer +EAPI=8 +HOMEPAGE=https://github.com/AFLplusplus/AFLplusplus +INHERIT=flag-o-matic toolchain-funcs llvm-r1 optfeature python-single-r1 +IUSE=test +llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=amd64 arm64 +LICENSE=Apache-2.0 +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) !app-forensics/afl +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/AFLplusplus/AFLplusplus/archive/v4.30c.tar.gz -> aflplusplus-4.30c.tar.gz https://dev.gentoo.org/~sam/distfiles/app-forensics/aflplusplus/aflplusplus-4.30c-patches.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda optfeature 538bce96e5589935b57e178e8635f301 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=24e35ee57b5717640f4a77818153465b diff --git a/metadata/md5-cache/app-forensics/maltego-4.2.18.13878 b/metadata/md5-cache/app-forensics/maltego-4.2.18.13878 index 72c3e9d..cffd51b 100644 --- a/metadata/md5-cache/app-forensics/maltego-4.2.18.13878 +++ b/metadata/md5-cache/app-forensics/maltego-4.2.18.13878 @@ -2,11 +2,11 @@ DEFINED_PHASES=install postinst postrm prepare unpack DESCRIPTION=Visualise, map and mine data EAPI=7 HOMEPAGE=https://www.paterva.com/ -INHERIT=desktop eutils unpacker xdg-utils +INHERIT=desktop unpacker xdg-utils KEYWORDS=~amd64 ~x86 LICENSE=Paterva-EULA RDEPEND=virtual/jre SLOT=0 SRC_URI=https://www.paterva.com/malv4218/Maltego.v4.2.18.13878.deb -> maltego-4.2.18.13878.deb -_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d edos2unix 33e347e171066657f91f8b0c72ec8773 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 wrapper 4a1902f969e5718126434fc35f3a0d9c eutils 8f942ebdcf04334697649d4a0bf65a32 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 unpacker aa6a4e924009232d8b78b31e932c30b5 xdg-utils baea6080dd821f5562d715887954c9d3 -_md5_=807e233f20036ed2de5b3758ecef357b +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 unpacker fb4b84181244b3b9990fa0bf40232dd2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 +_md5_=e9dbb0df0ad682db31ee229d9a4b2e1c diff --git a/metadata/md5-cache/app-office/libreoffice-bin-7.4.4.2 b/metadata/md5-cache/app-office/libreoffice-bin-7.4.4.2 index 054afe8..f3f1082 100644 --- a/metadata/md5-cache/app-office/libreoffice-bin-7.4.4.2 +++ b/metadata/md5-cache/app-office/libreoffice-bin-7.4.4.2 @@ -8,10 +8,10 @@ IUSE=gnome java kde java +python_single_target_python3_11 KEYWORDS=-* amd64 x86 LICENSE=LGPL-3 PDEPEND==app-office/libreoffice-l10n-7.4.4.2* -RDEPEND=app-text/hunspell:0/1.7 =app-text/libexttextcat-3.4* =app-text/libmwaw-0.3* dev-cpp/abseil-cpp:0/20220623 dev-libs/boost:0/1.81.0 dev-libs/icu:0/72.1 dev-libs/liborcus:0/0.17 >=media-gfx/graphite2-1.3.10 media-libs/harfbuzz:0/6.0.0[icu] media-libs/libjpeg-turbo:0/0.2 media-libs/libpng:0/16 media-libs/openjpeg:2/7 media-libs/zxing-cpp:0/3 sci-mathematics/lpsolve:0/0 >=sys-devel/gcc-11.3.0 >=sys-libs/glibc-2.36 python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11[xml(+)] ) app-arch/unzip app-arch/zip app-crypt/gpgme[cxx] app-text/hunspell:= >=app-text/libabw-0.1.0 >=app-text/libebook-0.1 app-text/libepubgen >=app-text/libetonyek-0.1 app-text/libexttextcat app-text/liblangtag >=app-text/libmspub-0.1.0 >=app-text/libmwaw-0.3.21 >=app-text/libnumbertext-1.0.6 >=app-text/libodfgen-0.1.0 app-text/libqxp app-text/libstaroffice app-text/libwpd:0.10[tools] app-text/libwpg:0.3 >=app-text/libwps-0.4 app-text/mythes dev-cpp/abseil-cpp:= >=dev-cpp/clucene-2.3.3.4-r2 >=dev-cpp/libcmis-0.5.2-r2 dev-db/unixODBC >=games-engines/box2d-2.4.1:0 dev-lang/perl dev-libs/boost:=[nls] dev-libs/expat dev-libs/hyphen dev-libs/icu:= dev-libs/libassuan dev-libs/libgpg-error >=dev-libs/liborcus-0.17.2:0/0.17 dev-libs/librevenge dev-libs/libxml2 dev-libs/libxslt dev-libs/nspr dev-libs/nss >=dev-libs/redland-1.0.16 >=dev-libs/xmlsec-1.2.28[nss] media-gfx/fontforge media-gfx/graphite2 media-libs/fontconfig >=media-libs/freetype-2.11.0-r1:2 >=media-libs/harfbuzz-0.9.42:=[graphite,icu] media-libs/lcms:2 >=media-libs/libcdr-0.1.0 >=media-libs/libepoxy-1.3.1[X] >=media-libs/libfreehand-0.1.0 media-libs/libjpeg-turbo:= media-libs/libpagemaker >=media-libs/libpng-1.4:0= >=media-libs/libvisio-0.1.0 media-libs/libwebp:= media-libs/libzmf media-libs/openjpeg:= media-libs/tiff:= media-libs/zxing-cpp:= >=net-libs/neon-0.31.1:= net-misc/curl sci-mathematics/lpsolve sys-libs/zlib virtual/glu virtual/opengl x11-libs/cairo[X] x11-libs/libXinerama x11-libs/libXrandr x11-libs/libXrender net-print/cups sys-apps/dbus[X] gnome? ( dev-libs/glib:2 gnome-base/dconf gnome-extra/evolution-data-server ) media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 !kde? ( app-accessibility/at-spi2-core:2 dev-libs/glib:2 dev-libs/gobject-introspection gnome-base/dconf media-libs/mesa[egl(+)] x11-libs/gtk+:3[X] x11-libs/pango ) kde? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 kde-frameworks/kconfig:5 kde-frameworks/kcoreaddons:5 kde-frameworks/ki18n:5 kde-frameworks/kio:5 kde-frameworks/kwindowsystem:5 ) dev-db/mariadb-connector-c acct-group/libreoffice acct-user/libreoffice !app-office/libreoffice !app-office/openoffice media-fonts/liberation-fonts || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools ) java? ( virtual/jre:11 ) kde? ( kde-frameworks/breeze-icons:* ) java? ( >=dev-java/java-config-2.2.0-r3 ) +RDEPEND=app-text/hunspell:0/1.7 =app-text/libexttextcat-3.4* =app-text/libmwaw-0.3* dev-cpp/abseil-cpp:0/20220623 dev-libs/boost:0/1.81.0 dev-libs/icu:0/72.1 dev-libs/liborcus:0/0.17 >=media-gfx/graphite2-1.3.10 media-libs/harfbuzz:0/6.0.0[icu] media-libs/libjpeg-turbo:0/0.2 media-libs/libpng:0/16 media-libs/openjpeg:2/7 media-libs/zxing-cpp:0/3 sci-mathematics/lpsolve:0/0 >=sys-devel/gcc-11.3.0 >=sys-libs/glibc-2.36 python_single_target_python3_11? ( dev-lang/python:3.11[xml(+)] ) app-arch/unzip app-arch/zip app-crypt/gpgme[cxx] app-text/hunspell:= >=app-text/libabw-0.1.0 >=app-text/libebook-0.1 app-text/libepubgen >=app-text/libetonyek-0.1 app-text/libexttextcat app-text/liblangtag >=app-text/libmspub-0.1.0 >=app-text/libmwaw-0.3.21 >=app-text/libnumbertext-1.0.6 >=app-text/libodfgen-0.1.0 app-text/libqxp app-text/libstaroffice app-text/libwpd:0.10[tools] app-text/libwpg:0.3 >=app-text/libwps-0.4 app-text/mythes dev-cpp/abseil-cpp:= >=dev-cpp/clucene-2.3.3.4-r2 >=dev-cpp/libcmis-0.5.2-r2 dev-db/unixODBC >=games-engines/box2d-2.4.1:0 dev-lang/perl dev-libs/boost:=[nls] dev-libs/expat dev-libs/hyphen dev-libs/icu:= dev-libs/libassuan dev-libs/libgpg-error >=dev-libs/liborcus-0.17.2:0/0.17 dev-libs/librevenge dev-libs/libxml2 dev-libs/libxslt dev-libs/nspr dev-libs/nss >=dev-libs/redland-1.0.16 >=dev-libs/xmlsec-1.2.28[nss] media-gfx/fontforge media-gfx/graphite2 media-libs/fontconfig >=media-libs/freetype-2.11.0-r1:2 >=media-libs/harfbuzz-0.9.42:=[graphite,icu] media-libs/lcms:2 >=media-libs/libcdr-0.1.0 >=media-libs/libepoxy-1.3.1[X] >=media-libs/libfreehand-0.1.0 media-libs/libjpeg-turbo:= media-libs/libpagemaker >=media-libs/libpng-1.4:0= >=media-libs/libvisio-0.1.0 media-libs/libwebp:= media-libs/libzmf media-libs/openjpeg:= media-libs/tiff:= media-libs/zxing-cpp:= >=net-libs/neon-0.31.1:= net-misc/curl sci-mathematics/lpsolve sys-libs/zlib virtual/glu virtual/opengl x11-libs/cairo[X] x11-libs/libXinerama x11-libs/libXrandr x11-libs/libXrender net-print/cups sys-apps/dbus[X] gnome? ( dev-libs/glib:2 gnome-base/dconf gnome-extra/evolution-data-server ) media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 !kde? ( app-accessibility/at-spi2-core:2 dev-libs/glib:2 dev-libs/gobject-introspection gnome-base/dconf media-libs/mesa[egl(+)] x11-libs/gtk+:3[X] x11-libs/pango ) kde? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 kde-frameworks/kconfig:5 kde-frameworks/kcoreaddons:5 kde-frameworks/ki18n:5 kde-frameworks/kio:5 kde-frameworks/kwindowsystem:5 ) dev-db/mariadb-connector-c acct-group/libreoffice acct-user/libreoffice !app-office/libreoffice !app-office/openoffice media-fonts/liberation-fonts || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools ) java? ( virtual/jre:11 ) kde? ( kde-frameworks/breeze-icons:* ) java? ( >=dev-java/java-config-2.2.0-r3 ) REQUIRED_USE=kde? ( !gnome ) gnome? ( !kde ) ^^ ( python_single_target_python3_11 ) RESTRICT=test strip SLOT=0 SRC_URI=amd64? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-7.4.4.2.tar.xz kde? ( !java? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-kde-7.4.4.2.xd3 ) java? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-kde-java-7.4.4.2.xd3 ) ) gnome? ( !java? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-gnome-7.4.4.2.xd3 ) java? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-gnome-java-7.4.4.2.xd3 ) ) !kde? ( !gnome? ( java? ( https://tamiko.43-1.org/distfiles/amd64-bin-libreoffice-java-7.4.4.2.xd3 ) ) ) ) x86? ( https://tamiko.43-1.org/distfiles/x86-bin-libreoffice-7.4.4.2.tar.xz kde? ( https://tamiko.43-1.org/distfiles/x86-bin-libreoffice-kde-7.4.4.2.xd3 ) gnome? ( https://tamiko.43-1.org/distfiles/x86-bin-libreoffice-gnome-7.4.4.2.xd3 ) ) -_eclasses_=java-utils-2 8c72ea36a4935f626b13a30141d0d39c java-pkg-opt-2 4d26f2efd4c5ec82b66d1e8816f421b2 eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 prefix eab3c99d77fe00506c109c8a736186f7 xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=java-utils-2 c610b1541a10e37cb26ab5b707a744f1 java-pkg-opt-2 28044ae40e7846886b6f5eca24661629 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 prefix c3c4c93ebda319c0fa7ed6f942ba1010 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=c7990e71024b7f754abe2699f2988830 diff --git a/metadata/md5-cache/app-office/openoffice-bin-4.1.13 b/metadata/md5-cache/app-office/openoffice-bin-4.1.13 index 648b335..a26eb9f 100644 --- a/metadata/md5-cache/app-office/openoffice-bin-4.1.13 +++ b/metadata/md5-cache/app-office/openoffice-bin-4.1.13 @@ -14,5 +14,5 @@ RDEPEND=app-arch/unzip app-arch/zip >=dev-lang/perl-5.0 dev-libs/atk dev-libs/db RESTRICT=mirror strip SLOT=0 SRC_URI=amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_install-rpm_en-US.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_install-rpm_en-US.tar.gz ) l10n_ast? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ast.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ast.tar.gz ) ) l10n_eu? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_eu.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_eu.tar.gz ) ) l10n_bg? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_bg.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_bg.tar.gz ) ) l10n_ca? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ca.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ca.tar.gz ) ) l10n_ca-valencia? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ca-XV.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ca-XV.tar.gz ) ) l10n_zh-CN? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_zh-CN.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_zh-CN.tar.gz ) ) l10n_zh-TW? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_zh-TW.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_zh-TW.tar.gz ) ) l10n_cs? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_cs.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_cs.tar.gz ) ) l10n_da? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_da.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_da.tar.gz ) ) l10n_nl? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_nl.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_nl.tar.gz ) ) l10n_en-GB? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_en-GB.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_en-GB.tar.gz ) ) l10n_fi? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_fi.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_fi.tar.gz ) ) l10n_fr? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_fr.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_fr.tar.gz ) ) l10n_gd? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_gd.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_gd.tar.gz ) ) l10n_gl? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_gl.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_gl.tar.gz ) ) l10n_de? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_de.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_de.tar.gz ) ) l10n_el? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_el.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_el.tar.gz ) ) l10n_he? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_he.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_he.tar.gz ) ) l10n_hi? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_hi.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_hi.tar.gz ) ) l10n_hu? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_hu.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_hu.tar.gz ) ) l10n_it? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_it.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_it.tar.gz ) ) l10n_ja? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ja.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ja.tar.gz ) ) l10n_km? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_km.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_km.tar.gz ) ) l10n_ko? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ko.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ko.tar.gz ) ) l10n_lt? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_lt.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_lt.tar.gz ) ) l10n_nb? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_nb.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_nb.tar.gz ) ) l10n_pl? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_pl.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_pl.tar.gz ) ) l10n_pt-BR? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_pt-BR.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_pt-BR.tar.gz ) ) l10n_pt? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_pt.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_pt.tar.gz ) ) l10n_ru? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ru.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ru.tar.gz ) ) l10n_sr? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_sr.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_sr.tar.gz ) ) l10n_sk? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_sk.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_sk.tar.gz ) ) l10n_sl? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_sl.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_sl.tar.gz ) ) l10n_es? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_es.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_es.tar.gz ) ) l10n_sv? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_sv.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_sv.tar.gz ) ) l10n_ta? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_ta.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_ta.tar.gz ) ) l10n_th? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_th.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_th.tar.gz ) ) l10n_tr? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_tr.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_tr.tar.gz ) ) l10n_vi? ( amd64? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86-64_langpack-rpm_vi.tar.gz ) x86? ( mirror://sourceforge/openofficeorg.mirror/Apache_OpenOffice_4.1.13_Linux_x86_langpack-rpm_vi.tar.gz ) ) -_eclasses_=desktop 56973babb9c5f19cab0eeb53ece644c6 pax-utils 6285e04fab2343992d2df0df4edf6003 prefix 629161311cdf29bf8596fdd036826a2c estack c61c368a76fdf3a82fdf8dbaebea3804 rpm 7828cd38ff559545ca52f92064d0f8f4 xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 estack c61c368a76fdf3a82fdf8dbaebea3804 rpm 7828cd38ff559545ca52f92064d0f8f4 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=330c7ab9fbcd846a5a58aa924fd40f93 diff --git a/metadata/md5-cache/app-office/unoconv-0.9.0-r1 b/metadata/md5-cache/app-office/unoconv-0.9.0-r1 index c941e50..39c14fc 100644 --- a/metadata/md5-cache/app-office/unoconv-0.9.0-r1 +++ b/metadata/md5-cache/app-office/unoconv-0.9.0-r1 @@ -6,9 +6,9 @@ INHERIT=python-single-r1 IUSE=python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=amd64 x86 LICENSE=GPL-2 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) !app-text/odt2txt virtual/ooo +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) !app-text/odt2txt virtual/ooo REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) SLOT=0 SRC_URI=https://github.com/dagwieers/unoconv/archive/0.9.0.tar.gz -> unoconv-0.9.0.tar.gz -_eclasses_=multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=83f8553b4bbc157fcd31d62c8556c780 diff --git a/metadata/md5-cache/app-portage/elogviewer-3.2 b/metadata/md5-cache/app-portage/elogviewer-3.2 index a36caa4..fb5b1b2 100644 --- a/metadata/md5-cache/app-portage/elogviewer-3.2 +++ b/metadata/md5-cache/app-portage/elogviewer-3.2 @@ -1,5 +1,5 @@ DEFINED_PHASES=compile install postinst setup -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] >=sys-apps/portage-2.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] >=sys-apps/portage-2.1[python_targets_python3_11(-)] ) python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] >=sys-apps/portage-2.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] >=sys-apps/portage-2.1[python_targets_python3_11(-)] ) python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) DESCRIPTION=Elog viewer for Gentoo EAPI=7 HOMEPAGE=https://github.com/Synss/elogviewer @@ -7,9 +7,9 @@ INHERIT=desktop python-single-r1 readme.gentoo-r1 IUSE=python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=amd64 ~arm64 ~ppc ~riscv x86 LICENSE=GPL-2 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] >=sys-apps/portage-2.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] >=sys-apps/portage-2.1[python_targets_python3_11(-)] ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] >=sys-apps/portage-2.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] >=sys-apps/portage-2.1[python_targets_python3_11(-)] ) REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) SLOT=0 SRC_URI=https://github.com/Synss/elogviewer/archive/v3.2.tar.gz -> elogviewer-3.2.tar.gz -_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 _md5_=4a07415022fc06651429eb1d36e7f50d diff --git a/metadata/md5-cache/app-text/doxygen-1.12.0 b/metadata/md5-cache/app-text/doxygen-1.12.0 new file mode 100644 index 0000000..bcbf508 --- /dev/null +++ b/metadata/md5-cache/app-text/doxygen-1.12.0 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/yacc app-alternatives/lex || ( dev-lang/python:3.13[xml(+)] dev-lang/python:3.12[xml(+)] dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtxml:5 ) +DESCRIPTION=Documentation system for most programming languages +EAPI=8 +HOMEPAGE=https://www.doxygen.nl/ +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 +IUSE=clang debug doc dot doxysearch gui test +llvm_slot_20 +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris +LICENSE=GPL-2 +RDEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtxml:5 ) +REQUIRED_USE=clang? ( ^^ ( llvm_slot_20 ) ) test? ( doc ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://doxygen.nl/files/doxygen-1.12.0.src.tar.gz https://downloads.sourceforge.net/doxygen/rel-1.12.0/doxygen-1.12.0.src.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=95f3d48bea569efca21d39c5b472706b diff --git a/metadata/md5-cache/app-text/doxygen-1.13.0-r1 b/metadata/md5-cache/app-text/doxygen-1.13.0-r1 new file mode 100644 index 0000000..0f64a83 --- /dev/null +++ b/metadata/md5-cache/app-text/doxygen-1.13.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/yacc app-alternatives/lex || ( dev-lang/python:3.13[xml(+)] dev-lang/python:3.12[xml(+)] dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtbase:6[gui,widgets,xml] ) +DESCRIPTION=Documentation system for most programming languages +EAPI=8 +HOMEPAGE=https://www.doxygen.nl/ +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 +IUSE=clang debug doc dot doxysearch gui test +llvm_slot_20 +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris +LICENSE=GPL-2 +RDEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtbase:6[gui,widgets,xml] ) +REQUIRED_USE=clang? ( ^^ ( llvm_slot_20 ) ) test? ( doc ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://doxygen.nl/files/doxygen-1.13.0.src.tar.gz https://downloads.sourceforge.net/doxygen/rel-1.13.0/doxygen-1.13.0.src.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=d167a1268c499c41013c1b312d14697c diff --git a/metadata/md5-cache/app-text/doxygen-1.9.8 b/metadata/md5-cache/app-text/doxygen-1.9.8 new file mode 100644 index 0000000..d32ec5f --- /dev/null +++ b/metadata/md5-cache/app-text/doxygen-1.9.8 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/yacc app-alternatives/lex || ( dev-lang/python:3.12[xml(+)] dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= media-libs/libpng:= virtual/libiconv clang? ( =dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtbase:6[gui,widgets,xml] ) +DESCRIPTION=Documentation system for most programming languages +EAPI=8 +HOMEPAGE=https://www.doxygen.nl/ +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 git-r3 +IUSE=clang debug doc dot doxysearch gui test +llvm_slot_20 +LICENSE=GPL-2 +PROPERTIES=live +RDEPEND=app-text/ghostscript-gpl dev-db/sqlite:3 dev-lang/perl dev-libs/libfmt:= dev-libs/spdlog:= virtual/libiconv clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) dot? ( media-gfx/graphviz[freetype(+)] ) doc? ( dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra dev-texlive/texlive-plaingeneric ) doxysearch? ( dev-libs/xapian:= ) gui? ( dev-qt/qtbase:6[gui,widgets,xml] ) +REQUIRED_USE=clang? ( ^^ ( llvm_slot_20 ) ) test? ( doc ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=7f5b448e485b806350974ecbe7508527 diff --git a/metadata/md5-cache/dev-cpp/cppgir-0_p20240102 b/metadata/md5-cache/dev-cpp/cppgir-0_p20240102 new file mode 100644 index 0000000..8413592 --- /dev/null +++ b/metadata/md5-cache/dev-cpp/cppgir-0_p20240102 @@ -0,0 +1,16 @@ +BDEPEND=doc? ( app-text/ronn-ng ) test? ( dev-libs/glib ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare test +DEPEND=dev-libs/boost:= dev-libs/libfmt:= dev-cpp/expected-lite +DESCRIPTION=GObject-Introspection C++ binding wrapper generator +EAPI=8 +HOMEPAGE=https://gitlab.com/mnauw/cppgir +INHERIT=cmake flag-o-matic +IUSE=doc test +KEYWORDS=~amd64 ~arm64 ~loong ~riscv +LICENSE=MIT +RDEPEND=dev-libs/boost:= dev-libs/libfmt:= +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://gitlab.com/mnauw/cppgir/-/archive/4c16bffe646af52b7112785cda8112d761f95860/cppgir-4c16bffe646af52b7112785cda8112d761f95860.tar.bz2 -> cppgir-0_p20240102.tar.bz2 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=6d6f99fa2d7c6f481aec06bced306fde diff --git a/metadata/md5-cache/dev-debug/bpftrace-0.21.2-r1 b/metadata/md5-cache/dev-debug/bpftrace-0.21.2-r1 new file mode 100644 index 0000000..802033e --- /dev/null +++ b/metadata/md5-cache/dev-debug/bpftrace-0.21.2-r1 @@ -0,0 +1,16 @@ +BDEPEND=app-arch/xz-utils app-alternatives/lex app-alternatives/yacc test? ( app-editors/vim-core dev-util/pahole ) virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-libs/cereal:= test? ( dev-cpp/gtest ) !!llvm-core/llvm:0 +DESCRIPTION=High-level tracing language for eBPF +EAPI=8 +HOMEPAGE=https://github.com/bpftrace/bpftrace +INHERIT=llvm linux-info cmake +IUSE=lldb test +KEYWORDS=amd64 ~arm64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=>=dev-libs/libbpf-1.1:= >=dev-util/bcc-0.25.0:= lldb? ( >=llvm-core/lldb-15 ) >=llvm-core/llvm-15[llvm_targets_BPF(+)] >=llvm-core/clang-15 bpftrace-0.21.2.gh.tar.gz https://github.com/bpftrace/bpftrace/releases/download/v0.21.2/man.tar.xz -> bpftrace-0.21.2-man.gh.tar.xz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 linux-info ea4122ba1d8791a12b78e53f9510a2e3 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=321b1af7cd2ee8e8a149f54e89fea463 diff --git a/metadata/md5-cache/dev-debug/bpftrace-0.21.3 b/metadata/md5-cache/dev-debug/bpftrace-0.21.3 new file mode 100644 index 0000000..2dce7c9 --- /dev/null +++ b/metadata/md5-cache/dev-debug/bpftrace-0.21.3 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/xz-utils app-alternatives/lex app-alternatives/yacc test? ( app-editors/vim-core dev-util/pahole ) virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-libs/cereal:= test? ( dev-cpp/gtest ) +DESCRIPTION=High-level tracing language for eBPF +EAPI=8 +HOMEPAGE=https://github.com/bpftrace/bpftrace +INHERIT=cmake linux-info llvm-r1 +IUSE=lldb test +llvm_slot_20 +KEYWORDS=amd64 ~arm64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=>=dev-libs/libbpf-1.1:= >=dev-util/bcc-0.25.0:= llvm_slot_20? ( lldb? ( =llvm-core/lldb-20* ) llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) sys-process/procps sys-libs/binutils-libs:= virtual/libelf:= +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/bpftrace/bpftrace/archive/v0.21.3.tar.gz -> bpftrace-0.21.3.gh.tar.gz https://github.com/bpftrace/bpftrace/releases/download/v0.21.2/man.tar.xz -> bpftrace-0.21.3-man.gh.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=96c909068cb756ba384e37b83861d10a diff --git a/metadata/md5-cache/dev-debug/bpftrace-0.22.0 b/metadata/md5-cache/dev-debug/bpftrace-0.22.0 new file mode 100644 index 0000000..1b3b43c --- /dev/null +++ b/metadata/md5-cache/dev-debug/bpftrace-0.22.0 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/xz-utils app-alternatives/lex app-alternatives/yacc test? ( app-editors/vim-core dev-util/pahole ) virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/libbpf-1.5:= >=dev-util/bcc-0.25.0:= llvm_slot_20? ( lldb? ( =llvm-core/lldb-20* ) llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) sys-process/procps sys-libs/binutils-libs:= virtual/libelf:= systemd? ( sys-apps/systemd:= ) pcap? ( net-libs/libpcap:= ) dev-libs/cereal:= test? ( dev-cpp/gtest ) +DESCRIPTION=High-level tracing language for eBPF +EAPI=8 +HOMEPAGE=https://github.com/bpftrace/bpftrace +INHERIT=cmake linux-info llvm-r1 +IUSE=lldb pcap test systemd +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=>=dev-libs/libbpf-1.5:= >=dev-util/bcc-0.25.0:= llvm_slot_20? ( lldb? ( =llvm-core/lldb-20* ) llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) sys-process/procps sys-libs/binutils-libs:= virtual/libelf:= systemd? ( sys-apps/systemd:= ) pcap? ( net-libs/libpcap:= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/bpftrace/bpftrace/archive/v0.22.0.tar.gz -> bpftrace-0.22.0.gh.tar.gz https://github.com/bpftrace/bpftrace/releases/download/v0.22.0/man.tar.xz -> bpftrace-0.22.0-man.gh.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=495512da2795c682a725761fd764e993 diff --git a/metadata/md5-cache/dev-debug/bpftrace-0.22.1 b/metadata/md5-cache/dev-debug/bpftrace-0.22.1 new file mode 100644 index 0000000..b716dc8 --- /dev/null +++ b/metadata/md5-cache/dev-debug/bpftrace-0.22.1 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/xz-utils app-alternatives/lex app-alternatives/yacc test? ( app-editors/vim-core dev-util/pahole ) virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/libbpf-1.5:= >=dev-util/bcc-0.25.0:= llvm_slot_20? ( lldb? ( =llvm-core/lldb-20* ) llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) sys-process/procps sys-libs/binutils-libs:= virtual/libelf:= systemd? ( sys-apps/systemd:= ) pcap? ( net-libs/libpcap:= ) dev-libs/cereal:= test? ( dev-cpp/gtest ) +DESCRIPTION=High-level tracing language for eBPF +EAPI=8 +HOMEPAGE=https://github.com/bpftrace/bpftrace +INHERIT=cmake linux-info llvm-r1 +IUSE=lldb pcap test systemd +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=>=dev-libs/libbpf-1.5:= >=dev-util/bcc-0.25.0:= llvm_slot_20? ( lldb? ( =llvm-core/lldb-20* ) llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) sys-process/procps sys-libs/binutils-libs:= virtual/libelf:= systemd? ( sys-apps/systemd:= ) pcap? ( net-libs/libpcap:= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/bpftrace/bpftrace/archive/v0.22.1.tar.gz -> bpftrace-0.22.1.gh.tar.gz https://github.com/bpftrace/bpftrace/releases/download/v0.22.1/man.tar.xz -> bpftrace-0.22.1-man.gh.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=495512da2795c682a725761fd764e993 diff --git a/metadata/md5-cache/dev-debug/sysdig-0.38.1-r1 b/metadata/md5-cache/dev-debug/sysdig-0.38.1-r1 new file mode 100644 index 0000000..971f4a0 --- /dev/null +++ b/metadata/md5-cache/dev-debug/sysdig-0.38.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) dev-cpp/abseil-cpp:= dev-cpp/tbb:= dev-cpp/yaml-cpp:= dev-libs/jsoncpp:= dev-libs/libb64:= dev-libs/protobuf:= dev-libs/re2:= dev-libs/uthash net-libs/grpc:= net-misc/curl sys-libs/ncurses:= sys-libs/zlib:= virtual/libelf:= dev-cpp/nlohmann_json dev-cpp/valijson virtual/os-headers +DESCRIPTION=A system exploration and troubleshooting tool +EAPI=8 +HOMEPAGE=https://sysdig.com/ +INHERIT=bash-completion-r1 cmake flag-o-matic lua-single +IUSE=+modules +lua_single_target_luajit +KEYWORDS=amd64 ~x86 +LICENSE=Apache-2.0 +PDEPEND=modules? ( =dev-debug/scap-driver-0.17.3* ) +RDEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) dev-cpp/abseil-cpp:= dev-cpp/tbb:= dev-cpp/yaml-cpp:= dev-libs/jsoncpp:= dev-libs/libb64:= dev-libs/protobuf:= dev-libs/re2:= dev-libs/uthash net-libs/grpc:= net-misc/curl sys-libs/ncurses:= sys-libs/zlib:= virtual/libelf:= +REQUIRED_USE=^^ ( lua_single_target_luajit ) +SLOT=0 +SRC_URI=https://github.com/draios/sysdig/archive/0.38.1.tar.gz -> sysdig-0.38.1.tar.gz https://github.com/falcosecurity/libs/archive/0.17.3.tar.gz -> falcosecurity-libs-0.17.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb +_md5_=8c0fd5d2175e5e855367424db01b5fde diff --git a/metadata/md5-cache/dev-debug/sysdig-0.39.0-r1 b/metadata/md5-cache/dev-debug/sysdig-0.39.0-r1 new file mode 100644 index 0000000..cf8203d --- /dev/null +++ b/metadata/md5-cache/dev-debug/sysdig-0.39.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=bpf? ( dev-util/bpftool ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst prepare pretend setup test +DEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) dev-cpp/abseil-cpp:= dev-cpp/tbb:= dev-cpp/yaml-cpp:= dev-libs/jsoncpp:= dev-libs/libb64:= bpf? ( >=dev-libs/libbpf-1.1:= ) dev-libs/protobuf:= dev-libs/re2:= dev-libs/uthash net-libs/grpc:= net-misc/curl sys-libs/ncurses:= sys-libs/zlib:= virtual/libelf:= dev-cpp/nlohmann_json dev-cpp/valijson bpf? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20=[llvm_targets_BPF(+)] ) ) virtual/os-headers +DESCRIPTION=A system exploration and troubleshooting tool +EAPI=8 +HOMEPAGE=https://sysdig.com/ +INHERIT=bash-completion-r1 cmake flag-o-matic linux-info llvm-r1 lua-single +IUSE=bpf +modules +llvm_slot_20 +lua_single_target_luajit +KEYWORDS=amd64 ~x86 +LICENSE=Apache-2.0 +PDEPEND=modules? ( =dev-debug/scap-driver-0.19.0* ) +RDEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) dev-cpp/abseil-cpp:= dev-cpp/tbb:= dev-cpp/yaml-cpp:= dev-libs/jsoncpp:= dev-libs/libb64:= bpf? ( >=dev-libs/libbpf-1.1:= ) dev-libs/protobuf:= dev-libs/re2:= dev-libs/uthash net-libs/grpc:= net-misc/curl sys-libs/ncurses:= sys-libs/zlib:= virtual/libelf:= +REQUIRED_USE=^^ ( lua_single_target_luajit ) +SLOT=0 +SRC_URI=https://github.com/draios/sysdig/archive/0.39.0.tar.gz -> sysdig-0.39.0.tar.gz https://github.com/falcosecurity/libs/archive/0.19.0.tar.gz -> falcosecurity-libs-0.19.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb +_md5_=e6ac094f4b61b2eb65a2e6819e24420e diff --git a/metadata/md5-cache/dev-dotnet/dotnet-sdk-9.0.101 b/metadata/md5-cache/dev-dotnet/dotnet-sdk-9.0.101 new file mode 100644 index 0000000..99a9e36 --- /dev/null +++ b/metadata/md5-cache/dev-dotnet/dotnet-sdk-9.0.101 @@ -0,0 +1,19 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 ) dev-build/cmake dev-vcs/git llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20 ) +DEFINED_PHASES=compile install postinst postrm prepare pretend setup +DEPEND=app-arch/brotli app-crypt/mit-krb5:0/0 dev-libs/icu dev-libs/openssl:= dev-libs/rapidjson dev-util/lttng-ust:= sys-libs/libunwind sys-libs/zlib:0/1 +DESCRIPTION=.NET is a free, cross-platform, open-source developer platform +EAPI=8 +HOMEPAGE=https://dotnet.microsoft.com/ https://github.com/dotnet/dotnet/ +IDEPEND=app-eselect/eselect-dotnet +INHERIT=check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 +IUSE=+llvm_slot_20 +KEYWORDS=amd64 +LICENSE=MIT +PDEPEND=~dev-dotnet/dotnet-runtime-nugets-9.0.0 ~dev-dotnet/dotnet-runtime-nugets-6.0.36 ~dev-dotnet/dotnet-runtime-nugets-7.0.20 ~dev-dotnet/dotnet-runtime-nugets-8.0.11 +RDEPEND=app-arch/brotli app-crypt/mit-krb5:0/0 dev-libs/icu dev-libs/openssl:= dev-libs/rapidjson dev-util/lttng-ust:= sys-libs/libunwind sys-libs/zlib:0/1 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=splitdebug strip +SLOT=9.0/9.0.0 +SRC_URI=amd64? ( elibc_glibc? ( https://dev.gentoo.org/~xgqt/distfiles/repackaged/dotnet-sdk-9.0.101-prepared-gentoo-glibc-amd64.tar.xz ) elibc_musl? ( https://dev.gentoo.org/~xgqt/distfiles/repackaged/dotnet-sdk-9.0.101-prepared-gentoo-musl-amd64.tar.xz ) ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=a75ac0d06df6746d0f2e210a115206c6 diff --git a/metadata/md5-cache/dev-lang/crystal-1.14.1 b/metadata/md5-cache/dev-lang/crystal-1.14.1 new file mode 100644 index 0000000..503f513 --- /dev/null +++ b/metadata/md5-cache/dev-lang/crystal-1.14.1 @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile configure install setup test +DEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) +DESCRIPTION=The Crystal Programming Language +EAPI=8 +HOMEPAGE=https://crystal-lang.org/ https://github.com/crystal-lang/crystal/ +INHERIT=bash-completion-r1 llvm-r1 multiprocessing toolchain-funcs +IUSE=doc debug llvm-libunwind +llvm_slot_20 +KEYWORDS=amd64 +LICENSE=Apache-2.0 +RDEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) dev-libs/libxml2 dev-libs/libyaml +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/crystal-lang/crystal/archive/1.14.1.tar.gz -> crystal-1.14.1.tar.gz amd64? ( https://github.com/crystal-lang/crystal/releases/download/1.14.1/crystal-1.14.1-3-linux-x86_64.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f +_md5_=21c75fc76a2f7e0d0135d0762fcec995 diff --git a/metadata/md5-cache/dev-lang/crystal-1.15.0-r1 b/metadata/md5-cache/dev-lang/crystal-1.15.0-r1 new file mode 100644 index 0000000..d825dc1 --- /dev/null +++ b/metadata/md5-cache/dev-lang/crystal-1.15.0-r1 @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) +DESCRIPTION=The Crystal Programming Language +EAPI=8 +HOMEPAGE=https://crystal-lang.org/ https://github.com/crystal-lang/crystal/ +INHERIT=llvm-r1 multiprocessing shell-completion toolchain-funcs +IUSE=doc debug llvm-libunwind +llvm_slot_20 +KEYWORDS=amd64 +LICENSE=Apache-2.0 +RDEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) dev-libs/libxml2 dev-libs/libyaml +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/crystal-lang/crystal/archive/1.15.0.tar.gz -> crystal-1.15.0.gh.tar.gz amd64? ( https://github.com/crystal-lang/crystal/releases/download/1.15.0/crystal-1.15.0-1-linux-x86_64.tar.gz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 +_md5_=13eb96c5035a5d57dde48717aeef08df diff --git a/metadata/md5-cache/dev-lang/crystal-1.15.1 b/metadata/md5-cache/dev-lang/crystal-1.15.1 new file mode 100644 index 0000000..989b440 --- /dev/null +++ b/metadata/md5-cache/dev-lang/crystal-1.15.1 @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) +DESCRIPTION=The Crystal Programming Language +EAPI=8 +HOMEPAGE=https://crystal-lang.org/ https://github.com/crystal-lang/crystal/ +INHERIT=llvm-r1 multiprocessing shell-completion toolchain-funcs +IUSE=doc debug llvm-libunwind +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=Apache-2.0 +RDEPEND=dev-libs/boehm-gc:=[threads] dev-libs/gmp:= dev-libs/libatomic_ops:= dev-libs/libevent:= dev-libs/libpcre2:=[unicode] dev-libs/pcl:= llvm_slot_20? ( llvm-core/llvm:20= ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) dev-libs/libxml2 dev-libs/libyaml +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/crystal-lang/crystal/archive/1.15.1.tar.gz -> crystal-1.15.1.gh.tar.gz amd64? ( https://github.com/crystal-lang/crystal/releases/download/1.15.1/crystal-1.15.1-1-linux-x86_64.tar.gz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 +_md5_=b46cdd5e68c62cc6bf49bada9eeb0596 diff --git a/metadata/md5-cache/dev-lang/dart-bin-2.19.6 b/metadata/md5-cache/dev-lang/dart-bin-2.19.6 new file mode 100644 index 0000000..9cbe8ff --- /dev/null +++ b/metadata/md5-cache/dev-lang/dart-bin-2.19.6 @@ -0,0 +1,10 @@ +BDEPEND=app-arch/unzip +DEFINED_PHASES=install prepare +DESCRIPTION=A client-optimized langauge for fast apps on any platform +EAPI=7 +HOMEPAGE=https://dart.dev/ +KEYWORDS=-* ~amd64 +LICENSE=BSD +SLOT=0 +SRC_URI=amd64? ( https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.6/sdk/dartsdk-linux-x64-release.zip ) arm? ( https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.6/sdk/dartsdk-linux-arm-release.zip ) arm64? ( https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.6/sdk/dartsdk-linux-arm64-release.zip ) x86? ( https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.6/sdk/dartsdk-linux-ia32-release.zip ) +_md5_=fdb33cf5d0e9b1a4d88189bf477104d8 diff --git a/metadata/md5-cache/dev-lang/flutter-3.16.9 b/metadata/md5-cache/dev-lang/flutter-3.16.9 new file mode 100644 index 0000000..0e45bb4 --- /dev/null +++ b/metadata/md5-cache/dev-lang/flutter-3.16.9 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile install postinst prepare +DEPEND=dev-lang/dart-bin +DESCRIPTION=A client-optimized langauge for fast apps on any platform +EAPI=7 +HOMEPAGE=https://dart.dev/ +INHERIT=bash-completion-r1 readme.gentoo-r1 +IUSE=examples +KEYWORDS=~amd64 +LICENSE=BSD +RDEPEND=dev-lang/dart-bin +SLOT=0 +SRC_URI=https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.16.9-stable.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 +_md5_=84c61c87cb1d9ee33ee44575f4828ad7 diff --git a/metadata/md5-cache/dev-lang/ispc-1.26.0 b/metadata/md5-cache/dev-lang/ispc-1.26.0 new file mode 100644 index 0000000..e932cdf --- /dev/null +++ b/metadata/md5-cache/dev-lang/ispc-1.26.0 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/yacc app-alternatives/lex || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20 ) sys-libs/ncurses:= gpu? ( dev-libs/level-zero:= ) !openmp? ( dev-cpp/tbb:= ) +DESCRIPTION=Intel SPMD Program Compiler +EAPI=8 +HOMEPAGE=https://ispc.github.io/ https://github.com/ispc/ispc/ +INHERIT=cmake llvm-r1 multiprocessing python-any-r1 toolchain-funcs +IUSE=examples gpu openmp test +llvm_slot_20 +KEYWORDS=amd64 ~arm ~arm64 ~ppc64 ~x86 +LICENSE=BSD BSD-2 UoI-NCSA +RDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) sys-libs/ncurses:= gpu? ( dev-libs/level-zero:= ) !openmp? ( dev-cpp/tbb:= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/ispc/ispc/archive/v1.26.0.tar.gz -> ispc-1.26.0.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=4534cb234293a760945662ade11a6f70 diff --git a/metadata/md5-cache/dev-lang/python-2.7.18_p16-r2 b/metadata/md5-cache/dev-lang/python-2.7.18_p16-r2 new file mode 100644 index 0000000..be75f82 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-2.7.18_p16-r2 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=app-arch/bzip2:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=7 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ https://gitweb.gentoo.org/fork/cpython.git/ +INHERIT=autotools flag-o-matic pax-utils toolchain-funcs verify-sig +IUSE=berkdb bluetooth build examples gdbm +ncurses +readline +sqlite +ssl valgrind wininst +xml verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) xml? ( >=dev-libs/expat-2.1:= ) !build? ( app-misc/mime-types ) +RESTRICT=test +SLOT=2.7 +SRC_URI=https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-2.7.18_p16.tar.xz verify-sig? ( https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 pax-utils 5555f2e75744739fe100ee62c22d28fe eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=dd07938dd022f640ca8660ca74835823 diff --git a/metadata/md5-cache/dev-lang/python-3.10.16_p1 b/metadata/md5-cache/dev-lang/python-3.10.16_p1 new file mode 100644 index 0000000..45dd66b --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.10.16_p1 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) valgrind? ( dev-debug/valgrind ) test? ( app-arch/xz-utils ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_10(-)] +RESTRICT=!test? ( test ) +SLOT=3.10 +SRC_URI=https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.10.16_p1.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=df6a79631aaefc3d2c8744ed0f00ba72 diff --git a/metadata/md5-cache/dev-lang/python-3.10.16_p2 b/metadata/md5-cache/dev-lang/python-3.10.16_p2 new file mode 100644 index 0000000..38d70b2 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.10.16_p2 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) valgrind? ( dev-debug/valgrind ) test? ( app-arch/xz-utils ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_10(-)] +RESTRICT=!test? ( test ) +SLOT=3.10 +SRC_URI=https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.10.16_p2.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=b106af9f03e0ff86f2ba0a7e8aa9819b diff --git a/metadata/md5-cache/dev-lang/python-3.11.11_p1 b/metadata/md5-cache/dev-lang/python-3.11.11_p1 new file mode 100644 index 0000000..9b958b3 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.11.11_p1 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_11(-)] +RESTRICT=!test? ( test ) +SLOT=3.11 +SRC_URI=https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.11.11_p1.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b eapi9-ver 6a71fa30cdb3fe445114fdeab156c1f0 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=3936f2ad4299e4c6575aeae60725069d diff --git a/metadata/md5-cache/dev-lang/python-3.11.11_p2 b/metadata/md5-cache/dev-lang/python-3.11.11_p2 new file mode 100644 index 0000000..514c982 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.11.11_p2 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_11(-)] +RESTRICT=!test? ( test ) +SLOT=3.11 +SRC_URI=https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.11.11_p2.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b eapi9-ver 6a71fa30cdb3fe445114fdeab156c1f0 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=18253125f06ab3b1224b47e0ce06f0bc diff --git a/metadata/md5-cache/dev-lang/python-3.12.9 b/metadata/md5-cache/dev-lang/python-3.12.9 new file mode 100644 index 0000000..430cdfb --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.12.9 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_12(-)] +RESTRICT=!test? ( test ) +SLOT=3.12 +SRC_URI=https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.12.9.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=e916b7bdb752747af3ccfeb1119988ff diff --git a/metadata/md5-cache/dev-lang/python-3.13.2 b/metadata/md5-cache/dev-lang/python-3.13.2 new file mode 100644 index 0000000..3c54ace --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.13.2 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig jit? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic linux-info llvm-r1 multiprocessing pax-utils python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +llvm_slot_20 verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_13(-)] +REQUIRED_USE=jit? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=3.13 +SRC_URI=https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.13.2.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=3d7825359e891c8ec0d158fa5f645729 diff --git a/metadata/md5-cache/dev-lang/python-3.13.2-r100 b/metadata/md5-cache/dev-lang/python-3.13.2-r100 new file mode 100644 index 0000000..1bdfb39 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.13.2-r100 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig jit? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=Freethreading (no-GIL) version of Python programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic linux-info llvm-r1 multiprocessing pax-utils python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +llvm_slot_20 verify-sig +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) dev-lang/python-exec[python_targets_python3_13t(-)] +REQUIRED_USE=jit? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=3.13t +SRC_URI=https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.13.2.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=cd073522d3ba8b0ab42ba3ffc36b2c10 diff --git a/metadata/md5-cache/dev-lang/python-3.14.0_alpha5 b/metadata/md5-cache/dev-lang/python-3.14.0_alpha5 new file mode 100644 index 0000000..241a996 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.14.0_alpha5 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig jit? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( dev-python/sigstore sec-keys/sigstore-trusted-root ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic linux-info llvm-r1 multiprocessing pax-utils python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +llvm_slot_20 verify-sig +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) +REQUIRED_USE=jit? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=3.14 +SRC_URI=https://www.python.org/ftp/python/3.14.0/Python-3.14.0a5.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.14.0a5.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.14.0/Python-3.14.0a5.tar.xz.sigstore ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=3d45b0bf5581f42dd192350cef7d16ba diff --git a/metadata/md5-cache/dev-lang/python-3.14.0_alpha5-r100 b/metadata/md5-cache/dev-lang/python-3.14.0_alpha5-r100 new file mode 100644 index 0000000..7a1bdc0 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.14.0_alpha5-r100 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig jit? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( dev-python/sigstore sec-keys/sigstore-trusted-root ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=Freethreading (no-GIL) version of Python programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic linux-info llvm-r1 multiprocessing pax-utils python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +llvm_slot_20 verify-sig +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libintl ensurepip? ( dev-python/ensurepip-pip ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( !libedit? ( >=sys-libs/readline-4.1:= ) libedit? ( dev-libs/libedit:= ) ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) +REQUIRED_USE=jit? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=3.14t +SRC_URI=https://www.python.org/ftp/python/3.14.0/Python-3.14.0a5.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.14.0a5.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.14.0/Python-3.14.0a5.tar.xz.sigstore ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=d12ea99f78803a7254ee7b7d05f3f0dc diff --git a/metadata/md5-cache/dev-lang/python-3.8.20_p6 b/metadata/md5-cache/dev-lang/python-3.8.20_p6 new file mode 100644 index 0000000..7125382 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.8.20_p6 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) +RESTRICT=!test? ( test ) +SLOT=3.8 +SRC_URI=https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.8.20_p6.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=cbf0296a431e73215fef3140cedb25c6 diff --git a/metadata/md5-cache/dev-lang/python-3.9.20_p2 b/metadata/md5-cache/dev-lang/python-3.9.20_p2 new file mode 100644 index 0000000..99dfcc9 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.9.20_p2 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) +RESTRICT=!test? ( test ) +SLOT=3.9 +SRC_URI=https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.9.20_p2.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=a3e358f385b7ffdaae052212e29d6c99 diff --git a/metadata/md5-cache/dev-lang/python-3.9.21_p1 b/metadata/md5-cache/dev-lang/python-3.9.21_p1 new file mode 100644 index 0000000..f94e894 --- /dev/null +++ b/metadata/md5-cache/dev-lang/python-3.9.21_p1 @@ -0,0 +1,16 @@ +BDEPEND=dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) +DESCRIPTION=An interpreted, interactive, object-oriented programming language +EAPI=8 +HOMEPAGE=https://www.python.org/ https://github.com/python/cpython/ +INHERIT=autotools check-reqs flag-o-matic multiprocessing pax-utils prefix python-utils-r1 toolchain-funcs verify-sig +IUSE=bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind verify-sig +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=PSF-2 +RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) !build? ( app-misc/mime-types ) +RESTRICT=!test? ( test ) +SLOT=3.9 +SRC_URI=https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.9.21_p1.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tar.xz.asc ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f pax-utils 5555f2e75744739fe100ee62c22d28fe prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=e8ea585b27fbb3cc1e94bd4d8ad42ea9 diff --git a/metadata/md5-cache/dev-lang/rust-1.71.1-r101 b/metadata/md5-cache/dev-lang/rust-1.71.1-r101 new file mode 100644 index 0000000..407b33e --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.71.1-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.71.1 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=158a37d81e1fd91393a2f4cfae389556 diff --git a/metadata/md5-cache/dev-lang/rust-1.74.1-r101 b/metadata/md5-cache/dev-lang/rust-1.74.1-r101 new file mode 100644 index 0000000..ba568c1 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.74.1-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) mrustc-bootstrap? ( ~dev-lang/mrustc-0.11.2 dev-build/cmake sys-devel/gcc:* ) !mrustc-bootstrap? ( || ( dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs cmake edo estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.74.1 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.74.1-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.74.1-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c estack c61c368a76fdf3a82fdf8dbaebea3804 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 optfeature 538bce96e5589935b57e178e8635f301 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=623e26f86bd0fcecdbb23c3c58d17778 diff --git a/metadata/md5-cache/dev-lang/rust-1.75.0-r101 b/metadata/md5-cache/dev-lang/rust-1.75.0-r101 new file mode 100644 index 0000000..662b3d5 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.75.0-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.75.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.75.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.75.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=697aff4952fa25f5a7fbf09a0eecb18f diff --git a/metadata/md5-cache/dev-lang/rust-1.76.0-r101 b/metadata/md5-cache/dev-lang/rust-1.76.0-r101 new file mode 100644 index 0000000..01cea43 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.76.0-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.76.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.76.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.76.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=54dfc1018f5ade3d5b46f2705bc71044 diff --git a/metadata/md5-cache/dev-lang/rust-1.77.1-r101 b/metadata/md5-cache/dev-lang/rust-1.77.1-r101 new file mode 100644 index 0000000..4313fdf --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.77.1-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.77.1 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.77.1-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.77.1-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=54614929546ccefcc71e649d2e145157 diff --git a/metadata/md5-cache/dev-lang/rust-1.78.0-r101 b/metadata/md5-cache/dev-lang/rust-1.78.0-r101 new file mode 100644 index 0000000..56aec88 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.78.0-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.78.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.78.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.78.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=f5420c67e3b7259d903ea8b080a2b75f diff --git a/metadata/md5-cache/dev-lang/rust-1.79.0-r101 b/metadata/md5-cache/dev-lang/rust-1.79.0-r101 new file mode 100644 index 0000000..98cae69 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.79.0-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.79.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.79.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.79.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=324fee89a457709a429914bd83cd5042 diff --git a/metadata/md5-cache/dev-lang/rust-1.80.1-r101 b/metadata/md5-cache/dev-lang/rust-1.80.1-r101 new file mode 100644 index 0000000..5b54217 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.80.1-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.80.1 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.80.1-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.80.1-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=75dc4acd258feff7a5c4aba432b2ad7f diff --git a/metadata/md5-cache/dev-lang/rust-1.81.0-r101 b/metadata/md5-cache/dev-lang/rust-1.81.0-r101 new file mode 100644 index 0000000..3e0a66d --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.81.0-r101 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.81.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.81.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.81.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=cd5de5b4015f198c7b3be151746ce53b diff --git a/metadata/md5-cache/dev-lang/rust-1.82.0-r102 b/metadata/md5-cache/dev-lang/rust-1.82.0-r102 new file mode 100644 index 0000000..51ac04f --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.82.0-r102 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.82.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.82.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.82.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=6417728c43dec37a9bde9e0b0228897f diff --git a/metadata/md5-cache/dev-lang/rust-1.83.0-r2 b/metadata/md5-cache/dev-lang/rust-1.83.0-r2 new file mode 100644 index 0000000..7627717 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.83.0-r2 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.83.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.83.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.83.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=e6d805cc26a98ed844f9e595456d1893 diff --git a/metadata/md5-cache/dev-lang/rust-1.84.0-r1 b/metadata/md5-cache/dev-lang/rust-1.84.0-r1 new file mode 100644 index 0000000..dcb5855 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.84.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.84.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.84.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.84.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=ada3a15283950b0cf23a35b89595321d diff --git a/metadata/md5-cache/dev-lang/rust-1.84.1-r1 b/metadata/md5-cache/dev-lang/rust-1.84.1-r1 new file mode 100644 index 0000000..b8c53bb --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.84.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) miri? ( nightly ) parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.84.1 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.84.1-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.84.1-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=a4073562be1357eb67321137f1d46656 diff --git a/metadata/md5-cache/dev-lang/rust-1.85.0 b/metadata/md5-cache/dev-lang/rust-1.85.0 new file mode 100644 index 0000000..da3f439 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.85.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language originally developed by Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.85.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.85.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.85.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=e01c308642385fb0c495e35879938bb2 diff --git a/metadata/md5-cache/dev-lang/rust-1.85.0-r1 b/metadata/md5-cache/dev-lang/rust-1.85.0-r1 new file mode 100644 index 0000000..159a9d7 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.85.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language originally developed by Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.85.0 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.85.0-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rustc-1.85.0-src.tar.xz.asc ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=c71d8ef313aad76cb85da3b6679aa1ed diff --git a/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250218-r1 b/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250218-r1 new file mode 100644 index 0000000..cab5090 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250218-r1 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language originally developed by Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.86.0 +SRC_URI=https://static.rust-lang.org/dist/2025-02-18/rustc-beta-src.tar.xz -> rustc-1.86.0_beta20250218-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rustc-beta-src.tar.xz.asc -> rustc-1.86.0_beta20250218-src.tar.xz.asc ) https://github.com/rust-lang/rust/pull/137020.patch -> rust-1.86.0_beta20250218-vendor-in-install-phase.patch +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=bb846b9e198bcfecc4b38733c7641167 diff --git a/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250225 b/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250225 new file mode 100644 index 0000000..6f39d8d --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-1.86.0_beta20250225 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-eselect/eselect-rust || ( >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) || ( dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) +DESCRIPTION=Systems programming language originally developed by Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig +IUSE=big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src +system-llvm test wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 verify-sig +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-arch/xz-utils-5.2 net-misc/curl:=[http2,ssl] sys-libs/zlib:= dev-libs/openssl:0= system-llvm? ( llvm_targets_AArch64? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AArch64] ) ) llvm_targets_AMDGPU? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU] ) ) llvm_targets_ARC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARC] ) ) llvm_targets_ARM? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_ARM] ) ) llvm_targets_AVR? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AVR] ) ) llvm_targets_BPF? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_BPF] ) ) llvm_targets_CSKY? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_CSKY] ) ) llvm_targets_DirectX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_DirectX] ) ) llvm_targets_Hexagon? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Hexagon] ) ) llvm_targets_Lanai? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Lanai] ) ) llvm_targets_LoongArch? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_LoongArch] ) ) llvm_targets_M68k? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_M68k] ) ) llvm_targets_Mips? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Mips] ) ) llvm_targets_MSP430? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_MSP430] ) ) llvm_targets_NVPTX? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_NVPTX] ) ) llvm_targets_PowerPC? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_PowerPC] ) ) llvm_targets_RISCV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_RISCV] ) ) llvm_targets_Sparc? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Sparc] ) ) llvm_targets_SPIRV? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SPIRV] ) ) llvm_targets_SystemZ? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_SystemZ] ) ) llvm_targets_VE? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_VE] ) ) llvm_targets_WebAssembly? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_WebAssembly] ) ) llvm_targets_X86? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_X86] ) ) llvm_targets_XCore? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_XCore] ) ) llvm_targets_Xtensa? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_Xtensa] ) ) wasm? ( llvm_slot_20? ( llvm-core/lld:20 ) ) llvm_slot_20? ( llvm-core/llvm:20 ) llvm-libunwind? ( llvm-runtimes/libunwind:= ) ) !system-llvm? ( !llvm-libunwind? ( elibc_musl? ( sys-libs/libunwind:= ) ) ) app-eselect/eselect-rust dev-lang/rust-common sys-apps/lsb-release !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) rust-analyzer? ( rust-src ) test? ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARC llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF llvm_targets_CSKY llvm_targets_DirectX llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_LoongArch llvm_targets_M68k llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_RISCV llvm_targets_Sparc llvm_targets_SPIRV llvm_targets_SystemZ llvm_targets_VE llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore llvm_targets_Xtensa ) wasm? ( llvm_targets_WebAssembly ) x86? ( cpu_flags_x86_sse2 ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=1.86.0 +SRC_URI=https://static.rust-lang.org/dist/2025-02-25/rustc-beta-src.tar.xz -> rustc-1.86.0_beta20250225-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rustc-beta-src.tar.xz.asc -> rustc-1.86.0_beta20250225-src.tar.xz.asc ) https://github.com/rust-lang/rust/pull/137020.patch -> rust-1.86.0_beta20250225-vendor-in-install-phase.patch +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=38a728ae45ecaa83322a9093e1c2220d diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.71.1-r102 b/metadata/md5-cache/dev-lang/rust-bin-1.71.1-r102 new file mode 100644 index 0000000..419975e --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.71.1-r102 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.71.1 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.71.1-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.71.1-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.71.1-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2023-08-03/rust-src-1.71.1.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://static.rust-lang.org/dist/rust-1.71.1-mips-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-mips-unknown-linux-gnu.tar.xz.asc ) ) !big-endian? ( https://static.rust-lang.org/dist/rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz.asc ) ) ) abi_mips_n64? ( big-endian? ( https://static.rust-lang.org/dist/rust-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz.asc ) ) !big-endian? ( https://static.rust-lang.org/dist/rust-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz.asc ) ) ) ) sparc? ( https://dev.gentoo.org/~sam/distfiles/dev-lang/rust-bin/rust-1.71.1-sparc64-unknown-linux-gnu.tar.xz -> rust-1.71.1-sparc64-unknown-linux-gnu.sam.tar.xz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=ed2543af5fcc718fc9a0632e49f8da30 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.74.1-r102 b/metadata/md5-cache/dev-lang/rust-bin-1.74.1-r102 new file mode 100644 index 0000000..2d4752a --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.74.1-r102 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.74.1 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.74.1-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.74.1-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.74.1-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2023-12-07/rust-src-1.74.1.tar.xz ) sparc? ( https://dev.gentoo.org/~sam/distfiles/dev-lang/rust-bin/rust-1.74.1-sparc64-unknown-linux-gnu.tar.xz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=1ba62f7591ef5f46a23ed75ef4541dbe diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.75.0-r102 b/metadata/md5-cache/dev-lang/rust-bin-1.75.0-r102 new file mode 100644 index 0000000..2732499 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.75.0-r102 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Language empowering everyone to build reliable and efficient software +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.75.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.75.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.75.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.75.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.75.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.75.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.75.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2023-12-28/rust-src-1.75.0.tar.xz ) sparc? ( https://dev.gentoo.org/~sam/distfiles/dev-lang/rust-bin/rust-1.75.0-sparc64-unknown-linux-gnu.tar.xz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=336ace4748e537e9d7698f5dea3737e3 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.76.0-r101 b/metadata/md5-cache/dev-lang/rust-bin-1.76.0-r101 new file mode 100644 index 0000000..b705ca2 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.76.0-r101 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.76.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.76.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.76.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.76.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.76.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.76.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-02-08/rust-src-1.76.0.tar.xz ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=807dfea0e01e876dde6cd01db0424a70 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.77.1-r102 b/metadata/md5-cache/dev-lang/rust-bin-1.77.1-r102 new file mode 100644 index 0000000..78f9d22 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.77.1-r102 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.77.1 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.77.1-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.77.1-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.77.1-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.77.1-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.77.1-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.77.1-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-03-28/rust-src-1.77.1.tar.xz ) sparc? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-lang/rust-bin/rust-1.77.1-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-lang/rust-bin/rust-1.77.1-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-lang/rust-bin/rust-1.77.1-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-lang/rust-bin/rust-1.77.1-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-lang/rust-bin/rust-1.77.1-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=7fb0dea06100954ceb7986394b7721fb diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.78.0-r102 b/metadata/md5-cache/dev-lang/rust-bin-1.78.0-r102 new file mode 100644 index 0000000..994937c --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.78.0-r102 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.78.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.78.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.78.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-06-13/rust-src-1.78.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.78.0-r101/rust-1.78.0-r101-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=fe625334b48cf6e84e97d8179a608ed4 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.79.0-r103 b/metadata/md5-cache/dev-lang/rust-bin-1.79.0-r103 new file mode 100644 index 0000000..645462a --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.79.0-r103 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.79.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.79.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.79.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-06-13/rust-src-1.79.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.79.0-r101/rust-1.79.0-r101-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=fe625334b48cf6e84e97d8179a608ed4 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.80.1-r103 b/metadata/md5-cache/dev-lang/rust-bin-1.80.1-r103 new file mode 100644 index 0000000..b00e102 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.80.1-r103 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.80.1 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.80.1-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.80.1-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-08-08/rust-src-1.80.1.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.80.1-r101/rust-1.80.1-r101-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 +_md5_=e04640d680cc211b35f9579a6e4c4570 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.81.0-r103 b/metadata/md5-cache/dev-lang/rust-bin-1.81.0-r103 new file mode 100644 index 0000000..4bd87e4 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.81.0-r103 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.81.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.81.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.81.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.81.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-09-05/rust-src-1.81.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.81.0-r101/rust-1.81.0-r101-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=9b50332168e4de588fda6323022ca516 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.82.0-r103 b/metadata/md5-cache/dev-lang/rust-bin-1.82.0-r103 new file mode 100644 index 0000000..f9db419 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.82.0-r103 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.82.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.82.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.82.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-10-17/rust-src-1.82.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.82.0-r102/rust-1.82.0-r102-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=c1c209b2ab50b42feacc35e90be0a465 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.83.0-r2 b/metadata/md5-cache/dev-lang/rust-bin-1.83.0-r2 new file mode 100644 index 0000000..beaef10 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.83.0-r2 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.83.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.83.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.83.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2024-11-28/rust-src-1.83.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.83.0-r2/rust-1.83.0-r2-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=8ec1471a04734ff9dd6dbf95c2d67c61 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.84.0-r2 b/metadata/md5-cache/dev-lang/rust-bin-1.84.0-r2 new file mode 100644 index 0000000..247208d --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.84.0-r2 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.84.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.84.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.84.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-01-09/rust-src-1.84.0.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.0-r1/rust-1.84.0-r1-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=b606df7cc68c9ff8b2c02ba984390180 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.84.1-r2 b/metadata/md5-cache/dev-lang/rust-bin-1.84.1-r2 new file mode 100644 index 0000000..f27bb03 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.84.1-r2 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.84.1 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.84.1-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.84.1-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.84.1-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.84.1-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-01-30/rust-src-1.84.1.tar.xz ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( elibc_musl? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.84.1-r1/rust-1.84.1-r1-powerpc64le-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=d0ed6e3eb845f88076dabc77bcd52e50 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.85.0 b/metadata/md5-cache/dev-lang/rust-bin-1.85.0 new file mode 100644 index 0000000..5407b70 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.85.0 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.85.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-02-20/rust-src-1.85.0.tar.xz ) ppc64? ( elibc_musl? ( !big-endian? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz.asc ) ) ) ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( big-endian? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-powerpc64-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=7e057b77bc52de9cccb60be4b9c49c62 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.85.0-r1 b/metadata/md5-cache/dev-lang/rust-bin-1.85.0-r1 new file mode 100644 index 0000000..dd4329c --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.85.0-r1 @@ -0,0 +1,16 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release || ( llvm-runtimes/libgcc sys-devel/gcc:* ) !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.85.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-02-20/rust-src-1.85.0.tar.xz ) ppc64? ( elibc_musl? ( !big-endian? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz.asc ) ) ) ) sparc? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-sparc64-unknown-linux-gnu.tar.xz ) mips? ( abi_mips_o32? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips-unknown-linux-gnu.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mipsel-unknown-linux-gnu.tar.xz ) ) abi_mips_n64? ( big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips64-unknown-linux-gnuabi64.tar.xz ) !big-endian? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-mips64el-unknown-linux-gnuabi64.tar.xz ) ) ) riscv? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-riscv64gc-unknown-linux-musl.tar.xz ) ) ppc64? ( big-endian? ( elibc_musl? ( https://github.com/projg2/rust-bootstrap/releases/download/1.85.0/rust-1.85.0-powerpc64-unknown-linux-musl.tar.xz ) ) ) +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=87c4090591aa687db398d64a45df4980 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218 b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218 new file mode 100644 index 0000000..0375ba3 --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218 @@ -0,0 +1,15 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.86.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-i686-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-i686-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabi.tar.xz -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabi.tar.xz.asc -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-18/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-s390x-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-s390x-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-loongarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-loongarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-02-18/rust-src-beta.tar.xz -> rust-src-1.86.0_beta20250218.tar.xz ) +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=d6a0058b33ec6f50491d8c2d2879fc36 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218-r1 b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218-r1 new file mode 100644 index 0000000..57b6efa --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250218-r1 @@ -0,0 +1,15 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release || ( llvm-runtimes/libgcc sys-devel/gcc:* ) !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.86.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-i686-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-i686-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-x86_64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabi.tar.xz -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabi.tar.xz.asc -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-arm-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-18/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-aarch64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-s390x-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-s390x-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-loongarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-18/rust-beta-loongarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-02-18/rust-src-beta.tar.xz -> rust-src-1.86.0_beta20250218.tar.xz ) +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=f9e1e5e938920b1e905d183a5ef5aff3 diff --git a/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250225 b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250225 new file mode 100644 index 0000000..14eb93a --- /dev/null +++ b/metadata/md5-cache/dev-lang/rust-bin-1.86.0_beta20250225 @@ -0,0 +1,15 @@ +BDEPEND=prefix? ( dev-util/patchelf ) verify-sig? ( sec-keys/openpgp-keys-rust ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm pretend test unpack +DESCRIPTION=Systems programming language from Mozilla +EAPI=8 +HOMEPAGE=https://www.rust-lang.org/ +INHERIT=edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature +IUSE=big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt +llvm_slot_20 verify-sig abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +LICENSE=|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 +RDEPEND=>=app-eselect/eselect-rust-20190311 dev-libs/openssl sys-apps/lsb-release sys-devel/gcc:* !dev-lang/rust:stable !dev-lang/rust-bin:stable +REQUIRED_USE=x86? ( cpu_flags_x86_sse2 ) +RESTRICT=strip +SLOT=1.86.0 +SRC_URI=abi_x86_32? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-i686-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-i686-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-i686-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-i686-unknown-linux-gnu.tar.xz.asc ) ) ) abi_x86_64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-x86_64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-x86_64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-x86_64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-x86_64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250225-x86_64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-x86_64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250225-x86_64-unknown-linux-musl.tar.xz.asc ) ) ) arm? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-arm-unknown-linux-gnueabi.tar.xz -> rust-1.86.0_beta20250225-arm-unknown-linux-gnueabi.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-arm-unknown-linux-gnueabi.tar.xz.asc -> rust-1.86.0_beta20250225-arm-unknown-linux-gnueabi.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-25/rust-beta-arm-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250225-arm-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-arm-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250225-arm-unknown-linux-gnueabihf.tar.xz.asc ) https://static.rust-lang.org/dist/2025-02-25/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz -> rust-1.86.0_beta20250225-armv7-unknown-linux-gnueabihf.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-armv7-unknown-linux-gnueabihf.tar.xz.asc -> rust-1.86.0_beta20250225-armv7-unknown-linux-gnueabihf.tar.xz.asc ) ) ) arm64? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-aarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-aarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-aarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-aarch64-unknown-linux-gnu.tar.xz.asc ) ) elibc_musl? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-aarch64-unknown-linux-musl.tar.xz -> rust-1.86.0_beta20250225-aarch64-unknown-linux-musl.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-aarch64-unknown-linux-musl.tar.xz.asc -> rust-1.86.0_beta20250225-aarch64-unknown-linux-musl.tar.xz.asc ) ) ) ppc? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-powerpc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-powerpc-unknown-linux-gnu.tar.xz.asc ) ) ) ppc64? ( big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-powerpc64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-powerpc64-unknown-linux-gnu.tar.xz.asc ) ) ) !big-endian? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-powerpc64le-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-powerpc64le-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-powerpc64le-unknown-linux-gnu.tar.xz.asc ) ) ) ) riscv? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-riscv64gc-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-riscv64gc-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-riscv64gc-unknown-linux-gnu.tar.xz.asc ) ) ) s390? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-s390x-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-s390x-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-s390x-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-s390x-unknown-linux-gnu.tar.xz.asc ) ) ) loong? ( elibc_glibc? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-loongarch64-unknown-linux-gnu.tar.xz -> rust-1.86.0_beta20250225-loongarch64-unknown-linux-gnu.tar.xz verify-sig? ( https://static.rust-lang.org/dist/2025-02-25/rust-beta-loongarch64-unknown-linux-gnu.tar.xz.asc -> rust-1.86.0_beta20250225-loongarch64-unknown-linux-gnu.tar.xz.asc ) ) ) rust-src? ( https://static.rust-lang.org/dist/2025-02-25/rust-src-beta.tar.xz -> rust-src-1.86.0_beta20250225.tar.xz ) +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 prefix c3c4c93ebda319c0fa7ed6f942ba1010 rust-toolchain 76468983281b0a7fc167ca224f84ecfd eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=d6a0058b33ec6f50491d8c2d2879fc36 diff --git a/metadata/md5-cache/dev-lang/spidermonkey-102.15.0-r1 b/metadata/md5-cache/dev-lang/spidermonkey-102.15.0-r1 new file mode 100644 index 0000000..5854e8c --- /dev/null +++ b/metadata/md5-cache/dev-lang/spidermonkey-102.15.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.11[ssl,xml(+)] dev-lang/python:3.10[ssl,xml(+)] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 ) ) virtual/pkgconfig test? ( || ( ( dev-lang/python:3.11[ssl,xml(+)] dev-python/six[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[ssl,xml(+)] dev-python/six[python_targets_python3_10(-)] ) ) ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/icu-71.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +DESCRIPTION=SpiderMonkey is Mozilla's JavaScript engine written in C and C++ +EAPI=8 +HOMEPAGE=https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html +INHERIT=autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs +IUSE=clang cpu_flags_arm_neon debug +jit lto test +llvm_slot_20 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86 +LICENSE=MPL-2.0 +RDEPEND=>=dev-libs/icu-71.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=102 +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/102.15.0esr/source/firefox-102.15.0esr.source.tar.xz -> firefox-102.15.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-102esr-patches-13.tar.xz https://dev.gentoo.org/~whissi/mozilla/patchsets/firefox-102esr-patches-13.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/spidermonkey-102-patches-05j.tar.xz https://dev.gentoo.org/~whissi/mozilla/patchsets/spidermonkey-102-patches-05j.tar.xz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 +_md5_=a9bf7c26ef2989a7ee2a5a1172087a36 diff --git a/metadata/md5-cache/dev-lang/spidermonkey-115.16.0-r1 b/metadata/md5-cache/dev-lang/spidermonkey-115.16.0-r1 new file mode 100644 index 0000000..fe098fe --- /dev/null +++ b/metadata/md5-cache/dev-lang/spidermonkey-115.16.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-lang/python:3.10[ncurses,ssl,xml(+)] ) virtual/pkgconfig llvm_slot_20? ( llvm-core/llvm:20 clang? ( llvm-core/clang:20 llvm-core/lld:20 ) ) test? ( || ( ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_10(-)] ) ) ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +DESCRIPTION=SpiderMonkey is Mozilla's JavaScript engine written in C and C++ +EAPI=8 +HOMEPAGE=https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html +INHERIT=autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs +IUSE=clang cpu_flags_arm_neon debug +jit lto test +llvm_slot_20 +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 +LICENSE=MPL-2.0 +RDEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=115 +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/115.16.0esr/source/firefox-115.16.0esr.source.tar.xz -> firefox-115.16.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-115esr-patches-13.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/spidermonkey-115-patches-02.tar.xz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 +_md5_=1ddbe09f92d1033a399e784705fc47ff diff --git a/metadata/md5-cache/dev-lang/spidermonkey-128.4.0-r1 b/metadata/md5-cache/dev-lang/spidermonkey-128.4.0-r1 new file mode 100644 index 0000000..2010f1d --- /dev/null +++ b/metadata/md5-cache/dev-lang/spidermonkey-128.4.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-lang/python:3.10[ncurses,ssl,xml(+)] ) llvm_slot_20? ( clang? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20 ) ) >=dev-util/cbindgen-0.26.0 virtual/pkgconfig test? ( || ( ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_10(-)] ) ) ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +DESCRIPTION=Mozilla's JavaScript engine written in C and C++ +EAPI=8 +HOMEPAGE=https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html +INHERIT=autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs +IUSE=clang cpu_flags_arm_neon debug +jit lto test +llvm_slot_20 +KEYWORDS=amd64 arm arm64 ~riscv x86 +LICENSE=MPL-2.0 +RDEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=128 +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/128.4.0esr/source/firefox-128.4.0esr.source.tar.xz -> firefox-128.4.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-07.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/spidermonkey-128-patches-02.tar.xz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 +_md5_=5292eefa78d8bc381cd6df064e3d26d7 diff --git a/metadata/md5-cache/dev-lang/spidermonkey-128.6.0 b/metadata/md5-cache/dev-lang/spidermonkey-128.6.0 new file mode 100644 index 0000000..a5ef274 --- /dev/null +++ b/metadata/md5-cache/dev-lang/spidermonkey-128.6.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-lang/python:3.10[ncurses,ssl,xml(+)] ) llvm_slot_20? ( clang? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20 ) ) >=dev-util/cbindgen-0.26.0 virtual/pkgconfig test? ( || ( ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_10(-)] ) ) ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +DESCRIPTION=Mozilla's JavaScript engine written in C and C++ +EAPI=8 +HOMEPAGE=https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html +INHERIT=autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs +IUSE=clang cpu_flags_arm_neon debug +jit test +llvm_slot_20 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~riscv ~x86 +LICENSE=MPL-2.0 +RDEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=128 +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/128.6.0esr/source/firefox-128.6.0esr.source.tar.xz -> firefox-128.6.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-08.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/spidermonkey-128-patches-02.tar.xz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 +_md5_=3552a850626bd7a654c0b2ff37fb714f diff --git a/metadata/md5-cache/dev-lang/spidermonkey-128.7.0 b/metadata/md5-cache/dev-lang/spidermonkey-128.7.0 new file mode 100644 index 0000000..68d9eab --- /dev/null +++ b/metadata/md5-cache/dev-lang/spidermonkey-128.7.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-lang/python:3.10[ncurses,ssl,xml(+)] ) llvm_slot_20? ( clang? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20 ) ) >=dev-util/cbindgen-0.26.0 virtual/pkgconfig test? ( || ( ( dev-lang/python:3.12[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[ncurses,ssl,xml(+)] dev-python/six[python_targets_python3_10(-)] ) ) ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +DESCRIPTION=Mozilla's JavaScript engine written in C and C++ +EAPI=8 +HOMEPAGE=https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html +INHERIT=autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs +IUSE=clang cpu_flags_arm_neon debug +jit test +llvm_slot_20 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~riscv ~x86 +LICENSE=MPL-2.0 +RDEPEND=>=dev-libs/icu-73.1:= dev-libs/nspr sys-libs/readline:0= sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=128 +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/source/firefox-128.7.0esr.source.tar.xz -> firefox-128.7.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-08.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/spidermonkey-128-patches-02.tar.xz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 +_md5_=3552a850626bd7a654c0b2ff37fb714f diff --git a/metadata/md5-cache/dev-lang/zig-0.13.0-r2 b/metadata/md5-cache/dev-lang/zig-0.13.0-r2 new file mode 100644 index 0000000..96fac3f --- /dev/null +++ b/metadata/md5-cache/dev-lang/zig-0.13.0-r2 @@ -0,0 +1,17 @@ +BDEPEND=verify-sig? ( sec-keys/minisig-keys-zig-software-foundation ) llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20[zstd] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/minisign ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20[zstd] ) ) +DESCRIPTION=A robust, optimal, and maintainable programming language +EAPI=8 +HOMEPAGE=https://ziglang.org/ https://github.com/ziglang/zig/ +IDEPEND=app-eselect/eselect-zig +INHERIT=check-reqs cmake flag-o-matic edo llvm-r1 toolchain-funcs zig verify-sig +IUSE=doc +llvm +llvm_slot_20 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 +LICENSE=MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+ +RDEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 llvm-core/llvm:20[zstd] ) ) +REQUIRED_USE=!llvm? ( !doc ) llvm? ( ^^ ( llvm_slot_20 ) ) +SLOT=0.13 +SRC_URI=https://ziglang.org/download/0.13.0/zig-0.13.0.tar.xz verify-sig? ( https://ziglang.org/download/0.13.0/zig-0.13.0.tar.xz.minisig ) https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-0.13.0/zig-0.13.0-llvm-18.1.8-r6-fix.patch +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda linux-info ea4122ba1d8791a12b78e53f9510a2e3 zig-utils e6fd4920f41e4d125d20f9f2b2f55ece zig 37036f8b6e2c9be07fdb477e79d4bae5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=9c87449fffc7787ac1d3dcf3d70242fa diff --git a/metadata/md5-cache/dev-lang/zig-0.13.0-r3 b/metadata/md5-cache/dev-lang/zig-0.13.0-r3 new file mode 100644 index 0000000..287f10e --- /dev/null +++ b/metadata/md5-cache/dev-lang/zig-0.13.0-r3 @@ -0,0 +1,17 @@ +BDEPEND=verify-sig? ( sec-keys/minisig-keys-zig-software-foundation ) llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/minisign ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +DESCRIPTION=A robust, optimal, and maintainable programming language +EAPI=8 +HOMEPAGE=https://ziglang.org/ https://github.com/ziglang/zig/ +IDEPEND=app-eselect/eselect-zig +INHERIT=check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig verify-sig +IUSE=debug doc +llvm +llvm_slot_20 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 +LICENSE=MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+ +RDEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +REQUIRED_USE=!llvm? ( !doc ) llvm? ( ^^ ( llvm_slot_20 ) ) +SLOT=0.13 +SRC_URI=https://ziglang.org/download/0.13.0/zig-0.13.0.tar.xz verify-sig? ( https://ziglang.org/download/0.13.0/zig-0.13.0.tar.xz.minisig ) https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-0.13.0/zig-0.13.0-llvm-18.1.8-r6-fix.patch +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 linux-info ea4122ba1d8791a12b78e53f9510a2e3 zig-utils e6fd4920f41e4d125d20f9f2b2f55ece zig 37036f8b6e2c9be07fdb477e79d4bae5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=71dd13e7c8009f425234de0023a771f7 diff --git a/metadata/md5-cache/dev-lang/zig-0.14.0 b/metadata/md5-cache/dev-lang/zig-0.14.0 new file mode 100644 index 0000000..743e71f --- /dev/null +++ b/metadata/md5-cache/dev-lang/zig-0.14.0 @@ -0,0 +1,18 @@ +BDEPEND=verify-sig? ( sec-keys/minisig-keys-zig-software-foundation ) llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/minisign ) +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +DESCRIPTION=A robust, optimal, and maintainable programming language +EAPI=8 +HOMEPAGE=https://ziglang.org/ https://github.com/ziglang/zig/ +IDEPEND=app-eselect/eselect-zig +INHERIT=check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig verify-sig +IUSE=debug doc +llvm +llvm_slot_20 verify-sig +KEYWORDS=~amd64 ~arm ~arm64 +LICENSE=MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+ +RDEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +REQUIRED_USE=!llvm? ( !doc ) llvm? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!llvm? ( test ) +SLOT=0.14 +SRC_URI=https://ziglang.org/download/0.14.0/zig-0.14.0.tar.xz verify-sig? ( https://ziglang.org/download/0.14.0/zig-0.14.0.tar.xz.minisig ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 linux-info ea4122ba1d8791a12b78e53f9510a2e3 zig-utils e6fd4920f41e4d125d20f9f2b2f55ece zig 37036f8b6e2c9be07fdb477e79d4bae5 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=7b309b19be447a30d8490d829a2de8d1 diff --git a/metadata/md5-cache/dev-lang/zig-9999 b/metadata/md5-cache/dev-lang/zig-9999 new file mode 100644 index 0000000..af96992 --- /dev/null +++ b/metadata/md5-cache/dev-lang/zig-9999 @@ -0,0 +1,17 @@ +BDEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +DESCRIPTION=A robust, optimal, and maintainable programming language +EAPI=8 +HOMEPAGE=https://ziglang.org/ https://github.com/ziglang/zig/ +IDEPEND=app-eselect/eselect-zig +INHERIT=check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig git-r3 +IUSE=debug doc +llvm +llvm_slot_20 +LICENSE=MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+ +PROPERTIES=live +RDEPEND=llvm? ( llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20[zstd] llvm-core/llvm:20[zstd] ) ) +REQUIRED_USE=!llvm? ( !doc ) llvm? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!llvm? ( test ) +SLOT=9999 +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 linux-info ea4122ba1d8791a12b78e53f9510a2e3 zig-utils e6fd4920f41e4d125d20f9f2b2f55ece zig 37036f8b6e2c9be07fdb477e79d4bae5 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=7b309b19be447a30d8490d829a2de8d1 diff --git a/metadata/md5-cache/dev-libs/castxml-0.6.10 b/metadata/md5-cache/dev-libs/castxml-0.6.10 new file mode 100644 index 0000000..e1d5b31 --- /dev/null +++ b/metadata/md5-cache/dev-libs/castxml-0.6.10 @@ -0,0 +1,17 @@ +BDEPEND=man? ( dev-python/sphinx ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= ) +DESCRIPTION=C-family abstract syntax tree XML output tool +EAPI=8 +HOMEPAGE=https://github.com/CastXML/CastXML +INHERIT=cmake llvm-r1 +IUSE=+man test +llvm_slot_20 +KEYWORDS=amd64 ~arm ~riscv ~x86 +LICENSE=Apache-2.0 +RDEPEND=llvm_slot_20? ( llvm-core/clang:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/CastXML/CastXML/archive/v0.6.10.tar.gz -> CastXML-0.6.10.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=8cc3e06700a789d57bdbf69f2a2a3721 diff --git a/metadata/md5-cache/dev-libs/castxml-0.6.11 b/metadata/md5-cache/dev-libs/castxml-0.6.11 new file mode 100644 index 0000000..a5ecff8 --- /dev/null +++ b/metadata/md5-cache/dev-libs/castxml-0.6.11 @@ -0,0 +1,17 @@ +BDEPEND=man? ( dev-python/sphinx ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= ) +DESCRIPTION=C-family abstract syntax tree XML output tool +EAPI=8 +HOMEPAGE=https://github.com/CastXML/CastXML +INHERIT=cmake llvm-r1 +IUSE=+man test +llvm_slot_20 +KEYWORDS=~amd64 ~arm ~riscv ~x86 +LICENSE=Apache-2.0 +RDEPEND=llvm_slot_20? ( llvm-core/clang:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/CastXML/CastXML/archive/v0.6.11.tar.gz -> CastXML-0.6.11.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=115c6576b210e555311ca3efbf25c482 diff --git a/metadata/md5-cache/dev-libs/dynolog-0.3.1_p20230126-r1 b/metadata/md5-cache/dev-libs/dynolog-0.3.1_p20230126-r1 new file mode 100644 index 0000000..3ced9d4 --- /dev/null +++ b/metadata/md5-cache/dev-libs/dynolog-0.3.1_p20230126-r1 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=dev-cpp/gflags dev-cpp/gtest dev-cpp/glog net-misc/curl +DESCRIPTION=Performance monitoring daemon for heterogeneous CPU-GPU systems +EAPI=8 +HOMEPAGE=https://github.com/facebookincubator/dynolog +INHERIT=cargo cmake +IUSE=test debug +KEYWORDS=~amd64 +LICENSE=BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense +RDEPEND=dev-cpp/gflags dev-cpp/gtest dev-cpp/glog net-misc/curl +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://dev.gentoo.org/~tupone/distfiles/dynolog-0.3.1_p20230126.tar.gz https://crates.io/api/v1/crates/anyhow/1.0.75/download -> anyhow-1.0.75.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/clap/3.2.25/download -> clap-3.2.25.crate https://crates.io/api/v1/crates/clap_derive/3.2.25/download -> clap_derive-3.2.25.crate https://crates.io/api/v1/crates/clap_lex/0.2.4/download -> clap_lex-0.2.4.crate https://crates.io/api/v1/crates/hashbrown/0.12.3/download -> hashbrown-0.12.3.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/indexmap/1.9.3/download -> indexmap-1.9.3.crate https://crates.io/api/v1/crates/itoa/1.0.9/download -> itoa-1.0.9.crate https://crates.io/api/v1/crates/libc/0.2.150/download -> libc-0.2.150.crate https://crates.io/api/v1/crates/once_cell/1.18.0/download -> once_cell-1.18.0.crate https://crates.io/api/v1/crates/os_str_bytes/6.6.1/download -> os_str_bytes-6.6.1.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.70/download -> proc-macro2-1.0.70.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/ryu/1.0.15/download -> ryu-1.0.15.crate https://crates.io/api/v1/crates/serde/1.0.193/download -> serde-1.0.193.crate https://crates.io/api/v1/crates/serde_derive/1.0.193/download -> serde_derive-1.0.193.crate https://crates.io/api/v1/crates/serde_json/1.0.108/download -> serde_json-1.0.108.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.39/download -> syn-2.0.39.crate https://crates.io/api/v1/crates/termcolor/1.4.0/download -> termcolor-1.4.0.crate https://crates.io/api/v1/crates/textwrap/0.16.0/download -> textwrap-0.16.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.6/download -> winapi-util-0.1.6.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=2b0a11c4aad07417b9de3cc8e8653d40 diff --git a/metadata/md5-cache/dev-libs/hyprgraphics-9999 b/metadata/md5-cache/dev-libs/hyprgraphics-9999 index 12ee36d..efc1676 100644 --- a/metadata/md5-cache/dev-libs/hyprgraphics-9999 +++ b/metadata/md5-cache/dev-libs/hyprgraphics-9999 @@ -9,5 +9,5 @@ KEYWORDS=~amd64 LICENSE=BSD3-Clause PROPERTIES=live SLOT=0 -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=94cc99408a579df284bc4dec06bf8639 diff --git a/metadata/md5-cache/dev-libs/hyprlang-9999 b/metadata/md5-cache/dev-libs/hyprlang-9999 index 3fc13df..bc30968 100644 --- a/metadata/md5-cache/dev-libs/hyprlang-9999 +++ b/metadata/md5-cache/dev-libs/hyprlang-9999 @@ -9,5 +9,5 @@ KEYWORDS=~amd64 LICENSE=GPL-3 PROPERTIES=live SLOT=0 -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=e71042c20c47072947481aa5549561f1 diff --git a/metadata/md5-cache/dev-libs/intel-vc-intrinsics-0.22.0 b/metadata/md5-cache/dev-libs/intel-vc-intrinsics-0.22.0 new file mode 100644 index 0000000..fa77952 --- /dev/null +++ b/metadata/md5-cache/dev-libs/intel-vc-intrinsics-0.22.0 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/libxml2:2= llvm_slot_20? ( llvm-core/llvm:20 ) sys-libs/zlib +DESCRIPTION=A set of new intrinsics on top of core LLVM IR instructions +EAPI=8 +HOMEPAGE=https://github.com/intel/vc-intrinsics +INHERIT=cmake llvm-r2 python-any-r1 +IUSE=+llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/libxml2:2= llvm_slot_20? ( llvm-core/llvm:20 ) sys-libs/zlib +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/intel/vc-intrinsics/archive/refs/tags/v0.22.0.tar.gz -> intel-vc-intrinsics-0.22.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=2a27700adebbf9343abb0e90405dd5a7 diff --git a/metadata/md5-cache/dev-libs/libclc-18.0.0.9999 b/metadata/md5-cache/dev-libs/libclc-18.0.0.9999 index 66d8663..89a81c4 100644 --- a/metadata/md5-cache/dev-libs/libclc-18.0.0.9999 +++ b/metadata/md5-cache/dev-libs/libclc-18.0.0.9999 @@ -1,6 +1,6 @@ BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( sys-devel/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( sys-devel/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( sys-devel/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( sys-devel/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( sys-devel/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] DEFINED_PHASES=compile configure install prepare setup test unpack -DEPEND=!!sys-devel/llvm:0 +DEPEND=!!llvm-core/llvm:0 DESCRIPTION=OpenCL C library EAPI=8 HOMEPAGE=https://libclc.llvm.org/ @@ -9,5 +9,5 @@ IUSE=+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi LICENSE=Apache-2.0-with-LLVM-exceptions || ( MIT BSD ) PROPERTIES=live SLOT=0 -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 5465aed08f1dfc2a75f14cbea4272961 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils e59dc622da7e7e7f16879105bed34858 llvm 2a7c6c7a9370cedd74e77a53c4a5d655 git-r3 875eb471682d3e1f18da124be97dcc81 llvm.org ae8326288186c3b7cbe909cb735684a1 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be git-r3 875eb471682d3e1f18da124be97dcc81 llvm.org 3c3c3293d504545c5444490c6d1a708a python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 _md5_=dc9bc15e80ab532bfe00e0f981ba4b75 diff --git a/metadata/md5-cache/dev-libs/libclc-18.1.0_rc1 b/metadata/md5-cache/dev-libs/libclc-18.1.0_rc1 index 5109e8e..f10a82c 100644 --- a/metadata/md5-cache/dev-libs/libclc-18.1.0_rc1 +++ b/metadata/md5-cache/dev-libs/libclc-18.1.0_rc1 @@ -1,6 +1,6 @@ BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( sys-devel/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( sys-devel/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( sys-devel/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( sys-devel/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( sys-devel/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) verify-sig? ( >=sec-keys/openpgp-keys-llvm-18.1.6 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) DEFINED_PHASES=compile configure install prepare setup test unpack -DEPEND=!!sys-devel/llvm:0 +DEPEND=!!llvm-core/llvm:0 DESCRIPTION=OpenCL C library EAPI=8 HOMEPAGE=https://libclc.llvm.org/ @@ -9,5 +9,5 @@ IUSE=+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi verify-sig LICENSE=Apache-2.0-with-LLVM-exceptions || ( MIT BSD ) SLOT=0 SRC_URI=https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.0-rc1/llvm-project-18.1.0rc1.src.tar.xz verify-sig? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.0-rc1/llvm-project-18.1.0rc1.src.tar.xz.sig ) -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 5465aed08f1dfc2a75f14cbea4272961 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils e59dc622da7e7e7f16879105bed34858 llvm 2a7c6c7a9370cedd74e77a53c4a5d655 verify-sig a79ba011daaf532d71a219182474d150 llvm.org ae8326288186c3b7cbe909cb735684a1 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 llvm.org 3c3c3293d504545c5444490c6d1a708a python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 _md5_=dc9bc15e80ab532bfe00e0f981ba4b75 diff --git a/metadata/md5-cache/dev-libs/rocm-comgr-5.7.1 b/metadata/md5-cache/dev-libs/rocm-comgr-5.7.1 new file mode 100644 index 0000000..01b9abb --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-comgr-5.7.1 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=>=dev-libs/rocm-device-libs-5.7.1 =dev-libs/rocm-device-libs-5.7.1 rocm-comgr-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be prefix c3c4c93ebda319c0fa7ed6f942ba1010 +_md5_=33553792a6bfbba20bdb10192c8cd02a diff --git a/metadata/md5-cache/dev-libs/rocm-comgr-6.1.1 b/metadata/md5-cache/dev-libs/rocm-comgr-6.1.1 new file mode 100644 index 0000000..5c3b530 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-comgr-6.1.1 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=>=dev-libs/rocm-device-libs-6.1.1 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.1 +DESCRIPTION=Radeon Open Compute Code Object Manager +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCm-CompilerSupport +INHERIT=cmake llvm-r1 prefix +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=>=dev-libs/rocm-device-libs-6.1.1 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.1 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.1.1.tar.gz -> llvm-project-rocm-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 +_md5_=fb41d96f0289a1ae7e8de3f93be571ee diff --git a/metadata/md5-cache/dev-libs/rocm-comgr-6.1.2 b/metadata/md5-cache/dev-libs/rocm-comgr-6.1.2 new file mode 100644 index 0000000..f7dc132 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-comgr-6.1.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=>=dev-libs/rocm-device-libs-6.1.2 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.1 +DESCRIPTION=Radeon Open Compute Code Object Manager +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCm-CompilerSupport +INHERIT=cmake llvm-r1 prefix +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=>=dev-libs/rocm-device-libs-6.1.2 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.1 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.1.2.tar.gz -> llvm-project-rocm-6.1.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 +_md5_=fb41d96f0289a1ae7e8de3f93be571ee diff --git a/metadata/md5-cache/dev-libs/rocm-comgr-6.3.2-r1 b/metadata/md5-cache/dev-libs/rocm-comgr-6.3.2-r1 new file mode 100644 index 0000000..58048b6 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-comgr-6.3.2-r1 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=dev-libs/rocm-device-libs:0/6.3 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.3 +DESCRIPTION=Radeon Open Compute Code Object Manager +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr +INHERIT=cmake llvm-r1 prefix +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/rocm-device-libs:0/6.3 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.3 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.3.2.tar.gz -> llvm-project-rocm-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 +_md5_=b46285e3f32e818ec3e9438963b60a5a diff --git a/metadata/md5-cache/dev-libs/rocm-comgr-6.3.3 b/metadata/md5-cache/dev-libs/rocm-comgr-6.3.3 new file mode 100644 index 0000000..202a11e --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-comgr-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=dev-libs/rocm-device-libs:0/6.3 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.3 +DESCRIPTION=Radeon Open Compute Code Object Manager +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr +INHERIT=cmake llvm-r1 prefix +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/rocm-device-libs:0/6.3 llvm-core/clang-runtime:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) dev-util/hipcc:0/6.3 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.3.3.tar.gz -> llvm-project-rocm-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 +_md5_=b46285e3f32e818ec3e9438963b60a5a diff --git a/metadata/md5-cache/dev-libs/rocm-device-libs-5.7.1 b/metadata/md5-cache/dev-libs/rocm-device-libs-5.7.1 new file mode 100644 index 0000000..2844191 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-device-libs-5.7.1 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm-core/clang:17 !!llvm-core/llvm:0 +DESCRIPTION=Radeon Open Compute Device Libraries +EAPI=8 +HOMEPAGE=https://github.com/RadeonOpenCompute/ROCm-Device-Libs +INHERIT=cmake llvm +IUSE=test +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=llvm-core/clang:17 +RESTRICT=!test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.7.1.tar.gz -> rocm-device-libs-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be +_md5_=072c75f6c75354fa37359af494fe4255 diff --git a/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.1 b/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.1 new file mode 100644 index 0000000..6691b1d --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.1 @@ -0,0 +1,15 @@ +BDEPEND=dev-build/rocm-cmake llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DESCRIPTION=Radeon Open Compute Device Libraries +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCm-Device-Libs +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.1.1.tar.gz -> llvm-project-rocm-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=0ff4b1d9cca3711134a37f8afbba982b diff --git a/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.2 b/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.2 new file mode 100644 index 0000000..9dfd19f --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-device-libs-6.1.2 @@ -0,0 +1,15 @@ +BDEPEND=dev-build/rocm-cmake llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DESCRIPTION=Radeon Open Compute Device Libraries +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCm-Device-Libs +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.1.2.tar.gz -> llvm-project-rocm-6.1.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=651d1f54f2e2782b3ef415717371d2ad diff --git a/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.2 b/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.2 new file mode 100644 index 0000000..6e6e2dc --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.2 @@ -0,0 +1,15 @@ +BDEPEND=dev-build/rocm-cmake llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DESCRIPTION=Radeon Open Compute Device Libraries +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.3.2.tar.gz -> llvm-project-rocm-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=462038f85cb78f80498cd13d6d4f0710 diff --git a/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.3 b/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.3 new file mode 100644 index 0000000..a08d025 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocm-device-libs-6.3.3 @@ -0,0 +1,15 @@ +BDEPEND=dev-build/rocm-cmake llvm_slot_20? ( llvm-core/clang:20 llvm-core/lld:20 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DESCRIPTION=Radeon Open Compute Device Libraries +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/llvm-project/archive/rocm-6.3.3.tar.gz -> llvm-project-rocm-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=462038f85cb78f80498cd13d6d4f0710 diff --git a/metadata/md5-cache/dev-libs/rocr-runtime-5.7.1-r3 b/metadata/md5-cache/dev-libs/rocr-runtime-5.7.1-r3 new file mode 100644 index 0000000..b954f53 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocr-runtime-5.7.1-r3 @@ -0,0 +1,15 @@ +BDEPEND=app-editors/vim-core app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/elfutils x11-libs/libdrm >=dev-libs/roct-thunk-interface-5.7.1 >=dev-libs/rocm-device-libs-5.7.1 <=dev-libs/rocm-device-libs-6.0 llvm-core/clang:17= llvm-core/lld:17= !!llvm-core/llvm:0 +DESCRIPTION=Radeon Open Compute Runtime +EAPI=8 +HOMEPAGE=https://github.com/RadeonOpenCompute/ROCR-Runtime +INHERIT=cmake flag-o-matic llvm +IUSE=debug +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/elfutils x11-libs/libdrm >=dev-libs/roct-thunk-interface-5.7.1 >=dev-libs/rocm-device-libs-5.7.1 <=dev-libs/rocm-device-libs-6.0 llvm-core/clang:17= llvm-core/lld:17= +SLOT=0/5.7 +SRC_URI=https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-5.7.1.tar.gz -> rocr-runtime-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be +_md5_=d6d029e0ed6b3361ee03c8672886ebd4 diff --git a/metadata/md5-cache/dev-libs/rocr-runtime-6.1.1 b/metadata/md5-cache/dev-libs/rocr-runtime-6.1.1 new file mode 100644 index 0000000..1ca89cb --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocr-runtime-6.1.1 @@ -0,0 +1,16 @@ +BDEPEND=app-editors/vim-core app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/elfutils x11-libs/libdrm >=dev-libs/roct-thunk-interface-6.1.1 >=dev-libs/rocm-device-libs-6.1.1 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +DESCRIPTION=Radeon Open Compute Runtime +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/elfutils x11-libs/libdrm >=dev-libs/roct-thunk-interface-6.1.1 >=dev-libs/rocm-device-libs-6.1.1 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.1.1.tar.gz -> rocr-runtime-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=96ee7f59c7ce0b657438ba591791f9f8 diff --git a/metadata/md5-cache/dev-libs/rocr-runtime-6.1.2 b/metadata/md5-cache/dev-libs/rocr-runtime-6.1.2 new file mode 100644 index 0000000..d762fe0 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocr-runtime-6.1.2 @@ -0,0 +1,16 @@ +BDEPEND=app-editors/vim-core app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.1 dev-libs/rocm-device-libs:0/6.1 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +DESCRIPTION=Radeon Open Compute Runtime +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.1 dev-libs/rocm-device-libs:0/6.1 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.1.2.tar.gz -> rocr-runtime-6.1.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=817d7b4ac26636d891e6096f083fcbea diff --git a/metadata/md5-cache/dev-libs/rocr-runtime-6.3.2 b/metadata/md5-cache/dev-libs/rocr-runtime-6.3.2 new file mode 100644 index 0000000..2f85eb8 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocr-runtime-6.3.2 @@ -0,0 +1,16 @@ +BDEPEND=app-editors/vim-core app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.3 dev-libs/rocm-device-libs:0/6.3 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +DESCRIPTION=Radeon Open Compute Runtime +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.3 dev-libs/rocm-device-libs:0/6.3 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.3.2.tar.gz -> rocr-runtime-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=d5c3a10623752dd12d0a136172bd99b7 diff --git a/metadata/md5-cache/dev-libs/rocr-runtime-6.3.3 b/metadata/md5-cache/dev-libs/rocr-runtime-6.3.3 new file mode 100644 index 0000000..5a93d37 --- /dev/null +++ b/metadata/md5-cache/dev-libs/rocr-runtime-6.3.3 @@ -0,0 +1,16 @@ +BDEPEND=app-editors/vim-core app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.3 dev-libs/rocm-device-libs:0/6.3 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +DESCRIPTION=Radeon Open Compute Runtime +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/elfutils x11-libs/libdrm dev-libs/roct-thunk-interface:0/6.3 dev-libs/rocm-device-libs:0/6.3 llvm_slot_20? ( llvm-core/clang:20= llvm-core/lld:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.3.3.tar.gz -> rocr-runtime-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=d5c3a10623752dd12d0a136172bd99b7 diff --git a/metadata/md5-cache/dev-libs/roct-thunk-interface-5.7.1-r1 b/metadata/md5-cache/dev-libs/roct-thunk-interface-5.7.1-r1 new file mode 100644 index 0000000..e630a78 --- /dev/null +++ b/metadata/md5-cache/dev-libs/roct-thunk-interface-5.7.1-r1 @@ -0,0 +1,14 @@ +BDEPEND=x11-libs/libdrm[video_cards_amdgpu] app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=sys-process/numactl +DESCRIPTION=Radeon Open Compute Thunk Interface +EAPI=8 +HOMEPAGE=https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface +INHERIT=cmake linux-info +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=sys-process/numactl +SLOT=0/5.7 +SRC_URI=https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-5.7.1.tar.gz -> roct-thunk-interface-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 +_md5_=b65183d527f27aecf95e353f23b38d9e diff --git a/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.1 b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.1 new file mode 100644 index 0000000..87bf31b --- /dev/null +++ b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.1 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] test? ( llvm-core/llvm dev-cpp/gtest ) +DESCRIPTION=Radeon Open Compute Thunk Interface +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCT-Thunk-Interface +INHERIT=cmake linux-info rocm +IUSE=test +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-6.1.1.tar.gz -> roct-thunk-interface-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=1e7b8b00b6e7ad357ceee7c087e63986 diff --git a/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.2 b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.2 new file mode 100644 index 0000000..b246e3d --- /dev/null +++ b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.1.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] test? ( llvm_slot_20? ( llvm-core/llvm:20 ) dev-cpp/gtest ) +DESCRIPTION=Radeon Open Compute Thunk Interface +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCT-Thunk-Interface +INHERIT=cmake linux-info llvm-r1 rocm +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-6.1.2.tar.gz -> roct-thunk-interface-6.1.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=3830d6795b9e0e5547f541d9448e73db diff --git a/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.2 b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.2 new file mode 100644 index 0000000..6393023 --- /dev/null +++ b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] test? ( llvm_slot_20? ( llvm-core/llvm:20 ) dev-cpp/gtest ) +DESCRIPTION=Radeon Open Compute Thunk Interface +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt +INHERIT=cmake linux-info llvm-r1 rocm +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.3.2.tar.gz -> roct-thunk-interface-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=78e16ecbe490391bd01a2f2656165424 diff --git a/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.3 b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.3 new file mode 100644 index 0000000..d9baae2 --- /dev/null +++ b/metadata/md5-cache/dev-libs/roct-thunk-interface-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] test? ( llvm_slot_20? ( llvm-core/llvm:20 ) dev-cpp/gtest ) +DESCRIPTION=Radeon Open Compute Thunk Interface +EAPI=8 +HOMEPAGE=https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt +INHERIT=cmake linux-info llvm-r1 rocm +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=sys-process/numactl x11-libs/libdrm[video_cards_amdgpu] +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/ROCR-Runtime/archive/rocm-6.3.3.tar.gz -> roct-thunk-interface-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=78e16ecbe490391bd01a2f2656165424 diff --git a/metadata/md5-cache/dev-ml/cudf-0.10-r1 b/metadata/md5-cache/dev-ml/cudf-0.10-r1 index abb4138..7cf0af8 100644 --- a/metadata/md5-cache/dev-ml/cudf-0.10-r1 +++ b/metadata/md5-cache/dev-ml/cudf-0.10-r1 @@ -12,5 +12,5 @@ RDEPEND=>=dev-lang/ocaml-3.12:=[ocamlopt?] dev-ml/extlib:= dev-ml/findlib:= dev- RESTRICT=!test? ( test ) SLOT=0/0.10 SRC_URI=https://gitlab.com/irill/cudf/-/archive/v0.10/cudf-v0.10.tar.bz2 -_eclasses_=edo c0eb9cbe6b0bd01fcb4918f12598a4d3 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 dune beddc7cde467b2e48afc78a87d042c01 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c multiprocessing 1e32df7deee68372153dca65f4a7c21f dune 21c2970666b517829dc7b963ca1f4a4a toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 _md5_=9c9cb551f213b5680a8b6f81d1c92f09 diff --git a/metadata/md5-cache/dev-python/cloudscraper-1.2.65 b/metadata/md5-cache/dev-python/cloudscraper-1.2.65 index 2b72ac4..963a41a 100644 --- a/metadata/md5-cache/dev-python/cloudscraper-1.2.65 +++ b/metadata/md5-cache/dev-python/cloudscraper-1.2.65 @@ -1,4 +1,4 @@ -BDEPEND=test? ( dev-python/js2py[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pytest-timeout[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/responses[python_targets_python3_10(-)?,python_targets_python3_11(-)?] net-libs/nodejs ) test? ( dev-python/pyparsing[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests-toolbelt[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pytest-7.2.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) >=dev-python/gpep517-13[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/setuptools-67.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/wheel-0.38.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?] +BDEPEND=test? ( dev-python/js2py[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pytest-timeout[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/responses[python_targets_python3_10(-)?,python_targets_python3_11(-)?] net-libs/nodejs ) test? ( dev-python/pyparsing[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests-toolbelt[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] DEFINED_PHASES=compile configure install postinst prepare test DESCRIPTION=A Python module to bypass Cloudflare's anti-bot page EAPI=8 @@ -7,10 +7,10 @@ INHERIT=distutils-r1 optfeature IUSE=test python_targets_python3_10 python_targets_python3_11 KEYWORDS=~amd64 ~ppc64 LICENSE=AGPL-3 -RDEPEND=dev-python/pyparsing[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests-toolbelt[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests[python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) +RDEPEND=dev-python/pyparsing[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests-toolbelt[python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/requests[python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 ) RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://github.com/VeNoMouS/cloudscraper/archive/1.2.65.tar.gz -> cloudscraper-1.2.65.gh.tar.gz -_eclasses_=out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib 104e1332efb829e2f7cbf89307a474f1 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-r1 3c6cd0f418ba702c186a9865b85e704d distutils-r1 87ebb7e1e8d4ac49be0a91406b443060 optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df optfeature 538bce96e5589935b57e178e8635f301 _md5_=898740e5b51a140fc6b5a3e56945a30d diff --git a/metadata/md5-cache/dev-python/pyinstaller-4.2-r1 b/metadata/md5-cache/dev-python/pyinstaller-4.2-r1 index 7f7e26c..16042cf 100644 --- a/metadata/md5-cache/dev-python/pyinstaller-4.2-r1 +++ b/metadata/md5-cache/dev-python/pyinstaller-4.2-r1 @@ -1,4 +1,4 @@ -BDEPEND=python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) >=dev-python/setuptools-65.7.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] +BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] DEFINED_PHASES=compile configure install prepare test DESCRIPTION=Bundles a Python application and all its dependencies into a single package. EAPI=7 @@ -7,9 +7,9 @@ INHERIT=distutils-r1 IUSE=python_targets_python3_10 python_targets_python3_11 KEYWORDS=~amd64 LICENSE=GPL-2+-with-Pyinstaller-Bootloader-exception -RDEPEND=python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) >=dev-python/setuptools-65.7.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 ) SLOT=0 SRC_URI=https://files.pythonhosted.org/packages/b4/83/9f6ff034650abe9778c9a4f86bcead63f89a62acf02b1b47fc2bfc6bf8dd/pyinstaller-4.2.tar.gz -_eclasses_=out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib 104e1332efb829e2f7cbf89307a474f1 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 eapi8-dosym 741bfa77afb2a9321261501aca58c208 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-r1 3c6cd0f418ba702c186a9865b85e704d distutils-r1 87ebb7e1e8d4ac49be0a91406b443060 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df _md5_=996122924f2cfe4779c6c797e3d05f8f diff --git a/metadata/md5-cache/dev-python/pyinstaller-5.8.0 b/metadata/md5-cache/dev-python/pyinstaller-5.8.0 index 21f4869..b38fd2f 100644 --- a/metadata/md5-cache/dev-python/pyinstaller-5.8.0 +++ b/metadata/md5-cache/dev-python/pyinstaller-5.8.0 @@ -1,4 +1,4 @@ -BDEPEND=python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) >=dev-python/setuptools-65.7.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] +BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] DEFINED_PHASES=compile configure install prepare test DESCRIPTION=Bundles a Python application and all its dependencies into a single package. EAPI=7 @@ -7,9 +7,9 @@ INHERIT=distutils-r1 IUSE=python_targets_python3_10 python_targets_python3_11 KEYWORDS=~amd64 LICENSE=GPL-2+-with-Pyinstaller-Bootloader-exception -RDEPEND=python_targets_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) >=dev-python/setuptools-65.7.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 ) SLOT=0 SRC_URI=https://files.pythonhosted.org/packages/63/20/cfb61921d7db3e8473440091ac99ae900357f26197502ab7ec9ff6473ca5/pyinstaller-5.8.0.tar.gz -_eclasses_=out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib 104e1332efb829e2f7cbf89307a474f1 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 eapi8-dosym 741bfa77afb2a9321261501aca58c208 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-r1 3c6cd0f418ba702c186a9865b85e704d distutils-r1 87ebb7e1e8d4ac49be0a91406b443060 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df _md5_=11a8834b565d76c71cea4d1298e679b1 diff --git a/metadata/md5-cache/dev-python/pyside-6.8.2-r1 b/metadata/md5-cache/dev-python/pyside-6.8.2-r1 new file mode 100644 index 0000000..2af7b82 --- /dev/null +++ b/metadata/md5-cache/dev-python/pyside-6.8.2-r1 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/cmake dev-python/distro[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/patchelf doc? ( >=dev-libs/libxml2-2.6.32 >=dev-libs/libxslt-1.1.19 media-gfx/graphviz dev-python/sphinx[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/myst-parser[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) numpy? ( dev-python/numpy[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) +DEFINED_PHASES=compile configure install preinst prepare setup test +DEPEND==dev-qt/qtbase-6.8.2*:6[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] 3d? ( =dev-qt/qt3d-6.8.2*:6[qml?,gles2-only=] ) bluetooth? ( =dev-qt/qtconnectivity-6.8.2*:6[bluetooth] ) charts? ( =dev-qt/qtcharts-6.8.2*:6 ) designer? ( =dev-qt/qttools-6.8.2*:6[designer,widgets,gles2-only=] ) gui? ( =dev-qt/qtbase-6.8.2*:6[gui,jpeg(+)] x11-libs/libxkbcommon ) help? ( =dev-qt/qttools-6.8.2*:6[assistant,gles2-only=] ) httpserver? ( =dev-qt/qthttpserver-6.8.2*:6 ) location? ( =dev-qt/qtlocation-6.8.2*:6 ) multimedia? ( =dev-qt/qtmultimedia-6.8.2*:6[widgets(+)?] ) network? ( =dev-qt/qtbase-6.8.2*:6[ssl] ) network-auth? ( =dev-qt/qtnetworkauth-6.8.2*:6 ) nfc? ( =dev-qt/qtconnectivity-6.8.2*:6[nfc] ) numpy? ( >=dev-python/numpy-2.1.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) pdfium? ( =dev-qt/qtwebengine-6.8.2*:6[pdfium(-),widgets?] ) positioning? ( =dev-qt/qtpositioning-6.8.2*:6 ) printsupport? ( =dev-qt/qtbase-6.8.2*:6[gui,widgets] ) qml? ( =dev-qt/qtdeclarative-6.8.2*:6[opengl?,widgets?] ) quick3d? ( =dev-qt/qtquick3d-6.8.2*:6[opengl?] ) remoteobjects? ( =dev-qt/qtremoteobjects-6.8.2*:6 ) scxml? ( =dev-qt/qtscxml-6.8.2*:6 ) sensors? ( =dev-qt/qtsensors-6.8.2*:6[qml?] ) speech? ( =dev-qt/qtspeech-6.8.2*:6 ) serialbus? ( =dev-qt/qtserialbus-6.8.2*:6 ) serialport? ( =dev-qt/qtserialport-6.8.2*:6 ) svg? ( =dev-qt/qtsvg-6.8.2*:6 ) testlib? ( =dev-qt/qtbase-6.8.2*:6[gui] ) tools? ( =dev-qt/qtbase-6.8.2*:6 =dev-qt/qtdeclarative-6.8.2*:6[qmlls] =dev-qt/qttools-6.8.2*:6[assistant,designer,linguist] dev-python/pkginfo[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) uitools? ( =dev-qt/qttools-6.8.2*:6[gles2-only=,widgets] ) webchannel? ( =dev-qt/qtwebchannel-6.8.2*:6 ) webengine? ( || ( =dev-qt/qtwebengine-6.8.2*:6[alsa,widgets?] =dev-qt/qtwebengine-6.8.2*:6[pulseaudio,widgets?] ) ) websockets? ( =dev-qt/qtwebsockets-6.8.2*:6 ) webview? ( =dev-qt/qtwebview-6.8.2*:6 ) !dev-python/pyside:0 !dev-python/shiboken6 !dev-python/pyside6-tools llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) dev-util/vulkan-headers test? ( =dev-qt/qtbase-6.8.2*:6[gui] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) +DESCRIPTION=Python bindings for the Qt framework +EAPI=8 +HOMEPAGE=https://wiki.qt.io/PySide6 +INHERIT=distutils-r1 llvm-r1 qmake-utils virtualx +IUSE=3d +xml +printsupport bluetooth quick webengine +gui nfc +opengl +widgets websockets +network network-auth charts webview quick3d +testlib svg +core webchannel remoteobjects uitools spatialaudio httpserver pdfium +dbus positioning location designer scxml +concurrent serialbus serialport +sql qml help multimedia sensors speech debug doc gles2-only numpy test tools python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 debug +llvm_slot_20 test +KEYWORDS=amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86 +LICENSE=|| ( GPL-2 GPL-3 LGPL-3 ) +RDEPEND==dev-qt/qtbase-6.8.2*:6[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] 3d? ( =dev-qt/qt3d-6.8.2*:6[qml?,gles2-only=] ) bluetooth? ( =dev-qt/qtconnectivity-6.8.2*:6[bluetooth] ) charts? ( =dev-qt/qtcharts-6.8.2*:6 ) designer? ( =dev-qt/qttools-6.8.2*:6[designer,widgets,gles2-only=] ) gui? ( =dev-qt/qtbase-6.8.2*:6[gui,jpeg(+)] x11-libs/libxkbcommon ) help? ( =dev-qt/qttools-6.8.2*:6[assistant,gles2-only=] ) httpserver? ( =dev-qt/qthttpserver-6.8.2*:6 ) location? ( =dev-qt/qtlocation-6.8.2*:6 ) multimedia? ( =dev-qt/qtmultimedia-6.8.2*:6[widgets(+)?] ) network? ( =dev-qt/qtbase-6.8.2*:6[ssl] ) network-auth? ( =dev-qt/qtnetworkauth-6.8.2*:6 ) nfc? ( =dev-qt/qtconnectivity-6.8.2*:6[nfc] ) numpy? ( >=dev-python/numpy-2.1.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) pdfium? ( =dev-qt/qtwebengine-6.8.2*:6[pdfium(-),widgets?] ) positioning? ( =dev-qt/qtpositioning-6.8.2*:6 ) printsupport? ( =dev-qt/qtbase-6.8.2*:6[gui,widgets] ) qml? ( =dev-qt/qtdeclarative-6.8.2*:6[opengl?,widgets?] ) quick3d? ( =dev-qt/qtquick3d-6.8.2*:6[opengl?] ) remoteobjects? ( =dev-qt/qtremoteobjects-6.8.2*:6 ) scxml? ( =dev-qt/qtscxml-6.8.2*:6 ) sensors? ( =dev-qt/qtsensors-6.8.2*:6[qml?] ) speech? ( =dev-qt/qtspeech-6.8.2*:6 ) serialbus? ( =dev-qt/qtserialbus-6.8.2*:6 ) serialport? ( =dev-qt/qtserialport-6.8.2*:6 ) svg? ( =dev-qt/qtsvg-6.8.2*:6 ) testlib? ( =dev-qt/qtbase-6.8.2*:6[gui] ) tools? ( =dev-qt/qtbase-6.8.2*:6 =dev-qt/qtdeclarative-6.8.2*:6[qmlls] =dev-qt/qttools-6.8.2*:6[assistant,designer,linguist] dev-python/pkginfo[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) uitools? ( =dev-qt/qttools-6.8.2*:6[gles2-only=,widgets] ) webchannel? ( =dev-qt/qtwebchannel-6.8.2*:6 ) webengine? ( || ( =dev-qt/qtwebengine-6.8.2*:6[alsa,widgets?] =dev-qt/qtwebengine-6.8.2*:6[pulseaudio,widgets?] ) ) websockets? ( =dev-qt/qtwebsockets-6.8.2*:6 ) webview? ( =dev-qt/qtwebview-6.8.2*:6 ) !dev-python/pyside:0 !dev-python/shiboken6 !dev-python/pyside6-tools python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) +REQUIRED_USE=test? ( qml? ( quick ) ) concurrent? ( core ) 3d? ( gui network opengl ) xml? ( core ) printsupport? ( widgets ) gui? ( core ) bluetooth? ( core ) quick? ( gui network qml opengl ) webengine? ( core gui network printsupport quick webchannel ) testlib? ( widgets ) nfc? ( core ) websockets? ( network ) network-auth? ( network ) network? ( core ) charts? ( core gui widgets ) gles2-only? ( gui ) webview? ( gui ) quick3d? ( gui network qml quick ) svg? ( gui ) dbus? ( core ) webchannel? ( core ) remoteobjects? ( core network ) uitools? ( widgets ) spatialaudio? ( core gui network multimedia ) httpserver? ( core concurrent network websockets ) pdfium? ( core gui network ) positioning? ( core ) location? ( core positioning ) designer? ( widgets ) scxml? ( core ) opengl? ( gui ) serialbus? ( core network serialport ) serialport? ( core ) sql? ( widgets ) widgets? ( gui ) qml? ( network ) help? ( widgets ) multimedia? ( core gui network ) sensors? ( core ) speech? ( core multimedia ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) !test? ( test ) +SLOT=6/6.8.2 +SRC_URI=https://github.com/qtproject/pyside-pyside-setup/archive/refs/tags/v6.8.2.tar.gz -> pyside-pyside-setup-6.8.2.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda qmake-utils a8dd17b1d94586164f5e3fc12b1c6b81 virtualx 9741d451eb64ea8bb9faee90d68a9b68 +_md5_=4394b65d9f7ef1e24459abbd3c7da693 diff --git a/metadata/md5-cache/dev-qt/qt-creator-15.0.1 b/metadata/md5-cache/dev-qt/qt-creator-15.0.1 new file mode 100644 index 0000000..3480548 --- /dev/null +++ b/metadata/md5-cache/dev-qt/qt-creator-15.0.1 @@ -0,0 +1,18 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) >=dev-qt/qttools-6.5.4:6[linguist] cmdbridge-server? ( >=dev-lang/go-1.21.7 ) doc? ( >=dev-qt/qttools-6.5.4:6[qdoc,qtattributionsscanner] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack +DEPEND=dev-cpp/yaml-cpp:= >=dev-qt/qt5compat-6.5.4:6 >=dev-qt/qtbase-6.5.4:6=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.5.4:6= clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( >=dev-qt/qttools-6.5.4:6[designer] ) help? ( >=dev-qt/qttools-6.5.4:6[assistant] webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) keyring? ( app-crypt/libsecret dev-libs/glib:2 ) qmldesigner? ( >=dev-qt/qtquick3d-6.5.4:6= >=dev-qt/qtsvg-6.5.4:6 ) serialterminal? ( >=dev-qt/qtserialport-6.5.4:6 ) svg? ( >=dev-qt/qtsvg-6.5.4:6 ) tracing? ( app-arch/zstd:= dev-libs/elfutils >=dev-qt/qtcharts-6.5.4:6 >=dev-qt/qtshadertools-6.5.4:6 ) +DESCRIPTION=Lightweight IDE for C++/QML development centering around Qt +EAPI=8 +HOMEPAGE=https://www.qt.io/product/development-tools +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cmake edo flag-o-matic go-env llvm-r2 multiprocessing python-any-r1 readme.gentoo-r1 xdg +IUSE=+clang cmdbridge-server designer doc +help keyring plugin-dev qmldesigner serialterminal +svg test +tracing webengine +llvm_slot_20 +KEYWORDS=amd64 +LICENSE=GPL-3 BSD MIT +RDEPEND=dev-cpp/yaml-cpp:= >=dev-qt/qt5compat-6.5.4:6 >=dev-qt/qtbase-6.5.4:6=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.5.4:6= clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( >=dev-qt/qttools-6.5.4:6[designer] ) help? ( >=dev-qt/qttools-6.5.4:6[assistant] webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) keyring? ( app-crypt/libsecret dev-libs/glib:2 ) qmldesigner? ( >=dev-qt/qtquick3d-6.5.4:6= >=dev-qt/qtsvg-6.5.4:6 ) serialterminal? ( >=dev-qt/qtserialport-6.5.4:6 ) svg? ( >=dev-qt/qtsvg-6.5.4:6 ) tracing? ( app-arch/zstd:= dev-libs/elfutils >=dev-qt/qtcharts-6.5.4:6 >=dev-qt/qtshadertools-6.5.4:6 ) help? ( >=dev-qt/qtimageformats-6.5.4:6 ) qmldesigner? ( >=dev-qt/qtquicktimeline-6.5.4:6 ) +REQUIRED_USE=clang? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://download.qt.io/official_releases/qtcreator/15.0/15.0.1/qt-creator-opensource-src-15.0.1.tar.xz cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/qt-creator-opensource-src-15.0.1-vendor.tar.xz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c go-env 0e2babf96e7d0b045fc07ad199eb2399 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=bcdc67aafdd3b378c6ed551326a98df8 diff --git a/metadata/md5-cache/dev-qt/qt-creator-9999 b/metadata/md5-cache/dev-qt/qt-creator-9999 new file mode 100644 index 0000000..5c376c6 --- /dev/null +++ b/metadata/md5-cache/dev-qt/qt-creator-9999 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) >=dev-qt/qttools-6.5.4:6[linguist] cmdbridge-server? ( >=dev-lang/go-1.21.7 ) doc? ( >=dev-qt/qttools-6.5.4:6[qdoc,qtattributionsscanner] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack +DEPEND=dev-cpp/yaml-cpp:= >=dev-qt/qt5compat-6.5.4:6 >=dev-qt/qtbase-6.5.4:6=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.5.4:6= clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( >=dev-qt/qttools-6.5.4:6[designer] ) help? ( >=dev-qt/qttools-6.5.4:6[assistant] webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) keyring? ( app-crypt/libsecret dev-libs/glib:2 ) qmldesigner? ( >=dev-qt/qtquick3d-6.5.4:6= >=dev-qt/qtsvg-6.5.4:6 >=dev-qt/qtwebsockets-6.5.4:6 webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) serialterminal? ( >=dev-qt/qtserialport-6.5.4:6 ) svg? ( >=dev-qt/qtsvg-6.5.4:6 ) tracing? ( app-arch/zstd:= dev-libs/elfutils >=dev-qt/qtcharts-6.5.4:6 >=dev-qt/qtshadertools-6.5.4:6 ) +DESCRIPTION=Lightweight IDE for C++/QML development centering around Qt +EAPI=8 +HOMEPAGE=https://www.qt.io/product/development-tools +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cmake edo flag-o-matic go-env llvm-r2 multiprocessing python-any-r1 readme.gentoo-r1 xdg git-r3 +IUSE=+clang cmdbridge-server designer doc +help keyring plugin-dev qmldesigner serialterminal +svg test +tracing webengine +llvm_slot_20 +LICENSE=GPL-3 BSD MIT +PROPERTIES=live +RDEPEND=dev-cpp/yaml-cpp:= >=dev-qt/qt5compat-6.5.4:6 >=dev-qt/qtbase-6.5.4:6=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.5.4:6= clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( >=dev-qt/qttools-6.5.4:6[designer] ) help? ( >=dev-qt/qttools-6.5.4:6[assistant] webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) keyring? ( app-crypt/libsecret dev-libs/glib:2 ) qmldesigner? ( >=dev-qt/qtquick3d-6.5.4:6= >=dev-qt/qtsvg-6.5.4:6 >=dev-qt/qtwebsockets-6.5.4:6 webengine? ( >=dev-qt/qtwebengine-6.5.4:6 ) ) serialterminal? ( >=dev-qt/qtserialport-6.5.4:6 ) svg? ( >=dev-qt/qtsvg-6.5.4:6 ) tracing? ( app-arch/zstd:= dev-libs/elfutils >=dev-qt/qtcharts-6.5.4:6 >=dev-qt/qtshadertools-6.5.4:6 ) help? ( >=dev-qt/qtimageformats-6.5.4:6 ) qmldesigner? ( >=dev-qt/qtquicktimeline-6.5.4:6 ) +REQUIRED_USE=clang? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c go-env 0e2babf96e7d0b045fc07ad199eb2399 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 xdg 3ef49a87c52c8b77c476351195dfe575 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=2015d008b184ae38d5e92a0b9df99bbc diff --git a/metadata/md5-cache/dev-qt/qttools-6.8.2 b/metadata/md5-cache/dev-qt/qttools-6.8.2 new file mode 100644 index 0000000..2fad8f3 --- /dev/null +++ b/metadata/md5-cache/dev-qt/qttools-6.8.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 dev-lang/perl virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare test unpack +DEPEND=~dev-qt/qtbase-6.8.2:6[widgets?] assistant? ( ~dev-qt/qtbase-6.8.2:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.8.2:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.8.2:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.8.2:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.8.2:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.8.2:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.8.2:6[opengl=] ) qtdiag? ( vulkan? ( dev-util/vulkan-headers ) ) +DESCRIPTION=Qt Tools Collection +EAPI=8 +HOMEPAGE=https://www.qt.io/ +INHERIT=desktop llvm-r2 optfeature qt6-build +IUSE=+assistant clang designer distancefieldgenerator gles2-only +linguist opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag qtplugininfo vulkan +widgets zstd +llvm_slot_20 custom-cflags +KEYWORDS=amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86 +LICENSE=|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3 +RDEPEND=~dev-qt/qtbase-6.8.2:6[widgets?] assistant? ( ~dev-qt/qtbase-6.8.2:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.8.2:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.8.2:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.8.2:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.8.2:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.8.2:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.8.2:6[opengl=] ) +REQUIRED_USE=assistant? ( widgets ) clang? ( ^^ ( llvm_slot_20 ) ) designer? ( qml widgets ) distancefieldgenerator? ( qml widgets ) pixeltool? ( widgets ) qdoc? ( clang qml ) qmlls? ( assistant qml ) +RESTRICT=test +SLOT=6/6.8.2 +SRC_URI=https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qttools-everywhere-src-6.8.2.tar.xz +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 optfeature 538bce96e5589935b57e178e8635f301 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd qt6-build 39b9d7d09a2a909b2a1f24eef0c6a41c +_md5_=45fa89ca99c9987847b36a85c68c7137 diff --git a/metadata/md5-cache/dev-qt/qttools-6.8.9999 b/metadata/md5-cache/dev-qt/qttools-6.8.9999 new file mode 100644 index 0000000..acb35db --- /dev/null +++ b/metadata/md5-cache/dev-qt/qttools-6.8.9999 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] dev-lang/perl virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare test unpack +DEPEND=~dev-qt/qtbase-6.8.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.8.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.8.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.8.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.8.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.8.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.8.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.8.9999:6[opengl=] ) qtdiag? ( vulkan? ( dev-util/vulkan-headers ) ) +DESCRIPTION=Qt Tools Collection +EAPI=8 +HOMEPAGE=https://www.qt.io/ +INHERIT=desktop llvm-r2 optfeature qt6-build +IUSE=+assistant clang designer distancefieldgenerator gles2-only +linguist opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag qtplugininfo vulkan +widgets zstd +llvm_slot_20 custom-cflags +LICENSE=|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3 +PROPERTIES=live +RDEPEND=~dev-qt/qtbase-6.8.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.8.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.8.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.8.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.8.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.8.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.8.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.8.9999:6[opengl=] ) +REQUIRED_USE=assistant? ( widgets ) clang? ( ^^ ( llvm_slot_20 ) ) designer? ( qml widgets ) distancefieldgenerator? ( qml widgets ) pixeltool? ( widgets ) qdoc? ( clang qml ) qmlls? ( assistant qml ) +RESTRICT=test +SLOT=6/6.8.9999 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 optfeature 538bce96e5589935b57e178e8635f301 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd git-r3 875eb471682d3e1f18da124be97dcc81 qt6-build 39b9d7d09a2a909b2a1f24eef0c6a41c +_md5_=040c797eac22858ac60a03abe367cc5b diff --git a/metadata/md5-cache/dev-qt/qttools-6.9.9999 b/metadata/md5-cache/dev-qt/qttools-6.9.9999 new file mode 100644 index 0000000..6197a55 --- /dev/null +++ b/metadata/md5-cache/dev-qt/qttools-6.9.9999 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] dev-lang/perl virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare test unpack +DEPEND=~dev-qt/qtbase-6.9.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.9.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.9.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.9.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.9.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.9.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.9.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.9.9999:6[opengl=] ) qtdiag? ( vulkan? ( dev-util/vulkan-headers ) ) +DESCRIPTION=Qt Tools Collection +EAPI=8 +HOMEPAGE=https://www.qt.io/ +INHERIT=desktop llvm-r2 optfeature qt6-build +IUSE=+assistant clang designer distancefieldgenerator gles2-only +linguist opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag qtplugininfo vulkan +widgets zstd +llvm_slot_20 custom-cflags +LICENSE=|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3 +PROPERTIES=live +RDEPEND=~dev-qt/qtbase-6.9.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.9.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.9.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.9.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.9.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.9.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.9.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.9.9999:6[opengl=] ) +REQUIRED_USE=assistant? ( widgets ) clang? ( ^^ ( llvm_slot_20 ) ) designer? ( qml widgets ) distancefieldgenerator? ( qml widgets ) pixeltool? ( widgets ) qdoc? ( clang qml ) qmlls? ( assistant qml ) +RESTRICT=test +SLOT=6/6.9.9999 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 optfeature 538bce96e5589935b57e178e8635f301 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd git-r3 875eb471682d3e1f18da124be97dcc81 qt6-build 39b9d7d09a2a909b2a1f24eef0c6a41c +_md5_=040c797eac22858ac60a03abe367cc5b diff --git a/metadata/md5-cache/dev-qt/qttools-6.9999 b/metadata/md5-cache/dev-qt/qttools-6.9999 new file mode 100644 index 0000000..04ed9a8 --- /dev/null +++ b/metadata/md5-cache/dev-qt/qttools-6.9999 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] dev-lang/perl virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare test unpack +DEPEND=~dev-qt/qtbase-6.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.9999:6[opengl=] ) qtdiag? ( vulkan? ( dev-util/vulkan-headers ) ) +DESCRIPTION=Qt Tools Collection +EAPI=8 +HOMEPAGE=https://www.qt.io/ +INHERIT=desktop llvm-r2 optfeature qt6-build +IUSE=+assistant clang designer distancefieldgenerator gles2-only +linguist opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag qtplugininfo vulkan +widgets zstd +llvm_slot_20 custom-cflags +LICENSE=|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3 +PROPERTIES=live +RDEPEND=~dev-qt/qtbase-6.9999:6[widgets?] assistant? ( ~dev-qt/qtbase-6.9999:6[concurrent,network,sql,sqlite] ) clang? ( llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) designer? ( ~dev-qt/qtbase-6.9999:6[network,xml,zstd=] zstd? ( app-arch/zstd:= ) ) qdbus? ( ~dev-qt/qtbase-6.9999:6[dbus,xml] ) qml? ( ~dev-qt/qtdeclarative-6.9999:6[widgets?] ) qmlls? ( ~dev-qt/qtdeclarative-6.9999:6[qmlls] ) qtdiag? ( ~dev-qt/qtbase-6.9999:6[network,gles2-only=,vulkan=] ) widgets? ( ~dev-qt/qtbase-6.9999:6[opengl=] ) +REQUIRED_USE=assistant? ( widgets ) clang? ( ^^ ( llvm_slot_20 ) ) designer? ( qml widgets ) distancefieldgenerator? ( qml widgets ) pixeltool? ( widgets ) qdoc? ( clang qml ) qmlls? ( assistant qml ) +RESTRICT=test +SLOT=6/6.9999 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 optfeature 538bce96e5589935b57e178e8635f301 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd git-r3 875eb471682d3e1f18da124be97dcc81 qt6-build 39b9d7d09a2a909b2a1f24eef0c6a41c +_md5_=040c797eac22858ac60a03abe367cc5b diff --git a/metadata/md5-cache/dev-util/Tensile-5.7.1-r2 b/metadata/md5-cache/dev-util/Tensile-5.7.1-r2 new file mode 100644 index 0000000..d8749b1 --- /dev/null +++ b/metadata/md5-cache/dev-util/Tensile-5.7.1-r2 @@ -0,0 +1,17 @@ +BDEPEND=test? ( dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/pytest-xdist[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/filelock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) test? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-5* >=dev-util/rocm-smi-4.3.0 llvm-core/clang:17 >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-5* >=dev-util/rocm-smi-4.3.0 llvm-core/clang:17 !!llvm-core/llvm:0 +DESCRIPTION=Stretching GPU performance for GEMMs and tensor contractions +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/Tensile +INHERIT=cmake distutils-r1 llvm prefix rocm +IUSE=client test test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-5* >=dev-util/rocm-smi-4.3.0 llvm-core/clang:17 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) +REQUIRED_USE=client? ( || ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 ) +RESTRICT=!test? ( test ) !test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-5.7.1.tar.gz -> rocm-Tensile-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be prefix c3c4c93ebda319c0fa7ed6f942ba1010 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=8f7fc107e931aa079ef8542070a9abe8 diff --git a/metadata/md5-cache/dev-util/Tensile-6.1.1 b/metadata/md5-cache/dev-util/Tensile-6.1.1 new file mode 100644 index 0000000..bca1713 --- /dev/null +++ b/metadata/md5-cache/dev-util/Tensile-6.1.1 @@ -0,0 +1,17 @@ +BDEPEND=test? ( dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/pytest-xdist[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/filelock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) test? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-6* >=dev-util/rocm-smi-4.3.0 llvm_slot_20? ( llvm-core/clang:20 ) >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-6* >=dev-util/rocm-smi-4.3.0 llvm_slot_20? ( llvm-core/clang:20 ) +DESCRIPTION=Stretching GPU performance for GEMMs and tensor contractions +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/Tensile +INHERIT=cmake distutils-r1 llvm-r1 prefix rocm +IUSE=client test test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] =dev-util/hip-6* >=dev-util/rocm-smi-4.3.0 llvm_slot_20? ( llvm-core/clang:20 ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) +REQUIRED_USE=client? ( || ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) !test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-6.1.1.tar.gz -> rocm-Tensile-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=e9053fbe81c11eb1cfc12956a8459679 diff --git a/metadata/md5-cache/dev-util/Tensile-6.1.1-r1 b/metadata/md5-cache/dev-util/Tensile-6.1.1-r1 new file mode 100644 index 0000000..b8eef83 --- /dev/null +++ b/metadata/md5-cache/dev-util/Tensile-6.1.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=test? ( dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/pytest-xdist[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/filelock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) test? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-util/hip:0/6.1 dev-util/rocm-smi:0/6.1 llvm_slot_20? ( llvm-core/clang:20 ) >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-util/hip:0/6.1 dev-util/rocm-smi:0/6.1 llvm_slot_20? ( llvm-core/clang:20 ) +DESCRIPTION=Stretching GPU performance for GEMMs and tensor contractions +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/Tensile +INHERIT=cmake distutils-r1 llvm-r1 prefix rocm +IUSE=client test test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-util/hip:0/6.1 dev-util/rocm-smi:0/6.1 llvm_slot_20? ( llvm-core/clang:20 ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) +REQUIRED_USE=client? ( || ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) !test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-6.1.1.tar.gz -> rocm-Tensile-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=f92bf3c75a7cf6323fd94d8367321f27 diff --git a/metadata/md5-cache/dev-util/Tensile-6.3.2 b/metadata/md5-cache/dev-util/Tensile-6.3.2 new file mode 100644 index 0000000..468b2d1 --- /dev/null +++ b/metadata/md5-cache/dev-util/Tensile-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=test? ( dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/pytest-xdist[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/filelock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) test? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) +DESCRIPTION=Stretching GPU performance for GEMMs and tensor contractions +EAPI=8 +HOMEPAGE=https://github.com/ROCm/Tensile +INHERIT=cmake distutils-r1 llvm-r1 prefix rocm +IUSE=client test test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) +REQUIRED_USE=client? ( || ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=test !test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/Tensile/archive/rocm-6.3.2.tar.gz -> rocm-Tensile-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=ac53bf496bead4ac259da39923a9f80c diff --git a/metadata/md5-cache/dev-util/Tensile-6.3.3 b/metadata/md5-cache/dev-util/Tensile-6.3.3 new file mode 100644 index 0000000..b3e3d53 --- /dev/null +++ b/metadata/md5-cache/dev-util/Tensile-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=test? ( dev-python/pytest-forked[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/pytest-xdist[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/filelock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) test? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] >=dev-python/setuptools-69.0.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) +DESCRIPTION=Stretching GPU performance for GEMMs and tensor contractions +EAPI=8 +HOMEPAGE=https://github.com/ROCm/Tensile +INHERIT=cmake distutils-r1 llvm-r1 prefix rocm +IUSE=client test test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) client? ( dev-libs/boost ) >=dev-cpp/msgpack-cxx-6.0.0 dev-python/pyyaml[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/msgpack[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-python/joblib[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] dev-util/hip:0/6.3 dev-util/rocm-smi:0/6.3 llvm_slot_20? ( llvm-core/clang:20 ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) +REQUIRED_USE=client? ( || ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ) || ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=test !test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/Tensile/archive/rocm-6.3.3.tar.gz -> rocm-Tensile-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=ac53bf496bead4ac259da39923a9f80c diff --git a/metadata/md5-cache/dev-util/android-ndk-11c b/metadata/md5-cache/dev-util/android-ndk-11c deleted file mode 100644 index 1134dee..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-11c +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 sys-libs/ncurses-compat:5 -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=68b53f00aa5293367f7be65e1c4dff10 diff --git a/metadata/md5-cache/dev-util/android-ndk-11c-r1 b/metadata/md5-cache/dev-util/android-ndk-11c-r1 deleted file mode 100644 index 49d60ff..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-11c-r1 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 || ( sys-libs/ncurses:0/5[tinfo] sys-libs/ncurses-compat:5[tinfo] ) -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=3b86a07ce3e8a93d659507c3fecec921 diff --git a/metadata/md5-cache/dev-util/android-ndk-13b b/metadata/md5-cache/dev-util/android-ndk-13b deleted file mode 100644 index ff2951d..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-13b +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 || ( sys-libs/ncurses:0/5[tinfo] sys-libs/ncurses-compat:5[tinfo] ) -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=3b86a07ce3e8a93d659507c3fecec921 diff --git a/metadata/md5-cache/dev-util/android-ndk-14b b/metadata/md5-cache/dev-util/android-ndk-14b deleted file mode 100644 index ad1ca8e..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-14b +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 || ( sys-libs/ncurses:0/5[tinfo] sys-libs/ncurses-compat:5[tinfo] ) -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=96a416094bd36de9b381d0b20eed0715 diff --git a/metadata/md5-cache/dev-util/android-ndk-16b b/metadata/md5-cache/dev-util/android-ndk-16b deleted file mode 100644 index 9def3ed..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-16b +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 || ( sys-libs/ncurses:0/5[tinfo] sys-libs/ncurses-compat:5[tinfo] ) -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=96a416094bd36de9b381d0b20eed0715 diff --git a/metadata/md5-cache/dev-util/android-ndk-18 b/metadata/md5-cache/dev-util/android-ndk-18 deleted file mode 100644 index dce8cbe..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-18 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 sys-libs/ncurses-compat:5[abi_x86_32(-),tinfo] -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r18-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=64c2b0dd8785b8d7551e8dd402a0a2a1 diff --git a/metadata/md5-cache/dev-util/android-ndk-21 b/metadata/md5-cache/dev-util/android-ndk-21 deleted file mode 100644 index 6ee1081..0000000 --- a/metadata/md5-cache/dev-util/android-ndk-21 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install pretend setup -DEPEND=app-arch/p7zip -DESCRIPTION=Open Handset Alliance's Android NDK (Native Dev Kit) -EAPI=6 -HOMEPAGE=https://developer.android.com/ndk/ -INHERIT=check-reqs -KEYWORDS=~amd64 -LICENSE=android -RDEPEND=>=dev-util/android-sdk-update-manager-10 >=sys-devel/make-3.81 sys-libs/ncurses-compat:5[abi_x86_32(-),tinfo] virtual/libcrypt -RESTRICT=mirror strip installsources test -SLOT=0 -SRC_URI=https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip -_eclasses_=check-reqs a5f1e025c53d62f98bc24bd63d7d95e1 -_md5_=9cba59b6d093a60fcafedf723727a449 diff --git a/metadata/md5-cache/dev-util/bcc-0.29.1-r1 b/metadata/md5-cache/dev-util/bcc-0.29.1-r1 new file mode 100644 index 0000000..f08a4dc --- /dev/null +++ b/metadata/md5-cache/dev-util/bcc-0.29.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/zip virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers =dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers bcc-0.29.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=7615de5e49a5f9eac679df67b1b7ecbd diff --git a/metadata/md5-cache/dev-util/bcc-0.29.1-r2 b/metadata/md5-cache/dev-util/bcc-0.29.1-r2 new file mode 100644 index 0000000..70b6780 --- /dev/null +++ b/metadata/md5-cache/dev-util/bcc-0.29.1-r2 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/zip virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers =dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers bcc-0.29.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=974c8eb7b13196b9560023aea08c6000 diff --git a/metadata/md5-cache/dev-util/bcc-0.30.0-r1 b/metadata/md5-cache/dev-util/bcc-0.30.0-r1 new file mode 100644 index 0000000..a15c901 --- /dev/null +++ b/metadata/md5-cache/dev-util/bcc-0.30.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/zip virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=>=dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers =dev-libs/elfutils-0.166:= >=dev-libs/libbpf-1.2.0:=[static-libs(-)] sys-kernel/linux-headers bcc-0.30.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be lua-utils 7c89927eda6f21c4c48136247077ab37 lua-single 75fe955a36b18e199213c8739eaebdbb out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=52dc59fcbefcdd7d532bcd3a595f3e52 diff --git a/metadata/md5-cache/dev-util/bpftool-6.8.2 b/metadata/md5-cache/dev-util/bpftool-6.8.2 new file mode 100644 index 0000000..64af3b7 --- /dev/null +++ b/metadata/md5-cache/dev-util/bpftool-6.8.2 @@ -0,0 +1,15 @@ +BDEPEND=dev-util/patchutils || ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-arch/tar dev-python/docutils +DEFINED_PHASES=compile install postinst prepare setup unpack +DEPEND=sys-libs/binutils-libs:= sys-libs/zlib:= virtual/libelf:= caps? ( sys-libs/libcap:= ) llvm? ( llvm-core/llvm:= ) >=sys-kernel/linux-headers-5.8 +DESCRIPTION=Tool for inspection and simple manipulation of eBPF programs and maps +EAPI=8 +HOMEPAGE=https://kernel.org/ +INHERIT=estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs +IUSE=caps +llvm +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 +LICENSE=GPL-2 +RDEPEND=sys-libs/binutils-libs:= sys-libs/zlib:= virtual/libelf:= caps? ( sys-libs/libcap:= ) llvm? ( llvm-core/llvm:= ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.8.2.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.xz +_eclasses_=estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 linux-info ea4122ba1d8791a12b78e53f9510a2e3 optfeature 538bce96e5589935b57e178e8635f301 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 bash-completion-r1 767861f3744f589ee5291c1698b1c082 +_md5_=971ce5d6c357d644dbe47a2040871eca diff --git a/metadata/md5-cache/dev-util/bpftool-6.9.2 b/metadata/md5-cache/dev-util/bpftool-6.9.2 new file mode 100644 index 0000000..8799687 --- /dev/null +++ b/metadata/md5-cache/dev-util/bpftool-6.9.2 @@ -0,0 +1,15 @@ +BDEPEND=dev-util/patchutils || ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-arch/tar dev-python/docutils +DEFINED_PHASES=compile install postinst prepare setup unpack +DEPEND=sys-libs/binutils-libs:= sys-libs/zlib:= virtual/libelf:= caps? ( sys-libs/libcap:= ) llvm? ( llvm-core/llvm:= ) >=sys-kernel/linux-headers-5.8 +DESCRIPTION=Tool for inspection and simple manipulation of eBPF programs and maps +EAPI=8 +HOMEPAGE=https://kernel.org/ +INHERIT=estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs +IUSE=caps +llvm +KEYWORDS=amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 +LICENSE=GPL-2 +RDEPEND=sys-libs/binutils-libs:= sys-libs/zlib:= virtual/libelf:= caps? ( sys-libs/libcap:= ) llvm? ( llvm-core/llvm:= ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.9.2.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.9.tar.xz +_eclasses_=estack c61c368a76fdf3a82fdf8dbaebea3804 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 linux-info ea4122ba1d8791a12b78e53f9510a2e3 optfeature 538bce96e5589935b57e178e8635f301 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 bash-completion-r1 767861f3744f589ee5291c1698b1c082 +_md5_=8d95234ebd2d102cc9cca3ae16a29a50 diff --git a/metadata/md5-cache/dev-util/bpftool-7.4.0 b/metadata/md5-cache/dev-util/bpftool-7.4.0 new file mode 100644 index 0000000..fbdc2ce --- /dev/null +++ b/metadata/md5-cache/dev-util/bpftool-7.4.0 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-arch/tar dev-python/docutils llvm_slot_20? ( llvm-core/clang:20[llvm_targets_BPF] ) +DEFINED_PHASES=compile install prepare setup +DEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= >=sys-kernel/linux-headers-5.8 +DESCRIPTION=Tool for inspection and simple manipulation of eBPF programs and maps +EAPI=8 +HOMEPAGE=https://github.com/libbpf/bpftool +INHERIT=bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs +IUSE=caps llvm +llvm_slot_20 +KEYWORDS=amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 +LICENSE=|| ( GPL-2 BSD-2 ) +RDEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= +REQUIRED_USE=llvm? ( ^^ ( llvm_slot_20 ) ) +SLOT=0 +SRC_URI=https://github.com/libbpf/bpftool/archive/refs/tags/v7.4.0.tar.gz -> bpftool-7.4.0.tar.gz https://github.com/libbpf/libbpf/archive/refs/tags/v1.4.7.tar.gz -> libbpf-1.4.7.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=0b2516dabe3590998edfa99a3d543e41 diff --git a/metadata/md5-cache/dev-util/bpftool-7.5.0 b/metadata/md5-cache/dev-util/bpftool-7.5.0 new file mode 100644 index 0000000..cf3e9c1 --- /dev/null +++ b/metadata/md5-cache/dev-util/bpftool-7.5.0 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-arch/tar dev-python/docutils clang? ( llvm_slot_20? ( llvm-core/clang:20[llvm_targets_BPF] ) ) !clang? ( sys-devel/bpf-toolchain ) +DEFINED_PHASES=compile install prepare setup +DEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= >=sys-kernel/linux-headers-5.8 +DESCRIPTION=Tool for inspection and simple manipulation of eBPF programs and maps +EAPI=8 +HOMEPAGE=https://github.com/libbpf/bpftool +INHERIT=bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs +IUSE=caps +clang llvm +llvm_slot_20 +KEYWORDS=amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 +LICENSE=|| ( GPL-2 BSD-2 ) +RDEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= +REQUIRED_USE=llvm? ( ^^ ( llvm_slot_20 ) ) +SLOT=0 +SRC_URI=https://github.com/libbpf/bpftool/releases/download/v7.5.0/bpftool-libbpf-v7.5.0-sources.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=38b5692758ea22d73352cdca2f7667a9 diff --git a/metadata/md5-cache/dev-util/bpftool-9999 b/metadata/md5-cache/dev-util/bpftool-9999 new file mode 100644 index 0000000..f1ed368 --- /dev/null +++ b/metadata/md5-cache/dev-util/bpftool-9999 @@ -0,0 +1,15 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-arch/tar dev-python/docutils clang? ( llvm_slot_20? ( llvm-core/clang:20[llvm_targets_BPF] ) ) !clang? ( sys-devel/bpf-toolchain ) >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile install prepare setup unpack +DEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= >=sys-kernel/linux-headers-5.8 +DESCRIPTION=Tool for inspection and simple manipulation of eBPF programs and maps +EAPI=8 +HOMEPAGE=https://github.com/libbpf/bpftool +INHERIT=bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs git-r3 +IUSE=caps +clang llvm +llvm_slot_20 +LICENSE=|| ( GPL-2 BSD-2 ) +PROPERTIES=live +RDEPEND=caps? ( sys-libs/libcap:= ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20 ) ) !llvm? ( sys-libs/binutils-libs:= ) sys-libs/zlib:= virtual/libelf:= +REQUIRED_USE=llvm? ( ^^ ( llvm_slot_20 ) ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=b4d5a00d52cb96962cb9600cd9f66003 diff --git a/metadata/md5-cache/dev-util/ccls-0.20240202 b/metadata/md5-cache/dev-util/ccls-0.20240202 new file mode 100644 index 0000000..37c7c1c --- /dev/null +++ b/metadata/md5-cache/dev-util/ccls-0.20240202 @@ -0,0 +1,14 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/rapidjson ccls-0.20240202.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be +_md5_=95eb2d4acb09a5eea09cac9c3e4fa32e diff --git a/metadata/md5-cache/dev-util/ccls-0.20240505 b/metadata/md5-cache/dev-util/ccls-0.20240505 new file mode 100644 index 0000000..81e508c --- /dev/null +++ b/metadata/md5-cache/dev-util/ccls-0.20240505 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=C/C++/ObjC language server +EAPI=8 +HOMEPAGE=https://github.com/MaskRay/ccls +INHERIT=cmake llvm-r1 +IUSE=+llvm_slot_20 +KEYWORDS=amd64 ~arm64 ~riscv +LICENSE=Apache-2.0 +RDEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/MaskRay/ccls/archive/0.20240505.tar.gz -> ccls-0.20240505.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=3f5e2572f9d73b9e122b75b2d1c7718f diff --git a/metadata/md5-cache/dev-util/ccls-0.20241108 b/metadata/md5-cache/dev-util/ccls-0.20241108 new file mode 100644 index 0000000..d3b95b1 --- /dev/null +++ b/metadata/md5-cache/dev-util/ccls-0.20241108 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=C/C++/ObjC language server +EAPI=8 +HOMEPAGE=https://github.com/MaskRay/ccls +INHERIT=cmake llvm-r1 +IUSE=+llvm_slot_20 +KEYWORDS=amd64 ~arm64 ~riscv +LICENSE=Apache-2.0 +RDEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/MaskRay/ccls/archive/0.20241108.tar.gz -> ccls-0.20241108.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=7ad292b44d20b790429b606e087ef67c diff --git a/metadata/md5-cache/dev-util/ccls-9999 b/metadata/md5-cache/dev-util/ccls-9999 new file mode 100644 index 0000000..b9733e2 --- /dev/null +++ b/metadata/md5-cache/dev-util/ccls-9999 @@ -0,0 +1,15 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=C/C++/ObjC language server +EAPI=8 +HOMEPAGE=https://github.com/MaskRay/ccls +INHERIT=cmake llvm-r1 git-r3 +IUSE=+llvm_slot_20 +LICENSE=Apache-2.0 +PROPERTIES=live +RDEPEND=dev-libs/rapidjson llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=d77cf5d97016e2490e5b3d610b544bac diff --git a/metadata/md5-cache/dev-util/clang-extract-0_pre20241220 b/metadata/md5-cache/dev-util/clang-extract-0_pre20241220 new file mode 100644 index 0000000..780de47 --- /dev/null +++ b/metadata/md5-cache/dev-util/clang-extract-0_pre20241220 @@ -0,0 +1,17 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=app-arch/zstd:= sys-libs/zlib virtual/libelf llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) +DESCRIPTION=Tool to extract code content from source files +EAPI=8 +HOMEPAGE=https://github.com/SUSE/clang-extract +INHERIT=flag-o-matic llvm-r1 meson python-any-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=UoI-NCSA +RDEPEND=app-arch/zstd:= sys-libs/zlib virtual/libelf llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/SUSE/clang-extract/archive/8344124f604e2ef9202177f5b9ed61962a37c4dc.tar.gz -> clang-extract-0_pre20241220.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=5affaf52ec1c8da41e15f50906514777 diff --git a/metadata/md5-cache/dev-util/clang-extract-9999 b/metadata/md5-cache/dev-util/clang-extract-9999 new file mode 100644 index 0000000..72a2d5e --- /dev/null +++ b/metadata/md5-cache/dev-util/clang-extract-9999 @@ -0,0 +1,16 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=app-arch/zstd:= sys-libs/zlib virtual/libelf llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) +DESCRIPTION=Tool to extract code content from source files +EAPI=8 +HOMEPAGE=https://github.com/SUSE/clang-extract +INHERIT=flag-o-matic llvm-r1 meson python-any-r1 git-r3 +IUSE=test +llvm_slot_20 +LICENSE=UoI-NCSA +PROPERTIES=live +RDEPEND=app-arch/zstd:= sys-libs/zlib virtual/libelf llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=5affaf52ec1c8da41e15f50906514777 diff --git a/metadata/md5-cache/dev-util/clazy-1.13 b/metadata/md5-cache/dev-util/clazy-1.13 new file mode 100644 index 0000000..5396906 --- /dev/null +++ b/metadata/md5-cache/dev-util/clazy-1.13 @@ -0,0 +1,17 @@ +BDEPEND=test? ( || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) dev-qt/qtbase:6[network,xml] dev-qt/qtmultimedia:6 dev-qt/qtnetworkauth:6 dev-qt/qtscxml:6[qml] dev-qt/qtsvg:6 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20 ) llvm_slot_20? ( llvm-core/llvm:20 ) +DESCRIPTION=Compiler plugin which allows clang to understand Qt semantics +EAPI=8 +HOMEPAGE=https://apps.kde.org/clazy +INHERIT=cmake llvm-r1 python-any-r1 +IUSE=test +llvm_slot_20 +KEYWORDS=amd64 arm64 ~x86 +LICENSE=LGPL-2+ +RDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) llvm_slot_20? ( llvm-core/llvm:20 ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=mirror://kde/stable/clazy/1.13/src/clazy-1.13.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=b797be06f3923b0387f2b4fd91ee2b71 diff --git a/metadata/md5-cache/dev-util/cvise-2.11.0 b/metadata/md5-cache/dev-util/cvise-2.11.0 new file mode 100644 index 0000000..bc2898a --- /dev/null +++ b/metadata/md5-cache/dev-util/cvise-2.11.0 @@ -0,0 +1,17 @@ +BDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) app-alternatives/lex test? ( python_single_target_python3_10? ( dev-python/pebble[python_targets_python3_10(-)] dev-python/pytest[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pebble[python_targets_python3_11(-)] dev-python/pytest[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/pebble[python_targets_python3_12(-)] dev-python/pytest[python_targets_python3_12(-)] ) python_single_target_python3_13? ( dev-python/pebble[python_targets_python3_13(-)] dev-python/pytest[python_targets_python3_13(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) +DESCRIPTION=Super-parallel Python port of the C-Reduce +EAPI=8 +HOMEPAGE=https://github.com/marxin/cvise/ +INHERIT=cmake llvm-r1 python-single-r1 +IUSE=test +llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc x86 +LICENSE=UoI-NCSA +RDEPEND=llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_10? ( dev-python/chardet[python_targets_python3_10(-)] dev-python/pebble[python_targets_python3_10(-)] dev-python/psutil[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/chardet[python_targets_python3_11(-)] dev-python/pebble[python_targets_python3_11(-)] dev-python/psutil[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/chardet[python_targets_python3_12(-)] dev-python/pebble[python_targets_python3_12(-)] dev-python/psutil[python_targets_python3_12(-)] ) python_single_target_python3_13? ( dev-python/chardet[python_targets_python3_13(-)] dev-python/pebble[python_targets_python3_13(-)] dev-python/psutil[python_targets_python3_13(-)] ) dev-util/unifdef app-alternatives/lex +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/marxin/cvise/archive/v2.11.0.tar.gz -> cvise-2.11.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=04fda4da51a4f91b3442d0c7cfe29517 diff --git a/metadata/md5-cache/dev-util/edi-0.8.0-r2 b/metadata/md5-cache/dev-util/edi-0.8.0-r2 new file mode 100644 index 0000000..71ccd53 --- /dev/null +++ b/metadata/md5-cache/dev-util/edi-0.8.0-r2 @@ -0,0 +1,15 @@ +BDEPEND=virtual/libintl virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test +DEPEND=|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) >=dev-libs/efl-1.22.0[eet] clang? ( dev-util/bear llvm-core/clang:= ) dev-libs/check !!llvm-core/llvm:0 dev-util/desktop-file-utils x11-misc/shared-mime-info +DESCRIPTION=An EFL-based IDE +EAPI=7 +HOMEPAGE=https://www.enlightenment.org/about-edi https://phab.enlightenment.org/w/projects/edi/ https://github.com/Enlightenment/edi +INHERIT=llvm meson xdg +IUSE=clang +KEYWORDS=amd64 x86 +LICENSE=GPL-2 GPL-3 LGPL-2.1-with-linking-exception +RDEPEND=|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) >=dev-libs/efl-1.22.0[eet] clang? ( dev-util/bear llvm-core/clang:= ) +SLOT=0 +SRC_URI=https://github.com/Enlightenment/edi/archive/v0.8.0.tar.gz -> edi-0.8.0.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=09a1b01f8cc5fd04d63cce6b9e3d4399 diff --git a/metadata/md5-cache/dev-util/edi-0.8.0-r3 b/metadata/md5-cache/dev-util/edi-0.8.0-r3 new file mode 100644 index 0000000..7203cc5 --- /dev/null +++ b/metadata/md5-cache/dev-util/edi-0.8.0-r3 @@ -0,0 +1,17 @@ +BDEPEND=virtual/libintl virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test +DEPEND=|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) >=dev-libs/efl-1.22.0[eet] clang? ( dev-util/bear llvm_slot_20? ( llvm-core/clang:20= ) ) dev-libs/check +DESCRIPTION=An EFL-based IDE +EAPI=8 +HOMEPAGE=https://www.enlightenment.org/about-edi https://phab.enlightenment.org/w/projects/edi/ https://github.com/Enlightenment/edi +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=llvm-r2 meson xdg +IUSE=clang +llvm_slot_20 +KEYWORDS=amd64 x86 +LICENSE=GPL-2 GPL-3 LGPL-2.1-with-linking-exception +RDEPEND=|| ( dev-libs/efl[X] dev-libs/efl[wayland] ) >=dev-libs/efl-1.22.0[eet] clang? ( dev-util/bear llvm_slot_20? ( llvm-core/clang:20= ) ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/Enlightenment/edi/archive/v0.8.0.tar.gz -> edi-0.8.0.tar.gz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=86bf81fe173bc9a2d004ff289e3fd2f3 diff --git a/metadata/md5-cache/dev-util/hip-5.7.1-r2 b/metadata/md5-cache/dev-util/hip-5.7.1-r2 new file mode 100644 index 0000000..4c695d4 --- /dev/null +++ b/metadata/md5-cache/dev-util/hip-5.7.1-r2 @@ -0,0 +1,16 @@ +BDEPEND=test? ( =dev-util/hipcc-5* ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND==dev-util/rocminfo-5* llvm-core/clang:17 dev-libs/rocm-comgr:0/5.7 >=dev-libs/rocr-runtime-5.6 =dev-libs/rocr-runtime-5.6 =dev-libs/roct-thunk-interface-5 +RESTRICT=!test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/ROCm/clr/archive/refs/tags/rocm-5.7.1.tar.gz -> rocm-clr-5.7.1.tar.gz https://github.com/ROCm/HIP/archive/refs/tags/rocm-5.7.1.tar.gz -> hip-5.7.1.tar.gz test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-5.7.0.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be rocm 826765f795a41b937d1bfe8e709346cd +_md5_=4ee50ff7e7514e45b24034d11a53a679 diff --git a/metadata/md5-cache/dev-util/hip-6.1.1 b/metadata/md5-cache/dev-util/hip-6.1.1 new file mode 100644 index 0000000..d28560c --- /dev/null +++ b/metadata/md5-cache/dev-util/hip-6.1.1 @@ -0,0 +1,17 @@ +BDEPEND=video_cards_amdgpu? ( dev-util/hipcc:0/6.1[llvm_slot_20(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=video_cards_amdgpu? ( >=dev-util/rocminfo-5 llvm_slot_20? ( llvm-core/clang:20 ) dev-libs/rocm-comgr:0/6.1 dev-libs/rocr-runtime:0/6.1 ) video_cards_nvidia? ( dev-libs/hipother:0/6.1 ) x11-base/xorg-proto virtual/opengl +DESCRIPTION=C++ Heterogeneous-Compute Interface for Portability +EAPI=8 +HOMEPAGE=https://github.com/ROCm/clr +INHERIT=cmake docs flag-o-matic llvm-r1 rocm +IUSE=debug +hip opencl test video_cards_amdgpu video_cards_nvidia doc +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=video_cards_amdgpu? ( >=dev-util/rocminfo-5 llvm_slot_20? ( llvm-core/clang:20 ) dev-libs/rocm-comgr:0/6.1 dev-libs/rocr-runtime:0/6.1 ) video_cards_nvidia? ( dev-libs/hipother:0/6.1 ) x11-base/xorg-proto virtual/opengl llvm-core/clang-runtime:= opencl? ( !dev-libs/opencl-icd-loader !dev-libs/rocm-opencl-runtime !dev-util/clinfo !dev-util/opencl-headers ) video_cards_amdgpu? ( dev-util/hipcc:0/6.1[llvm_slot_20(-)?] >=dev-libs/rocm-device-libs-6.1.1 >=dev-libs/roct-thunk-interface-5 ) +REQUIRED_USE=|| ( hip opencl ) ^^ ( video_cards_amdgpu video_cards_nvidia ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/clr/archive/refs/tags/rocm-6.1.1.tar.gz -> rocm-clr-6.1.1.tar.gz https://github.com/ROCm/HIP/archive/refs/tags/rocm-6.1.1.tar.gz -> hip-6.1.1.tar.gz test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-6.1.1.tar.gz -> hip-test-6.1.1.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=425bef4b5361a22e84d54665bbe0f700 diff --git a/metadata/md5-cache/dev-util/hip-6.1.2 b/metadata/md5-cache/dev-util/hip-6.1.2 new file mode 100644 index 0000000..075a1e5 --- /dev/null +++ b/metadata/md5-cache/dev-util/hip-6.1.2 @@ -0,0 +1,17 @@ +BDEPEND=video_cards_amdgpu? ( dev-util/hipcc:0/6.1[llvm_slot_20(-)?] ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.1 llvm_slot_20? ( llvm-core/clang:20 ) dev-libs/rocm-comgr:0/6.1 dev-libs/rocr-runtime:0/6.1 ) video_cards_nvidia? ( dev-libs/hipother:0/6.1 ) x11-base/xorg-proto virtual/opengl +DESCRIPTION=C++ Heterogeneous-Compute Interface for Portability +EAPI=8 +HOMEPAGE=https://github.com/ROCm/clr +INHERIT=cmake docs flag-o-matic llvm-r1 rocm +IUSE=debug +hip opencl test video_cards_amdgpu video_cards_nvidia doc +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.1 llvm_slot_20? ( llvm-core/clang:20 ) dev-libs/rocm-comgr:0/6.1 dev-libs/rocr-runtime:0/6.1 ) video_cards_nvidia? ( dev-libs/hipother:0/6.1 ) x11-base/xorg-proto virtual/opengl llvm-core/clang-runtime:= opencl? ( !dev-libs/opencl-icd-loader !dev-libs/rocm-opencl-runtime !dev-util/clinfo !dev-util/opencl-headers ) video_cards_amdgpu? ( dev-util/hipcc:0/6.1[llvm_slot_20(-)?] dev-libs/rocm-device-libs:0/6.1 dev-libs/roct-thunk-interface:0/6.1 ) +REQUIRED_USE=|| ( hip opencl ) ^^ ( video_cards_amdgpu video_cards_nvidia ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/clr/archive/refs/tags/rocm-6.1.2.tar.gz -> rocm-clr-6.1.2.tar.gz https://github.com/ROCm/HIP/archive/refs/tags/rocm-6.1.2.tar.gz -> hip-6.1.2.tar.gz test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-6.1.2.tar.gz -> hip-test-6.1.2.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=a4275233ffac051164055fd89fe84a67 diff --git a/metadata/md5-cache/dev-util/hip-6.3.2 b/metadata/md5-cache/dev-util/hip-6.3.2 new file mode 100644 index 0000000..97d7a7d --- /dev/null +++ b/metadata/md5-cache/dev-util/hip-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=video_cards_amdgpu? ( dev-util/hipcc:0/6.3[llvm_slot_20(-)?] ) test? ( media-libs/freeglut ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.3 dev-libs/rocm-comgr:0/6.3 dev-libs/rocr-runtime:0/6.3 ) video_cards_nvidia? ( dev-libs/hipother:0/6.3 ) x11-base/xorg-proto virtual/opengl +DESCRIPTION=C++ Heterogeneous-Compute Interface for Portability +EAPI=8 +HOMEPAGE=https://github.com/ROCm/clr +INHERIT=cmake docs flag-o-matic llvm-r1 rocm +IUSE=debug +hip opencl test video_cards_amdgpu video_cards_nvidia doc +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.3 dev-libs/rocm-comgr:0/6.3 dev-libs/rocr-runtime:0/6.3 ) video_cards_nvidia? ( dev-libs/hipother:0/6.3 ) x11-base/xorg-proto virtual/opengl opencl? ( !dev-libs/opencl-icd-loader !dev-libs/rocm-opencl-runtime !dev-util/clinfo !dev-util/opencl-headers ) video_cards_amdgpu? ( dev-util/hipcc:0/6.3[llvm_slot_20(-)?] dev-libs/rocm-device-libs:0/6.3 dev-libs/roct-thunk-interface:0/6.3 ) +REQUIRED_USE=|| ( hip opencl ) ^^ ( video_cards_amdgpu video_cards_nvidia ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/clr/archive/refs/tags/rocm-6.3.2.tar.gz -> rocm-clr-6.3.2.tar.gz https://github.com/ROCm/HIP/archive/refs/tags/rocm-6.3.2.tar.gz -> hip-6.3.2.tar.gz test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-6.3.2.tar.gz -> hip-test-6.3.2.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=f248c6688e0b618d0bac733f1ca0e7b7 diff --git a/metadata/md5-cache/dev-util/hip-6.3.3 b/metadata/md5-cache/dev-util/hip-6.3.3 new file mode 100644 index 0000000..5ace5eb --- /dev/null +++ b/metadata/md5-cache/dev-util/hip-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=video_cards_amdgpu? ( dev-util/hipcc:0/6.3[llvm_slot_20(-)?] ) test? ( media-libs/freeglut ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.3 dev-libs/rocm-comgr:0/6.3 dev-libs/rocr-runtime:0/6.3 ) video_cards_nvidia? ( dev-libs/hipother:0/6.3 ) x11-base/xorg-proto virtual/opengl +DESCRIPTION=C++ Heterogeneous-Compute Interface for Portability +EAPI=8 +HOMEPAGE=https://github.com/ROCm/clr +INHERIT=cmake docs flag-o-matic llvm-r1 rocm +IUSE=debug +hip opencl test video_cards_amdgpu video_cards_nvidia doc +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=video_cards_amdgpu? ( dev-util/rocminfo:0/6.3 dev-libs/rocm-comgr:0/6.3 dev-libs/rocr-runtime:0/6.3 ) video_cards_nvidia? ( dev-libs/hipother:0/6.3 ) x11-base/xorg-proto virtual/opengl opencl? ( !dev-libs/opencl-icd-loader !dev-libs/rocm-opencl-runtime !dev-util/clinfo !dev-util/opencl-headers ) video_cards_amdgpu? ( dev-util/hipcc:0/6.3[llvm_slot_20(-)?] dev-libs/rocm-device-libs:0/6.3 dev-libs/roct-thunk-interface:0/6.3 ) +REQUIRED_USE=|| ( hip opencl ) ^^ ( video_cards_amdgpu video_cards_nvidia ) ^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/clr/archive/refs/tags/rocm-6.3.3.tar.gz -> rocm-clr-6.3.3.tar.gz https://github.com/ROCm/HIP/archive/refs/tags/rocm-6.3.3.tar.gz -> hip-6.3.3.tar.gz test? ( https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-6.3.3.tar.gz -> hip-test-6.3.3.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=f248c6688e0b618d0bac733f1ca0e7b7 diff --git a/metadata/md5-cache/dev-util/hipcc-5.7.1-r3 b/metadata/md5-cache/dev-util/hipcc-5.7.1-r3 new file mode 100644 index 0000000..2527abc --- /dev/null +++ b/metadata/md5-cache/dev-util/hipcc-5.7.1-r3 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND= hipcc-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be +_md5_=0e1a45e64c4f2141c418d9d8c1eea360 diff --git a/metadata/md5-cache/dev-util/hipcc-6.1.1 b/metadata/md5-cache/dev-util/hipcc-6.1.1 new file mode 100644 index 0000000..0e16d8a --- /dev/null +++ b/metadata/md5-cache/dev-util/hipcc-6.1.1 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) +DESCRIPTION=Radeon Open Compute hipcc +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipcc +INHERIT=cmake perl-functions llvm-r1 +IUSE=debug test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=Apache-2.0 MIT +RDEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) ! llvm-project-rocm-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 perl-functions 1863acf0982afafc67797e3ce7275b4c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=00805900668aa7c94a24b1c2c8cfc245 diff --git a/metadata/md5-cache/dev-util/hipcc-6.1.2 b/metadata/md5-cache/dev-util/hipcc-6.1.2 new file mode 100644 index 0000000..ddb58d0 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipcc-6.1.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) +DESCRIPTION=Radeon Open Compute hipcc +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipcc +INHERIT=cmake perl-functions llvm-r1 +IUSE=debug test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=Apache-2.0 MIT +RDEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) ! llvm-project-rocm-6.1.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 perl-functions 1863acf0982afafc67797e3ce7275b4c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=00805900668aa7c94a24b1c2c8cfc245 diff --git a/metadata/md5-cache/dev-util/hipcc-6.3.2 b/metadata/md5-cache/dev-util/hipcc-6.3.2 new file mode 100644 index 0000000..92dd0ab --- /dev/null +++ b/metadata/md5-cache/dev-util/hipcc-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) +DESCRIPTION=Radeon Open Compute hipcc +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc +INHERIT=cmake perl-functions llvm-r1 +IUSE=debug test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=Apache-2.0 MIT +RDEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) ! llvm-project-rocm-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 perl-functions 1863acf0982afafc67797e3ce7275b4c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=b0c0ee55af91384a2ceeeb97e54b4895 diff --git a/metadata/md5-cache/dev-util/hipcc-6.3.3 b/metadata/md5-cache/dev-util/hipcc-6.3.3 new file mode 100644 index 0000000..7925e79 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipcc-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) +DESCRIPTION=Radeon Open Compute hipcc +EAPI=8 +HOMEPAGE=https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc +INHERIT=cmake perl-functions llvm-r1 +IUSE=debug test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=Apache-2.0 MIT +RDEPEND=llvm_slot_20? ( llvm-runtimes/compiler-rt:20= llvm-core/llvm:20= llvm-core/clang:20= ) ! llvm-project-rocm-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 perl-functions 1863acf0982afafc67797e3ce7275b4c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=b0c0ee55af91384a2ceeeb97e54b4895 diff --git a/metadata/md5-cache/dev-util/hipify-clang-5.7.1 b/metadata/md5-cache/dev-util/hipify-clang-5.7.1 new file mode 100644 index 0000000..32da1f9 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipify-clang-5.7.1 @@ -0,0 +1,13 @@ +BDEPEND=>=dev-build/cmake-3.22 app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare test +DEPEND=llvm-core/clang:17 llvm-core/llvm:17 +DESCRIPTION=A set of tools to translate CUDA source code into portable HIP C++ +EAPI=8 +HOMEPAGE=https://github.com/ROCm-Developer-Tools/HIPIFY +INHERIT=cmake +KEYWORDS=~amd64 +LICENSE=MIT +SLOT=0/5.7 +SRC_URI=https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-5.7.1.tar.gz -> HIPIFY-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=ec23fb25ac545427de0a35fdd5d9b36e diff --git a/metadata/md5-cache/dev-util/hipify-clang-6.1.1 b/metadata/md5-cache/dev-util/hipify-clang-6.1.1 new file mode 100644 index 0000000..0017e14 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipify-clang-6.1.1 @@ -0,0 +1,15 @@ +BDEPEND=>=dev-build/cmake-3.22 app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=A set of tools to translate CUDA source code into portable HIP C++ +EAPI=8 +HOMEPAGE=https://github.com/ROCm/HIPIFY +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=+llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/HIPIFY/archive/rocm-6.1.1.tar.gz -> HIPIFY-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=055648f71403b817d018adb03de32795 diff --git a/metadata/md5-cache/dev-util/hipify-clang-6.3.2 b/metadata/md5-cache/dev-util/hipify-clang-6.3.2 new file mode 100644 index 0000000..8bc0d11 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipify-clang-6.3.2 @@ -0,0 +1,15 @@ +BDEPEND=>=dev-build/cmake-3.22 app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=A set of tools to translate CUDA source code into portable HIP C++ +EAPI=8 +HOMEPAGE=https://github.com/ROCm/HIPIFY +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=+llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/HIPIFY/archive/rocm-6.3.2.tar.gz -> HIPIFY-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=bb3eea8a4d6653db74141dfc8d1e56f2 diff --git a/metadata/md5-cache/dev-util/hipify-clang-6.3.3 b/metadata/md5-cache/dev-util/hipify-clang-6.3.3 new file mode 100644 index 0000000..d1e5074 --- /dev/null +++ b/metadata/md5-cache/dev-util/hipify-clang-6.3.3 @@ -0,0 +1,15 @@ +BDEPEND=>=dev-build/cmake-3.22 app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) +DESCRIPTION=A set of tools to translate CUDA source code into portable HIP C++ +EAPI=8 +HOMEPAGE=https://github.com/ROCm/HIPIFY +INHERIT=cmake flag-o-matic llvm-r1 +IUSE=+llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/HIPIFY/archive/rocm-6.3.3.tar.gz -> HIPIFY-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=bb3eea8a4d6653db74141dfc8d1e56f2 diff --git a/metadata/md5-cache/dev-util/include-what-you-use-0.21 b/metadata/md5-cache/dev-util/include-what-you-use-0.21 new file mode 100644 index 0000000..46745aa --- /dev/null +++ b/metadata/md5-cache/dev-util/include-what-you-use-0.21 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm-core/clang:17 llvm-core/llvm:17 python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) !!llvm-core/llvm:0 +DESCRIPTION=Find unused include directives in C/C++ programs +EAPI=8 +HOMEPAGE=https://include-what-you-use.org/ +INHERIT=cmake llvm python-single-r1 +IUSE=python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 +KEYWORDS=amd64 ~arm64 ~x86 +LICENSE=GPL-2 +RDEPEND=llvm-core/clang:17 llvm-core/llvm:17 python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 ) +SLOT=0 +SRC_URI=https://github.com/include-what-you-use/include-what-you-use/archive/0.21.tar.gz -> include-what-you-use-0.21.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=196218a79d1feb31abc15d0e535528b4 diff --git a/metadata/md5-cache/dev-util/include-what-you-use-0.22 b/metadata/md5-cache/dev-util/include-what-you-use-0.22 new file mode 100644 index 0000000..4a24c5e --- /dev/null +++ b/metadata/md5-cache/dev-util/include-what-you-use-0.22 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm-core/clang:18 llvm-core/llvm:18 python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) !!llvm-core/llvm:0 +DESCRIPTION=Find unused include directives in C/C++ programs +EAPI=8 +HOMEPAGE=https://include-what-you-use.org/ +INHERIT=cmake llvm python-single-r1 +IUSE=python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=amd64 ~arm64 ~x86 +LICENSE=GPL-2 +RDEPEND=llvm-core/clang:18 llvm-core/llvm:18 python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) +SLOT=0 +SRC_URI=https://github.com/include-what-you-use/include-what-you-use/archive/0.22.tar.gz -> include-what-you-use-0.22.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=2657b88ee9637dd17810add4e65923ce diff --git a/metadata/md5-cache/dev-util/include-what-you-use-0.23-r1 b/metadata/md5-cache/dev-util/include-what-you-use-0.23-r1 new file mode 100644 index 0000000..8e9dffe --- /dev/null +++ b/metadata/md5-cache/dev-util/include-what-you-use-0.23-r1 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) +DESCRIPTION=Find unused include directives in C/C++ programs +EAPI=8 +HOMEPAGE=https://include-what-you-use.org/ +INHERIT=cmake llvm-r1 python-single-r1 +IUSE=+llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=amd64 ~arm64 ~x86 +LICENSE=GPL-2 +RDEPEND=llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/include-what-you-use/include-what-you-use/archive/0.23.tar.gz -> include-what-you-use-0.23.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=be43f7991695635fcb63c6c3c1832bcb diff --git a/metadata/md5-cache/dev-util/intel-graphics-compiler-1.0.17791.18 b/metadata/md5-cache/dev-util/intel-graphics-compiler-1.0.17791.18 new file mode 100644 index 0000000..c50ffa4 --- /dev/null +++ b/metadata/md5-cache/dev-util/intel-graphics-compiler-1.0.17791.18 @@ -0,0 +1,16 @@ +BDEPEND=|| ( ( dev-lang/python:3.13 dev-python/mako[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/mako[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/mako[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/mako[python_targets_python3_10(-)] ) ) || ( ( dev-lang/python:3.13 dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/pyyaml[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/lld:20 ) || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/opencl-clang:15[llvm_slot_20(-)?] dev-util/spirv-tools llvm_slot_20? ( llvm-core/lld:20 llvm-core/llvm:20 ) vc? ( >=dev-libs/intel-vc-intrinsics-0.21.0[llvm_slot_20(-)?] dev-util/spirv-llvm-translator:15= ) +DESCRIPTION=LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware +EAPI=8 +HOMEPAGE=https://github.com/intel/intel-graphics-compiler +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 +IUSE=debug vc +llvm_slot_20 +KEYWORDS=amd64 +LICENSE=MIT +RDEPEND=dev-libs/opencl-clang:15[llvm_slot_20(-)?] dev-util/spirv-tools llvm_slot_20? ( llvm-core/lld:20 llvm-core/llvm:20 ) vc? ( >=dev-libs/intel-vc-intrinsics-0.21.0[llvm_slot_20(-)?] dev-util/spirv-llvm-translator:15= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/1.0.1 +SRC_URI=https://github.com/intel/intel-graphics-compiler/archive/refs/tags/igc-1.0.17791.18.tar.gz -> intel-graphics-compiler-1.0.17791.18.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=a7a8fffb374c957db567fcf92c2667f9 diff --git a/metadata/md5-cache/dev-util/intel-graphics-compiler-2.7.8 b/metadata/md5-cache/dev-util/intel-graphics-compiler-2.7.8 new file mode 100644 index 0000000..d4a8c8c --- /dev/null +++ b/metadata/md5-cache/dev-util/intel-graphics-compiler-2.7.8 @@ -0,0 +1,16 @@ +BDEPEND=|| ( ( dev-lang/python:3.13 dev-python/mako[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/mako[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/mako[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/mako[python_targets_python3_10(-)] ) ) || ( ( dev-lang/python:3.13 dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/pyyaml[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/lld:20 ) || ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/opencl-clang:15[llvm_slot_20(-)?] dev-util/spirv-tools llvm_slot_20? ( llvm-core/lld:20 llvm-core/llvm:20 ) vc? ( >=dev-libs/intel-vc-intrinsics-0.22.0[llvm_slot_20(-)?] dev-util/spirv-llvm-translator:15= ) +DESCRIPTION=LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware +EAPI=8 +HOMEPAGE=https://github.com/intel/intel-graphics-compiler +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 +IUSE=debug vc +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/opencl-clang:15[llvm_slot_20(-)?] dev-util/spirv-tools llvm_slot_20? ( llvm-core/lld:20 llvm-core/llvm:20 ) vc? ( >=dev-libs/intel-vc-intrinsics-0.22.0[llvm_slot_20(-)?] dev-util/spirv-llvm-translator:15= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0/2.5.0 +SRC_URI=https://github.com/intel/intel-graphics-compiler/archive/refs/tags/v2.7.8.tar.gz -> intel-graphics-compiler-2.7.8.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=ac607ff477466a60cc8a3287b5002805 diff --git a/metadata/md5-cache/dev-util/intel_clc-24.3.4 b/metadata/md5-cache/dev-util/intel_clc-24.3.4 new file mode 100644 index 0000000..1a3bc31 --- /dev/null +++ b/metadata/md5-cache/dev-util/intel_clc-24.3.4 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install setup test +DEPEND=dev-util/spirv-tools >=sys-libs/zlib-1.2.8:= x11-libs/libdrm llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) dev-libs/expat +DESCRIPTION=intel_clc tool used for building OpenCL C to SPIR-V +EAPI=8 +HOMEPAGE=https://mesa3d.org/ +INHERIT=llvm-r1 meson python-any-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=amd64 x86 +LICENSE=MIT SGI-B-2.0 +RDEPEND=dev-util/spirv-tools >=sys-libs/zlib-1.2.8:= x11-libs/libdrm llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://archive.mesa3d.org/mesa-24.3.4.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=bf13e84d5dc7b3611d596f5f38372d69 diff --git a/metadata/md5-cache/dev-util/intel_clc-9999 b/metadata/md5-cache/dev-util/intel_clc-9999 new file mode 100644 index 0000000..80621a4 --- /dev/null +++ b/metadata/md5-cache/dev-util/intel_clc-9999 @@ -0,0 +1,15 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=dev-util/spirv-tools >=sys-libs/zlib-1.2.8:= x11-libs/libdrm llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) dev-libs/expat +DESCRIPTION=intel_clc tool used for building OpenCL C to SPIR-V +EAPI=8 +HOMEPAGE=https://mesa3d.org/ +INHERIT=llvm-r1 meson python-any-r1 git-r3 +IUSE=debug +llvm_slot_20 +LICENSE=MIT SGI-B-2.0 +PROPERTIES=live +RDEPEND=dev-util/spirv-tools >=sys-libs/zlib-1.2.8:= x11-libs/libdrm llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=f4eb9bd609c68605bb0b4f5e6a287f50 diff --git a/metadata/md5-cache/dev-util/kdevelop-24.08.3 b/metadata/md5-cache/dev-util/kdevelop-24.08.3 new file mode 100644 index 0000000..53d6db7 --- /dev/null +++ b/metadata/md5-cache/dev-util/kdevelop-24.08.3 @@ -0,0 +1,18 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 handbook? ( >=kde-frameworks/kdoctools-6.5.0:6 ) dev-libs/libpcre2:* >=kde-frameworks/extra-cmake-modules-6.5.0:* +DEFINED_PHASES=compile configure info install nofetch postinst postrm preinst prepare setup test unpack +DEPEND=>=dev-qt/qt5compat-6.7.2:6 >=dev-qt/qtbase-6.7.2:6[dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.7.2:6[widgets] >=dev-qt/qttools-6.7.2:6[assistant] >=dev-qt/qtwebengine-6.7.2:6[widgets] >=dev-util/astyle-3.1:= kde-apps/libkomparediff2:6 >=kde-frameworks/karchive-6.5.0:6 >=kde-frameworks/kbookmarks-6.5.0:6 >=kde-frameworks/kcmutils-6.5.0:6 >=kde-frameworks/kcodecs-6.5.0:6 >=kde-frameworks/kcompletion-6.5.0:6 >=kde-frameworks/kconfig-6.5.0:6 >=kde-frameworks/kconfigwidgets-6.5.0:6 >=kde-frameworks/kcoreaddons-6.5.0:6 >=kde-frameworks/kcrash-6.5.0:6 >=kde-frameworks/kguiaddons-6.5.0:6 >=kde-frameworks/ki18n-6.5.0:6 >=kde-frameworks/kiconthemes-6.5.0:6 >=kde-frameworks/kio-6.5.0:6 >=kde-frameworks/kitemmodels-6.5.0:6 >=kde-frameworks/kitemviews-6.5.0:6 >=kde-frameworks/kjobwidgets-6.5.0:6 >=kde-frameworks/knewstuff-6.5.0:6 >=kde-frameworks/knotifications-6.5.0:6 >=kde-frameworks/knotifyconfig-6.5.0:6 >=kde-frameworks/kparts-6.5.0:6 >=kde-frameworks/kservice-6.5.0:6 >=kde-frameworks/ktexteditor-6.5.0:6 >=kde-frameworks/ktexttemplate-6.5.0:6 >=kde-frameworks/ktextwidgets-6.5.0:6 >=kde-frameworks/kwidgetsaddons-6.5.0:6 >=kde-frameworks/kwindowsystem-6.5.0:6 >=kde-frameworks/kxmlgui-6.5.0:6 >=kde-frameworks/sonnet-6.5.0:6 >=kde-frameworks/threadweaver-6.5.0:6 llvm_slot_20? ( llvm-core/clang:20 ) gdbui? ( kde-plasma/libksysguard:6= ) plasma? ( >=kde-frameworks/krunner-6.5.0:6 kde-plasma/libplasma:6 ) qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) share? ( >=kde-frameworks/purpose-6.5.0:6 ) subversion? ( dev-libs/apr:1 dev-libs/apr-util:1 dev-vcs/subversion ) dev-libs/boost >=dev-qt/qtbase-6.7.2:6[concurrent] dev-qt/qtbase:6 +DESCRIPTION=Integrated Development Environment, supporting KF6/Qt, C/C++ and much more +EAPI=8 +HOMEPAGE=https://kdevelop.org/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=ecm gear.kde.org llvm-r1 optfeature +IUSE=gdbui plasma +qmake +share subversion debug +handbook test +llvm_slot_20 +KEYWORDS=amd64 arm64 +LICENSE=GPL-2 LGPL-2 +RDEPEND=>=dev-qt/qt5compat-6.7.2:6 >=dev-qt/qtbase-6.7.2:6[dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.7.2:6[widgets] >=dev-qt/qttools-6.7.2:6[assistant] >=dev-qt/qtwebengine-6.7.2:6[widgets] >=dev-util/astyle-3.1:= kde-apps/libkomparediff2:6 >=kde-frameworks/karchive-6.5.0:6 >=kde-frameworks/kbookmarks-6.5.0:6 >=kde-frameworks/kcmutils-6.5.0:6 >=kde-frameworks/kcodecs-6.5.0:6 >=kde-frameworks/kcompletion-6.5.0:6 >=kde-frameworks/kconfig-6.5.0:6 >=kde-frameworks/kconfigwidgets-6.5.0:6 >=kde-frameworks/kcoreaddons-6.5.0:6 >=kde-frameworks/kcrash-6.5.0:6 >=kde-frameworks/kguiaddons-6.5.0:6 >=kde-frameworks/ki18n-6.5.0:6 >=kde-frameworks/kiconthemes-6.5.0:6 >=kde-frameworks/kio-6.5.0:6 >=kde-frameworks/kitemmodels-6.5.0:6 >=kde-frameworks/kitemviews-6.5.0:6 >=kde-frameworks/kjobwidgets-6.5.0:6 >=kde-frameworks/knewstuff-6.5.0:6 >=kde-frameworks/knotifications-6.5.0:6 >=kde-frameworks/knotifyconfig-6.5.0:6 >=kde-frameworks/kparts-6.5.0:6 >=kde-frameworks/kservice-6.5.0:6 >=kde-frameworks/ktexteditor-6.5.0:6 >=kde-frameworks/ktexttemplate-6.5.0:6 >=kde-frameworks/ktextwidgets-6.5.0:6 >=kde-frameworks/kwidgetsaddons-6.5.0:6 >=kde-frameworks/kwindowsystem-6.5.0:6 >=kde-frameworks/kxmlgui-6.5.0:6 >=kde-frameworks/sonnet-6.5.0:6 >=kde-frameworks/threadweaver-6.5.0:6 llvm_slot_20? ( llvm-core/clang:20 ) gdbui? ( kde-plasma/libksysguard:6= ) plasma? ( >=kde-frameworks/krunner-6.5.0:6 kde-plasma/libplasma:6 ) qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) share? ( >=kde-frameworks/purpose-6.5.0:6 ) subversion? ( dev-libs/apr:1 dev-libs/apr-util:1 dev-vcs/subversion ) dev-build/ninja >=dev-debug/gdb-7.0[python] >=dev-qt/qttools-6.7.2:6[qdbus] kde-apps/kapptemplate:* kde-apps/kio-extras:6 || ( kde-frameworks/breeze-icons:* kde-frameworks/oxygen-icons:* ) >=kde-frameworks/kf-env-6 dev-qt/qtbase:6 !dev-util/kdevelop:5 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test !test? ( test ) +SLOT=6/24.08 +SRC_URI=mirror://kde/stable/release-service/24.08.3/src/kdevelop-24.08.3.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 ecm 8e875f5f12d01e5057997e9fc4d05f45 kde.org 2eea56ed41440913be4caa3d255d2db3 gear.kde.org 55514126a8fb6ef1a8177b37308e3a12 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda optfeature 538bce96e5589935b57e178e8635f301 +_md5_=dcceda92fdf754bc38eda5670bafb939 diff --git a/metadata/md5-cache/dev-util/kdevelop-24.12.2-r1 b/metadata/md5-cache/dev-util/kdevelop-24.12.2-r1 new file mode 100644 index 0000000..3fd013a --- /dev/null +++ b/metadata/md5-cache/dev-util/kdevelop-24.12.2-r1 @@ -0,0 +1,18 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 handbook? ( >=kde-frameworks/kdoctools-6.7.0:6 ) dev-libs/libpcre2:* >=kde-frameworks/extra-cmake-modules-6.7.0:* +DEFINED_PHASES=compile configure info install nofetch postinst postrm preinst prepare setup test unpack +DEPEND=>=dev-qt/qt5compat-6.7.2:6 >=dev-qt/qtbase-6.7.2:6[dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.7.2:6[widgets] >=dev-qt/qttools-6.7.2:6[assistant] >=dev-qt/qtwebengine-6.7.2:6[widgets] >=dev-util/astyle-3.1:= kde-apps/libkomparediff2:6 >=kde-frameworks/karchive-6.7.0:6 >=kde-frameworks/kbookmarks-6.7.0:6 >=kde-frameworks/kcmutils-6.7.0:6 >=kde-frameworks/kcodecs-6.7.0:6 >=kde-frameworks/kcompletion-6.7.0:6 >=kde-frameworks/kconfig-6.7.0:6 >=kde-frameworks/kconfigwidgets-6.7.0:6 >=kde-frameworks/kcoreaddons-6.7.0:6 >=kde-frameworks/kcrash-6.7.0:6 >=kde-frameworks/kguiaddons-6.7.0:6 >=kde-frameworks/ki18n-6.7.0:6 >=kde-frameworks/kiconthemes-6.7.0:6 >=kde-frameworks/kio-6.7.0:6 >=kde-frameworks/kitemmodels-6.7.0:6 >=kde-frameworks/kitemviews-6.7.0:6 >=kde-frameworks/kjobwidgets-6.7.0:6 >=kde-frameworks/knewstuff-6.7.0:6 >=kde-frameworks/knotifications-6.7.0:6 >=kde-frameworks/knotifyconfig-6.7.0:6 >=kde-frameworks/kparts-6.7.0:6 >=kde-frameworks/kservice-6.7.0:6 >=kde-frameworks/ktexteditor-6.7.0:6 >=kde-frameworks/ktexttemplate-6.7.0:6 >=kde-frameworks/ktextwidgets-6.7.0:6 >=kde-frameworks/kwidgetsaddons-6.7.0:6 >=kde-frameworks/kwindowsystem-6.7.0:6 >=kde-frameworks/kxmlgui-6.7.0:6 >=kde-frameworks/sonnet-6.7.0:6 >=kde-frameworks/threadweaver-6.7.0:6 llvm_slot_20? ( llvm-core/clang:20 ) gdbui? ( kde-plasma/libksysguard:6= ) plasma? ( >=kde-frameworks/krunner-6.7.0:6 kde-plasma/libplasma:6 ) qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) share? ( >=kde-frameworks/purpose-6.7.0:6 ) subversion? ( dev-libs/apr:1 dev-libs/apr-util:1 dev-vcs/subversion ) dev-libs/boost >=dev-qt/qtbase-6.7.2:6[concurrent] dev-qt/qtbase:6 +DESCRIPTION=Integrated Development Environment, supporting KF6/Qt, C/C++ and much more +EAPI=8 +HOMEPAGE=https://kdevelop.org/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=ecm gear.kde.org llvm-r2 optfeature +IUSE=gdbui plasma +qmake +share subversion debug +handbook test +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 +LICENSE=GPL-2 LGPL-2 +RDEPEND=>=dev-qt/qt5compat-6.7.2:6 >=dev-qt/qtbase-6.7.2:6[dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-6.7.2:6[widgets] >=dev-qt/qttools-6.7.2:6[assistant] >=dev-qt/qtwebengine-6.7.2:6[widgets] >=dev-util/astyle-3.1:= kde-apps/libkomparediff2:6 >=kde-frameworks/karchive-6.7.0:6 >=kde-frameworks/kbookmarks-6.7.0:6 >=kde-frameworks/kcmutils-6.7.0:6 >=kde-frameworks/kcodecs-6.7.0:6 >=kde-frameworks/kcompletion-6.7.0:6 >=kde-frameworks/kconfig-6.7.0:6 >=kde-frameworks/kconfigwidgets-6.7.0:6 >=kde-frameworks/kcoreaddons-6.7.0:6 >=kde-frameworks/kcrash-6.7.0:6 >=kde-frameworks/kguiaddons-6.7.0:6 >=kde-frameworks/ki18n-6.7.0:6 >=kde-frameworks/kiconthemes-6.7.0:6 >=kde-frameworks/kio-6.7.0:6 >=kde-frameworks/kitemmodels-6.7.0:6 >=kde-frameworks/kitemviews-6.7.0:6 >=kde-frameworks/kjobwidgets-6.7.0:6 >=kde-frameworks/knewstuff-6.7.0:6 >=kde-frameworks/knotifications-6.7.0:6 >=kde-frameworks/knotifyconfig-6.7.0:6 >=kde-frameworks/kparts-6.7.0:6 >=kde-frameworks/kservice-6.7.0:6 >=kde-frameworks/ktexteditor-6.7.0:6 >=kde-frameworks/ktexttemplate-6.7.0:6 >=kde-frameworks/ktextwidgets-6.7.0:6 >=kde-frameworks/kwidgetsaddons-6.7.0:6 >=kde-frameworks/kwindowsystem-6.7.0:6 >=kde-frameworks/kxmlgui-6.7.0:6 >=kde-frameworks/sonnet-6.7.0:6 >=kde-frameworks/threadweaver-6.7.0:6 llvm_slot_20? ( llvm-core/clang:20 ) gdbui? ( kde-plasma/libksysguard:6= ) plasma? ( >=kde-frameworks/krunner-6.7.0:6 kde-plasma/libplasma:6 ) qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) share? ( >=kde-frameworks/purpose-6.7.0:6 ) subversion? ( dev-libs/apr:1 dev-libs/apr-util:1 dev-vcs/subversion ) app-alternatives/ninja >=dev-debug/gdb-7.0[python] >=dev-qt/qttools-6.7.2:6[qdbus] kde-apps/kapptemplate:* kde-apps/kio-extras:6 || ( kde-frameworks/breeze-icons:* kde-frameworks/oxygen-icons:* ) >=kde-frameworks/kf-env-6 dev-qt/qtbase:6 !dev-util/kdevelop:5 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test !test? ( test ) +SLOT=6/24.12 +SRC_URI=mirror://kde/stable/release-service/24.12.2/src/kdevelop-24.12.2.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 ecm 8e875f5f12d01e5057997e9fc4d05f45 kde.org 2eea56ed41440913be4caa3d255d2db3 gear.kde.org 55514126a8fb6ef1a8177b37308e3a12 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=19b15a5eb9d96c67cc35884779e6f588 diff --git a/metadata/md5-cache/dev-util/mesa_clc-25.0.0 b/metadata/md5-cache/dev-util/mesa_clc-25.0.0 new file mode 100644 index 0000000..950b363 --- /dev/null +++ b/metadata/md5-cache/dev-util/mesa_clc-25.0.0 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install setup test +DEPEND=dev-util/spirv-tools llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) dev-libs/expat >=sys-libs/zlib-1.2.8:= x11-libs/libdrm +DESCRIPTION=mesa_clc tool used for building OpenCL C to SPIR-V +EAPI=8 +HOMEPAGE=https://mesa3d.org/ +INHERIT=llvm-r1 meson python-any-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 ~x86 +LICENSE=MIT +RDEPEND=dev-util/spirv-tools llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://archive.mesa3d.org/mesa-25.0.0.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 +_md5_=d5215a717b496a6af1d628050a85f886 diff --git a/metadata/md5-cache/dev-util/mesa_clc-9999 b/metadata/md5-cache/dev-util/mesa_clc-9999 new file mode 100644 index 0000000..7d5f0c4 --- /dev/null +++ b/metadata/md5-cache/dev-util/mesa_clc-9999 @@ -0,0 +1,15 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=dev-util/spirv-tools llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) dev-libs/expat >=sys-libs/zlib-1.2.8:= x11-libs/libdrm +DESCRIPTION=mesa_clc tool used for building OpenCL C to SPIR-V +EAPI=8 +HOMEPAGE=https://mesa3d.org/ +INHERIT=llvm-r1 meson python-any-r1 git-r3 +IUSE=debug +llvm_slot_20 +LICENSE=MIT +PROPERTIES=live +RDEPEND=dev-util/spirv-tools llvm_slot_20? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20= =llvm-core/libclc-20* llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 python-any-r1 891415dfe39ad9b41b461f2b86354af0 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=b53b6337088b91269d0f548e87ab4995 diff --git a/metadata/md5-cache/dev-util/perf-6.11.7-r1 b/metadata/md5-cache/dev-util/perf-6.11.7-r1 new file mode 100644 index 0000000..b753892 --- /dev/null +++ b/metadata/md5-cache/dev-util/perf-6.11.7-r1 @@ -0,0 +1,16 @@ +BDEPEND=dev-util/patchutils python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=app-arch/tar-1.34-r2 dev-python/setuptools[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] app-alternatives/yacc app-alternatives/lex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) +DEFINED_PHASES=compile install prepare pretend setup test unpack +DEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt >=sys-kernel/linux-headers-5.10 java? ( virtual/jdk ) +DESCRIPTION=Userland tools for Linux Performance Counters +EAPI=8 +HOMEPAGE=https://perf.wiki.kernel.org/ +INHERIT=bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 +IUSE=abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd +llvm_slot_20 python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +KEYWORDS=~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux +LICENSE=GPL-2 +RDEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt +REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.11.7.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.11.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 estack c61c368a76fdf3a82fdf8dbaebea3804 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=e3eaa0d048a2285f553e14bdb0098ebb diff --git a/metadata/md5-cache/dev-util/perf-6.12-r1 b/metadata/md5-cache/dev-util/perf-6.12-r1 new file mode 100644 index 0000000..cf5bf09 --- /dev/null +++ b/metadata/md5-cache/dev-util/perf-6.12-r1 @@ -0,0 +1,16 @@ +BDEPEND=python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=app-arch/tar-1.34-r2 dev-python/setuptools[python_targets_python3_13t(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] app-alternatives/yacc app-alternatives/lex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) +DEFINED_PHASES=compile install prepare pretend setup test unpack +DEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt >=sys-kernel/linux-headers-5.10 java? ( virtual/jdk ) +DESCRIPTION=Userland tools for Linux Performance Counters +EAPI=8 +HOMEPAGE=https://perf.wiki.kernel.org/ +INHERIT=bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 +IUSE=abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd +llvm_slot_20 python_targets_python3_13t python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-2 +RDEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt +REQUIRED_USE=|| ( python_targets_python3_13t python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 estack c61c368a76fdf3a82fdf8dbaebea3804 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=75d5a8f92c272c80995e340176e2a9d7 diff --git a/metadata/md5-cache/dev-util/perf-6.13.5 b/metadata/md5-cache/dev-util/perf-6.13.5 new file mode 100644 index 0000000..c7bdd78 --- /dev/null +++ b/metadata/md5-cache/dev-util/perf-6.13.5 @@ -0,0 +1,16 @@ +BDEPEND=dev-util/patchutils python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) >=app-arch/tar-1.34-r2 dev-python/setuptools[python_targets_python3_13t(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] app-alternatives/yacc app-alternatives/lex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) +DEFINED_PHASES=compile install prepare pretend setup test unpack +DEPEND=babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt >=sys-kernel/linux-headers-5.10 java? ( virtual/jdk ) +DESCRIPTION=Userland tools for Linux Performance Counters +EAPI=8 +HOMEPAGE=https://perf.wiki.kernel.org/ +INHERIT=bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 +IUSE=abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind zstd +llvm_slot_20 python_targets_python3_13t python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-2 +RDEPEND=babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) ) caps? ( sys-libs/libcap ) capstone? ( dev-libs/capstone ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_13t? ( dev-lang/python:3.13t ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib virtual/libcrypt +REQUIRED_USE=|| ( python_targets_python3_13t python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.13.5.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.13.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 estack c61c368a76fdf3a82fdf8dbaebea3804 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=b7c9b8ac26043a27a74fa43a77970497 diff --git a/metadata/md5-cache/dev-util/perf-6.7 b/metadata/md5-cache/dev-util/perf-6.7 new file mode 100644 index 0000000..a855b17 --- /dev/null +++ b/metadata/md5-cache/dev-util/perf-6.7 @@ -0,0 +1,16 @@ +BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) >=app-arch/tar-1.34-r2 dev-python/setuptools[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] app-alternatives/yacc app-alternatives/lex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) +DEFINED_PHASES=compile install prepare pretend setup test unpack +DEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole ) caps? ( sys-libs/libcap ) bpf? ( llvm-core/clang:= llvm-core/llvm:= ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib >=sys-kernel/linux-headers-5.10 java? ( virtual/jdk ) !!llvm-core/llvm:0 +DESCRIPTION=Userland tools for Linux Performance Counters +EAPI=8 +HOMEPAGE=https://perf.wiki.kernel.org/ +INHERIT=bash-completion-r1 estack flag-o-matic linux-info llvm toolchain-funcs python-r1 +IUSE=abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 +KEYWORDS=~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux +LICENSE=GPL-2 +RDEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace:0/1 ) bpf? ( dev-libs/libbpf dev-util/bpftool dev-util/pahole ) caps? ( sys-libs/libcap ) bpf? ( llvm-core/clang:= llvm-core/llvm:= ) crypt? ( dev-libs/openssl:= ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm:= ) libtraceevent? ( dev-libs/libtraceevent ) libtracefs? ( dev-libs/libtracefs ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) ) slang? ( sys-libs/slang ) systemtap? ( dev-debug/systemtap ) tcmalloc? ( dev-util/google-perftools ) unwind? ( sys-libs/libunwind:= ) zstd? ( app-arch/zstd:= ) dev-libs/elfutils sys-libs/binutils-libs:= sys-libs/zlib +REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 estack c61c368a76fdf3a82fdf8dbaebea3804 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-r1 fa2daad0051275fa416115c76e53b1de +_md5_=5b1181438124b553f991fb0dad76e192 diff --git a/metadata/md5-cache/dev-util/pkgcruft-0.0.10 b/metadata/md5-cache/dev-util/pkgcruft-0.0.10 new file mode 100644 index 0000000..17f1727 --- /dev/null +++ b/metadata/md5-cache/dev-util/pkgcruft-0.0.10 @@ -0,0 +1,15 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-util/cargo-nextest ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 ) +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=QA library and tools based on pkgcraft +EAPI=8 +HOMEPAGE=https://pkgcraft.github.io/ +INHERIT=cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs +IUSE=test debug +llvm_slot_20 +KEYWORDS=amd64 +LICENSE=MIT Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/pkgcraft/pkgcraft/releases/download/pkgcruft-0.0.10/pkgcruft-0.0.10.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 +_md5_=c021bd54a3de578fd96bb726a7cb064d diff --git a/metadata/md5-cache/dev-util/pkgcruft-9999 b/metadata/md5-cache/dev-util/pkgcruft-9999 new file mode 100644 index 0000000..a89fd0f --- /dev/null +++ b/metadata/md5-cache/dev-util/pkgcruft-9999 @@ -0,0 +1,14 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-util/cargo-nextest ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 ) >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=QA library and tools based on pkgcraft +EAPI=8 +HOMEPAGE=https://pkgcraft.github.io/ +INHERIT=cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs git-r3 +IUSE=test debug +llvm_slot_20 +LICENSE=MIT Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +PROPERTIES=live +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=18f918049c3fb290fb2b5666bdca540d diff --git a/metadata/md5-cache/dev-util/radare2-5.8.6 b/metadata/md5-cache/dev-util/radare2-5.8.6 index dc5cfac..55b6464 100644 --- a/metadata/md5-cache/dev-util/radare2-5.8.6 +++ b/metadata/md5-cache/dev-util/radare2-5.8.6 @@ -12,5 +12,5 @@ RDEPEND=dev-libs/libzip:= dev-libs/xxhash sys-apps/file sys-libs/zlib ssl? ( dev RESTRICT=!test? ( test ) SLOT=0 SRC_URI=mirror+https://github.com/radareorg/radare2/archive/4ee3727c0540988ae73359beebe02b6871eb05c0.tar.gz -> radare2-5.8.6.tar.gz mirror+https://github.com/radareorg/vector35-arch-arm64/archive/c9e7242972837ac11fc94db05fabcb801a8269c9.tar.gz -> radare2-5.8.6-vector35-arm64.tar.gz mirror+https://github.com/radareorg/vector35-arch-armv7/archive/f270a6cc99644cb8e76055b6fa632b25abd26024.tar.gz -> radare2-5.8.6-vector35-armv7.tar.gz mirror+https://codeload.github.com/capstone-engine/capstone/tar.gz/4.0.2 -> radare2-5.8.6-capstone-4.0.2.tar.gz test? ( https://github.com/radareorg/radare2-testbins/archive/1f0ea409f2af83fc4d0b685855de9d3b0f9eee41.tar.gz -> radare2-testbins-1f0ea409f2af83fc4d0b685855de9d3b0f9eee41.tar.gz ) -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 _md5_=272865009380daa97f6796328fa5ef3b diff --git a/metadata/md5-cache/dev-util/roctracer-5.7.1-r1 b/metadata/md5-cache/dev-util/roctracer-5.7.1-r1 new file mode 100644 index 0000000..bff9d2c --- /dev/null +++ b/metadata/md5-cache/dev-util/roctracer-5.7.1-r1 @@ -0,0 +1,16 @@ +BDEPEND=|| ( ( dev-lang/python:3.12 dev-python/cppheaderparser[python_targets_python3_12(-)] dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/cppheaderparser[python_targets_python3_11(-)] dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/cppheaderparser[python_targets_python3_10(-)] dev-python/ply[python_targets_python3_10(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/rocr-runtime dev-util/hip !!llvm-core/llvm:0 +DESCRIPTION=Callback/Activity Library for Performance tracing AMD GPU's +EAPI=8 +HOMEPAGE=https://github.com/ROCm-Developer-Tools/roctracer +INHERIT=cmake prefix python-any-r1 rocm llvm +IUSE=test +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/rocr-runtime dev-util/hip +RESTRICT=!test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-5.7.1.tar.gz -> roctracer-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rocm 826765f795a41b937d1bfe8e709346cd llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be +_md5_=5afcf862ed4b753953f1d4351c7c993f diff --git a/metadata/md5-cache/dev-util/roctracer-6.1.1-r1 b/metadata/md5-cache/dev-util/roctracer-6.1.1-r1 new file mode 100644 index 0000000..2943226 --- /dev/null +++ b/metadata/md5-cache/dev-util/roctracer-6.1.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( ( dev-lang/python:3.13 dev-python/cppheaderparser[python_targets_python3_13(-)] dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/cppheaderparser[python_targets_python3_12(-)] dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/cppheaderparser[python_targets_python3_11(-)] dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/cppheaderparser[python_targets_python3_10(-)] dev-python/ply[python_targets_python3_10(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.1 dev-libs/rocr-runtime +DESCRIPTION=Callback/Activity Library for Performance tracing AMD GPU's +EAPI=8 +HOMEPAGE=https://github.com/ROCm/roctracer +INHERIT=cmake flag-o-matic llvm-r1 prefix python-any-r1 rocm toolchain-funcs +IUSE=test +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.1 dev-libs/rocr-runtime +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/roctracer/archive/rocm-6.1.1.tar.gz -> roctracer-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=63a91ecb838282a517d2e4eb998466e9 diff --git a/metadata/md5-cache/dev-util/roctracer-6.3.2 b/metadata/md5-cache/dev-util/roctracer-6.3.2 new file mode 100644 index 0000000..89616d6 --- /dev/null +++ b/metadata/md5-cache/dev-util/roctracer-6.3.2 @@ -0,0 +1,16 @@ +BDEPEND=|| ( ( dev-lang/python:3.13 dev-python/cppheaderparser[python_targets_python3_13(-)] dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/cppheaderparser[python_targets_python3_12(-)] dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/cppheaderparser[python_targets_python3_11(-)] dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/cppheaderparser[python_targets_python3_10(-)] dev-python/ply[python_targets_python3_10(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.3 dev-libs/rocr-runtime +DESCRIPTION=Callback/Activity Library for Performance tracing AMD GPU's +EAPI=8 +HOMEPAGE=https://github.com/ROCm/roctracer +INHERIT=cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs +IUSE=test +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 dev-libs/rocr-runtime +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/roctracer/archive/rocm-6.3.2.tar.gz -> roctracer-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=bf1aced7ccee521518d611b81103f008 diff --git a/metadata/md5-cache/dev-util/roctracer-6.3.3 b/metadata/md5-cache/dev-util/roctracer-6.3.3 new file mode 100644 index 0000000..3d9e9eb --- /dev/null +++ b/metadata/md5-cache/dev-util/roctracer-6.3.3 @@ -0,0 +1,16 @@ +BDEPEND=|| ( ( dev-lang/python:3.13 dev-python/cppheaderparser[python_targets_python3_13(-)] dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/cppheaderparser[python_targets_python3_12(-)] dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/cppheaderparser[python_targets_python3_11(-)] dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/cppheaderparser[python_targets_python3_10(-)] dev-python/ply[python_targets_python3_10(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.3 dev-libs/rocr-runtime +DESCRIPTION=Callback/Activity Library for Performance tracing AMD GPU's +EAPI=8 +HOMEPAGE=https://github.com/ROCm/roctracer +INHERIT=cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs +IUSE=test +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 dev-libs/rocr-runtime +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/roctracer/archive/rocm-6.3.3.tar.gz -> roctracer-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 prefix c3c4c93ebda319c0fa7ed6f942ba1010 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rocm 826765f795a41b937d1bfe8e709346cd +_md5_=bf1aced7ccee521518d611b81103f008 diff --git a/metadata/md5-cache/games-board/jja-0.9.1-r2 b/metadata/md5-cache/games-board/jja-0.9.1-r2 new file mode 100644 index 0000000..434df86 --- /dev/null +++ b/metadata/md5-cache/games-board/jja-0.9.1-r2 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install setup test unpack +DEPEND=llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) sys-libs/liburing +DESCRIPTION=swiss army knife for chess file formats +EAPI=8 +HOMEPAGE=https://git.sr.ht/~alip/jja +INHERIT=cargo llvm-r1 +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=GPL-3+ Apache-2.0 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 +RDEPEND=llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 ) sys-libs/liburing +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://git.sr.ht/~alip/jja/archive/v0.9.1.tar.gz -> jja-0.9.1.tar.gz https://crates.io/api/v1/crates/addr2line/0.21.0/download -> addr2line-0.21.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/advapi32-sys/0.2.0/download -> advapi32-sys-0.2.0.crate https://crates.io/api/v1/crates/ahash/0.8.11/download -> ahash-0.8.11.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/anstream/0.6.14/download -> anstream-0.6.14.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.4/download -> anstyle-parse-0.2.4.crate https://crates.io/api/v1/crates/anstyle-query/1.0.3/download -> anstyle-query-1.0.3.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.3/download -> anstyle-wincon-3.0.3.crate https://crates.io/api/v1/crates/anstyle/1.0.7/download -> anstyle-1.0.7.crate https://crates.io/api/v1/crates/anyhow/1.0.83/download -> anyhow-1.0.83.crate https://crates.io/api/v1/crates/arrayvec/0.7.4/download -> arrayvec-0.7.4.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/backtrace/0.3.71/download -> backtrace-0.3.71.crate https://crates.io/api/v1/crates/benchmarking/0.4.13/download -> benchmarking-0.4.13.crate https://crates.io/api/v1/crates/bindgen/0.65.1/download -> bindgen-0.65.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.5.0/download -> bitflags-2.5.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.4/download -> block-buffer-0.10.4.crate https://crates.io/api/v1/crates/block/0.1.6/download -> block-0.1.6.crate https://crates.io/api/v1/crates/btoi/0.4.3/download -> btoi-0.4.3.crate https://crates.io/api/v1/crates/built/0.7.2/download -> built-0.7.2.crate https://crates.io/api/v1/crates/bytefmt/0.1.7/download -> bytefmt-0.1.7.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/bzip2-sys/0.1.11+1.0.8/download -> bzip2-sys-0.1.11+1.0.8.crate https://crates.io/api/v1/crates/bzip2/0.4.4/download -> bzip2-0.4.4.crate https://crates.io/api/v1/crates/cc/1.0.97/download -> cc-1.0.97.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cfg_aliases/0.1.1/download -> cfg_aliases-0.1.1.crate https://crates.io/api/v1/crates/circular/0.3.0/download -> circular-0.3.0.crate https://crates.io/api/v1/crates/clang-sys/1.7.0/download -> clang-sys-1.7.0.crate https://crates.io/api/v1/crates/clap/4.5.4/download -> clap-4.5.4.crate https://crates.io/api/v1/crates/clap_builder/4.5.2/download -> clap_builder-4.5.2.crate https://crates.io/api/v1/crates/clap_lex/0.7.0/download -> clap_lex-0.7.0.crate https://crates.io/api/v1/crates/colorchoice/1.0.1/download -> colorchoice-1.0.1.crate https://crates.io/api/v1/crates/console/0.15.8/download -> console-0.15.8.crate https://crates.io/api/v1/crates/cpufeatures/0.2.12/download -> cpufeatures-0.2.12.crate https://crates.io/api/v1/crates/crc32fast/1.4.0/download -> crc32fast-1.4.0.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.12/download -> crossbeam-channel-0.5.12.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.5/download -> crossbeam-deque-0.8.5.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.18/download -> crossbeam-epoch-0.9.18.crate https://crates.io/api/v1/crates/crossbeam-queue/0.3.11/download -> crossbeam-queue-0.3.11.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.19/download -> crossbeam-utils-0.8.19.crate https://crates.io/api/v1/crates/crossbeam/0.8.4/download -> crossbeam-0.8.4.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/ctrlc/3.4.4/download -> ctrlc-3.4.4.crate https://crates.io/api/v1/crates/dialoguer/0.11.0/download -> dialoguer-0.11.0.crate https://crates.io/api/v1/crates/digest/0.10.7/download -> digest-0.10.7.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/displaydoc/0.2.4/download -> displaydoc-0.2.4.crate https://crates.io/api/v1/crates/either/1.11.0/download -> either-1.11.0.crate https://crates.io/api/v1/crates/encode_unicode/0.3.6/download -> encode_unicode-0.3.6.crate https://crates.io/api/v1/crates/encode_unicode/1.0.0/download -> encode_unicode-1.0.0.crate https://crates.io/api/v1/crates/encoding-index-japanese/1.20141219.5/download -> encoding-index-japanese-1.20141219.5.crate https://crates.io/api/v1/crates/encoding-index-korean/1.20141219.5/download -> encoding-index-korean-1.20141219.5.crate https://crates.io/api/v1/crates/encoding-index-simpchinese/1.20141219.5/download -> encoding-index-simpchinese-1.20141219.5.crate https://crates.io/api/v1/crates/encoding-index-singlebyte/1.20141219.5/download -> encoding-index-singlebyte-1.20141219.5.crate https://crates.io/api/v1/crates/encoding-index-tradchinese/1.20141219.5/download -> encoding-index-tradchinese-1.20141219.5.crate https://crates.io/api/v1/crates/encoding/0.2.33/download -> encoding-0.2.33.crate https://crates.io/api/v1/crates/encoding_index_tests/0.1.4/download -> encoding_index_tests-0.1.4.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/fallible-iterator/0.3.0/download -> fallible-iterator-0.3.0.crate https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download -> fallible-streaming-iterator-0.1.9.crate https://crates.io/api/v1/crates/fastrand/2.1.0/download -> fastrand-2.1.0.crate https://crates.io/api/v1/crates/find-crate/0.6.3/download -> find-crate-0.6.3.crate https://crates.io/api/v1/crates/flate2/1.0.30/download -> flate2-1.0.30.crate https://crates.io/api/v1/crates/fluent-langneg/0.13.0/download -> fluent-langneg-0.13.0.crate https://crates.io/api/v1/crates/form_urlencoded/1.2.1/download -> form_urlencoded-1.2.1.crate https://crates.io/api/v1/crates/generic-array/0.14.7/download -> generic-array-0.14.7.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/gettext/0.4.0/download -> gettext-0.4.0.crate https://crates.io/api/v1/crates/gimli/0.28.1/download -> gimli-0.28.1.crate https://crates.io/api/v1/crates/git2/0.18.3/download -> git2-0.18.3.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/hashbrown/0.14.5/download -> hashbrown-0.14.5.crate https://crates.io/api/v1/crates/hashlink/0.9.1/download -> hashlink-0.9.1.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/hostname/0.4.0/download -> hostname-0.4.0.crate https://crates.io/api/v1/crates/human-panic/1.2.3/download -> human-panic-1.2.3.crate https://crates.io/api/v1/crates/i18n-config/0.4.6/download -> i18n-config-0.4.6.crate https://crates.io/api/v1/crates/i18n-embed-impl/0.8.3/download -> i18n-embed-impl-0.8.3.crate https://crates.io/api/v1/crates/i18n-embed/0.14.1/download -> i18n-embed-0.14.1.crate https://crates.io/api/v1/crates/idna/0.5.0/download -> idna-0.5.0.crate https://crates.io/api/v1/crates/indexmap/2.2.6/download -> indexmap-2.2.6.crate https://crates.io/api/v1/crates/indicatif/0.17.8/download -> indicatif-0.17.8.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/intl-memoizer/0.5.2/download -> intl-memoizer-0.5.2.crate https://crates.io/api/v1/crates/is-terminal/0.4.12/download -> is-terminal-0.4.12.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.0/download -> is_terminal_polyfill-1.70.0.crate https://crates.io/api/v1/crates/itertools/0.10.5/download -> itertools-0.10.5.crate https://crates.io/api/v1/crates/itertools/0.12.1/download -> itertools-0.12.1.crate https://crates.io/api/v1/crates/itoa/1.0.11/download -> itoa-1.0.11.crate https://crates.io/api/v1/crates/jobserver/0.1.31/download -> jobserver-0.1.31.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.154/download -> libc-0.2.154.crate https://crates.io/api/v1/crates/libgit2-sys/0.16.2+1.7.2/download -> libgit2-sys-0.16.2+1.7.2.crate https://crates.io/api/v1/crates/libloading/0.8.3/download -> libloading-0.8.3.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/librocksdb-sys/0.11.0+8.1.1/download -> librocksdb-sys-0.11.0+8.1.1.crate https://crates.io/api/v1/crates/libsqlite3-sys/0.28.0/download -> libsqlite3-sys-0.28.0.crate https://crates.io/api/v1/crates/libz-sys/1.1.16/download -> libz-sys-1.1.16.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.13/download -> linux-raw-sys-0.4.13.crate https://crates.io/api/v1/crates/locale_config/0.3.0/download -> locale_config-0.3.0.crate https://crates.io/api/v1/crates/lock_api/0.4.12/download -> lock_api-0.4.12.crate https://crates.io/api/v1/crates/log/0.4.21/download -> log-0.4.21.crate https://crates.io/api/v1/crates/lz4-sys/1.9.4/download -> lz4-sys-1.9.4.crate https://crates.io/api/v1/crates/lz4/1.24.0/download -> lz4-1.24.0.crate https://crates.io/api/v1/crates/lzma-sys/0.1.20/download -> lzma-sys-0.1.20.crate https://crates.io/api/v1/crates/malloc_buf/0.0.6/download -> malloc_buf-0.0.6.crate https://crates.io/api/v1/crates/memchr/2.7.2/download -> memchr-2.7.2.crate https://crates.io/api/v1/crates/memmap/0.7.0/download -> memmap-0.7.0.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.2/download -> miniz_oxide-0.7.2.crate https://crates.io/api/v1/crates/nix/0.28.0/download -> nix-0.28.0.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/objc-foundation/0.1.1/download -> objc-foundation-0.1.1.crate https://crates.io/api/v1/crates/objc/0.2.7/download -> objc-0.2.7.crate https://crates.io/api/v1/crates/objc_id/0.1.1/download -> objc_id-0.1.1.crate https://crates.io/api/v1/crates/object/0.32.2/download -> object-0.32.2.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/os_info/3.8.2/download -> os_info-3.8.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.2/download -> parking_lot-0.12.2.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.10/download -> parking_lot_core-0.9.10.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/percent-encoding/2.3.1/download -> percent-encoding-2.3.1.crate https://crates.io/api/v1/crates/pgcopy/0.0.2/download -> pgcopy-0.0.2.crate https://crates.io/api/v1/crates/pgn-reader/0.25.0/download -> pgn-reader-0.25.0.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/portable-atomic/1.6.0/download -> portable-atomic-1.6.0.crate https://crates.io/api/v1/crates/positioned-io/0.3.3/download -> positioned-io-0.3.3.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download -> ppv-lite86-0.2.17.crate https://crates.io/api/v1/crates/prettyplease/0.2.20/download -> prettyplease-0.2.20.crate https://crates.io/api/v1/crates/prettytable-rs/0.10.0/download -> prettytable-rs-0.10.0.crate https://crates.io/api/v1/crates/proc-macro2/1.0.82/download -> proc-macro2-1.0.82.crate https://crates.io/api/v1/crates/quick-csv/0.1.6/download -> quick-csv-0.1.6.crate https://crates.io/api/v1/crates/quote/1.0.36/download -> quote-1.0.36.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rand_xorshift/0.3.0/download -> rand_xorshift-0.3.0.crate https://crates.io/api/v1/crates/rayon-core/1.12.1/download -> rayon-core-1.12.1.crate https://crates.io/api/v1/crates/rayon/1.10.0/download -> rayon-1.10.0.crate https://crates.io/api/v1/crates/redox_syscall/0.5.1/download -> redox_syscall-0.5.1.crate https://crates.io/api/v1/crates/redox_users/0.4.5/download -> redox_users-0.4.5.crate https://crates.io/api/v1/crates/regex-automata/0.4.6/download -> regex-automata-0.4.6.crate https://crates.io/api/v1/crates/regex-syntax/0.8.3/download -> regex-syntax-0.8.3.crate https://crates.io/api/v1/crates/regex/1.10.4/download -> regex-1.10.4.crate https://crates.io/api/v1/crates/rocksdb/0.21.0/download -> rocksdb-0.21.0.crate https://crates.io/api/v1/crates/rusqlite/0.31.0/download -> rusqlite-0.31.0.crate https://crates.io/api/v1/crates/rust-embed-impl/8.4.0/download -> rust-embed-impl-8.4.0.crate https://crates.io/api/v1/crates/rust-embed-utils/8.4.0/download -> rust-embed-utils-8.4.0.crate https://crates.io/api/v1/crates/rust-embed/8.4.0/download -> rust-embed-8.4.0.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download -> rustc-demangle-0.1.24.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc-serialize/0.3.25/download -> rustc-serialize-0.3.25.crate https://crates.io/api/v1/crates/rustix/0.38.34/download -> rustix-0.38.34.crate https://crates.io/api/v1/crates/rustversion/1.0.17/download -> rustversion-1.0.17.crate https://crates.io/api/v1/crates/ryu/1.0.18/download -> ryu-1.0.18.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/serde/1.0.202/download -> serde-1.0.202.crate https://crates.io/api/v1/crates/serde_derive/1.0.202/download -> serde_derive-1.0.202.crate https://crates.io/api/v1/crates/serde_json/1.0.117/download -> serde_json-1.0.117.crate https://crates.io/api/v1/crates/serde_spanned/0.6.5/download -> serde_spanned-0.6.5.crate https://crates.io/api/v1/crates/sha2/0.10.8/download -> sha2-0.10.8.crate https://crates.io/api/v1/crates/shakmaty-syzygy/0.24.0/download -> shakmaty-syzygy-0.24.0.crate https://crates.io/api/v1/crates/shakmaty/0.26.0/download -> shakmaty-0.26.0.crate https://crates.io/api/v1/crates/shell-escape/0.1.5/download -> shell-escape-0.1.5.crate https://crates.io/api/v1/crates/shell-words/1.1.0/download -> shell-words-1.1.0.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/smallvec/1.13.2/download -> smallvec-1.13.2.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/syn/2.0.63/download -> syn-2.0.63.crate https://crates.io/api/v1/crates/tempfile/3.10.1/download -> tempfile-3.10.1.crate https://crates.io/api/v1/crates/term/0.7.0/download -> term-0.7.0.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/test_bin/0.4.0/download -> test_bin-0.4.0.crate https://crates.io/api/v1/crates/textwrap/0.16.1/download -> textwrap-0.16.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.60/download -> thiserror-impl-1.0.60.crate https://crates.io/api/v1/crates/thiserror/1.0.60/download -> thiserror-1.0.60.crate https://crates.io/api/v1/crates/tikv-jemalloc-sys/0.5.4+5.3.0-patched/download -> tikv-jemalloc-sys-0.5.4+5.3.0-patched.crate https://crates.io/api/v1/crates/tinystr/0.7.5/download -> tinystr-0.7.5.crate https://crates.io/api/v1/crates/tinyvec/1.6.0/download -> tinyvec-1.6.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download -> tinyvec_macros-0.1.1.crate https://crates.io/api/v1/crates/toml/0.5.11/download -> toml-0.5.11.crate https://crates.io/api/v1/crates/toml/0.8.12/download -> toml-0.8.12.crate https://crates.io/api/v1/crates/toml_datetime/0.6.5/download -> toml_datetime-0.6.5.crate https://crates.io/api/v1/crates/toml_edit/0.22.12/download -> toml_edit-0.22.12.crate https://crates.io/api/v1/crates/tr/0.1.7/download -> tr-0.1.7.crate https://crates.io/api/v1/crates/type-map/0.5.0/download -> type-map-0.5.0.crate https://crates.io/api/v1/crates/typenum/1.17.0/download -> typenum-1.17.0.crate https://crates.io/api/v1/crates/unic-langid-impl/0.9.5/download -> unic-langid-impl-0.9.5.crate https://crates.io/api/v1/crates/unic-langid/0.9.5/download -> unic-langid-0.9.5.crate https://crates.io/api/v1/crates/unicase/2.7.0/download -> unicase-2.7.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.15/download -> unicode-bidi-0.3.15.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.23/download -> unicode-normalization-0.1.23.crate https://crates.io/api/v1/crates/unicode-width/0.1.12/download -> unicode-width-0.1.12.crate https://crates.io/api/v1/crates/url/2.5.0/download -> url-2.5.0.crate https://crates.io/api/v1/crates/username/0.2.0/download -> username-0.2.0.crate https://crates.io/api/v1/crates/utf8parse/0.2.1/download -> utf8parse-0.2.1.crate https://crates.io/api/v1/crates/uuid/1.8.0/download -> uuid-1.8.0.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi-build/0.1.1/download -> winapi-build-0.1.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.8/download -> winapi-util-0.1.8.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.2.8/download -> winapi-0.2.8.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.5/download -> windows-targets-0.52.5.crate https://crates.io/api/v1/crates/windows/0.52.0/download -> windows-0.52.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.5/download -> windows_aarch64_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.5/download -> windows_aarch64_msvc-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.5/download -> windows_i686_gnu-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.5/download -> windows_i686_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.5/download -> windows_i686_msvc-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.5/download -> windows_x86_64_gnu-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.5/download -> windows_x86_64_gnullvm-0.52.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.5/download -> windows_x86_64_msvc-0.52.5.crate https://crates.io/api/v1/crates/winnow/0.6.8/download -> winnow-0.6.8.crate https://crates.io/api/v1/crates/xz2/0.1.7/download -> xz2-0.1.7.crate https://crates.io/api/v1/crates/zerocopy-derive/0.7.34/download -> zerocopy-derive-0.7.34.crate https://crates.io/api/v1/crates/zerocopy/0.7.34/download -> zerocopy-0.7.34.crate https://crates.io/api/v1/crates/zstd-safe/7.1.0/download -> zstd-safe-7.1.0.crate https://crates.io/api/v1/crates/zstd-sys/2.0.10+zstd.1.5.6/download -> zstd-sys-2.0.10+zstd.1.5.6.crate https://crates.io/api/v1/crates/zstd/0.13.1/download -> zstd-0.13.1.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=4225b5172e80f02d5b289acee985fc3c diff --git a/metadata/md5-cache/games-emulation/dolphin-2407-r1 b/metadata/md5-cache/games-emulation/dolphin-2407-r1 new file mode 100644 index 0000000..71e1bc6 --- /dev/null +++ b/metadata/md5-cache/games-emulation/dolphin-2407-r1 @@ -0,0 +1,17 @@ +BDEPEND=sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm prepare setup test +DEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi =dev-libs/libfmt-10.1 dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl2 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) egl? ( media-libs/libglvnd ) test? ( dev-cpp/gtest ) +DESCRIPTION=Gamecube and Wii game emulator +EAPI=8 +HOMEPAGE=https://dolphin-emu.org/ +INHERIT=cmake llvm-r1 pax-utils xdg-utils +IUSE=alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba profile pulseaudio sdl systemd telemetry test upnp vulkan +llvm_slot_20 +KEYWORDS=amd64 ~arm64 +LICENSE=GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB MIT ZLIB ZLIB MIT MIT MIT MIT BSD-2 BSD MPL-2.0 GPL-2+ FatFs || ( Apache-2.0 MIT ) MIT LGPL-2.1+ LGPL-2.1+ MIT ZLIB +RDEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi =dev-libs/libfmt-10.1 dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl2 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) vulkan? ( media-libs/vulkan-loader ) +REQUIRED_USE=mgba? ( gui ) llvm? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/dolphin-emu/dolphin/archive/2407.tar.gz -> dolphin-2407.tar.gz https://github.com/epezent/implot/archive/cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz -> implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz https://github.com/syoyo/tinygltf/archive/c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz -> tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz -> Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/009ecd192c1289c7529bff248a16cfe896254816.tar.gz -> VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz https://github.com/zlib-ng/zlib-ng/archive/ce01b1e41da298334f8214389cc9369540a7560f.tar.gz -> zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz https://github.com/zlib-ng/minizip-ng/archive/3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz -> minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz mgba? ( https://github.com/mgba-emu/mgba/archive/8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz -> mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda pax-utils 5555f2e75744739fe100ee62c22d28fe +_md5_=c4dd8498f317393ccf43010c86a640a7 diff --git a/metadata/md5-cache/games-emulation/dolphin-2412-r1 b/metadata/md5-cache/games-emulation/dolphin-2412-r1 new file mode 100644 index 0000000..e36a70e --- /dev/null +++ b/metadata/md5-cache/games-emulation/dolphin-2412-r1 @@ -0,0 +1,17 @@ +BDEPEND=sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm prepare setup test +DEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi >=dev-libs/libfmt-10.1:= dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( >=media-libs/libsdl2-2.30.9 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) egl? ( media-libs/libglvnd ) test? ( dev-cpp/gtest ) +DESCRIPTION=Gamecube and Wii game emulator +EAPI=8 +HOMEPAGE=https://dolphin-emu.org/ +INHERIT=cmake llvm-r1 pax-utils xdg-utils +IUSE=alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba profile pulseaudio sdl systemd telemetry test upnp vulkan +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 +LICENSE=GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB MIT ZLIB ZLIB MIT MIT MIT MIT BSD-2 BSD MPL-2.0 GPL-2+ FatFs || ( Apache-2.0 MIT ) MIT LGPL-2.1+ LGPL-2.1+ MIT ZLIB +RDEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi >=dev-libs/libfmt-10.1:= dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( >=media-libs/libsdl2-2.30.9 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) vulkan? ( media-libs/vulkan-loader ) +REQUIRED_USE=mgba? ( gui ) llvm? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/dolphin-emu/dolphin/archive/2412.tar.gz -> dolphin-2412.tar.gz https://github.com/epezent/implot/archive/cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz -> implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz https://github.com/syoyo/tinygltf/archive/c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz -> tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz -> Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/009ecd192c1289c7529bff248a16cfe896254816.tar.gz -> VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz https://github.com/zlib-ng/zlib-ng/archive/ce01b1e41da298334f8214389cc9369540a7560f.tar.gz -> zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz https://github.com/zlib-ng/minizip-ng/archive/3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz -> minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz mgba? ( https://github.com/mgba-emu/mgba/archive/8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz -> mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda pax-utils 5555f2e75744739fe100ee62c22d28fe +_md5_=7959d62bf9315984af565353501c7875 diff --git a/metadata/md5-cache/games-emulation/dolphin-9999 b/metadata/md5-cache/games-emulation/dolphin-9999 new file mode 100644 index 0000000..2f7335c --- /dev/null +++ b/metadata/md5-cache/games-emulation/dolphin-9999 @@ -0,0 +1,16 @@ +BDEPEND=sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack +DEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi >=dev-libs/libfmt-10.1:= dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl2 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) egl? ( media-libs/libglvnd ) test? ( dev-cpp/gtest ) +DESCRIPTION=Gamecube and Wii game emulator +EAPI=8 +HOMEPAGE=https://dolphin-emu.org/ +INHERIT=cmake llvm-r1 pax-utils xdg-utils git-r3 +IUSE=alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba profile pulseaudio sdl systemd telemetry test upnp vulkan +llvm_slot_20 +LICENSE=GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB MIT ZLIB ZLIB MIT MIT MIT MIT BSD-2 BSD MPL-2.0 GPL-2+ FatFs || ( Apache-2.0 MIT ) MIT LGPL-2.1+ LGPL-2.1+ MIT ZLIB +PROPERTIES=live +RDEPEND=app-arch/bzip2:= >=app-arch/lz4-1.8:= app-arch/xz-utils >=app-arch/zstd-1.4.0:= dev-libs/hidapi >=dev-libs/libfmt-10.1:= dev-libs/lzo:2 dev-libs/pugixml dev-libs/xxhash media-libs/cubeb media-libs/libsfml:= media-libs/libspng >=net-libs/enet-1.3.18:1.3= net-libs/mbedtls:0= net-misc/curl x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr virtual/libusb:1 virtual/opengl alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez:= ) evdev? ( dev-libs/libevdev virtual/udev ) ffmpeg? ( media-video/ffmpeg:= ) gui? ( dev-qt/qtbase:6[gui,widgets] dev-qt/qtsvg:6 ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) profile? ( dev-util/oprofile ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl2 ) systemd? ( sys-apps/systemd:0= ) upnp? ( net-libs/miniupnpc:= ) vulkan? ( media-libs/vulkan-loader ) +REQUIRED_USE=mgba? ( gui ) llvm? ( ^^ ( llvm_slot_20 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda pax-utils 5555f2e75744739fe100ee62c22d28fe git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=0d8856ef1b31ff510958d7696902f201 diff --git a/metadata/md5-cache/games-util/EDMarketConnector-5.4.1 b/metadata/md5-cache/games-util/EDMarketConnector-5.4.1 index 0ea738c..1cc7b6a 100644 --- a/metadata/md5-cache/games-util/EDMarketConnector-5.4.1 +++ b/metadata/md5-cache/games-util/EDMarketConnector-5.4.1 @@ -7,9 +7,9 @@ INHERIT=desktop python-single-r1 IUSE=+python_single_target_python3_11 KEYWORDS=amd64 x86 LICENSE=GPL-2 -RDEPEND=python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) dev-python/certifi dev-python/requests dev-python/watchdog dev-python/semantic_version dev-lang/python[tk] +RDEPEND=python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-python/certifi dev-python/requests dev-python/watchdog dev-python/semantic_version dev-lang/python[tk] REQUIRED_USE=^^ ( python_single_target_python3_11 ) SLOT=0 SRC_URI=https://github.com/EDCD/EDMarketConnector/archive/refs/tags/Release/5.4.1.tar.gz -> EDMarketConnector-5.4.1.tar.gz -_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=bbd7b0c6036ce45c71dabbdf02f79f08 diff --git a/metadata/md5-cache/games-util/r2modman-3.1.45 b/metadata/md5-cache/games-util/r2modman-3.1.45 index 0d3ca71..facf71a 100644 --- a/metadata/md5-cache/games-util/r2modman-3.1.45 +++ b/metadata/md5-cache/games-util/r2modman-3.1.45 @@ -8,4 +8,4 @@ LICENSE=MIT RDEPEND=net-libs/nodejs:0/20 SLOT=0 SRC_URI=https://github.com/ebkr/r2modmanPlus/archive/refs/tags/v3.1.45.tar.gz -> r2modman-3.1.45.tar.gz -_md5_=f388a4cab0ccd362d3419a42e3bec4ab +_md5_=70b8a1b746462f152818d796d7957d32 diff --git a/metadata/md5-cache/games-util/r2modman-bin-3.1.45 b/metadata/md5-cache/games-util/r2modman-bin-3.1.45 new file mode 100644 index 0000000..f016bdf --- /dev/null +++ b/metadata/md5-cache/games-util/r2modman-bin-3.1.45 @@ -0,0 +1,11 @@ +DEFINED_PHASES=compile +DEPEND=net-libs/nodejs:0/20 sys-apps/yarn +DESCRIPTION=A simple and easy to use mod manager for several games using Thunderstore +EAPI=8 +HOMEPAGE=https://github.com/ebkr/r2modmanPlus +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=net-libs/nodejs:0/20 +SLOT=0 +SRC_URI=https://github.com/ebkr/r2modmanPlus/archive/refs/tags/v3.1.45.tar.gz -> r2modman-bin-3.1.45.tar.gz +_md5_=70b8a1b746462f152818d796d7957d32 diff --git a/metadata/md5-cache/games-util/sc-controller-0.4.8.9 b/metadata/md5-cache/games-util/sc-controller-0.4.8.9 index 27301a7..86121f8 100644 --- a/metadata/md5-cache/games-util/sc-controller-0.4.8.9 +++ b/metadata/md5-cache/games-util/sc-controller-0.4.8.9 @@ -1,4 +1,4 @@ -BDEPEND=test? ( python_single_target_python3_11? ( dev-python/pygobject[python_targets_python3_11(-),cairo] dev-python/pylibacl[python_targets_python3_11(-)] dev-python/python-evdev[python_targets_python3_11(-)] dev-python/vdf[python_targets_python3_11(-)] ) gnome-base/librsvg[introspection] virtual/libusb x11-libs/gtk+:3[introspection] udev? ( games-util/game-device-udev-rules ) wayland? ( gui-libs/gtk-layer-shell[introspection(+)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.2.1[python_targets_python3_11(-)] ) ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_11? ( >=dev-python/gpep517-13[python_targets_python3_11(-)] >=dev-python/setuptools-67.2.0[python_targets_python3_11(-)] >=dev-python/wheel-0.38.4[python_targets_python3_11(-)] ) +BDEPEND=test? ( python_single_target_python3_11? ( dev-python/pygobject[python_targets_python3_11(-),cairo] dev-python/pylibacl[python_targets_python3_11(-)] dev-python/python-evdev[python_targets_python3_11(-)] dev-python/vdf[python_targets_python3_11(-)] ) gnome-base/librsvg[introspection] virtual/libusb x11-libs/gtk+:3[introspection] udev? ( games-util/game-device-udev-rules ) wayland? ( gui-libs/gtk-layer-shell[introspection(+)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.4.4[python_targets_python3_11(-)] ) ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_11? ( >=dev-python/gpep517-15[python_targets_python3_11(-)] >=dev-python/setuptools-69.0.3[python_targets_python3_11(-)] ) DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test DESCRIPTION=User-mode driver and GTK-based GUI for Steam Controllers and others EAPI=8 @@ -8,10 +8,10 @@ INHERIT=distutils-r1 linux-info xdg IUSE=+udev wayland test +python_single_target_python3_11 KEYWORDS=~amd64 ~x86 LICENSE=GPL-2 BSD CC-BY-3.0 CC0-1.0 LGPL-2.1 MIT PSF-2 ZLIB -RDEPEND=python_single_target_python3_11? ( dev-python/pygobject[python_targets_python3_11(-),cairo] dev-python/pylibacl[python_targets_python3_11(-)] dev-python/python-evdev[python_targets_python3_11(-)] dev-python/vdf[python_targets_python3_11(-)] ) gnome-base/librsvg[introspection] virtual/libusb x11-libs/gtk+:3[introspection] udev? ( games-util/game-device-udev-rules ) wayland? ( gui-libs/gtk-layer-shell[introspection(+)] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) +RDEPEND=python_single_target_python3_11? ( dev-python/pygobject[python_targets_python3_11(-),cairo] dev-python/pylibacl[python_targets_python3_11(-)] dev-python/python-evdev[python_targets_python3_11(-)] dev-python/vdf[python_targets_python3_11(-)] ) gnome-base/librsvg[introspection] virtual/libusb x11-libs/gtk+:3[introspection] udev? ( games-util/game-device-udev-rules ) wayland? ( gui-libs/gtk-layer-shell[introspection(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11 ) REQUIRED_USE=^^ ( python_single_target_python3_11 ) RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://github.com/Ryochan7/sc-controller/archive/v0.4.8.9.tar.gz -> sc-controller-0.4.8.9.tar.gz -_eclasses_=out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib 104e1332efb829e2f7cbf89307a474f1 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 distutils-r1 87ebb7e1e8d4ac49be0a91406b443060 linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 xdg-utils baea6080dd821f5562d715887954c9d3 xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 distutils-r1 85ccd3b54a6533fb120ee52b7c76a3df linux-info ea4122ba1d8791a12b78e53f9510a2e3 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=0e22d3cfa923a382c60501f115462ae9 diff --git a/metadata/md5-cache/games-util/steamtinkerlaunch-11.0 b/metadata/md5-cache/games-util/steamtinkerlaunch-11.0 index 0912b6b..272bfd7 100644 --- a/metadata/md5-cache/games-util/steamtinkerlaunch-11.0 +++ b/metadata/md5-cache/games-util/steamtinkerlaunch-11.0 @@ -9,5 +9,5 @@ LICENSE=GPL-3 RDEPEND=app-arch/unzip || ( app-editors/vim-core dev-util/xxd ) x11-apps/xprop x11-apps/xrandr x11-apps/xwininfo x11-misc/xdotool >=gnome-extra/yad-7.2 SLOT=0 SRC_URI=https://github.com/frostworx/steamtinkerlaunch/archive/refs/tags/v11.0.tar.gz -> steamtinkerlaunch-11.0.tar.gz -_eclasses_=optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 xdg-utils baea6080dd821f5562d715887954c9d3 xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=optfeature 538bce96e5589935b57e178e8635f301 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=c7c615e16b04241203be4f75d3fc3d50 diff --git a/metadata/md5-cache/gnome-base/gconf-3.2.6-r6 b/metadata/md5-cache/gnome-base/gconf-3.2.6-r6 index 1bfa920..72d31ba 100644 --- a/metadata/md5-cache/gnome-base/gconf-3.2.6-r6 +++ b/metadata/md5-cache/gnome-base/gconf-3.2.6-r6 @@ -1,6 +1,6 @@ -BDEPEND=>=app-portage/elt-patches-20170815 app-arch/xz-utils +BDEPEND=>=app-portage/elt-patches-20240116 app-arch/xz-utils DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10[xml(+)] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11[xml(+)] ) >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100.2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.6.18-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) policykit? ( sys-auth/polkit:= ) dev-libs/libxslt dev-util/glib-utils dev-util/gtk-doc-am >=dev-util/intltool-0.35 virtual/pkgconfig +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10[xml(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+)] ) >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100.2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.6.18-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) policykit? ( sys-auth/polkit:= ) dev-libs/libxslt dev-util/glib-utils dev-util/gtk-doc-am >=dev-util/intltool-0.35 virtual/pkgconfig DESCRIPTION=GNOME configuration system and daemon EAPI=8 HOMEPAGE=https://projects.gnome.org/gconf/ @@ -9,9 +9,9 @@ INHERIT=gnome2 multilib-minimal python-single-r1 IUSE=debug +introspection ldap policykit abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~x86-linux LICENSE=LGPL-2+ -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10[xml(+)] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11[xml(+)] ) >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100.2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.6.18-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) policykit? ( sys-auth/polkit:= ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10[xml(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+)] ) >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100.2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.6.18-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) policykit? ( sys-auth/polkit:= ) REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) SLOT=2 SRC_URI=mirror://gnome/sources/GConf/3.2/GConf-3.2.6.tar.xz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 libtool 9d3a9a889a6fa62ae794f817c156491b gnome.org 6b39404f1491c60a2d32e3c693a683fe xdg-utils baea6080dd821f5562d715887954c9d3 gnome2-utils b0183db3b2e07b18f3b77bffec72e116 xdg 4a14c5c24f121e7da66e5aab4a168c6e gnome2 9bd787a54d31405e742ae7537eed650b out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 multilib-build e8aed98bd43dbd25694310a660ad562c multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 gnome.org e1b4f392dbfedfb8974b71b017937f08 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 xdg 3ef49a87c52c8b77c476351195dfe575 gnome2 26fd01914b36038dc8e964ff4bd03a95 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=929dfa4789313400387c11109ad1d7ad diff --git a/metadata/md5-cache/gui-apps/hyprpaper-9999 b/metadata/md5-cache/gui-apps/hyprpaper-9999 index 638219b..81638ca 100644 --- a/metadata/md5-cache/gui-apps/hyprpaper-9999 +++ b/metadata/md5-cache/gui-apps/hyprpaper-9999 @@ -8,5 +8,5 @@ INHERIT=cmake git-r3 LICENSE=BSD PROPERTIES=live SLOT=0 -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=4d1717d655e109e22453c0ff8670eb70 diff --git a/metadata/md5-cache/gui-apps/satty-0.8.3 b/metadata/md5-cache/gui-apps/satty-0.8.3 index 2000d49..c9d64b9 100644 --- a/metadata/md5-cache/gui-apps/satty-0.8.3 +++ b/metadata/md5-cache/gui-apps/satty-0.8.3 @@ -1,4 +1,4 @@ -BDEPEND=|| ( dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) DEFINED_PHASES=compile configure install postinst postrm preinst setup test unpack DESCRIPTION=A screenshot annotation tool inspired by Swappy and Flameshot. EAPI=8 @@ -11,5 +11,5 @@ LICENSE=MPL-2.0 RDEPEND=virtual/rust x11-libs/pango dev-libs/glib:2 x11-libs/cairo gui-libs/libadwaita gui-libs/gtk:4 x11-libs/gdk-pixbuf:2 SLOT=0 SRC_URI=https://github.com/gabm/Satty/archive/refs/tags/v0.8.3.tar.gz -> satty-0.8.3.tar.gz https://crates.io/api/v1/crates/addr2line/0.21.0/download -> addr2line-0.21.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/anstream/0.6.5/download -> anstream-0.6.5.crate https://crates.io/api/v1/crates/anstyle/1.0.4/download -> anstyle-1.0.4.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.3/download -> anstyle-parse-0.2.3.crate https://crates.io/api/v1/crates/anstyle-query/1.0.2/download -> anstyle-query-1.0.2.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.2/download -> anstyle-wincon-3.0.2.crate https://crates.io/api/v1/crates/anyhow/1.0.77/download -> anyhow-1.0.77.crate https://crates.io/api/v1/crates/async-trait/0.1.75/download -> async-trait-0.1.75.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/backtrace/0.3.69/download -> backtrace-0.3.69.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bumpalo/3.14.0/download -> bumpalo-3.14.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/bytes/1.5.0/download -> bytes-1.5.0.crate https://crates.io/api/v1/crates/cairo-rs/0.17.10/download -> cairo-rs-0.17.10.crate https://crates.io/api/v1/crates/cairo-sys-rs/0.17.10/download -> cairo-sys-rs-0.17.10.crate https://crates.io/api/v1/crates/cc/1.0.83/download -> cc-1.0.83.crate https://crates.io/api/v1/crates/cfg-expr/0.15.5/download -> cfg-expr-0.15.5.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clap/4.4.11/download -> clap-4.4.11.crate https://crates.io/api/v1/crates/clap_builder/4.4.11/download -> clap_builder-4.4.11.crate https://crates.io/api/v1/crates/clap_complete/4.4.4/download -> clap_complete-4.4.4.crate https://crates.io/api/v1/crates/clap_complete_fig/4.4.2/download -> clap_complete_fig-4.4.2.crate https://crates.io/api/v1/crates/clap_complete_nushell/4.4.2/download -> clap_complete_nushell-4.4.2.crate https://crates.io/api/v1/crates/clap_derive/4.4.7/download -> clap_derive-4.4.7.crate https://crates.io/api/v1/crates/clap_lex/0.6.0/download -> clap_lex-0.6.0.crate https://crates.io/api/v1/crates/colorchoice/1.0.0/download -> colorchoice-1.0.0.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/field-offset/0.3.6/download -> field-offset-0.3.6.crate https://crates.io/api/v1/crates/flate2/1.0.28/download -> flate2-1.0.28.crate https://crates.io/api/v1/crates/flume/0.10.14/download -> flume-0.10.14.crate https://crates.io/api/v1/crates/fragile/2.0.0/download -> fragile-2.0.0.crate https://crates.io/api/v1/crates/futures/0.3.30/download -> futures-0.3.30.crate https://crates.io/api/v1/crates/futures-channel/0.3.30/download -> futures-channel-0.3.30.crate https://crates.io/api/v1/crates/futures-core/0.3.30/download -> futures-core-0.3.30.crate https://crates.io/api/v1/crates/futures-executor/0.3.30/download -> futures-executor-0.3.30.crate https://crates.io/api/v1/crates/futures-io/0.3.30/download -> futures-io-0.3.30.crate https://crates.io/api/v1/crates/futures-macro/0.3.30/download -> futures-macro-0.3.30.crate https://crates.io/api/v1/crates/futures-sink/0.3.30/download -> futures-sink-0.3.30.crate https://crates.io/api/v1/crates/futures-task/0.3.30/download -> futures-task-0.3.30.crate https://crates.io/api/v1/crates/futures-util/0.3.30/download -> futures-util-0.3.30.crate https://crates.io/api/v1/crates/gdk-pixbuf/0.17.10/download -> gdk-pixbuf-0.17.10.crate https://crates.io/api/v1/crates/gdk-pixbuf-sys/0.17.10/download -> gdk-pixbuf-sys-0.17.10.crate https://crates.io/api/v1/crates/gdk4/0.6.3/download -> gdk4-0.6.3.crate https://crates.io/api/v1/crates/gdk4-sys/0.6.3/download -> gdk4-sys-0.6.3.crate https://crates.io/api/v1/crates/getrandom/0.2.11/download -> getrandom-0.2.11.crate https://crates.io/api/v1/crates/gimli/0.28.1/download -> gimli-0.28.1.crate https://crates.io/api/v1/crates/gio/0.17.10/download -> gio-0.17.10.crate https://crates.io/api/v1/crates/gio-sys/0.17.10/download -> gio-sys-0.17.10.crate https://crates.io/api/v1/crates/glib/0.17.10/download -> glib-0.17.10.crate https://crates.io/api/v1/crates/glib-macros/0.17.10/download -> glib-macros-0.17.10.crate https://crates.io/api/v1/crates/glib-sys/0.17.10/download -> glib-sys-0.17.10.crate https://crates.io/api/v1/crates/gobject-sys/0.17.10/download -> gobject-sys-0.17.10.crate https://crates.io/api/v1/crates/graphene-rs/0.17.10/download -> graphene-rs-0.17.10.crate https://crates.io/api/v1/crates/graphene-sys/0.17.10/download -> graphene-sys-0.17.10.crate https://crates.io/api/v1/crates/gsk4/0.6.3/download -> gsk4-0.6.3.crate https://crates.io/api/v1/crates/gsk4-sys/0.6.3/download -> gsk4-sys-0.6.3.crate https://crates.io/api/v1/crates/gtk4/0.6.6/download -> gtk4-0.6.6.crate https://crates.io/api/v1/crates/gtk4-macros/0.6.6/download -> gtk4-macros-0.6.6.crate https://crates.io/api/v1/crates/gtk4-sys/0.6.3/download -> gtk4-sys-0.6.3.crate https://crates.io/api/v1/crates/gvdb/0.4.2/download -> gvdb-0.4.2.crate https://crates.io/api/v1/crates/hashbrown/0.14.3/download -> hashbrown-0.14.3.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/hermit-abi/0.3.3/download -> hermit-abi-0.3.3.crate https://crates.io/api/v1/crates/indexmap/2.1.0/download -> indexmap-2.1.0.crate https://crates.io/api/v1/crates/itoa/1.0.10/download -> itoa-1.0.10.crate https://crates.io/api/v1/crates/js-sys/0.3.66/download -> js-sys-0.3.66.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libadwaita/0.4.4/download -> libadwaita-0.4.4.crate https://crates.io/api/v1/crates/libadwaita-sys/0.4.4/download -> libadwaita-sys-0.4.4.crate https://crates.io/api/v1/crates/libc/0.2.151/download -> libc-0.2.151.crate https://crates.io/api/v1/crates/lock_api/0.4.11/download -> lock_api-0.4.11.crate https://crates.io/api/v1/crates/log/0.4.20/download -> log-0.4.20.crate https://crates.io/api/v1/crates/memchr/2.6.4/download -> memchr-2.6.4.crate https://crates.io/api/v1/crates/memmap2/0.7.1/download -> memmap2-0.7.1.crate https://crates.io/api/v1/crates/memoffset/0.9.0/download -> memoffset-0.9.0.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download -> miniz_oxide-0.7.1.crate https://crates.io/api/v1/crates/mio/0.8.10/download -> mio-0.8.10.crate https://crates.io/api/v1/crates/nanorand/0.7.0/download -> nanorand-0.7.0.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/object/0.32.2/download -> object-0.32.2.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/pango/0.17.10/download -> pango-0.17.10.crate https://crates.io/api/v1/crates/pango-sys/0.17.10/download -> pango-sys-0.17.10.crate https://crates.io/api/v1/crates/pangocairo/0.17.10/download -> pangocairo-0.17.10.crate https://crates.io/api/v1/crates/pangocairo-sys/0.17.10/download -> pangocairo-sys-0.17.10.crate https://crates.io/api/v1/crates/parking_lot/0.12.1/download -> parking_lot-0.12.1.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.9/download -> parking_lot_core-0.9.9.crate https://crates.io/api/v1/crates/pin-project/1.1.3/download -> pin-project-1.1.3.crate https://crates.io/api/v1/crates/pin-project-internal/1.1.3/download -> pin-project-internal-1.1.3.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.13/download -> pin-project-lite-0.2.13.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pkg-config/0.3.28/download -> pkg-config-0.3.28.crate https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download -> proc-macro-crate-1.3.1.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.71/download -> proc-macro2-1.0.71.crate https://crates.io/api/v1/crates/quick-xml/0.29.0/download -> quick-xml-0.29.0.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/redox_syscall/0.4.1/download -> redox_syscall-0.4.1.crate https://crates.io/api/v1/crates/relm4/0.6.2/download -> relm4-0.6.2.crate https://crates.io/api/v1/crates/relm4-icons/0.6.0/download -> relm4-icons-0.6.0.crate https://crates.io/api/v1/crates/relm4-macros/0.6.2/download -> relm4-macros-0.6.2.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.23/download -> rustc-demangle-0.1.23.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/ryu/1.0.16/download -> ryu-1.0.16.crate https://crates.io/api/v1/crates/safe-transmute/0.11.2/download -> safe-transmute-0.11.2.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/semver/1.0.20/download -> semver-1.0.20.crate https://crates.io/api/v1/crates/serde/1.0.193/download -> serde-1.0.193.crate https://crates.io/api/v1/crates/serde_derive/1.0.193/download -> serde_derive-1.0.193.crate https://crates.io/api/v1/crates/serde_json/1.0.108/download -> serde_json-1.0.108.crate https://crates.io/api/v1/crates/serde_spanned/0.6.5/download -> serde_spanned-0.6.5.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download -> signal-hook-registry-1.4.1.crate https://crates.io/api/v1/crates/slab/0.4.9/download -> slab-0.4.9.crate https://crates.io/api/v1/crates/smallvec/1.11.2/download -> smallvec-1.11.2.crate https://crates.io/api/v1/crates/socket2/0.5.5/download -> socket2-0.5.5.crate https://crates.io/api/v1/crates/spin/0.9.8/download -> spin-0.9.8.crate https://crates.io/api/v1/crates/static_assertions/1.1.0/download -> static_assertions-1.1.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.43/download -> syn-2.0.43.crate https://crates.io/api/v1/crates/system-deps/6.2.0/download -> system-deps-6.2.0.crate https://crates.io/api/v1/crates/target-lexicon/0.12.12/download -> target-lexicon-0.12.12.crate https://crates.io/api/v1/crates/thiserror/1.0.52/download -> thiserror-1.0.52.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.52/download -> thiserror-impl-1.0.52.crate https://crates.io/api/v1/crates/tokio/1.35.1/download -> tokio-1.35.1.crate https://crates.io/api/v1/crates/tokio-macros/2.2.0/download -> tokio-macros-2.2.0.crate https://crates.io/api/v1/crates/toml/0.8.8/download -> toml-0.8.8.crate https://crates.io/api/v1/crates/toml_datetime/0.6.5/download -> toml_datetime-0.6.5.crate https://crates.io/api/v1/crates/toml_edit/0.19.15/download -> toml_edit-0.19.15.crate https://crates.io/api/v1/crates/toml_edit/0.21.0/download -> toml_edit-0.21.0.crate https://crates.io/api/v1/crates/tracing/0.1.40/download -> tracing-0.1.40.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.27/download -> tracing-attributes-0.1.27.crate https://crates.io/api/v1/crates/tracing-core/0.1.32/download -> tracing-core-0.1.32.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/utf8parse/0.2.1/download -> utf8parse-0.2.1.crate https://crates.io/api/v1/crates/version-compare/0.1.1/download -> version-compare-0.1.1.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/walkdir/2.4.0/download -> walkdir-2.4.0.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.89/download -> wasm-bindgen-0.2.89.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.89/download -> wasm-bindgen-backend-0.2.89.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.89/download -> wasm-bindgen-macro-0.2.89.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.89/download -> wasm-bindgen-macro-support-0.2.89.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.89/download -> wasm-bindgen-shared-0.2.89.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.6/download -> winapi-util-0.1.6.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows-targets/0.52.0/download -> windows-targets-0.52.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.0/download -> windows_aarch64_gnullvm-0.52.0.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.0/download -> windows_aarch64_msvc-0.52.0.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.0/download -> windows_i686_gnu-0.52.0.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.0/download -> windows_i686_msvc-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.0/download -> windows_x86_64_gnu-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.0/download -> windows_x86_64_gnullvm-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.0/download -> windows_x86_64_msvc-0.52.0.crate https://crates.io/api/v1/crates/winnow/0.5.30/download -> winnow-0.5.30.crate https://crates.io/api/v1/crates/zvariant/3.15.0/download -> zvariant-3.15.0.crate https://crates.io/api/v1/crates/zvariant_derive/3.15.0/download -> zvariant_derive-3.15.0.crate https://crates.io/api/v1/crates/zvariant_utils/1.0.1/download -> zvariant_utils-1.0.1.crate -_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 2f71cfd308c1c475ddcfd44cb3f552ef rust-toolchain 3f822985d9297438ed2443aa1fbdf33e cargo 313cf4d416506d4c3d8b9c5dbd9ce689 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=e26e2dfe01131b331995dba6a9014cf2 diff --git a/metadata/md5-cache/gui-apps/satty-9999 b/metadata/md5-cache/gui-apps/satty-9999 index 3aeea4f..950798c 100644 --- a/metadata/md5-cache/gui-apps/satty-9999 +++ b/metadata/md5-cache/gui-apps/satty-9999 @@ -1,4 +1,4 @@ -BDEPEND=|| ( dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) >=dev-vcs/git-1.8.2.1[curl] +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) >=dev-vcs/git-1.8.2.1[curl] DEFINED_PHASES=compile configure install postinst postrm preinst setup test unpack DESCRIPTION=A screenshot annotation tool inspired by Swappy and Flameshot. EAPI=8 @@ -10,5 +10,5 @@ LICENSE=MPL-2.0 PROPERTIES=live RDEPEND=virtual/rust x11-libs/pango dev-libs/glib:2 x11-libs/cairo gui-libs/libadwaita gui-libs/gtk:4 x11-libs/gdk-pixbuf:2 SLOT=0 -_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 2f71cfd308c1c475ddcfd44cb3f552ef rust-toolchain 3f822985d9297438ed2443aa1fbdf33e cargo 313cf4d416506d4c3d8b9c5dbd9ce689 git-r3 875eb471682d3e1f18da124be97dcc81 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 git-r3 875eb471682d3e1f18da124be97dcc81 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=835999511d988a9e1e8ae415f59a9265 diff --git a/metadata/md5-cache/gui-libs/hyprcursor-0.1.5 b/metadata/md5-cache/gui-libs/hyprcursor-0.1.5 index 605f4a1..7765879 100644 --- a/metadata/md5-cache/gui-libs/hyprcursor-0.1.5 +++ b/metadata/md5-cache/gui-libs/hyprcursor-0.1.5 @@ -10,5 +10,5 @@ RDEPEND=>=dev-libs/hyprlang-0.4.2 dev-libs/libzip gnome-base/librsvg:2 x11-libs/ RESTRICT=test SLOT=0 SRC_URI=https://github.com/hyprwm/hyprcursor/archive/v0.1.5.tar.gz -> hyprcursor-0.1.5.gh.tar.gz -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic f14aba975c94ccaa9f357a27e3b17ffe multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 _md5_=15fad8130df7c3315bbf3d6420f52c8f diff --git a/metadata/md5-cache/gui-wm/hyprland-0.43.0 b/metadata/md5-cache/gui-wm/hyprland-0.43.0 index f63e170..83ece70 100644 --- a/metadata/md5-cache/gui-wm/hyprland-0.43.0 +++ b/metadata/md5-cache/gui-wm/hyprland-0.43.0 @@ -11,5 +11,5 @@ LICENSE=BSD RDEPEND=app-alternatives/ninja dev-build/cmake dev-build/meson dev-vcs/git virtual/pkgconfig dev-cpp/tomlplusplus dev-libs/glib:2 dev-libs/libinput >=dev-libs/wayland-1.20.0 gui-libs/aquamarine >=gui-libs/hyprcursor-0.1.9 media-libs/libglvnd x11-libs/cairo x11-libs/libdrm x11-libs/libxkbcommon x11-libs/pango x11-libs/pixman x11-libs/libXcursor X? ( x11-libs/libxcb:0= x11-base/xwayland x11-libs/xcb-util-errors x11-libs/xcb-util-wm ) SLOT=0 SRC_URI=https://github.com/hyprwm/Hyprland/releases/download/v0.43.0/source-v0.43.0.tar.gz -> hyprland-0.43.0.gh.tar.gz -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic f14aba975c94ccaa9f357a27e3b17ffe multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 meson 99466844dd8d4fcfb07578a76f5a9922 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 _md5_=0e0554f6d2d545544263090b138564ec diff --git a/metadata/md5-cache/gui-wm/hyprland-9999 b/metadata/md5-cache/gui-wm/hyprland-9999 index 2bb4d6d..72fdb49 100644 --- a/metadata/md5-cache/gui-wm/hyprland-9999 +++ b/metadata/md5-cache/gui-wm/hyprland-9999 @@ -10,5 +10,5 @@ LICENSE=BSD3-Clause PROPERTIES=live RDEPEND=app-alternatives/ninja >=dev-build/cmake-3.30 dev-build/meson dev-vcs/git virtual/pkgconfig dev-cpp/tomlplusplus dev-libs/glib:2 dev-libs/libinput >=dev-libs/udis86-1.7.2 >=dev-libs/wayland-1.22.90 >=gui-libs/aquamarine-0.4.2 >=gui-libs/hyprcursor-0.1.9 media-libs/libglvnd x11-libs/cairo x11-libs/libdrm x11-libs/libxkbcommon x11-libs/pango x11-libs/pixman x11-libs/libXcursor X? ( x11-libs/libxcb:0= x11-base/xwayland x11-libs/xcb-util-errors x11-libs/xcb-util-wm ) dev-libs/re2 dev-libs/hyprgraphics SLOT=0 -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic f14aba975c94ccaa9f357a27e3b17ffe multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 meson 99466844dd8d4fcfb07578a76f5a9922 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=95c8292a72c61a99981ddb9d9407f587 diff --git a/metadata/md5-cache/mail-client/mailspring-bin-1.10.8 b/metadata/md5-cache/mail-client/mailspring-bin-1.10.8 index 944b8c3..48e28b8 100644 --- a/metadata/md5-cache/mail-client/mailspring-bin-1.10.8 +++ b/metadata/md5-cache/mail-client/mailspring-bin-1.10.8 @@ -9,5 +9,5 @@ LICENSE=GPL-3 RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-crypt/libsecret app-crypt/mit-krb5 dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss dev-libs/openssl-compat:1.0.0 gnome-base/gvfs media-libs/alsa-lib media-libs/mesa net-print/cups sys-apps/dbus sys-devel/libtool sys-libs/db:5.3 x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/gtk+:3 x11-libs/libdrm x11-libs/libX11 x11-libs/libxcb x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libxkbcommon x11-libs/libXrandr x11-libs/pango x11-misc/xdg-utils SLOT=0 SRC_URI=https://github.com/Foundry376/Mailspring/releases/download/1.10.8/mailspring-1.10.8-amd64.deb -_eclasses_=multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 unpacker aa6a4e924009232d8b78b31e932c30b5 xdg-utils baea6080dd821f5562d715887954c9d3 xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 unpacker fb4b84181244b3b9990fa0bf40232dd2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=7c9e622c3a66cfef02721b101746dd1c diff --git a/metadata/md5-cache/mail-client/thunderbird-128.7.0 b/metadata/md5-cache/mail-client/thunderbird-128.7.0 new file mode 100644 index 0000000..63ed31d --- /dev/null +++ b/metadata/md5-cache/mail-client/thunderbird-128.7.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-74.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Thunderbird Mail Client +EAPI=8 +HOMEPAGE=https://www.thunderbird.net/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp wayland wifi +X +rust-extensions +system-librnp l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_es-MX l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW +llvm_slot_20 +KEYWORDS=amd64 ~arm64 ~ppc64 ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-74.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) jack? ( virtual/jack ) +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) rust-extensions? ( dbus ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/source/thunderbird-128.7.0esr.source.tar.xz -> thunderbird-128.7.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-08.tar.xz l10n_af? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/af.xpi -> thunderbird-128.7.0esr-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ar.xpi -> thunderbird-128.7.0esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ast.xpi -> thunderbird-128.7.0esr-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/be.xpi -> thunderbird-128.7.0esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/bg.xpi -> thunderbird-128.7.0esr-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/br.xpi -> thunderbird-128.7.0esr-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ca.xpi -> thunderbird-128.7.0esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/cak.xpi -> thunderbird-128.7.0esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/cs.xpi -> thunderbird-128.7.0esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/cy.xpi -> thunderbird-128.7.0esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/da.xpi -> thunderbird-128.7.0esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/de.xpi -> thunderbird-128.7.0esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/dsb.xpi -> thunderbird-128.7.0esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/el.xpi -> thunderbird-128.7.0esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/en-CA.xpi -> thunderbird-128.7.0esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/en-GB.xpi -> thunderbird-128.7.0esr-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/es-AR.xpi -> thunderbird-128.7.0esr-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/es-ES.xpi -> thunderbird-128.7.0esr-es-ES.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/es-MX.xpi -> thunderbird-128.7.0esr-es-MX.xpi ) l10n_et? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/et.xpi -> thunderbird-128.7.0esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/eu.xpi -> thunderbird-128.7.0esr-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/fi.xpi -> thunderbird-128.7.0esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/fr.xpi -> thunderbird-128.7.0esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/fy-NL.xpi -> thunderbird-128.7.0esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ga-IE.xpi -> thunderbird-128.7.0esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/gd.xpi -> thunderbird-128.7.0esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/gl.xpi -> thunderbird-128.7.0esr-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/he.xpi -> thunderbird-128.7.0esr-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/hr.xpi -> thunderbird-128.7.0esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/hsb.xpi -> thunderbird-128.7.0esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/hu.xpi -> thunderbird-128.7.0esr-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/id.xpi -> thunderbird-128.7.0esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/is.xpi -> thunderbird-128.7.0esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/it.xpi -> thunderbird-128.7.0esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ja.xpi -> thunderbird-128.7.0esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ka.xpi -> thunderbird-128.7.0esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/kab.xpi -> thunderbird-128.7.0esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/kk.xpi -> thunderbird-128.7.0esr-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ko.xpi -> thunderbird-128.7.0esr-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/lt.xpi -> thunderbird-128.7.0esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/lv.xpi -> thunderbird-128.7.0esr-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ms.xpi -> thunderbird-128.7.0esr-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/nb-NO.xpi -> thunderbird-128.7.0esr-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/nl.xpi -> thunderbird-128.7.0esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/nn-NO.xpi -> thunderbird-128.7.0esr-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/pa-IN.xpi -> thunderbird-128.7.0esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/pl.xpi -> thunderbird-128.7.0esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/pt-BR.xpi -> thunderbird-128.7.0esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/pt-PT.xpi -> thunderbird-128.7.0esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/rm.xpi -> thunderbird-128.7.0esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ro.xpi -> thunderbird-128.7.0esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/ru.xpi -> thunderbird-128.7.0esr-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/sk.xpi -> thunderbird-128.7.0esr-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/sl.xpi -> thunderbird-128.7.0esr-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/sq.xpi -> thunderbird-128.7.0esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/sr.xpi -> thunderbird-128.7.0esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/sv-SE.xpi -> thunderbird-128.7.0esr-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/th.xpi -> thunderbird-128.7.0esr-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/tr.xpi -> thunderbird-128.7.0esr-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/uk.xpi -> thunderbird-128.7.0esr-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/uz.xpi -> thunderbird-128.7.0esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/vi.xpi -> thunderbird-128.7.0esr-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/zh-CN.xpi -> thunderbird-128.7.0esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.0esr/linux-x86_64/xpi/zh-TW.xpi -> thunderbird-128.7.0esr-zh-TW.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=a0d1cd32997f1930765d38f65fe70c89 diff --git a/metadata/md5-cache/mail-client/thunderbird-128.7.1 b/metadata/md5-cache/mail-client/thunderbird-128.7.1 new file mode 100644 index 0000000..c72ff9f --- /dev/null +++ b/metadata/md5-cache/mail-client/thunderbird-128.7.1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-74.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Thunderbird Mail Client +EAPI=8 +HOMEPAGE=https://www.thunderbird.net/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp wayland wifi +X +rust-extensions +system-librnp l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_es-MX l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~ppc64 ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-74.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) jack? ( virtual/jack ) +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) rust-extensions? ( dbus ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/source/thunderbird-128.7.1esr.source.tar.xz -> thunderbird-128.7.1esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-08.tar.xz l10n_af? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/af.xpi -> thunderbird-128.7.1esr-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ar.xpi -> thunderbird-128.7.1esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ast.xpi -> thunderbird-128.7.1esr-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/be.xpi -> thunderbird-128.7.1esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/bg.xpi -> thunderbird-128.7.1esr-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/br.xpi -> thunderbird-128.7.1esr-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ca.xpi -> thunderbird-128.7.1esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/cak.xpi -> thunderbird-128.7.1esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/cs.xpi -> thunderbird-128.7.1esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/cy.xpi -> thunderbird-128.7.1esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/da.xpi -> thunderbird-128.7.1esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/de.xpi -> thunderbird-128.7.1esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/dsb.xpi -> thunderbird-128.7.1esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/el.xpi -> thunderbird-128.7.1esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/en-CA.xpi -> thunderbird-128.7.1esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/en-GB.xpi -> thunderbird-128.7.1esr-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/es-AR.xpi -> thunderbird-128.7.1esr-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/es-ES.xpi -> thunderbird-128.7.1esr-es-ES.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/es-MX.xpi -> thunderbird-128.7.1esr-es-MX.xpi ) l10n_et? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/et.xpi -> thunderbird-128.7.1esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/eu.xpi -> thunderbird-128.7.1esr-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/fi.xpi -> thunderbird-128.7.1esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/fr.xpi -> thunderbird-128.7.1esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/fy-NL.xpi -> thunderbird-128.7.1esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ga-IE.xpi -> thunderbird-128.7.1esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/gd.xpi -> thunderbird-128.7.1esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/gl.xpi -> thunderbird-128.7.1esr-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/he.xpi -> thunderbird-128.7.1esr-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/hr.xpi -> thunderbird-128.7.1esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/hsb.xpi -> thunderbird-128.7.1esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/hu.xpi -> thunderbird-128.7.1esr-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/id.xpi -> thunderbird-128.7.1esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/is.xpi -> thunderbird-128.7.1esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/it.xpi -> thunderbird-128.7.1esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ja.xpi -> thunderbird-128.7.1esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ka.xpi -> thunderbird-128.7.1esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/kab.xpi -> thunderbird-128.7.1esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/kk.xpi -> thunderbird-128.7.1esr-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ko.xpi -> thunderbird-128.7.1esr-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/lt.xpi -> thunderbird-128.7.1esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/lv.xpi -> thunderbird-128.7.1esr-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ms.xpi -> thunderbird-128.7.1esr-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/nb-NO.xpi -> thunderbird-128.7.1esr-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/nl.xpi -> thunderbird-128.7.1esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/nn-NO.xpi -> thunderbird-128.7.1esr-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/pa-IN.xpi -> thunderbird-128.7.1esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/pl.xpi -> thunderbird-128.7.1esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/pt-BR.xpi -> thunderbird-128.7.1esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/pt-PT.xpi -> thunderbird-128.7.1esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/rm.xpi -> thunderbird-128.7.1esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ro.xpi -> thunderbird-128.7.1esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/ru.xpi -> thunderbird-128.7.1esr-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/sk.xpi -> thunderbird-128.7.1esr-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/sl.xpi -> thunderbird-128.7.1esr-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/sq.xpi -> thunderbird-128.7.1esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/sr.xpi -> thunderbird-128.7.1esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/sv-SE.xpi -> thunderbird-128.7.1esr-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/th.xpi -> thunderbird-128.7.1esr-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/tr.xpi -> thunderbird-128.7.1esr-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/uk.xpi -> thunderbird-128.7.1esr-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/uz.xpi -> thunderbird-128.7.1esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/vi.xpi -> thunderbird-128.7.1esr-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/zh-CN.xpi -> thunderbird-128.7.1esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/thunderbird/releases/128.7.1esr/linux-x86_64/xpi/zh-TW.xpi -> thunderbird-128.7.1esr-zh-TW.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=bd41e2dd05a8c313f5b573045ce35e89 diff --git a/metadata/md5-cache/mail-client/thunderbird-136.0 b/metadata/md5-cache/mail-client/thunderbird-136.0 new file mode 100644 index 0000000..25e4229 --- /dev/null +++ b/metadata/md5-cache/mail-client/thunderbird-136.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.108 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-76.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Thunderbird Mail Client +EAPI=8 +HOMEPAGE=https://www.thunderbird.net/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp wayland wifi +X +rust-extensions +system-librnp l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_es-MX l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~ppc64 ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=selinux? ( sec-policy/selinux-thunderbird ) !system-librnp? ( dev-libs/jsoncpp ) system-librnp? ( >=dev-util/librnp-0.17.1 ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.108 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.13 >=media-libs/harfbuzz-2.8.1:0= ) system-icu? ( >=dev-libs/icu-76.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) jack? ( virtual/jack ) +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) rust-extensions? ( dbus ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://archive.mozilla.org/pub/thunderbird/releases/136.0/source/thunderbird-136.0.source.tar.xz -> thunderbird-136.0.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-136-patches-01.tar.xz l10n_af? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/af.xpi -> thunderbird-136.0-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ar.xpi -> thunderbird-136.0-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ast.xpi -> thunderbird-136.0-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/be.xpi -> thunderbird-136.0-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/bg.xpi -> thunderbird-136.0-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/br.xpi -> thunderbird-136.0-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ca.xpi -> thunderbird-136.0-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/cak.xpi -> thunderbird-136.0-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/cs.xpi -> thunderbird-136.0-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/cy.xpi -> thunderbird-136.0-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/da.xpi -> thunderbird-136.0-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/de.xpi -> thunderbird-136.0-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/dsb.xpi -> thunderbird-136.0-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/el.xpi -> thunderbird-136.0-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/en-CA.xpi -> thunderbird-136.0-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/en-GB.xpi -> thunderbird-136.0-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/es-AR.xpi -> thunderbird-136.0-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/es-ES.xpi -> thunderbird-136.0-es-ES.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/es-MX.xpi -> thunderbird-136.0-es-MX.xpi ) l10n_et? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/et.xpi -> thunderbird-136.0-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/eu.xpi -> thunderbird-136.0-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/fi.xpi -> thunderbird-136.0-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/fr.xpi -> thunderbird-136.0-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/fy-NL.xpi -> thunderbird-136.0-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ga-IE.xpi -> thunderbird-136.0-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/gd.xpi -> thunderbird-136.0-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/gl.xpi -> thunderbird-136.0-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/he.xpi -> thunderbird-136.0-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/hr.xpi -> thunderbird-136.0-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/hsb.xpi -> thunderbird-136.0-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/hu.xpi -> thunderbird-136.0-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/id.xpi -> thunderbird-136.0-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/is.xpi -> thunderbird-136.0-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/it.xpi -> thunderbird-136.0-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ja.xpi -> thunderbird-136.0-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ka.xpi -> thunderbird-136.0-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/kab.xpi -> thunderbird-136.0-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/kk.xpi -> thunderbird-136.0-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ko.xpi -> thunderbird-136.0-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/lt.xpi -> thunderbird-136.0-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/lv.xpi -> thunderbird-136.0-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ms.xpi -> thunderbird-136.0-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/nb-NO.xpi -> thunderbird-136.0-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/nl.xpi -> thunderbird-136.0-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/nn-NO.xpi -> thunderbird-136.0-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/pa-IN.xpi -> thunderbird-136.0-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/pl.xpi -> thunderbird-136.0-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/pt-BR.xpi -> thunderbird-136.0-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/pt-PT.xpi -> thunderbird-136.0-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/rm.xpi -> thunderbird-136.0-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ro.xpi -> thunderbird-136.0-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/ru.xpi -> thunderbird-136.0-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/sk.xpi -> thunderbird-136.0-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/sl.xpi -> thunderbird-136.0-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/sq.xpi -> thunderbird-136.0-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/sr.xpi -> thunderbird-136.0-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/sv-SE.xpi -> thunderbird-136.0-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/th.xpi -> thunderbird-136.0-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/tr.xpi -> thunderbird-136.0-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/uk.xpi -> thunderbird-136.0-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/uz.xpi -> thunderbird-136.0-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/vi.xpi -> thunderbird-136.0-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/zh-CN.xpi -> thunderbird-136.0-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/thunderbird/releases/136.0/linux-x86_64/xpi/zh-TW.xpi -> thunderbird-136.0-zh-TW.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed eapi9-ver 6a71fa30cdb3fe445114fdeab156c1f0 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=e305919ccd1a2dbac1eda50a641a4b41 diff --git a/metadata/md5-cache/media-gfx/blender-3.6.15 b/metadata/md5-cache/media-gfx/blender-3.6.15 new file mode 100644 index 0000000..fc9bb09 --- /dev/null +++ b/metadata/md5-cache/media-gfx/blender-3.6.15 @@ -0,0 +1,17 @@ +BDEPEND=virtual/pkgconfig doc? ( app-text/doxygen[dot] dev-python/sphinx[latex] dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra ) nls? ( sys-devel/gettext ) wayland? ( dev-util/wayland-scanner ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp[cxx] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) dev-cpp/eigen:= +DESCRIPTION=3D Creation/Animation/Publishing System +EAPI=8 +HOMEPAGE=https://www.blender.org +INHERIT=check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils +IUSE=+bullet +dds +fluid +openexr +tbb alembic collada +color-management cuda +cycles cycles-bin-kernels debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind wayland X python_single_target_python3_10 python_single_target_python3_11 +KEYWORDS=amd64 ~arm ~arm64 +LICENSE=GPL-3+ cycles? ( Apache-2.0 ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp[cxx] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) alembic? ( openexr ) cuda? ( cycles ) cycles? ( openexr tiff ) fluid? ( tbb ) openvdb? ( tbb ) optix? ( cuda ) osl? ( cycles ) test? ( color-management ) +RESTRICT=!test? ( test ) +SLOT=3.6 +SRC_URI=https://download.blender.org/source/blender-3.6.15.tar.xz +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=100d0155f7e0b62ff799df67d3a5bbf4 diff --git a/metadata/md5-cache/media-gfx/blender-3.6.18 b/metadata/md5-cache/media-gfx/blender-3.6.18 new file mode 100644 index 0000000..0ac7390 --- /dev/null +++ b/metadata/md5-cache/media-gfx/blender-3.6.18 @@ -0,0 +1,17 @@ +BDEPEND=virtual/pkgconfig doc? ( app-text/doxygen[dot] dev-python/sphinx[latex] dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra ) nls? ( sys-devel/gettext ) wayland? ( dev-util/wayland-scanner ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp[cxx] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) dev-cpp/eigen:= +DESCRIPTION=3D Creation/Animation/Publishing System +EAPI=8 +HOMEPAGE=https://www.blender.org +INHERIT=check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils +IUSE=+bullet +dds +fluid +openexr +tbb alembic collada +color-management cuda +cycles cycles-bin-kernels debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind wayland X python_single_target_python3_10 python_single_target_python3_11 +KEYWORDS=amd64 ~arm ~arm64 +LICENSE=GPL-3+ cycles? ( Apache-2.0 ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp[cxx] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) alembic? ( openexr ) cuda? ( cycles ) cycles? ( openexr tiff ) fluid? ( tbb ) openvdb? ( tbb ) optix? ( cuda ) osl? ( cycles ) test? ( color-management ) +RESTRICT=!test? ( test ) +SLOT=3.6 +SRC_URI=https://download.blender.org/source/blender-3.6.18.tar.xz +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=895f86e12a8acd15dc26d70fce429681 diff --git a/metadata/md5-cache/media-gfx/blender-3.6.8 b/metadata/md5-cache/media-gfx/blender-3.6.8 new file mode 100644 index 0000000..63e0b35 --- /dev/null +++ b/metadata/md5-cache/media-gfx/blender-3.6.8 @@ -0,0 +1,17 @@ +BDEPEND=virtual/pkgconfig doc? ( app-text/doxygen[dot] dev-python/sphinx[latex] dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils dev-texlive/texlive-latex dev-texlive/texlive-latexextra ) nls? ( sys-devel/gettext ) wayland? ( dev-util/wayland-scanner ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) dev-cpp/eigen:= +DESCRIPTION=3D Creation/Animation/Publishing System +EAPI=8 +HOMEPAGE=https://www.blender.org +INHERIT=check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils +IUSE=+bullet +dds +fluid +openexr +tbb alembic collada +color-management cuda +cycles cycles-bin-kernels debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind wayland X python_single_target_python3_10 python_single_target_python3_11 +KEYWORDS=amd64 ~arm ~arm64 +LICENSE=GPL-3+ cycles? ( Apache-2.0 ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/boost:=[nls?] dev-libs/lzo:2= python_single_target_python3_10? ( dev-python/cython[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/zstandard[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/cython[python_targets_python3_11(-)] dev-python/numpy[python_targets_python3_11(-)] dev-python/zstandard[python_targets_python3_11(-)] dev-python/requests[python_targets_python3_11(-)] ) media-libs/freetype:=[brotli] media-libs/libepoxy:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate >=media-libs/openimageio-2.4.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl virtual/opengl alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) collada? ( >=media-libs/opencollada-1.6.68 ) color-management? ( media-libs/opencolorio:= ) cuda? ( dev-util/nvidia-cuda-toolkit:= ) embree? ( >=media-libs/embree-3.10.0:=[raymask] ) ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) ndof? ( app-misc/spacenavd dev-libs/libspnav ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( =dev-libs/wayland-1.12 >=dev-libs/wayland-protocols-1.15 >=x11-libs/libxkbcommon-0.2.0 media-libs/mesa[wayland] sys-apps/dbus ) X? ( x11-libs/libX11 x11-libs/libXi x11-libs/libXxf86vm ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) alembic? ( openexr ) cuda? ( cycles ) cycles? ( openexr tiff ) fluid? ( tbb ) openvdb? ( tbb ) optix? ( cuda ) osl? ( cycles ) test? ( color-management ) +RESTRICT=!test? ( test ) +SLOT=3.6 +SRC_URI=https://download.blender.org/source/blender-3.6.8.tar.xz +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=3fbae61d5d82ae8a2640d681aa2b1736 diff --git a/metadata/md5-cache/media-gfx/hydrus-511 b/metadata/md5-cache/media-gfx/hydrus-511 index 4861a5f..d781b3b 100644 --- a/metadata/md5-cache/media-gfx/hydrus-511 +++ b/metadata/md5-cache/media-gfx/hydrus-511 @@ -1,4 +1,4 @@ -BDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10[sqlite] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11[sqlite] ) dev-python/QtPy dev-python/pyside2 dev-python/send2trash dev-python/numpy media-libs/opencv dev-python/python-mpv python_single_target_python3_10? ( test? ( dev-python/httmock[python_targets_python3_10(-)] dev-python/mock[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( test? ( dev-python/httmock[python_targets_python3_11(-)] dev-python/mock[python_targets_python3_11(-)] ) ) doc? ( python_single_target_python3_10? ( dev-python/mkdocs[python_targets_python3_10(-)] dev-python/mkdocs-material[python_targets_python3_10(-)] dev-python/regex[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/mkdocs[python_targets_python3_11(-)] dev-python/mkdocs-material[python_targets_python3_11(-)] dev-python/regex[python_targets_python3_11(-)] ) ) +BDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10[sqlite] ) python_single_target_python3_11? ( dev-lang/python:3.11[sqlite] ) dev-python/QtPy dev-python/pyside2 dev-python/send2trash dev-python/numpy media-libs/opencv dev-python/python-mpv python_single_target_python3_10? ( test? ( dev-python/httmock[python_targets_python3_10(-)] dev-python/mock[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( test? ( dev-python/httmock[python_targets_python3_11(-)] dev-python/mock[python_targets_python3_11(-)] ) ) doc? ( python_single_target_python3_10? ( dev-python/mkdocs[python_targets_python3_10(-)] dev-python/mkdocs-material[python_targets_python3_10(-)] dev-python/regex[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/mkdocs[python_targets_python3_11(-)] dev-python/mkdocs-material[python_targets_python3_11(-)] dev-python/regex[python_targets_python3_11(-)] ) ) DEFINED_PHASES=compile install postinst prepare setup test DESCRIPTION=A booru-like media organizer for the desktop EAPI=8 @@ -7,10 +7,10 @@ INHERIT=python-single-r1 desktop docs optfeature IUSE=test python_single_target_python3_10 python_single_target_python3_11 doc KEYWORDS=~amd64 LICENSE=WTFPL-2 CC-BY-2.5 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10[sqlite] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11[sqlite] ) dev-python/QtPy dev-python/pyside2 dev-python/send2trash dev-python/numpy media-libs/opencv dev-python/python-mpv +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10[sqlite] ) python_single_target_python3_11? ( dev-lang/python:3.11[sqlite] ) dev-python/QtPy dev-python/pyside2 dev-python/send2trash dev-python/numpy media-libs/opencv dev-python/python-mpv REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://github.com/hydrusnetwork/hydrus/archive/v511.tar.gz -> hydrus-511.tar.gz -_eclasses_=multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 desktop 021728fdc1b03b36357dbc89489e0f0d docs 7b9e167549c44efa7994614f33ba6d7a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed docs 006125f2158d2f16904ebd9114336058 optfeature 538bce96e5589935b57e178e8635f301 _md5_=08d39f6ffc9ab607ea8bb8ab01d5a66d diff --git a/metadata/md5-cache/media-libs/lv2-1.18.10 b/metadata/md5-cache/media-libs/lv2-1.18.10 index 8e508c2..a839945 100644 --- a/metadata/md5-cache/media-libs/lv2-1.18.10 +++ b/metadata/md5-cache/media-libs/lv2-1.18.10 @@ -13,5 +13,5 @@ REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_1 RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://lv2plug.in/spec/lv2-1.18.10.tar.xz -_eclasses_=toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=e8b72a880906b81c5dc829790c891ac3 diff --git a/metadata/md5-cache/media-libs/mesa-24.0.0_rc3 b/metadata/md5-cache/media-libs/mesa-24.0.0_rc3 index d6fef2d..28be552 100644 --- a/metadata/md5-cache/media-libs/mesa-24.0.0_rc3 +++ b/metadata/md5-cache/media-libs/mesa-24.0.0_rc3 @@ -13,5 +13,5 @@ REQUIRED_USE=d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 vi RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://archive.mesa3d.org/mesa-24.0.0-rc3.tar.xz -_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 6ddb5e75c10db046f89ebe39c85e1d82 linux-info ea4122ba1d8791a12b78e53f9510a2e3 +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 891415dfe39ad9b41b461f2b86354af0 linux-info ea4122ba1d8791a12b78e53f9510a2e3 _md5_=b5a1c66125bdd3f4165c5a6ff0a3ee9c diff --git a/metadata/md5-cache/media-libs/mesa-24.3.4-r1 b/metadata/md5-cache/media-libs/mesa-24.3.4-r1 new file mode 100644 index 0000000..adcbeaf --- /dev/null +++ b/metadata/md5-cache/media-libs/mesa-24.3.4-r1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) opencl? ( || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.77.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.77.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.76.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.76.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 app-alternatives/yacc app-alternatives/lex virtual/pkgconfig || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) video_cards_intel? ( ~dev-util/intel_clc-24.3.4 llvm-core/libclc[spirv(-)] || ( ( dev-lang/python:3.13 dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/ply[python_targets_python3_10(-)] ) ) ) vulkan? ( dev-util/glslang video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.77.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.77.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.76.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.76.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) ) wayland? ( dev-util/wayland-scanner ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) valgrind? ( dev-debug/valgrind ) wayland? ( >=dev-libs/wayland-protocols-1.38 ) X? ( x11-libs/libXrandr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-base/xorg-proto ) +DESCRIPTION=OpenGL-like graphic library for Linux +EAPI=8 +HOMEPAGE=https://www.mesa3d.org/ https://mesa.freedesktop.org/ +INHERIT=flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain cargo +IUSE=video_cards_r300 video_cards_r600 video_cards_radeon video_cards_radeonsi video_cards_d3d12 video_cards_freedreno video_cards_intel video_cards_lavapipe video_cards_lima video_cards_nouveau video_cards_nvk video_cards_panfrost video_cards_v3d video_cards_vc4 video_cards_virgl video_cards_vivante video_cards_vmware video_cards_zink cpu_flags_x86_sse2 d3d9 debug +llvm lm-sensors opencl +opengl osmesa +proprietary-codecs selinux test unwind vaapi valgrind vdpau vulkan wayland +X xa +zstd +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 debug +KEYWORDS=amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris +LICENSE=MIT SGI-B-2.0 +RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) +REQUIRED_USE=d3d9? ( || ( video_cards_freedreno video_cards_intel video_cards_nouveau video_cards_panfrost video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_vmware video_cards_zink ) ) llvm? ( ^^ ( llvm_slot_20 ) ) video_cards_lavapipe? ( llvm vulkan ) video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_zink? ( vulkan opengl ) video_cards_nvk? ( vulkan video_cards_nouveau ) vdpau? ( X ) xa? ( X ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://archive.mesa3d.org/mesa-24.3.4.tar.xz https://crates.io/api/v1/crates/syn/2.0.68/download -> syn-2.0.68.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/paste/1.0.14/download -> paste-1.0.14.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 891415dfe39ad9b41b461f2b86354af0 linux-info ea4122ba1d8791a12b78e53f9510a2e3 rust-toolchain 76468983281b0a7fc167ca224f84ecfd rust 4fcc266e35b188de828a39aa7df727e4 cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=314e279e1402ad0b6d4c5dd56f219a82 diff --git a/metadata/md5-cache/media-libs/mesa-25.0.0 b/metadata/md5-cache/media-libs/mesa-25.0.0 new file mode 100644 index 0000000..2e255fe --- /dev/null +++ b/metadata/md5-cache/media-libs/mesa-25.0.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) opencl? ( >=dev-build/meson-1.7.0 >=dev-util/bindgen-0.71.0 || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) >=dev-build/meson-1.4.1 app-alternatives/yacc app-alternatives/lex virtual/pkgconfig || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) video_cards_intel? ( ~dev-util/mesa_clc-25.0.0 llvm-core/libclc[spirv(-)] || ( ( dev-lang/python:3.13 dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/ply[python_targets_python3_10(-)] ) ) ) vulkan? ( dev-util/glslang video_cards_nvk? ( >=dev-build/meson-1.7.0 >=dev-util/bindgen-0.71.0 >=dev-util/cbindgen-0.26.0 || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) ) wayland? ( dev-util/wayland-scanner ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare pretend setup test unpack +DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) valgrind? ( dev-debug/valgrind ) wayland? ( >=dev-libs/wayland-protocols-1.38 ) X? ( x11-libs/libXrandr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-base/xorg-proto ) +DESCRIPTION=OpenGL-like graphic library for Linux +EAPI=8 +HOMEPAGE=https://www.mesa3d.org/ https://mesa.freedesktop.org/ +INHERIT=flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain cargo +IUSE=video_cards_r300 video_cards_r600 video_cards_radeon video_cards_radeonsi video_cards_d3d12 video_cards_freedreno video_cards_intel video_cards_lavapipe video_cards_lima video_cards_nouveau video_cards_nvk video_cards_panfrost video_cards_v3d video_cards_vc4 video_cards_virgl video_cards_vivante video_cards_vmware video_cards_zink cpu_flags_x86_sse2 d3d9 debug +llvm lm-sensors opencl +opengl osmesa +proprietary-codecs selinux test unwind vaapi valgrind vdpau vulkan wayland +X xa +zstd +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 debug +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris +LICENSE=MIT SGI-B-2.0 +RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) +REQUIRED_USE=d3d9? ( || ( video_cards_freedreno video_cards_intel video_cards_nouveau video_cards_panfrost video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_vmware video_cards_zink ) ) llvm? ( ^^ ( llvm_slot_20 ) ) video_cards_lavapipe? ( llvm vulkan ) video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_zink? ( vulkan opengl ) video_cards_nvk? ( vulkan video_cards_nouveau ) vdpau? ( X ) xa? ( X ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://archive.mesa3d.org/mesa-25.0.0.tar.xz https://crates.io/api/v1/crates/syn/2.0.68/download -> syn-2.0.68.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/paste/1.0.14/download -> paste-1.0.14.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 891415dfe39ad9b41b461f2b86354af0 linux-info ea4122ba1d8791a12b78e53f9510a2e3 rust-toolchain 76468983281b0a7fc167ca224f84ecfd rust 4fcc266e35b188de828a39aa7df727e4 cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=0e9ed456edc820ebaafff5f8e662afc4 diff --git a/metadata/md5-cache/media-libs/mesa-9999 b/metadata/md5-cache/media-libs/mesa-9999 index 3859e77..667fd62 100644 --- a/metadata/md5-cache/media-libs/mesa-9999 +++ b/metadata/md5-cache/media-libs/mesa-9999 @@ -1,16 +1,17 @@ -BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) opencl? ( >=virtual/rust-1.62.0 >=dev-util/bindgen-0.58.0 >=dev-build/meson-1.3.0 ) app-alternatives/yacc app-alternatives/lex virtual/pkgconfig || ( ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] ) ) vulkan? ( dev-util/glslang llvm? ( video_cards_intel? ( amd64? ( || ( ( dev-lang/python:3.12 dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/ply[python_targets_python3_10(-)] ) ) ~dev-util/intel_clc-9999 dev-libs/libclc[spirv(-)] ) ) ) ) wayland? ( dev-util/wayland-scanner ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array >=dev-vcs/git-1.8.2.1[curl] +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) opencl? ( >=dev-build/meson-1.7.0 >=dev-util/bindgen-0.71.0 || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) >=dev-build/meson-1.4.1 app-alternatives/yacc app-alternatives/lex virtual/pkgconfig || ( ( dev-lang/python:3.13 >=dev-python/mako-0.8.0[python_targets_python3_13(-)] dev-python/packaging[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/mako-0.8.0[python_targets_python3_12(-)] dev-python/packaging[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/mako-0.8.0[python_targets_python3_11(-)] dev-python/packaging[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/mako-0.8.0[python_targets_python3_10(-)] dev-python/packaging[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] ) ) video_cards_intel? ( ~dev-util/mesa_clc-9999 llvm-core/libclc[spirv(-)] || ( ( dev-lang/python:3.13 dev-python/ply[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/ply[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/ply[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/ply[python_targets_python3_10(-)] ) ) ) vulkan? ( dev-util/glslang video_cards_nvk? ( >=dev-build/meson-1.7.0 >=dev-util/bindgen-0.71.0 >=dev-util/cbindgen-0.26.0 || ( dev-lang/rust-bin:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:9999[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.86.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.85.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.84.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.83.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.82.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.81.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.80.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.79.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust-bin:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-lang/rust:1.78.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) ) wayland? ( dev-util/wayland-scanner ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array >=dev-vcs/git-1.8.2.1[curl] DEFINED_PHASES=compile configure install prepare pretend setup test unpack -DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 dev-libs/libclc[spirv(-)] >=dev-util/spirv-tools-1.3.231.0 virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.119[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.13:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.119[video_cards_amdgpu] ) llvm? ( || ( ( !opencl? ( sys-devel/llvm:17[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:17[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:17 ) ) ( !opencl? ( sys-devel/llvm:16[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:16[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:16 ) ) ( !opencl? ( sys-devel/llvm:15[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:15[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:15 ) ) ) !opencl? ( =dev-util/directx-headers-1.611.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) valgrind? ( dev-debug/valgrind ) wayland? ( >=dev-libs/wayland-protocols-1.30 ) X? ( x11-libs/libXrandr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-base/xorg-proto ) !!llvm-core/llvm:0 +DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vulkan? ( virtual/libudev:= ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) valgrind? ( dev-debug/valgrind ) wayland? ( >=dev-libs/wayland-protocols-1.41 ) X? ( x11-libs/libXrandr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-base/xorg-proto ) DESCRIPTION=OpenGL-like graphic library for Linux EAPI=8 HOMEPAGE=https://www.mesa3d.org/ https://mesa.freedesktop.org/ -INHERIT=llvm meson-multilib python-any-r1 linux-info git-r3 -IUSE=video_cards_r300 video_cards_r600 video_cards_radeon video_cards_radeonsi video_cards_d3d12 video_cards_freedreno video_cards_intel video_cards_lavapipe video_cards_lima video_cards_nouveau video_cards_panfrost video_cards_v3d video_cards_vc4 video_cards_virgl video_cards_vivante video_cards_vmware cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm lm-sensors opencl osmesa +proprietary-codecs selinux test unwind vaapi valgrind vdpau vulkan vulkan-overlay wayland +X xa zink +zstd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +INHERIT=flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain cargo git-r3 +IUSE=video_cards_r300 video_cards_r600 video_cards_radeon video_cards_radeonsi video_cards_d3d12 video_cards_freedreno video_cards_intel video_cards_lavapipe video_cards_lima video_cards_nouveau video_cards_nvk video_cards_panfrost video_cards_v3d video_cards_vc4 video_cards_virgl video_cards_vivante video_cards_vmware video_cards_zink cpu_flags_x86_sse2 d3d9 debug +llvm lm-sensors opencl +opengl osmesa +proprietary-codecs selinux test unwind vaapi valgrind vdpau vulkan wayland +X xa +zstd +llvm_slot_20 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 debug LICENSE=MIT SGI-B-2.0 PROPERTIES=live -RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 dev-libs/libclc[spirv(-)] >=dev-util/spirv-tools-1.3.231.0 virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.119[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.13:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.119[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.119[video_cards_amdgpu] ) llvm? ( || ( ( !opencl? ( sys-devel/llvm:17[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:17[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:17 ) ) ( !opencl? ( sys-devel/llvm:16[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:16[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:16 ) ) ( !opencl? ( sys-devel/llvm:15[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( sys-devel/clang:15[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( dev-util/spirv-llvm-translator:15 ) ) ) !opencl? ( =dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-util/spirv-tools-1.3.231.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libglvnd-1.3.2[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) llvm? ( llvm_slot_20? ( llvm-core/llvm:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] opencl? ( dev-util/spirv-llvm-translator:20 llvm-core/clang:20[llvm_targets_AMDGPU(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =llvm-core/libclc-20*[spirv(-)] ) ) video_cards_r600? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeon? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) lm-sensors? ( sys-apps/lm-sensors:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opencl? ( >=virtual/opencl-3 llvm-core/libclc[spirv(-)] virtual/libelf:0= ) vaapi? ( >=media-libs/libva-1.7.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-1.5:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_radeonsi? ( virtual/libelf:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_zink? ( media-libs/vulkan-loader:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vulkan? ( virtual/libudev:= ) selinux? ( sys-libs/libselinux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=x11-libs/libdrm-2.4.121[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxshmfence-1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.17:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/xcb-util-keysyms[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) video_cards_r300? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_r600? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeon? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_radeon] ) video_cards_radeonsi? ( >=x11-libs/libdrm-2.4.121[video_cards_amdgpu] ) +REQUIRED_USE=d3d9? ( || ( video_cards_freedreno video_cards_intel video_cards_nouveau video_cards_panfrost video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_vmware video_cards_zink ) ) llvm? ( ^^ ( llvm_slot_20 ) ) video_cards_lavapipe? ( llvm vulkan ) video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) video_cards_zink? ( vulkan opengl ) video_cards_nvk? ( vulkan video_cards_nouveau ) vdpau? ( X ) xa? ( X ) RESTRICT=!test? ( test ) SLOT=0 -_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 6ddb5e75c10db046f89ebe39c85e1d82 linux-info ea4122ba1d8791a12b78e53f9510a2e3 git-r3 875eb471682d3e1f18da124be97dcc81 -_md5_=78d2436cbcf0a619288db709579fe755 +SRC_URI=https://crates.io/api/v1/crates/syn/2.0.68/download -> syn-2.0.68.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/paste/1.0.14/download -> paste-1.0.14.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 python-any-r1 891415dfe39ad9b41b461f2b86354af0 linux-info ea4122ba1d8791a12b78e53f9510a2e3 rust-toolchain 76468983281b0a7fc167ca224f84ecfd rust 4fcc266e35b188de828a39aa7df727e4 cargo 313cf4d416506d4c3d8b9c5dbd9ce689 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=7fd59a9dbc04c696c422b3935ddf3831 diff --git a/metadata/md5-cache/media-libs/oidn-1.4.2 b/metadata/md5-cache/media-libs/oidn-1.4.2 new file mode 100644 index 0000000..1d42efb --- /dev/null +++ b/metadata/md5-cache/media-libs/oidn-1.4.2 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) dev-cpp/tbb:= dev-lang/ispc +DESCRIPTION=Intel(R) Open Image Denoise library +EAPI=8 +HOMEPAGE=http://www.openimagedenoise.org/ +INHERIT=cmake python-single-r1 +IUSE=+python_single_target_python3_10 +KEYWORDS=amd64 ~arm ~arm64 ~ppc64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) dev-cpp/tbb:= dev-lang/ispc +REQUIRED_USE=^^ ( python_single_target_python3_10 ) +SLOT=0 +SRC_URI=https://github.com/OpenImageDenoise/oidn/releases/download/v1.4.2/oidn-1.4.2.src.tar.gz -> oidn-1.4.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=2a765b4774cb6582561cacb358e7b354 diff --git a/metadata/md5-cache/media-libs/oidn-1.4.3 b/metadata/md5-cache/media-libs/oidn-1.4.3 new file mode 100644 index 0000000..d362fdc --- /dev/null +++ b/metadata/md5-cache/media-libs/oidn-1.4.3 @@ -0,0 +1,16 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-cpp/tbb:= dev-lang/ispc +DESCRIPTION=Intel(R) Open Image Denoise library +EAPI=8 +HOMEPAGE=https://www.openimagedenoise.org/ +INHERIT=cmake python-single-r1 +IUSE=python_single_target_python3_10 python_single_target_python3_11 +KEYWORDS=amd64 ~arm ~arm64 ~ppc64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-cpp/tbb:= dev-lang/ispc +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) +SLOT=0 +SRC_URI=https://github.com/OpenImageDenoise/oidn/releases/download/v1.4.3/oidn-1.4.3.src.tar.gz -> oidn-1.4.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=9735ec9576193963580d4dabe58198cf diff --git a/metadata/md5-cache/media-libs/oidn-2.1.0 b/metadata/md5-cache/media-libs/oidn-2.1.0 new file mode 100644 index 0000000..37bdbfe --- /dev/null +++ b/metadata/md5-cache/media-libs/oidn-2.1.0 @@ -0,0 +1,17 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-cpp/tbb:= dev-lang/ispc cuda? ( dev-util/nvidia-cuda-toolkit ) hip? ( dev-util/hip ) !!llvm-core/llvm:0 +DESCRIPTION=Intel(R) Open Image Denoise library +EAPI=8 +HOMEPAGE=https://www.openimagedenoise.org/ +INHERIT=cmake python-single-r1 llvm rocm +IUSE=apps cuda hip test python_single_target_python3_10 python_single_target_python3_11 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 ~arm ~arm64 ~ppc64 ~x86 +LICENSE=Apache-2.0 +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-cpp/tbb:= dev-lang/ispc cuda? ( dev-util/nvidia-cuda-toolkit ) hip? ( dev-util/hip ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) test? ( apps ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/OpenImageDenoise/oidn/releases/download/v2.1.0/oidn-2.1.0.src.tar.gz -> oidn-2.1.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be rocm 826765f795a41b937d1bfe8e709346cd +_md5_=cea7af9d53c68e534c02a40605b3e9a5 diff --git a/metadata/md5-cache/media-libs/osl-1.13.12.0-r1 b/metadata/md5-cache/media-libs/osl-1.13.12.0-r1 new file mode 100644 index 0000000..4032833 --- /dev/null +++ b/metadata/md5-cache/media-libs/osl-1.13.12.0-r1 @@ -0,0 +1,17 @@ +BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/boost:= dev-libs/pugixml >=media-libs/openimageio-2.4:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) optix? ( dev-libs/optix[-headers-only] ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_10? ( dev-python/pybind11[python_targets_python3_10(-)] media-libs/openimageio[python,python_single_target_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pybind11[python_targets_python3_11(-)] media-libs/openimageio[python,python_single_target_python3_11(-)] ) python_single_target_python3_12? ( dev-python/pybind11[python_targets_python3_12(-)] media-libs/openimageio[python,python_single_target_python3_12(-)] ) python_single_target_python3_13? ( dev-python/pybind11[python_targets_python3_13(-)] media-libs/openimageio[python,python_single_target_python3_13(-)] ) ) partio? ( media-libs/partio ) gui? ( dev-qt/qtbase:6[gui,widgets,opengl] ) dev-util/patchelf >=media-libs/openexr-3 sys-libs/zlib test? ( media-fonts/droid ) +DESCRIPTION=Advanced shading language for production GI renderers +EAPI=8 +HOMEPAGE=https://www.imageworks.com/technology/opensource https://github.com/AcademySoftwareFoundation/OpenShadingLanguage +INHERIT=cmake cuda flag-o-matic llvm-r1 toolchain-funcs python-single-r1 +IUSE=debug doc gui libcxx nofma optix partio test cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_f16c python +llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +KEYWORDS=~amd64 ~arm ~arm64 ~ppc64 +LICENSE=BSD +RDEPEND=dev-libs/boost:= dev-libs/pugixml >=media-libs/openimageio-2.4:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) optix? ( dev-libs/optix[-headers-only] ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_10? ( dev-python/pybind11[python_targets_python3_10(-)] media-libs/openimageio[python,python_single_target_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pybind11[python_targets_python3_11(-)] media-libs/openimageio[python,python_single_target_python3_11(-)] ) python_single_target_python3_12? ( dev-python/pybind11[python_targets_python3_12(-)] media-libs/openimageio[python,python_single_target_python3_12(-)] ) python_single_target_python3_13? ( dev-python/pybind11[python_targets_python3_13(-)] media-libs/openimageio[python,python_single_target_python3_13(-)] ) ) partio? ( media-libs/partio ) gui? ( dev-qt/qtbase:6[gui,widgets,opengl] ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/1.13 +SRC_URI=https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v1.13.12.0.tar.gz -> osl-1.13.12.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 cuda 283d0f298f6c196c755a0f8d50daca85 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 +_md5_=bd3d92db911ded65242f0a362c9b98cc diff --git a/metadata/md5-cache/media-libs/osl-9999 b/metadata/md5-cache/media-libs/osl-9999 new file mode 100644 index 0000000..0a1cd87 --- /dev/null +++ b/metadata/md5-cache/media-libs/osl-9999 @@ -0,0 +1,16 @@ +BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=dev-libs/boost:= dev-libs/pugixml >=media-libs/openimageio-2.4:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) optix? ( dev-libs/optix[-headers-only] ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_10? ( dev-python/pybind11[python_targets_python3_10(-)] media-libs/openimageio[python,python_single_target_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pybind11[python_targets_python3_11(-)] media-libs/openimageio[python,python_single_target_python3_11(-)] ) python_single_target_python3_12? ( dev-python/pybind11[python_targets_python3_12(-)] media-libs/openimageio[python,python_single_target_python3_12(-)] ) python_single_target_python3_13? ( dev-python/pybind11[python_targets_python3_13(-)] media-libs/openimageio[python,python_single_target_python3_13(-)] ) ) partio? ( media-libs/partio ) gui? ( dev-qt/qtbase:6[gui,widgets,opengl] ) dev-util/patchelf >=media-libs/openexr-3 sys-libs/zlib test? ( media-fonts/droid ) +DESCRIPTION=Advanced shading language for production GI renderers +EAPI=8 +HOMEPAGE=https://www.imageworks.com/technology/opensource https://github.com/AcademySoftwareFoundation/OpenShadingLanguage +INHERIT=cmake cuda flag-o-matic llvm-r1 toolchain-funcs python-single-r1 git-r3 +IUSE=debug doc gui libcxx nofma optix partio test cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_f16c python +llvm_slot_20 python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 +LICENSE=BSD +PROPERTIES=live +RDEPEND=dev-libs/boost:= dev-libs/pugixml >=media-libs/openimageio-2.4:= llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) optix? ( dev-libs/optix[-headers-only] ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_12? ( dev-lang/python:3.12 ) python_single_target_python3_13? ( dev-lang/python:3.13 ) python_single_target_python3_10? ( dev-python/pybind11[python_targets_python3_10(-)] media-libs/openimageio[python,python_single_target_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pybind11[python_targets_python3_11(-)] media-libs/openimageio[python,python_single_target_python3_11(-)] ) python_single_target_python3_12? ( dev-python/pybind11[python_targets_python3_12(-)] media-libs/openimageio[python,python_single_target_python3_12(-)] ) python_single_target_python3_13? ( dev-python/pybind11[python_targets_python3_13(-)] media-libs/openimageio[python,python_single_target_python3_13(-)] ) ) partio? ( media-libs/partio ) gui? ( dev-qt/qtbase:6[gui,widgets,opengl] ) +REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/9999 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 cuda 283d0f298f6c196c755a0f8d50daca85 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=bd3d92db911ded65242f0a362c9b98cc diff --git a/metadata/md5-cache/media-sound/carla-2.2.0 b/metadata/md5-cache/media-sound/carla-2.2.0 index 994541a..d979fac 100644 --- a/metadata/md5-cache/media-sound/carla-2.2.0 +++ b/metadata/md5-cache/media-sound/carla-2.2.0 @@ -1,5 +1,5 @@ DEFINED_PHASES=compile install postinst postrm prepare setup -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) DESCRIPTION=Fully-featured audio plugin host, supports many audio drivers and plugin formats EAPI=7 HOMEPAGE=http://kxstudio.linuxaudio.org/Applications:Carla @@ -7,10 +7,10 @@ INHERIT=python-single-r1 xdg-utils IUSE=alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X +python_single_target_python3_10 KEYWORDS=~amd64 LICENSE=GPL-2 LGPL-3 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) REQUIRED_USE=^^ ( python_single_target_python3_10 ) RESTRICT=mirror SLOT=0 SRC_URI=https://github.com/falkTX/Carla/archive/v2.2.0.tar.gz -> carla-2.2.0.tar.gz -_eclasses_=eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=bbecfae99594f7f58a9bcb41799e1387 diff --git a/metadata/md5-cache/media-sound/carla-2.5.2 b/metadata/md5-cache/media-sound/carla-2.5.2 index d41d1ac..d2ff13d 100644 --- a/metadata/md5-cache/media-sound/carla-2.5.2 +++ b/metadata/md5-cache/media-sound/carla-2.5.2 @@ -1,5 +1,5 @@ DEFINED_PHASES=compile install postinst postrm prepare setup -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) DESCRIPTION=Fully-featured audio plugin host, supports many audio drivers and plugin formats EAPI=7 HOMEPAGE=http://kxstudio.linuxaudio.org/Applications:Carla @@ -7,10 +7,10 @@ INHERIT=python-single-r1 xdg-utils IUSE=alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X +python_single_target_python3_10 KEYWORDS=~amd64 LICENSE=GPL-2 LGPL-3 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) REQUIRED_USE=^^ ( python_single_target_python3_10 ) RESTRICT=mirror SLOT=0 SRC_URI=https://github.com/falkTX/Carla/archive/v2.5.2.tar.gz -> carla-2.5.2.tar.gz -_eclasses_=eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=924b87aabc98da5a5248432ee66da960 diff --git a/metadata/md5-cache/media-sound/carla-2.5.4 b/metadata/md5-cache/media-sound/carla-2.5.4 index 4933004..3155c46 100644 --- a/metadata/md5-cache/media-sound/carla-2.5.4 +++ b/metadata/md5-cache/media-sound/carla-2.5.4 @@ -1,5 +1,5 @@ DEFINED_PHASES=compile install postinst postrm prepare setup -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_11(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_11(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) DESCRIPTION=Fully-featured audio plugin host, supports many audio drivers and plugin formats EAPI=7 HOMEPAGE=http://kxstudio.linuxaudio.org/Applications:Carla @@ -7,10 +7,10 @@ INHERIT=python-single-r1 xdg-utils IUSE=alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=~amd64 LICENSE=GPL-2 LGPL-3 -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_11(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_11(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) RESTRICT=mirror SLOT=0 SRC_URI=https://github.com/falkTX/Carla/archive/v2.5.4.tar.gz -> carla-2.5.4.tar.gz -_eclasses_=eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=05d66cbc56df45da8951064706bee826 diff --git a/metadata/md5-cache/media-sound/carla-9999-r1 b/metadata/md5-cache/media-sound/carla-9999-r1 index 21765a8..2d052e1 100644 --- a/metadata/md5-cache/media-sound/carla-9999-r1 +++ b/metadata/md5-cache/media-sound/carla-9999-r1 @@ -1,6 +1,6 @@ BDEPEND=>=dev-vcs/git-1.8.2.1[curl] DEFINED_PHASES=compile install postinst postrm prepare setup unpack -DEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) DESCRIPTION=Fully-featured audio plugin host, supports many audio drivers and plugin formats EAPI=7 HOMEPAGE=http://kxstudio.linuxaudio.org/Applications:Carla @@ -8,8 +8,8 @@ INHERIT=python-single-r1 xdg-utils git-r3 IUSE=alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X +python_single_target_python3_10 LICENSE=GPL-2 LGPL-3 PROPERTIES=live -RDEPEND=python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) +RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-python/PyQt5[gui,opengl?,svg,widgets,python_targets_python3_10(-)] ) virtual/jack alsa? ( media-libs/alsa-lib ) gtk? ( x11-libs/gtk+:3 ) gtk2? ( x11-libs/gtk+:2 ) osc? ( media-libs/liblo media-libs/pyliblo ) pulseaudio? ( media-sound/pulseaudio ) rdf? ( dev-python/rdflib ) sf2? ( media-sound/fluidsynth ) sndfile? ( media-libs/libsndfile ) X? ( x11-base/xorg-server ) REQUIRED_USE=^^ ( python_single_target_python3_10 ) SLOT=0 -_eclasses_=eapi8-dosym 741bfa77afb2a9321261501aca58c208 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 xdg-utils baea6080dd821f5562d715887954c9d3 git-r3 27e13c09a4c7e4c78ac812f74727e676 +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=924b87aabc98da5a5248432ee66da960 diff --git a/metadata/md5-cache/media-sound/helvum-0.4.1-r2 b/metadata/md5-cache/media-sound/helvum-0.4.1-r2 new file mode 100644 index 0000000..249a970 --- /dev/null +++ b/metadata/md5-cache/media-sound/helvum-0.4.1-r2 @@ -0,0 +1,17 @@ +BDEPEND=>=dev-build/meson-0.59.0 llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) virtual/pkgconfig || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install postinst postrm preinst setup test unpack +DEPEND=>=dev-libs/glib-2.66:2 >=gui-libs/gtk-4.4.0:4 media-libs/graphene >=media-video/pipewire-0.3:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango +DESCRIPTION=A GTK patchbay for pipewire +EAPI=8 +HOMEPAGE=https://gitlab.freedesktop.org/pipewire/helvum +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo desktop llvm-r1 xdg +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=GPL-3 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 +RDEPEND=>=dev-libs/glib-2.66:2 >=gui-libs/gtk-4.4.0:4 media-libs/graphene >=media-video/pipewire-0.3:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://gitlab.freedesktop.org/pipewire/helvum/-/archive/0.4.1/helvum-0.4.1.tar.bz2 https://crates.io/api/v1/crates/aho-corasick/1.0.4/download -> aho-corasick-1.0.4.crate https://crates.io/api/v1/crates/anyhow/1.0.75/download -> anyhow-1.0.75.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/bindgen/0.66.1/download -> bindgen-0.66.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.4.0/download -> bitflags-2.4.0.crate https://crates.io/api/v1/crates/cairo-rs/0.18.0/download -> cairo-rs-0.18.0.crate https://crates.io/api/v1/crates/cairo-sys-rs/0.18.0/download -> cairo-sys-rs-0.18.0.crate https://crates.io/api/v1/crates/cc/1.0.82/download -> cc-1.0.82.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-expr/0.15.4/download -> cfg-expr-0.15.4.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clang-sys/1.6.1/download -> clang-sys-1.6.1.crate https://crates.io/api/v1/crates/convert_case/0.6.0/download -> convert_case-0.6.0.crate https://crates.io/api/v1/crates/cookie-factory/0.3.2/download -> cookie-factory-0.3.2.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/field-offset/0.3.6/download -> field-offset-0.3.6.crate https://crates.io/api/v1/crates/futures-channel/0.3.28/download -> futures-channel-0.3.28.crate https://crates.io/api/v1/crates/futures-core/0.3.28/download -> futures-core-0.3.28.crate https://crates.io/api/v1/crates/futures-executor/0.3.28/download -> futures-executor-0.3.28.crate https://crates.io/api/v1/crates/futures-io/0.3.28/download -> futures-io-0.3.28.crate https://crates.io/api/v1/crates/futures-macro/0.3.28/download -> futures-macro-0.3.28.crate https://crates.io/api/v1/crates/futures-task/0.3.28/download -> futures-task-0.3.28.crate https://crates.io/api/v1/crates/futures-util/0.3.28/download -> futures-util-0.3.28.crate https://crates.io/api/v1/crates/gdk-pixbuf-sys/0.18.0/download -> gdk-pixbuf-sys-0.18.0.crate https://crates.io/api/v1/crates/gdk-pixbuf/0.18.0/download -> gdk-pixbuf-0.18.0.crate https://crates.io/api/v1/crates/gdk4-sys/0.7.2/download -> gdk4-sys-0.7.2.crate https://crates.io/api/v1/crates/gdk4/0.7.2/download -> gdk4-0.7.2.crate https://crates.io/api/v1/crates/gio-sys/0.18.1/download -> gio-sys-0.18.1.crate https://crates.io/api/v1/crates/gio/0.18.1/download -> gio-0.18.1.crate https://crates.io/api/v1/crates/glib-macros/0.18.0/download -> glib-macros-0.18.0.crate https://crates.io/api/v1/crates/glib-sys/0.18.1/download -> glib-sys-0.18.1.crate https://crates.io/api/v1/crates/glib/0.18.1/download -> glib-0.18.1.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/gobject-sys/0.18.0/download -> gobject-sys-0.18.0.crate https://crates.io/api/v1/crates/graphene-rs/0.18.1/download -> graphene-rs-0.18.1.crate https://crates.io/api/v1/crates/graphene-sys/0.18.1/download -> graphene-sys-0.18.1.crate https://crates.io/api/v1/crates/gsk4-sys/0.7.2/download -> gsk4-sys-0.7.2.crate https://crates.io/api/v1/crates/gsk4/0.7.2/download -> gsk4-0.7.2.crate https://crates.io/api/v1/crates/gtk4-macros/0.7.2/download -> gtk4-macros-0.7.2.crate https://crates.io/api/v1/crates/gtk4-sys/0.7.2/download -> gtk4-sys-0.7.2.crate https://crates.io/api/v1/crates/gtk4/0.7.2/download -> gtk4-0.7.2.crate https://crates.io/api/v1/crates/hashbrown/0.14.0/download -> hashbrown-0.14.0.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/indexmap/2.0.0/download -> indexmap-2.0.0.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.147/download -> libc-0.2.147.crate https://crates.io/api/v1/crates/libspa-sys/0.7.0/download -> libspa-sys-0.7.0.crate https://crates.io/api/v1/crates/libspa/0.7.0/download -> libspa-0.7.0.crate https://crates.io/api/v1/crates/log/0.4.20/download -> log-0.4.20.crate https://crates.io/api/v1/crates/memchr/2.5.0/download -> memchr-2.5.0.crate https://crates.io/api/v1/crates/memoffset/0.7.1/download -> memoffset-0.7.1.crate https://crates.io/api/v1/crates/memoffset/0.9.0/download -> memoffset-0.9.0.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/nix/0.26.2/download -> nix-0.26.2.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/once_cell/1.18.0/download -> once_cell-1.18.0.crate https://crates.io/api/v1/crates/pango-sys/0.18.0/download -> pango-sys-0.18.0.crate https://crates.io/api/v1/crates/pango/0.18.0/download -> pango-0.18.0.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.12/download -> pin-project-lite-0.2.12.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pipewire-sys/0.7.0/download -> pipewire-sys-0.7.0.crate https://crates.io/api/v1/crates/pipewire/0.7.0/download -> pipewire-0.7.0.crate https://crates.io/api/v1/crates/pkg-config/0.3.27/download -> pkg-config-0.3.27.crate https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download -> proc-macro-crate-1.3.1.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.66/download -> proc-macro2-1.0.66.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/regex-automata/0.3.6/download -> regex-automata-0.3.6.crate https://crates.io/api/v1/crates/regex-syntax/0.7.4/download -> regex-syntax-0.7.4.crate https://crates.io/api/v1/crates/regex/1.9.3/download -> regex-1.9.3.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/semver/1.0.18/download -> semver-1.0.18.crate https://crates.io/api/v1/crates/serde/1.0.183/download -> serde-1.0.183.crate https://crates.io/api/v1/crates/serde_spanned/0.6.3/download -> serde_spanned-0.6.3.crate https://crates.io/api/v1/crates/shlex/1.1.0/download -> shlex-1.1.0.crate https://crates.io/api/v1/crates/slab/0.4.8/download -> slab-0.4.8.crate https://crates.io/api/v1/crates/smallvec/1.11.0/download -> smallvec-1.11.0.crate https://crates.io/api/v1/crates/static_assertions/1.1.0/download -> static_assertions-1.1.0.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.29/download -> syn-2.0.29.crate https://crates.io/api/v1/crates/system-deps/6.1.1/download -> system-deps-6.1.1.crate https://crates.io/api/v1/crates/target-lexicon/0.12.11/download -> target-lexicon-0.12.11.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.47/download -> thiserror-impl-1.0.47.crate https://crates.io/api/v1/crates/thiserror/1.0.47/download -> thiserror-1.0.47.crate https://crates.io/api/v1/crates/toml/0.7.6/download -> toml-0.7.6.crate https://crates.io/api/v1/crates/toml_datetime/0.6.3/download -> toml_datetime-0.6.3.crate https://crates.io/api/v1/crates/toml_edit/0.19.14/download -> toml_edit-0.19.14.crate https://crates.io/api/v1/crates/unicode-ident/1.0.11/download -> unicode-ident-1.0.11.crate https://crates.io/api/v1/crates/unicode-segmentation/1.10.1/download -> unicode-segmentation-1.10.1.crate https://crates.io/api/v1/crates/version-compare/0.1.1/download -> version-compare-0.1.1.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winnow/0.5.12/download -> winnow-0.5.12.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=3a3736fa6c8317bd6781cb14e81f1dd7 diff --git a/metadata/md5-cache/media-sound/helvum-0.5.1-r4 b/metadata/md5-cache/media-sound/helvum-0.5.1-r4 new file mode 100644 index 0000000..e13cd4b --- /dev/null +++ b/metadata/md5-cache/media-sound/helvum-0.5.1-r4 @@ -0,0 +1,17 @@ +BDEPEND=>=dev-build/meson-0.59.0 llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) virtual/pkgconfig || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install postinst postrm preinst setup test unpack +DEPEND=>=dev-libs/glib-2.66:2 >=gui-libs/gtk-4.4.0:4 >=gui-libs/libadwaita-1.3:1 media-libs/graphene >=media-video/pipewire-0.3:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango +DESCRIPTION=A GTK patchbay for pipewire +EAPI=8 +HOMEPAGE=https://gitlab.freedesktop.org/pipewire/helvum +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cargo desktop llvm-r1 xdg +IUSE=debug +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 +LICENSE=GPL-3 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT Unicode-DFS-2016 +RDEPEND=>=dev-libs/glib-2.66:2 >=gui-libs/gtk-4.4.0:4 >=gui-libs/libadwaita-1.3:1 media-libs/graphene >=media-video/pipewire-0.3:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://gitlab.freedesktop.org/pipewire/helvum/-/archive/0.5.1/helvum-0.5.1.tar.bz2 https://crates.io/api/v1/crates/aho-corasick/1.1.1/download -> aho-corasick-1.1.1.crate https://crates.io/api/v1/crates/anyhow/1.0.75/download -> anyhow-1.0.75.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/bindgen/0.66.1/download -> bindgen-0.66.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.4.0/download -> bitflags-2.4.0.crate https://crates.io/api/v1/crates/cairo-rs/0.18.2/download -> cairo-rs-0.18.2.crate https://crates.io/api/v1/crates/cairo-sys-rs/0.18.2/download -> cairo-sys-rs-0.18.2.crate https://crates.io/api/v1/crates/cc/1.0.83/download -> cc-1.0.83.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-expr/0.15.5/download -> cfg-expr-0.15.5.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clang-sys/1.6.1/download -> clang-sys-1.6.1.crate https://crates.io/api/v1/crates/convert_case/0.6.0/download -> convert_case-0.6.0.crate https://crates.io/api/v1/crates/cookie-factory/0.3.2/download -> cookie-factory-0.3.2.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/field-offset/0.3.6/download -> field-offset-0.3.6.crate https://crates.io/api/v1/crates/futures-channel/0.3.28/download -> futures-channel-0.3.28.crate https://crates.io/api/v1/crates/futures-core/0.3.28/download -> futures-core-0.3.28.crate https://crates.io/api/v1/crates/futures-executor/0.3.28/download -> futures-executor-0.3.28.crate https://crates.io/api/v1/crates/futures-io/0.3.28/download -> futures-io-0.3.28.crate https://crates.io/api/v1/crates/futures-macro/0.3.28/download -> futures-macro-0.3.28.crate https://crates.io/api/v1/crates/futures-task/0.3.28/download -> futures-task-0.3.28.crate https://crates.io/api/v1/crates/futures-util/0.3.28/download -> futures-util-0.3.28.crate https://crates.io/api/v1/crates/gdk-pixbuf-sys/0.18.0/download -> gdk-pixbuf-sys-0.18.0.crate https://crates.io/api/v1/crates/gdk-pixbuf/0.18.0/download -> gdk-pixbuf-0.18.0.crate https://crates.io/api/v1/crates/gdk4-sys/0.7.2/download -> gdk4-sys-0.7.2.crate https://crates.io/api/v1/crates/gdk4/0.7.3/download -> gdk4-0.7.3.crate https://crates.io/api/v1/crates/gio-sys/0.18.1/download -> gio-sys-0.18.1.crate https://crates.io/api/v1/crates/gio/0.18.2/download -> gio-0.18.2.crate https://crates.io/api/v1/crates/glib-macros/0.18.2/download -> glib-macros-0.18.2.crate https://crates.io/api/v1/crates/glib-sys/0.18.1/download -> glib-sys-0.18.1.crate https://crates.io/api/v1/crates/glib/0.18.2/download -> glib-0.18.2.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/gobject-sys/0.18.0/download -> gobject-sys-0.18.0.crate https://crates.io/api/v1/crates/graphene-rs/0.18.1/download -> graphene-rs-0.18.1.crate https://crates.io/api/v1/crates/graphene-sys/0.18.1/download -> graphene-sys-0.18.1.crate https://crates.io/api/v1/crates/gsk4-sys/0.7.3/download -> gsk4-sys-0.7.3.crate https://crates.io/api/v1/crates/gsk4/0.7.3/download -> gsk4-0.7.3.crate https://crates.io/api/v1/crates/gtk4-macros/0.7.2/download -> gtk4-macros-0.7.2.crate https://crates.io/api/v1/crates/gtk4-sys/0.7.3/download -> gtk4-sys-0.7.3.crate https://crates.io/api/v1/crates/gtk4/0.7.3/download -> gtk4-0.7.3.crate https://crates.io/api/v1/crates/hashbrown/0.14.0/download -> hashbrown-0.14.0.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/indexmap/2.0.1/download -> indexmap-2.0.1.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libadwaita-sys/0.5.3/download -> libadwaita-sys-0.5.3.crate https://crates.io/api/v1/crates/libadwaita/0.5.3/download -> libadwaita-0.5.3.crate https://crates.io/api/v1/crates/libc/0.2.148/download -> libc-0.2.148.crate https://crates.io/api/v1/crates/libloading/0.7.4/download -> libloading-0.7.4.crate https://crates.io/api/v1/crates/libspa-sys/0.7.2/download -> libspa-sys-0.7.2.crate https://crates.io/api/v1/crates/libspa/0.7.2/download -> libspa-0.7.2.crate https://crates.io/api/v1/crates/log/0.4.20/download -> log-0.4.20.crate https://crates.io/api/v1/crates/memchr/2.6.3/download -> memchr-2.6.3.crate https://crates.io/api/v1/crates/memoffset/0.7.1/download -> memoffset-0.7.1.crate https://crates.io/api/v1/crates/memoffset/0.9.0/download -> memoffset-0.9.0.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/nix/0.26.4/download -> nix-0.26.4.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/once_cell/1.18.0/download -> once_cell-1.18.0.crate https://crates.io/api/v1/crates/pango-sys/0.18.0/download -> pango-sys-0.18.0.crate https://crates.io/api/v1/crates/pango/0.18.0/download -> pango-0.18.0.crate https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.13/download -> pin-project-lite-0.2.13.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pipewire-sys/0.7.2/download -> pipewire-sys-0.7.2.crate https://crates.io/api/v1/crates/pipewire/0.7.2/download -> pipewire-0.7.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.27/download -> pkg-config-0.3.27.crate https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download -> proc-macro-crate-1.3.1.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.67/download -> proc-macro2-1.0.67.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/regex-automata/0.3.8/download -> regex-automata-0.3.8.crate https://crates.io/api/v1/crates/regex-syntax/0.7.5/download -> regex-syntax-0.7.5.crate https://crates.io/api/v1/crates/regex/1.9.5/download -> regex-1.9.5.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/semver/1.0.19/download -> semver-1.0.19.crate https://crates.io/api/v1/crates/serde/1.0.188/download -> serde-1.0.188.crate https://crates.io/api/v1/crates/serde_derive/1.0.188/download -> serde_derive-1.0.188.crate https://crates.io/api/v1/crates/serde_spanned/0.6.3/download -> serde_spanned-0.6.3.crate https://crates.io/api/v1/crates/shlex/1.2.0/download -> shlex-1.2.0.crate https://crates.io/api/v1/crates/slab/0.4.9/download -> slab-0.4.9.crate https://crates.io/api/v1/crates/smallvec/1.11.1/download -> smallvec-1.11.1.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.37/download -> syn-2.0.37.crate https://crates.io/api/v1/crates/system-deps/6.1.1/download -> system-deps-6.1.1.crate https://crates.io/api/v1/crates/target-lexicon/0.12.11/download -> target-lexicon-0.12.11.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.49/download -> thiserror-impl-1.0.49.crate https://crates.io/api/v1/crates/thiserror/1.0.49/download -> thiserror-1.0.49.crate https://crates.io/api/v1/crates/toml/0.7.8/download -> toml-0.7.8.crate https://crates.io/api/v1/crates/toml_datetime/0.6.3/download -> toml_datetime-0.6.3.crate https://crates.io/api/v1/crates/toml_edit/0.19.15/download -> toml_edit-0.19.15.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-segmentation/1.10.1/download -> unicode-segmentation-1.10.1.crate https://crates.io/api/v1/crates/version-compare/0.1.1/download -> version-compare-0.1.1.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winnow/0.5.15/download -> winnow-0.5.15.crate +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=ca920bbb09a87d9e5580ee7440be1ffc diff --git a/metadata/md5-cache/media-sound/pwvucontrol-0.3.1 b/metadata/md5-cache/media-sound/pwvucontrol-0.3.1 new file mode 100644 index 0000000..f0a9004 --- /dev/null +++ b/metadata/md5-cache/media-sound/pwvucontrol-0.3.1 @@ -0,0 +1,15 @@ +BDEPEND=>=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=media-video/pipewire dev-lang/rust +DESCRIPTION=PipeWire Volume Control +EAPI=8 +HOMEPAGE=https://github.com/saivert/pwvucontrol +INHERIT=autotools cargo +IUSE=rust debug +KEYWORDS=~amd64 ~x86 +LICENSE=GPL-2 +RDEPEND=media-video/pipewire dev-lang/rust +SLOT=0 +SRC_URI=https://github.com/saivert/pwvucontrol/archive/refs/tags/0.3.1.tar.gz -> pwvucontrol-0.3.1.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=777ac4ff3553c1086113f8587cc5187d diff --git a/metadata/md5-cache/net-dns/avahi-0.8-r5 b/metadata/md5-cache/net-dns/avahi-0.8-r5 index b4141b0..31c7583 100644 --- a/metadata/md5-cache/net-dns/avahi-0.8-r5 +++ b/metadata/md5-cache/net-dns/avahi-0.8-r5 @@ -1,4 +1,4 @@ -BDEPEND=dev-util/glib-utils doc? ( app-doc/doxygen ) app-doc/xmltoman sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 >=dev-build/autoconf-2.71-r6:2.71 ) >=dev-build/libtool-2.4.7-r3 virtual/pkgconfig +BDEPEND=dev-util/glib-utils doc? ( app-doc/doxygen ) app-doc/xmltoman sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst prepare setup test DEPEND=dev-libs/libdaemon dev-libs/libevent:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-libs/expat dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] gdbm? ( sys-libs/gdbm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) qt5? ( dev-qt/qtcore:5 ) gtk? ( x11-libs/gtk+:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dbus? ( sys-apps/dbus[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kernel_linux? ( sys-libs/libcap ) introspection? ( dev-libs/gobject-introspection:= ) mono? ( dev-lang/mono ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10[gdbm] ) python_single_target_python3_10? ( bookmarks? ( >=dev-python/twisted-16.0.0[python_targets_python3_10(-)] ) dbus? ( dev-python/dbus-python[python_targets_python3_10(-)] ) introspection? ( dev-python/pygobject:3[python_targets_python3_10(-)] ) ) ) DESCRIPTION=System which facilitates service discovery on a local network @@ -13,5 +13,5 @@ REQUIRED_USE=python? ( dbus gdbm ^^ ( python_single_target_python3_10 ) ) bookma RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://github.com/lathiat/avahi/archive/v0.8.tar.gz -> avahi-0.8.tar.gz -_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 7d91cc798a8afd8f4e0c6e9587296ebe flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 mono-env de65900415c861786a591376c62844cb eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 systemd 54bd206bb5c4efac6ae28b6b006713b0 +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 mono-env de65900415c861786a591376c62844cb eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 systemd 54bd206bb5c4efac6ae28b6b006713b0 _md5_=322f6eb255cb3e21d1778c4240d87558 diff --git a/metadata/md5-cache/net-dns/avahi-0.8-r7 b/metadata/md5-cache/net-dns/avahi-0.8-r7 index 4ede2a2..f75b16c 100644 --- a/metadata/md5-cache/net-dns/avahi-0.8-r7 +++ b/metadata/md5-cache/net-dns/avahi-0.8-r7 @@ -1,4 +1,4 @@ -BDEPEND=dev-util/glib-utils doc? ( app-doc/doxygen ) app-doc/xmltoman sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 >=dev-build/autoconf-2.71-r6:2.71 ) >=dev-build/libtool-2.4.7-r3 virtual/pkgconfig +BDEPEND=dev-util/glib-utils doc? ( app-doc/doxygen ) app-doc/xmltoman sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst prepare setup test DEPEND=dev-libs/libdaemon dev-libs/libevent:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-libs/expat dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] gdbm? ( sys-libs/gdbm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) qt5? ( dev-qt/qtcore:5 ) gtk? ( x11-libs/gtk+:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dbus? ( sys-apps/dbus[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kernel_linux? ( sys-libs/libcap ) introspection? ( dev-libs/gobject-introspection:= ) mono? ( dev-lang/mono ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10[gdbm] ) python_single_target_python3_11? ( dev-lang/python:3.11[gdbm] ) python_single_target_python3_10? ( bookmarks? ( >=dev-python/twisted-16.0.0[python_targets_python3_10(-)] ) dbus? ( dev-python/dbus-python[python_targets_python3_10(-)] ) introspection? ( dev-python/pygobject:3[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( bookmarks? ( >=dev-python/twisted-16.0.0[python_targets_python3_11(-)] ) dbus? ( dev-python/dbus-python[python_targets_python3_11(-)] ) introspection? ( dev-python/pygobject:3[python_targets_python3_11(-)] ) ) ) DESCRIPTION=System which facilitates service discovery on a local network @@ -13,5 +13,5 @@ REQUIRED_USE=python? ( dbus gdbm ^^ ( python_single_target_python3_10 python_sin RESTRICT=!test? ( test ) SLOT=0 SRC_URI=https://github.com/lathiat/avahi/archive/v0.8.tar.gz -> avahi-0.8.tar.gz -_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 14648d8795f7779e11e1bc7cf08b7536 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 7d91cc798a8afd8f4e0c6e9587296ebe flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 mono-env de65900415c861786a591376c62844cb eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 42c5abe4a656a4993a06a4fc61dbdd12 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 systemd 54bd206bb5c4efac6ae28b6b006713b0 +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 mono-env de65900415c861786a591376c62844cb eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 systemd 54bd206bb5c4efac6ae28b6b006713b0 _md5_=067cb385e467c6348165b89e190b8ff0 diff --git a/metadata/md5-cache/net-im/dvm-1.1.9 b/metadata/md5-cache/net-im/dvm-1.1.9 new file mode 100644 index 0000000..f958a2b --- /dev/null +++ b/metadata/md5-cache/net-im/dvm-1.1.9 @@ -0,0 +1,10 @@ +DEFINED_PHASES=compile install unpack +DESCRIPTION=dvm +EAPI=7 +HOMEPAGE=https://github.com/diced/dvm +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-libs/openssl-compat +SLOT=0 +SRC_URI=https://github.com/diced/dvm/releases/download/1.1.9/dvm +_md5_=145a405341fd8278633770d9ede7f7dd diff --git a/metadata/md5-cache/net-im/kotatogram-desktop-1.4.9 b/metadata/md5-cache/net-im/kotatogram-desktop-1.4.9 new file mode 100644 index 0000000..853506d --- /dev/null +++ b/metadata/md5-cache/net-im/kotatogram-desktop-1.4.9 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.11 dev-lang/python:3.10 ) >=dev-util/cmake-3.16 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test +DEPEND=app-arch/lz4:= dev-cpp/abseil-cpp:= dev-libs/libdispatch dev-libs/openssl:= dev-libs/xxhash >=dev-qt/qtcore-5.15:5 >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] >=dev-qt/qtimageformats-5.15:5 >=dev-qt/qtnetwork-5.15:5[ssl] >=dev-qt/qtsvg-5.15:5 >=dev-qt/qtwidgets-5.15:5[png,X?] media-fonts/open-sans media-libs/fontconfig:= ~media-libs/libtgvoip-2.4.4_p20220117 media-libs/openal media-libs/opus:= media-libs/rnnoise ~media-libs/tg_owt-0_pre20220209[screencast=,X=] media-video/ffmpeg:=[opus] sys-libs/zlib:=[minizip] dbus? ( dev-cpp/glibmm:2 dev-qt/qtdbus:5 dev-libs/libdbusmenu-qt[qt5(+)] ) enchant? ( app-text/enchant:= ) hunspell? ( >=app-text/hunspell-1.7:= ) jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) wayland? ( kde-frameworks/kwayland:= ) X? ( x11-libs/libxcb:= ) dev-cpp/range-v3 =dev-cpp/ms-gsl-3* +DESCRIPTION=Experimental Telegram Desktop fork +EAPI=8 +HOMEPAGE=https://github.com/kotatogram/kotatogram-desktop/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=xdg cmake python-any-r1 optfeature flag-o-matic +IUSE=+dbus enchant +hunspell +jemalloc screencast +spell wayland +X +KEYWORDS=~amd64 ~arm64 ~ppc64 ~riscv +LICENSE=BSD GPL-3-with-openssl-exception LGPL-2+ +RDEPEND=app-arch/lz4:= dev-cpp/abseil-cpp:= dev-libs/libdispatch dev-libs/openssl:= dev-libs/xxhash >=dev-qt/qtcore-5.15:5 >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] >=dev-qt/qtimageformats-5.15:5 >=dev-qt/qtnetwork-5.15:5[ssl] >=dev-qt/qtsvg-5.15:5 >=dev-qt/qtwidgets-5.15:5[png,X?] media-fonts/open-sans media-libs/fontconfig:= ~media-libs/libtgvoip-2.4.4_p20220117 media-libs/openal media-libs/opus:= media-libs/rnnoise ~media-libs/tg_owt-0_pre20220209[screencast=,X=] media-video/ffmpeg:=[opus] sys-libs/zlib:=[minizip] dbus? ( dev-cpp/glibmm:2 dev-qt/qtdbus:5 dev-libs/libdbusmenu-qt[qt5(+)] ) enchant? ( app-text/enchant:= ) hunspell? ( >=app-text/hunspell-1.7:= ) jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) wayland? ( kde-frameworks/kwayland:= ) X? ( x11-libs/libxcb:= ) +REQUIRED_USE=spell? ( ^^ ( enchant hunspell ) ) +SLOT=0 +SRC_URI=https://github.com/kotatogram/kotatogram-desktop/releases/download/k1.4.9/kotatogram-desktop-1.4.9-full.tar.gz +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=a8cb469ae92773e0d430eb4e58c72f6b diff --git a/metadata/md5-cache/net-im/kotatogram-desktop-9999 b/metadata/md5-cache/net-im/kotatogram-desktop-9999 new file mode 100644 index 0000000..6c41db0 --- /dev/null +++ b/metadata/md5-cache/net-im/kotatogram-desktop-9999 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.11 dev-lang/python:3.10 ) >=dev-util/cmake-3.16 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test +DEPEND=app-arch/lz4:= dev-cpp/abseil-cpp:= dev-libs/libdispatch dev-libs/openssl:= dev-libs/xxhash >=dev-qt/qtcore-5.15:5 >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] >=dev-qt/qtimageformats-5.15:5 >=dev-qt/qtnetwork-5.15:5[ssl] >=dev-qt/qtsvg-5.15:5 >=dev-qt/qtwidgets-5.15:5[png,X?] media-fonts/open-sans media-libs/fontconfig:= ~media-libs/libtgvoip-2.4.4_p20220117 media-libs/openal media-libs/opus:= media-libs/rnnoise ~media-libs/tg_owt-0_pre20220209[screencast=,X=] media-video/ffmpeg:=[opus] sys-libs/zlib:=[minizip] dbus? ( dev-cpp/glibmm:2 dev-qt/qtdbus:5 dev-libs/libdbusmenu-qt[qt5(+)] ) enchant? ( app-text/enchant:= ) hunspell? ( >=app-text/hunspell-1.7:= ) jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) wayland? ( kde-frameworks/kwayland:= ) X? ( x11-libs/libxcb:= ) dev-cpp/range-v3 =dev-cpp/ms-gsl-3* +DESCRIPTION=Experimental Telegram Desktop fork +EAPI=8 +HOMEPAGE=https://github.com/kotatogram/kotatogram-desktop/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=xdg cmake python-any-r1 optfeature flag-o-matic +IUSE=+dbus enchant +hunspell +jemalloc screencast +spell wayland +X +KEYWORDS=~amd64 ~arm64 ~ppc64 ~riscv +LICENSE=BSD GPL-3-with-openssl-exception LGPL-2+ +RDEPEND=app-arch/lz4:= dev-cpp/abseil-cpp:= dev-libs/libdispatch dev-libs/openssl:= dev-libs/xxhash >=dev-qt/qtcore-5.15:5 >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] >=dev-qt/qtimageformats-5.15:5 >=dev-qt/qtnetwork-5.15:5[ssl] >=dev-qt/qtsvg-5.15:5 >=dev-qt/qtwidgets-5.15:5[png,X?] media-fonts/open-sans media-libs/fontconfig:= ~media-libs/libtgvoip-2.4.4_p20220117 media-libs/openal media-libs/opus:= media-libs/rnnoise ~media-libs/tg_owt-0_pre20220209[screencast=,X=] media-video/ffmpeg:=[opus] sys-libs/zlib:=[minizip] dbus? ( dev-cpp/glibmm:2 dev-qt/qtdbus:5 dev-libs/libdbusmenu-qt[qt5(+)] ) enchant? ( app-text/enchant:= ) hunspell? ( >=app-text/hunspell-1.7:= ) jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) wayland? ( kde-frameworks/kwayland:= ) X? ( x11-libs/libxcb:= ) +REQUIRED_USE=spell? ( ^^ ( enchant hunspell ) ) +SLOT=0 +SRC_URI=https://github.com/kotatogram/kotatogram-desktop/releases/download/k9999/kotatogram-desktop-9999-full.tar.gz +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 +_md5_=a8cb469ae92773e0d430eb4e58c72f6b diff --git a/metadata/md5-cache/net-im/simplex-desktop-bin-6.1.1 b/metadata/md5-cache/net-im/simplex-desktop-bin-6.1.1 new file mode 100644 index 0000000..81913ae --- /dev/null +++ b/metadata/md5-cache/net-im/simplex-desktop-bin-6.1.1 @@ -0,0 +1,11 @@ +DEFINED_PHASES=install prepare unpack +DEPEND= +DESCRIPTION=The first messaging network operating without user identifiers of any kind +EAPI=8 +HOMEPAGE=https://github.com/simplex-chat/simplex-chat +KEYWORDS=~amd64 +LICENSE=AGPL-3 +RDEPEND= +SLOT=0 +SRC_URI=https://github.com/simplex-chat/simplex-chat/releases/download/v6.1.1/simplex-desktop-ubuntu-22_04-x86_64.deb -> simplex-desktop-bin-6.1.1.deb +_md5_=28dd03cb8ac194ff825fc6068ca463a1 diff --git a/metadata/md5-cache/net-im/telegram-desktop-4.14.0 b/metadata/md5-cache/net-im/telegram-desktop-4.14.0 index 0ef7fe2..a16583a 100644 --- a/metadata/md5-cache/net-im/telegram-desktop-4.14.0 +++ b/metadata/md5-cache/net-im/telegram-desktop-4.14.0 @@ -13,5 +13,5 @@ RDEPEND=!net-im/telegram-desktop-bin app-arch/lz4:= dev-cpp/abseil-cpp:= >=dev-c REQUIRED_USE=qt6-imageformats? ( qt6 ) SLOT=0 SRC_URI=https://github.com/telegramdesktop/tdesktop/releases/download/v4.14.0/tdesktop-4.14.0-full.tar.gz -_eclasses_=xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 _md5_=8cc720daaa7c5f6d418755bbdec07fb3 diff --git a/metadata/md5-cache/net-im/telegram-desktop-4.14.1 b/metadata/md5-cache/net-im/telegram-desktop-4.14.1 index 4449647..b318c8e 100644 --- a/metadata/md5-cache/net-im/telegram-desktop-4.14.1 +++ b/metadata/md5-cache/net-im/telegram-desktop-4.14.1 @@ -13,5 +13,5 @@ RDEPEND=!net-im/telegram-desktop-bin app-arch/lz4:= dev-cpp/abseil-cpp:= >=dev-c REQUIRED_USE=qt6-imageformats? ( qt6 ) SLOT=0 SRC_URI=https://github.com/telegramdesktop/tdesktop/releases/download/v4.14.1/tdesktop-4.14.1-full.tar.gz -_eclasses_=xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 _md5_=8cc720daaa7c5f6d418755bbdec07fb3 diff --git a/metadata/md5-cache/net-im/telegram-desktop-4.14.2 b/metadata/md5-cache/net-im/telegram-desktop-4.14.2 index e439dbd..c000c55 100644 --- a/metadata/md5-cache/net-im/telegram-desktop-4.14.2 +++ b/metadata/md5-cache/net-im/telegram-desktop-4.14.2 @@ -13,5 +13,5 @@ RDEPEND=!net-im/telegram-desktop-bin app-arch/lz4:= dev-cpp/abseil-cpp:= >=dev-c REQUIRED_USE=qt6-imageformats? ( qt6 ) SLOT=0 SRC_URI=https://github.com/telegramdesktop/tdesktop/releases/download/v4.14.2/tdesktop-4.14.2-full.tar.gz -_eclasses_=xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 _md5_=8cc720daaa7c5f6d418755bbdec07fb3 diff --git a/metadata/md5-cache/net-im/telegram-desktop-4.15.2 b/metadata/md5-cache/net-im/telegram-desktop-4.15.2 index 1302929..5bef063 100644 --- a/metadata/md5-cache/net-im/telegram-desktop-4.15.2 +++ b/metadata/md5-cache/net-im/telegram-desktop-4.15.2 @@ -13,5 +13,5 @@ RDEPEND=!net-im/telegram-desktop-bin app-arch/lz4:= dev-cpp/abseil-cpp:= >=dev-c REQUIRED_USE=^^ ( enchant hunspell ) qt6-imageformats? ( qt6 ) SLOT=0 SRC_URI=https://github.com/telegramdesktop/tdesktop/releases/download/v4.15.2/tdesktop-4.15.2-full.tar.gz -_eclasses_=xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 _md5_=8de347c2fcdb6dde6ddcac7e2165d207 diff --git a/metadata/md5-cache/net-im/telegram-desktop-9999 b/metadata/md5-cache/net-im/telegram-desktop-9999 index 1b71475..a0906cc 100644 --- a/metadata/md5-cache/net-im/telegram-desktop-9999 +++ b/metadata/md5-cache/net-im/telegram-desktop-9999 @@ -12,5 +12,5 @@ PROPERTIES=live RDEPEND=!net-im/telegram-desktop-bin app-arch/lz4:= dbus? ( dev-cpp/glibmm:2.68 ) >=dev-cpp/abseil-cpp-20220623.1:= dev-libs/crc32c dev-libs/glib:2 dev-libs/jemalloc:=[-lazy-lock] dev-libs/libevent:= dev-libs/openssl:= dev-libs/protobuf:= >=dev-qt/qtcore-5.15:5 >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] >=dev-qt/qtimageformats-5.15:5 >=dev-qt/qtnetwork-5.15:5[ssl] >=dev-qt/qtsvg-5.15:5 >=dev-qt/qtwidgets-5.15:5[png,X?] enchant? ( app-text/enchant:= ) hunspell? ( >=app-text/hunspell-1.7:= ) kde-frameworks/kcoreaddons:= media-fonts/open-sans media-libs/fontconfig:= media-libs/libjpeg-turbo:= >=media-libs/libvpx-1.10.0:= media-libs/openal media-libs/openh264:= media-libs/opus:= media-libs/rnnoise media-sound/pulseaudio media-video/ffmpeg:=[opus] media-video/pipewire:= net-libs/usrsctp sys-libs/zlib:=[minizip] X? ( x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXrandr x11-libs/libXtst x11-libs/libxcb:= ) REQUIRED_USE=enchant? ( !hunspell ) SLOT=0 -_eclasses_=xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 flag-o-matic fa33e3696fe4689dda7e9affe92e2c94 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 6881b056477c23167d9a6b33e146374e python-any-r1 5af215c3da6aef17a2d5e02968df1d5a optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 optfeature 538bce96e5589935b57e178e8635f301 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=c6a43df80c4eb38ff107a645f54fecc7 diff --git a/metadata/md5-cache/net-im/viber-bin-21.0.0.1 b/metadata/md5-cache/net-im/viber-bin-21.0.0.1 index 79444cb..dae2327 100644 --- a/metadata/md5-cache/net-im/viber-bin-21.0.0.1 +++ b/metadata/md5-cache/net-im/viber-bin-21.0.0.1 @@ -10,5 +10,5 @@ RDEPEND=dev-libs/nss media-libs/gst-plugins-base media-libs/gst-plugins-good med RESTRICT=bindist mirror SLOT=0 SRC_URI=https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb -> viber-bin-21.0.0.1.deb -_eclasses_=multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe toolchain-funcs 333970c740aa7b1a92e4fcdc52f612bd multilib c19072c3cd7ac5cb21de013f7e9832e0 unpacker fb4b84181244b3b9990fa0bf40232dd2 xdg-utils baea6080dd821f5562d715887954c9d3 xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 unpacker fb4b84181244b3b9990fa0bf40232dd2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=ae313768638044cd6f3ac7863de5c25a diff --git a/metadata/md5-cache/net-libs/ldns-1.8.3 b/metadata/md5-cache/net-libs/ldns-1.8.3 index 9c95240..c2be5ff 100644 --- a/metadata/md5-cache/net-libs/ldns-1.8.3 +++ b/metadata/md5-cache/net-libs/ldns-1.8.3 @@ -13,5 +13,5 @@ REQUIRED_USE=python? ( ^^ ( python_single_target_python3_11 ) ) RESTRICT=test SLOT=0/3 SRC_URI=https://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz -_eclasses_=multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 out-of-source-utils a0eb740debe3d472355e8bc52f62e0ac multibuild 45df57b1877333d70a9e894f6c8fdb3a multilib-build 8cdc28ee17e24f9f57730a28fe166a21 multilib-minimal b93489cf816ff90770a3c1c61b25db44 +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 _md5_=4429130e671ce9edd0d98a992d42db65 diff --git a/metadata/md5-cache/net-libs/libtorrent-rasterbar-1.2.18 b/metadata/md5-cache/net-libs/libtorrent-rasterbar-1.2.18 index 32a890f..f78c4f3 100644 --- a/metadata/md5-cache/net-libs/libtorrent-rasterbar-1.2.18 +++ b/metadata/md5-cache/net-libs/libtorrent-rasterbar-1.2.18 @@ -1,6 +1,6 @@ -BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 +BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 DEFINED_PHASES=compile configure install prepare setup test -DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( dev-libs/openssl:= ) +DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( dev-libs/openssl:= ) DESCRIPTION=C++ BitTorrent implementation focusing on efficiency and scalability EAPI=7 HOMEPAGE=https://libtorrent.org/ https://github.com/arvidn/libtorrent @@ -8,10 +8,10 @@ INHERIT=cmake python-single-r1 IUSE=+dht debug python ssl test python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 LICENSE=BSD -RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( dev-libs/openssl:= ) +RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( dev-libs/openssl:= ) REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) ) RESTRICT=!test? ( test ) SLOT=0/10 SRC_URI=https://github.com/arvidn/libtorrent/releases/download/v1.2.18/libtorrent-rasterbar-1.2.18.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 edos2unix 33e347e171066657f91f8b0c72ec8773 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 wrapper 4a1902f969e5718126434fc35f3a0d9c eutils 8f942ebdcf04334697649d4a0bf65a32 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c eapi8-dosym 741bfa77afb2a9321261501aca58c208 python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=daf8f459515cb747d6365184aad2e1b7 diff --git a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.6 b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.6 index e937789..4503ecb 100644 --- a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.6 +++ b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.6 @@ -1,6 +1,6 @@ -BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) ) >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 +BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 DEFINED_PHASES=compile configure install prepare setup test -DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) DESCRIPTION=C++ BitTorrent implementation focusing on efficiency and scalability EAPI=8 HOMEPAGE=https://libtorrent.org/ https://github.com/arvidn/libtorrent @@ -8,10 +8,10 @@ INHERIT=cmake python-single-r1 IUSE=+dht debug gnutls python ssl test +python_single_target_python3_10 KEYWORDS=amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86 LICENSE=BSD -RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 ) ) RESTRICT=!test? ( test ) SLOT=0/2.0 SRC_URI=https://github.com/arvidn/libtorrent/releases/download/v2.0.6/libtorrent-rasterbar-2.0.6.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=29daececce48e08fd015fb6ec041d1d9 diff --git a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.7 b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.7 index d41ea4b..f251708 100644 --- a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.7 +++ b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.7 @@ -1,6 +1,6 @@ -BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 +BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 DEFINED_PHASES=compile configure install prepare setup test -DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) DESCRIPTION=C++ BitTorrent implementation focusing on efficiency and scalability EAPI=8 HOMEPAGE=https://libtorrent.org/ https://github.com/arvidn/libtorrent @@ -8,10 +8,10 @@ INHERIT=cmake python-single-r1 IUSE=+dht debug gnutls python ssl test python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 LICENSE=BSD -RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) ) RESTRICT=!test? ( test ) SLOT=0/2.0 SRC_URI=https://github.com/arvidn/libtorrent/releases/download/v2.0.7/libtorrent-rasterbar-2.0.7.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=ca99fc9f2c5aabeccf0fa91bbb31ab17 diff --git a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.8 b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.8 index f33fb76..cfcce6c 100644 --- a/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.8 +++ b/metadata/md5-cache/net-libs/libtorrent-rasterbar-2.0.8 @@ -1,6 +1,6 @@ -BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 +BDEPEND=python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 DEFINED_PHASES=compile configure install prepare setup test -DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +DEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) DESCRIPTION=C++ BitTorrent implementation focusing on efficiency and scalability EAPI=8 HOMEPAGE=https://libtorrent.org/ https://github.com/arvidn/libtorrent @@ -8,10 +8,10 @@ INHERIT=cmake python-single-r1 IUSE=+dht debug gnutls python ssl test python_single_target_python3_10 python_single_target_python3_11 KEYWORDS=~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 LICENSE=BSD -RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( >=dev-lang/python-3.10.9-r1:3.10 ) python_single_target_python3_11? ( >=dev-lang/python-3.11.1-r1:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) +RDEPEND=dev-libs/boost:= python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( dev-libs/boost[python,python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-libs/boost[python,python_targets_python3_11(-)] ) ) ssl? ( gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) ) RESTRICT=!test? ( test ) SLOT=0/2.0 SRC_URI=https://github.com/arvidn/libtorrent/releases/download/v2.0.8/libtorrent-rasterbar-2.0.8.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c python-utils-r1 4544ab96b58e177dc52d75e42f5ee307 python-single-r1 75118e916668a74c660a13b0ecb22562 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=ed7968e06ea4655152df4a7ce58da463 diff --git a/metadata/md5-cache/net-libs/xdp-tools-1.5.0-r1 b/metadata/md5-cache/net-libs/xdp-tools-1.5.0-r1 new file mode 100644 index 0000000..78bd69c --- /dev/null +++ b/metadata/md5-cache/net-libs/xdp-tools-1.5.0-r1 @@ -0,0 +1,15 @@ +BDEPEND=dev-util/bpftool sys-apps/grep[pcre] llvm-core/clang:*[llvm_targets_BPF] sys-devel/m4 +DEFINED_PHASES=configure install postinst prepare setup test +DEPEND=dev-libs/libbpf:= net-libs/libpcap sys-libs/zlib virtual/libelf +DESCRIPTION=The libxdp library and various tools for use with XDP +EAPI=8 +HOMEPAGE=https://github.com/xdp-project/xdp-tools +INHERIT=flag-o-matic linux-info toolchain-funcs +IUSE=+tools test +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 +LICENSE=GPL-2 LGPL-2.1 BSD-2 +RDEPEND=dev-libs/libbpf:= net-libs/libpcap sys-libs/zlib virtual/libelf +SLOT=0 +SRC_URI=https://github.com/xdp-project/xdp-tools/archive/refs/tags/v1.5.0.tar.gz -> xdp-tools-1.5.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 linux-info ea4122ba1d8791a12b78e53f9510a2e3 +_md5_=581cd7ea91e122fef19f76c3a4328edd diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.3.9 b/metadata/md5-cache/net-p2p/qbittorrent-4.3.9 index 2e4ec48..c38f9b0 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.3.9 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.3.9 @@ -12,5 +12,5 @@ RDEPEND=dev-libs/boost:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtxml:5 REQUIRED_USE=dbus? ( X ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.3.9.tar.gz -> qbittorrent-4.3.9.tar.gz -_eclasses_=xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=b48fa21d9e3c89a30f9f9ca4ceb6b488 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1 b/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1 index 2069aea..392352a 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst postrm preinst prepare test DEPEND=dev-libs/boost:= dev-libs/openssl:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 >=net-libs/libtorrent-rasterbar-1.2.14:= sys-libs/zlib dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= dev-libs/openssl:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[s REQUIRED_USE=dbus? ( gui ) || ( gui webui ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.4.3.1.tar.gz -> qbittorrent-4.4.3.1.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=41553592f28d9587832bab441d280cd3 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1-r1 b/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1-r1 index 921534b..98c6c6c 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1-r1 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.4.3.1-r1 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst postrm preinst prepare test DEPEND=dev-libs/boost:= dev-libs/openssl:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 >=net-libs/libtorrent-rasterbar-1.2.14:= sys-libs/zlib dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= dev-libs/openssl:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[s REQUIRED_USE=dbus? ( gui ) || ( gui webui ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.4.3.1.tar.gz -> qbittorrent-4.4.3.1.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=9e8d47508fc2c2fe1226dce649ff0f71 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.4.4 b/metadata/md5-cache/net-p2p/qbittorrent-4.4.4 index 61af9b6..01a6e65 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.4.4 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.4.4 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst postrm preinst prepare test DEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 >=net-libs/libtorrent-rasterbar-1.2.14:= >=sys-libs/zlib-1.2.11 dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnet REQUIRED_USE=dbus? ( gui ) || ( gui webui ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.4.4.tar.gz -> qbittorrent-4.4.4.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=166cba7ac49b5a17ae48d898c49b8470 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.4.5-r2 b/metadata/md5-cache/net-p2p/qbittorrent-4.4.5-r2 index 52757db..7c581f5 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.4.5-r2 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.4.5-r2 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst postrm preinst prepare test DEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 =sys-libs/zlib-1.2.11 dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnet REQUIRED_USE=dbus? ( gui ) || ( gui webui ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.4.5.tar.gz -> qbittorrent-4.4.5.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=ac554934497c6374d5d9a1881927b730 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-4.5.0 b/metadata/md5-cache/net-p2p/qbittorrent-4.5.0 index 917aaf4..e5b2883 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-4.5.0 +++ b/metadata/md5-cache/net-p2p/qbittorrent-4.5.0 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig DEFINED_PHASES=compile configure install postinst postrm preinst prepare test DEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 net-libs/libtorrent-rasterbar >=sys-libs/zlib-1.2.11 dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnet REQUIRED_USE=dbus? ( gui ) || ( gui webui ) SLOT=0 SRC_URI=https://github.com/qbittorrent/qBittorrent/archive/release-4.5.0.tar.gz -> qbittorrent-4.5.0.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=7ccd8c28d81870ecaac3de24b8abe3b3 diff --git a/metadata/md5-cache/net-p2p/qbittorrent-9999 b/metadata/md5-cache/net-p2p/qbittorrent-9999 index 28e2f9c..bc77442 100644 --- a/metadata/md5-cache/net-p2p/qbittorrent-9999 +++ b/metadata/md5-cache/net-p2p/qbittorrent-9999 @@ -1,4 +1,4 @@ -BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig >=dev-vcs/git-1.8.2.1[curl] +BDEPEND=dev-qt/linguist-tools:5 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig >=dev-vcs/git-1.8.2.1[curl] DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack DEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtsql:5 dev-qt/qtxml:5 >=net-libs/libtorrent-rasterbar-1.2.14:= >=sys-libs/zlib-1.2.11 dbus? ( dev-qt/qtdbus:5 ) gui? ( dev-libs/geoip dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) DESCRIPTION=BitTorrent client in C++ and Qt @@ -13,5 +13,5 @@ RDEPEND=dev-libs/boost:= >=dev-libs/openssl-1.1.1:= dev-qt/qtcore:5 dev-qt/qtnet REQUIRED_USE=dbus? ( gui ) || ( gui webui ) RESTRICT=!test? ( test ) SLOT=0 -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 flag-o-matic 16483e58fadb0d47b4528f0aa7e171f6 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 76050953ad5b70d7e09a6ca55558db92 xdg-utils baea6080dd821f5562d715887954c9d3 cmake 7fb5980de96325cbab639f5b2187357c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild bddcb51b74f4a76724ff7cf8e7388869 systemd 5f4bb0758df2e483babf68cd517078ca xdg 4a14c5c24f121e7da66e5aab4a168c6e git-r3 27e13c09a4c7e4c78ac812f74727e676 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 systemd 54bd206bb5c4efac6ae28b6b006713b0 xdg 3ef49a87c52c8b77c476351195dfe575 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=0ce9a0192250cc92aad7f063dcf0e27f diff --git a/metadata/md5-cache/sci-electronics/nvc-1.15.0 b/metadata/md5-cache/sci-electronics/nvc-1.15.0 new file mode 100644 index 0000000..2ed7059 --- /dev/null +++ b/metadata/md5-cache/sci-electronics/nvc-1.15.0 @@ -0,0 +1,17 @@ +BDEPEND=dev-libs/check sys-apps/which sys-devel/bison sys-devel/flex >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=app-arch/bzip2:= app-arch/zstd:= dev-libs/capstone:= dev-libs/elfutils dev-libs/icu:= dev-libs/libffi:= dev-libs/libxml2:= sys-libs/ncurses:= sys-libs/zlib:= llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) +DESCRIPTION=NVC is a VHDL compiler and simulator +EAPI=8 +HOMEPAGE=https://www.nickg.me.uk/nvc/ https://github.com/nickg/nvc/ +INHERIT=autotools bash-completion-r1 llvm-r1 +IUSE=debug llvm +llvm_slot_20 +KEYWORDS=~amd64 ~x86 +LICENSE=GPL-3+ +RDEPEND=app-arch/bzip2:= app-arch/zstd:= dev-libs/capstone:= dev-libs/elfutils dev-libs/icu:= dev-libs/libffi:= dev-libs/libxml2:= sys-libs/ncurses:= sys-libs/zlib:= llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/nickg/nvc/archive/r1.15.0.tar.gz -> nvc-1.15.0.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 bash-completion-r1 767861f3744f589ee5291c1698b1c082 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=a1c46ff82adf1fb5ede554baace37312 diff --git a/metadata/md5-cache/sci-electronics/nvc-1.15.1 b/metadata/md5-cache/sci-electronics/nvc-1.15.1 new file mode 100644 index 0000000..f3f6143 --- /dev/null +++ b/metadata/md5-cache/sci-electronics/nvc-1.15.1 @@ -0,0 +1,17 @@ +BDEPEND=dev-libs/check sys-apps/which sys-devel/bison sys-devel/flex >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=app-arch/bzip2:= app-arch/zstd:= dev-libs/capstone:= dev-libs/elfutils dev-libs/icu:= dev-libs/libffi:= dev-libs/libxml2:= sys-libs/ncurses:= sys-libs/zlib:= llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) +DESCRIPTION=NVC is a VHDL compiler and simulator +EAPI=8 +HOMEPAGE=https://www.nickg.me.uk/nvc/ https://github.com/nickg/nvc/ +INHERIT=autotools bash-completion-r1 llvm-r1 +IUSE=debug llvm +llvm_slot_20 +KEYWORDS=~amd64 ~x86 +LICENSE=GPL-3+ +RDEPEND=app-arch/bzip2:= app-arch/zstd:= dev-libs/capstone:= dev-libs/elfutils dev-libs/icu:= dev-libs/libffi:= dev-libs/libxml2:= sys-libs/ncurses:= sys-libs/zlib:= llvm? ( llvm_slot_20? ( llvm-core/llvm:20= ) ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/nickg/nvc/archive/r1.15.1.tar.gz -> nvc-1.15.1.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 bash-completion-r1 767861f3744f589ee5291c1698b1c082 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=a1c46ff82adf1fb5ede554baace37312 diff --git a/metadata/md5-cache/sci-libs/hipBLASLt-6.1.1-r1 b/metadata/md5-cache/sci-libs/hipBLASLt-6.1.1-r1 new file mode 100644 index 0000000..f165022 --- /dev/null +++ b/metadata/md5-cache/sci-libs/hipBLASLt-6.1.1-r1 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/rocm-cmake || ( ( dev-lang/python:3.13 dev-python/msgpack[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] dev-python/joblib[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/msgpack[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] dev-python/joblib[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/msgpack[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] dev-python/joblib[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/msgpack[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/joblib[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-util/hip:0/6.1 dev-cpp/msgpack-cxx sci-libs/hipBLAS:0/6.1 +DESCRIPTION=General matrix-matrix operations library for AMD Instinct accelerators +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipBLASLt +INHERIT=cmake python-any-r1 llvm-r1 rocm +IUSE=+amdgpu_targets_gfx90a +amdgpu_targets_gfx940 +amdgpu_targets_gfx941 +amdgpu_targets_gfx942 test +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.1 dev-cpp/msgpack-cxx sci-libs/hipBLAS:0/6.1 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/hipBLASLt/archive/rocm-6.1.1.tar.gz -> hipBLASLt-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=9cf43962399dff47d443ada0d41377ae diff --git a/metadata/md5-cache/sci-libs/hipBLASLt-6.3.1 b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.1 new file mode 100644 index 0000000..fd9583c --- /dev/null +++ b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.1 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/rocm-cmake sci-libs/hipBLAS-common:0/6.3 || ( ( dev-lang/python:3.13 dev-python/msgpack[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] dev-python/joblib[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/msgpack[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] dev-python/joblib[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/msgpack[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] dev-python/joblib[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/msgpack[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/joblib[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-cpp/gtest virtual/blas dev-util/rocm-smi:0/6.3 ) benchmark? ( virtual/blas llvm-runtimes/openmp ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +DESCRIPTION=General matrix-matrix operations library for AMD Instinct accelerators +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipBLASLt +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 rocm +IUSE=+amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx940 +amdgpu_targets_gfx941 +amdgpu_targets_gfx942 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 test benchmark +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/hipBLASLt/archive/rocm-6.3.1.tar.gz -> hipBLASLt-6.3.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=52a81f0636108682f527ab47cb214a9e diff --git a/metadata/md5-cache/sci-libs/hipBLASLt-6.3.2 b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.2 new file mode 100644 index 0000000..4b9beea --- /dev/null +++ b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/rocm-cmake sci-libs/hipBLAS-common:0/6.3 || ( ( dev-lang/python:3.13 dev-python/msgpack[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] dev-python/joblib[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/msgpack[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] dev-python/joblib[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/msgpack[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] dev-python/joblib[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/msgpack[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/joblib[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-cpp/gtest virtual/blas dev-util/rocm-smi:0/6.3 ) benchmark? ( virtual/blas llvm-runtimes/openmp ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +DESCRIPTION=General matrix-matrix operations library for AMD Instinct accelerators +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipBLASLt +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 rocm +IUSE=+amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx940 +amdgpu_targets_gfx941 +amdgpu_targets_gfx942 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 test benchmark +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/hipBLASLt/archive/rocm-6.3.2.tar.gz -> hipBLASLt-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=52a81f0636108682f527ab47cb214a9e diff --git a/metadata/md5-cache/sci-libs/hipBLASLt-6.3.3 b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.3 new file mode 100644 index 0000000..5f52873 --- /dev/null +++ b/metadata/md5-cache/sci-libs/hipBLASLt-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=dev-build/rocm-cmake sci-libs/hipBLAS-common:0/6.3 || ( ( dev-lang/python:3.13 dev-python/msgpack[python_targets_python3_13(-)] dev-python/pyyaml[python_targets_python3_13(-)] dev-python/joblib[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/msgpack[python_targets_python3_12(-)] dev-python/pyyaml[python_targets_python3_12(-)] dev-python/joblib[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/msgpack[python_targets_python3_11(-)] dev-python/pyyaml[python_targets_python3_11(-)] dev-python/joblib[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/msgpack[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/joblib[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-cpp/gtest virtual/blas dev-util/rocm-smi:0/6.3 ) benchmark? ( virtual/blas llvm-runtimes/openmp ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +DESCRIPTION=General matrix-matrix operations library for AMD Instinct accelerators +EAPI=8 +HOMEPAGE=https://github.com/ROCm/hipBLASLt +INHERIT=cmake flag-o-matic llvm-r1 python-any-r1 rocm +IUSE=+amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx940 +amdgpu_targets_gfx941 +amdgpu_targets_gfx942 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 test benchmark +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 dev-cpp/msgpack-cxx +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/hipBLASLt/archive/rocm-6.3.3.tar.gz -> hipBLASLt-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=52a81f0636108682f527ab47cb214a9e diff --git a/metadata/md5-cache/sci-libs/miopen-5.7.1-r1 b/metadata/md5-cache/sci-libs/miopen-5.7.1-r1 new file mode 100644 index 0000000..9937bdc --- /dev/null +++ b/metadata/md5-cache/sci-libs/miopen-5.7.1-r1 @@ -0,0 +1,16 @@ +BDEPEND=dev-libs/half:0/1 dev-build/rocm-cmake app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip >=dev-db/sqlite-3.17 sci-libs/rocBLAS:0/5.7[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/composable-kernel:0/5.7[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep !!llvm-core/llvm:0 +DESCRIPTION=AMD's Machine Intelligence Library +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/MIOpen +INHERIT=cmake flag-o-matic llvm rocm +IUSE=debug test +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip >=dev-db/sqlite-3.17 sci-libs/rocBLAS:0/5.7[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/composable-kernel:0/5.7[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep +RESTRICT=!test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.7.1.tar.gz -> MIOpen-5.7.1.tar.gz test? ( https://github.com/google/googletest/archive/e2239ee6043f73722e7aa812a459f54a28552929.tar.gz -> gtest-1.11.0_p20210611.tar.gz ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be rocm 826765f795a41b937d1bfe8e709346cd +_md5_=71d5af170c516041459920cb924cc876 diff --git a/metadata/md5-cache/sci-libs/miopen-6.1.1 b/metadata/md5-cache/sci-libs/miopen-6.1.1 new file mode 100644 index 0000000..69fcc69 --- /dev/null +++ b/metadata/md5-cache/sci-libs/miopen-6.1.1 @@ -0,0 +1,17 @@ +BDEPEND=>=dev-libs/half-1.12.0-r1 dev-build/rocm-cmake test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.1 >=dev-db/sqlite-3.17 sci-libs/rocBLAS:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/composable-kernel:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] dev-util/roctracer:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep +DESCRIPTION=AMD's Machine Intelligence Library +EAPI=8 +HOMEPAGE=https://github.com/ROCm/MIOpen +INHERIT=cmake flag-o-matic llvm-r1 rocm +IUSE=debug test +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.1 >=dev-db/sqlite-3.17 sci-libs/rocBLAS:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/composable-kernel:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] dev-util/roctracer:0/6.1[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCm/MIOpen/archive/rocm-6.1.1.tar.gz -> MIOpen-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=b7d7e90b4ff86bb3473c5c612567670a diff --git a/metadata/md5-cache/sci-libs/miopen-6.3.2 b/metadata/md5-cache/sci-libs/miopen-6.3.2 new file mode 100644 index 0000000..6c4d4ec --- /dev/null +++ b/metadata/md5-cache/sci-libs/miopen-6.3.2 @@ -0,0 +1,17 @@ +BDEPEND=>=dev-libs/half-1.12.0-r1 dev-build/rocm-cmake test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.3 >=dev-db/sqlite-3.17 sci-libs/rocRAND:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep composable-kernel? ( sci-libs/composable-kernel:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) hipblaslt? ( sci-libs/hipBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/hipBLASLt:0/6.3 ) rocblas? ( sci-libs/rocBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) roctracer? ( dev-util/roctracer:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) +DESCRIPTION=AMD's Machine Intelligence Library +EAPI=8 +HOMEPAGE=https://github.com/ROCm/MIOpen +INHERIT=cmake flag-o-matic llvm-r1 rocm +IUSE=composable-kernel debug hipblaslt rocblas roctracer test +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 >=dev-db/sqlite-3.17 sci-libs/rocRAND:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep composable-kernel? ( sci-libs/composable-kernel:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) hipblaslt? ( sci-libs/hipBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/hipBLASLt:0/6.3 ) rocblas? ( sci-libs/rocBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) roctracer? ( dev-util/roctracer:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/MIOpen/archive/rocm-6.3.2.tar.gz -> MIOpen-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=157e73694c35979f18c0059b7d803630 diff --git a/metadata/md5-cache/sci-libs/miopen-6.3.3 b/metadata/md5-cache/sci-libs/miopen-6.3.3 new file mode 100644 index 0000000..9196e88 --- /dev/null +++ b/metadata/md5-cache/sci-libs/miopen-6.3.3 @@ -0,0 +1,17 @@ +BDEPEND=>=dev-libs/half-1.12.0-r1 dev-build/rocm-cmake test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-util/hip:0/6.3 >=dev-db/sqlite-3.17 sci-libs/rocRAND:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep composable-kernel? ( sci-libs/composable-kernel:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) hipblaslt? ( sci-libs/hipBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/hipBLASLt:0/6.3 ) rocblas? ( sci-libs/rocBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) roctracer? ( dev-util/roctracer:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) +DESCRIPTION=AMD's Machine Intelligence Library +EAPI=8 +HOMEPAGE=https://github.com/ROCm/MIOpen +INHERIT=cmake flag-o-matic llvm-r1 rocm +IUSE=composable-kernel debug hipblaslt rocblas roctracer test +llvm_slot_20 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=MIT +RDEPEND=dev-util/hip:0/6.3 >=dev-db/sqlite-3.17 sci-libs/rocRAND:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] >=dev-libs/boost-1.72 dev-cpp/nlohmann_json dev-cpp/frugally-deep composable-kernel? ( sci-libs/composable-kernel:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) hipblaslt? ( sci-libs/hipBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] sci-libs/hipBLASLt:0/6.3 ) rocblas? ( sci-libs/rocBLAS:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) roctracer? ( dev-util/roctracer:0/6.3[amdgpu_targets_gfx906(-)?,amdgpu_targets_gfx908(-)?,amdgpu_targets_gfx90a(-)?,amdgpu_targets_gfx942(-)?,amdgpu_targets_gfx1030(-)?,amdgpu_targets_gfx1100(-)?,amdgpu_targets_gfx803(-)?,amdgpu_targets_gfx900(-)?,amdgpu_targets_gfx940(-)?,amdgpu_targets_gfx941(-)?,amdgpu_targets_gfx1010(-)?,amdgpu_targets_gfx1011(-)?,amdgpu_targets_gfx1012(-)?,amdgpu_targets_gfx1031(-)?,amdgpu_targets_gfx1101(-)?,amdgpu_targets_gfx1102(-)?] ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/MIOpen/archive/rocm-6.3.3.tar.gz -> MIOpen-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda rocm 826765f795a41b937d1bfe8e709346cd +_md5_=157e73694c35979f18c0059b7d803630 diff --git a/metadata/md5-cache/sci-libs/rocBLAS-5.7.1-r2 b/metadata/md5-cache/sci-libs/rocBLAS-5.7.1-r2 new file mode 100644 index 0000000..4aec1c1 --- /dev/null +++ b/metadata/md5-cache/sci-libs/rocBLAS-5.7.1-r2 @@ -0,0 +1,16 @@ +BDEPEND=>=dev-build/rocm-cmake-5.3 dev-util/Tensile:0/5.7 dev-python/joblib test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare test +DEPEND=>=dev-cpp/msgpack-cxx-6.0.0 =dev-util/hip-5* test? ( virtual/blas dev-cpp/gtest llvm-runtimes/openmp ) benchmark? ( virtual/blas llvm-runtimes/openmp ) +DESCRIPTION=AMD's library for BLAS on ROCm +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/rocBLAS +INHERIT=cmake docs edo multiprocessing rocm +IUSE=benchmark test doc +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +KEYWORDS=~amd64 +LICENSE=BSD +REQUIRED_USE=|| ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx1030 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1100 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) +RESTRICT=!test? ( test ) +SLOT=0/5.7 +SRC_URI=https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-5.7.1.tar.gz -> rocm-rocBLAS-5.7.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 edo 367e103a74bf77e6a8da7894d999fa3c rocm 826765f795a41b937d1bfe8e709346cd +_md5_=373fd817fcc5db6cb0072c63b4cb1165 diff --git a/metadata/md5-cache/sci-libs/rocBLAS-6.1.1-r1 b/metadata/md5-cache/sci-libs/rocBLAS-6.1.1-r1 new file mode 100644 index 0000000..6ccbcde --- /dev/null +++ b/metadata/md5-cache/sci-libs/rocBLAS-6.1.1-r1 @@ -0,0 +1,16 @@ +BDEPEND=>=dev-build/rocm-cmake-5.3 video_cards_amdgpu? ( dev-util/Tensile:0/6.1 ) test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=>=dev-cpp/msgpack-cxx-6.0.0 dev-util/hip:0/6.1 test? ( virtual/blas dev-cpp/gtest llvm-runtimes/openmp ) benchmark? ( virtual/blas llvm-runtimes/openmp ) +DESCRIPTION=AMD's library for BLAS on ROCm +EAPI=8 +HOMEPAGE=https://github.com/ROCmSoftwarePlatform/rocBLAS +INHERIT=cmake docs edo multiprocessing rocm llvm-r1 +IUSE=benchmark test video_cards_amdgpu doc +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=BSD +REQUIRED_USE=|| ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.1 +SRC_URI=https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-6.1.1.tar.gz -> rocm-rocBLAS-6.1.1.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 edo 367e103a74bf77e6a8da7894d999fa3c rocm 826765f795a41b937d1bfe8e709346cd llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=7d336a26d7281437c8448e191049220a diff --git a/metadata/md5-cache/sci-libs/rocBLAS-6.3.2 b/metadata/md5-cache/sci-libs/rocBLAS-6.3.2 new file mode 100644 index 0000000..03e54de --- /dev/null +++ b/metadata/md5-cache/sci-libs/rocBLAS-6.3.2 @@ -0,0 +1,16 @@ +BDEPEND=>=dev-build/rocm-cmake-5.3 video_cards_amdgpu? ( dev-util/Tensile:0/6.3 ) hipblaslt? ( sci-libs/hipBLASLt:0/6.3 ) test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=>=dev-cpp/msgpack-cxx-6.0.0 dev-util/hip:0/6.3 test? ( virtual/blas dev-cpp/gtest llvm-runtimes/openmp ) benchmark? ( virtual/blas llvm-runtimes/openmp ) +DESCRIPTION=AMD's library for BLAS on ROCm +EAPI=8 +HOMEPAGE=https://github.com/ROCm/rocBLAS +INHERIT=cmake docs edo flag-o-matic multiprocessing rocm llvm-r1 +IUSE=benchmark hipblaslt test video_cards_amdgpu doc +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=BSD +REQUIRED_USE=|| ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/rocBLAS/archive/rocm-6.3.2.tar.gz -> rocm-rocBLAS-6.3.2.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 edo 367e103a74bf77e6a8da7894d999fa3c rocm 826765f795a41b937d1bfe8e709346cd llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=10666dd8b19c9c53c7f542d568330bcd diff --git a/metadata/md5-cache/sci-libs/rocBLAS-6.3.3 b/metadata/md5-cache/sci-libs/rocBLAS-6.3.3 new file mode 100644 index 0000000..bec1cb4 --- /dev/null +++ b/metadata/md5-cache/sci-libs/rocBLAS-6.3.3 @@ -0,0 +1,16 @@ +BDEPEND=>=dev-build/rocm-cmake-5.3 video_cards_amdgpu? ( dev-util/Tensile:0/6.3 ) hipblaslt? ( sci-libs/hipBLASLt:0/6.3 ) test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.20.5 doc? ( app-text/doxygen media-gfx/graphviz ) +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=>=dev-cpp/msgpack-cxx-6.0.0 dev-util/hip:0/6.3 test? ( virtual/blas dev-cpp/gtest llvm-runtimes/openmp ) benchmark? ( virtual/blas llvm-runtimes/openmp ) +DESCRIPTION=AMD's library for BLAS on ROCm +EAPI=8 +HOMEPAGE=https://github.com/ROCm/rocBLAS +INHERIT=cmake docs edo flag-o-matic multiprocessing rocm llvm-r1 +IUSE=benchmark hipblaslt test video_cards_amdgpu doc +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 +llvm_slot_20 +KEYWORDS=~amd64 +LICENSE=BSD +REQUIRED_USE=|| ( amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx942 amdgpu_targets_gfx1030 amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102 ) ^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0/6.3 +SRC_URI=https://github.com/ROCm/rocBLAS/archive/rocm-6.3.3.tar.gz -> rocm-rocBLAS-6.3.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 docs 006125f2158d2f16904ebd9114336058 edo 367e103a74bf77e6a8da7894d999fa3c rocm 826765f795a41b937d1bfe8e709346cd llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=10666dd8b19c9c53c7f542d568330bcd diff --git a/metadata/md5-cache/sys-apps/pkgcraft-tools-0.0.23 b/metadata/md5-cache/sys-apps/pkgcraft-tools-0.0.23 new file mode 100644 index 0000000..a4a258b --- /dev/null +++ b/metadata/md5-cache/sys-apps/pkgcraft-tools-0.0.23 @@ -0,0 +1,15 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-util/cargo-nextest ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 ) +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=pkgcraft-based tools for Gentoo +EAPI=8 +HOMEPAGE=https://pkgcraft.github.io/ +INHERIT=cargo edo multiprocessing llvm-r1 shell-completion +IUSE=test debug +llvm_slot_20 +KEYWORDS=amd64 ~arm64 +LICENSE=MIT Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/pkgcraft/pkgcraft/releases/download/pkgcraft-tools-0.0.23/pkgcraft-tools-0.0.23.tar.xz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 +_md5_=f80b2655c6fa652f135e1d8689c106c0 diff --git a/metadata/md5-cache/sys-apps/pkgcraft-tools-9999 b/metadata/md5-cache/sys-apps/pkgcraft-tools-9999 new file mode 100644 index 0000000..7485ded --- /dev/null +++ b/metadata/md5-cache/sys-apps/pkgcraft-tools-9999 @@ -0,0 +1,14 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) test? ( dev-util/cargo-nextest ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 ) >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=pkgcraft-based tools for Gentoo +EAPI=8 +HOMEPAGE=https://pkgcraft.github.io/ +INHERIT=cargo edo multiprocessing llvm-r1 shell-completion git-r3 +IUSE=test debug +llvm_slot_20 +LICENSE=MIT Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 +PROPERTIES=live +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 edo 367e103a74bf77e6a8da7894d999fa3c llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=4ae15e8d29b68167f44a970eda050f69 diff --git a/metadata/md5-cache/sys-apps/usbutils-014-r1 b/metadata/md5-cache/sys-apps/usbutils-014-r1 index ecbb481..cf4d14d 100644 --- a/metadata/md5-cache/sys-apps/usbutils-014-r1 +++ b/metadata/md5-cache/sys-apps/usbutils-014-r1 @@ -12,5 +12,5 @@ RDEPEND=virtual/libusb:1= virtual/libudev:= python? ( python_single_target_pytho REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 ) ) SLOT=0 SRC_URI=https://www.kernel.org/pub/linux/utils/usb/usbutils/usbutils-014.tar.xz -_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=99167b73cc7388fdcaad44ab14a366a0 diff --git a/metadata/md5-cache/sys-apps/usbutils-015 b/metadata/md5-cache/sys-apps/usbutils-015 index 2468538..c520671 100644 --- a/metadata/md5-cache/sys-apps/usbutils-015 +++ b/metadata/md5-cache/sys-apps/usbutils-015 @@ -12,5 +12,5 @@ RDEPEND=virtual/libusb:1= virtual/libudev:= python? ( python_single_target_pytho REQUIRED_USE=python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) ) SLOT=0 SRC_URI=https://www.kernel.org/pub/linux/utils/usb/usbutils/usbutils-015.tar.xz -_eclasses_=multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=1436d92b9790128d7bacaf4014c54941 diff --git a/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r2 b/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r2 new file mode 100644 index 0000000..d2d5df3 --- /dev/null +++ b/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r2 @@ -0,0 +1,16 @@ +BDEPEND=>=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 +DEFINED_PHASES=compile configure install prepare test +DEPEND=!static? ( dev-libs/expat dev-libs/libaio ) static? ( dev-libs/expat[static-libs(+)] dev-libs/libaio[static-libs(+)] ) test? ( >=dev-cpp/gtest-1.8.0 ) dev-libs/boost +DESCRIPTION=A suite of tools for thin provisioning on Linux +EAPI=7 +HOMEPAGE=https://github.com/jthornber/thin-provisioning-tools +INHERIT=autotools flag-o-matic +IUSE=static test +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3 +RDEPEND=!static? ( dev-libs/expat dev-libs/libaio ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 +_md5_=1487ba13e9897de8a3db81298698ca52 diff --git a/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r4 b/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r4 new file mode 100644 index 0000000..c08dbc2 --- /dev/null +++ b/metadata/md5-cache/sys-block/thin-provisioning-tools-0.9.0-r4 @@ -0,0 +1,16 @@ +BDEPEND=>=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 +DEFINED_PHASES=compile configure install prepare test +DEPEND=!static? ( dev-libs/expat dev-libs/libaio ) static? ( dev-libs/expat[static-libs(+)] dev-libs/libaio[static-libs(+)] ) test? ( >=dev-cpp/gtest-1.8.0 ) dev-libs/boost +DESCRIPTION=A suite of tools for thin provisioning on Linux +EAPI=7 +HOMEPAGE=https://github.com/jthornber/thin-provisioning-tools +INHERIT=autotools flag-o-matic +IUSE=static test +KEYWORDS=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3 +RDEPEND=!static? ( dev-libs/expat dev-libs/libaio ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 +_md5_=f63fdda7f851bb0476b04a31a7bd35bb diff --git a/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.10-r1 b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.10-r1 new file mode 100644 index 0000000..ff04d49 --- /dev/null +++ b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.10-r1 @@ -0,0 +1,13 @@ +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=A suite of tools for thin provisioning on Linux +EAPI=8 +HOMEPAGE=https://github.com/jthornber/thin-provisioning-tools +INHERIT=cargo +IUSE=io-uring debug +KEYWORDS=amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3 Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016 +SLOT=0 +SRC_URI=https://github.com/jthornber/thin-provisioning-tools/archive/v1.0.10.tar.gz -> thin-provisioning-tools-1.0.10.tar.gz https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/aho-corasick/1.1.2/download -> aho-corasick-1.1.2.crate https://crates.io/api/v1/crates/anstyle/1.0.4/download -> anstyle-1.0.4.crate https://crates.io/api/v1/crates/anyhow/1.0.79/download -> anyhow-1.0.79.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/base64/0.21.7/download -> base64-0.21.7.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.4.1/download -> bitflags-2.4.1.crate https://crates.io/api/v1/crates/bytemuck/1.14.0/download -> bytemuck-1.14.0.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/cassowary/0.3.0/download -> cassowary-0.3.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clap/4.4.16/download -> clap-4.4.16.crate https://crates.io/api/v1/crates/clap_builder/4.4.16/download -> clap_builder-4.4.16.crate https://crates.io/api/v1/crates/clap_lex/0.6.0/download -> clap_lex-0.6.0.crate https://crates.io/api/v1/crates/console/0.15.8/download -> console-0.15.8.crate https://crates.io/api/v1/crates/crc32c/0.6.4/download -> crc32c-0.6.4.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/data-encoding/2.5.0/download -> data-encoding-2.5.0.crate https://crates.io/api/v1/crates/downcast/0.11.0/download -> downcast-0.11.0.crate https://crates.io/api/v1/crates/duct/0.13.7/download -> duct-0.13.7.crate https://crates.io/api/v1/crates/either/1.9.0/download -> either-1.9.0.crate https://crates.io/api/v1/crates/encode_unicode/0.3.6/download -> encode_unicode-0.3.6.crate https://crates.io/api/v1/crates/env_logger/0.8.4/download -> env_logger-0.8.4.crate https://crates.io/api/v1/crates/errno/0.3.8/download -> errno-0.3.8.crate https://crates.io/api/v1/crates/exitcode/1.1.2/download -> exitcode-1.1.2.crate https://crates.io/api/v1/crates/fastrand/2.0.1/download -> fastrand-2.0.1.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.28/download -> flate2-1.0.28.crate https://crates.io/api/v1/crates/fragile/2.0.0/download -> fragile-2.0.0.crate https://crates.io/api/v1/crates/getrandom/0.2.12/download -> getrandom-0.2.12.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/hermit-abi/0.3.3/download -> hermit-abi-0.3.3.crate https://crates.io/api/v1/crates/indicatif/0.17.7/download -> indicatif-0.17.7.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/iovec/0.1.4/download -> iovec-0.1.4.crate https://crates.io/api/v1/crates/itertools/0.11.0/download -> itertools-0.11.0.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.152/download -> libc-0.2.152.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.12/download -> linux-raw-sys-0.4.12.crate https://crates.io/api/v1/crates/log/0.4.20/download -> log-0.4.20.crate https://crates.io/api/v1/crates/memchr/2.7.1/download -> memchr-2.7.1.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download -> miniz_oxide-0.7.1.crate https://crates.io/api/v1/crates/mockall/0.12.1/download -> mockall-0.12.1.crate https://crates.io/api/v1/crates/mockall_derive/0.12.1/download -> mockall_derive-0.12.1.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/num-derive/0.4.1/download -> num-derive-0.4.1.crate https://crates.io/api/v1/crates/num-traits/0.2.17/download -> num-traits-0.2.17.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/numtoa/0.1.0/download -> numtoa-0.1.0.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/os_pipe/1.1.5/download -> os_pipe-1.1.5.crate https://crates.io/api/v1/crates/portable-atomic/1.6.0/download -> portable-atomic-1.6.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download -> ppv-lite86-0.2.17.crate https://crates.io/api/v1/crates/predicates-core/1.0.6/download -> predicates-core-1.0.6.crate https://crates.io/api/v1/crates/predicates-tree/1.0.9/download -> predicates-tree-1.0.9.crate https://crates.io/api/v1/crates/predicates/3.0.4/download -> predicates-3.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.76/download -> proc-macro2-1.0.76.crate https://crates.io/api/v1/crates/quick-xml/0.31.0/download -> quick-xml-0.31.0.crate https://crates.io/api/v1/crates/quickcheck/1.0.3/download -> quickcheck-1.0.3.crate https://crates.io/api/v1/crates/quickcheck_macros/1.0.0/download -> quickcheck_macros-1.0.0.crate https://crates.io/api/v1/crates/quote/1.0.35/download -> quote-1.0.35.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rangemap/1.4.0/download -> rangemap-1.4.0.crate https://crates.io/api/v1/crates/redox_syscall/0.2.16/download -> redox_syscall-0.2.16.crate https://crates.io/api/v1/crates/redox_syscall/0.4.1/download -> redox_syscall-0.4.1.crate https://crates.io/api/v1/crates/redox_termios/0.1.3/download -> redox_termios-0.1.3.crate https://crates.io/api/v1/crates/regex-automata/0.4.3/download -> regex-automata-0.4.3.crate https://crates.io/api/v1/crates/regex-syntax/0.8.2/download -> regex-syntax-0.8.2.crate https://crates.io/api/v1/crates/regex/1.10.2/download -> regex-1.10.2.crate https://crates.io/api/v1/crates/retain_mut/0.1.7/download -> retain_mut-0.1.7.crate https://crates.io/api/v1/crates/roaring/0.10.2/download -> roaring-0.10.2.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.30/download -> rustix-0.38.30.crate https://crates.io/api/v1/crates/safemem/0.3.3/download -> safemem-0.3.3.crate https://crates.io/api/v1/crates/semver/1.0.21/download -> semver-1.0.21.crate https://crates.io/api/v1/crates/shared_child/1.0.0/download -> shared_child-1.0.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.48/download -> syn-2.0.48.crate https://crates.io/api/v1/crates/tempfile/3.9.0/download -> tempfile-3.9.0.crate https://crates.io/api/v1/crates/termion/1.5.6/download -> termion-1.5.6.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.56/download -> thiserror-impl-1.0.56.crate https://crates.io/api/v1/crates/thiserror/1.0.56/download -> thiserror-1.0.56.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tui/0.19.0/download -> tui-0.19.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-segmentation/1.10.1/download -> unicode-segmentation-1.10.1.crate https://crates.io/api/v1/crates/unicode-width/0.1.11/download -> unicode-width-0.1.11.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.0/download -> windows-targets-0.52.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.0/download -> windows_aarch64_gnullvm-0.52.0.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.0/download -> windows_aarch64_msvc-0.52.0.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.0/download -> windows_i686_gnu-0.52.0.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.0/download -> windows_i686_msvc-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.0/download -> windows_x86_64_gnu-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.0/download -> windows_x86_64_gnullvm-0.52.0.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.0/download -> windows_x86_64_msvc-0.52.0.crate https://github.com/jthornber/rio/archive/2979a720f671e836302c01546f9cc9f7988610c8.tar.gz -> rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=cc8959e34cab5747829726524943d35b diff --git a/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.13-r1 b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.13-r1 new file mode 100644 index 0000000..7dcbb01 --- /dev/null +++ b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.0.13-r1 @@ -0,0 +1,13 @@ +BDEPEND=|| ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=A suite of tools for thin provisioning on Linux +EAPI=8 +HOMEPAGE=https://github.com/jthornber/thin-provisioning-tools +INHERIT=cargo +IUSE=io-uring debug +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3 Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016 +SLOT=0 +SRC_URI=https://github.com/jthornber/thin-provisioning-tools/archive/v1.0.13.tar.gz -> thin-provisioning-tools-1.0.13.tar.gz https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/anstyle/1.0.7/download -> anstyle-1.0.7.crate https://crates.io/api/v1/crates/anyhow/1.0.86/download -> anyhow-1.0.86.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/base64/0.22.1/download -> base64-0.22.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/bytemuck/1.16.1/download -> bytemuck-1.16.1.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/cassowary/0.3.0/download -> cassowary-0.3.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clap/4.5.9/download -> clap-4.5.9.crate https://crates.io/api/v1/crates/clap_builder/4.5.9/download -> clap_builder-4.5.9.crate https://crates.io/api/v1/crates/clap_lex/0.7.1/download -> clap_lex-0.7.1.crate https://crates.io/api/v1/crates/console/0.15.8/download -> console-0.15.8.crate https://crates.io/api/v1/crates/crc32c/0.6.8/download -> crc32c-0.6.8.crate https://crates.io/api/v1/crates/crc32fast/1.4.2/download -> crc32fast-1.4.2.crate https://crates.io/api/v1/crates/data-encoding/2.6.0/download -> data-encoding-2.6.0.crate https://crates.io/api/v1/crates/downcast/0.11.0/download -> downcast-0.11.0.crate https://crates.io/api/v1/crates/duct/0.13.7/download -> duct-0.13.7.crate https://crates.io/api/v1/crates/encode_unicode/0.3.6/download -> encode_unicode-0.3.6.crate https://crates.io/api/v1/crates/env_logger/0.8.4/download -> env_logger-0.8.4.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/exitcode/1.1.2/download -> exitcode-1.1.2.crate https://crates.io/api/v1/crates/fastrand/2.1.0/download -> fastrand-2.1.0.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.30/download -> flate2-1.0.30.crate https://crates.io/api/v1/crates/fragile/2.0.0/download -> fragile-2.0.0.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/indicatif/0.17.8/download -> indicatif-0.17.8.crate https://crates.io/api/v1/crates/instant/0.1.13/download -> instant-0.1.13.crate https://crates.io/api/v1/crates/iovec/0.1.4/download -> iovec-0.1.4.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/libc/0.2.155/download -> libc-0.2.155.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.4/download -> miniz_oxide-0.7.4.crate https://crates.io/api/v1/crates/mockall/0.12.1/download -> mockall-0.12.1.crate https://crates.io/api/v1/crates/mockall_derive/0.12.1/download -> mockall_derive-0.12.1.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/num-derive/0.4.2/download -> num-derive-0.4.2.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/numtoa/0.1.0/download -> numtoa-0.1.0.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/os_pipe/1.2.0/download -> os_pipe-1.2.0.crate https://crates.io/api/v1/crates/portable-atomic/1.6.0/download -> portable-atomic-1.6.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download -> ppv-lite86-0.2.17.crate https://crates.io/api/v1/crates/predicates-core/1.0.6/download -> predicates-core-1.0.6.crate https://crates.io/api/v1/crates/predicates-tree/1.0.9/download -> predicates-tree-1.0.9.crate https://crates.io/api/v1/crates/predicates/3.1.0/download -> predicates-3.1.0.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quick-xml/0.36.0/download -> quick-xml-0.36.0.crate https://crates.io/api/v1/crates/quickcheck/1.0.3/download -> quickcheck-1.0.3.crate https://crates.io/api/v1/crates/quickcheck_macros/1.0.0/download -> quickcheck_macros-1.0.0.crate https://crates.io/api/v1/crates/quote/1.0.36/download -> quote-1.0.36.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rangemap/1.5.1/download -> rangemap-1.5.1.crate https://crates.io/api/v1/crates/redox_syscall/0.2.16/download -> redox_syscall-0.2.16.crate https://crates.io/api/v1/crates/redox_termios/0.1.3/download -> redox_termios-0.1.3.crate https://crates.io/api/v1/crates/regex-automata/0.4.7/download -> regex-automata-0.4.7.crate https://crates.io/api/v1/crates/regex-syntax/0.8.4/download -> regex-syntax-0.8.4.crate https://crates.io/api/v1/crates/regex/1.10.5/download -> regex-1.10.5.crate https://crates.io/api/v1/crates/roaring/0.10.6/download -> roaring-0.10.6.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.34/download -> rustix-0.38.34.crate https://crates.io/api/v1/crates/safemem/0.3.3/download -> safemem-0.3.3.crate https://crates.io/api/v1/crates/semver/1.0.23/download -> semver-1.0.23.crate https://crates.io/api/v1/crates/shared_child/1.0.0/download -> shared_child-1.0.0.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.70/download -> syn-2.0.70.crate https://crates.io/api/v1/crates/tempfile/3.10.1/download -> tempfile-3.10.1.crate https://crates.io/api/v1/crates/termion/1.5.6/download -> termion-1.5.6.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.61/download -> thiserror-impl-1.0.61.crate https://crates.io/api/v1/crates/thiserror/1.0.61/download -> thiserror-1.0.61.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tui/0.19.0/download -> tui-0.19.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-segmentation/1.11.0/download -> unicode-segmentation-1.11.0.crate https://crates.io/api/v1/crates/unicode-width/0.1.13/download -> unicode-width-0.1.13.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://github.com/jthornber/rio/archive/2979a720f671e836302c01546f9cc9f7988610c8.tar.gz -> rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 +_md5_=51da33c0953502900f33cf441d17d03d diff --git a/metadata/md5-cache/sys-block/thin-provisioning-tools-1.1.0-r3 b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.1.0-r3 new file mode 100644 index 0000000..ac1628d --- /dev/null +++ b/metadata/md5-cache/sys-block/thin-provisioning-tools-1.1.0-r3 @@ -0,0 +1,16 @@ +BDEPEND=llvm_slot_20? ( llvm-core/clang:20 ) virtual/pkgconfig || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=virtual/libudev:= sys-fs/lvm2 +DESCRIPTION=A suite of tools for thin provisioning on Linux +EAPI=8 +HOMEPAGE=https://github.com/jthornber/thin-provisioning-tools +INHERIT=cargo llvm-r1 +IUSE=io-uring debug +llvm_slot_20 +KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3 Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016 +RDEPEND=virtual/libudev:= +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/jthornber/thin-provisioning-tools/archive/v1.1.0.tar.gz -> thin-provisioning-tools-1.1.0.tar.gz https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/anstream/0.6.15/download -> anstream-0.6.15.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.5/download -> anstyle-parse-0.2.5.crate https://crates.io/api/v1/crates/anstyle-query/1.1.1/download -> anstyle-query-1.1.1.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.4/download -> anstyle-wincon-3.0.4.crate https://crates.io/api/v1/crates/anstyle/1.0.8/download -> anstyle-1.0.8.crate https://crates.io/api/v1/crates/anyhow/1.0.86/download -> anyhow-1.0.86.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/base64/0.22.1/download -> base64-0.22.1.crate https://crates.io/api/v1/crates/bindgen/0.69.4/download -> bindgen-0.69.4.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/bytemuck/1.16.3/download -> bytemuck-1.16.3.crate https://crates.io/api/v1/crates/byteorder/1.5.0/download -> byteorder-1.5.0.crate https://crates.io/api/v1/crates/cassowary/0.3.0/download -> cassowary-0.3.0.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cfg_aliases/0.2.1/download -> cfg_aliases-0.2.1.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/clap/4.5.13/download -> clap-4.5.13.crate https://crates.io/api/v1/crates/clap_builder/4.5.13/download -> clap_builder-4.5.13.crate https://crates.io/api/v1/crates/clap_lex/0.7.2/download -> clap_lex-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.2/download -> colorchoice-1.0.2.crate https://crates.io/api/v1/crates/console/0.15.8/download -> console-0.15.8.crate https://crates.io/api/v1/crates/crc32c/0.6.8/download -> crc32c-0.6.8.crate https://crates.io/api/v1/crates/crc32fast/1.4.2/download -> crc32fast-1.4.2.crate https://crates.io/api/v1/crates/data-encoding/2.6.0/download -> data-encoding-2.6.0.crate https://crates.io/api/v1/crates/devicemapper-sys/0.3.0/download -> devicemapper-sys-0.3.0.crate https://crates.io/api/v1/crates/devicemapper/0.34.3/download -> devicemapper-0.34.3.crate https://crates.io/api/v1/crates/downcast/0.11.0/download -> downcast-0.11.0.crate https://crates.io/api/v1/crates/duct/0.13.7/download -> duct-0.13.7.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/encode_unicode/0.3.6/download -> encode_unicode-0.3.6.crate https://crates.io/api/v1/crates/env_filter/0.1.2/download -> env_filter-0.1.2.crate https://crates.io/api/v1/crates/env_logger/0.11.5/download -> env_logger-0.11.5.crate https://crates.io/api/v1/crates/env_logger/0.8.4/download -> env_logger-0.8.4.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/exitcode/1.1.2/download -> exitcode-1.1.2.crate https://crates.io/api/v1/crates/fastrand/2.1.0/download -> fastrand-2.1.0.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.31/download -> flate2-1.0.31.crate https://crates.io/api/v1/crates/fragile/2.0.0/download -> fragile-2.0.0.crate https://crates.io/api/v1/crates/getrandom/0.2.15/download -> getrandom-0.2.15.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/humantime/2.1.0/download -> humantime-2.1.0.crate https://crates.io/api/v1/crates/indicatif/0.17.8/download -> indicatif-0.17.8.crate https://crates.io/api/v1/crates/instant/0.1.13/download -> instant-0.1.13.crate https://crates.io/api/v1/crates/iovec/0.1.4/download -> iovec-0.1.4.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/itertools/0.12.1/download -> itertools-0.12.1.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.155/download -> libc-0.2.155.crate https://crates.io/api/v1/crates/libloading/0.8.5/download -> libloading-0.8.5.crate https://crates.io/api/v1/crates/libudev-sys/0.1.4/download -> libudev-sys-0.1.4.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.7.4/download -> miniz_oxide-0.7.4.crate https://crates.io/api/v1/crates/mockall/0.13.0/download -> mockall-0.13.0.crate https://crates.io/api/v1/crates/mockall_derive/0.13.0/download -> mockall_derive-0.13.0.crate https://crates.io/api/v1/crates/nix/0.29.0/download -> nix-0.29.0.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/num-derive/0.4.2/download -> num-derive-0.4.2.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/numtoa/0.1.0/download -> numtoa-0.1.0.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/os_pipe/1.2.1/download -> os_pipe-1.2.1.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/portable-atomic/1.7.0/download -> portable-atomic-1.7.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.20/download -> ppv-lite86-0.2.20.crate https://crates.io/api/v1/crates/predicates-core/1.0.8/download -> predicates-core-1.0.8.crate https://crates.io/api/v1/crates/predicates-tree/1.0.11/download -> predicates-tree-1.0.11.crate https://crates.io/api/v1/crates/predicates/3.1.2/download -> predicates-3.1.2.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quick-xml/0.36.1/download -> quick-xml-0.36.1.crate https://crates.io/api/v1/crates/quickcheck/1.0.3/download -> quickcheck-1.0.3.crate https://crates.io/api/v1/crates/quickcheck_macros/1.0.0/download -> quickcheck_macros-1.0.0.crate https://crates.io/api/v1/crates/quote/1.0.36/download -> quote-1.0.36.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rangemap/1.5.1/download -> rangemap-1.5.1.crate https://crates.io/api/v1/crates/redox_syscall/0.2.16/download -> redox_syscall-0.2.16.crate https://crates.io/api/v1/crates/redox_termios/0.1.3/download -> redox_termios-0.1.3.crate https://crates.io/api/v1/crates/regex-automata/0.4.7/download -> regex-automata-0.4.7.crate https://crates.io/api/v1/crates/regex-syntax/0.8.4/download -> regex-syntax-0.8.4.crate https://crates.io/api/v1/crates/regex/1.10.6/download -> regex-1.10.6.crate https://crates.io/api/v1/crates/retry/2.0.0/download -> retry-2.0.0.crate https://crates.io/api/v1/crates/roaring/0.10.6/download -> roaring-0.10.6.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/rustix/0.38.34/download -> rustix-0.38.34.crate https://crates.io/api/v1/crates/safemem/0.3.3/download -> safemem-0.3.3.crate https://crates.io/api/v1/crates/semver/1.0.23/download -> semver-1.0.23.crate https://crates.io/api/v1/crates/serde/1.0.204/download -> serde-1.0.204.crate https://crates.io/api/v1/crates/serde_derive/1.0.204/download -> serde_derive-1.0.204.crate https://crates.io/api/v1/crates/shared_child/1.0.1/download -> shared_child-1.0.1.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/syn/2.0.72/download -> syn-2.0.72.crate https://crates.io/api/v1/crates/tempfile/3.11.0/download -> tempfile-3.11.0.crate https://crates.io/api/v1/crates/termion/1.5.6/download -> termion-1.5.6.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.63/download -> thiserror-impl-1.0.63.crate https://crates.io/api/v1/crates/thiserror/1.0.63/download -> thiserror-1.0.63.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tui/0.19.0/download -> tui-0.19.0.crate https://crates.io/api/v1/crates/udev/0.7.0/download -> udev-0.7.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-segmentation/1.11.0/download -> unicode-segmentation-1.11.0.crate https://crates.io/api/v1/crates/unicode-width/0.1.13/download -> unicode-width-0.1.13.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/zerocopy-derive/0.7.35/download -> zerocopy-derive-0.7.35.crate https://crates.io/api/v1/crates/zerocopy/0.7.35/download -> zerocopy-0.7.35.crate https://github.com/jthornber/rio/archive/2979a720f671e836302c01546f9cc9f7988610c8.tar.gz -> rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda +_md5_=2da9e1df73ce7bdaf208083cf74600e1 diff --git a/metadata/md5-cache/sys-boot/gnu-efi-3.0.17-r1 b/metadata/md5-cache/sys-boot/gnu-efi-3.0.17-r1 new file mode 100644 index 0000000..09c97e5 --- /dev/null +++ b/metadata/md5-cache/sys-boot/gnu-efi-3.0.17-r1 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile install prepare +DESCRIPTION=Library for build EFI Applications +EAPI=8 +HOMEPAGE=https://sourceforge.net/projects/gnu-efi/ +INHERIT=toolchain-funcs +IUSE=abi_x86_32 abi_x86_64 custom-cflags +KEYWORDS=-* amd64 arm arm64 ~ia64 ~riscv x86 +LICENSE=GPL-2+ BSD BSD-2 +REQUIRED_USE=amd64? ( || ( abi_x86_32 abi_x86_64 ) ) x86? ( || ( abi_x86_32 abi_x86_64 ) ) +RESTRICT=strip +SLOT=0 +SRC_URI=mirror://sourceforge/gnu-efi/gnu-efi-3.0.17.tar.bz2 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 +_md5_=3e3f0f3cdf037d232efee3b528dae05b diff --git a/metadata/md5-cache/sys-fs/bcachefs-tools-1.20.0 b/metadata/md5-cache/sys-fs/bcachefs-tools-1.20.0 new file mode 100644 index 0000000..c390c89 --- /dev/null +++ b/metadata/md5-cache/sys-fs/bcachefs-tools-1.20.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 dev-python/docutils[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/docutils[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/docutils[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/docutils[python_targets_python3_10(-)] ) ) app-arch/zstd llvm_slot_20? ( llvm-core/clang:20 ) elibc_musl? ( >=sys-libs/musl-1.2.5 ) virtual/pkgconfig verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst prepare setup test unpack +DEPEND=app-arch/lz4:= app-arch/zstd:= dev-libs/libaio dev-libs/libsodium:= dev-libs/userspace-rcu:= sys-apps/keyutils:= sys-apps/util-linux sys-libs/zlib virtual/udev fuse? ( >=sys-fs/fuse-3.7.0 ) +DESCRIPTION=Tools for bcachefs +EAPI=8 +HOMEPAGE=https://bcachefs.org/ +INHERIT=cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig +IUSE=fuse verify-sig debug +llvm_slot_20 verify-sig +KEYWORDS=amd64 arm64 +LICENSE=Apache-2.0 BSD GPL-2 MIT +RDEPEND=app-arch/lz4:= app-arch/zstd:= dev-libs/libaio dev-libs/libsodium:= dev-libs/userspace-rcu:= sys-apps/keyutils:= sys-apps/util-linux sys-libs/zlib virtual/udev fuse? ( >=sys-fs/fuse-3.7.0 ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +SRC_URI=https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-1.20.0.tar.zst https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/anstream/0.6.15/download -> anstream-0.6.15.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.5/download -> anstyle-parse-0.2.5.crate https://crates.io/api/v1/crates/anstyle-query/1.1.1/download -> anstyle-query-1.1.1.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.4/download -> anstyle-wincon-3.0.4.crate https://crates.io/api/v1/crates/anstyle/1.0.8/download -> anstyle-1.0.8.crate https://crates.io/api/v1/crates/anyhow/1.0.89/download -> anyhow-1.0.89.crate https://crates.io/api/v1/crates/bindgen/0.69.5/download -> bindgen-0.69.5.crate https://crates.io/api/v1/crates/bitfield/0.14.0/download -> bitfield-0.14.0.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/cc/1.1.28/download -> cc-1.1.28.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/clap/4.5.20/download -> clap-4.5.20.crate https://crates.io/api/v1/crates/clap_builder/4.5.20/download -> clap_builder-4.5.20.crate https://crates.io/api/v1/crates/clap_complete/4.5.33/download -> clap_complete-4.5.33.crate https://crates.io/api/v1/crates/clap_derive/4.5.18/download -> clap_derive-4.5.18.crate https://crates.io/api/v1/crates/clap_lex/0.7.2/download -> clap_lex-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.2/download -> colorchoice-1.0.2.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/env_logger/0.10.2/download -> env_logger-0.10.2.crate https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download -> errno-dragonfly-0.1.2.crate https://crates.io/api/v1/crates/errno/0.2.8/download -> errno-0.2.8.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/heck/0.5.0/download -> heck-0.5.0.crate https://crates.io/api/v1/crates/home/0.5.9/download -> home-0.5.9.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/itertools/0.12.1/download -> itertools-0.12.1.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.159/download -> libc-0.2.159.crate https://crates.io/api/v1/crates/libloading/0.8.5/download -> libloading-0.8.5.crate https://crates.io/api/v1/crates/libudev-sys/0.1.4/download -> libudev-sys-0.1.4.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/once_cell/1.20.2/download -> once_cell-1.20.2.crate https://crates.io/api/v1/crates/owo-colors/4.1.0/download -> owo-colors-4.1.0.crate https://crates.io/api/v1/crates/paste/1.0.15/download -> paste-1.0.15.crate https://crates.io/api/v1/crates/pkg-config/0.3.31/download -> pkg-config-0.3.31.crate https://crates.io/api/v1/crates/prettyplease/0.2.22/download -> prettyplease-0.2.22.crate https://crates.io/api/v1/crates/proc-macro2/1.0.87/download -> proc-macro2-1.0.87.crate https://crates.io/api/v1/crates/quote/1.0.37/download -> quote-1.0.37.crate https://crates.io/api/v1/crates/regex-automata/0.4.8/download -> regex-automata-0.4.8.crate https://crates.io/api/v1/crates/regex-syntax/0.8.5/download -> regex-syntax-0.8.5.crate https://crates.io/api/v1/crates/regex/1.11.0/download -> regex-1.11.0.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustix/0.38.37/download -> rustix-0.38.37.crate https://crates.io/api/v1/crates/rustversion/1.0.17/download -> rustversion-1.0.17.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/strum/0.26.3/download -> strum-0.26.3.crate https://crates.io/api/v1/crates/strum_macros/0.26.4/download -> strum_macros-0.26.4.crate https://crates.io/api/v1/crates/syn/2.0.79/download -> syn-2.0.79.crate https://crates.io/api/v1/crates/terminal_size/0.4.0/download -> terminal_size-0.4.0.crate https://crates.io/api/v1/crates/udev/0.7.0/download -> udev-0.7.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.13/download -> unicode-ident-1.0.13.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/uuid/1.10.0/download -> uuid-1.10.0.crate https://crates.io/api/v1/crates/which/4.4.2/download -> which-4.4.2.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/zeroize/1.8.1/download -> zeroize-1.8.1.crate https://crates.io/api/v1/crates/zeroize_derive/1.4.2/download -> zeroize_derive-1.4.2.crate verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-1.20.0.tar.sign ) +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 unpacker fb4b84181244b3b9990fa0bf40232dd2 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 +_md5_=c02497b3342393d2960cbe65b49fb2f2 diff --git a/metadata/md5-cache/sys-fs/bcachefs-tools-9999 b/metadata/md5-cache/sys-fs/bcachefs-tools-9999 new file mode 100644 index 0000000..361a361 --- /dev/null +++ b/metadata/md5-cache/sys-fs/bcachefs-tools-9999 @@ -0,0 +1,16 @@ +BDEPEND=|| ( dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.13 dev-python/docutils[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/docutils[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/docutils[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/docutils[python_targets_python3_10(-)] ) ) llvm_slot_20? ( llvm-core/clang:20 ) elibc_musl? ( >=sys-libs/musl-1.2.5 ) virtual/pkgconfig verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install postinst prepare setup test unpack +DEPEND=app-arch/lz4:= app-arch/zstd:= dev-libs/libaio dev-libs/libsodium:= dev-libs/userspace-rcu:= sys-apps/keyutils:= sys-apps/util-linux sys-libs/zlib virtual/udev fuse? ( >=sys-fs/fuse-3.7.0 ) +DESCRIPTION=Tools for bcachefs +EAPI=8 +HOMEPAGE=https://bcachefs.org/ +INHERIT=cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig git-r3 +IUSE=fuse verify-sig debug +llvm_slot_20 verify-sig +LICENSE=Apache-2.0 BSD GPL-2 MIT +PROPERTIES=live +RDEPEND=app-arch/lz4:= app-arch/zstd:= dev-libs/libaio dev-libs/libsodium:= dev-libs/userspace-rcu:= sys-apps/keyutils:= sys-apps/util-linux sys-libs/zlib virtual/udev fuse? ( >=sys-fs/fuse-3.7.0 ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=test +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 bash-completion-r1 767861f3744f589ee5291c1698b1c082 shell-completion 0b655d0d825e157a5e99c463bddaac16 unpacker fb4b84181244b3b9990fa0bf40232dd2 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=3daf952d2b0bb2cc9de69ecb72a6fe30 diff --git a/metadata/md5-cache/sys-kernel/genkernel-4.0.10 b/metadata/md5-cache/sys-kernel/genkernel-4.0.10 index c1bf3fb..23b5d0a 100644 --- a/metadata/md5-cache/sys-kernel/genkernel-4.0.10 +++ b/metadata/md5-cache/sys-kernel/genkernel-4.0.10 @@ -9,5 +9,5 @@ LICENSE=GPL-2 RDEPEND=app-arch/cpio >=app-misc/pax-utils-1.2.2 app-portage/elt-patches sys-apps/sandbox sys-devel/autoconf sys-devel/autoconf-archive sys-devel/automake sys-devel/libtool virtual/pkgconfig firmware? ( sys-kernel/linux-firmware ) SLOT=0 SRC_URI=https://dev.gentoo.org/~whissi/dist/genkernel/genkernel-4.0.10.tar.xz https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.bz2 https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.6.1.tar.xz https://www.busybox.net/downloads/busybox-1.31.1.tar.bz2 mirror://gnu/coreutils/coreutils-8.32.tar.xz https://www.kernel.org/pub/linux/utils/cryptsetup/v2.3/cryptsetup-2.3.3.tar.xz https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2 https://dev.gentoo.org/~whissi/dist/dropbear/dropbear-2020.80.tar.bz2 https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.xz https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.6/e2fsprogs-1.45.6.tar.xz https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz mirror://gnupg/gnupg/gnupg-1.4.23.tar.bz2 https://github.com/open-iscsi/open-iscsi/archive/2.0.878.tar.gz -> open-iscsi-2.0.878.tar.gz https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-27.tar.xz https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz mirror://gnupg/libgcrypt/libgcrypt-1.8.6.tar.bz2 mirror://gnupg/libgpg-error/libgpg-error-1.38.tar.bz2 https://mirrors.kernel.org/sourceware/lvm2/LVM2.2.02.187.tgz https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz https://github.com/strace/strace/releases/download/v5.7/strace-5.7.tar.xz https://github.com/jthornber/thin-provisioning-tools/archive/v0.8.5.tar.gz -> thin-provisioning-tools-0.8.5.tar.gz https://github.com/rpodgorny/unionfs-fuse/archive/v2.0.tar.gz -> unionfs-fuse-2.0.tar.gz https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-2.35.2.tar.xz https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-5.6.0.tar.xz https://zlib.net/zlib-1.2.11.tar.gz https://github.com/facebook/zstd/archive/v1.4.5.tar.gz -> zstd-1.4.5.tar.gz -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 bash-completion-r1 3047612be964ffd4a549447fc4289f12 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 _md5_=5949f0aa49ca738ddbbdbcd001edb542 diff --git a/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r6 b/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r6 index ac00d53..f2c7b2a 100644 --- a/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r6 +++ b/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r6 @@ -10,5 +10,5 @@ RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) app-arch/cpio REQUIRED_USE=^^ ( python_single_target_python3_10 ) SLOT=0 SRC_URI=https://dev.gentoo.org/~whissi/dist/genkernel/genkernel-4.2.6.tar.xz https://github.com/g2p/bcache-tools/archive/399021549984ad27bf4a13ae85e458833fe003d7.tar.gz -> bcache-tools-1.0.8_p20141204.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.15.tar.xz https://www.busybox.net/downloads/busybox-1.34.1.tar.bz2 mirror://gnu/coreutils/coreutils-8.32.tar.xz https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.1.tar.xz https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2 https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2 https://dev.gentoo.org/~blueness/eudev/eudev-3.2.10.tar.gz https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.xz https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.4/e2fsprogs-1.46.4.tar.xz https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz mirror://gnupg/gnupg/gnupg-1.4.23.tar.bz2 https://github.com/gentoo/hwids/archive/hwids-20210613.tar.gz https://github.com/open-iscsi/open-iscsi/archive/2.0.878.tar.gz -> open-iscsi-2.0.878.tar.gz https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz mirror://gnupg/libgcrypt/libgcrypt-1.9.4.tar.bz2 mirror://gnupg/libgpg-error/libgpg-error-1.43.tar.bz2 https://github.com/besser82/libxcrypt/archive/v4.4.26.tar.gz -> libxcrypt-4.4.26.tar.gz https://mirrors.kernel.org/sourceware/lvm2/LVM2.2.02.188.tgz https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz https://github.com/strace/strace/releases/download/v5.14/strace-5.14.tar.xz https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz https://github.com/rpodgorny/unionfs-fuse/archive/v2.0.tar.gz -> unionfs-fuse-2.0.tar.gz https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-5.13.0.tar.xz https://tukaani.org/xz/xz-5.2.5.tar.gz https://zlib.net/zlib-1.2.11.tar.gz https://github.com/facebook/zstd/archive/v1.5.0.tar.gz -> zstd-1.5.0.tar.gz https://gitweb.gentoo.org/proj/genkernel.git/patch/?id=8c9de489290dc470e30f8c7d0aaa3456eb124537 -> genkernel-4.2.6-s390x.patch -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 bash-completion-r1 3047612be964ffd4a549447fc4289f12 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=4e5f25624cf70ad3404a9dc015abac0f diff --git a/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r8 b/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r8 index ef38f45..6da2469 100644 --- a/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r8 +++ b/metadata/md5-cache/sys-kernel/genkernel-4.2.6-r8 @@ -10,5 +10,5 @@ RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) app-arch/cpio REQUIRED_USE=^^ ( python_single_target_python3_10 ) SLOT=0 SRC_URI=https://dev.gentoo.org/~whissi/dist/genkernel/genkernel-4.2.6.tar.xz https://github.com/g2p/bcache-tools/archive/399021549984ad27bf4a13ae85e458833fe003d7.tar.gz -> bcache-tools-1.0.8_p20141204.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.15.tar.xz https://www.busybox.net/downloads/busybox-1.34.1.tar.bz2 mirror://gnu/coreutils/coreutils-8.32.tar.xz https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.1.tar.xz https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2 https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2 https://dev.gentoo.org/~blueness/eudev/eudev-3.2.10.tar.gz https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.xz https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.4/e2fsprogs-1.46.4.tar.xz https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz mirror://gnupg/gnupg/gnupg-1.4.23.tar.bz2 https://github.com/gentoo/hwids/archive/hwids-20210613.tar.gz https://github.com/open-iscsi/open-iscsi/archive/2.0.878.tar.gz -> open-iscsi-2.0.878.tar.gz https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz mirror://gnupg/libgcrypt/libgcrypt-1.9.4.tar.bz2 mirror://gnupg/libgpg-error/libgpg-error-1.43.tar.bz2 https://github.com/besser82/libxcrypt/archive/v4.4.26.tar.gz -> libxcrypt-4.4.26.tar.gz https://mirrors.kernel.org/sourceware/lvm2/LVM2.2.02.188.tgz https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz https://github.com/strace/strace/releases/download/v5.14/strace-5.14.tar.xz https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz https://github.com/rpodgorny/unionfs-fuse/archive/v2.0.tar.gz -> unionfs-fuse-2.0.tar.gz https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-5.13.0.tar.xz https://tukaani.org/xz/xz-5.2.5.tar.gz https://zlib.net/zlib-1.2.11.tar.gz https://github.com/facebook/zstd/archive/v1.5.0.tar.gz -> zstd-1.5.0.tar.gz https://gitweb.gentoo.org/proj/genkernel.git/patch/?id=8c9de489290dc470e30f8c7d0aaa3456eb124537 -> genkernel-4.2.6-s390x.patch -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 bash-completion-r1 3047612be964ffd4a549447fc4289f12 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=5daaf651f5cea3995ae87f2d25bda517 diff --git a/metadata/md5-cache/sys-kernel/genkernel-4.3.1-r1 b/metadata/md5-cache/sys-kernel/genkernel-4.3.1-r1 index 59a5ebc..f2b2061 100644 --- a/metadata/md5-cache/sys-kernel/genkernel-4.3.1-r1 +++ b/metadata/md5-cache/sys-kernel/genkernel-4.3.1-r1 @@ -10,5 +10,5 @@ RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_ REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 ) SLOT=0 SRC_URI=https://dev.gentoo.org/~mattst88/distfiles/genkernel-4.3.1.tar.xz https://github.com/g2p/bcache-tools/archive/399021549984ad27bf4a13ae85e458833fe003d7.tar.gz -> bcache-tools-1.0.8_p20141204.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.15.tar.xz https://www.busybox.net/downloads/busybox-1.34.1.tar.bz2 mirror://gnu/coreutils/coreutils-8.32.tar.xz https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.1.tar.xz https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2 https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2 https://dev.gentoo.org/~blueness/eudev/eudev-3.2.10.tar.gz https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.xz https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.4/e2fsprogs-1.46.4.tar.xz https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz mirror://gnupg/gnupg/gnupg-1.4.23.tar.bz2 https://github.com/gentoo/hwids/archive/hwids-20210613.tar.gz https://github.com/open-iscsi/open-iscsi/archive/2.0.878.tar.gz -> open-iscsi-2.0.878.tar.gz https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz mirror://gnupg/libgcrypt/libgcrypt-1.9.4.tar.bz2 mirror://gnupg/libgpg-error/libgpg-error-1.43.tar.bz2 https://github.com/besser82/libxcrypt/archive/v4.4.26.tar.gz -> libxcrypt-4.4.26.tar.gz https://mirrors.kernel.org/sourceware/lvm2/LVM2.2.02.188.tgz https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz https://github.com/strace/strace/releases/download/v5.14/strace-5.14.tar.xz https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz https://github.com/rpodgorny/unionfs-fuse/archive/v2.0.tar.gz -> unionfs-fuse-2.0.tar.gz https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-5.13.0.tar.xz https://tukaani.org/xz/xz-5.2.5.tar.gz https://zlib.net/zlib-1.2.11.tar.gz https://github.com/facebook/zstd/archive/v1.5.0.tar.gz -> zstd-1.5.0.tar.gz https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-1.6.3.tar.gz -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 bash-completion-r1 3047612be964ffd4a549447fc4289f12 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 _md5_=936d7ce10e1be5b0cd86250f4071bb0b diff --git a/metadata/md5-cache/sys-kernel/genkernel-9999 b/metadata/md5-cache/sys-kernel/genkernel-9999 index f062cf6..0e652df 100644 --- a/metadata/md5-cache/sys-kernel/genkernel-9999 +++ b/metadata/md5-cache/sys-kernel/genkernel-9999 @@ -12,5 +12,5 @@ RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) app-arch/cpio REQUIRED_USE=^^ ( python_single_target_python3_10 ) SLOT=0 SRC_URI=https://github.com/g2p/bcache-tools/archive/399021549984ad27bf4a13ae85e458833fe003d7.tar.gz -> bcache-tools-1.0.8_p20141204.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.15.tar.xz https://www.busybox.net/downloads/busybox-1.34.1.tar.bz2 mirror://gnu/coreutils/coreutils-8.32.tar.xz https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.1.tar.xz https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2 https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2 https://dev.gentoo.org/~blueness/eudev/eudev-3.2.10.tar.gz https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.xz https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.4/e2fsprogs-1.46.4.tar.xz https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz mirror://gnupg/gnupg/gnupg-1.4.23.tar.bz2 https://github.com/gentoo/hwids/archive/hwids-20210613.tar.gz https://github.com/open-iscsi/open-iscsi/archive/2.0.878.tar.gz -> open-iscsi-2.0.878.tar.gz https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz mirror://gnupg/libgcrypt/libgcrypt-1.9.4.tar.bz2 mirror://gnupg/libgpg-error/libgpg-error-1.43.tar.bz2 https://github.com/besser82/libxcrypt/archive/v4.4.26.tar.gz -> libxcrypt-4.4.26.tar.gz https://mirrors.kernel.org/sourceware/lvm2/LVM2.2.02.188.tgz https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz https://github.com/strace/strace/releases/download/v5.14/strace-5.14.tar.xz https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0.tar.gz -> thin-provisioning-tools-0.9.0.tar.gz https://github.com/rpodgorny/unionfs-fuse/archive/v2.0.tar.gz -> unionfs-fuse-2.0.tar.gz https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-5.13.0.tar.xz https://tukaani.org/xz/xz-5.2.5.tar.gz https://zlib.net/zlib-1.2.11.tar.gz https://github.com/facebook/zstd/archive/v1.5.0.tar.gz -> zstd-1.5.0.tar.gz https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-1.6.3.tar.gz -_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 bash-completion-r1 3047612be964ffd4a549447fc4289f12 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 python-utils-r1 6881b056477c23167d9a6b33e146374e python-single-r1 f7abe75c203a988aa9b5c460b6c7d0f1 git-r3 875eb471682d3e1f18da124be97dcc81 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 git-r3 875eb471682d3e1f18da124be97dcc81 _md5_=f24ae6662088887b52aca0ae016b57fc diff --git a/metadata/md5-cache/sys-kernel/scx-1.0.8 b/metadata/md5-cache/sys-kernel/scx-1.0.8 new file mode 100644 index 0000000..4db5f84 --- /dev/null +++ b/metadata/md5-cache/sys-kernel/scx-1.0.8 @@ -0,0 +1,16 @@ +BDEPEND=app-misc/jq >=dev-util/bpftool-7.5.0 llvm_slot_20? ( llvm-core/clang:20=[llvm_targets_BPF(-)] ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=virtual/libelf:= sys-libs/zlib:= >=dev-libs/libbpf-1.5:= openrc? ( || ( sys-apps/openrc sys-apps/openrc-navi ) ) +DESCRIPTION=sched_ext schedulers and tools +EAPI=8 +HOMEPAGE=https://github.com/sched-ext/scx +INHERIT=llvm-r1 linux-info cargo rust-toolchain meson +IUSE=openrc systemd +llvm_slot_20 debug +KEYWORDS=amd64 +LICENSE=GPL-2 Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB +RDEPEND=virtual/libelf:= sys-libs/zlib:= >=dev-libs/libbpf-1.5:= openrc? ( || ( sys-apps/openrc sys-apps/openrc-navi ) ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/sched-ext/scx/archive/refs/tags/v1.0.8.tar.gz -> scx-1.0.8.tar.gz https://crates.io/api/v1/crates/addr2line/0.24.1/download -> addr2line-0.24.1.crate https://crates.io/api/v1/crates/adler2/2.0.0/download -> adler2-2.0.0.crate https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anstream/0.6.15/download -> anstream-0.6.15.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.5/download -> anstyle-parse-0.2.5.crate https://crates.io/api/v1/crates/anstyle-query/1.1.1/download -> anstyle-query-1.1.1.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.4/download -> anstyle-wincon-3.0.4.crate https://crates.io/api/v1/crates/anstyle/1.0.8/download -> anstyle-1.0.8.crate https://crates.io/api/v1/crates/anyhow/1.0.87/download -> anyhow-1.0.87.crate https://crates.io/api/v1/crates/async-broadcast/0.7.1/download -> async-broadcast-0.7.1.crate https://crates.io/api/v1/crates/async-channel/2.3.1/download -> async-channel-2.3.1.crate https://crates.io/api/v1/crates/async-executor/1.13.1/download -> async-executor-1.13.1.crate https://crates.io/api/v1/crates/async-fs/2.1.2/download -> async-fs-2.1.2.crate https://crates.io/api/v1/crates/async-io/2.3.4/download -> async-io-2.3.4.crate https://crates.io/api/v1/crates/async-lock/3.4.0/download -> async-lock-3.4.0.crate https://crates.io/api/v1/crates/async-process/2.2.4/download -> async-process-2.2.4.crate https://crates.io/api/v1/crates/async-recursion/1.1.1/download -> async-recursion-1.1.1.crate https://crates.io/api/v1/crates/async-signal/0.2.10/download -> async-signal-0.2.10.crate https://crates.io/api/v1/crates/async-task/4.7.1/download -> async-task-4.7.1.crate https://crates.io/api/v1/crates/async-trait/0.1.82/download -> async-trait-0.1.82.crate https://crates.io/api/v1/crates/atomic-waker/1.1.2/download -> atomic-waker-1.1.2.crate https://crates.io/api/v1/crates/autocfg/1.3.0/download -> autocfg-1.3.0.crate https://crates.io/api/v1/crates/backtrace/0.3.74/download -> backtrace-0.3.74.crate https://crates.io/api/v1/crates/bindgen/0.69.4/download -> bindgen-0.69.4.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/bitvec/1.0.1/download -> bitvec-1.0.1.crate https://crates.io/api/v1/crates/blocking/1.6.1/download -> blocking-1.6.1.crate https://crates.io/api/v1/crates/bumpalo/3.16.0/download -> bumpalo-3.16.0.crate https://crates.io/api/v1/crates/bytes/1.7.1/download -> bytes-1.7.1.crate https://crates.io/api/v1/crates/camino/1.1.9/download -> camino-1.1.9.crate https://crates.io/api/v1/crates/cargo-platform/0.1.8/download -> cargo-platform-0.1.8.crate https://crates.io/api/v1/crates/cargo_metadata/0.15.4/download -> cargo_metadata-0.15.4.crate https://crates.io/api/v1/crates/cargo_metadata/0.18.1/download -> cargo_metadata-0.18.1.crate https://crates.io/api/v1/crates/cc/1.1.18/download -> cc-1.1.18.crate https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cfg_aliases/0.2.1/download -> cfg_aliases-0.2.1.crate https://crates.io/api/v1/crates/cgroupfs/0.7.1/download -> cgroupfs-0.7.1.crate https://crates.io/api/v1/crates/chrono/0.4.38/download -> chrono-0.4.38.crate https://crates.io/api/v1/crates/clang-sys/1.8.1/download -> clang-sys-1.8.1.crate https://crates.io/api/v1/crates/clap/4.5.17/download -> clap-4.5.17.crate https://crates.io/api/v1/crates/clap_builder/4.5.17/download -> clap_builder-4.5.17.crate https://crates.io/api/v1/crates/clap_derive/4.5.13/download -> clap_derive-4.5.13.crate https://crates.io/api/v1/crates/clap_lex/0.7.2/download -> clap_lex-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.2/download -> colorchoice-1.0.2.crate https://crates.io/api/v1/crates/colored/2.1.0/download -> colored-2.1.0.crate https://crates.io/api/v1/crates/concurrent-queue/2.5.0/download -> concurrent-queue-2.5.0.crate https://crates.io/api/v1/crates/const_format/0.2.31/download -> const_format-0.2.31.crate https://crates.io/api/v1/crates/const_format_proc_macros/0.2.31/download -> const_format_proc_macros-0.2.31.crate https://crates.io/api/v1/crates/convert_case/0.6.0/download -> convert_case-0.6.0.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.7/download -> core-foundation-sys-0.8.7.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.13/download -> crossbeam-channel-0.5.13.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.5/download -> crossbeam-deque-0.8.5.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.18/download -> crossbeam-epoch-0.9.18.crate https://crates.io/api/v1/crates/crossbeam-queue/0.3.11/download -> crossbeam-queue-0.3.11.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.20/download -> crossbeam-utils-0.8.20.crate https://crates.io/api/v1/crates/crossbeam/0.8.4/download -> crossbeam-0.8.4.crate https://crates.io/api/v1/crates/ctrlc/3.4.5/download -> ctrlc-3.4.5.crate https://crates.io/api/v1/crates/darling/0.20.10/download -> darling-0.20.10.crate https://crates.io/api/v1/crates/darling_core/0.20.10/download -> darling_core-0.20.10.crate https://crates.io/api/v1/crates/darling_macro/0.20.10/download -> darling_macro-0.20.10.crate https://crates.io/api/v1/crates/deranged/0.3.11/download -> deranged-0.3.11.crate https://crates.io/api/v1/crates/either/1.13.0/download -> either-1.13.0.crate https://crates.io/api/v1/crates/endi/1.1.0/download -> endi-1.1.0.crate https://crates.io/api/v1/crates/enumflags2/0.7.10/download -> enumflags2-0.7.10.crate https://crates.io/api/v1/crates/enumflags2_derive/0.7.10/download -> enumflags2_derive-0.7.10.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/event-listener-strategy/0.5.2/download -> event-listener-strategy-0.5.2.crate https://crates.io/api/v1/crates/event-listener/5.3.1/download -> event-listener-5.3.1.crate https://crates.io/api/v1/crates/fastrand/2.1.1/download -> fastrand-2.1.1.crate https://crates.io/api/v1/crates/fb_procfs/0.7.1/download -> fb_procfs-0.7.1.crate https://crates.io/api/v1/crates/filetime/0.2.25/download -> filetime-0.2.25.crate https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate https://crates.io/api/v1/crates/funty/2.0.0/download -> funty-2.0.0.crate https://crates.io/api/v1/crates/futures-core/0.3.30/download -> futures-core-0.3.30.crate https://crates.io/api/v1/crates/futures-io/0.3.30/download -> futures-io-0.3.30.crate https://crates.io/api/v1/crates/futures-lite/2.3.0/download -> futures-lite-2.3.0.crate https://crates.io/api/v1/crates/futures-sink/0.3.30/download -> futures-sink-0.3.30.crate https://crates.io/api/v1/crates/futures-task/0.3.30/download -> futures-task-0.3.30.crate https://crates.io/api/v1/crates/futures-util/0.3.30/download -> futures-util-0.3.30.crate https://crates.io/api/v1/crates/gimli/0.31.0/download -> gimli-0.31.0.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/gpoint/0.2.1/download -> gpoint-0.2.1.crate https://crates.io/api/v1/crates/hashbrown/0.14.5/download -> hashbrown-0.14.5.crate https://crates.io/api/v1/crates/heck/0.5.0/download -> heck-0.5.0.crate https://crates.io/api/v1/crates/hermit-abi/0.3.9/download -> hermit-abi-0.3.9.crate https://crates.io/api/v1/crates/hermit-abi/0.4.0/download -> hermit-abi-0.4.0.crate https://crates.io/api/v1/crates/hex/0.4.3/download -> hex-0.4.3.crate https://crates.io/api/v1/crates/home/0.5.9/download -> home-0.5.9.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.60/download -> iana-time-zone-0.1.60.crate https://crates.io/api/v1/crates/ident_case/1.0.1/download -> ident_case-1.0.1.crate https://crates.io/api/v1/crates/indexmap/2.5.0/download -> indexmap-2.5.0.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/itertools/0.12.1/download -> itertools-0.12.1.crate https://crates.io/api/v1/crates/itertools/0.13.0/download -> itertools-0.13.0.crate https://crates.io/api/v1/crates/itoa/1.0.11/download -> itoa-1.0.11.crate https://crates.io/api/v1/crates/js-sys/0.3.70/download -> js-sys-0.3.70.crate https://crates.io/api/v1/crates/lazy_static/1.5.0/download -> lazy_static-1.5.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libbpf-cargo/0.24.8/download -> libbpf-cargo-0.24.8.crate https://crates.io/api/v1/crates/libbpf-rs/0.24.8/download -> libbpf-rs-0.24.8.crate https://crates.io/api/v1/crates/libbpf-sys/1.4.6+v1.4.7/download -> libbpf-sys-1.4.6+v1.4.7.crate https://crates.io/api/v1/crates/libc/0.2.158/download -> libc-0.2.158.crate https://crates.io/api/v1/crates/libloading/0.8.5/download -> libloading-0.8.5.crate https://crates.io/api/v1/crates/libredox/0.1.3/download -> libredox-0.1.3.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/log/0.4.22/download -> log-0.4.22.crate https://crates.io/api/v1/crates/maplit/1.0.2/download -> maplit-1.0.2.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/memmap2/0.5.10/download -> memmap2-0.5.10.crate https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate https://crates.io/api/v1/crates/memoffset/0.9.1/download -> memoffset-0.9.1.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.8.0/download -> miniz_oxide-0.8.0.crate https://crates.io/api/v1/crates/mio/1.0.2/download -> mio-1.0.2.crate https://crates.io/api/v1/crates/nix/0.25.1/download -> nix-0.25.1.crate https://crates.io/api/v1/crates/nix/0.29.0/download -> nix-0.29.0.crate https://crates.io/api/v1/crates/nom/7.1.3/download -> nom-7.1.3.crate https://crates.io/api/v1/crates/ntapi/0.4.1/download -> ntapi-0.4.1.crate https://crates.io/api/v1/crates/num-conv/0.1.0/download -> num-conv-0.1.0.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/num_threads/0.1.7/download -> num_threads-0.1.7.crate https://crates.io/api/v1/crates/nvml-wrapper-sys/0.8.0/download -> nvml-wrapper-sys-0.8.0.crate https://crates.io/api/v1/crates/nvml-wrapper/0.10.0/download -> nvml-wrapper-0.10.0.crate https://crates.io/api/v1/crates/object/0.36.4/download -> object-0.36.4.crate https://crates.io/api/v1/crates/once_cell/1.19.0/download -> once_cell-1.19.0.crate https://crates.io/api/v1/crates/openat/0.1.21/download -> openat-0.1.21.crate https://crates.io/api/v1/crates/ordered-float/3.9.2/download -> ordered-float-3.9.2.crate https://crates.io/api/v1/crates/ordered-stream/0.2.0/download -> ordered-stream-0.2.0.crate https://crates.io/api/v1/crates/parking/2.2.1/download -> parking-2.2.1.crate https://crates.io/api/v1/crates/paste/1.0.15/download -> paste-1.0.15.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.14/download -> pin-project-lite-0.2.14.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/piper/0.2.4/download -> piper-0.2.4.crate https://crates.io/api/v1/crates/pkg-config/0.3.30/download -> pkg-config-0.3.30.crate https://crates.io/api/v1/crates/plain/0.2.3/download -> plain-0.2.3.crate https://crates.io/api/v1/crates/polling/3.7.3/download -> polling-3.7.3.crate https://crates.io/api/v1/crates/powerfmt/0.2.0/download -> powerfmt-0.2.0.crate https://crates.io/api/v1/crates/prettyplease/0.2.22/download -> prettyplease-0.2.22.crate https://crates.io/api/v1/crates/proc-macro-crate/3.2.0/download -> proc-macro-crate-3.2.0.crate https://crates.io/api/v1/crates/proc-macro2/1.0.86/download -> proc-macro2-1.0.86.crate https://crates.io/api/v1/crates/quote/1.0.37/download -> quote-1.0.37.crate https://crates.io/api/v1/crates/radium/0.7.0/download -> radium-0.7.0.crate https://crates.io/api/v1/crates/rayon-core/1.12.1/download -> rayon-core-1.12.1.crate https://crates.io/api/v1/crates/rayon/1.10.0/download -> rayon-1.10.0.crate https://crates.io/api/v1/crates/redox_syscall/0.5.3/download -> redox_syscall-0.5.3.crate https://crates.io/api/v1/crates/regex-automata/0.4.7/download -> regex-automata-0.4.7.crate https://crates.io/api/v1/crates/regex-syntax/0.6.29/download -> regex-syntax-0.6.29.crate https://crates.io/api/v1/crates/regex-syntax/0.8.4/download -> regex-syntax-0.8.4.crate https://crates.io/api/v1/crates/regex/1.10.6/download -> regex-1.10.6.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download -> rustc-demangle-0.1.24.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustix/0.38.36/download -> rustix-0.38.36.crate https://crates.io/api/v1/crates/rustversion/1.0.17/download -> rustversion-1.0.17.crate https://crates.io/api/v1/crates/ryu/1.0.18/download -> ryu-1.0.18.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/semver/1.0.23/download -> semver-1.0.23.crate https://crates.io/api/v1/crates/serde/1.0.210/download -> serde-1.0.210.crate https://crates.io/api/v1/crates/serde_derive/1.0.210/download -> serde_derive-1.0.210.crate https://crates.io/api/v1/crates/serde_json/1.0.128/download -> serde_json-1.0.128.crate https://crates.io/api/v1/crates/serde_repr/0.1.19/download -> serde_repr-0.1.19.crate https://crates.io/api/v1/crates/serde_spanned/0.6.8/download -> serde_spanned-0.6.8.crate https://crates.io/api/v1/crates/shlex/1.3.0/download -> shlex-1.3.0.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.2/download -> signal-hook-registry-1.4.2.crate https://crates.io/api/v1/crates/simple_logger/5.0.0/download -> simple_logger-5.0.0.crate https://crates.io/api/v1/crates/simplelog/0.12.2/download -> simplelog-0.12.2.crate https://crates.io/api/v1/crates/slab/0.4.9/download -> slab-0.4.9.crate https://crates.io/api/v1/crates/socket2/0.5.7/download -> socket2-0.5.7.crate https://crates.io/api/v1/crates/sorted-vec/0.8.3/download -> sorted-vec-0.8.3.crate https://crates.io/api/v1/crates/sscanf/0.4.2/download -> sscanf-0.4.2.crate https://crates.io/api/v1/crates/sscanf_macro/0.4.2/download -> sscanf_macro-0.4.2.crate https://crates.io/api/v1/crates/static_assertions/1.1.0/download -> static_assertions-1.1.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/syn/2.0.77/download -> syn-2.0.77.crate https://crates.io/api/v1/crates/sysinfo/0.31.4/download -> sysinfo-0.31.4.crate https://crates.io/api/v1/crates/tap/1.0.1/download -> tap-1.0.1.crate https://crates.io/api/v1/crates/tar/0.4.41/download -> tar-0.4.41.crate https://crates.io/api/v1/crates/tempfile/3.12.0/download -> tempfile-3.12.0.crate https://crates.io/api/v1/crates/termcolor/1.4.1/download -> termcolor-1.4.1.crate https://crates.io/api/v1/crates/terminal_size/0.3.0/download -> terminal_size-0.3.0.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.63/download -> thiserror-impl-1.0.63.crate https://crates.io/api/v1/crates/thiserror/1.0.63/download -> thiserror-1.0.63.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/time-core/0.1.2/download -> time-core-0.1.2.crate https://crates.io/api/v1/crates/time-macros/0.2.18/download -> time-macros-0.2.18.crate https://crates.io/api/v1/crates/time/0.3.36/download -> time-0.3.36.crate https://crates.io/api/v1/crates/tokio-macros/2.4.0/download -> tokio-macros-2.4.0.crate https://crates.io/api/v1/crates/tokio/1.40.0/download -> tokio-1.40.0.crate https://crates.io/api/v1/crates/toml/0.8.19/download -> toml-0.8.19.crate https://crates.io/api/v1/crates/toml_datetime/0.6.8/download -> toml_datetime-0.6.8.crate https://crates.io/api/v1/crates/toml_edit/0.22.20/download -> toml_edit-0.22.20.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.27/download -> tracing-attributes-0.1.27.crate https://crates.io/api/v1/crates/tracing-core/0.1.32/download -> tracing-core-0.1.32.crate https://crates.io/api/v1/crates/tracing/0.1.40/download -> tracing-0.1.40.crate https://crates.io/api/v1/crates/uds_windows/1.1.0/download -> uds_windows-1.1.0.crate https://crates.io/api/v1/crates/unicase/2.7.0/download -> unicase-2.7.0.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/unicode-segmentation/1.11.0/download -> unicode-segmentation-1.11.0.crate https://crates.io/api/v1/crates/unicode-width/0.1.12/download -> unicode-width-0.1.12.crate https://crates.io/api/v1/crates/unicode-xid/0.2.5/download -> unicode-xid-0.2.5.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/vergen/8.3.2/download -> vergen-8.3.2.crate https://crates.io/api/v1/crates/version-compare/0.1.1/download -> version-compare-0.1.1.crate https://crates.io/api/v1/crates/version_check/0.9.5/download -> version_check-0.9.5.crate https://crates.io/api/v1/crates/vsprintf/2.0.0/download -> vsprintf-2.0.0.crate https://crates.io/api/v1/crates/walkdir/2.5.0/download -> walkdir-2.5.0.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.93/download -> wasm-bindgen-backend-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.93/download -> wasm-bindgen-macro-support-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.93/download -> wasm-bindgen-macro-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.93/download -> wasm-bindgen-shared-0.2.93.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.93/download -> wasm-bindgen-0.2.93.crate https://crates.io/api/v1/crates/which/4.4.2/download -> which-4.4.2.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.9/download -> winapi-util-0.1.9.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-core/0.52.0/download -> windows-core-0.52.0.crate https://crates.io/api/v1/crates/windows-core/0.57.0/download -> windows-core-0.57.0.crate https://crates.io/api/v1/crates/windows-implement/0.57.0/download -> windows-implement-0.57.0.crate https://crates.io/api/v1/crates/windows-interface/0.57.0/download -> windows-interface-0.57.0.crate https://crates.io/api/v1/crates/windows-result/0.1.2/download -> windows-result-0.1.2.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows/0.57.0/download -> windows-0.57.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/winnow/0.6.18/download -> winnow-0.6.18.crate https://crates.io/api/v1/crates/wrapcenum-derive/0.4.1/download -> wrapcenum-derive-0.4.1.crate https://crates.io/api/v1/crates/wyz/0.5.1/download -> wyz-0.5.1.crate https://crates.io/api/v1/crates/xattr/1.3.1/download -> xattr-1.3.1.crate https://crates.io/api/v1/crates/xdg-home/1.3.0/download -> xdg-home-1.3.0.crate https://crates.io/api/v1/crates/zbus/5.1.1/download -> zbus-5.1.1.crate https://crates.io/api/v1/crates/zbus_macros/5.1.1/download -> zbus_macros-5.1.1.crate https://crates.io/api/v1/crates/zbus_names/4.1.0/download -> zbus_names-4.1.0.crate https://crates.io/api/v1/crates/zvariant/5.1.0/download -> zvariant-5.1.0.crate https://crates.io/api/v1/crates/zvariant_derive/5.1.0/download -> zvariant_derive-5.1.0.crate https://crates.io/api/v1/crates/zvariant_utils/3.0.2/download -> zvariant_utils-3.0.2.crate +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 linux-info ea4122ba1d8791a12b78e53f9510a2e3 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 +_md5_=c5e72d94409462a6e6704917adaaed9e diff --git a/metadata/md5-cache/sys-kernel/scx-1.0.9 b/metadata/md5-cache/sys-kernel/scx-1.0.9 new file mode 100644 index 0000000..bbdba0e --- /dev/null +++ b/metadata/md5-cache/sys-kernel/scx-1.0.9 @@ -0,0 +1,16 @@ +BDEPEND=app-misc/jq >=dev-util/bpftool-7.5.0 llvm_slot_20? ( llvm-core/clang:20=[llvm_targets_BPF(-)] ) || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 ) >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare setup test unpack +DEPEND=virtual/libelf:= sys-libs/zlib:= >=dev-libs/libbpf-1.5:= openrc? ( || ( sys-apps/openrc sys-apps/openrc-navi ) ) +DESCRIPTION=sched_ext schedulers and tools +EAPI=8 +HOMEPAGE=https://github.com/sched-ext/scx +INHERIT=llvm-r1 linux-info cargo rust-toolchain meson +IUSE=openrc systemd +llvm_slot_20 debug +KEYWORDS=~amd64 +LICENSE=GPL-2 Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB +RDEPEND=virtual/libelf:= sys-libs/zlib:= >=dev-libs/libbpf-1.5:= openrc? ( || ( sys-apps/openrc sys-apps/openrc-navi ) ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +SLOT=0 +SRC_URI=https://github.com/sched-ext/scx/archive/refs/tags/v1.0.9.tar.gz -> scx-1.0.9.tar.gz https://github.com/gentoo-crate-dist/scx/releases/download/v1.0.9/scx-v1.0.9-crates.tar.xz +_eclasses_=llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 linux-info ea4122ba1d8791a12b78e53f9510a2e3 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922 +_md5_=cc4e1b61c9f155055290105653887d43 diff --git a/metadata/md5-cache/virtual/linux-sources-3-r9 b/metadata/md5-cache/virtual/linux-sources-3-r9 new file mode 100644 index 0000000..d3a124b --- /dev/null +++ b/metadata/md5-cache/virtual/linux-sources-3-r9 @@ -0,0 +1,8 @@ +DEFINED_PHASES=- +DESCRIPTION=Virtual for Linux kernel sources +EAPI=7 +IUSE=firmware +gentoo -xanmod +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 +RDEPEND=firmware? ( sys-kernel/linux-firmware ) || ( gentoo? ( sys-kernel/gentoo-sources ) xanmod? ( sys-kernel/xanmod-sources ) sys-kernel/vanilla-sources sys-kernel/git-sources sys-kernel/mips-sources sys-kernel/pf-sources sys-kernel/rt-sources sys-kernel/zen-sources sys-kernel/raspberrypi-sources sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin sys-kernel/vanilla-kernel sys-kernel/linux-next sys-kernel/asahi-sources ) +SLOT=0 +_md5_=33c5f6fcaedf1ce26e4899c68b37f2dd diff --git a/metadata/md5-cache/www-client/firefox-128.7.0 b/metadata/md5-cache/www-client/firefox-128.7.0 new file mode 100644 index 0000000..acff8ae --- /dev/null +++ b/metadata/md5-cache/www-client/firefox-128.7.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Firefox Web Browser +EAPI=8 +HOMEPAGE=https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_20 +KEYWORDS=amd64 arm64 ~ppc64 ~riscv ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:rapid +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wasm-sandbox? ( llvm_slot_19 ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=esr +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/source/firefox-128.7.0esr.source.tar.xz -> firefox-128.7.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-08.tar.xz wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/af.xpi -> firefox-128.7.0esr-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ar.xpi -> firefox-128.7.0esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ast.xpi -> firefox-128.7.0esr-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/be.xpi -> firefox-128.7.0esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/bg.xpi -> firefox-128.7.0esr-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/br.xpi -> firefox-128.7.0esr-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ca.xpi -> firefox-128.7.0esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/cak.xpi -> firefox-128.7.0esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/cs.xpi -> firefox-128.7.0esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/cy.xpi -> firefox-128.7.0esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/da.xpi -> firefox-128.7.0esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/de.xpi -> firefox-128.7.0esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/dsb.xpi -> firefox-128.7.0esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/el.xpi -> firefox-128.7.0esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/en-CA.xpi -> firefox-128.7.0esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/en-GB.xpi -> firefox-128.7.0esr-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/es-AR.xpi -> firefox-128.7.0esr-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/es-ES.xpi -> firefox-128.7.0esr-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/et.xpi -> firefox-128.7.0esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/eu.xpi -> firefox-128.7.0esr-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/fi.xpi -> firefox-128.7.0esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/fr.xpi -> firefox-128.7.0esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/fy-NL.xpi -> firefox-128.7.0esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ga-IE.xpi -> firefox-128.7.0esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/gd.xpi -> firefox-128.7.0esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/gl.xpi -> firefox-128.7.0esr-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/he.xpi -> firefox-128.7.0esr-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/hr.xpi -> firefox-128.7.0esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/hsb.xpi -> firefox-128.7.0esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/hu.xpi -> firefox-128.7.0esr-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/id.xpi -> firefox-128.7.0esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/is.xpi -> firefox-128.7.0esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/it.xpi -> firefox-128.7.0esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ja.xpi -> firefox-128.7.0esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ka.xpi -> firefox-128.7.0esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/kab.xpi -> firefox-128.7.0esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/kk.xpi -> firefox-128.7.0esr-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ko.xpi -> firefox-128.7.0esr-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/lt.xpi -> firefox-128.7.0esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/lv.xpi -> firefox-128.7.0esr-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ms.xpi -> firefox-128.7.0esr-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/nb-NO.xpi -> firefox-128.7.0esr-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/nl.xpi -> firefox-128.7.0esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/nn-NO.xpi -> firefox-128.7.0esr-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/pa-IN.xpi -> firefox-128.7.0esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/pl.xpi -> firefox-128.7.0esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/pt-BR.xpi -> firefox-128.7.0esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/pt-PT.xpi -> firefox-128.7.0esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/rm.xpi -> firefox-128.7.0esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ro.xpi -> firefox-128.7.0esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ru.xpi -> firefox-128.7.0esr-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sk.xpi -> firefox-128.7.0esr-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sl.xpi -> firefox-128.7.0esr-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sq.xpi -> firefox-128.7.0esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sr.xpi -> firefox-128.7.0esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sv-SE.xpi -> firefox-128.7.0esr-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/th.xpi -> firefox-128.7.0esr-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/tr.xpi -> firefox-128.7.0esr-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/uk.xpi -> firefox-128.7.0esr-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/uz.xpi -> firefox-128.7.0esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/vi.xpi -> firefox-128.7.0esr-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/zh-CN.xpi -> firefox-128.7.0esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/zh-TW.xpi -> firefox-128.7.0esr-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ach.xpi -> firefox-128.7.0esr-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/an.xpi -> firefox-128.7.0esr-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/az.xpi -> firefox-128.7.0esr-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/bn.xpi -> firefox-128.7.0esr-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/bs.xpi -> firefox-128.7.0esr-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ca-valencia.xpi -> firefox-128.7.0esr-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/eo.xpi -> firefox-128.7.0esr-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/es-CL.xpi -> firefox-128.7.0esr-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/es-MX.xpi -> firefox-128.7.0esr-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/fa.xpi -> firefox-128.7.0esr-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ff.xpi -> firefox-128.7.0esr-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/fur.xpi -> firefox-128.7.0esr-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/gn.xpi -> firefox-128.7.0esr-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/gu-IN.xpi -> firefox-128.7.0esr-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/hi-IN.xpi -> firefox-128.7.0esr-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/hy-AM.xpi -> firefox-128.7.0esr-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ia.xpi -> firefox-128.7.0esr-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/km.xpi -> firefox-128.7.0esr-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/kn.xpi -> firefox-128.7.0esr-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/lij.xpi -> firefox-128.7.0esr-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/mk.xpi -> firefox-128.7.0esr-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/mr.xpi -> firefox-128.7.0esr-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/my.xpi -> firefox-128.7.0esr-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ne-NP.xpi -> firefox-128.7.0esr-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/oc.xpi -> firefox-128.7.0esr-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sc.xpi -> firefox-128.7.0esr-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/sco.xpi -> firefox-128.7.0esr-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/si.xpi -> firefox-128.7.0esr-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/skr.xpi -> firefox-128.7.0esr-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/son.xpi -> firefox-128.7.0esr-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/szl.xpi -> firefox-128.7.0esr-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ta.xpi -> firefox-128.7.0esr-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/te.xpi -> firefox-128.7.0esr-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/tl.xpi -> firefox-128.7.0esr-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/trs.xpi -> firefox-128.7.0esr-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/ur.xpi -> firefox-128.7.0esr-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/128.7.0esr/linux-x86_64/xpi/xh.xpi -> firefox-128.7.0esr-xh.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=5d03458d4049dddb79e12689f34bde10 diff --git a/metadata/md5-cache/www-client/firefox-128.8.0 b/metadata/md5-cache/www-client/firefox-128.8.0 new file mode 100644 index 0000000..f818a3e --- /dev/null +++ b/metadata/md5-cache/www-client/firefox-128.8.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Firefox Web Browser +EAPI=8 +HOMEPAGE=https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~ppc64 ~riscv ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.101 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:rapid +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wasm-sandbox? ( llvm_slot_19 ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=esr +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/source/firefox-128.8.0esr.source.tar.xz -> firefox-128.8.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-128esr-patches-09.tar.xz wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/af.xpi -> firefox-128.8.0esr-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ar.xpi -> firefox-128.8.0esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ast.xpi -> firefox-128.8.0esr-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/be.xpi -> firefox-128.8.0esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/bg.xpi -> firefox-128.8.0esr-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/br.xpi -> firefox-128.8.0esr-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ca.xpi -> firefox-128.8.0esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/cak.xpi -> firefox-128.8.0esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/cs.xpi -> firefox-128.8.0esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/cy.xpi -> firefox-128.8.0esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/da.xpi -> firefox-128.8.0esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/de.xpi -> firefox-128.8.0esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/dsb.xpi -> firefox-128.8.0esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/el.xpi -> firefox-128.8.0esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/en-CA.xpi -> firefox-128.8.0esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/en-GB.xpi -> firefox-128.8.0esr-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/es-AR.xpi -> firefox-128.8.0esr-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/es-ES.xpi -> firefox-128.8.0esr-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/et.xpi -> firefox-128.8.0esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/eu.xpi -> firefox-128.8.0esr-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/fi.xpi -> firefox-128.8.0esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/fr.xpi -> firefox-128.8.0esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/fy-NL.xpi -> firefox-128.8.0esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ga-IE.xpi -> firefox-128.8.0esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/gd.xpi -> firefox-128.8.0esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/gl.xpi -> firefox-128.8.0esr-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/he.xpi -> firefox-128.8.0esr-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/hr.xpi -> firefox-128.8.0esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/hsb.xpi -> firefox-128.8.0esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/hu.xpi -> firefox-128.8.0esr-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/id.xpi -> firefox-128.8.0esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/is.xpi -> firefox-128.8.0esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/it.xpi -> firefox-128.8.0esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ja.xpi -> firefox-128.8.0esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ka.xpi -> firefox-128.8.0esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/kab.xpi -> firefox-128.8.0esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/kk.xpi -> firefox-128.8.0esr-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ko.xpi -> firefox-128.8.0esr-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/lt.xpi -> firefox-128.8.0esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/lv.xpi -> firefox-128.8.0esr-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ms.xpi -> firefox-128.8.0esr-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/nb-NO.xpi -> firefox-128.8.0esr-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/nl.xpi -> firefox-128.8.0esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/nn-NO.xpi -> firefox-128.8.0esr-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/pa-IN.xpi -> firefox-128.8.0esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/pl.xpi -> firefox-128.8.0esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/pt-BR.xpi -> firefox-128.8.0esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/pt-PT.xpi -> firefox-128.8.0esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/rm.xpi -> firefox-128.8.0esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ro.xpi -> firefox-128.8.0esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ru.xpi -> firefox-128.8.0esr-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sk.xpi -> firefox-128.8.0esr-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sl.xpi -> firefox-128.8.0esr-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sq.xpi -> firefox-128.8.0esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sr.xpi -> firefox-128.8.0esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sv-SE.xpi -> firefox-128.8.0esr-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/th.xpi -> firefox-128.8.0esr-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/tr.xpi -> firefox-128.8.0esr-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/uk.xpi -> firefox-128.8.0esr-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/uz.xpi -> firefox-128.8.0esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/vi.xpi -> firefox-128.8.0esr-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/zh-CN.xpi -> firefox-128.8.0esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/zh-TW.xpi -> firefox-128.8.0esr-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ach.xpi -> firefox-128.8.0esr-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/an.xpi -> firefox-128.8.0esr-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/az.xpi -> firefox-128.8.0esr-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/bn.xpi -> firefox-128.8.0esr-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/bs.xpi -> firefox-128.8.0esr-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ca-valencia.xpi -> firefox-128.8.0esr-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/eo.xpi -> firefox-128.8.0esr-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/es-CL.xpi -> firefox-128.8.0esr-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/es-MX.xpi -> firefox-128.8.0esr-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/fa.xpi -> firefox-128.8.0esr-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ff.xpi -> firefox-128.8.0esr-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/fur.xpi -> firefox-128.8.0esr-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/gn.xpi -> firefox-128.8.0esr-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/gu-IN.xpi -> firefox-128.8.0esr-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/hi-IN.xpi -> firefox-128.8.0esr-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/hy-AM.xpi -> firefox-128.8.0esr-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ia.xpi -> firefox-128.8.0esr-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/km.xpi -> firefox-128.8.0esr-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/kn.xpi -> firefox-128.8.0esr-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/lij.xpi -> firefox-128.8.0esr-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/mk.xpi -> firefox-128.8.0esr-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/mr.xpi -> firefox-128.8.0esr-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/my.xpi -> firefox-128.8.0esr-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ne-NP.xpi -> firefox-128.8.0esr-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/oc.xpi -> firefox-128.8.0esr-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sc.xpi -> firefox-128.8.0esr-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/sco.xpi -> firefox-128.8.0esr-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/si.xpi -> firefox-128.8.0esr-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/skr.xpi -> firefox-128.8.0esr-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/son.xpi -> firefox-128.8.0esr-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/szl.xpi -> firefox-128.8.0esr-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ta.xpi -> firefox-128.8.0esr-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/te.xpi -> firefox-128.8.0esr-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/tl.xpi -> firefox-128.8.0esr-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/trs.xpi -> firefox-128.8.0esr-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/ur.xpi -> firefox-128.8.0esr-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/128.8.0esr/linux-x86_64/xpi/xh.xpi -> firefox-128.8.0esr-xh.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=86b518c38fe0973f3d82bc99f86f647e diff --git a/metadata/md5-cache/www-client/firefox-135.0 b/metadata/md5-cache/www-client/firefox-135.0 new file mode 100644 index 0000000..6ecb466 --- /dev/null +++ b/metadata/md5-cache/www-client/firefox-135.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.71 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.107 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Firefox Web Browser +EAPI=8 +HOMEPAGE=https://www.mozilla.org/firefox +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent +system-libvpx system-png +system-webp valgrind wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.107 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:esr +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wasm-sandbox? ( llvm_slot_19 ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=rapid +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/135.0/source/firefox-135.0.source.tar.xz -> firefox-135.0.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-135-patches-02.tar.xz loong? ( https://dev.gentoo.org/~xen0n/distfiles/www-client/firefox/firefox-135-loong-patches-01.tar.xz ) wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/af.xpi -> firefox-135.0-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ar.xpi -> firefox-135.0-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ast.xpi -> firefox-135.0-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/be.xpi -> firefox-135.0-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/bg.xpi -> firefox-135.0-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/br.xpi -> firefox-135.0-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ca.xpi -> firefox-135.0-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/cak.xpi -> firefox-135.0-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/cs.xpi -> firefox-135.0-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/cy.xpi -> firefox-135.0-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/da.xpi -> firefox-135.0-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/de.xpi -> firefox-135.0-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/dsb.xpi -> firefox-135.0-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/el.xpi -> firefox-135.0-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/en-CA.xpi -> firefox-135.0-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/en-GB.xpi -> firefox-135.0-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/es-AR.xpi -> firefox-135.0-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/es-ES.xpi -> firefox-135.0-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/et.xpi -> firefox-135.0-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/eu.xpi -> firefox-135.0-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/fi.xpi -> firefox-135.0-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/fr.xpi -> firefox-135.0-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/fy-NL.xpi -> firefox-135.0-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ga-IE.xpi -> firefox-135.0-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/gd.xpi -> firefox-135.0-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/gl.xpi -> firefox-135.0-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/he.xpi -> firefox-135.0-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/hr.xpi -> firefox-135.0-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/hsb.xpi -> firefox-135.0-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/hu.xpi -> firefox-135.0-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/id.xpi -> firefox-135.0-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/is.xpi -> firefox-135.0-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/it.xpi -> firefox-135.0-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ja.xpi -> firefox-135.0-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ka.xpi -> firefox-135.0-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/kab.xpi -> firefox-135.0-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/kk.xpi -> firefox-135.0-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ko.xpi -> firefox-135.0-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/lt.xpi -> firefox-135.0-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/lv.xpi -> firefox-135.0-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ms.xpi -> firefox-135.0-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/nb-NO.xpi -> firefox-135.0-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/nl.xpi -> firefox-135.0-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/nn-NO.xpi -> firefox-135.0-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/pa-IN.xpi -> firefox-135.0-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/pl.xpi -> firefox-135.0-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/pt-BR.xpi -> firefox-135.0-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/pt-PT.xpi -> firefox-135.0-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/rm.xpi -> firefox-135.0-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ro.xpi -> firefox-135.0-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ru.xpi -> firefox-135.0-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sk.xpi -> firefox-135.0-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sl.xpi -> firefox-135.0-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sq.xpi -> firefox-135.0-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sr.xpi -> firefox-135.0-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sv-SE.xpi -> firefox-135.0-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/th.xpi -> firefox-135.0-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/tr.xpi -> firefox-135.0-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/uk.xpi -> firefox-135.0-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/uz.xpi -> firefox-135.0-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/vi.xpi -> firefox-135.0-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/zh-CN.xpi -> firefox-135.0-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/zh-TW.xpi -> firefox-135.0-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ach.xpi -> firefox-135.0-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/an.xpi -> firefox-135.0-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/az.xpi -> firefox-135.0-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/bn.xpi -> firefox-135.0-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/bs.xpi -> firefox-135.0-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ca-valencia.xpi -> firefox-135.0-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/eo.xpi -> firefox-135.0-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/es-CL.xpi -> firefox-135.0-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/es-MX.xpi -> firefox-135.0-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/fa.xpi -> firefox-135.0-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ff.xpi -> firefox-135.0-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/fur.xpi -> firefox-135.0-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/gn.xpi -> firefox-135.0-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/gu-IN.xpi -> firefox-135.0-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/hi-IN.xpi -> firefox-135.0-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/hy-AM.xpi -> firefox-135.0-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ia.xpi -> firefox-135.0-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/km.xpi -> firefox-135.0-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/kn.xpi -> firefox-135.0-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/lij.xpi -> firefox-135.0-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/mk.xpi -> firefox-135.0-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/mr.xpi -> firefox-135.0-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/my.xpi -> firefox-135.0-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ne-NP.xpi -> firefox-135.0-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/oc.xpi -> firefox-135.0-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sc.xpi -> firefox-135.0-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/sco.xpi -> firefox-135.0-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/si.xpi -> firefox-135.0-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/skr.xpi -> firefox-135.0-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/son.xpi -> firefox-135.0-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/szl.xpi -> firefox-135.0-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ta.xpi -> firefox-135.0-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/te.xpi -> firefox-135.0-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/tl.xpi -> firefox-135.0-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/trs.xpi -> firefox-135.0-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/ur.xpi -> firefox-135.0-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/135.0/linux-x86_64/xpi/xh.xpi -> firefox-135.0-xh.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=67d930daa03de1e3bf6402186b96af53 diff --git a/metadata/md5-cache/www-client/firefox-135.0.1 b/metadata/md5-cache/www-client/firefox-135.0.1 new file mode 100644 index 0000000..3bb137a --- /dev/null +++ b/metadata/md5-cache/www-client/firefox-135.0.1 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.71 >=dev-build/libtool-2.4.7-r3 llvm_slot_20? ( || ( dev-lang/rust-bin:9999[llvm_slot_20] dev-lang/rust:9999[llvm_slot_20] ) ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.107 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Firefox Web Browser +EAPI=8 +HOMEPAGE=https://www.mozilla.org/firefox +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent +system-libvpx system-png +system-webp valgrind wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.107 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-73.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:esr +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wasm-sandbox? ( llvm_slot_19 ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=rapid +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/135.0.1/source/firefox-135.0.1.source.tar.xz -> firefox-135.0.1.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-135-patches-02.tar.xz loong? ( https://dev.gentoo.org/~xen0n/distfiles/www-client/firefox/firefox-135-loong-patches-01.tar.xz ) wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/af.xpi -> firefox-135.0.1-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ar.xpi -> firefox-135.0.1-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ast.xpi -> firefox-135.0.1-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/be.xpi -> firefox-135.0.1-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/bg.xpi -> firefox-135.0.1-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/br.xpi -> firefox-135.0.1-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ca.xpi -> firefox-135.0.1-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/cak.xpi -> firefox-135.0.1-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/cs.xpi -> firefox-135.0.1-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/cy.xpi -> firefox-135.0.1-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/da.xpi -> firefox-135.0.1-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/de.xpi -> firefox-135.0.1-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/dsb.xpi -> firefox-135.0.1-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/el.xpi -> firefox-135.0.1-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/en-CA.xpi -> firefox-135.0.1-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/en-GB.xpi -> firefox-135.0.1-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/es-AR.xpi -> firefox-135.0.1-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/es-ES.xpi -> firefox-135.0.1-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/et.xpi -> firefox-135.0.1-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/eu.xpi -> firefox-135.0.1-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/fi.xpi -> firefox-135.0.1-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/fr.xpi -> firefox-135.0.1-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/fy-NL.xpi -> firefox-135.0.1-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ga-IE.xpi -> firefox-135.0.1-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/gd.xpi -> firefox-135.0.1-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/gl.xpi -> firefox-135.0.1-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/he.xpi -> firefox-135.0.1-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/hr.xpi -> firefox-135.0.1-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/hsb.xpi -> firefox-135.0.1-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/hu.xpi -> firefox-135.0.1-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/id.xpi -> firefox-135.0.1-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/is.xpi -> firefox-135.0.1-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/it.xpi -> firefox-135.0.1-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ja.xpi -> firefox-135.0.1-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ka.xpi -> firefox-135.0.1-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/kab.xpi -> firefox-135.0.1-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/kk.xpi -> firefox-135.0.1-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ko.xpi -> firefox-135.0.1-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/lt.xpi -> firefox-135.0.1-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/lv.xpi -> firefox-135.0.1-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ms.xpi -> firefox-135.0.1-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/nb-NO.xpi -> firefox-135.0.1-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/nl.xpi -> firefox-135.0.1-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/nn-NO.xpi -> firefox-135.0.1-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/pa-IN.xpi -> firefox-135.0.1-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/pl.xpi -> firefox-135.0.1-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/pt-BR.xpi -> firefox-135.0.1-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/pt-PT.xpi -> firefox-135.0.1-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/rm.xpi -> firefox-135.0.1-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ro.xpi -> firefox-135.0.1-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ru.xpi -> firefox-135.0.1-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sk.xpi -> firefox-135.0.1-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sl.xpi -> firefox-135.0.1-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sq.xpi -> firefox-135.0.1-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sr.xpi -> firefox-135.0.1-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sv-SE.xpi -> firefox-135.0.1-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/th.xpi -> firefox-135.0.1-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/tr.xpi -> firefox-135.0.1-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/uk.xpi -> firefox-135.0.1-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/uz.xpi -> firefox-135.0.1-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/vi.xpi -> firefox-135.0.1-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/zh-CN.xpi -> firefox-135.0.1-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/zh-TW.xpi -> firefox-135.0.1-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ach.xpi -> firefox-135.0.1-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/an.xpi -> firefox-135.0.1-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/az.xpi -> firefox-135.0.1-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/bn.xpi -> firefox-135.0.1-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/bs.xpi -> firefox-135.0.1-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ca-valencia.xpi -> firefox-135.0.1-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/eo.xpi -> firefox-135.0.1-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/es-CL.xpi -> firefox-135.0.1-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/es-MX.xpi -> firefox-135.0.1-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/fa.xpi -> firefox-135.0.1-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ff.xpi -> firefox-135.0.1-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/fur.xpi -> firefox-135.0.1-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/gn.xpi -> firefox-135.0.1-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/gu-IN.xpi -> firefox-135.0.1-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/hi-IN.xpi -> firefox-135.0.1-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/hy-AM.xpi -> firefox-135.0.1-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ia.xpi -> firefox-135.0.1-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/km.xpi -> firefox-135.0.1-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/kn.xpi -> firefox-135.0.1-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/lij.xpi -> firefox-135.0.1-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/mk.xpi -> firefox-135.0.1-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/mr.xpi -> firefox-135.0.1-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/my.xpi -> firefox-135.0.1-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ne-NP.xpi -> firefox-135.0.1-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/oc.xpi -> firefox-135.0.1-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sc.xpi -> firefox-135.0.1-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/sco.xpi -> firefox-135.0.1-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/si.xpi -> firefox-135.0.1-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/skr.xpi -> firefox-135.0.1-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/son.xpi -> firefox-135.0.1-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/szl.xpi -> firefox-135.0.1-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ta.xpi -> firefox-135.0.1-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/te.xpi -> firefox-135.0.1-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/tl.xpi -> firefox-135.0.1-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/trs.xpi -> firefox-135.0.1-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/ur.xpi -> firefox-135.0.1-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/135.0.1/linux-x86_64/xpi/xh.xpi -> firefox-135.0.1-xh.xpi ) +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=a4a7047b2e45275c27a855595bdad53e diff --git a/metadata/md5-cache/www-client/firefox-136.0 b/metadata/md5-cache/www-client/firefox-136.0 new file mode 100644 index 0000000..a3067eb --- /dev/null +++ b/metadata/md5-cache/www-client/firefox-136.0 @@ -0,0 +1,17 @@ +BDEPEND=|| ( dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( || ( gui-wm/tinywl =app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.108 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-76.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM ) +DESCRIPTION=Firefox Web Browser +EAPI=8 +HOMEPAGE=https://www.mozilla.org/firefox +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg +IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent +system-libvpx system-png +system-webp valgrind wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_20 +KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.108 >=dev-libs/nspr-4.35 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg sys-libs/zlib virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-76.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:esr +REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wasm-sandbox? ( llvm_slot_19 ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 ) +SLOT=rapid +SRC_URI=https://archive.mozilla.org/pub/firefox/releases/136.0/source/firefox-136.0.source.tar.xz -> firefox-136.0.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-136-patches-01.tar.xz loong? ( https://dev.gentoo.org/~xen0n/distfiles/www-client/firefox/firefox-136-loong-patches-01.tar.xz ) wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/af.xpi -> firefox-136.0-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ar.xpi -> firefox-136.0-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ast.xpi -> firefox-136.0-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/be.xpi -> firefox-136.0-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/bg.xpi -> firefox-136.0-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/br.xpi -> firefox-136.0-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ca.xpi -> firefox-136.0-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/cak.xpi -> firefox-136.0-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/cs.xpi -> firefox-136.0-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/cy.xpi -> firefox-136.0-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/da.xpi -> firefox-136.0-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/de.xpi -> firefox-136.0-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/dsb.xpi -> firefox-136.0-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/el.xpi -> firefox-136.0-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/en-CA.xpi -> firefox-136.0-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/en-GB.xpi -> firefox-136.0-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/es-AR.xpi -> firefox-136.0-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/es-ES.xpi -> firefox-136.0-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/et.xpi -> firefox-136.0-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/eu.xpi -> firefox-136.0-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/fi.xpi -> firefox-136.0-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/fr.xpi -> firefox-136.0-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/fy-NL.xpi -> firefox-136.0-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ga-IE.xpi -> firefox-136.0-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/gd.xpi -> firefox-136.0-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/gl.xpi -> firefox-136.0-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/he.xpi -> firefox-136.0-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/hr.xpi -> firefox-136.0-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/hsb.xpi -> firefox-136.0-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/hu.xpi -> firefox-136.0-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/id.xpi -> firefox-136.0-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/is.xpi -> firefox-136.0-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/it.xpi -> firefox-136.0-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ja.xpi -> firefox-136.0-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ka.xpi -> firefox-136.0-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/kab.xpi -> firefox-136.0-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/kk.xpi -> firefox-136.0-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ko.xpi -> firefox-136.0-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/lt.xpi -> firefox-136.0-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/lv.xpi -> firefox-136.0-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ms.xpi -> firefox-136.0-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/nb-NO.xpi -> firefox-136.0-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/nl.xpi -> firefox-136.0-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/nn-NO.xpi -> firefox-136.0-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/pa-IN.xpi -> firefox-136.0-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/pl.xpi -> firefox-136.0-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/pt-BR.xpi -> firefox-136.0-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/pt-PT.xpi -> firefox-136.0-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/rm.xpi -> firefox-136.0-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ro.xpi -> firefox-136.0-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ru.xpi -> firefox-136.0-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sk.xpi -> firefox-136.0-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sl.xpi -> firefox-136.0-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sq.xpi -> firefox-136.0-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sr.xpi -> firefox-136.0-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sv-SE.xpi -> firefox-136.0-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/th.xpi -> firefox-136.0-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/tr.xpi -> firefox-136.0-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/uk.xpi -> firefox-136.0-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/uz.xpi -> firefox-136.0-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/vi.xpi -> firefox-136.0-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/zh-CN.xpi -> firefox-136.0-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/zh-TW.xpi -> firefox-136.0-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ach.xpi -> firefox-136.0-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/an.xpi -> firefox-136.0-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/az.xpi -> firefox-136.0-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/bn.xpi -> firefox-136.0-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/bs.xpi -> firefox-136.0-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ca-valencia.xpi -> firefox-136.0-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/eo.xpi -> firefox-136.0-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/es-CL.xpi -> firefox-136.0-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/es-MX.xpi -> firefox-136.0-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/fa.xpi -> firefox-136.0-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ff.xpi -> firefox-136.0-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/fur.xpi -> firefox-136.0-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/gn.xpi -> firefox-136.0-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/gu-IN.xpi -> firefox-136.0-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/hi-IN.xpi -> firefox-136.0-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/hy-AM.xpi -> firefox-136.0-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ia.xpi -> firefox-136.0-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/km.xpi -> firefox-136.0-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/kn.xpi -> firefox-136.0-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/lij.xpi -> firefox-136.0-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/mk.xpi -> firefox-136.0-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/mr.xpi -> firefox-136.0-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/my.xpi -> firefox-136.0-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ne-NP.xpi -> firefox-136.0-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/oc.xpi -> firefox-136.0-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sc.xpi -> firefox-136.0-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/sco.xpi -> firefox-136.0-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/si.xpi -> firefox-136.0-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/skr.xpi -> firefox-136.0-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/son.xpi -> firefox-136.0-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/szl.xpi -> firefox-136.0-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ta.xpi -> firefox-136.0-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/te.xpi -> firefox-136.0-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/tl.xpi -> firefox-136.0-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/trs.xpi -> firefox-136.0-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/ur.xpi -> firefox-136.0-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/136.0/linux-x86_64/xpi/xh.xpi -> firefox-136.0-xh.xpi ) +_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 rust 4fcc266e35b188de828a39aa7df727e4 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=4b9e04217243001d5d867a78b980e483 diff --git a/metadata/md5-cache/www-client/seamonkey-2.53.20 b/metadata/md5-cache/www-client/seamonkey-2.53.20 new file mode 100644 index 0000000..90c9f7b --- /dev/null +++ b/metadata/md5-cache/www-client/seamonkey-2.53.20 @@ -0,0 +1,17 @@ +BDEPEND=app-arch/unzip app-arch/zip >=dev-lang/nasm-2.13 dev-lang/perl dev-util/cbindgen >=sys-devel/binutils-2.16.1 llvm_slot_20? ( llvm-core/clang:20= llvm-core/llvm:20= ) virtual/pkgconfig amd64? ( >=dev-lang/yasm-1.1 ) x86? ( >=dev-lang/yasm-1.1 ) >=app-portage/elt-patches-20240116 sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) dev-build/autoconf:2.1 >=dev-build/libtool-2.4.7-r3 virtual/pkgconfig || ( dev-lang/python:3.11[ncurses,sqlite,ssl,threads(+)] dev-lang/python:3.10[ncurses,sqlite,ssl,threads(+)] ) app-arch/unzip || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup unpack +DEPEND=app-arch/bzip2 >=app-accessibility/at-spi2-core-2.46.0 >=dev-libs/glib-2.26:2 >=dev-libs/libffi-3.0.10:= >=dev-libs/nspr-4.23 >=dev-libs/nss-3.47.1 media-libs/fontconfig >=media-libs/freetype-2.4.10 >=media-libs/mesa-10.2:= >=sys-libs/zlib-1.2.3 >=x11-libs/cairo-1.10[X] x11-libs/gdk-pixbuf x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt x11-libs/libxcb:= >=x11-libs/pango-1.22.0 x11-libs/pixman media-video/ffmpeg virtual/freedesktop-icon-theme dbus? ( >=dev-libs/dbus-glib-0.72 >=sys-apps/dbus-0.60 ) jack? ( virtual/jack ) kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.9 ) ) startup-notification? ( >=x11-libs/startup-notification-0.8 ) system-av1? ( >=media-libs/dav1d-0.3.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.9-r1 >=media-libs/harfbuzz-1.3.3:0= ) system-icu? ( >=dev-libs/icu-59.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-libevent? ( >=dev-libs/libevent-2.0:0= ) system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) wifi? ( kernel_linux? ( >=dev-libs/dbus-glib-0.72 net-misc/networkmanager >=sys-apps/dbus-0.60 ) ) x11-base/xorg-proto amd64? ( virtual/opengl ) x86? ( virtual/opengl ) +DESCRIPTION=Seamonkey Web Browser +EAPI=8 +HOMEPAGE=https://www.seamonkey-project.org/ +INHERIT=autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils rust toolchain-funcs xdg-utils +IUSE=+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack pulseaudio selinux startup-notification test webrtc wifi +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-png +system-sqlite +llvm_slot_20 custom-cflags custom-optimization l10n_cs l10n_de l10n_en-GB l10n_es-AR l10n_es-ES l10n_fr l10n_hu l10n_it l10n_ja l10n_lt l10n_nl l10n_pl l10n_pt-PT l10n_ru l10n_sk l10n_sv l10n_zh-CN l10n_zh-TW +KEYWORDS=~amd64 ~ppc64 ~x86 +LICENSE=MPL-2.0 GPL-2 LGPL-2.1 +RDEPEND=app-arch/bzip2 >=app-accessibility/at-spi2-core-2.46.0 >=dev-libs/glib-2.26:2 >=dev-libs/libffi-3.0.10:= >=dev-libs/nspr-4.23 >=dev-libs/nss-3.47.1 media-libs/fontconfig >=media-libs/freetype-2.4.10 >=media-libs/mesa-10.2:= >=sys-libs/zlib-1.2.3 >=x11-libs/cairo-1.10[X] x11-libs/gdk-pixbuf x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt x11-libs/libxcb:= >=x11-libs/pango-1.22.0 x11-libs/pixman media-video/ffmpeg virtual/freedesktop-icon-theme dbus? ( >=dev-libs/dbus-glib-0.72 >=sys-apps/dbus-0.60 ) jack? ( virtual/jack ) kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.9 ) ) startup-notification? ( >=x11-libs/startup-notification-0.8 ) system-av1? ( >=media-libs/dav1d-0.3.0:= >=media-libs/libaom-1.0.0:= ) system-harfbuzz? ( >=media-gfx/graphite2-1.3.9-r1 >=media-libs/harfbuzz-1.3.3:0= ) system-icu? ( >=dev-libs/icu-59.1:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-libevent? ( >=dev-libs/libevent-2.0:0= ) system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) wifi? ( kernel_linux? ( >=dev-libs/dbus-glib-0.72 net-misc/networkmanager >=sys-apps/dbus-0.60 ) ) selinux? ( sec-policy/selinux-mozilla ) +REQUIRED_USE=^^ ( llvm_slot_20 ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://archive.seamonkey-project.org/releases/2.53.20/source/seamonkey-2.53.20.source.tar.xz https://archive.seamonkey-project.org/releases/2.53.20/source/seamonkey-2.53.20.source-l10n.tar.xz https://github.com/BioMike/gentoo-seamonkey-patches/archive/refs/tags/2.53.20.tar.gz -> seamonkey-2.53.20-patches.tar.gz +_eclasses_=gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 libtool 6b28392a775f807c8be5fc7ec9a605b9 autotools 03ea4e0b6b685afdc980f00a43ea5d12 check-reqs 2a9731073c152554078a9a8df8fc0f1b desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed edos2unix 33e347e171066657f91f8b0c72ec8773 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r1 0bd586d3786517cd63802a520b404dda multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 mozcoreconf-v6 5aef144ddcf22241770c6047fc490d9e mozextension 877db733d62674d780c81898d0a3bc7c mozlinguas-v2 a882c425f4cc40b815995176a734db4b pax-utils 5555f2e75744739fe100ee62c22d28fe rust 4fcc266e35b188de828a39aa7df727e4 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 +_md5_=0864c12880276b766ee40a9d967a7ff0 diff --git a/metadata/md5-cache/x11-apps/radeon-profile-20200824-r2 b/metadata/md5-cache/x11-apps/radeon-profile-20200824-r2 index 2f92767..2607665 100644 --- a/metadata/md5-cache/x11-apps/radeon-profile-20200824-r2 +++ b/metadata/md5-cache/x11-apps/radeon-profile-20200824-r2 @@ -10,5 +10,5 @@ LICENSE=GPL-2 RDEPEND=! radeon-profile-20200824.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 qmake-utils 59420c906278d16deaaa629f9d115707 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 qmake-utils a8dd17b1d94586164f5e3fc12b1c6b81 _md5_=71a9decbedea10a93b68a540d656f57a diff --git a/metadata/md5-cache/x11-misc/VulkanTools-1.3.275.0 b/metadata/md5-cache/x11-misc/VulkanTools-1.3.275.0 new file mode 100644 index 0000000..8f4b675 --- /dev/null +++ b/metadata/md5-cache/x11-misc/VulkanTools-1.3.275.0 @@ -0,0 +1,14 @@ +BDEPEND=dev-cpp/valijson app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) dev-util/vulkan-headers media-libs/vulkan-loader:=[wayland?,X?] wayland? ( dev-libs/wayland ) X? ( x11-libs/libX11 x11-libs/libXrandr ) +DESCRIPTION=Vulkan Configurator +EAPI=7 +HOMEPAGE=https://github.com/LunarG/VulkanTools +INHERIT=python-any-r1 cmake +IUSE=X wayland +KEYWORDS=~amd64 +LICENSE=Apache-2.0 +SLOT=0 +SRC_URI=https://github.com/LunarG/VulkanTools/archive/vulkan-sdk-1.3.275.0.tar.gz -> VulkanTools-sdk-1.3.275.0.tar.gz +_eclasses_=eapi8-dosym 5ac4857ad078256d939c44f7c64197a9 multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=fd21edc254a9b35f9e44a6d55671d8e9 diff --git a/metadata/md5-cache/x11-misc/copyq-7.1.0 b/metadata/md5-cache/x11-misc/copyq-7.1.0 new file mode 100644 index 0000000..9193af2 --- /dev/null +++ b/metadata/md5-cache/x11-misc/copyq-7.1.0 @@ -0,0 +1,17 @@ +BDEPEND=kde-frameworks/extra-cmake-modules:0 !qt6? ( dev-qt/linguist-tools:5 dev-qt/qtwaylandscanner:5 ) qt6? ( dev-qt/qttools:6[linguist] dev-qt/qtwayland:6 dev-util/wayland-scanner ) test? ( app-crypt/gnupg x11-wm/icewm ) app-alternatives/ninja >=dev-build/cmake-3.20.5 test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare test +DEPEND=dev-libs/wayland x11-libs/libX11 x11-libs/libXfixes x11-libs/libXtst !qt6? ( dev-qt/qtcore:5 dev-qt/qtdeclarative:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtsvg:5 dev-qt/qtwayland:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 kde? ( kde-frameworks/knotifications:5 ) test? ( dev-qt/qttest:5 ) ) qt6? ( dev-qt/qtbase:6=[X,gui,network,test?,widgets,xml(+)] dev-qt/qtdeclarative:6 dev-qt/qtsvg:6 dev-qt/qtwayland:6 ) x11-base/xorg-proto +DESCRIPTION=Clipboard manager with advanced features +EAPI=8 +HOMEPAGE=https://github.com/hluk/CopyQ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cmake edo optfeature virtualx xdg +IUSE=debug kde qt6 test test +KEYWORDS=~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-3+ +RDEPEND=dev-libs/wayland x11-libs/libX11 x11-libs/libXfixes x11-libs/libXtst !qt6? ( dev-qt/qtcore:5 dev-qt/qtdeclarative:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtsvg:5 dev-qt/qtwayland:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 kde? ( kde-frameworks/knotifications:5 ) test? ( dev-qt/qttest:5 ) ) qt6? ( dev-qt/qtbase:6=[X,gui,network,test?,widgets,xml(+)] dev-qt/qtdeclarative:6 dev-qt/qtsvg:6 dev-qt/qtwayland:6 ) +RESTRICT=test !test? ( test ) +SLOT=0 +SRC_URI=https://github.com/hluk/copyq/archive/v7.1.0.tar.gz -> copyq-7.1.0.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 edo 367e103a74bf77e6a8da7894d999fa3c optfeature 538bce96e5589935b57e178e8635f301 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=285cdc48936769dbad6c1713d80312e2 diff --git a/metadata/md5-cache/x11-misc/nyrna-bin-2.11.1-r1 b/metadata/md5-cache/x11-misc/nyrna-bin-2.11.1-r1 index 667f201..14dd9bd 100644 --- a/metadata/md5-cache/x11-misc/nyrna-bin-2.11.1-r1 +++ b/metadata/md5-cache/x11-misc/nyrna-bin-2.11.1-r1 @@ -10,5 +10,5 @@ RDEPEND=dev-libs/keybinder x11-libs/gtk+ !x11-misc/nyrna x11-misc/wmctrl x11-mis RESTRICT=mirror SLOT=0 SRC_URI=https://github.com/Merrit/nyrna/releases/download/v2.11.1/Nyrna-Linux-Portable.tar.gz -> nyrna-bin-2.11.1.tar.gz -_eclasses_=desktop 56973babb9c5f19cab0eeb53ece644c6 xdg-utils 5465aed08f1dfc2a75f14cbea4272961 xdg 8d7d90c01b1b1c2602dab6fc6b177097 +_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed xdg-utils 42869b3c8d86a70ef3cf75165a395e09 xdg 3ef49a87c52c8b77c476351195dfe575 _md5_=e2123cd19743f26e46b68cced79997cb diff --git a/metadata/md5-cache/x11-terms/wezterm-20220905 b/metadata/md5-cache/x11-terms/wezterm-20220905 index d5f4183..d98eb9f 100644 --- a/metadata/md5-cache/x11-terms/wezterm-20220905 +++ b/metadata/md5-cache/x11-terms/wezterm-20220905 @@ -1,5 +1,5 @@ -BDEPEND=virtual/rust dev-util/cmake dev-util/pkgconf dev-vcs/git >=virtual/rust-1.53 -DEFINED_PHASES=compile configure install postinst postrm prepare test unpack +BDEPEND=virtual/rust dev-util/cmake dev-util/pkgconf dev-vcs/git || ( dev-lang/rust-bin:9999 dev-lang/rust:9999 dev-lang/rust-bin:1.86.0 dev-lang/rust:1.86.0 dev-lang/rust-bin:1.85.0 dev-lang/rust:1.85.0 dev-lang/rust-bin:1.84.1 dev-lang/rust:1.84.1 dev-lang/rust-bin:1.84.0 dev-lang/rust:1.84.0 dev-lang/rust-bin:1.83.0 dev-lang/rust:1.83.0 dev-lang/rust-bin:1.82.0 dev-lang/rust:1.82.0 dev-lang/rust-bin:1.81.0 dev-lang/rust:1.81.0 dev-lang/rust-bin:1.80.1 dev-lang/rust:1.80.1 dev-lang/rust-bin:1.79.0 dev-lang/rust:1.79.0 dev-lang/rust-bin:1.78.0 dev-lang/rust:1.78.0 dev-lang/rust-bin:1.77.1 dev-lang/rust:1.77.1 dev-lang/rust-bin:1.76.0 dev-lang/rust:1.76.0 dev-lang/rust-bin:1.75.0 dev-lang/rust:1.75.0 dev-lang/rust-bin:1.74.1 dev-lang/rust:1.74.1 dev-lang/rust-bin:1.71.1 dev-lang/rust:1.71.1 ) +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack DEPEND=dev-libs/openssl wayland? ( dev-libs/wayland ) media-libs/fontconfig media-libs/mesa sys-apps/dbus x11-libs/libX11 x11-libs/libxkbcommon x11-libs/xcb-util x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm x11-themes/hicolor-icon-theme DESCRIPTION=A GPU-accelerated cross-platform terminal emulator and multiplexer EAPI=8 @@ -11,5 +11,5 @@ LICENSE=0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD BSD-2 Boo RDEPEND=dev-libs/openssl wayland? ( dev-libs/wayland ) media-libs/fontconfig media-libs/mesa sys-apps/dbus x11-libs/libX11 x11-libs/libxkbcommon x11-libs/xcb-util x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm x11-themes/hicolor-icon-theme SLOT=0 SRC_URI=https://github.com/wez/wezterm/archive/refs/tags/20220905-102802-7d4b8249.tar.gz https://crates.io/api/v1/crates/addr2line/0.17.0/download -> addr2line-0.17.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/adler32/1.2.0/download -> adler32-1.2.0.crate https://crates.io/api/v1/crates/ahash/0.7.6/download -> ahash-0.7.6.crate https://crates.io/api/v1/crates/aho-corasick/0.7.19/download -> aho-corasick-0.7.19.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anyhow/1.0.64/download -> anyhow-1.0.64.crate https://crates.io/api/v1/crates/arrayref/0.3.6/download -> arrayref-0.3.6.crate https://crates.io/api/v1/crates/arrayvec/0.7.2/download -> arrayvec-0.7.2.crate https://crates.io/api/v1/crates/assert_fs/1.0.7/download -> assert_fs-1.0.7.crate https://crates.io/api/v1/crates/async-broadcast/0.4.1/download -> async-broadcast-0.4.1.crate https://crates.io/api/v1/crates/async-channel/1.7.1/download -> async-channel-1.7.1.crate https://crates.io/api/v1/crates/async-executor/1.4.1/download -> async-executor-1.4.1.crate https://crates.io/api/v1/crates/async-fs/1.6.0/download -> async-fs-1.6.0.crate https://crates.io/api/v1/crates/async-global-executor/2.3.0/download -> async-global-executor-2.3.0.crate https://crates.io/api/v1/crates/async-io/1.9.0/download -> async-io-1.9.0.crate https://crates.io/api/v1/crates/async-lock/2.5.0/download -> async-lock-2.5.0.crate https://crates.io/api/v1/crates/async-net/1.7.0/download -> async-net-1.7.0.crate https://crates.io/api/v1/crates/async-process/1.5.0/download -> async-process-1.5.0.crate https://crates.io/api/v1/crates/async-recursion/0.3.2/download -> async-recursion-0.3.2.crate https://crates.io/api/v1/crates/async-std/1.12.0/download -> async-std-1.12.0.crate https://crates.io/api/v1/crates/async-task/4.3.0/download -> async-task-4.3.0.crate https://crates.io/api/v1/crates/async-trait/0.1.57/download -> async-trait-0.1.57.crate https://crates.io/api/v1/crates/atomic-waker/1.0.0/download -> atomic-waker-1.0.0.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/backtrace/0.3.66/download -> backtrace-0.3.66.crate https://crates.io/api/v1/crates/base64/0.13.0/download -> base64-0.13.0.crate https://crates.io/api/v1/crates/benchmarking/0.4.11/download -> benchmarking-0.4.11.crate https://crates.io/api/v1/crates/bit_field/0.10.1/download -> bit_field-0.10.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/block/0.1.6/download -> block-0.1.6.crate https://crates.io/api/v1/crates/block-buffer/0.9.0/download -> block-buffer-0.9.0.crate https://crates.io/api/v1/crates/block-buffer/0.10.3/download -> block-buffer-0.10.3.crate https://crates.io/api/v1/crates/blocking/1.2.0/download -> blocking-1.2.0.crate https://crates.io/api/v1/crates/bstr/0.1.4/download -> bstr-0.1.4.crate https://crates.io/api/v1/crates/bstr/0.2.17/download -> bstr-0.2.17.crate https://crates.io/api/v1/crates/bumpalo/3.11.0/download -> bumpalo-3.11.0.crate https://crates.io/api/v1/crates/bytemuck/1.12.1/download -> bytemuck-1.12.1.crate https://crates.io/api/v1/crates/byteorder/1.4.3/download -> byteorder-1.4.3.crate https://crates.io/api/v1/crates/bytes/1.2.1/download -> bytes-1.2.1.crate https://crates.io/api/v1/crates/cache-advisor/1.0.11/download -> cache-advisor-1.0.11.crate https://crates.io/api/v1/crates/cache-padded/1.2.0/download -> cache-padded-1.2.0.crate https://crates.io/api/v1/crates/camino/1.1.1/download -> camino-1.1.1.crate https://crates.io/api/v1/crates/cassowary/0.3.0/download -> cassowary-0.3.0.crate https://crates.io/api/v1/crates/cast/0.3.0/download -> cast-0.3.0.crate https://crates.io/api/v1/crates/cc/1.0.73/download -> cc-1.0.73.crate https://crates.io/api/v1/crates/cfg-if/0.1.10/download -> cfg-if-0.1.10.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cgl/0.3.2/download -> cgl-0.3.2.crate https://crates.io/api/v1/crates/chrono/0.4.22/download -> chrono-0.4.22.crate https://crates.io/api/v1/crates/clap/2.34.0/download -> clap-2.34.0.crate https://crates.io/api/v1/crates/clap/3.2.20/download -> clap-3.2.20.crate https://crates.io/api/v1/crates/clap_complete/3.2.4/download -> clap_complete-3.2.4.crate https://crates.io/api/v1/crates/clap_complete_fig/3.2.4/download -> clap_complete_fig-3.2.4.crate https://crates.io/api/v1/crates/clap_derive/3.2.18/download -> clap_derive-3.2.18.crate https://crates.io/api/v1/crates/clap_lex/0.2.4/download -> clap_lex-0.2.4.crate https://crates.io/api/v1/crates/clipboard-win/2.2.0/download -> clipboard-win-2.2.0.crate https://crates.io/api/v1/crates/clipboard_macos/0.1.0/download -> clipboard_macos-0.1.0.crate https://crates.io/api/v1/crates/cocoa/0.20.2/download -> cocoa-0.20.2.crate https://crates.io/api/v1/crates/color_quant/1.1.0/download -> color_quant-1.1.0.crate https://crates.io/api/v1/crates/colored/1.9.3/download -> colored-1.9.3.crate https://crates.io/api/v1/crates/colorgrad/0.6.1/download -> colorgrad-0.6.1.crate https://crates.io/api/v1/crates/concurrent-queue/1.2.4/download -> concurrent-queue-1.2.4.crate https://crates.io/api/v1/crates/core-foundation/0.7.0/download -> core-foundation-0.7.0.crate https://crates.io/api/v1/crates/core-foundation/0.9.3/download -> core-foundation-0.9.3.crate https://crates.io/api/v1/crates/core-foundation-sys/0.7.0/download -> core-foundation-sys-0.7.0.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.3/download -> core-foundation-sys-0.8.3.crate https://crates.io/api/v1/crates/core-graphics/0.19.2/download -> core-graphics-0.19.2.crate https://crates.io/api/v1/crates/core-graphics/0.22.3/download -> core-graphics-0.22.3.crate https://crates.io/api/v1/crates/core-graphics-types/0.1.1/download -> core-graphics-types-0.1.1.crate https://crates.io/api/v1/crates/core-text/19.2.0/download -> core-text-19.2.0.crate https://crates.io/api/v1/crates/cpufeatures/0.2.5/download -> cpufeatures-0.2.5.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/criterion/0.3.6/download -> criterion-0.3.6.crate https://crates.io/api/v1/crates/criterion-plot/0.4.5/download -> criterion-plot-0.4.5.crate https://crates.io/api/v1/crates/crossbeam/0.8.2/download -> crossbeam-0.8.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.6/download -> crossbeam-channel-0.5.6.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.2/download -> crossbeam-deque-0.8.2.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.10/download -> crossbeam-epoch-0.9.10.crate https://crates.io/api/v1/crates/crossbeam-queue/0.3.6/download -> crossbeam-queue-0.3.6.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.11/download -> crossbeam-utils-0.8.11.crate https://crates.io/api/v1/crates/crypto-common/0.1.6/download -> crypto-common-0.1.6.crate https://crates.io/api/v1/crates/csscolorparser/0.6.2/download -> csscolorparser-0.6.2.crate https://crates.io/api/v1/crates/csv/1.1.6/download -> csv-1.1.6.crate https://crates.io/api/v1/crates/csv-core/0.1.10/download -> csv-core-0.1.10.crate https://crates.io/api/v1/crates/ctor/0.1.23/download -> ctor-0.1.23.crate https://crates.io/api/v1/crates/cty/0.2.2/download -> cty-0.2.2.crate https://crates.io/api/v1/crates/darling/0.14.1/download -> darling-0.14.1.crate https://crates.io/api/v1/crates/darling_core/0.14.1/download -> darling_core-0.14.1.crate https://crates.io/api/v1/crates/darling_macro/0.14.1/download -> darling_macro-0.14.1.crate https://crates.io/api/v1/crates/dashmap/5.4.0/download -> dashmap-5.4.0.crate https://crates.io/api/v1/crates/data-encoding/2.3.2/download -> data-encoding-2.3.2.crate https://crates.io/api/v1/crates/deflate/1.0.0/download -> deflate-1.0.0.crate https://crates.io/api/v1/crates/deltae/0.3.0/download -> deltae-0.3.0.crate https://crates.io/api/v1/crates/derivative/2.2.0/download -> derivative-2.2.0.crate https://crates.io/api/v1/crates/diff/0.1.13/download -> diff-0.1.13.crate https://crates.io/api/v1/crates/difflib/0.4.0/download -> difflib-0.4.0.crate https://crates.io/api/v1/crates/digest/0.9.0/download -> digest-0.9.0.crate https://crates.io/api/v1/crates/digest/0.10.3/download -> digest-0.10.3.crate https://crates.io/api/v1/crates/dirs/2.0.2/download -> dirs-2.0.2.crate https://crates.io/api/v1/crates/dirs/4.0.0/download -> dirs-4.0.0.crate https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate https://crates.io/api/v1/crates/dirs-sys/0.3.7/download -> dirs-sys-0.3.7.crate https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate https://crates.io/api/v1/crates/dlib/0.5.0/download -> dlib-0.5.0.crate https://crates.io/api/v1/crates/doc-comment/0.3.3/download -> doc-comment-0.3.3.crate https://crates.io/api/v1/crates/downcast-rs/1.2.0/download -> downcast-rs-1.2.0.crate https://crates.io/api/v1/crates/dwrote/0.11.0/download -> dwrote-0.11.0.crate https://crates.io/api/v1/crates/either/1.8.0/download -> either-1.8.0.crate https://crates.io/api/v1/crates/embed-resource/1.7.3/download -> embed-resource-1.7.3.crate https://crates.io/api/v1/crates/emojis/0.4.0/download -> emojis-0.4.0.crate https://crates.io/api/v1/crates/encoding_rs/0.8.31/download -> encoding_rs-0.8.31.crate https://crates.io/api/v1/crates/enum-display-derive/0.1.1/download -> enum-display-derive-0.1.1.crate https://crates.io/api/v1/crates/enumflags2/0.7.5/download -> enumflags2-0.7.5.crate https://crates.io/api/v1/crates/enumflags2_derive/0.7.4/download -> enumflags2_derive-0.7.4.crate https://crates.io/api/v1/crates/env_logger/0.9.0/download -> env_logger-0.9.0.crate https://crates.io/api/v1/crates/euclid/0.22.7/download -> euclid-0.22.7.crate https://crates.io/api/v1/crates/event-listener/2.5.3/download -> event-listener-2.5.3.crate https://crates.io/api/v1/crates/exr/1.5.0/download -> exr-1.5.0.crate https://crates.io/api/v1/crates/fallible-iterator/0.2.0/download -> fallible-iterator-0.2.0.crate https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download -> fallible-streaming-iterator-0.1.9.crate https://crates.io/api/v1/crates/fastrand/1.8.0/download -> fastrand-1.8.0.crate https://crates.io/api/v1/crates/filenamegen/0.2.4/download -> filenamegen-0.2.4.crate https://crates.io/api/v1/crates/filetime/0.2.17/download -> filetime-0.2.17.crate https://crates.io/api/v1/crates/fixedbitset/0.4.2/download -> fixedbitset-0.4.2.crate https://crates.io/api/v1/crates/flate2/1.0.24/download -> flate2-1.0.24.crate https://crates.io/api/v1/crates/float-cmp/0.9.0/download -> float-cmp-0.9.0.crate https://crates.io/api/v1/crates/flume/0.10.14/download -> flume-0.10.14.crate https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download -> form_urlencoded-1.0.1.crate https://crates.io/api/v1/crates/fsevent-sys/4.1.0/download -> fsevent-sys-4.1.0.crate https://crates.io/api/v1/crates/futures/0.3.24/download -> futures-0.3.24.crate https://crates.io/api/v1/crates/futures-channel/0.3.24/download -> futures-channel-0.3.24.crate https://crates.io/api/v1/crates/futures-core/0.3.24/download -> futures-core-0.3.24.crate https://crates.io/api/v1/crates/futures-executor/0.3.24/download -> futures-executor-0.3.24.crate https://crates.io/api/v1/crates/futures-io/0.3.24/download -> futures-io-0.3.24.crate https://crates.io/api/v1/crates/futures-lite/1.12.0/download -> futures-lite-1.12.0.crate https://crates.io/api/v1/crates/futures-macro/0.3.24/download -> futures-macro-0.3.24.crate https://crates.io/api/v1/crates/futures-sink/0.3.24/download -> futures-sink-0.3.24.crate https://crates.io/api/v1/crates/futures-task/0.3.24/download -> futures-task-0.3.24.crate https://crates.io/api/v1/crates/futures-timer/3.0.2/download -> futures-timer-3.0.2.crate https://crates.io/api/v1/crates/futures-util/0.3.24/download -> futures-util-0.3.24.crate https://crates.io/api/v1/crates/fuzzy-matcher/0.3.7/download -> fuzzy-matcher-0.3.7.crate https://crates.io/api/v1/crates/generic-array/0.14.6/download -> generic-array-0.14.6.crate https://crates.io/api/v1/crates/getopts/0.2.21/download -> getopts-0.2.21.crate https://crates.io/api/v1/crates/getrandom/0.1.16/download -> getrandom-0.1.16.crate https://crates.io/api/v1/crates/getrandom/0.2.7/download -> getrandom-0.2.7.crate https://crates.io/api/v1/crates/gif/0.11.4/download -> gif-0.11.4.crate https://crates.io/api/v1/crates/gimli/0.26.2/download -> gimli-0.26.2.crate https://crates.io/api/v1/crates/git2/0.14.4/download -> git2-0.14.4.crate https://crates.io/api/v1/crates/gl_generator/0.14.0/download -> gl_generator-0.14.0.crate https://crates.io/api/v1/crates/glium/0.31.0/download -> glium-0.31.0.crate https://crates.io/api/v1/crates/globset/0.4.9/download -> globset-0.4.9.crate https://crates.io/api/v1/crates/globwalk/0.8.1/download -> globwalk-0.8.1.crate https://crates.io/api/v1/crates/gloo-timers/0.2.4/download -> gloo-timers-0.2.4.crate https://crates.io/api/v1/crates/governor/0.4.2/download -> governor-0.4.2.crate https://crates.io/api/v1/crates/guillotiere/0.6.2/download -> guillotiere-0.6.2.crate https://crates.io/api/v1/crates/h2/0.3.14/download -> h2-0.3.14.crate https://crates.io/api/v1/crates/half/1.8.2/download -> half-1.8.2.crate https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate https://crates.io/api/v1/crates/hashbrown/0.12.3/download -> hashbrown-0.12.3.crate https://crates.io/api/v1/crates/hashlink/0.7.0/download -> hashlink-0.7.0.crate https://crates.io/api/v1/crates/hdrhistogram/7.5.1/download -> hdrhistogram-7.5.1.crate https://crates.io/api/v1/crates/heck/0.4.0/download -> heck-0.4.0.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/hex/0.4.3/download -> hex-0.4.3.crate https://crates.io/api/v1/crates/hostname/0.3.1/download -> hostname-0.3.1.crate https://crates.io/api/v1/crates/http/0.2.8/download -> http-0.2.8.crate https://crates.io/api/v1/crates/http-body/0.4.5/download -> http-body-0.4.5.crate https://crates.io/api/v1/crates/http_req/0.8.1/download -> http_req-0.8.1.crate https://crates.io/api/v1/crates/httparse/1.8.0/download -> httparse-1.8.0.crate https://crates.io/api/v1/crates/httpdate/1.0.2/download -> httpdate-1.0.2.crate https://crates.io/api/v1/crates/humantime/2.1.0/download -> humantime-2.1.0.crate https://crates.io/api/v1/crates/hyper/0.14.20/download -> hyper-0.14.20.crate https://crates.io/api/v1/crates/hyper-tls/0.5.0/download -> hyper-tls-0.5.0.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.47/download -> iana-time-zone-0.1.47.crate https://crates.io/api/v1/crates/ident_case/1.0.1/download -> ident_case-1.0.1.crate https://crates.io/api/v1/crates/idna/0.2.3/download -> idna-0.2.3.crate https://crates.io/api/v1/crates/ignore/0.4.18/download -> ignore-0.4.18.crate https://crates.io/api/v1/crates/image/0.24.3/download -> image-0.24.3.crate https://crates.io/api/v1/crates/indexmap/1.9.1/download -> indexmap-1.9.1.crate https://crates.io/api/v1/crates/inotify/0.9.6/download -> inotify-0.9.6.crate https://crates.io/api/v1/crates/inotify-sys/0.1.5/download -> inotify-sys-0.1.5.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/ioctl-rs/0.1.6/download -> ioctl-rs-0.1.6.crate https://crates.io/api/v1/crates/ipnet/2.5.0/download -> ipnet-2.5.0.crate https://crates.io/api/v1/crates/itertools/0.10.3/download -> itertools-0.10.3.crate https://crates.io/api/v1/crates/itoa/0.4.8/download -> itoa-0.4.8.crate https://crates.io/api/v1/crates/itoa/1.0.3/download -> itoa-1.0.3.crate https://crates.io/api/v1/crates/jobserver/0.1.24/download -> jobserver-0.1.24.crate https://crates.io/api/v1/crates/jpeg-decoder/0.2.6/download -> jpeg-decoder-0.2.6.crate https://crates.io/api/v1/crates/js-sys/0.3.59/download -> js-sys-0.3.59.crate https://crates.io/api/v1/crates/k9/0.11.5/download -> k9-0.11.5.crate https://crates.io/api/v1/crates/khronos_api/3.1.0/download -> khronos_api-3.1.0.crate https://crates.io/api/v1/crates/kqueue/1.0.6/download -> kqueue-1.0.6.crate https://crates.io/api/v1/crates/kqueue-sys/1.0.3/download -> kqueue-sys-1.0.3.crate https://crates.io/api/v1/crates/kv-log-macro/1.0.7/download -> kv-log-macro-1.0.7.crate https://crates.io/api/v1/crates/lab/0.11.0/download -> lab-0.11.0.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/leb128/0.2.5/download -> leb128-0.2.5.crate https://crates.io/api/v1/crates/lebe/0.5.2/download -> lebe-0.5.2.crate https://crates.io/api/v1/crates/libc/0.2.132/download -> libc-0.2.132.crate https://crates.io/api/v1/crates/libflate/1.2.0/download -> libflate-1.2.0.crate https://crates.io/api/v1/crates/libflate_lz77/1.1.0/download -> libflate_lz77-1.1.0.crate https://crates.io/api/v1/crates/libgit2-sys/0.13.4+1.4.2/download -> libgit2-sys-0.13.4+1.4.2.crate https://crates.io/api/v1/crates/libloading/0.6.7/download -> libloading-0.6.7.crate https://crates.io/api/v1/crates/libloading/0.7.3/download -> libloading-0.7.3.crate https://crates.io/api/v1/crates/libsqlite3-sys/0.24.2/download -> libsqlite3-sys-0.24.2.crate https://crates.io/api/v1/crates/libssh2-sys/0.2.23/download -> libssh2-sys-0.2.23.crate https://crates.io/api/v1/crates/libssh-rs/0.1.4/download -> libssh-rs-0.1.4.crate https://crates.io/api/v1/crates/libz-sys/1.1.8/download -> libz-sys-1.1.8.crate https://crates.io/api/v1/crates/line-wrap/0.1.1/download -> line-wrap-0.1.1.crate https://crates.io/api/v1/crates/line_drawing/0.8.1/download -> line_drawing-0.8.1.crate https://crates.io/api/v1/crates/linked-hash-map/0.5.6/download -> linked-hash-map-0.5.6.crate https://crates.io/api/v1/crates/lock_api/0.4.8/download -> lock_api-0.4.8.crate https://crates.io/api/v1/crates/log/0.4.17/download -> log-0.4.17.crate https://crates.io/api/v1/crates/lru/0.7.8/download -> lru-0.7.8.crate https://crates.io/api/v1/crates/lua-src/544.0.1/download -> lua-src-544.0.1.crate https://crates.io/api/v1/crates/luajit-src/210.4.1+restyaa7a722/download -> luajit-src-210.4.1+restyaa7a722.crate https://crates.io/api/v1/crates/mach/0.3.2/download -> mach-0.3.2.crate https://crates.io/api/v1/crates/malloc_buf/0.0.6/download -> malloc_buf-0.0.6.crate https://crates.io/api/v1/crates/maplit/1.0.2/download -> maplit-1.0.2.crate https://crates.io/api/v1/crates/match_cfg/0.1.0/download -> match_cfg-0.1.0.crate https://crates.io/api/v1/crates/matches/0.1.9/download -> matches-0.1.9.crate https://crates.io/api/v1/crates/memchr/2.5.0/download -> memchr-2.5.0.crate https://crates.io/api/v1/crates/memmap2/0.2.3/download -> memmap2-0.2.3.crate https://crates.io/api/v1/crates/memmap2/0.3.1/download -> memmap2-0.3.1.crate https://crates.io/api/v1/crates/memmap2/0.5.7/download -> memmap2-0.5.7.crate https://crates.io/api/v1/crates/memmem/0.1.1/download -> memmem-0.1.1.crate https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate https://crates.io/api/v1/crates/metrics/0.17.1/download -> metrics-0.17.1.crate https://crates.io/api/v1/crates/metrics-macros/0.4.1/download -> metrics-macros-0.4.1.crate https://crates.io/api/v1/crates/mime/0.3.16/download -> mime-0.3.16.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.4.4/download -> miniz_oxide-0.4.4.crate https://crates.io/api/v1/crates/miniz_oxide/0.5.4/download -> miniz_oxide-0.5.4.crate https://crates.io/api/v1/crates/mio/0.8.4/download -> mio-0.8.4.crate https://crates.io/api/v1/crates/mlua/0.8.3/download -> mlua-0.8.3.crate https://crates.io/api/v1/crates/names/0.12.0/download -> names-0.12.0.crate https://crates.io/api/v1/crates/nanorand/0.7.0/download -> nanorand-0.7.0.crate https://crates.io/api/v1/crates/native-tls/0.2.10/download -> native-tls-0.2.10.crate https://crates.io/api/v1/crates/nix/0.22.3/download -> nix-0.22.3.crate https://crates.io/api/v1/crates/nix/0.23.1/download -> nix-0.23.1.crate https://crates.io/api/v1/crates/nix/0.24.2/download -> nix-0.24.2.crate https://crates.io/api/v1/crates/nix/0.25.0/download -> nix-0.25.0.crate https://crates.io/api/v1/crates/no-std-compat/0.4.1/download -> no-std-compat-0.4.1.crate https://crates.io/api/v1/crates/nom/5.1.2/download -> nom-5.1.2.crate https://crates.io/api/v1/crates/nom/7.1.1/download -> nom-7.1.1.crate https://crates.io/api/v1/crates/nonzero_ext/0.3.0/download -> nonzero_ext-0.3.0.crate https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download -> normalize-line-endings-0.3.0.crate https://crates.io/api/v1/crates/notify/5.0.0/download -> notify-5.0.0.crate https://crates.io/api/v1/crates/ntapi/0.3.7/download -> ntapi-0.3.7.crate https://crates.io/api/v1/crates/num/0.3.1/download -> num-0.3.1.crate https://crates.io/api/v1/crates/num-bigint/0.3.3/download -> num-bigint-0.3.3.crate https://crates.io/api/v1/crates/num-complex/0.3.1/download -> num-complex-0.3.1.crate https://crates.io/api/v1/crates/num-derive/0.3.3/download -> num-derive-0.3.3.crate https://crates.io/api/v1/crates/num-integer/0.1.45/download -> num-integer-0.1.45.crate https://crates.io/api/v1/crates/num-iter/0.1.43/download -> num-iter-0.1.43.crate https://crates.io/api/v1/crates/num-rational/0.3.2/download -> num-rational-0.3.2.crate https://crates.io/api/v1/crates/num-rational/0.4.1/download -> num-rational-0.4.1.crate https://crates.io/api/v1/crates/num-traits/0.2.15/download -> num-traits-0.2.15.crate https://crates.io/api/v1/crates/num_cpus/1.13.1/download -> num_cpus-1.13.1.crate https://crates.io/api/v1/crates/num_threads/0.1.6/download -> num_threads-0.1.6.crate https://crates.io/api/v1/crates/objc/0.2.7/download -> objc-0.2.7.crate https://crates.io/api/v1/crates/objc-foundation/0.1.1/download -> objc-foundation-0.1.1.crate https://crates.io/api/v1/crates/objc_id/0.1.1/download -> objc_id-0.1.1.crate https://crates.io/api/v1/crates/object/0.29.0/download -> object-0.29.0.crate https://crates.io/api/v1/crates/once_cell/1.14.0/download -> once_cell-1.14.0.crate https://crates.io/api/v1/crates/oorandom/11.1.3/download -> oorandom-11.1.3.crate https://crates.io/api/v1/crates/opaque-debug/0.3.0/download -> opaque-debug-0.3.0.crate https://crates.io/api/v1/crates/open/3.0.2/download -> open-3.0.2.crate https://crates.io/api/v1/crates/openssl/0.10.38/download -> openssl-0.10.38.crate https://crates.io/api/v1/crates/openssl-probe/0.1.5/download -> openssl-probe-0.1.5.crate https://crates.io/api/v1/crates/openssl-src/300.0.9+3.0.5/download -> openssl-src-300.0.9+3.0.5.crate https://crates.io/api/v1/crates/openssl-sys/0.9.71/download -> openssl-sys-0.9.71.crate https://crates.io/api/v1/crates/ordered-float/3.0.0/download -> ordered-float-3.0.0.crate https://crates.io/api/v1/crates/ordered-stream/0.0.1/download -> ordered-stream-0.0.1.crate https://crates.io/api/v1/crates/os_str_bytes/6.3.0/download -> os_str_bytes-6.3.0.crate https://crates.io/api/v1/crates/parking/2.0.0/download -> parking-2.0.0.crate https://crates.io/api/v1/crates/parking_lot/0.11.2/download -> parking_lot-0.11.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.1/download -> parking_lot-0.12.1.crate https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download -> parking_lot_core-0.8.5.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download -> parking_lot_core-0.9.3.crate https://crates.io/api/v1/crates/pathdiff/0.2.1/download -> pathdiff-0.2.1.crate https://crates.io/api/v1/crates/pem/1.1.0/download -> pem-1.1.0.crate https://crates.io/api/v1/crates/percent-encoding/2.1.0/download -> percent-encoding-2.1.0.crate https://crates.io/api/v1/crates/pest/2.3.0/download -> pest-2.3.0.crate https://crates.io/api/v1/crates/pest_derive/2.3.0/download -> pest_derive-2.3.0.crate https://crates.io/api/v1/crates/pest_generator/2.3.0/download -> pest_generator-2.3.0.crate https://crates.io/api/v1/crates/pest_meta/2.3.0/download -> pest_meta-2.3.0.crate https://crates.io/api/v1/crates/phf/0.8.0/download -> phf-0.8.0.crate https://crates.io/api/v1/crates/phf/0.10.1/download -> phf-0.10.1.crate https://crates.io/api/v1/crates/phf/0.11.1/download -> phf-0.11.1.crate https://crates.io/api/v1/crates/phf_codegen/0.8.0/download -> phf_codegen-0.8.0.crate https://crates.io/api/v1/crates/phf_generator/0.8.0/download -> phf_generator-0.8.0.crate https://crates.io/api/v1/crates/phf_generator/0.11.1/download -> phf_generator-0.11.1.crate https://crates.io/api/v1/crates/phf_macros/0.11.1/download -> phf_macros-0.11.1.crate https://crates.io/api/v1/crates/phf_shared/0.8.0/download -> phf_shared-0.8.0.crate https://crates.io/api/v1/crates/phf_shared/0.10.0/download -> phf_shared-0.10.0.crate https://crates.io/api/v1/crates/phf_shared/0.11.1/download -> phf_shared-0.11.1.crate https://crates.io/api/v1/crates/pin-project/1.0.12/download -> pin-project-1.0.12.crate https://crates.io/api/v1/crates/pin-project-internal/1.0.12/download -> pin-project-internal-1.0.12.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download -> pin-project-lite-0.2.9.crate https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate https://crates.io/api/v1/crates/pkg-config/0.3.25/download -> pkg-config-0.3.25.crate https://crates.io/api/v1/crates/plist/1.3.1/download -> plist-1.3.1.crate https://crates.io/api/v1/crates/plotters/0.3.3/download -> plotters-0.3.3.crate https://crates.io/api/v1/crates/plotters-backend/0.3.4/download -> plotters-backend-0.3.4.crate https://crates.io/api/v1/crates/plotters-svg/0.3.3/download -> plotters-svg-0.3.3.crate https://crates.io/api/v1/crates/png/0.17.5/download -> png-0.17.5.crate https://crates.io/api/v1/crates/polling/2.3.0/download -> polling-2.3.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download -> ppv-lite86-0.2.16.crate https://crates.io/api/v1/crates/predicates/2.1.1/download -> predicates-2.1.1.crate https://crates.io/api/v1/crates/predicates-core/1.0.3/download -> predicates-core-1.0.3.crate https://crates.io/api/v1/crates/predicates-tree/1.0.5/download -> predicates-tree-1.0.5.crate https://crates.io/api/v1/crates/proc-macro-crate/1.2.1/download -> proc-macro-crate-1.2.1.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.43/download -> proc-macro2-1.0.43.crate https://crates.io/api/v1/crates/pulldown-cmark/0.9.2/download -> pulldown-cmark-0.9.2.crate https://crates.io/api/v1/crates/pure-rust-locales/0.5.6/download -> pure-rust-locales-0.5.6.crate https://crates.io/api/v1/crates/quanta/0.9.3/download -> quanta-0.9.3.crate https://crates.io/api/v1/crates/quick-xml/0.22.0/download -> quick-xml-0.22.0.crate https://crates.io/api/v1/crates/quote/1.0.21/download -> quote-1.0.21.crate https://crates.io/api/v1/crates/rand/0.7.3/download -> rand-0.7.3.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_chacha/0.2.2/download -> rand_chacha-0.2.2.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.5.1/download -> rand_core-0.5.1.crate https://crates.io/api/v1/crates/rand_core/0.6.3/download -> rand_core-0.6.3.crate https://crates.io/api/v1/crates/rand_hc/0.2.0/download -> rand_hc-0.2.0.crate https://crates.io/api/v1/crates/rand_pcg/0.2.1/download -> rand_pcg-0.2.1.crate https://crates.io/api/v1/crates/raw-cpuid/10.5.0/download -> raw-cpuid-10.5.0.crate https://crates.io/api/v1/crates/raw-window-handle/0.3.4/download -> raw-window-handle-0.3.4.crate https://crates.io/api/v1/crates/raw-window-handle/0.4.3/download -> raw-window-handle-0.4.3.crate https://crates.io/api/v1/crates/rayon/1.5.3/download -> rayon-1.5.3.crate https://crates.io/api/v1/crates/rayon-core/1.9.3/download -> rayon-core-1.9.3.crate https://crates.io/api/v1/crates/rcgen/0.9.3/download -> rcgen-0.9.3.crate https://crates.io/api/v1/crates/redox_syscall/0.2.16/download -> redox_syscall-0.2.16.crate https://crates.io/api/v1/crates/redox_users/0.4.3/download -> redox_users-0.4.3.crate https://crates.io/api/v1/crates/regex/1.6.0/download -> regex-1.6.0.crate https://crates.io/api/v1/crates/regex-automata/0.1.10/download -> regex-automata-0.1.10.crate https://crates.io/api/v1/crates/regex-syntax/0.6.27/download -> regex-syntax-0.6.27.crate https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download -> remove_dir_all-0.5.3.crate https://crates.io/api/v1/crates/reqwest/0.11.11/download -> reqwest-0.11.11.crate https://crates.io/api/v1/crates/resize/0.5.5/download -> resize-0.5.5.crate https://crates.io/api/v1/crates/rgb/0.8.33/download -> rgb-0.8.33.crate https://crates.io/api/v1/crates/ring/0.16.20/download -> ring-0.16.20.crate https://crates.io/api/v1/crates/rle-decode-fast/1.0.3/download -> rle-decode-fast-1.0.3.crate https://crates.io/api/v1/crates/rstest/0.15.0/download -> rstest-0.15.0.crate https://crates.io/api/v1/crates/rstest_macros/0.14.0/download -> rstest_macros-0.14.0.crate https://crates.io/api/v1/crates/rusqlite/0.27.0/download -> rusqlite-0.27.0.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download -> rustc-demangle-0.1.21.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/ryu/1.0.11/download -> ryu-1.0.11.crate https://crates.io/api/v1/crates/safemem/0.3.3/download -> safemem-0.3.3.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/schannel/0.1.20/download -> schannel-0.1.20.crate https://crates.io/api/v1/crates/scoped-tls/1.0.0/download -> scoped-tls-1.0.0.crate https://crates.io/api/v1/crates/scoped_threadpool/0.1.9/download -> scoped_threadpool-0.1.9.crate https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate https://crates.io/api/v1/crates/security-framework/2.7.0/download -> security-framework-2.7.0.crate https://crates.io/api/v1/crates/security-framework-sys/2.6.1/download -> security-framework-sys-2.6.1.crate https://crates.io/api/v1/crates/semver/0.11.0/download -> semver-0.11.0.crate https://crates.io/api/v1/crates/semver/1.0.13/download -> semver-1.0.13.crate https://crates.io/api/v1/crates/semver-parser/0.10.2/download -> semver-parser-0.10.2.crate https://crates.io/api/v1/crates/serde/1.0.144/download -> serde-1.0.144.crate https://crates.io/api/v1/crates/serde_cbor/0.11.2/download -> serde_cbor-0.11.2.crate https://crates.io/api/v1/crates/serde_derive/1.0.144/download -> serde_derive-1.0.144.crate https://crates.io/api/v1/crates/serde_json/1.0.85/download -> serde_json-1.0.85.crate https://crates.io/api/v1/crates/serde_repr/0.1.9/download -> serde_repr-0.1.9.crate https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download -> serde_urlencoded-0.7.1.crate https://crates.io/api/v1/crates/serde_with/2.0.0/download -> serde_with-2.0.0.crate https://crates.io/api/v1/crates/serde_with_macros/2.0.0/download -> serde_with_macros-2.0.0.crate https://crates.io/api/v1/crates/serde_yaml/0.9.11/download -> serde_yaml-0.9.11.crate https://crates.io/api/v1/crates/serial/0.4.0/download -> serial-0.4.0.crate https://crates.io/api/v1/crates/serial-core/0.4.0/download -> serial-core-0.4.0.crate https://crates.io/api/v1/crates/serial-unix/0.4.0/download -> serial-unix-0.4.0.crate https://crates.io/api/v1/crates/serial-windows/0.4.0/download -> serial-windows-0.4.0.crate https://crates.io/api/v1/crates/sha-1/0.10.0/download -> sha-1-0.10.0.crate https://crates.io/api/v1/crates/sha1/0.6.1/download -> sha1-0.6.1.crate https://crates.io/api/v1/crates/sha1_smol/1.0.0/download -> sha1_smol-1.0.0.crate https://crates.io/api/v1/crates/sha2/0.9.9/download -> sha2-0.9.9.crate https://crates.io/api/v1/crates/shared_library/0.1.9/download -> shared_library-0.1.9.crate https://crates.io/api/v1/crates/shell-words/1.1.0/download -> shell-words-1.1.0.crate https://crates.io/api/v1/crates/shlex/1.1.0/download -> shlex-1.1.0.crate https://crates.io/api/v1/crates/signal-hook/0.1.17/download -> signal-hook-0.1.17.crate https://crates.io/api/v1/crates/signal-hook/0.3.14/download -> signal-hook-0.3.14.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download -> signal-hook-registry-1.4.0.crate https://crates.io/api/v1/crates/siphasher/0.3.10/download -> siphasher-0.3.10.crate https://crates.io/api/v1/crates/slab/0.4.7/download -> slab-0.4.7.crate https://crates.io/api/v1/crates/smallvec/1.9.0/download -> smallvec-1.9.0.crate https://crates.io/api/v1/crates/smawk/0.3.1/download -> smawk-0.3.1.crate https://crates.io/api/v1/crates/smithay-client-toolkit/0.15.4/download -> smithay-client-toolkit-0.15.4.crate https://crates.io/api/v1/crates/smol/1.2.5/download -> smol-1.2.5.crate https://crates.io/api/v1/crates/smol-potat/1.1.2/download -> smol-potat-1.1.2.crate https://crates.io/api/v1/crates/smol-potat-macro/0.6.0/download -> smol-potat-macro-0.6.0.crate https://crates.io/api/v1/crates/socket2/0.4.7/download -> socket2-0.4.7.crate https://crates.io/api/v1/crates/spa/0.3.0/download -> spa-0.3.0.crate https://crates.io/api/v1/crates/spin/0.5.2/download -> spin-0.5.2.crate https://crates.io/api/v1/crates/spin/0.9.4/download -> spin-0.9.4.crate https://crates.io/api/v1/crates/sqlite-cache/0.1.3/download -> sqlite-cache-0.1.3.crate https://crates.io/api/v1/crates/ssh2/0.9.3/download -> ssh2-0.9.3.crate https://crates.io/api/v1/crates/starship-battery/0.7.9/download -> starship-battery-0.7.9.crate https://crates.io/api/v1/crates/static_assertions/1.1.0/download -> static_assertions-1.1.0.crate https://crates.io/api/v1/crates/strict-num/0.1.0/download -> strict-num-0.1.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/svg_fmt/0.4.1/download -> svg_fmt-0.4.1.crate https://crates.io/api/v1/crates/syn/1.0.99/download -> syn-1.0.99.crate https://crates.io/api/v1/crates/takeable-option/0.5.0/download -> takeable-option-0.5.0.crate https://crates.io/api/v1/crates/tar/0.4.38/download -> tar-0.4.38.crate https://crates.io/api/v1/crates/tempfile/3.3.0/download -> tempfile-3.3.0.crate https://crates.io/api/v1/crates/term_size/0.3.2/download -> term_size-0.3.2.crate https://crates.io/api/v1/crates/termcolor/1.1.3/download -> termcolor-1.1.3.crate https://crates.io/api/v1/crates/terminfo/0.7.3/download -> terminfo-0.7.3.crate https://crates.io/api/v1/crates/termios/0.2.2/download -> termios-0.2.2.crate https://crates.io/api/v1/crates/termios/0.3.3/download -> termios-0.3.3.crate https://crates.io/api/v1/crates/termtree/0.2.4/download -> termtree-0.2.4.crate https://crates.io/api/v1/crates/textwrap/0.11.0/download -> textwrap-0.11.0.crate https://crates.io/api/v1/crates/textwrap/0.15.0/download -> textwrap-0.15.0.crate https://crates.io/api/v1/crates/thiserror/1.0.34/download -> thiserror-1.0.34.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.34/download -> thiserror-impl-1.0.34.crate https://crates.io/api/v1/crates/thread_local/1.1.4/download -> thread_local-1.1.4.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tiff/0.7.3/download -> tiff-0.7.3.crate https://crates.io/api/v1/crates/time/0.1.43/download -> time-0.1.43.crate https://crates.io/api/v1/crates/time/0.3.14/download -> time-0.3.14.crate https://crates.io/api/v1/crates/tiny-skia/0.8.1/download -> tiny-skia-0.8.1.crate https://crates.io/api/v1/crates/tiny-skia-path/0.8.1/download -> tiny-skia-path-0.8.1.crate https://crates.io/api/v1/crates/tinytemplate/1.2.1/download -> tinytemplate-1.2.1.crate https://crates.io/api/v1/crates/tinyvec/1.6.0/download -> tinyvec-1.6.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download -> tinyvec_macros-0.1.0.crate https://crates.io/api/v1/crates/tokio/1.21.0/download -> tokio-1.21.0.crate https://crates.io/api/v1/crates/tokio-macros/1.8.0/download -> tokio-macros-1.8.0.crate https://crates.io/api/v1/crates/tokio-native-tls/0.3.0/download -> tokio-native-tls-0.3.0.crate https://crates.io/api/v1/crates/tokio-util/0.7.3/download -> tokio-util-0.7.3.crate https://crates.io/api/v1/crates/toml/0.5.8/download -> toml-0.5.8.crate https://crates.io/api/v1/crates/tower-service/0.3.2/download -> tower-service-0.3.2.crate https://crates.io/api/v1/crates/tracing/0.1.36/download -> tracing-0.1.36.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.22/download -> tracing-attributes-0.1.22.crate https://crates.io/api/v1/crates/tracing-core/0.1.29/download -> tracing-core-0.1.29.crate https://crates.io/api/v1/crates/try-lock/0.2.3/download -> try-lock-0.2.3.crate https://crates.io/api/v1/crates/typenum/1.15.0/download -> typenum-1.15.0.crate https://crates.io/api/v1/crates/ucd-trie/0.1.5/download -> ucd-trie-0.1.5.crate https://crates.io/api/v1/crates/uds_windows/1.0.2/download -> uds_windows-1.0.2.crate https://crates.io/api/v1/crates/unicase/2.6.0/download -> unicase-2.6.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download -> unicode-bidi-0.3.8.crate https://crates.io/api/v1/crates/unicode-ident/1.0.3/download -> unicode-ident-1.0.3.crate https://crates.io/api/v1/crates/unicode-linebreak/0.1.2/download -> unicode-linebreak-0.1.2.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download -> unicode-normalization-0.1.21.crate https://crates.io/api/v1/crates/unicode-segmentation/1.9.0/download -> unicode-segmentation-1.9.0.crate https://crates.io/api/v1/crates/unicode-width/0.1.9/download -> unicode-width-0.1.9.crate https://crates.io/api/v1/crates/unsafe-libyaml/0.2.2/download -> unsafe-libyaml-0.2.2.crate https://crates.io/api/v1/crates/untrusted/0.7.1/download -> untrusted-0.7.1.crate https://crates.io/api/v1/crates/uom/0.30.0/download -> uom-0.30.0.crate https://crates.io/api/v1/crates/url/2.2.2/download -> url-2.2.2.crate https://crates.io/api/v1/crates/utf8parse/0.2.0/download -> utf8parse-0.2.0.crate https://crates.io/api/v1/crates/value-bag/1.0.0-alpha.9/download -> value-bag-1.0.0-alpha.9.crate https://crates.io/api/v1/crates/varbincode/0.1.0/download -> varbincode-0.1.0.crate https://crates.io/api/v1/crates/vcpkg/0.2.15/download -> vcpkg-0.2.15.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/vswhom/0.1.0/download -> vswhom-0.1.0.crate https://crates.io/api/v1/crates/vswhom-sys/0.1.1/download -> vswhom-sys-0.1.1.crate https://crates.io/api/v1/crates/waker-fn/1.1.0/download -> waker-fn-1.1.0.crate https://crates.io/api/v1/crates/walkdir/2.3.2/download -> walkdir-2.3.2.crate https://crates.io/api/v1/crates/want/0.3.0/download -> want-0.3.0.crate https://crates.io/api/v1/crates/wasi/0.9.0+wasi-snapshot-preview1/download -> wasi-0.9.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download -> wasi-0.10.2+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.82/download -> wasm-bindgen-0.2.82.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.82/download -> wasm-bindgen-backend-0.2.82.crate https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.32/download -> wasm-bindgen-futures-0.4.32.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.82/download -> wasm-bindgen-macro-0.2.82.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.82/download -> wasm-bindgen-macro-support-0.2.82.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.82/download -> wasm-bindgen-shared-0.2.82.crate https://crates.io/api/v1/crates/wayland-client/0.29.5/download -> wayland-client-0.29.5.crate https://crates.io/api/v1/crates/wayland-commons/0.29.5/download -> wayland-commons-0.29.5.crate https://crates.io/api/v1/crates/wayland-cursor/0.29.5/download -> wayland-cursor-0.29.5.crate https://crates.io/api/v1/crates/wayland-egl/0.29.5/download -> wayland-egl-0.29.5.crate https://crates.io/api/v1/crates/wayland-protocols/0.29.5/download -> wayland-protocols-0.29.5.crate https://crates.io/api/v1/crates/wayland-scanner/0.29.5/download -> wayland-scanner-0.29.5.crate https://crates.io/api/v1/crates/wayland-sys/0.29.5/download -> wayland-sys-0.29.5.crate https://crates.io/api/v1/crates/web-sys/0.3.59/download -> web-sys-0.3.59.crate https://crates.io/api/v1/crates/weezl/0.1.7/download -> weezl-0.1.7.crate https://crates.io/api/v1/crates/wepoll-ffi/0.1.2/download -> wepoll-ffi-0.1.2.crate https://crates.io/api/v1/crates/whoami/1.2.1/download -> whoami-1.2.1.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows/0.33.0/download -> windows-0.33.0.crate https://crates.io/api/v1/crates/windows-sys/0.36.1/download -> windows-sys-0.36.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.33.0/download -> windows_aarch64_msvc-0.33.0.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download -> windows_aarch64_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.33.0/download -> windows_i686_gnu-0.33.0.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download -> windows_i686_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.33.0/download -> windows_i686_msvc-0.33.0.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download -> windows_i686_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.33.0/download -> windows_x86_64_gnu-0.33.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download -> windows_x86_64_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.33.0/download -> windows_x86_64_msvc-0.33.0.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download -> windows_x86_64_msvc-0.36.1.crate https://crates.io/api/v1/crates/winreg/0.10.1/download -> winreg-0.10.1.crate https://crates.io/api/v1/crates/wio/0.2.2/download -> wio-0.2.2.crate https://crates.io/api/v1/crates/x11/2.20.0/download -> x11-2.20.0.crate https://crates.io/api/v1/crates/xattr/0.2.3/download -> xattr-0.2.3.crate https://crates.io/api/v1/crates/xcursor/0.3.4/download -> xcursor-0.3.4.crate https://crates.io/api/v1/crates/xkbcommon/0.5.0/download -> xkbcommon-0.5.0.crate https://crates.io/api/v1/crates/xml-rs/0.8.4/download -> xml-rs-0.8.4.crate https://crates.io/api/v1/crates/yaml-rust/0.4.5/download -> yaml-rust-0.4.5.crate https://crates.io/api/v1/crates/yasna/0.5.0/download -> yasna-0.5.0.crate https://crates.io/api/v1/crates/zbus/3.0.0/download -> zbus-3.0.0.crate https://crates.io/api/v1/crates/zbus_macros/3.0.0/download -> zbus_macros-3.0.0.crate https://crates.io/api/v1/crates/zbus_names/2.2.0/download -> zbus_names-2.2.0.crate https://crates.io/api/v1/crates/zstd/0.11.2+zstd.1.5.2/download -> zstd-0.11.2+zstd.1.5.2.crate https://crates.io/api/v1/crates/zstd-safe/5.0.2+zstd.1.5.2/download -> zstd-safe-5.0.2+zstd.1.5.2.crate https://crates.io/api/v1/crates/zstd-sys/2.0.1+zstd.1.5.2/download -> zstd-sys-2.0.1+zstd.1.5.2.crate https://crates.io/api/v1/crates/zvariant/3.6.0/download -> zvariant-3.6.0.crate https://crates.io/api/v1/crates/zvariant_derive/3.6.0/download -> zvariant_derive-3.6.0.crate https://github.com/wez/freetype2/archive/3f83daeecb1a78d851b660eed025eeba362c0e4a.tar.gz -> freetype2-3f83daeecb1a78d851b660eed025eeba362c0e4a.tar.gz https://github.com/glennrp/libpng/archive/8439534daa1d3a5705ba92e653eda9251246dd61.tar.gz -> libpng-8439534daa1d3a5705ba92e653eda9251246dd61.tar.gz https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz -> zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz https://github.com/harfbuzz/harfbuzz/archive/4a1d891c6317d2c83e5f3c2607ec5f5ccedffcde.tar.gz -> harfbuzz-4a1d891c6317d2c83e5f3c2607ec5f5ccedffcde.tar.gz https://github.com/wez/libssh-rs/archive/d36e5648274063c187968fd5ce0b1a7aa350a025.tar.gz -> libssh-rs-d36e5648274063c187968fd5ce0b1a7aa350a025.tar.gz https://github.com/wez/rust-xcb/archive/a85a4cf8937898b1da972367df4648143ede38ea.tar.gz -> rust-xcb-a85a4cf8937898b1da972367df4648143ede38ea.tar.gz https://github.com/wez/xcb-imdkit-rs/archive/ede7c71b85fe2537efef6cf999a45690316211cf.tar.gz -> xcb-imdkit-rs-ede7c71b85fe2537efef6cf999a45690316211cf.tar.gz https://github.com/fcitx/xcb-imdkit/archive/30e2f16f9a8b0e338e25ce5e3643809a07ad41f0.tar.gz -> xcb-imdkit-30e2f16f9a8b0e338e25ce5e3643809a07ad41f0.tar.gz https://gitlab.com/wez1/libssh-mirror/-/archive/56e1b0a43a7601d3b2989299262a09db5d81eea0/libssh-mirror-56e1b0a43a7601d3b2989299262a09db5d81eea0.tar.gz -> libssh-mirror-56e1b0a43a7601d3b2989299262a09db5d81eea0.tar.gz -_eclasses_=toolchain-funcs 14a8ae365191b518fad51caad7a08f3e multilib 104e1332efb829e2f7cbf89307a474f1 bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff desktop 021728fdc1b03b36357dbc89489e0f0d multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 cargo 2e0a4a329a7dc5dfe20dcb05e6c36935 xdg-utils baea6080dd821f5562d715887954c9d3 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 bash-completion-r1 767861f3744f589ee5291c1698b1c082 desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 4fcc266e35b188de828a39aa7df727e4 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 313cf4d416506d4c3d8b9c5dbd9ce689 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 _md5_=e1cb4b77f56d98913106b732888c8610 diff --git a/metadata/md5-cache/x11-wm/hypr-1.1.3-r1 b/metadata/md5-cache/x11-wm/hypr-1.1.3-r1 new file mode 100644 index 0000000..670cb4f --- /dev/null +++ b/metadata/md5-cache/x11-wm/hypr-1.1.3-r1 @@ -0,0 +1,13 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare pretend test +DEPEND=x11-libs/cairo dev-util/ninja x11-libs/libxcb x11-base/xcb-proto x11-libs/xcb-util x11-libs/xcb-util-cursor x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm dev-cpp/gtkmm:3.0 gui-libs/gtk x11-apps/xmodmap +DESCRIPTION=A dynamic Linux tiling window manager for Xorg +EAPI=8 +HOMEPAGE=https://github.com/hyprwm/Hypr +INHERIT=cmake toolchain-funcs +KEYWORDS=~amd64 +LICENSE=BSD +SLOT=0 +SRC_URI=https://github.com/hyprwm/Hypr/archive/refs/tags/1.1.3.tar.gz -> hypr-1.1.3.tar.gz +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 +_md5_=a88d9dc645eb645cd0d3ee1cbf426bff diff --git a/metadata/md5-cache/x11-wm/hypr-9999 b/metadata/md5-cache/x11-wm/hypr-9999 new file mode 100644 index 0000000..13d059a --- /dev/null +++ b/metadata/md5-cache/x11-wm/hypr-9999 @@ -0,0 +1,12 @@ +BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] +DEFINED_PHASES=compile configure install prepare pretend test unpack +DEPEND=x11-libs/cairo dev-util/ninja x11-libs/libxcb x11-base/xcb-proto x11-libs/xcb-util x11-libs/xcb-util-cursor x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm dev-cpp/gtkmm:3.0 gui-libs/gtk x11-apps/xmodmap +DESCRIPTION=A dynamic Linux tiling window manager for Xorg +EAPI=8 +HOMEPAGE=https://github.com/hyprwm/Hypr +INHERIT=cmake toolchain-funcs git-r3 +LICENSE=BSD +PROPERTIES=live +SLOT=0 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 git-r3 875eb471682d3e1f18da124be97dcc81 +_md5_=a88d9dc645eb645cd0d3ee1cbf426bff diff --git a/metadata/md5-cache/xfce-base/xfce4-meta-4.20-r1 b/metadata/md5-cache/xfce-base/xfce4-meta-4.20-r1 new file mode 100644 index 0000000..66b9a99 --- /dev/null +++ b/metadata/md5-cache/xfce-base/xfce4-meta-4.20-r1 @@ -0,0 +1,10 @@ +DEFINED_PHASES=- +DESCRIPTION=The Xfce Desktop Environment (meta package) +EAPI=8 +HOMEPAGE=https://www.xfce.org/ +IUSE=archive calendar cdr editor image media minimal mpd pulseaudio remote-fs search +svg upower +KEYWORDS=amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 +LICENSE=metapackage +RDEPEND=x11-terms/xfce4-terminal x11-themes/hicolor-icon-theme >=xfce-base/exo-4.20.0 >=xfce-base/garcon-4.20.0 >=xfce-base/libxfce4ui-4.20.0 >=xfce-base/libxfce4util-4.20.0 >=xfce-base/libxfce4windowing-4.20.0 >=xfce-base/thunar-4.20.0 >=xfce-base/tumbler-4.20.0 >=xfce-base/xfce4-appfinder-4.20.0 >=xfce-base/xfce4-panel-4.20.0 >=xfce-base/xfce4-session-4.20.0 >=xfce-base/xfce4-settings-4.20.0 >=xfce-base/xfconf-4.20.0 >=xfce-base/xfdesktop-4.20.0 >=xfce-base/xfwm4-4.20.0 !minimal? ( media-fonts/dejavu virtual/freedesktop-icon-theme >=xfce-base/thunar-volman-4.20.0 ) archive? ( app-arch/xarchiver ) calendar? ( app-office/orage ) cdr? ( app-cdr/xfburn ) editor? ( app-editors/mousepad ) image? ( media-gfx/ristretto ) media? ( media-video/parole ) mpd? ( media-sound/xfmpc ) pulseaudio? ( xfce-extra/xfce4-pulseaudio-plugin ) remote-fs? ( x11-misc/gigolo ) search? ( dev-util/catfish ) svg? ( gnome-base/librsvg ) upower? ( >=xfce-base/xfce4-power-manager-4.20.0 ) +SLOT=0 +_md5_=a631882051f49ed53e190a5cdfe36b2c diff --git a/net-im/dvm/dvm-1.1.9.ebuild b/net-im/dvm/dvm-1.1.9.ebuild index ca0781b..0cfb4b5 100644 --- a/net-im/dvm/dvm-1.1.9.ebuild +++ b/net-im/dvm/dvm-1.1.9.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit +#inherit DESCRIPTION="dvm" HOMEPAGE="https://github.com/diced/dvm" diff --git a/net-im/kotatogram-desktop/kotatogram-desktop-9999.ebuild b/net-im/kotatogram-desktop/kotatogram-desktop-9999.ebuild deleted file mode 100644 index 38a7ca0..0000000 --- a/net-im/kotatogram-desktop/kotatogram-desktop-9999.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2020-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) - -inherit xdg cmake python-any-r1 optfeature flag-o-matic - -DESCRIPTION="Experimental Telegram Desktop fork" -HOMEPAGE="https://github.com/kotatogram/kotatogram-desktop/" - -MY_P="kotatogram-desktop-${PV}-full" -SRC_URI="https://github.com/kotatogram/kotatogram-desktop/releases/download/k${PV}/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="+dbus enchant +hunspell +jemalloc screencast +spell wayland +X" -REQUIRED_USE=" - spell? ( - ^^ ( enchant hunspell ) - ) -" - -RDEPEND=" - app-arch/lz4:= - dev-cpp/abseil-cpp:= - dev-libs/libdispatch - dev-libs/openssl:= - dev-libs/xxhash - >=dev-qt/qtcore-5.15:5 - >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?] - >=dev-qt/qtimageformats-5.15:5 - >=dev-qt/qtnetwork-5.15:5[ssl] - >=dev-qt/qtsvg-5.15:5 - >=dev-qt/qtwidgets-5.15:5[png,X?] - media-fonts/open-sans - media-libs/fontconfig:= - ~media-libs/libtgvoip-2.4.4_p20220117 - media-libs/openal - media-libs/opus:= - media-libs/rnnoise - ~media-libs/tg_owt-0_pre20220209[screencast=,X=] - media-video/ffmpeg:=[opus] - sys-libs/zlib:=[minizip] - dbus? ( - dev-cpp/glibmm:2 - dev-qt/qtdbus:5 - dev-libs/libdbusmenu-qt[qt5(+)] - ) - enchant? ( app-text/enchant:= ) - hunspell? ( >=app-text/hunspell-1.7:= ) - jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) - wayland? ( kde-frameworks/kwayland:= ) - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND} - dev-cpp/range-v3 - =dev-cpp/ms-gsl-3* -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/cmake-3.16 - virtual/pkgconfig -" -# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233 - -PATCHES=( - "${FILESDIR}/tdesktop-3.5.2-jemalloc-only-telegram.patch" - "${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch" - "${FILESDIR}/tdesktop-3.5.2-musl.patch" - "${FILESDIR}/tdesktop-3.5.2-jemalloc-optional.patch" -) - -# Current desktop-file-utils-0.26 does not understand Version=1.5 -QA_DESKTOP_FILE="usr/share/applications/${PN}.desktop" - -pkg_pretend() { - if has ccache ${FEATURES}; then - ewarn - ewarn "ccache does not work with ${PN} out of the box" - ewarn "due to usage of precompiled headers" - ewarn "check bug https://bugs.gentoo.org/715114 for more info" - ewarn - fi -} - -src_prepare() { - # no explicit toggle, doesn't build with the system one #752417 - sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \ - cmake/external/rlottie/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DTDESKTOP_LAUNCHER_BASENAME="${PN}" - -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings. - -DDESKTOP_APP_QT6=OFF - - -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex !dbus) - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) - -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended) - -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell - - # This option is heavily discouraged by upstream. - # See files/tdesktop-*-jemalloc-optional.patch - -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) - ) - - if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then - einfo "Found custom API credentials" - mycmakeargs+=( - -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}" - -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}" - ) - else - # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml - # Building with snapcraft API credentials by default - # Custom API credentials can be obtained here: - # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md - # After getting credentials you can export variables: - # export MY_TDESKTOP_API_ID="17349"" - # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb" - # and restart the build" - # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop - # portage will use custom variable every build automatically - mycmakeargs+=( - -DTDESKTOP_API_ID="611335" - -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c" - ) - fi - - cmake_src_configure -} - -pkg_postinst() { - xdg_pkg_postinst - if ! use X && ! use screencast; then - elog "both the 'X' and 'screencast' useflags are disabled, screen sharing won't work!" - elog - fi - if has_version ' + + + + + xgqt@gentoo.org + Maciej Barć + + + GHDL is a shorthand for G Hardware Design Language (currently, G has no + meaning). It is a VHDL analyzer, compiler, simulator and (experimental) + synthesizer that can process (nearly) any VHDL design. Unlike some other + simulators, GHDL is a compiler: it directly translates a VHDL file to + machine code, without using an intermediary language such as C or C++. + Therefore, the compiled code should be faster and the analysis time should + be shorter than with a compiler using an intermediary language. GHDL can + use multiple back-ends, i.e. code generators, (GCC, LLVM or x86/i386 only, + a built-in one named mcode) and runs on GNU/Linux, Windows and macOS; on + x86, x86_64, armv6/armv7/aarch32/aarch64, ppc64, etc. GHDL aims at + implementing VHDL as defined by IEEE 1076. It supports the 1987, 1993 and + 2002 revisions and, partially, 2008 and 2019. Property Specification + Language (PSL) is also partially supported. + + + Build LLVM code generator + + + https://github.com/ghdl/ghdl/issues/ + ghdl/ghdl + + diff --git a/sci-electronics/nvc/Manifest b/sci-electronics/nvc/Manifest new file mode 100644 index 0000000..f65a516 --- /dev/null +++ b/sci-electronics/nvc/Manifest @@ -0,0 +1,2 @@ +DIST nvc-1.15.0.tar.gz 2110906 BLAKE2B 0b451e35c535af09660567f176b217eeeeb17203ef9ab6f6f16796e981bf92da4b27c9251642bf5abd8ff63c292154013c739d3c7fa131368f4b5d865e234c9a SHA512 965bd7ff8bd1c59317f8d2c7c2e466f41e009765ea18dd09212c844a8142cd1aa5d5e20db4628285f3d3998345e2a0ccf2a89081fcdf3baa6abe777163c46ac5 +DIST nvc-1.15.1.tar.gz 2112212 BLAKE2B 1a283b29dbc6b421e6eeddd72eec45b22b12c90652c6d371901f4af44113320076afd86faf6ad1dcb1727c84c0c654a9f5c820e9a054e6e660803d26d843db02 SHA512 a6c3abc365cdad0fd8a486f4223e60aac5b6eebf840e166e558f63a9c05c6ca00595f26a289082689a54fff833766f984e5e3023846db9247ae2de8e84bc86df diff --git a/sci-electronics/nvc/files/nvc-1.9.2-jit-code-capstone.patch b/sci-electronics/nvc/files/nvc-1.9.2-jit-code-capstone.patch new file mode 100644 index 0000000..963226b --- /dev/null +++ b/sci-electronics/nvc/files/nvc-1.9.2-jit-code-capstone.patch @@ -0,0 +1,11 @@ +--- a/src/jit/jit-code.c ++++ b/src/jit/jit-code.c +@@ -44,7 +44,7 @@ + #endif + + #ifdef HAVE_CAPSTONE +-#include ++#include + #endif + + #ifndef R_AARCH64_MOVW_UABS_G0_NC diff --git a/sci-electronics/nvc/metadata.xml b/sci-electronics/nvc/metadata.xml new file mode 100644 index 0000000..30ee43a --- /dev/null +++ b/sci-electronics/nvc/metadata.xml @@ -0,0 +1,28 @@ + + + + + + xgqt@gentoo.org + Maciej Barć + + + NVC is a VHDL compiler and simulator. NVC supports almost all of VHDL-2008 + with the exception of PSL, and it has been successfully used to simulate + several real-world designs. Experimental support for VHDL-2019 is under + development. NVC has a particular emphasis on simulation performance and + uses LLVM to compile VHDL to native machine code. NVC is not a synthesizer. + That is, it does not output something that could be used to program an FPGA + or ASIC. It implements only the simulation behaviour of the language as + described by the IEEE 1076 standard. NVC supports popular verification + frameworks including OSVVM, UVVM, and VUnit. + + + Build LLVM code generator + + + https://github.com/nickg/nvc/issues/ + nickg/nvc + ~nickg/nvc + + diff --git a/sci-electronics/nvc/nvc-1.15.0.ebuild b/sci-electronics/nvc/nvc-1.15.0.ebuild new file mode 100644 index 0000000..ab17998 --- /dev/null +++ b/sci-electronics/nvc/nvc-1.15.0.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit autotools bash-completion-r1 llvm-r1 + +DESCRIPTION="NVC is a VHDL compiler and simulator" +HOMEPAGE="https://www.nickg.me.uk/nvc/ + https://github.com/nickg/nvc/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nickg/nvc.git" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-${PV}" +else + SRC_URI="https://github.com/nickg/nvc/archive/r${PV}.tar.gz + -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-r${PV}" +fi + +NVC_BUILDDIR="${NVC_SOURCEDIR}_BuildDir" +S="${NVC_BUILDDIR}" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="debug llvm" +RESTRICT="test" # Some tests fail. + +RDEPEND=" + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/capstone:= + dev-libs/elfutils + dev-libs/icu:= + dev-libs/libffi:= + dev-libs/libxml2:= + sys-libs/ncurses:= + sys-libs/zlib:= + llvm? ( + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-libs/check + sys-apps/which + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${FILESDIR}/nvc-1.9.2-jit-code-capstone.patch" ) + +# Special libraries for NVC. +QA_FLAGS_IGNORED="usr/lib[0-9]*/nvc/preload[0-9]*.so" + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_unpack() { + default + + mkdir -p "${S}" || die +} + +src_prepare() { + pushd "${NVC_SOURCEDIR}" >/dev/null || die + + default + eautoreconf + + popd >/dev/null || die +} + +src_configure() { + # Needs "bison" and "flex" exactly. + unset LEX + unset YACC + + local ECONF_SOURCE="${NVC_SOURCEDIR}" + local -a myconf=( + --enable-vital + --with-bash-completion="$(get_bashcompdir)" + $(use_enable debug) + $(use_enable llvm) + ) + econf "${myconf[@]}" + + export V=1 # Verbose compilation and install. +} + +src_compile() { + emake -j1 +} + +src_test() { + PATH="${S}/bin:${PATH}" emake check-TESTS +} + +src_install() { + default + + mv "${D}/$(get_bashcompdir)"/nvc{.bash,} || die + dostrip -x "/usr/$(get_libdir)/nvc" +} diff --git a/sci-electronics/nvc/nvc-1.15.1.ebuild b/sci-electronics/nvc/nvc-1.15.1.ebuild new file mode 100644 index 0000000..ab17998 --- /dev/null +++ b/sci-electronics/nvc/nvc-1.15.1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit autotools bash-completion-r1 llvm-r1 + +DESCRIPTION="NVC is a VHDL compiler and simulator" +HOMEPAGE="https://www.nickg.me.uk/nvc/ + https://github.com/nickg/nvc/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nickg/nvc.git" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-${PV}" +else + SRC_URI="https://github.com/nickg/nvc/archive/r${PV}.tar.gz + -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-r${PV}" +fi + +NVC_BUILDDIR="${NVC_SOURCEDIR}_BuildDir" +S="${NVC_BUILDDIR}" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="debug llvm" +RESTRICT="test" # Some tests fail. + +RDEPEND=" + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/capstone:= + dev-libs/elfutils + dev-libs/icu:= + dev-libs/libffi:= + dev-libs/libxml2:= + sys-libs/ncurses:= + sys-libs/zlib:= + llvm? ( + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-libs/check + sys-apps/which + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${FILESDIR}/nvc-1.9.2-jit-code-capstone.patch" ) + +# Special libraries for NVC. +QA_FLAGS_IGNORED="usr/lib[0-9]*/nvc/preload[0-9]*.so" + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_unpack() { + default + + mkdir -p "${S}" || die +} + +src_prepare() { + pushd "${NVC_SOURCEDIR}" >/dev/null || die + + default + eautoreconf + + popd >/dev/null || die +} + +src_configure() { + # Needs "bison" and "flex" exactly. + unset LEX + unset YACC + + local ECONF_SOURCE="${NVC_SOURCEDIR}" + local -a myconf=( + --enable-vital + --with-bash-completion="$(get_bashcompdir)" + $(use_enable debug) + $(use_enable llvm) + ) + econf "${myconf[@]}" + + export V=1 # Verbose compilation and install. +} + +src_compile() { + emake -j1 +} + +src_test() { + PATH="${S}/bin:${PATH}" emake check-TESTS +} + +src_install() { + default + + mv "${D}/$(get_bashcompdir)"/nvc{.bash,} || die + dostrip -x "/usr/$(get_libdir)/nvc" +} diff --git a/sci-libs/hipBLASLt/Manifest b/sci-libs/hipBLASLt/Manifest new file mode 100644 index 0000000..15ab940 --- /dev/null +++ b/sci-libs/hipBLASLt/Manifest @@ -0,0 +1,4 @@ +DIST hipBLASLt-6.1.1.tar.gz 78448557 BLAKE2B 08ac9ce45d7d1e4384a36939af22f65589ed87e25b4db77f5f7ff5fbe65b8070e9c55fbb09db3b7bd49be98981dc8bf939e646ea27571bf1d1ccfa52a50b0f92 SHA512 1aa3a1cb8e9c7f653db66909b38be065b7386b97d4bd6b52ecc6c2bf72c6cdfabde6f12ebc6016b5fa195f979359af875eda8d54ea6772329312cb357bc2ebc5 +DIST hipBLASLt-6.3.1.tar.gz 89385330 BLAKE2B 4bcf083e41ad6f22f61321bd066d79a6a387ea677cdb05f96f474e1b409f0b1cc5dc0c61259d7d6456ced2b77191388e1bd4b260bd7d185875241f55246ed1a8 SHA512 7a6443ab7a66bae1d6273945ea91814b2d5f9846d8276040cda7f43ed7ea0c2cb6063009e7fe092742d396c8d87c2cf62ed4cf8249e936eed69c0cad6db02193 +DIST hipBLASLt-6.3.2.tar.gz 89385514 BLAKE2B 785ee2951b76100f29eed4891cdc3fc58abbee866a9eac7109bc49e56854007d57d15bc6d605a7527ecc685e59500567581d194ede67cff566fba3b582d7b3c4 SHA512 2f4f497a5228162f4fffda9f549f943d26c86d7160a50c0aadc403340cee4466e9f16bd5cfcd386535b7f05cc8d1839a4d146c52761b6eb29e2e53962437e781 +DIST hipBLASLt-6.3.3.tar.gz 89385318 BLAKE2B b307e4c418bda7583efdf5dc646f05368c195f6df0077823ae179efb52a56ba4f13b5fce6a10ff38e0ad593bf5b415fc6e5b4132488b2dbf9da58198af15d230 SHA512 9fb523e614dd790aa3c01337f3d93f9df0a135d25e9efda2375e88818f6097d661e5159336258631cc0a25d923efcddb4b39378bf54c33d0e5a01bba387f1368 diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-clang-19.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-clang-19.patch new file mode 100644 index 0000000..5d082cc --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-clang-19.patch @@ -0,0 +1,11 @@ +Clang 19 is so smart, it can analyze templates before instantiation +--- a/tensilelite/Tensile/Source/lib/include/Tensile/MasterSolutionLibrary.hpp ++++ b/tensilelite/Tensile/Source/lib/include/Tensile/MasterSolutionLibrary.hpp +@@ -36,6 +36,7 @@ + + namespace Tensile + { ++ enum class LazyLoadingInit; + + /** + * \ingroup SolutionLibrary diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-libcxx.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-libcxx.patch new file mode 100644 index 0000000..32aa651 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-libcxx.patch @@ -0,0 +1,57 @@ +# libc++ issue: https://github.com/llvm/llvm-project/issues/98734 +diff --git a/library/src/amd_detail/rocblaslt/src/rocblaslt_mat.cpp b/library/src/amd_detail/rocblaslt/src/rocblaslt_mat.cpp +index 82cc81f..94e62d4 100644 +--- a/library/src/amd_detail/rocblaslt/src/rocblaslt_mat.cpp ++++ b/library/src/amd_detail/rocblaslt/src/rocblaslt_mat.cpp +@@ -28,6 +28,7 @@ + #include "handle.h" + #include "rocblaslt_mat_utils.hpp" + #include "tensile_host.hpp" ++#include + + #include + +@@ -602,7 +603,7 @@ rocblaslt_status + std::vector ldc_vec, batch_stride_c_vec, num_batches_c_vec; + std::vector ldd_vec, batch_stride_d_vec, num_batches_d_vec; + std::vector lde_vec, batch_stride_e_vec, num_batches_e_vec; +- std::vector alpha_1(matmul_descr.size()); ++ std::vector> alpha_1(matmul_descr.size()); + + std::vector gradient_vec; + +@@ -692,10 +693,10 @@ rocblaslt_status + return validArgs; + + const void* alphaTmp = nullptr; +- memset(alpha_1[i], 0, sizeof(int8_t) * 16); ++ memset(alpha_1[i].data(), 0, sizeof(int8_t) * 16); + if(scaleAlphaVec) + { +- setTo1(compute_type, (void*)alpha_1[i], &alphaTmp); ++ setTo1(compute_type, (void*)alpha_1[i].data(), &alphaTmp); + } + else + { +@@ -867,7 +868,7 @@ rocblaslt_status + std::vector lde_vec, batch_stride_e_vec, num_batches_e_vec; + std::vector gradient_vec; + +- std::vector alpha_1(m.size()); ++ std::vector> alpha_1(m.size()); + + for(int i = 0; i < m.size(); i++) + { +@@ -924,10 +925,10 @@ rocblaslt_status + return validArgs; + + const void* alphaTmp = nullptr; +- memset(alpha_1[i], 0, sizeof(int8_t) * 16); ++ memset(alpha_1[i].data(), 0, sizeof(int8_t) * 16); + if(scaleAlphaVec) + { +- setTo1(compute_type, (void*)alpha_1[i], &alphaTmp); ++ setTo1(compute_type, (void*)alpha_1[i].data(), &alphaTmp); + } + else + { diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-msgpack-dependency.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-msgpack-dependency.patch new file mode 100644 index 0000000..ef0b839 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-fix-msgpack-dependency.patch @@ -0,0 +1,29 @@ +Gentoo uses "msgpack-cxx" as library name and adds important +MSGPACK_NO_BOOST compile definition when msgpack-cxx us installed with USE=-boost +--- a/tensilelite/Tensile/Source/lib/CMakeLists.txt ++++ b/tensilelite/Tensile/Source/lib/CMakeLists.txt +@@ -102,22 +102,9 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK) + endif() + + if(TENSILE_USE_MSGPACK) +- find_package(msgpack REQUIRED) ++ find_package(msgpack-cxx REQUIRED) + target_compile_definitions(TensileHost PUBLIC -DTENSILE_MSGPACK=1) +- +- if(TARGET msgpackc-cxx) +- get_target_property(msgpack_inc msgpackc-cxx INTERFACE_INCLUDE_DIRECTORIES) +- elseif(TARGET msgpackc) +- get_target_property(msgpack_inc msgpackc INTERFACE_INCLUDE_DIRECTORIES) +- endif() +- +- if(DEFINED msgpack_inc) +- # include C++ headers manually +- # External header includes included as system files +- target_include_directories(TensileHost +- SYSTEM PRIVATE $ +- ) +- endif() ++ target_link_libraries(TensileHost PRIVATE msgpack-cxx) + endif() + + if(TENSILE_USE_LLVM) diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-gentoopath.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-gentoopath.patch new file mode 100644 index 0000000..17c5d9c --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-gentoopath.patch @@ -0,0 +1,24 @@ +--- a/tensilelite/Tensile/Ops/gen_assembly.sh ++++ b/tensilelite/Tensile/Ops/gen_assembly.sh +@@ -32,7 +32,7 @@ if ! [ -z ${ROCM_PATH+x} ]; then + rocm_path=${ROCM_PATH} + fi + +-toolchain=${rocm_path}/llvm/bin/clang++ ++toolchain=@LLVM_PATH@/bin/clang++ + + . ${venv}/bin/activate + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -97,10 +97,6 @@ endif() + # hipBLASLt project + project(hipblaslt LANGUAGES CXX) + +-# Force library install path to lib (CentOS 7 defaults to lib64) +-set(CMAKE_INSTALL_LIBDIR "lib" CACHE INTERNAL "Installation directory for libraries" FORCE) +- +- + # Build options + option(BUILD_SHARED_LIBS "Build hipBLASLt as a shared library" ON) + option(BUILD_CLIENTS_TESTS "Build tests (requires googletest)" OFF) diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-arch.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-arch.patch new file mode 100644 index 0000000..7f1e61d --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-arch.patch @@ -0,0 +1,57 @@ +Add ability to build without specitying any arch. +This produces dummy library, which can be linked to other project (like caffe2 in pytorch). + +Related upstream bug: https://github.com/ROCm/hipBLASLt/issues/535 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -220,6 +220,10 @@ else() + else() + find_package(Tensile 4.33.0 EXACT REQUIRED HIP LLVM OpenMP PATHS "${INSTALLED_TENSILE_PATH}") + endif() ++ else() # link to Tensile (required), but don't generate libraries ++ cmake_policy(SET CMP0074 NEW) ++ set(Tensile_ROOT "${CMAKE_SOURCE_DIR}/tensilelite/Tensile") ++ find_package(Tensile REQUIRED HIP LLVM OpenMP) + endif() + + # setup hipblaslt defines used for both the library and clients +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -75,7 +75,7 @@ add_library(roc::hipblaslt ALIAS hipblaslt) + + # Target compile definitions + if(NOT BUILD_CUDA) +-if( BUILD_WITH_TENSILE ) ++if( TRUE ) # link with Tensile is always reqiured + + if( BUILD_SHARED_LIBS ) + target_link_libraries( hipblaslt PRIVATE TensileHost ) +@@ -194,7 +194,7 @@ rocm_install_targets(TARGETS hipblaslt + ${CMAKE_BINARY_DIR}/include + ) + +-if ( NOT BUILD_CUDA ) ++if ( NOT BUILD_CUDA AND BUILD_WITH_TENSILE ) + if (WIN32) + set( HIPBLASLT_TENSILE_LIBRARY_DIR "\${CPACK_PACKAGING_INSTALL_PREFIX}hipblaslt/bin" CACHE PATH "path to tensile library" ) + else() +--- a/library/src/amd_detail/rocblaslt/src/CMakeLists.txt ++++ b/library/src/amd_detail/rocblaslt/src/CMakeLists.txt +@@ -100,7 +100,17 @@ if( BUILD_WITH_TENSILE ) + set( Tensile_INC + ${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail/rocblaslt/src/Tensile + ) ++else() ++ set_target_properties( TensileHost PROPERTIES POSITION_INDEPENDENT_CODE ON ) + ++ set( Tensile_SRC ++ ${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail/rocblaslt/src/tensile_host.cpp ++ ${PROJECT_SOURCE_DIR}/tensilelite/Tensile/Source/lib/source/msgpack/MessagePack.cpp ++ ) ++ ++ set( Tensile_INC ++ ${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail/rocblaslt/src/Tensile ++ ) + endif( ) # BUILD_WITH_TENSILE + + set(DL_LIB dl) \ No newline at end of file diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-git.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-git.patch new file mode 100644 index 0000000..55c2668 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.1.1-no-git.patch @@ -0,0 +1,13 @@ +Git is not used +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -23,9 +23,6 @@ + + # Dependencies + +-# Git +-find_package(Git REQUIRED) +- + # Workaround until hcc & hip cmake modules fixes symlink logic in their config files. + # (Thanks to rocBLAS devs for finding workaround for this problem!) + list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm) diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch new file mode 100644 index 0000000..d2d9d32 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch @@ -0,0 +1,23 @@ +Remove unused libraries and updates from pypi.org +--- a/cmake/virtualenv.cmake ++++ b/cmake/virtualenv.cmake +@@ -24,10 +24,6 @@ endfunction() + + function(virtualenv_install) + virtualenv_create() +- execute_process( +- COMMAND ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install --upgrade pip +- COMMAND ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install --upgrade setuptools +- ) + message("${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install ${ARGN}") + execute_process( + RESULT_VARIABLE rc +--- a/tensilelite/requirements.txt ++++ b/tensilelite/requirements.txt +@@ -3,6 +3,3 @@ pyyaml + msgpack + joblib>=1.4.0; python_version >= '3.8' + joblib>=1.1.1; python_version < '3.8' +-simplejson +-ujson +-orjson diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch new file mode 100644 index 0000000..785ca90 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch @@ -0,0 +1,16 @@ +--- a/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake ++++ b/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake +@@ -25,6 +25,13 @@ function(CompileSourceKernel source archs buildIdKind outputFolder) + message("Setup source kernel targets") + string(REGEX MATCHALL "gfx[a-z0-9]+" archs "${archs}") + list(REMOVE_DUPLICATES archs) ++ ++ list(LENGTH archs archs_length) ++ if(archs_length EQUAL 0) ++ message("No architectures specified.") ++ return() ++ endif() ++ + list(JOIN archs "," archs) + message("archs for source kernel compilation: ${archs}") + add_custom_target(MatrixTransformKernels ALL diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild new file mode 100644 index 0000000..4f50527 --- /dev/null +++ b/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +PYTHON_COMPAT=( python3_{10..13} ) + +# gfx941 and gfx942 assembly uses directives of LLVM >= 18.1.0 +LLVM_COMPAT=( 20 ) + +inherit cmake python-any-r1 llvm-r1 rocm +DESCRIPTION="General matrix-matrix operations library for AMD Instinct accelerators" +HOMEPAGE="https://github.com/ROCm/hipBLASLt" +SRC_URI="https://github.com/ROCm/hipBLASLt/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLASLt-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +SUPPORTED_GPUS=( gfx90a gfx940 gfx941 gfx942 ) +IUSE_TARGETS=( "${SUPPORTED_GPUS[@]/#/amdgpu_targets_}" ) +IUSE="${IUSE_TARGETS[@]/#/+} test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-cpp/msgpack-cxx + sci-libs/hipBLAS:${SLOT} +" + +DEPEND="${RDEPEND}" +BDEPEND=" + dev-build/rocm-cmake + $(python_gen_any_dep ' + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ') + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + test? ( + dev-cpp/gtest + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.1.1-no-arch.patch + "${FILESDIR}"/${PN}-6.1.1-no-git.patch + "${FILESDIR}"/${PN}-6.1.1-clang-19.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch +) + +python_check_deps() { + python_has_version "dev-python/msgpack[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && + python_has_version "dev-python/joblib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +pkg_pretend() { + if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then + ewarn "hipBLASLt supports only few GPUs: ${SUPPORTED_GPUS[@]}," + ewarn "but none of them were defined in AMDGPU_TARGETS USE_EXPAND variable." + ewarn + ewarn "Library will continue to be built in \"dummy\" mode," + ewarn "serving as a non-functional placeholder for end-user applications." + fi +} + +src_prepare() { + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-6.1.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply "${S}"/gentoopath.patch + + local shebangs=($(grep -rl "#!/usr/bin/env python3" tensilelite/Tensile || die)) + python_fix_shebang -q ${shebangs[*]} + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + local targets="$(get_amdgpu_flags)" + local build_with_tensile=$([ "${AMDGPU_TARGETS[@]}" = "" ] && echo OFF || echo ON ) + + local mycmakeargs=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_TENSILE="${build_with_tensile}" + -DAMDGPU_TARGETS="${targets}" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + ) + + use test && mycmakeargs+=( -DBUILD_FORTRAN_CLIENTS=ON ) + + cmake_src_configure +} + +src_compile() { + local -x ROCM_PATH="${EPREFIX}/usr" + # set PYTHONPATH to load Tensile from virtualenv, not the system-wide one + local -x PYTHONPATH="${S}_build/virtualenv/lib/${EPYTHON}/site-packages" + local -x TENSILE_ROCM_ASSEMBLER_PATH="$(get_llvm_prefix)/bin/clang++" + cmake_src_compile +} + +src_install() { + cmake_src_install + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x /usr/$(get_libdir)/hipblaslt/library/ +} + +src_test() { + check_amdgpu + cmake_src_test -j1 +} diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.3.1.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.3.1.ebuild new file mode 100644 index 0000000..2636df6 --- /dev/null +++ b/sci-libs/hipBLASLt/hipBLASLt-6.3.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +PYTHON_COMPAT=( python3_{10..13} ) + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 python-any-r1 rocm +DESCRIPTION="General matrix-matrix operations library for AMD Instinct accelerators" +HOMEPAGE="https://github.com/ROCm/hipBLASLt" +SRC_URI="https://github.com/ROCm/hipBLASLt/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLASLt-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +SUPPORTED_GPUS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 ) +IUSE_TARGETS=( "${SUPPORTED_GPUS[@]/#/amdgpu_targets_}" ) +IUSE="${IUSE_TARGETS[@]/#/+} test benchmark" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-cpp/msgpack-cxx +" + +DEPEND="${RDEPEND}" +BDEPEND=" + dev-build/rocm-cmake + sci-libs/hipBLAS-common:${SLOT} + $(python_gen_any_dep ' + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ') + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + test? ( + dev-cpp/gtest + virtual/blas + dev-util/rocm-smi:${SLOT} + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.1.1-no-arch.patch + "${FILESDIR}"/${PN}-6.1.1-no-git.patch + "${FILESDIR}"/${PN}-6.1.1-clang-19.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-no-arch-extra.patch + "${FILESDIR}"/${PN}-6.3.0-min-pip-install.patch +) + +python_check_deps() { + python_has_version "dev-python/msgpack[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && + python_has_version "dev-python/joblib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +pkg_pretend() { + if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then + ewarn "hipBLASLt supports only few GPUs: ${SUPPORTED_GPUS[@]}," + ewarn "but none of them were defined in AMDGPU_TARGETS USE_EXPAND variable." + ewarn + ewarn "Library will continue to be built in \"dummy\" mode," + ewarn "serving as a non-functional placeholder for end-user applications." + fi +} + +src_prepare() { + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-6.1.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply "${S}"/gentoopath.patch + + local shebangs=($(grep -rl "#!/usr/bin/env python3" tensilelite/Tensile || die)) + python_fix_shebang -q ${shebangs[*]} + + sed -e "s:\${rocm_path}/bin/amdclang++:$(get_llvm_prefix)/bin/clang++:" \ + -i library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local targets="$(get_amdgpu_flags)" + local build_with_tensile=$([ "${AMDGPU_TARGETS[@]}" = "" ] && echo OFF || echo ON ) + + local mycmakeargs=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_TENSILE="${build_with_tensile}" + -DAMDGPU_TARGETS="${targets}" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark ON OFF)" + -Wno-dev + ) + + cmake_src_configure +} + +src_compile() { + local -x ROCM_PATH="${EPREFIX}/usr" + # set PYTHONPATH to load Tensile from virtualenv, not the system-wide one + local -x PYTHONPATH="${S}_build/virtualenv/lib/${EPYTHON}/site-packages" + local -x TENSILE_ROCM_ASSEMBLER_PATH="$(get_llvm_prefix)/bin/clang++" + # TensileCreateLibrary reads CMAKE_CXX_COMPILER again + local -x CMAKE_CXX_COMPILER="$(get_llvm_prefix)/bin/clang++" + cmake_src_compile +} + +src_install() { + cmake_src_install + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x /usr/$(get_libdir)/hipblaslt/library/ +} + +src_test() { + check_amdgpu + + # Expected time for 7900 XTX: 340s (full) or 5s with GTEST_FILTER='*quick*' + cmake_src_test +} diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.3.2.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.3.2.ebuild new file mode 100644 index 0000000..2636df6 --- /dev/null +++ b/sci-libs/hipBLASLt/hipBLASLt-6.3.2.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +PYTHON_COMPAT=( python3_{10..13} ) + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 python-any-r1 rocm +DESCRIPTION="General matrix-matrix operations library for AMD Instinct accelerators" +HOMEPAGE="https://github.com/ROCm/hipBLASLt" +SRC_URI="https://github.com/ROCm/hipBLASLt/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLASLt-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +SUPPORTED_GPUS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 ) +IUSE_TARGETS=( "${SUPPORTED_GPUS[@]/#/amdgpu_targets_}" ) +IUSE="${IUSE_TARGETS[@]/#/+} test benchmark" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-cpp/msgpack-cxx +" + +DEPEND="${RDEPEND}" +BDEPEND=" + dev-build/rocm-cmake + sci-libs/hipBLAS-common:${SLOT} + $(python_gen_any_dep ' + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ') + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + test? ( + dev-cpp/gtest + virtual/blas + dev-util/rocm-smi:${SLOT} + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.1.1-no-arch.patch + "${FILESDIR}"/${PN}-6.1.1-no-git.patch + "${FILESDIR}"/${PN}-6.1.1-clang-19.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-no-arch-extra.patch + "${FILESDIR}"/${PN}-6.3.0-min-pip-install.patch +) + +python_check_deps() { + python_has_version "dev-python/msgpack[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && + python_has_version "dev-python/joblib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +pkg_pretend() { + if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then + ewarn "hipBLASLt supports only few GPUs: ${SUPPORTED_GPUS[@]}," + ewarn "but none of them were defined in AMDGPU_TARGETS USE_EXPAND variable." + ewarn + ewarn "Library will continue to be built in \"dummy\" mode," + ewarn "serving as a non-functional placeholder for end-user applications." + fi +} + +src_prepare() { + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-6.1.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply "${S}"/gentoopath.patch + + local shebangs=($(grep -rl "#!/usr/bin/env python3" tensilelite/Tensile || die)) + python_fix_shebang -q ${shebangs[*]} + + sed -e "s:\${rocm_path}/bin/amdclang++:$(get_llvm_prefix)/bin/clang++:" \ + -i library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local targets="$(get_amdgpu_flags)" + local build_with_tensile=$([ "${AMDGPU_TARGETS[@]}" = "" ] && echo OFF || echo ON ) + + local mycmakeargs=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_TENSILE="${build_with_tensile}" + -DAMDGPU_TARGETS="${targets}" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark ON OFF)" + -Wno-dev + ) + + cmake_src_configure +} + +src_compile() { + local -x ROCM_PATH="${EPREFIX}/usr" + # set PYTHONPATH to load Tensile from virtualenv, not the system-wide one + local -x PYTHONPATH="${S}_build/virtualenv/lib/${EPYTHON}/site-packages" + local -x TENSILE_ROCM_ASSEMBLER_PATH="$(get_llvm_prefix)/bin/clang++" + # TensileCreateLibrary reads CMAKE_CXX_COMPILER again + local -x CMAKE_CXX_COMPILER="$(get_llvm_prefix)/bin/clang++" + cmake_src_compile +} + +src_install() { + cmake_src_install + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x /usr/$(get_libdir)/hipblaslt/library/ +} + +src_test() { + check_amdgpu + + # Expected time for 7900 XTX: 340s (full) or 5s with GTEST_FILTER='*quick*' + cmake_src_test +} diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.3.3.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.3.3.ebuild new file mode 100644 index 0000000..2636df6 --- /dev/null +++ b/sci-libs/hipBLASLt/hipBLASLt-6.3.3.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +PYTHON_COMPAT=( python3_{10..13} ) + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 python-any-r1 rocm +DESCRIPTION="General matrix-matrix operations library for AMD Instinct accelerators" +HOMEPAGE="https://github.com/ROCm/hipBLASLt" +SRC_URI="https://github.com/ROCm/hipBLASLt/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLASLt-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +SUPPORTED_GPUS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 ) +IUSE_TARGETS=( "${SUPPORTED_GPUS[@]/#/amdgpu_targets_}" ) +IUSE="${IUSE_TARGETS[@]/#/+} test benchmark" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-cpp/msgpack-cxx +" + +DEPEND="${RDEPEND}" +BDEPEND=" + dev-build/rocm-cmake + sci-libs/hipBLAS-common:${SLOT} + $(python_gen_any_dep ' + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ') + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + test? ( + dev-cpp/gtest + virtual/blas + dev-util/rocm-smi:${SLOT} + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.1.1-no-arch.patch + "${FILESDIR}"/${PN}-6.1.1-no-git.patch + "${FILESDIR}"/${PN}-6.1.1-clang-19.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-no-arch-extra.patch + "${FILESDIR}"/${PN}-6.3.0-min-pip-install.patch +) + +python_check_deps() { + python_has_version "dev-python/msgpack[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && + python_has_version "dev-python/joblib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +pkg_pretend() { + if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then + ewarn "hipBLASLt supports only few GPUs: ${SUPPORTED_GPUS[@]}," + ewarn "but none of them were defined in AMDGPU_TARGETS USE_EXPAND variable." + ewarn + ewarn "Library will continue to be built in \"dummy\" mode," + ewarn "serving as a non-functional placeholder for end-user applications." + fi +} + +src_prepare() { + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-6.1.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply "${S}"/gentoopath.patch + + local shebangs=($(grep -rl "#!/usr/bin/env python3" tensilelite/Tensile || die)) + python_fix_shebang -q ${shebangs[*]} + + sed -e "s:\${rocm_path}/bin/amdclang++:$(get_llvm_prefix)/bin/clang++:" \ + -i library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local targets="$(get_amdgpu_flags)" + local build_with_tensile=$([ "${AMDGPU_TARGETS[@]}" = "" ] && echo OFF || echo ON ) + + local mycmakeargs=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_TENSILE="${build_with_tensile}" + -DAMDGPU_TARGETS="${targets}" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark ON OFF)" + -Wno-dev + ) + + cmake_src_configure +} + +src_compile() { + local -x ROCM_PATH="${EPREFIX}/usr" + # set PYTHONPATH to load Tensile from virtualenv, not the system-wide one + local -x PYTHONPATH="${S}_build/virtualenv/lib/${EPYTHON}/site-packages" + local -x TENSILE_ROCM_ASSEMBLER_PATH="$(get_llvm_prefix)/bin/clang++" + # TensileCreateLibrary reads CMAKE_CXX_COMPILER again + local -x CMAKE_CXX_COMPILER="$(get_llvm_prefix)/bin/clang++" + cmake_src_compile +} + +src_install() { + cmake_src_install + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x /usr/$(get_libdir)/hipblaslt/library/ +} + +src_test() { + check_amdgpu + + # Expected time for 7900 XTX: 340s (full) or 5s with GTEST_FILTER='*quick*' + cmake_src_test +} diff --git a/sci-libs/hipBLASLt/metadata.xml b/sci-libs/hipBLASLt/metadata.xml new file mode 100644 index 0000000..2be6f3b --- /dev/null +++ b/sci-libs/hipBLASLt/metadata.xml @@ -0,0 +1,17 @@ + + + + + sci@gentoo.org + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/hipBLASLt + + + Build and install rocblas-bench. + + diff --git a/sci-libs/miopen/Manifest b/sci-libs/miopen/Manifest new file mode 100644 index 0000000..94c9d57 --- /dev/null +++ b/sci-libs/miopen/Manifest @@ -0,0 +1,5 @@ +DIST MIOpen-5.7.1.tar.gz 100751593 BLAKE2B c5f847fe4374ab22737c281a65401125012328412d584fc09244b431ea6265d6d5028429115ee15fa8b04cbe0edd020e4e7ac8deb22561183ed76cb8c3d4d9d4 SHA512 3354b3b154f29a6337403abc5a71ec47c0b2558320c5a1b0cbfbbdb370c4fada2db12d4a19a312b5e30ca2e2302ee50ece3390603e84d132b2212a168e9523fa +DIST MIOpen-6.1.1.tar.gz 101935496 BLAKE2B 5aadaa5eefa1b22dedfe87deb36f8acdbe57962cac8b7b6b20bc76f136ef29f0441e48112010280c2e674a1ae9fd202ca3e07be47cf4a4bc797234d6dc618be5 SHA512 b8860583919bf2f3e0da7ace30fdb0595ab45b85a367be3737e0b15a22a5565b8d6660c652ee070f21c36ac7d17ef3ba8e2eda7ed89bd6a0c65a4df799626d1a +DIST MIOpen-6.3.2.tar.gz 104156821 BLAKE2B e7611ea2d37d3c72cde2e6be153271dacd7150083ec63ec2357e1c808dc9e79c1928f06fd4e70712989c5ab13a604a91d3fba1819723da12b49f6a447a561f3c SHA512 bf219459244c8f0962c54a8e94273aeeafe4b9b093c72ac962fa9d373526c9dc406c46d0464ec6b20d52b1e6c01e2cf2544267b573a0e774c7afd4ba9adc9fb9 +DIST MIOpen-6.3.3.tar.gz 104157223 BLAKE2B 10b793594ed47397dd695ada4da1ba93935c78512c27291449df20fc7760aad2b224eaa50d3526453e7b4451828769937c66069a11f6f6fb6a636a16c6f90957 SHA512 9749d04d9a6b92ba19b3534966feb4ed21eaca3fd4a20aaec050bcf725091a8706044136f836ed20e08e7ec3b4074e1f99a08b51b4cbe449aedb7f86eb5cc87f +DIST gtest-1.11.0_p20210611.tar.gz 887296 BLAKE2B 8f29b7028a6dd8190a113cd93398705b23b61d88bee38beaf9dcc0dfc8a463aed7fcd3719f6f1b131d4363aa57231629aaeffa108f6558efb58416cfface6d6e SHA512 cf9e7f3fd3e31ce6677eac355fb8bfe19c5b56a8ec3af8b9417d0904cdf5da92f99f7411a08131cc9fa4fc7d38e6a71fcfac993648e47b269a74a27de7607f7a diff --git a/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch b/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch new file mode 100644 index 0000000..769217a --- /dev/null +++ b/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch @@ -0,0 +1,14 @@ +This let MIOpen compatible with >boost-1.72, for example 1.76 + +Suggested by: Michael Boone + +--- a/CMakeLists.txt 2021-07-23 01:26:15.377754243 -0700 ++++ b/CMakeLists.txt 2021-07-23 01:29:23.925685190 -0700 +@@ -216,6 +216,7 @@ + message(STATUS "Hip compiler flags: ${HIP_COMPILER_FLAGS}") + + add_definitions("-DHIP_COMPILER_FLAGS=${HIP_COMPILER_FLAGS}") ++add_definitions("-DBOOST_CONTAINER_DISABLE_NOINLINE") + + + # HIP diff --git a/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch b/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch new file mode 100644 index 0000000..73997ce --- /dev/null +++ b/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch @@ -0,0 +1,14 @@ +See: https://stackoverflow.com/questions/4798936/numeric-limits-was-not-declared-in-this-scope-no-matching-function-for-call-t + +https://www.gnu.org/software/gcc/gcc-11/porting_to.html#header-dep-changes + +--- MIOpen-rocm-4.2.0/src/include/miopen/float_equal.hpp ++++ MIOpen-rocm-4.2.0/src/include/miopen/float_equal.hpp +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #ifdef _MSC_VER + #include + #endif diff --git a/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch b/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch new file mode 100644 index 0000000..68d2f14 --- /dev/null +++ b/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch @@ -0,0 +1,31 @@ +This create option BUILD_TESTS for miopen, like other rocm math libs, and + +testing executables are always built if test enabled. The original behaviour, is + +always add test/CMakeLists.txt without adding test exes as targets, and compile them + +during test. +--- orig/CMakeLists.txt ++++ MIOpen-rocm-4.3.0/CMakeLists.txt +@@ -590,6 +590,9 @@ add_subdirectory(src) + if(MIOPEN_BUILD_DRIVER) + add_subdirectory(driver) + endif() +-add_subdirectory(test) ++option(BUILD_TESTS "Build binaries for tests" OFF) ++if(BUILD_TESTS) ++ add_subdirectory(test) ++endif() + add_subdirectory(speedtests) + add_subdirectory(utils) +--- orig/test/CMakeLists.txt ++++ MIOpen-rocm-4.3.0/test/CMakeLists.txt +@@ -142,7 +142,7 @@ function(add_test_command NAME EXE) + endfunction() + + function(add_test_executable TEST_NAME) +- add_executable (${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN}) ++ add_executable (${TEST_NAME} ${ARGN}) + clang_tidy_check(${TEST_NAME}) + target_link_libraries(${TEST_NAME} ${CMAKE_THREAD_LIBS_INIT}) + # Cmake does not add flags correctly for gcc diff --git a/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch b/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch new file mode 100644 index 0000000..5c2762a --- /dev/null +++ b/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch @@ -0,0 +1,17 @@ +The interface inlude directories of hip::device should be included using -I, not -isystem; + +otherwise compilation at MIOpen runtime will fail due to cstdlib cannot find or similar errors. + +Suggested-by: Yuyi Wang +Signed-off-by: Yiyang Wu +--- orig/cmake/TargetFlags.cmake ++++ MIOpen-rocm-4.3.0/cmake/TargetFlags.cmake +@@ -41,7 +41,7 @@ function(target_flags FLAGS TARGET) + set(_flags) + append_flags(_flags ${TARGET} "INTERFACE_COMPILE_OPTIONS" "") + append_flags(_flags ${TARGET} "INTERFACE_COMPILE_DEFINITIONS" "-D") +- append_flags(_flags ${TARGET} "INTERFACE_INCLUDE_DIRECTORIES" "-isystem ") ++ append_flags(_flags ${TARGET} "INTERFACE_INCLUDE_DIRECTORIES" "-I ") + append_flags(_flags ${TARGET} "INTERFACE_LINK_DIRECTORIES" "-L ") + append_flags(_flags ${TARGET} "INTERFACE_LINK_OPTIONS" "") + append_link_flags(_flags ${TARGET} "INTERFACE_LINK_LIBRARIES" "") diff --git a/sci-libs/miopen/files/miopen-5.1.3-include-array.patch b/sci-libs/miopen/files/miopen-5.1.3-include-array.patch new file mode 100644 index 0000000..fc6a36d --- /dev/null +++ b/sci-libs/miopen/files/miopen-5.1.3-include-array.patch @@ -0,0 +1,12 @@ +This fixes compile error upon gcc-12 libstdc++ +index 1cfb2a72c..0f4feb406 100644 +--- a/test/sequences.cpp ++++ b/test/sequences.cpp +@@ -25,6 +25,7 @@ + *******************************************************************************/ + #include "test.hpp" + #include ++#include + + namespace miopen { + namespace seq { diff --git a/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch b/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch new file mode 100644 index 0000000..0d1d429 --- /dev/null +++ b/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch @@ -0,0 +1,17 @@ +Don't strip for release. Let portage handle stripping. +Index: MIOpen-rocm-5.1.3/CMakeLists.txt +=================================================================== +--- MIOpen-rocm-5.1.3.orig/CMakeLists.txt ++++ MIOpen-rocm-5.1.3/CMakeLists.txt +@@ -78,11 +78,6 @@ option( BUILD_DEV "Build for development + option(MIOPEN_ENABLE_FIN "Enable the fin driver for MIOpen" OFF) + + +-# Strip symbols for release +-if(NOT WIN32 AND NOT APPLE) +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") +-endif() + + rocm_setup_version(VERSION 2.16.0) + diff --git a/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch b/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch new file mode 100644 index 0000000..859667f --- /dev/null +++ b/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch @@ -0,0 +1,74 @@ +Fix uninitialized variable in MIOpenDriver gemm and restore gemmfp16 for testing +Upstream bug: https://github.com/ROCmSoftwarePlatform/MIOpen/issues/2505 +--- a/driver/driver.hpp ++++ b/driver/driver.hpp +@@ -141,7 +141,7 @@ inline void PadBufferSize(size_t& sz, int datatype_sz) + printf("Usage: ./driver *base_arg* *other_args*\n"); + printf("Supported Base Arguments: conv[fp16|int8|bfp16], CBAInfer[fp16], " + "pool[fp16], lrn[fp16], " +- "activ[fp16], softmax[fp16], bnorm[fp16], rnn[fp16], gemm, ctc, dropout[fp16], " ++ "activ[fp16], softmax[fp16], bnorm[fp16], rnn[fp16], gemm[fp16], ctc, dropout[fp16], " + "tensorop[fp16], reduce[fp16,fp64]\n"); + exit(0); // NOLINT (concurrency-mt-unsafe) + } +@@ -160,7 +160,7 @@ inline std::string ParseBaseArg(int argc, char* argv[]) + arg != "CBAInfer" && arg != "CBAInferfp16" && arg != "pool" && arg != "poolfp16" && + arg != "lrn" && arg != "lrnfp16" && arg != "activ" && arg != "activfp16" && + arg != "softmax" && arg != "softmaxfp16" && arg != "bnorm" && arg != "bnormfp16" && +- arg != "rnn" && arg != "rnnfp16" && arg != "gemm" /*&& arg != "gemmfp16"*/ && arg != "ctc" && ++ arg != "rnn" && arg != "rnnfp16" && arg != "gemm" && arg != "gemmfp16" && arg != "ctc" && + arg != "dropout" && arg != "dropoutfp16" && arg != "tensorop" && arg != "tensoropfp16" && + arg != "reduce" && arg != "reducefp16" && arg != "reducefp64" && arg != "--version") + { +--- a/driver/gemm_driver.hpp ++++ b/driver/gemm_driver.hpp +@@ -207,6 +207,19 @@ int GemmDriver::GetandSetData() + gemm_desc.strideB = gemm_desc.k * gemm_desc.n; + gemm_desc.strideC = gemm_desc.m * gemm_desc.n; + ++ if constexpr (std::is_same_v) ++ { ++ gemm_desc.dataType = miopenFloat; ++ } ++ else if constexpr (std::is_same_v) ++ { ++ gemm_desc.dataType = miopenHalf; ++ } ++ else ++ { ++ static_assert(!"unsupported type"); ++ } ++ + return (0); + } + +@@ -230,9 +243,9 @@ int GemmDriver::AllocateBuffersAndCopy() + a = std::vector(a_sz); + b = std::vector(b_sz); + #if GEMM_DRIVER_DEBUG +- c = std::vector(c_sz, 1.); ++ c = std::vector(c_sz, static_cast(1.)); + #else +- c = std::vector(c_sz, 0.); ++ c = std::vector(c_sz, static_cast(0.)); + #endif + chost = c; + +--- a/driver/main.cpp ++++ b/driver/main.cpp +@@ -125,11 +125,10 @@ int main(int argc, char* argv[]) + { + drv = new GemmDriver(); + } +-// TODO half is not supported in gemm +-// else if(base_arg == "gemmfp16") +-// { +-// drv = new GemmDriver(); +-// } ++ else if(base_arg == "gemmfp16") ++ { ++ drv = new GemmDriver(); ++ } + #endif + else if(base_arg == "bnorm") + { diff --git a/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch new file mode 100644 index 0000000..49ec1cc --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch @@ -0,0 +1,13 @@ +Normally, MIOpen compiles tests during test phase instead of "compile". +This patch allows to build testing executables during compile phase. +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -330,7 +330,7 @@ endfunction() + separate_arguments(MIOPEN_TEST_FLAGS_ARGS NATIVE_COMMAND ${MIOPEN_TEST_FLAGS}) + + function(add_test_executable TEST_NAME) +- add_executable (${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN}) ++ add_executable (${TEST_NAME} ${ARGN}) + if(WIN32) + target_compile_definitions(${TEST_NAME} PRIVATE NOMINMAX) + endif() diff --git a/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch b/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch new file mode 100644 index 0000000..0ce842d --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch @@ -0,0 +1,246 @@ +--- a/cmake/EnableCompilerWarnings.cmake ++++ b/cmake/EnableCompilerWarnings.cmake +@@ -70,6 +70,7 @@ set(__clang_cxx_compile_options + -Wno-unused-command-line-argument + -Wno-weak-vtables + -Wno-covered-switch-default ++ -Wno-switch-default + -Wno-unused-result + -Wno-unsafe-buffer-usage + -Wno-deprecated-declarations +--- a/src/include/miopen/bfloat16.hpp ++++ b/src/include/miopen/bfloat16.hpp +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + class bfloat16 : boost::totally_ordered> + { +@@ -152,7 +153,7 @@ private: + std::uint16_t data_; + }; + +-namespace std { ++NAMESPACE_STD_BEGIN + template <> + class numeric_limits + { +@@ -173,5 +174,5 @@ public: + return bfloat16::generate(0x0001); // 0x0.02p-126 + } + }; +-} // namespace std ++NAMESPACE_STD_END + #endif +--- /dev/null ++++ b/src/include/miopen/libcxx_compat.hpp +@@ -0,0 +1,44 @@ ++/******************************************************************************* ++ * ++ * MIT License ++ * ++ * Copyright (c) 2024 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in all ++ * copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ * ++ *******************************************************************************/ ++#ifndef LIBCXX_COMPAT_HPP_ ++#define LIBCXX_COMPAT_HPP_ ++ ++// Definitions for libc++ compatibility ++#ifdef __has_include ++#if __has_include (<__config>) ++#include <__config> ++#endif ++#endif ++ ++#ifdef _LIBCPP_VERSION ++#define NAMESPACE_STD_BEGIN _LIBCPP_BEGIN_NAMESPACE_STD ++#define NAMESPACE_STD_END _LIBCPP_END_NAMESPACE_STD ++#else ++#define NAMESPACE_STD_BEGIN namespace std { ++#define NAMESPACE_STD_END } ++#endif ++ ++#endif +--- a/src/kernels/hip_float8.hpp ++++ b/src/kernels/hip_float8.hpp +@@ -26,6 +26,7 @@ + #pragma once + + #include "miopen_cstdint.hpp" ++#include "libcxx_compat.hpp" + + #ifndef MIOPEN_ENABLE_F8_DEVICE_CODE + #define MIOPEN_ENABLE_F8_DEVICE_CODE 0 +@@ -590,7 +591,7 @@ public: + // from the precompiled header. + #else + // NOLINTBEGIN(cert-dcl58-cpp) +-namespace std { ++NAMESPACE_STD_BEGIN + inline bool isfinite(miopen_f8::hip_f8 x) // NOLINT + { + return !(x.is_inf() || x.is_nan()); +@@ -611,12 +612,12 @@ inline bool isnan(miopen_f8::hip_f8 x) // NOLINT + return x.is_nan(); + } + +-} // namespace std ++NAMESPACE_STD_END + // NOLINTEND(cert-dcl58-cpp) + #endif + + // NOLINTBEGIN(cert-dcl58-cpp) +-namespace std { ++NAMESPACE_STD_BEGIN + + template + class numeric_limits; +@@ -633,7 +634,7 @@ class numeric_limits> + { + }; + +-} // namespace std ++NAMESPACE_STD_END + // NOLINTEND(cert-dcl58-cpp) + + template +--- /dev/null ++++ b/src/kernels/libcxx_compat.hpp +@@ -0,0 +1,41 @@ ++/******************************************************************************* ++ * ++ * MIT License ++ * ++ * Copyright (c) 2024 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in all ++ * copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ * ++ *******************************************************************************/ ++#pragma once ++ ++// Definitions for libc++ compatibility ++#ifdef __has_include ++#if __has_include (<__config>) ++#include <__config> ++#endif ++#endif ++ ++#ifdef _LIBCPP_VERSION ++#define NAMESPACE_STD_BEGIN _LIBCPP_BEGIN_NAMESPACE_STD ++#define NAMESPACE_STD_END _LIBCPP_END_NAMESPACE_STD ++#else ++#define NAMESPACE_STD_BEGIN namespace std { ++#define NAMESPACE_STD_END } ++#endif +--- a/src/kernels/miopen_limits.hpp ++++ b/src/kernels/miopen_limits.hpp +@@ -33,8 +33,9 @@ + + #define MIOPEN_ENABLE_F8_DEVICE_CODE 1 + #include "hip_float8.hpp" ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template + class numeric_limits; +@@ -91,7 +92,7 @@ public: + }; + #endif + +-} // namespace std ++NAMESPACE_STD_END + + #else + +--- a/src/kernels/miopen_type_traits.hpp ++++ b/src/kernels/miopen_type_traits.hpp +@@ -26,8 +26,9 @@ + #pragma once + + #ifdef MIOPEN_DONT_USE_HIP_RUNTIME_HEADERS ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template + struct remove_reference +@@ -140,7 +141,7 @@ struct conditional + template + using conditional_t = typename conditional::type; + +-} // namespace std ++NAMESPACE_STD_END + #else + + #include // std::remove_reference, std::remove_cv, is_pointer +--- a/src/kernels/miopen_utility.hpp ++++ b/src/kernels/miopen_utility.hpp +@@ -28,8 +28,9 @@ + #ifdef MIOPEN_DONT_USE_HIP_RUNTIME_HEADERS + + #include "miopen_type_traits.hpp" // std::remove_reference ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template + constexpr T&& forward(typename remove_reference::type& t_) noexcept +@@ -43,7 +44,7 @@ constexpr T&& forward(typename remove_reference::type&& t_) noexcept + return static_cast(t_); + } + +-} // namespace std ++NAMESPACE_STD_END + + #else + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -481,6 +481,7 @@ if( MIOPEN_BACKEND MATCHES "OpenCL" OR MIOPEN_BACKEND STREQUAL "HIPOC" OR MIOPEN + kernels/gpr_alloc.inc + kernels/hip_atomic.hpp + kernels/hip_f8_impl.hpp ++ kernels/libcxx_compat.hpp + kernels/hip_float8.hpp + kernels/inst_wrappers.inc + kernels/miopen_cstdint.hpp diff --git a/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch b/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch new file mode 100644 index 0000000..b4332d5 --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch @@ -0,0 +1,46 @@ +composable_kernel does not build some functions/targets depending on GPU. +Upstream bug: https://github.com/ROCm/composable_kernel/issues/1646 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -847,10 +847,6 @@ target_include_directories(MIOpen PUBLIC + $ + ) + +-if(MIOPEN_USE_COMPOSABLEKERNEL) +-set(MIOPEN_CK_LINK_FLAGS composable_kernel::device_other_operations composable_kernel::device_gemm_operations composable_kernel::device_conv_operations composable_kernel::device_reduction_operations composable_kernel::device_mha_operations hip::host) +-endif() +- + if(WIN32) + # Refer to https://en.cppreference.com/w/cpp/language/types for details. + target_compile_options(MIOpen PRIVATE $:-U__LP64__>>) +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -327,7 +327,27 @@ add_compile_definitions($<$:HIP_COMPILER_FLAGS=${HIP_COMPI + # HIP + if( MIOPEN_BACKEND STREQUAL "HIP" OR MIOPEN_BACKEND STREQUAL "HIPOC" OR MIOPEN_BACKEND STREQUAL "HIPNOGPU") + if(MIOPEN_USE_COMPOSABLEKERNEL) +- find_package(composable_kernel 1.0.0 COMPONENTS device_other_operations device_gemm_operations device_conv_operations device_reduction_operations device_mha_operations) ++ set(MIOPEN_CK_LINK_FLAGS hip::host) ++ set(COMPONENTS_LIST device_other_operations device_gemm_operations device_conv_operations device_reduction_operations device_mha_operations) ++ foreach(component IN LISTS COMPONENTS_LIST) ++ find_package(composable_kernel 1.0.0 COMPONENTS ${component} QUIET) ++ if(TARGET composable_kernel::${component}) ++ list(APPEND MIOPEN_CK_LINK_FLAGS "composable_kernel::${component}") ++ else() ++ message(WARNING "CK component '${component}' not found.") ++ endif() ++ endforeach() ++ if(AMDGPU_TARGETS MATCHES "gfx94" OR AMDGPU_TARGETS MATCHES "gfx90a") ++ add_definitions(-DMIOPEN_USE_CK_MHA_OPS=1) ++ else() ++ add_definitions(-DMIOPEN_USE_CK_MHA_OPS=0) ++ endif() ++ if(AMDGPU_TARGETS MATCHES "gfx9") ++ add_definitions(-DMIOPEN_USE_CK_XDL_OPS=1) ++ else() ++ add_definitions(-DMIOPEN_USE_CK_XDL_OPS=0) ++ endif() ++ + endif() + if( MIOPEN_BACKEND STREQUAL "HIPNOGPU") + set(MIOPEN_MODE_NOGPU 1) diff --git a/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch b/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch new file mode 100644 index 0000000..c7672e9 --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch @@ -0,0 +1,19 @@ +--- a/driver/reducecalculation_driver.hpp ++++ b/driver/reducecalculation_driver.hpp +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -77,7 +78,7 @@ int32_t mloReduceCalculationForwardRunHost(miopenTensorDescriptor_t inputDesc, + for(size_t i = 0; i < reduce_size; ++i) + { + Tcheck val = static_cast(input[input_idx]); +- if(nanPropagation && isnan(val)) ++ if(nanPropagation && std::isnan(val)) + { + val = 0.0f; + } diff --git a/sci-libs/miopen/metadata.xml b/sci-libs/miopen/metadata.xml new file mode 100644 index 0000000..07d78dd --- /dev/null +++ b/sci-libs/miopen/metadata.xml @@ -0,0 +1,28 @@ + + + + + sci@gentoo.org + + + gentoo@holzke.net + Wilfried Holzke + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + lockalsash@gmail.com + Sv. Lockal + + + ROCm/MIOpen + + + Use composable-kernel for GEMM-like and reduction-like operators. + Use hipBLASLt for some non-batched and strided batched problems. + Build with rocBLAS support + Build with roctracer support + + diff --git a/sci-libs/miopen/miopen-5.7.1-r1.ebuild b/sci-libs/miopen/miopen-5.7.1-r1.ebuild new file mode 100644 index 0000000..b13e635 --- /dev/null +++ b/sci-libs/miopen/miopen-5.7.1-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic llvm rocm + +GTEST_COMMIT="e2239ee6043f73722e7aa812a459f54a28552929" +GTEST_FILE="gtest-1.11.0_p20210611.tar.gz" + +LLVM_MAX_SLOT=17 + +DESCRIPTION="AMD's Machine Intelligence Library" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/MIOpen" + +SRC_URI="https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz + test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip + >=dev-db/sqlite-3.17 + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] + >=dev-libs/boost-1.72 + dev-cpp/nlohmann_json + dev-cpp/frugally-deep +" + +DEPEND="${RDEPEND}" + +BDEPEND="dev-libs/half:0/1 + dev-build/rocm-cmake +" + +S="${WORKDIR}/MIOpen-rocm-${PV}" + +PATCHES=( + "${FILESDIR}/${PN}-4.2.0-disable-no-inline-boost.patch" + "${FILESDIR}/${PN}-4.2.0-gcc11-numeric_limits.patch" + "${FILESDIR}/${PN}-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch" + "${FILESDIR}/${PN}-4.3.0-enable-test.patch" + "${FILESDIR}/${PN}-5.1.3-no-strip.patch" + "${FILESDIR}/${PN}-5.1.3-include-array.patch" + "${FILESDIR}/${PN}-5.7.1-fix-miopendriver-gemm.patch" +) + +src_prepare() { + cmake_src_prepare + + sed -e "s:/opt/rocm/llvm:$(get_llvm_prefix ${LLVM_MAX_SLOT}) NO_DEFAULT_PATH:" \ + -e "s:/opt/rocm/hip:$(hipconfig -p) NO_DEFAULT_PATH:" \ + -e '/set( MIOPEN_INSTALL_DIR/s:miopen:${CMAKE_INSTALL_PREFIX}:' \ + -e '/MIOPEN_TIDY_ERRORS ALL/d' \ + -e 's:find_program(UNZIPPER lbunzip2 bunzip2):find_program(UNZIPPER NAMES lbunzip2 bunzip2):' \ + -i CMakeLists.txt || die + + sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \ + -i test/CMakeLists.txt || die + + sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \ + -i src/CMakeLists.txt || die + + sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i cmake/hip-config.cmake || die +} + +src_configure() { + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMIOPEN_BACKEND=HIP + -DBoost_USE_STATIC_LIBS=OFF + -DMIOPEN_USE_MLIR=OFF + -DBUILD_TESTS=$(usex test ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DHALF_INCLUDE_DIR="${EPREFIX}/usr/include/half" + ) + + if use test; then + mycmakeargs+=( + -DMIOPEN_TEST_ALL=ON + -DBUILD_TESTING=ON + -DMIOPEN_TEST_GDB=OFF + -DGOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}" + ) + for gpu_target in ${AMDGPU_TARGETS}; do + mycmakeargs+=(-DMIOPEN_TEST_${gpu_target^^}=ON ) + done + fi + + addpredict /dev/kfd + addpredict /dev/dri/ + append-cxxflags "--rocm-path=$(hipconfig -R)" + append-cxxflags "--hip-device-lib-path=${EPREFIX}/usr/lib/amdgcn/bitcode" + CXX="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++" cmake_src_configure +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib cmake_src_test -j1 +} + +src_install() { + cmake_src_install +} diff --git a/sci-libs/miopen/miopen-6.1.1.ebuild b/sci-libs/miopen/miopen-6.1.1.ebuild new file mode 100644 index 0000000..de3e654 --- /dev/null +++ b/sci-libs/miopen/miopen-6.1.1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 rocm + +DESCRIPTION="AMD's Machine Intelligence Library" +HOMEPAGE="https://github.com/ROCm/MIOpen" +SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz" +S="${WORKDIR}/MIOpen-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + >=dev-db/sqlite-3.17 + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] + dev-util/roctracer:${SLOT}[${ROCM_USEDEP}] + >=dev-libs/boost-1.72 + dev-cpp/nlohmann_json + dev-cpp/frugally-deep +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-libs/half-1.12.0-r1 + dev-build/rocm-cmake + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch +) + +src_prepare() { + cmake_src_prepare + + sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \ + -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \ + -i CMakeLists.txt || die + + sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \ + -i test/CMakeLists.txt || die + + sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \ + -i src/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMIOPEN_BACKEND=HIP + -DBoost_USE_STATIC_LIBS=OFF + -DMIOPEN_USE_MLIR=OFF + -DBUILD_TESTING=$(usex test ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc" + -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang" + -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang" + ) + + if use test; then + mycmakeargs+=( + -DMIOPEN_TEST_ALL=ON + -DMIOPEN_TEST_GDB=OFF + ) + # needed by rocminfo + addpredict /dev/random + check_amdgpu + fi + + cmake_src_configure +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1 +} + +src_install() { + cmake_src_install +} diff --git a/sci-libs/miopen/miopen-6.3.2.ebuild b/sci-libs/miopen/miopen-6.3.2.ebuild new file mode 100644 index 0000000..470366f --- /dev/null +++ b/sci-libs/miopen/miopen-6.3.2.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 rocm + +DESCRIPTION="AMD's Machine Intelligence Library" +HOMEPAGE="https://github.com/ROCm/MIOpen" +SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz" +S="${WORKDIR}/MIOpen-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="composable-kernel debug hipblaslt rocblas roctracer test" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND=" + dev-util/hip:${SLOT} + >=dev-db/sqlite-3.17 + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}] + >=dev-libs/boost-1.72 + dev-cpp/nlohmann_json + dev-cpp/frugally-deep + + composable-kernel? ( sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] ) + hipblaslt? ( + sci-libs/hipBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/hipBLASLt:${SLOT} + ) + rocblas? ( sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] ) + roctracer? ( dev-util/roctracer:${SLOT}[${ROCM_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-libs/half-1.12.0-r1 + dev-build/rocm-cmake + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-conditional-ck-components.patch + "${FILESDIR}"/${PN}-6.3.0-isnan-include.patch +) + +src_prepare() { + cmake_src_prepare + + # complementary replacements for conditional-ck-components patch + find src -name '*mha*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_MHA_OPS/g" "$file" || die + done + + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" \ + src/mlo_dir_conv.cpp \ + src/solver/conv_ck_igemm_fwd_bias_res_add_activ_fused.cpp \ + src/solver/conv_ck_igemm_fwd_bias_activ_fused.cpp || die + find src -name '*xdl*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" "$file" || die + done + + sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \ + -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \ + -i CMakeLists.txt || die + + sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \ + -i test/CMakeLists.txt || die + + sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \ + -i src/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMIOPEN_BACKEND=HIP + -DBoost_USE_STATIC_LIBS=OFF + -DMIOPEN_USE_MLIR=OFF + -DMIOPEN_USE_ROCTRACER=$(usex roctracer ON OFF) + -DMIOPEN_USE_ROCBLAS=$(usex rocblas ON OFF) + -DMIOPEN_USE_HIPBLASLT=$(usex hipblaslt ON OFF) + -DMIOPEN_USE_COMPOSABLEKERNEL=$(usex composable-kernel ON OFF) + -DBUILD_TESTING=$(usex test ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc" + -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang" + -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang" + ) + + if use test; then + mycmakeargs+=( + -DMIOPEN_TEST_ALL=ON + -DMIOPEN_TEST_GDB=OFF + ) + # needed by rocminfo + addpredict /dev/random + check_amdgpu + fi + + cmake_src_configure +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1 +} + +src_install() { + cmake_src_install +} diff --git a/sci-libs/miopen/miopen-6.3.3.ebuild b/sci-libs/miopen/miopen-6.3.3.ebuild new file mode 100644 index 0000000..470366f --- /dev/null +++ b/sci-libs/miopen/miopen-6.3.3.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 rocm + +DESCRIPTION="AMD's Machine Intelligence Library" +HOMEPAGE="https://github.com/ROCm/MIOpen" +SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz" +S="${WORKDIR}/MIOpen-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="composable-kernel debug hipblaslt rocblas roctracer test" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND=" + dev-util/hip:${SLOT} + >=dev-db/sqlite-3.17 + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}] + >=dev-libs/boost-1.72 + dev-cpp/nlohmann_json + dev-cpp/frugally-deep + + composable-kernel? ( sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] ) + hipblaslt? ( + sci-libs/hipBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/hipBLASLt:${SLOT} + ) + rocblas? ( sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] ) + roctracer? ( dev-util/roctracer:${SLOT}[${ROCM_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-libs/half-1.12.0-r1 + dev-build/rocm-cmake + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-conditional-ck-components.patch + "${FILESDIR}"/${PN}-6.3.0-isnan-include.patch +) + +src_prepare() { + cmake_src_prepare + + # complementary replacements for conditional-ck-components patch + find src -name '*mha*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_MHA_OPS/g" "$file" || die + done + + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" \ + src/mlo_dir_conv.cpp \ + src/solver/conv_ck_igemm_fwd_bias_res_add_activ_fused.cpp \ + src/solver/conv_ck_igemm_fwd_bias_activ_fused.cpp || die + find src -name '*xdl*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" "$file" || die + done + + sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \ + -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \ + -i CMakeLists.txt || die + + sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \ + -i test/CMakeLists.txt || die + + sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \ + -i src/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMIOPEN_BACKEND=HIP + -DBoost_USE_STATIC_LIBS=OFF + -DMIOPEN_USE_MLIR=OFF + -DMIOPEN_USE_ROCTRACER=$(usex roctracer ON OFF) + -DMIOPEN_USE_ROCBLAS=$(usex rocblas ON OFF) + -DMIOPEN_USE_HIPBLASLT=$(usex hipblaslt ON OFF) + -DMIOPEN_USE_COMPOSABLEKERNEL=$(usex composable-kernel ON OFF) + -DBUILD_TESTING=$(usex test ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc" + -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang" + -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang" + ) + + if use test; then + mycmakeargs+=( + -DMIOPEN_TEST_ALL=ON + -DMIOPEN_TEST_GDB=OFF + ) + # needed by rocminfo + addpredict /dev/random + check_amdgpu + fi + + cmake_src_configure +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1 +} + +src_install() { + cmake_src_install +} diff --git a/sci-libs/rocBLAS/Manifest b/sci-libs/rocBLAS/Manifest new file mode 100644 index 0000000..fc92723 --- /dev/null +++ b/sci-libs/rocBLAS/Manifest @@ -0,0 +1,4 @@ +DIST rocm-rocBLAS-5.7.1.tar.gz 55389700 BLAKE2B 9e58b1d29c8a04aa58ce17fdd9b0c2504934261851619dc5b696a04e8c6a79e7c44d86a6db7a9c76a434d76593de8c191cba6f163cf398d01cfc001e5fa32b5a SHA512 cfc73f6c490595a3c153c2ac2a3cb5926c48c2c19baa07ff3dcdf3a7ccaed82cfdff64ed5a3be64c349cb43d654d4b104d9090e2ec9f2061049d6a4921c07722 +DIST rocm-rocBLAS-6.1.1.tar.gz 100103895 BLAKE2B df89a21e47730714b80c62717a86d65ac0d819c2d33b2a3c6252b60b8d7cc9eb5f8f1db27159b0a8dfc87aba7ccad97e2f832bc0044e92d0b69c526d382c745a SHA512 74e847c4ddee16cae7f41e268a815ea03875519c365abe7dfce313a9545df245baa73301b432f64a36cc988281fec7530629a0d72583e9ea287c98ec8a0b3907 +DIST rocm-rocBLAS-6.3.2.tar.gz 57909504 BLAKE2B 0ed000a10c9e71465f83fb9abdb9a745c82bf32552e3d86c61bf0c802f3728f7fd4c47fbf677d01aa35c457dc5281c916ca80fdc033b2752afd6733aefa4653f SHA512 ecfb6c68b0a44ddae0e4e6cf5c41c0c33a9685c590004ffe48fdb163bd059d534181d3faed2a23142078c5f621b1955c91725357c3e8e0f9307b139b19af46fd +DIST rocm-rocBLAS-6.3.3.tar.gz 57909385 BLAKE2B a51274e2895419cc517ac24a0235c90f3b2551945b6936789abc78a08c8dde151de6d853d6378a702138227604af4cc185bde3acb5bf8999e09699d293bb2b85 SHA512 fcc8718e0c3dde8715f758e83f3a1ca45dde88ac56680e7723e2041dd3c1d7b9f575b1686552d04e7ef12b57188164c8abb5a6e4c568ade03d534edc30846c9e diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch new file mode 100644 index 0000000..cefad2b --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch @@ -0,0 +1,14 @@ +Mitigate compilation issue. + +std::bad_alloc is defined in +--- a/clients/include/host_alloc.hpp ++++ b/clients/include/host_alloc.hpp +@@ -22,6 +22,8 @@ + + #pragma once + ++#include ++ + //! + //! @brief Host free memory w/o swap. Returns kB or -1 if unknown. + //! diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch new file mode 100644 index 0000000..688fe7e --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch @@ -0,0 +1,24 @@ +Index: rocBLAS-rocm-5.4.2/clients/common/utility.cpp +=================================================================== +--- rocBLAS-rocm-5.4.2.orig/clients/common/utility.cpp ++++ rocBLAS-rocm-5.4.2/clients/common/utility.cpp +@@ -38,6 +38,7 @@ + #ifdef WIN32 + #define strcasecmp(A, B) _stricmp(A, B) + ++#include + #ifdef __cpp_lib_filesystem + #include + namespace fs = std::filesystem; +Index: rocBLAS-rocm-5.4.2/clients/include/singletons.hpp +=================================================================== +--- rocBLAS-rocm-5.4.2.orig/clients/include/singletons.hpp ++++ rocBLAS-rocm-5.4.2/clients/include/singletons.hpp +@@ -21,6 +21,6 @@ + * ************************************************************************ */ + + // global for device memory padding see d_vector.hpp +- ++#include + extern size_t g_DVEC_PAD; + void d_vector_set_pad_length(size_t pad); diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch new file mode 100644 index 0000000..a0a599a --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch @@ -0,0 +1,12 @@ +Fix CPU blas function not found linking issue +--- a/clients/CMakeLists.txt ++++ b/clients/CMakeLists.txt +@@ -119,7 +119,7 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS) + set( BLIS_CPP ../common/blis_interface.cpp ) + set( BLAS_LIBRARY ${BUILD_DIR}/deps/blis/lib/libblis.a ) + else() +- set( BLAS_LIBRARY "blas" ) ++ set( BLAS_LIBRARY "blas -lcblas" ) + endif() + else() # WIN32 + set( BLAS_INCLUDE_DIR ${OPENBLAS_DIR}/include CACHE PATH "OpenBLAS library include path" ) diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch new file mode 100644 index 0000000..c5c5d47 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch @@ -0,0 +1,132 @@ +Allow rocBLAS to load the compatible kernels when running on +architectures compatible with those ISAs. + +Based on patch from Cordell Bloor +https://salsa.debian.org/rocm-team/rocblas/-/blob/master/debian/patches/0012-expand-isa-compatibility.patch + +--- a/library/src/handle.cpp ++++ b/library/src/handle.cpp +@@ -21,6 +21,7 @@ + * ************************************************************************ */ + #include "handle.hpp" + #include ++#include + #include + #ifdef WIN32 + #include +@@ -77,6 +78,31 @@ static inline int getActiveArch(int deviceId) + { + hipDeviceProp_t deviceProperties; + hipGetDeviceProperties(&deviceProperties, deviceId); ++ // coerce to compatible arch ++ switch(deviceProperties.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ deviceProperties.gcnArch = 900; ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ deviceProperties.gcnArch = 1010; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ deviceProperties.gcnArch = 1030; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + return deviceProperties.gcnArch; + } + +--- a/library/src/rocblas_auxiliary.cpp ++++ b/library/src/rocblas_auxiliary.cpp +@@ -24,6 +24,7 @@ + #include "logging.hpp" + #include "rocblas-auxiliary.h" + #include ++#include + #include + #include + #include +@@ -1285,6 +1286,31 @@ std::string rocblas_internal_get_arch_name() + hipGetDevice(&deviceId); + hipDeviceProp_t deviceProperties; + hipGetDeviceProperties(&deviceProperties, deviceId); ++ // coerce to compatible arch ++ switch(deviceProperties.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ deviceProperties.gcnArch = 900; ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ deviceProperties.gcnArch = 1010; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ deviceProperties.gcnArch = 1030; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + return ArchName{}(deviceProperties); + } + +--- a/library/src/tensile_host.cpp ++++ b/library/src/tensile_host.cpp +@@ -45,6 +45,7 @@ extern "C" void rocblas_shutdown(); + #include + #include + #include ++#include + #include + #include + #include +@@ -837,6 +838,31 @@ namespace + + hipDeviceProp_t prop; + HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId)); ++ // coerce to compatible arch ++ switch(prop.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ prop.gcnArch = 900; ++ std::strcpy(prop.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ prop.gcnArch = 1010; ++ std::strcpy(prop.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ prop.gcnArch = 1030; ++ std::strcpy(prop.gcnArchName, "gfx1030"); ++ break; ++ } + + m_deviceProp = std::make_shared(prop); + diff --git a/sci-libs/rocBLAS/files/rocBLAS-6.0.2-expand-isa-compatibility.patch b/sci-libs/rocBLAS/files/rocBLAS-6.0.2-expand-isa-compatibility.patch new file mode 100644 index 0000000..ca895c4 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-6.0.2-expand-isa-compatibility.patch @@ -0,0 +1,96 @@ +--- a/library/src/handle.cpp ++++ b/library/src/handle.cpp +@@ -21,6 +21,7 @@ + * ************************************************************************ */ + #include "handle.hpp" + #include ++#include + #include + #ifdef WIN32 + #include +@@ -80,6 +81,20 @@ static Processor getActiveArch(int deviceId) + // strip out xnack/ecc from name + std::string deviceFullString(deviceProperties.gcnArchName); + std::string deviceString = deviceFullString.substr(0, deviceFullString.find(":")); ++ // coerce to compatible arch ++ int gcnArch = deviceString.substr(0, 3) == "gfx" ? std::stoi(deviceString.substr(3)) : 0; ++ switch(gcnArch) ++ { ++ case 902: case 909: case 912: ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1013: ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + + if(deviceString.find("gfx803") != std::string::npos) + { +--- a/library/src/rocblas_auxiliary.cpp ++++ b/library/src/rocblas_auxiliary.cpp +@@ -24,6 +24,7 @@ + #include "logging.hpp" + #include "rocblas-auxiliary.h" + #include ++#include + #include + #include + #include +@@ -1242,6 +1243,20 @@ std::string rocblas_internal_get_arch_name() + hipGetDevice(&deviceId); + hipDeviceProp_t deviceProperties; + hipGetDeviceProperties(&deviceProperties, deviceId); ++ // coerce to compatible arch ++ int gcnArch = strncmp(deviceProperties.gcnArchName, "gfx", 3) == 0 ? std::stoi(deviceProperties.gcnArchName + 3) : 0; ++ switch(gcnArch) ++ { ++ case 902: case 909: case 912: ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1013: ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + return ArchName{}(deviceProperties); + } + +--- a/library/src/tensile_host.cpp ++++ b/library/src/tensile_host.cpp +@@ -45,6 +45,7 @@ extern "C" void rocblas_shutdown(); + #include + #include + #include ++#include + #include + #include + #include +@@ -802,6 +803,23 @@ namespace + std::string deviceFullString(prop.gcnArchName); + std::string deviceString + = deviceFullString.substr(0, deviceFullString.find(":")); ++ // coerce to compatible arch ++ int gcnArch = deviceString.substr(0, 3) == "gfx" ? std::stoi(deviceString.substr(3)) : 0; ++ switch(gcnArch) ++ { ++ case 902: case 909: case 912: ++ std::strcpy(prop.gcnArchName, "gfx900"); ++ deviceString = prop.gcnArchName; ++ break; ++ case 1013: ++ std::strcpy(prop.gcnArchName, "gfx1010"); ++ deviceString = prop.gcnArchName; ++ break; ++ case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: ++ std::strcpy(prop.gcnArchName, "gfx1030"); ++ deviceString = prop.gcnArchName; ++ break; ++ } + m_devicePropMap[deviceString] = std::make_shared(prop); + } + } diff --git a/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch new file mode 100644 index 0000000..4afb077 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch @@ -0,0 +1,19 @@ +diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt +index 4485fee..51eedc9 100644 +--- a/clients/CMakeLists.txt ++++ b/clients/CMakeLists.txt +@@ -140,10 +140,12 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS) + set( BLAS_LIBRARY /usr/local/lib/libblis.a ) + set( BLIS_INCLUDE_DIR /usr/local/include/blis ) + else() +- message( WARNING "Could not find libblis" ) ++ message( FATAL_ERROR "Could not find libblis" ) + endif() + else() +- set( BLAS_LIBRARY "blas -lcblas" ) ++ find_package( CBLAS CONFIG REQUIRED ) ++ set( BLAS_LIBRARY ${CBLAS_LIBRARIES} ) ++ set( BLAS_INCLUDE_DIR ${CBLAS_INCLUDE_DIRS} ) + endif() + else() # WIN32 + file(TO_CMAKE_PATH "C:/Program\ Files/AMD/AOCL-Windows/amd-blis/lib/ILP64/AOCL-LibBlis-Win-MT.lib" AOCL_BLAS_LIBRARY) diff --git a/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch new file mode 100644 index 0000000..39ce71a --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch @@ -0,0 +1,22 @@ +Git should not be a required dependency, as hash is not available for releases. +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -144,17 +144,8 @@ if( BUILD_VERBOSE ) + message( STATUS "\t==>CMAKE_SHARED_LINKER_FLAGS_RELEASE: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" ) + endif( ) + +-find_package(Git REQUIRED) +- +-# Get the git hash of the rocBLAS branch +-execute_process( +- COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD +- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} +- OUTPUT_VARIABLE GIT_HASH_ROCBLAS +- OUTPUT_STRIP_TRAILING_WHITESPACE) +- + #set the rocBLAS commit hash +-set(rocblas_VERSION_COMMIT_ID "${GIT_HASH_ROCBLAS}") ++set(rocblas_VERSION_COMMIT_ID "") + + #set the Tensile commit hash + set(tensile_VERSION_COMMIT_ID "${tensile_tag}") diff --git a/sci-libs/rocBLAS/metadata.xml b/sci-libs/rocBLAS/metadata.xml new file mode 100644 index 0000000..bd93447 --- /dev/null +++ b/sci-libs/rocBLAS/metadata.xml @@ -0,0 +1,27 @@ + + + + + sci@gentoo.org + + + gentoo@holzke.net + Wilfried Holzke + + + xgreenlandforwyy@gmail.com + Yiyang Wu + + + lockalsash@gmail.com + Sv. Lockal + + + Perform rocblas-test to compare the result between rocBLAS and system BLAS. + Build and install rocblas-bench. + Build with hipBLASLt for some non-batched and strided batched problems on gfx12. + + + ROCm/rocBLAS + + diff --git a/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild b/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild new file mode 100644 index 0000000..80644ab --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs/.doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_VERSION=${PV} +inherit cmake docs edo multiprocessing rocm + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +RESTRICT="!test? ( test )" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-build/rocm-cmake-5.3 + dev-util/Tensile:${SLOT} + dev-python/joblib + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + =dev-util/hip-5* + test? ( + virtual/blas + dev-cpp/gtest + llvm-runtimes/openmp + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch + ) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die +} + +src_configure() { + addpredict /dev/random + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DTensile_LOGIC="asm_full" + -DTensile_COMPILER="hipcc" + -DTensile_LIBRARY_FORMAT="msgpack" + -DTensile_CODE_OBJECT_VERSION="default" + -DTensile_ROOT="${EPREFIX}/usr/share/Tensile" + -DBUILD_WITH_TENSILE=ON + -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + -DTensile_CPU_THREADS=$(makeopts_jobs) + -DBUILD_WITH_PIP=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" + export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" + edob ./${PN,,}-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x /usr/$(get_libdir)/rocblas/library/ +} diff --git a/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild b/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild new file mode 100644 index 0000000..e9646e4 --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs/.doxygen" +DOCS_DEPEND="media-gfx/graphviz" +LLVM_COMPAT=( 20 ) +ROCM_VERSION=${PV} + +inherit cmake docs edo multiprocessing rocm llvm-r1 + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test video_cards_amdgpu" +RESTRICT="!test? ( test )" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-build/rocm-cmake-5.3 + video_cards_amdgpu? ( + dev-util/Tensile:${SLOT} + ) + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + dev-util/hip:${SLOT} + test? ( + virtual/blas + dev-cpp/gtest + llvm-runtimes/openmp + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch + ) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die + + # bug 944820: f16c instuctions cause SIGILL on pre-AVX512 CPUs + sed -i -e "s/-mf16c //" clients/benchmarks/CMakeLists.txt \ + clients/gtest/CMakeLists.txt clients/samples/CMakeLists.txt library/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)" + -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_CLIENTS_TESTS="$(usex test)" + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark)" + -DBUILD_WITH_PIP=OFF + ) + + if usex video_cards_amdgpu; then + mycmakeargs+=( + -DTensile_LOGIC="asm_full" + -DTensile_COMPILER="hipcc" + -DTensile_LIBRARY_FORMAT="msgpack" + -DTensile_CODE_OBJECT_VERSION="default" + -DTensile_ROOT="${EPREFIX}/usr/share/Tensile" + -DTensile_CPU_THREADS="$(makeopts_jobs)" + ) + fi + + cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" + export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" + edob "./${PN,,}-test" +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x "/usr/$(get_libdir)/rocblas/library/" +} diff --git a/sci-libs/rocBLAS/rocBLAS-6.3.2.ebuild b/sci-libs/rocBLAS/rocBLAS-6.3.2.ebuild new file mode 100644 index 0000000..57d33d7 --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-6.3.2.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs/.doxygen" +DOCS_DEPEND="media-gfx/graphviz" +LLVM_COMPAT=( 20 ) +ROCM_VERSION=${PV} + +inherit cmake docs edo flag-o-matic multiprocessing rocm llvm-r1 + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCm/rocBLAS" +SRC_URI="https://github.com/ROCm/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark hipblaslt test video_cards_amdgpu" +RESTRICT="!test? ( test )" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-build/rocm-cmake-5.3 + video_cards_amdgpu? ( + dev-util/Tensile:${SLOT} + ) + hipblaslt? ( sci-libs/hipBLASLt:${SLOT} ) + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + dev-util/hip:${SLOT} + test? ( + virtual/blas + dev-cpp/gtest + llvm-runtimes/openmp + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-6.3.0-no-git.patch + "${FILESDIR}"/${PN}-6.3.0-find-cblas.patch +) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)" + -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_CLIENTS_TESTS="$(usex test ON OFF)" + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark ON OFF)" + -DBUILD_WITH_PIP=OFF + -DBUILD_WITH_HIPBLASLT="$(usex hipblaslt ON OFF)" + -DLINK_BLIS=OFF + -Wno-dev + ) + + if usex video_cards_amdgpu; then + mycmakeargs+=( + -DTensile_LOGIC="asm_full" + -DTensile_COMPILER="hipcc" + -DTensile_LIBRARY_FORMAT="msgpack" + -DTensile_CODE_OBJECT_VERSION="default" + -DTensile_ROOT="${EPREFIX}/usr/share/Tensile" + -DTensile_CPU_THREADS="$(makeopts_jobs)" + ) + fi + + cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" + export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" + + # `--gtest_filter=*quick*:*pre_checkin*-*known_bug*` is >1h on 7900XTX + edob ./rocblas-test --yaml rocblas_smoke.yaml +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x "/usr/$(get_libdir)/rocblas/library/" +} diff --git a/sci-libs/rocBLAS/rocBLAS-6.3.3.ebuild b/sci-libs/rocBLAS/rocBLAS-6.3.3.ebuild new file mode 100644 index 0000000..57d33d7 --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-6.3.3.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs/.doxygen" +DOCS_DEPEND="media-gfx/graphviz" +LLVM_COMPAT=( 20 ) +ROCM_VERSION=${PV} + +inherit cmake docs edo flag-o-matic multiprocessing rocm llvm-r1 + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCm/rocBLAS" +SRC_URI="https://github.com/ROCm/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark hipblaslt test video_cards_amdgpu" +RESTRICT="!test? ( test )" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-build/rocm-cmake-5.3 + video_cards_amdgpu? ( + dev-util/Tensile:${SLOT} + ) + hipblaslt? ( sci-libs/hipBLASLt:${SLOT} ) + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + dev-util/hip:${SLOT} + test? ( + virtual/blas + dev-cpp/gtest + llvm-runtimes/openmp + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-6.3.0-no-git.patch + "${FILESDIR}"/${PN}-6.3.0-find-cblas.patch +) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)" + -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_CLIENTS_TESTS="$(usex test ON OFF)" + -DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark ON OFF)" + -DBUILD_WITH_PIP=OFF + -DBUILD_WITH_HIPBLASLT="$(usex hipblaslt ON OFF)" + -DLINK_BLIS=OFF + -Wno-dev + ) + + if usex video_cards_amdgpu; then + mycmakeargs+=( + -DTensile_LOGIC="asm_full" + -DTensile_COMPILER="hipcc" + -DTensile_LIBRARY_FORMAT="msgpack" + -DTensile_CODE_OBJECT_VERSION="default" + -DTensile_ROOT="${EPREFIX}/usr/share/Tensile" + -DTensile_CPU_THREADS="$(makeopts_jobs)" + ) + fi + + cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" + export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" + + # `--gtest_filter=*quick*:*pre_checkin*-*known_bug*` is >1h on 7900XTX + edob ./rocblas-test --yaml rocblas_smoke.yaml +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi + + # Stop llvm-strip from removing .strtab section from *.hsaco files, + # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes + dostrip -x "/usr/$(get_libdir)/rocblas/library/" +} diff --git a/sys-apps/pkgcraft-tools/Manifest b/sys-apps/pkgcraft-tools/Manifest new file mode 100644 index 0000000..102d1e6 --- /dev/null +++ b/sys-apps/pkgcraft-tools/Manifest @@ -0,0 +1 @@ +DIST pkgcraft-tools-0.0.23.tar.xz 31798292 BLAKE2B 04b858acd0b452c60d2149c21026ba991c70a85d8efe5ce444a3cff07ebbfa1c3713da96c70c3f49f660669b219d87897daba6bd9024dff6d3dd6e2f885d9e3e SHA512 0fec5a93a29ef87a651ce8b36421027f9b2668bd93b09437923bf83c37ca21eb579d000aee1bbe176ff00d3e95d0dd95d024d0acd3636b110746de38984e40a7 diff --git a/sys-apps/pkgcraft-tools/metadata.xml b/sys-apps/pkgcraft-tools/metadata.xml new file mode 100644 index 0000000..33c1ad3 --- /dev/null +++ b/sys-apps/pkgcraft-tools/metadata.xml @@ -0,0 +1,11 @@ + + + + + sam@gentoo.org + Sam James + + + pkgcraft/pkgcraft + + diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.23.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.23.ebuild new file mode 100644 index 0000000..9d0bfd1 --- /dev/null +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.23.ebuild @@ -0,0 +1,76 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.82.0" + +inherit cargo edo multiprocessing llvm-r1 shell-completion + +DESCRIPTION="pkgcraft-based tools for Gentoo" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-tools +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test ) " + +QA_FLAGS_IGNORED="usr/bin/pk" + +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( dev-util/cargo-nextest ) +" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_test() { + unset CLICOLOR CLICOLOR_FORCE + + local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)" + + # pkg::env::current_dir is likely sensitive to ebuild env + edo ${CARGO} nextest run $(usev !debug '--release') \ + --color always \ + --all-features \ + --tests \ + -- --skip pkg::env::current_dir +} + +src_install() { + cargo_src_install + + newbashcomp shell/pk.bash pk + dozshcomp shell/_pk + dofishcomp shell/pk.fish +} diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild new file mode 100644 index 0000000..d42b407 --- /dev/null +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild @@ -0,0 +1,76 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +LLVM_COMPAT=( 20 ) +RUST_MIN_VER="1.82.0" + +inherit cargo edo multiprocessing llvm-r1 shell-completion + +DESCRIPTION="pkgcraft-based tools for Gentoo" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-tools +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test ) " + +QA_FLAGS_IGNORED="usr/bin/pk" + +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + test? ( dev-util/cargo-nextest ) +" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_test() { + unset CLICOLOR CLICOLOR_FORCE + + local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)" + + # pkg::env::current_dir is likely sensitive to ebuild env + edo ${CARGO} nextest run $(usev !debug '--release') \ + --color always \ + --all-features \ + --tests \ + -- --skip pkg::env::current_dir +} + +src_install() { + cargo_src_install + + newbashcomp shell/pk.bash pk + dozshcomp shell/_pk + dofishcomp shell/pk.fish +} diff --git a/sys-apps/uutils-findutils/Manifest b/sys-apps/uutils-findutils/Manifest new file mode 100644 index 0000000..085d1eb --- /dev/null +++ b/sys-apps/uutils-findutils/Manifest @@ -0,0 +1,130 @@ +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.12.crate 30769 BLAKE2B 7e1427a8d81ab52f74c5d25209ba2a410575958139ec5e6a94d0a7751c4a177285ece215222b16bffc0fb12b19014e9925e27a988a52e7dfa5139476bec4cf7b SHA512 47396e1617464188e7b4d7c931c5a6fafa918ca7aa39044a5b3dad1b8685ea96829ee87e7b70820bbe2efb35571fb331539f0fb8938d229034a9b9bb60700a70 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.1.crate 24802 BLAKE2B 6304a56c6a9fbaf1bb4d1d177b2315684345dc9d71c35836f9544145364f8d6eb56e25c03076690c594ab7db5914501acb569f6c136952e59c93179ced527fb2 SHA512 5c8fc7d88ffc3a6e78340ffe0f3c2d72e865512030ade4509de9c673eba955c536bb1873dac11f6ba11cc8367fb30c67451ed65d19f81507c9e917c702bfd176 +DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a +DIST anstyle-wincon-3.0.1.crate 11279 BLAKE2B 593de9443b4c612526550285a6c156db26a233815e77a748597c6eea509ae511f41eb8ee736010f8be853695c9f1d94b034a77190e612f0a00bf00385d66ced2 SHA512 75ab14081b09e031ee0f559538976f39092aaeb6f561a56de83d12911cc2b45e28eec21068792c86a61e344021921ab55e7139ca79acec78e7d4a796dfa42a2e +DIST assert_cmd-2.0.16.crate 26554 BLAKE2B fc803af7ca45de94e120c560efb7e1e39ecb706738d292695680f9fe14b2d570f7214dcda37122dbc1227228ba265c6dac7d7afa4fb22178c38b015bc8745828 SHA512 0b9167282d75169b0b1fad0b1401b42884185976ae0dd690851671aedbc1a9af26dd33f3047400eb4a1b5070216acc293aade149aded7e4f86dd5c0ef0e9a6a9 +DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b +DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172 +DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4 +DIST cc-1.0.72.crate 57495 BLAKE2B b2057ca53aacafa063a4eaa907bfb65aa32ce01a74a90b9085c8243a87723cee8ce79e4904f9d205f9d451598ee34495f8879d27c189477ca43bd39b88b5ea2e SHA512 e9a5b283b2a1fee1030009068c1f87291ec1dab7584a0892f27cc7e523c8fdfd5d986281d9aec1a00af706af1e61d7e64c245c74be7b39c8c022ae2d4f87de8d +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.1.1.crate 6009 BLAKE2B 6acfae9a89d3479f7ce1f0b5dbb13bfe27c006b936a96685606a61a06f69d17ab754a8a0d96c54213f758281c2fb32ac74d03a34e0f836dc7e438387955aac37 SHA512 238828445c5b48ca41ff88825af0a1ad30494e423bb6f89b6d5e4d26042afaa1ceb0e32041f7cddd79c3e15c6c82a1ddb9469c4b63a1ac52d4bcc1174900f880 +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST clap-4.5.17.crate 56802 BLAKE2B fcdd23d66ecd27ee3820c4abe681bc997dd6cfd69948e11603aa8c4ca39513d5de901373959328986ef81c046318f240ea87a2f19b38921faf76b6c93d0e4f67 SHA512 69f0fe213007a2e0a564945bf58794b891a345c34747e92ec16877253ff60c1a30fab24031b5f56d6e31ea7b0d8c9dc0c815fd1489b2c0df1e2d24b4a2be6406 +DIST clap_builder-4.5.17.crate 163559 BLAKE2B 10731513f76c64027116ec97aa7dcbfbff74e649c64bd32db1a14ed1ec00e81a3b7c8e3ca478e5f077fa49eae9ae48dca4810190924b9af5dccea9cb0f883b5d SHA512 86411378aefae1eeec1128d797a21697d9470fad7ba2e109e00e8ae20d4da218e909d56a2f7065a4b2651d6c5d76d14a7394d747b2a4313c739abe0c9b046492 +DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036 +DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551 +DIST core-foundation-sys-0.8.3.crate 17519 BLAKE2B 4ac3d9ab16753dd995abe82f158d460d0d22184ab55d260e73b20305cffe4e03427dabfe0c8be968b6c3ecd348be2e17154ded7c9bbd5a95334ff266fe83bbf7 SHA512 a3ba3184cef65dafe8318c4db7e59eb2749dcde7b2370ad20272b0735ded0032daf2de3fd0cf55eb48448a335f5b81e8e745f2a647f9a43bb85946ce714bfd82 +DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb +DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 +DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba +DIST dunce-1.0.4.crate 8034 BLAKE2B e1e7ffbcf1e3632036c03303ab46fc37b2b0a991598790b2dc65d7a61341a78bf555230ccded8fbb87d6288282af3ed2a8641212a0f1fab929bf99298e878b6b SHA512 f57d9c53c177bac8e10a4b56ae421c604085aef0f264b8d6871abb7e1ff713b55f396c5c5f24422763319c504c6ea6a774416af1c2ba23ba7b67b2282f6731f8 +DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d +DIST faccess-0.2.4.crate 7262 BLAKE2B d069c8ea1555563137a9e7fd4e8626b8327f96e7eb1e05f1281e20fd1f283278cfada7eb2a10064bd03d8057561367283bcc16280132f16ad3e9e977027f8150 SHA512 6d3328238dcdad0a310ad33e28ca32e68314c7a1b99b0c88c4bb5b380c5a385ec8deb23bb5e8f6bb2eff957becf0b514c488564eb6bd88d471f6ebd3a1614efd +DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9 +DIST filetime-0.2.25.crate 14940 BLAKE2B 1ffcbad3b2023ba5e9b2d71e279fd8c3564458b28290f3e19bf43b87083e1e3c0e18f191f6dc67540baccb83075df453950230089f243e6276e413321cceedc7 SHA512 90b4f3c4df29a3456c393f78f636d70f2615cba748a972dc9b937c2fcbbf4544f5b0d28c6c8fcfed5d5eda026ac670afffec18ab7d7127cee9afa2717146ccf2 +DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8 +DIST futures-0.3.21.crate 49935 BLAKE2B 290dee4f7662a473d82350092c0b12a8270f6d6f5eae9e4f7e06a6abf59e2d9f2d33e5e62e2682fcf6e109d62f651cb37cc467cff2b20f909c72b5fee2cb7683 SHA512 723fc190e4480fd812a852656fa6509a188f0d06adaa1c22ef24ec4afa7688a1c5d3961e5747f0812d073fc672b0e084af6ad5e5c3fac3ea5829466f993ad865 +DIST futures-channel-0.3.21.crate 31961 BLAKE2B e99f37cdeac080c8bad2203fd24b48eb62918166104ad6cc531c8f69d3e0c3a5898ca27f19693e2c143c9049a7d244f9af49c16fecba12233f9ff3f1d01e35b0 SHA512 1c10398657949b53b6df196cc44d8e4b3acf53b4d216be6f5f631d8d4b500f5c344e2cc7d5a5642ced6c5480511884611be6d429f56a0ede4a716b9c5770cb76 +DIST futures-core-0.3.21.crate 14601 BLAKE2B 73cf4c422202a34cc9916509939fab35c79093a6c1aeb99e35763727ebf7d3a06ae203684d75cc74183126f0cd95dec1530f136ffa2a0e69354c554883e3af1f SHA512 b60e7892436ae28fd2240f17816f934f6caeac663d67b8efc7d519ebb4b0bd921f0b732b6176bd4b472d2fbe346d39a37ba394401e15afa93af8294ceea90976 +DIST futures-executor-0.3.21.crate 17306 BLAKE2B fd20c7f0b4996cc10e3b3d30c33630a42eb363ac7893af4ae5c476775f8e4f3724ac110648252b6cfb3d652d352fbb5833f2647d262a4c9ae999de1fa69340a3 SHA512 597732f96b45ce21f7a0b149f62cbdc54a80010bfa5421ab0ef7345c501c197e1c8fe109fa2d1c813d5c2e872b4670e0fbd96e2572cc3e9d2646b68f41c78147 +DIST futures-io-0.3.21.crate 8902 BLAKE2B e673342d3fae38e5a6a20c426cb1127353b4f15459b4c27965566f7f2f13f0773ac6ec850b0d679bea37d68219edf6cdf9d1d0eed37665f4ff51c6060b81466c SHA512 dde0b79c4ba208b4c92c699457efbd515d331ab612e7b7df735b3b8f2ab79c012b1ba329ddaf488d68c69dbd119aa231b833b81cbcc0cc2f55c656f68dc22bd8 +DIST futures-sink-0.3.21.crate 7843 BLAKE2B e4b2ac98e89063b23f5e278cad1df6b1b8f96d4f0df0cb035ce964b91e97f88c7a1a4942ec4010cb4da5f4a3552487eac048a6bfcef637bf1f83398d7f38758e SHA512 9bc0198495b5a1b3ed25fcf7b053a235bba0a43a4226bf085d9027537a57add1686ef61179bf2a2d4189945cb5a05a8d64ba6e6e647c56245666d51e138d113f +DIST futures-task-0.3.21.crate 11815 BLAKE2B ec3f2e2c025e9a482d86912099e68722099c22c0024669906036504d0e70998cb9cb5fd4074928d21847334611ccfcbe6d3e2f686c4d4d7d4436f1e7f501b8fb SHA512 8f3b27865d8c7a290471903297e3c0b52caebfaa55550a4738d7915008b893fce67c7d9ae5c5bd03f2a42ee72a96aa0245c4bee70fc06977b3493eb81bca2033 +DIST futures-util-0.3.21.crate 153768 BLAKE2B b3bc5632bbc7616d33f74361d68f83e0cb051125475101c84212ea2bd03307e927cd125e2f93eeb0f84946cc45d3964a590dcbfcfff88d3ce1970f127e71aed3 SHA512 ff952fb74a54e793de943e3aee2ac771357bf9f1aa5de89af128868c46a6b44e414fc4ea97f2d9b201ff7ff41023e119f1adf90d314343ff53ab987c3e07f5d4 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST iana-time-zone-0.1.47.crate 16974 BLAKE2B 841e380fd81def3eb5af424215c36caa9b48adf2368d9da57dd562ea4f806fc5ed1abd0c118eebb532264eb3ab5d8670049cfe20eada40cad7bef4718245c968 SHA512 c1817555149f05ae45f7e54046b79c732f80f5af382680d626dd3e970167092cdc176b259941d3c1533518bef511a92ed24c3aa538897e9d082984684d99f55b +DIST js-sys-0.3.59.crate 78849 BLAKE2B 2dd42294717ddf922f4d329b3da1acefe1e34c5d9c735132752bab183ea186a879a8218d201238146c20374e724f9219d2c28dca8c530105a18eca81ba86fe39 SHA512 317a0cbce8ccad741dfac48a09e326460bda68a58225bd8d2eb50ff50a7355016c399660e996b328bdbb77d12bc5107d4c2908b11441183f3b3d2f45eedbfd00 +DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST linux-raw-sys-0.4.12.crate 1465800 BLAKE2B 2f70a344c427093fd55732b68239f771cf6563edfe2db4b2f50cdbc904dfc7565b30bf06454b91482eaeea787b9cd4214979665bfa32f3c1c586551333cf4d2e SHA512 d9564d02d5f41356478066592e438629adb3275df0e5a1a44030cc99bf8856b8af64f18f27371f84122a828b34712aae16495a1a16050fbdbece6d95e9cdace9 +DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d +DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc +DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 +DIST nix-0.28.0.crate 311086 BLAKE2B a07023566f04896fdb3ef8b2a1ae8dd64adaa5eb48217c58588e1b41733642e03e0637350c0ee83ac47e663c02b24d5668be751f8d199aa773de6df8b2213894 SHA512 73c0c94b360f4fc81ff07a13692b2a5b5ceda3a7203bdf1e526facabd36cdf160f0ae8fa479e31a4e4237c09bde11e9bf821aa496311cac8614f9c5626f8d69a +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea +DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e +DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST onig-6.4.0.crate 32616 BLAKE2B eca949c47870f260310c69302c6a0a60b9329f7324281433170b0f6fde80f91d49267307825652830217cf44b6a77a741f526a3bca63a12fd8f28791c14a0d5c SHA512 5d388d35eaeb4ba4876b5a683010e4e38c7c54abaf15c900681a7c9ed199b6b7ff414aa1d6246153546680eab28505cfda359c3d5df5b9fd3a5cdbfba35953bf +DIST onig_sys-69.8.1.crate 638216 BLAKE2B 08d5f61f4047cfc841ee9e1881deeee49478bdead87483595e9c81c722e475d137b8cf5e1caad2965ea411d3211738a6848896128b5fa1f727a0a175ac217d05 SHA512 26a7dec69abe1535d575e7db63448abd898d363ef42352605e7b7d046b5abac5733e3cc05b7d442ce67db9366dc96d4a7a82a7f486d3b9af6d298b49b0baa864 +DIST os_display-0.1.3.crate 16800 BLAKE2B 2d3a46bee2aade195bad0080178cfba0c5a5eb178211bceebc6e3c894ba1644667fb1713a6df9b0dbc2e34810bc6c9140641f4f2dad784845e7d1ad38a74b4a9 SHA512 2a413edc3237743a3dbca9645a8f813992ebbd57a9e7b1209a121d6914756bc0ddd4f3e11a1a5e55fb861f44deed4462a1e52dfe96e9f2f1d612c18b1062a165 +DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c +DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032 +DIST pin-project-lite-0.2.9.crate 27713 BLAKE2B d6985b5add432fb6287d1b0c9fb0cc91a195f82c5a748a9ea430e4ba884717ec7b16d730b5ea62de5b2bfead1771da2d115b3776e12e605f70f2538f374a28fa SHA512 cef0b77233adca712db1183f780732ea577cf1b27c2643de221d54c837c75ce749f907e24a967be7474812c7682cba613a3fc5d553a9578a1b80569da0e562e4 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pkg-config-0.3.24.crate 16489 BLAKE2B d0bd099bcc39928b6758c22b14291f2dc4f4452c0837aeed8c3ff6086cdcf29518806e4f3f379804c998d752b717a26d5c0054c071c5f4c224a3e03cc6a3ee51 SHA512 be22c609b3d5a9a38bab1d30792cff397cc908f1c53fb2da68a9a7d1258e53ef64c1c5b26d840b0ed1d35b307c98ffb499c82e5796e88be0a6ecc0c6f3b5dbfb +DIST predicates-3.1.2.crate 23986 BLAKE2B db4209b491f82a1ef6147158fdf86c0bd8a059e61c4a1922dccba257e461be36e31d4a03440c2b80b3c7c49d612dec81fb76f648bd5837c481d93cc9ac5ede65 SHA512 50896189f39842ef424aebc12c2633112fda83eba1bdeaa3e6f398db1e28dca0cc7838948f25e67f6fceede1a91a1b0ede5d4dc4edac6da752e48c7a07bbe3ae +DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702 +DIST predicates-tree-1.0.1.crate 6355 BLAKE2B b79f756d9f1822a037c05a65f90cf01592ec6ba83bde2c44aa6fc8a3d476f9e4e3d0ac13afdcd3936b0d43244e8e7ab1eeaf0223cecc3f7941af96e44c45366f SHA512 f97f6e05b3edc1faf82931ab47541b3e459066e0f5181f77a4ab885e10bdce43f71021bf2c848993125a4feef13c3290a312a74ad1d2b4a2cb55fe7d24492a19 +DIST pretty_assertions-1.4.0.crate 78846 BLAKE2B 68583c49f81ab0cf5b90f6de10ef3aae9b525288fec25f9d006f2eed0877c0fa742dad5f878fc78233b54c0cd32dda7ac1f7161bfb475288d8858e8e40aa9e1f SHA512 f76d38c787e91b3739272e3bebeb9763d312b85a43cda5e1311ba8d6b0e4da1ef25bd66208e772b1cf56a34553ee560482b5ad19c5290608b2aaf9c0d0f0e995 +DIST proc-macro2-1.0.60.crate 44160 BLAKE2B 3cca40d5ffa85607212ea8da63995b35b1d59bf077ad1f708bb08f20a3f3d477e934205008984bf2e947e6e53689192df1d437772c75148e122e0f1f4fe43455 SHA512 2a3d33d2e42e3b7edac7a099dcaf83c43ad47852217424c2bcf8ed5b894292975ef5a11df01ebb3479971e94d5b032b9d043c28bed476d6f7087fb9297fbaac0 +DIST quote-1.0.28.crate 28382 BLAKE2B 9fb16c3bb2a7fec3d8138ffec1f58277061f4a643c9051e1f6525f9e347ed9de41a3797eb3140a6dd828526eb4114c1f7ca562151dc933f338d64b175ed35d9f SHA512 846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735 +DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d +DIST redox_syscall-0.5.3.crate 23830 BLAKE2B 0a38235ec277144f0c3e7bcb1d273c7f357d85aef33dbd06328ef16bab7df0a07b523431590899ea58d55e8e1d84c32392478530200cca3a9483e8a47b29e233 SHA512 777d1208004b7756887d6c5745ea408972670e59430e1d299d01a463ae41b98e0920ee77aefef8755fc949d4799dca679afaaae9c1a7d060f76f69af5b90427e +DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST rustix-0.38.31.crate 375443 BLAKE2B 9e8ba6bb4eb4fdf0bacfbc719124f745f383abbabfeb161bff9908d1948942d358f46191377b90c180a2793a88bb01be20dab556cfabc8da8efa2533af8e460b SHA512 593e0395a7bc5bba949e6f2a5ed9e39ae13140970a598def32ab7d6d91b4ec100752fb05abda407ee2e5e420d950b19e607f963f3974213637423c751df75960 +DIST same-file-1.0.4.crate 8678 BLAKE2B a46a2572f18a9adb3a23c8142c78d55757f04e10ddf68568f6af810a6e30a4b212bbf21c453ccd9b2e5ea7c42c6216505a4119fc6f19645c28e5434e3e8d7847 SHA512 bfb961dc7a31d5dd3be748d6ac609006ba71e0a6f61ec06c5f96a651e1ad1e768873b7cc2a10d9a52a6c670e7b56bf015df2974158001cb3138e2108d3160fea +DIST scc-2.1.0.crate 122739 BLAKE2B 12508415de1d856cac46ac042ff8ec738fdf234dc34b54b848cb5964a29d12f6ae705fa47e467ae72b4dac3289ab1168490050aaa25cc9e992a077f4f4c5f4a3 SHA512 8ac3754d63e350d43404bcaf1ef79657194e4188fd026f0f504196b5f27552dd380614966bb75d43282d57f0d1bc050d5417abd7774353088eeecc84201d5bdd +DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d +DIST sdd-0.2.0.crate 23494 BLAKE2B 4f104f7dbbe4db9d91a61e44993292c9ca2b0df05f466c6da2f31b1c4b70cd51dd96622298b75f6cdb3a45ad110f07b45eef9f398572052010918460359f36b4 SHA512 851040ba93361673ffc193aef83b0b467f46d1c1d8df2230fcb8a31fa1b0264db95a7df78f4e61f53a2fa9d77547eac450e711247b1cef9490ebe8d1bdb14d55 +DIST serde-1.0.147.crate 76697 BLAKE2B 90fb2df19ad225c96a30cf88dea82a5785bb110f256b882cadef8d1e09f91dd610637a104c2e7629847a14d4a422f89f7ae324c29845788aefb0a6bb51503886 SHA512 d993bd86c61bba602faf7286ff21d36c5d8c83176c5bbb203cb284a3f89dbc8a1ca893a09eb2657f9e98ccb5c5287f44aac06d2e60db96e78d99ee40bd1fe1b0 +DIST serial_test-3.1.1.crate 8660 BLAKE2B c53e2253af200a40abeba2e9ceffe24b12abb128a123370eff1deb0f430c2ba511e0f59d0d22e541e7993e0e5751665be6457de025fb39b43edb72db4cac963e SHA512 6c339aa658625ecb561f000247df185ff98eb3d9d117fc32c3c57f83fb5d02c4e45fba53d9f53457f87f2e7e635f581d5c4fde48cff6971fe17619307b487aea +DIST serial_test_derive-3.1.1.crate 6881 BLAKE2B 8dcadae7d44ecb2f4ca7290d5e1749e0ea2b21462b0020fc7d751f7d254a18afdb99456b4d5cdc35c73c9f5f5112654ecd7e06cb3afdf384d93e48430d11dcbc SHA512 7ea928622fd1c8b0e9103815e181ef179a4bac91b1b7de8937b4c97d7f552b22615129df29598d7415e6d735ac08f5fdd7d09f4393861714354bf47bcd6dba09 +DIST slab-0.4.6.crate 16067 BLAKE2B 0aa3d8914479baf2409ce83644f8eca93f49b426333f1b82392b779fd79cdc04a0a33bc1aa5e34e8248df9ebd88e742b3e870716adf1787bcb7aa5b9caee307c SHA512 788837db210be63579eccf12d96fcaa3280c7515bedebe3040a71ed27d013430815ebc74acc06280daf22c0b16871bad210981d32615c26cb1da344b4b0d9488 +DIST smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c +DIST strsim-0.11.0.crate 13710 BLAKE2B bdc748ffab302c8e1d3412663e300c399ba13bfc0e15b07101a680394204af2df8897ba784dbe57b95c4fa9e732439d0f5aabb090b1b1c81f066bfa125919419 SHA512 ef4165dabaf8cbdd6c58420043cff9c0d1f4bc3ed53de5973b654bd71ac7d462fecaa6e1b750fbcbb8e19b35f6e6b73641a17656b20f5562b6ba7d84e69de226 +DIST syn-2.0.18.crate 240648 BLAKE2B 1e16f0936faf2656ee74cf9c75bdaec19589a4309d68b0cab37438061cfa29c66a1dcd624ad9247d63c85b3c1fdd8a484a65509d672cc6471f3c93f3ecce30d2 SHA512 2642eb35d52022c6d21bb893843beb9b737a267f620e1f5a6c9096d434fd1fab05fe007c8d8b6f1fe00a25007d6f55dbd4ec620b9f5c1154659bf34c246334dd +DIST tempfile-3.12.0.crate 34423 BLAKE2B a8b84f54a54be636f5b69791ca567e8b692d6a8485ef37e5a8340d26b32b1b0f9f8e9fcd9a2da90ec2fbd39c281d364dfc5723d06892832edb79ea5cf45d069c SHA512 1a27513548060984be894e6f8fc215831e4b2054b2244c6188bee76c477c001f294c762f2f4a14488c58c04e5d1473806d589c7bba1eaa2cc02d97656709be66 +DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681 +DIST treeline-0.1.0.crate 3855 BLAKE2B 3347bee24c686a6b6890f85b60429d36b14f2738e6a5e5adcd493d099b097a8087f7c61f4c155fd8b3af3982a97da31740353b4d036ae451ed8944a9b0feaf75 SHA512 37a7c7e95855fdf0fafe5b529eed6c6cfc641da799bc6738a5649a9a0c3db2ef3e63d692862a987bc19263f33b6df2e8ae71b49fe30160d6d470cbb804511824 +DIST unicode-ident-1.0.9.crate 41978 BLAKE2B 4e78cefb4e7d7f173f1826a5ab6c8ffde386fea67cf3227bd22e6a6e65d3348dc53c9438e6bde9af06fb5e04b0beac866209d2426e7f04cd10b2435db85df7e3 SHA512 4d8cffe699c6f15ee82ab5f5a73421a6bb8b1a476237aefefa6e932c45c30683a4fb015f138bce99d7cb27a27fb7972909c828e77daef091da84ec162315625a +DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4 +DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050 +DIST uucore-0.0.27.crate 107517 BLAKE2B ef4e6c1377021507090df456a9c946b84f28afac4d209aaefae6a6e00281a3fe9115caa2ad335f490ebd99d78d4a6edf654579729ea5ef2c8da9f34a56f1e063 SHA512 2f4366b9f7be62e22872c81e56682c1fa420fbef7091c92acc70bf57d12d328345e0cc5a77c0e96a222f3cd2a357d427f41ba412ad7bca43f0f374a70abaeca4 +DIST uucore_procs-0.0.20.crate 3663 BLAKE2B 77beff8c1e854e8f2a7ef5fd8bb7d312c9407ec81e5c7718330108afd41f28288f5158a7dc962481ec9d5113bd37be7f60cc58143e64c0ae39fd8bc29f5ca7c2 SHA512 04d8fbdacd81d9ba348dc0a8e5a24de762e398f7b730eb101678d7828665573d752cb3e5772fd812e97cf26f883b479223fd2d06ae4d5180969366cf39929091 +DIST uuhelp_parser-0.0.20.crate 2155 BLAKE2B dd7acd2b49c344b72d50ec990937dacb497f7592a08f2cc4513db95b0dad13441da1e866db7c1360b7af4fb54a73ac418d9d24dfbef7989b0d17d91cae7a4c73 SHA512 69aa877af71984248ee44c4fe2c2046877c3f213797847d23ebf95371fcda5841e36f8b7bc9bba44a036c6dbf9cc9ef126b4f2fb63cc558010016b33993ddb33 +DIST uutils-findutils-0.7.0.tar.gz 100780 BLAKE2B a6d19244f6ef1d07de359bd46b39337b9fe411ca9b21617e21eb868b50441a1cad1d5bb1ac2ac39a142ac743e0cca845afe53d7f1297441c3c4ad2160815902e SHA512 c8c17285e7709c0278cc8bef88cb62bc436609a5991f8d4877e8f13b1fbff05728a73273e19f60af9da2229b807bad00c6d41a7f115696d23695d988d73caae7 +DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasm-bindgen-0.2.91.crate 182689 BLAKE2B 4ee85709546462be3da2a6f1caa02448fa903c7411eb264894aac402979afae4a0d7f3dbb486266b05d8caa911893ae9bfe9921cd36e03eb5147a8d75d6c17d2 SHA512 80e91e5b6094eddadbafd842a4a1b3284de7bb51bbd795e8716a0adac354dc14ceee0593d7c33090de06aadc8bc61b8eeab8851d066cc4ef4661e64adff1988a +DIST wasm-bindgen-backend-0.2.91.crate 28345 BLAKE2B 912a0471ac64d61f18d1c1749a3614ab70d08f330fd90b903ce5ef51f18288c7d4ef153f1d8100671c02de8fc499928cf925bdab4da4f0352789268dfae87457 SHA512 7d3c8db4503982fae9c86620c964e8f9a4ce542a79c56f21d9f82d26bb9418e78b7fa9922901663bf78516d58652dc3255ef48d1e1f042d8a3c69210f5804204 +DIST wasm-bindgen-macro-0.2.91.crate 13898 BLAKE2B dda8dd5d77dc57324b633f056805bf7892c39c5e70257b6d048c2f8cf885f7306f91f3f17de1b63dc740db66d52fe2250ba981077e03dcc731dcf7c80c047c9d SHA512 6b05e0a2657e7e4f313089787b52cc7f59f5a94be6f716ba007fcbc3bf7c38561225ba3f39245d779e28dd30630b2d4c6be12baa6ea1e6cb47e562ccff48372f +DIST wasm-bindgen-macro-support-0.2.91.crate 20091 BLAKE2B 337b1b2a9e9e9c1350267df0d9f041291a847cf4faa3bcd6fcc8a96e66fda54685da72f6e64e57cde0d4609409ebdc7851e96781f599470f8b0545018bdc2166 SHA512 1277682520d88cb9529adbc054590a732a8890debe33d1d64ebce332c66c02f84065c0f643fa45c01de8b80534b2daf8333979601323b3ed50dc49553233c39c +DIST wasm-bindgen-shared-0.2.91.crate 7267 BLAKE2B a9dca2db84a33c650a7abbb6dc552bc4bab1446e66aace751d3709d2c63b878b127748a83cb174aae3ff8c5f5ec017b97623e5e9294e6ebf92d669efc618c357 SHA512 97072a8bdfadde104f6e9e760e1ac5ec665fdaff38a93a0bf601c95e652b35403e58a99fa8c0fefea6e47b38fb97f2e1ffcf52736f9ab890b0b9632efb26cb4b +DIST wild-2.2.1.crate 8080 BLAKE2B 489a2a625aa8091fdef9f4d49747db7816d82c01384672bd12ff9e4c906f3418fa5a5fa8951b625f6d22a9c1977c523f1b54d7c4252c241413ef6f63d327cb29 SHA512 8f92b83cb2568fed7841ad372111138d9ea5806c21a0affaecc639f0556ab879ca42fe205fe3c1e55a1b5c1c4fb0b705a5566b06bad5c119a1d41df9c01ed2c9 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68 +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396 +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2 diff --git a/sys-apps/uutils-findutils/metadata.xml b/sys-apps/uutils-findutils/metadata.xml new file mode 100644 index 0000000..a43d82b --- /dev/null +++ b/sys-apps/uutils-findutils/metadata.xml @@ -0,0 +1,15 @@ + + + + + lu_zero@gentoo.org + Luca Barbato + + + sam@gentoo.org + Sam James + + + uutils/findutils + + diff --git a/sys-block/thin-provisioning-tools/Manifest b/sys-block/thin-provisioning-tools/Manifest new file mode 100644 index 0000000..307ffa9 --- /dev/null +++ b/sys-block/thin-provisioning-tools/Manifest @@ -0,0 +1,223 @@ +DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 +DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.4.crate 13998 BLAKE2B fb501700855709e53438461c2f4b48d869613e7bb3bb700db8bd0d95082876d3782dc2cfe3ce110bb4a206994de56afe0e90fe89f9ccd07c60fe1c652123ba59 SHA512 671c6f57106198bcfc2f9000aacba98fabacfadfce2329dfe8d0e0a2af9404da483d7a844ca2b08e1fc0249371f574c13d0082c9f7a4ed90ff581308257a52d3 +DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.79.crate 44931 BLAKE2B 9270f04c6fbbecb535e3081f4275c3df28f6a893c1dfc0a9f7c009994de2deb8ebced04fe5e6f62931b33c3707f4fbfb0c3b28da1a611b413d40d27149d1fd2f SHA512 ecd6fb1367d494df18c0e274b336a133f3acf7b6a5487d20bdd06e08c7f1f729877086a0966e998221daff120504fadd2be2dc4219ed621f81b0a50c2bbc2011 +DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a +DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9 +DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 +DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 +DIST bindgen-0.69.4.crate 221092 BLAKE2B 69ed55a5827bfe850f589e39bc6e2f4445e20363002c765c5475007b75e4d81cac3d9df358505c63bd6a48300ae4988507abf78dd734bb98b33525bf9212237b SHA512 99530060708690f2ce0b87b97c9ce2998ee968df193137f3c9bf4fa66836814e2ae74c7e0b3057dcff1da7d2c4ea38157e21143c5117be35e94b878c0a427a34 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST bytemuck-1.14.0.crate 44933 BLAKE2B afd34f2becc41484e7bf71fb4a9f0925870a4f2d9d59daff9e91bada000462baeced4314e469a508d4413a8f2442d83a5f3082193653403fbee1340ab5c3f6c5 SHA512 f072a97e5de93228435bb362363ac1af0738b7927832b02a837f44eb21b0b089589b61e73004a06c5e4d4601e66bb42e67b9f707bbf13429a40b6250a0f05ae5 +DIST bytemuck-1.16.1.crate 48321 BLAKE2B ae8525a829a2c981200dfbc17de7f2a4e14fc6df71328c1a62b27dfa7488fdf634b4a6f45e65104bc45b828a91d3d0a70d06e9dd4c61dcba18db09204a22a6f2 SHA512 ba9e5eaae4d4d5ffd654da0359cdb5e85ad2d111b26a3b5147bae69519963ae3118ebe2afd34e92305cad3b3e573cd5aaf175c3bf81e94126f65ca3c9320b9dd +DIST bytemuck-1.16.3.crate 49539 BLAKE2B 5e9a4c9e5bb1ec5398670edad455fa54b08955b48390d784c29c7ba153db4d0fb25c4d14f445ed28c443379a761354b1d9eb8c9c6e2a2930f5fb3f9085ad45b2 SHA512 17bf35d082c8009ce6ae24ae681715d8fd303f728f9bb2a0702096fd8635b5e7294eeea5375217a8276ba6136a16f94eb670c5d5baba9020674dc958173342f8 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8 +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-4.4.16.crate 55534 BLAKE2B 6d0b65f2c0ca0b8ad023abdaafcf2de397443188f0774c8b6ef6704231a81136476fdf41272e810ccf2a9af68b945c4346dc78c4e10467502527ecbaecb3ac76 SHA512 d3cb37f54bc424220d91c6cd5a3fb04cf116db55c7371356484e52483abb289970f6a0948eda32d54e2dc47c666c533c0e2f3391f47f439f5b73a68fd0b38064 +DIST clap-4.5.13.crate 56267 BLAKE2B 233f2fb4405ee2ff669220214c13b6c94858dbc375c8bf7eb83d7488690d74ebd8e1514679e02d1354b493b6e37fd7ed4b2ae32065d115a7287014aece90c2af SHA512 dd1a42ad3bf39463966c2ef76f3ec2dc5a847160bcd73de1718bd6706790f1ace183e3c9e6ee8d06f6ddea4b9bf30c884fa97d36b44f30dac26a85a52d9a0025 +DIST clap-4.5.9.crate 56348 BLAKE2B e2c60cc6dacc6d6c7d3718ae3748ed5f681722ef060c6b2c4ec1262da4ff4c3b235df3127946816ad61aa03d3b98c55739877dd14d1182a7d4c37daf6e1e349b SHA512 6eae38d69f99fdcc7e2a1f799b4ae770a00dc8556def97a10d578426f6770e0d86fc32816aac2dc5a59c147dbd7501eb9f7b94953a2342cf74b1034459705e88 +DIST clap_builder-4.4.16.crate 163503 BLAKE2B 9e8501c1cb7a3658b817a088ed4e2a94acbdd05d24fa67ac80693ca3fe75b36f07b69d3c44c2e5a892910228b7bfb86e9fc9443f45e06b5290999cfd4a310539 SHA512 0c627bef5bfe57e89c13eaf31e3c44ce730de8c5097d16113ad95cd8e3f65493ef9064bb962c9a617b2cdb537e7eb1cb3a303dd1779a7350539ea17d6facc16b +DIST clap_builder-4.5.13.crate 164093 BLAKE2B f938635782ba9c1a675bc15a73a36ee7f1cbee501dd10be6f267364fde125c75474e5abe226e0eaf0c9fb224887c65bbc1be4641ca093282d3042f9980f4ab94 SHA512 ab7a29b29a15d22701550fc590ca6ec256edf03828e2b9a87072734a8f66b6e5a1843ac2ee7856c62472960af4e8f40840f840adb78ce5afca918f333e0f623f +DIST clap_builder-4.5.9.crate 164088 BLAKE2B 47021738e0d3e946360ddbc144923daadf7151129e8548607ea3688b75f9a71ba676a31dc543a7258981fd3e561359fc0c5ed5fb6a921420a679e5d7f072c5d1 SHA512 5f9e297036a86bc33daeb76a8d906e14c58899c460ab66c934b7db0309ed5a7f63bb10d644f84e692fbb84081c20102ae97e33cb39e9ed71bea920d4e5e6aac7 +DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e +DIST clap_lex-0.7.1.crate 12766 BLAKE2B e0e3a1a4a65bf9df3c21753f9298a7461046e6b34c7a8d26521efc551ef3511a7d202f25ebdddf285ff68c4073364f48cf739ff0bda32f41d4fd0c87c4cf02fb SHA512 4cdede5eb9fa527567e9f3f94fd8fe7e1022d9e9236e78d30b3068befbaadedd778b5464f800e74bf187c44af9df582365f4d41a0113f8ab0fe9abc936171fc2 +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 +DIST crc32c-0.6.4.crate 9661 BLAKE2B 96eb9b418833dd398e880e81a7afbf2670939b1ea6599bc03e8893e7b5a6b26ef6fcd15a2314e5a4dc50003bc5a7b239f7b4f9670859f4fbb720640d87a4b623 SHA512 5f537463596a57c081f1e28e68c22f1839607b676ed763b2edecaf8b780d234a4fa52d7432262231150ca3f48bc5b6ce5ad2af6f84d8c51e8cb4d10538c2531b +DIST crc32c-0.6.8.crate 9647 BLAKE2B 91f007df201128e3f0470d3b681322ffa7dce1ef99323fd830d20a8e863562878e77d66acb65d576dba536d3be56fbe9ac99d22cf84bf9bdf4c441d66d068037 SHA512 928319ea908ca28ef4039e7fbde86dce2ed870887e0cd1116a7d016aa7e533f5f36d11a89fd78cccf1f50c4f1ff20b8f6fd5e3711bbb84c2146686a9d351fad8 +DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357 +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST data-encoding-2.5.0.crate 20632 BLAKE2B 16ea08dd12f09f2e6f8ba2910b3db07d4e7c9916e6a70d41420ef1a0e5393284b49787c47af0868bceb7f5d3f1fadf203f5a547dc8cb97713d5225dc9181fdef SHA512 b1de8bcfd7cfbfb988091fdb550eb98dfa5739ff58c4b789663e5db0d539c9acf145ccd72d87f7e1cdefd09d5771772d131d2b2e2589ac8f0bc6972c801ee0ae +DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c +DIST devicemapper-0.34.3.crate 68045 BLAKE2B 4e80d88f5ab4a44fd07b222e554a285f2f2686debe82d292b10ba51a8503e52eafa9bc1b9bccbfa0e6670072905f2708f1388ec3f85b55e1f0fc1eba64afdd1b SHA512 f7fb45f5e4829b0a86af9c76dfde724b74211942bfad1348b8fc322eeea39ce311eef009d4136d59d2e7292f1a844634f3493c13371b510ade3cf9ea23f4f55d +DIST devicemapper-sys-0.3.0.crate 7225 BLAKE2B 8d962dc46408580ddf1822cfce77cd102d3b9ca35311e1630630dae0f49e3f69107bff6086f0d038037e9b75f997ed54574de4415612cf1acb159a1b158a71d3 SHA512 4851be561f3735aab457ba575a5c46eaf5bd03aadc16bc5236c2e94286a62fc67639c7ef55466535cf243a7c7719e5b2ccf282db7641998df22ad2d40700f0ba +DIST downcast-0.11.0.crate 5976 BLAKE2B 4ca0e66dbd8dbc86920d4184de8b37ab41954cb1560c7727334c990b97ad9544b098f7ce50759d10cac8b9cb955893805aed3bac5849c8b44a965e24d2ac7653 SHA512 11b037a09829e3e93eabff69f02b608725e6e348a191b1b6c8bb044b8d820a6ebf46eaea2f8bf5eb1c156f20d3e97be9b581e1b5fccebbfe76d94157d6bccd53 +DIST duct-0.13.7.crate 30055 BLAKE2B f1259e9818a7c2f1df3dc387be3837a987e0246dacac84d3ac3443a0c6870b6cb4dab36d380ef8d04db47545655ef4def8c713c62f6e86f2b995fa3b69a16b6f SHA512 b6e524144360b61b5c134d40aec409664388e88ada241443d152c5f7ef8795535ba243cc792c881557412bf75c2ba73c84e2f620eaf7d4668a15ba6bc274b1e7 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177 +DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 +DIST env_filter-0.1.2.crate 13327 BLAKE2B 96f888b30ec8b40032e588f8ac73e9fe23340af71d5ec69cd8b4dc2bcc272ecd64d1d3ab54bc57e7a71a44cbac497ee7ad3df52930dfe3c7ba7dd129df290b73 SHA512 b1f21a5d4aadfd940bde3e53935c04da48e48cd4f825cedaa83968a08244722aa4e92afb9fd2fdd228412754f040f7bb68f24e05c0bf9bf57783aec042808606 +DIST env_logger-0.11.5.crate 30683 BLAKE2B 9dd2b461be5c5cb3411ebba8bcdb53a78fff28c54fafd21a0f8c3fe578ebc3882ed5df63a5ef9adf62bce00fb6360de895457baf75fd2ed1a6730429478c32cc SHA512 e2ab1f117227ebf8840daaff971c2533830c0e481797cdcaa055a4506ffef78fc0830bfa13295275c604273d494278d43440b987132f97ed6bc1cf705e05cd8a +DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049 +DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST exitcode-1.1.2.crate 6538 BLAKE2B 3015eb8bf6658336cfe43b4cc59ca95d8fff5380dfa2bb2a3086005b0dde5e6a704c6b62e027bb5c0d6e6103bb5dec4ab4c869ef454361f224d013c267bf4a78 SHA512 fa31817e2bfdafe64faaaa6b32573e01e2ca0db24c6c88c81f43d84a9db66d19db842b61cbd89b8f6e199aad531a1dc0053b2d4166e0f9196f275fe715f28fc3 +DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9 +DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 +DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab +DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284 +DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578 +DIST flate2-1.0.31.crate 108176 BLAKE2B 2b0afbeec9ef08e54bfc572d7a386052d519d5bdeb220a316b67409403d229425580e33991f0a98536e6468f0e59ca87b59ff2d00425749336d4e68906d5d787 SHA512 b211254e15b38663f080552598d61d6766d6e7abc45cbac8fbdb5af65b833d2d3fbc00b5748ee12d4fc71726ab84dda9da20b6916121735c7b1c6c9d7a09fa61 +DIST fragile-2.0.0.crate 14668 BLAKE2B 2e589b312d7409a1a550a676303b9b2adf2e28b0d4cd02c7fb22b48a88d1f88a04e55c4405078e2c43b13ccada890a33bcacfe179abd12236c23f219d275c4df SHA512 a48fee7c13ad800142a9ef1f355b2200b904ad9bf97b3601e310bad2b6ad90ea235b9704964c54be1d9c415c9c95fbc5f49e8ba5d7c6ee3488573f3404912608 +DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a +DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c +DIST indicatif-0.17.7.crate 63108 BLAKE2B 665bc2077207cac6ca2071d9e6ead76abb30d5f7c209d7b4a2ff5a1fcba566b331467239bd9168082839c961acf5a0522ae4c899aec141ccc649025b2eeeacc3 SHA512 412955eec523e961a20bb48f9921128004e723b405c8f1bb73abfaeb4f532ac6f883794fe6c8738a40c2e0a400a6ebf94ee17d89f7cdc98d9d0f8611d84a369e +DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf +DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407 +DIST instant-0.1.13.crate 6305 BLAKE2B 83a2c479e21e789ca9795f66116ebc55481a42afb21f4c0ec0551edf07781901a28978667e92b01355b43e0e1a7ffcd3cc37b5501a7521da78f4f352e586c9fd SHA512 b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9 +DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 +DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68 +DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c +DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 +DIST libloading-0.8.5.crate 28902 BLAKE2B a0fca8f8876092e874964b3dcbaacd417451704fc1d687669a95a0b9df22ccda73a754118ac0bd706a7c7d86e4eceb2ad012e20e341d71548b34ea8d629bbfdf SHA512 f332884fa75cf210460f4678d45091345b23469c09301614c476e95bc54163afd6d4f098a34f9e0d529fa1ec63892395b50957598070ff327743e4c3b0871074 +DIST libudev-sys-0.1.4.crate 6177 BLAKE2B c513b5cd68fc60a7a33ba281e4fc4f9a5896946aeb1fe31abb8af22d279c39c3d781fd34109f98fd010fe8aa817b9d91726887f0ee8bf0f66a3bf313b01c9ff3 SHA512 185bd84a729a5dda6fb274584c7a731652418da9435d844870a9d09662918c9230287f4ad002273599d0a3e9709a36ae06d59a6686dfba978fb7cd1c51bbc2c7 +DIST linux-raw-sys-0.4.12.crate 1465800 BLAKE2B 2f70a344c427093fd55732b68239f771cf6563edfe2db4b2f50cdbc904dfc7565b30bf06454b91482eaeea787b9cd4214979665bfa32f3c1c586551333cf4d2e SHA512 d9564d02d5f41356478066592e438629adb3275df0e5a1a44030cc99bf8856b8af64f18f27371f84122a828b34712aae16495a1a16050fbdbece6d95e9cdace9 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473 +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c +DIST miniz_oxide-0.7.4.crate 56119 BLAKE2B 68facfec9ff405bebe99f52bcf3aac6788f1b5eef313ca393e2a15e1158bf294003cbe31efea4c793e644e8ab4e00ef67d38f7d32849ab6f01a8e19d31c30221 SHA512 482bf02d7bfd25bd8abe5e5959132677202d8c5dc014b9b0b64fbdc204be1b8431867095c140a1183dd1ca59f6ba871a355422fbd148ce34d62960cad2b7a978 +DIST mockall-0.12.1.crate 22845 BLAKE2B b2299c6060b609732b041c66f58437e1a52228016ecef33f9d2d6a9e017b86f35079ef69ec7bf511d4fdec309c60bb4dd9cb2570c7a3e079a37366c5c1a0877f SHA512 8681eb1b1ae2fa00bd2b73269a0b493361d0003da4080da79ff047692c75c34359621923b06906046218acddecb1fd49186fb7b4e752c70657dc9becb8f20c6f +DIST mockall-0.13.0.crate 22819 BLAKE2B 1589e2daf2be54c92b5b5a907c713b30f15b56befe9fb7420536c5c1ec705fbb795f24ea64f7abe465f3ff2cff586850ca30879af76331d9948eab4e57121326 SHA512 cafd57bc600896be2f0c414ed5ce874a33fe9cf4e13dd08196455f67c6f37e6b6a7ae716abc72088f55c0dd4b8454cc8e086f8a5e5ce087f0084edaad592f44c +DIST mockall_derive-0.12.1.crate 45330 BLAKE2B 6593becbb7eb3393a8f05ca4d5d6fa8ed9d0ff00c1b53a218b39889a6f8e14259e29334f36b0fa926610296d5f46f17e627284cecf8dcd3689334d589078b394 SHA512 5a99f5f9cc0bb1383edc3d2eebfabbe520436154e39cc4a4556f03826493ba888a54127f40ec70df66cf9c83262cecae3ffab03de9cbdac2716c431e7ccd39b5 +DIST mockall_derive-0.13.0.crate 47268 BLAKE2B f6f5d9eeb7e8e4c88d47747f35ebf15e1dd85b0db86e91cdc14890ccc50ab6d38cfd6df951860cd740fbe5790830505fbd388a1b4e4a6e2554b591f073e2dbef SHA512 611002863080a137e0966d5be2dbd347ca2b1143d504e971a65c3a6c8120fc2d5eada3fee1e27a34055a0298a263c9c29918c1e14b7300a1bf50271b00bd68cb +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST num-derive-0.4.1.crate 14840 BLAKE2B 9dbacc6cf946aed6f765fd70ad52e7b6ef036a30cdf7df39afbd8dc8657cb4cfc8954727fff04dd053d46c4f3ed513217d24914f3611c96abcf2eae83992be2d SHA512 ea7bcb94e83698609d055981ac5f112e9b18edc87a767c0ad77d31bfb6fdd0d552f5a23934e2956bff56777e9460c08ea05a5ac636bcc6d45512e4c330260d30 +DIST num-derive-0.4.2.crate 14709 BLAKE2B be4abc3c51647f2d4ebe0c0619948cdc994c6ef808d768dd2b9274410716f524ec73c75440f7a780e4871f33055c81f800b0171e4b7a4e2214da5a3007393dab SHA512 55b951470a07dbce489ee43e1540056123d3eb7b5240903cd348951b81ef5aa5b2b1db311d1219bec8ad191373d0079bf40861e3f45380f8d8132f39d33b4f4c +DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df +DIST numtoa-0.1.0.crate 8999 BLAKE2B 6a8cbf17458227fa87bdd6a35404e09afc092a1ea45d68c6c035e08a9d344fdb356b1bc7b52239dd6354ed9094e9338ccac599542bd7f0caf167ab8d17ad5fa7 SHA512 41b5c774048592c5867fba217c85d4ece4540e0f3ab0eea7dd1a6af340ba46dae42bbca62ea7fe3afdb258660f39a3d3082264c99dea67d3d1ae178d00a01354 +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST os_pipe-1.1.5.crate 11430 BLAKE2B 45abc371ddd363d193817a339f9e1894ec6fd275b9c9d190283347bb023ec7686e3ca6a5f2bf09cd7ee6abb8843ae52410c203af2310bf3e35c280c5b9874ea5 SHA512 d862484e9a0594f31e45531fac9a892fe247c1003a9c365a28083c0b5132719fe6fcd7ed996716a4baddf1f8ec4857d62d05663d3fd7ecee5802005c55368048 +DIST os_pipe-1.2.0.crate 10615 BLAKE2B e00c9a1d668253ee8b759ead12708d75b180abd415444fa995c18107317ad9465c11af1f6be67dd8f64bc7d289a0e12096e9593af99c1052aca644efc5d83107 SHA512 77662eabc70f034882da4662c6f9def1796e6564f0965beae961998ed29d47ddae8ef3b8c9e612b46ee6ab907db49a6259f8d586156ea88f4e0431fa306211eb +DIST os_pipe-1.2.1.crate 10691 BLAKE2B 563b108a8ce21dc4406a35bd2776b156ec77053f9449ba92acb81b9194a6df58a72a1fbbcbfe0b8d88c3fd3b4f8b1244a4d6737916f8e4050c6cd3eff7a8b130 SHA512 3a184359185495e8a931d3e875c5ebdc822e6fc76ecb9fb4264409f68d8a145406001339bdc00585f3ed7d9ecc74fc89f662fa8e08f4ed764a258302a198d4ff +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c +DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2 +DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST predicates-3.0.4.crate 23240 BLAKE2B ff0b96b85668dd24e8368479d82210b38f591f67a0793a080670e02b649516be8acda4ae5f80e98113a2030bfc7ec71cffe53a0fea4fb65f98b3a2fc1f6daece SHA512 b2dbfa83760004abce72f2ef576d7ec079c4ea909120a8fe1ec6b87da0fcc2b48406cd6857ed16e131281b4775a6f33ae94f975e381794fd9a98a2c0e11e1f75 +DIST predicates-3.1.0.crate 23090 BLAKE2B 6c51fa390f3335501df604afda47ff1d2a69322d928a1412bcc4829f16c3ff5d345ae52f54d797c9698b0eb7b26495e594d8c21f04fdd77c8119ad4635184adb SHA512 1ee38c715b4b55038497a4a4996e12de91d356d53173d3a034d6a1f56859cb3a4a61a82d016fbefdd6ff291519097ce9cef950547d3d437035cd7093d965dbf0 +DIST predicates-3.1.2.crate 23986 BLAKE2B db4209b491f82a1ef6147158fdf86c0bd8a059e61c4a1922dccba257e461be36e31d4a03440c2b80b3c7c49d612dec81fb76f648bd5837c481d93cc9ac5ede65 SHA512 50896189f39842ef424aebc12c2633112fda83eba1bdeaa3e6f398db1e28dca0cc7838948f25e67f6fceede1a91a1b0ede5d4dc4edac6da752e48c7a07bbe3ae +DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702 +DIST predicates-core-1.0.8.crate 8552 BLAKE2B 774ed04fea09335ae9b4e87a237871f954b85e54df369c5be60977381e8cb50f11aa869e5ee41e57e4f3283003a9da67bdbe3460420ac8620f18fd81e33f0597 SHA512 8cfd010b70aa694620d6c573bd8ddc50ea16ba08f6c737902ba6697307af4510b9298ffcc3068b45bdc6430103db6fb4499783c64044d87d023bea46d45d0f7c +DIST predicates-tree-1.0.11.crate 8393 BLAKE2B a8ed762ab18f3cd72ed749cb3db3d756dfd2d3875b0f1c68a99e39ed4ac5c7000086606c21a834ea0a81db961ceab659a4648435d9eaf1bf3d7f29d92410efb6 SHA512 e1b08010f9cab65c75d82cc44cfdf64d92127acf6a72ee0ce1533e5d7d8027ccab912e1c499b7b78508b5e3cb20dc03df94de3dd520ae13736906a5f374b10cd +DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3 +DIST proc-macro2-1.0.76.crate 45660 BLAKE2B 40b538d9d9fec10b9e4b147ce0a86efb10feedf9e0452e5568e8ad7d2b88a201ca6ffd2cd62d8815a1ee72d557fe6280120a913868c3d868c1235686742cd8b8 SHA512 2ea7ade475171166489ab3e745e8c526e49c7521bc39b1bfec6dd2fd0807fd3cc5579235f77534be855f9ecab481205e77e66b14ebb22e66d2c3cff842567247 +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quick-xml-0.31.0.crate 172236 BLAKE2B b83c7f485a30576027a4ae77aa23cd6284942d786f0f0a14faafdfecff646371ba15133b3ba90f820183c8537c8ac47ad3e1e7deaad65e56761bc662be406026 SHA512 9b1f4f9c32694ccb244938a9a4e9373c3902314afb6af5d2f6b1be55e5ec63fee5cf1085f8f32161570cc10fdd96f3375c7564b1d884bb152542b86593f175de +DIST quick-xml-0.36.0.crate 183905 BLAKE2B 645e89e714ac5058fbd19b4b2ed75aa02688dfaf220befb8828a25776833d4e40f5f546161a46f38196341cfa68ad1cefeec81d0653ab9cf5e163dee5eb0a365 SHA512 7b9548f9baa5aee3323c34ef539400fbc4b2b95433ec5aba2d1b0a488615cd80c1a9bfc2b32ca4b320518a4cc9093bdde1c3bcece3fb5debd0d80ee682a47eb0 +DIST quick-xml-0.36.1.crate 185352 BLAKE2B 0ad31fb7210bb9c71ee480d400d10c01e02fdc509ccc275305cdabe29aa7d3816ffc7854371e493d3b4b28d43452bf7ef393f7ba4ca556d311cc83f7887ee802 SHA512 21233a50b5ec45db623d4043e03962a19f10cae36fcf3074c32eec3c007a59310ab884352b6c880632535164745fbbf2985d27cd549d50b509f97395a0d48248 +DIST quickcheck-1.0.3.crate 28069 BLAKE2B 5f0ddc8e22fec55e879745a95024abaa03d7bcfc6453286eec072663b36a5d6ae247b3c1622c4743e1ca9b7c4bb21da0d095aa5247f32b0bedc393f92cda6bc0 SHA512 07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a +DIST quickcheck_macros-1.0.0.crate 5275 BLAKE2B 1681fbc5a476c627da442d601d9f24dfeaa147dbad7c8d6989ad73cf5a204963c29b2b5bf68513ba74c322f74ef5ceea92594953e9034921a2c8132150252779 SHA512 f7de86f76a53fc36063f10f5405979677a2e48a96d13c439a4aa98e89ec7f3c3cae324b8dd789a5236630110ac9a1763f28361442cca08d1a1ef458c7bfadd55 +DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2 +DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 +DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 +DIST rangemap-1.4.0.crate 45931 BLAKE2B 64e6c9baa55ab2a4c68cacb7d33a060c582ab3e7f9ecc433bee5c3ca4e76b8f86bf9fbdaedaa0c5ec2af600d234d2f949d764799439eb494aa6163e36bd0caf7 SHA512 15faa3f26c38f395388f596cf3a655669cd09a84ae1a17e61c40dd62e5331c6bede2bec09ec6961f870d2f46e8cad7fea70635546721cac3015482fc264974ee +DIST rangemap-1.5.1.crate 57091 BLAKE2B 2fde0bcf53cad7c90bd39f6bc85f9d0913f9d772b93259b563ccff7cf08ff22df6050e7838122c8ce1ffbd87185f2613bcc1d175dcec4439835095133c8bbef7 SHA512 a78cc008bee3468604df91e18e1a03a6d1701c1ed96f4dca5995a97474f3d335bd6208f0ab2e6c616f501d39da86bc30a3f3913ffbf4796be45a7a9ad1b1f160 +DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27 +DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d +DIST redox_termios-0.1.3.crate 3240 BLAKE2B 3aa7360c9e982faf433b527605fab4cc01f74eac5f1f4698b5c7f43e5a7645fcddb39bd639c8f6935fb82db5a065630ee788fd8b111cca80be15db1a08d0b3fe SHA512 a221afea8eb1c7efe848e270a6ad5b65a97af945b4f64d3aa5346f5a61a9daaac1993446ddd78c1923b798e1659518856d7260d9d30651d91897850b0a1950d8 +DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3 +DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb +DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 +DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8 +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728 +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST retain_mut-0.1.7.crate 3945 BLAKE2B 475a46e0e3df8a55305b0d14d6da595874a3c3bceefc4a4d4feabb5ae245d48190bbc7ec325499d2aafb4ddfcc0906789bee89689fdbac261a92b66bf33cd493 SHA512 c90538becfbac41952a0d5ea1ba0dfda4ef6fc8988ae60080c0ac32e3abfcb0cd674be7e7c221debd916060c6447ac59ef8b3cd93fd9d558228e70d0dacfbcb9 +DIST retry-2.0.0.crate 6688 BLAKE2B c3b2b9c67c13f927dfe533b85cdacf01d9a1d85eefe13bb964606d9f0892817a48ccfbc814de25b7d1fe120b5a7b4ced8438d2e323186053c6213d33bc36d1dc SHA512 e3e0f0e4a1c0b728edcb503f42a7bf828544f74152c4ac74f1acfe26aa5ade60fa901e4d7b38989651708cd23f28d837a2846c9e4d27d0ec0cb2772c8810d8cd +DIST rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz 27249 BLAKE2B 5a2206986662979875c6f8ed5c9cd19465bd22bef1ba55bc92d67bc539271a3af29993333951377953de2f4f8c8f5343c2def3350f1e94ead572a7b9b09159e8 SHA512 40d5b942737e099735bcacdaedb101e44c39dc1f8e1488550d3a039562b5b2bd78edaff42b0ba9731f038f0555a0480152ad1c33bf31693892ba5733a39bd946 +DIST roaring-0.10.2.crate 91257 BLAKE2B 1c24f76bb038451f8239065ffe278625a4bfc5e46580e91a2c2c02b584d73f34c5aa5905ca3ddaa99b040fb2e679d93c3c21962d814af1a6d76d33920c1d282f SHA512 a13b84d9a2dfd05f0410f247abab816980c8b83504f40ec1e043335445ef7115a0d7bb00e3dfd22fbe8616e71187649bf27123388e6fc812451cd64c1c6cead2 +DIST roaring-0.10.6.crate 93933 BLAKE2B 0dea5947fd525d910a1617607ff2b2917b851859eb6a8b448da3b786bc975fdffcf76e6d59ca04fe84438897f84b0272a6dc09351d76a6458acaed212d4d93e5 SHA512 0e62b9ca7243fb9bb02fd59e728cc8a45c151c94209486dc04113c3306011b8395f0c59141814dd97805b8cf6063ebb322a9f03e53b6fd43249199b2d014774e +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db +DIST rustix-0.38.30.crate 374744 BLAKE2B 63ad9fe2e131259a008abdf7a19735d2e2401e62cceae7b449ec7cb6025e82f8d275c24caba5c23c19d9c37de9b3b9263e96db3eea6bba569eb6146f5b3dd62f SHA512 6ffcdc274f97e7dad9fb0a23fe948ec4041fff6ce915204fb46adc31b55646a5fd0ff3d8d6483673da2cc55044ba53af4d6e48ebeb8622e7ac027a5d390231de +DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f +DIST safemem-0.3.3.crate 7778 BLAKE2B 6ebc0e234054919687e8a369bc30ca6b007d0e4f8147157ba1a90c290b7f0b490e5c21a6d4406671e26ac073f9e4e06a2bc9b1f21eb152b05c4022a3a4ef3793 SHA512 2e4852ca91160f9f1e764b75145d794726a5f6c162cc99ecbf9cae20474a06cb3a0dfc245b895c51342240f6875423010b33e36d038b8b419a37e4820a9caf72 +DIST semver-1.0.21.crate 30445 BLAKE2B 1c779c25576723ee7e44e7c831eacc5dc6bb33cbf051bd0748f688573e01595d05808cdef4ae48a6423df15e474cea58a0664ad7fa5cad490a61f89473f426d7 SHA512 bc3ceb11f2b729be086120c06ca2cefc34c5141d2d4af64279b0868456894eb9097b234b326249f2aa83d8b99086fcac4c5b7ef4a1e14b1198ae808fde245c35 +DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec +DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f +DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e +DIST shared_child-1.0.0.crate 8939 BLAKE2B dd7aa5bc4f87cab26cd0cd382fa00f42ae45ab6944e3367e355d19fd1007ded068642a35941e0cecc100120bcb1ea7d07d91bc36227261e8207b87c53de87a17 SHA512 d0e16cc7253271e6468659db0d7344c2d75772dd3428f686c49ce34bfea6ba8fa010b1ba83375241bf019e77c842001c6e1ab5096af54af03586e05c3f8fc476 +DIST shared_child-1.0.1.crate 8967 BLAKE2B ff47cb9e567415976817eaa8ad7a229570036ff09214083746861eef76df7c897fee06e9ca1bec0b16e07cd6f9d7e0e6253a550e66be8dce65604f3681433158 SHA512 3596285e36724fefcbfcd8c877fd66e2179dbc47ad7ddf601ed793ed74df871eaccf15184f8355f3e355aa64583d6757872d9777864347d36922cc40b731c82a +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325 +DIST syn-2.0.70.crate 266388 BLAKE2B 3141299d952bef20423d72ef0ffc232492342a975452aebdc69b724c56cf3620cafb14c583b1a49dab59a195d1e5231368b478cf67004daeb82f1421e6e28808 SHA512 41685481a841a1a32a35e8a11ebb804289fefd5481e98bb446e194f9d574f2ca18214471800e1259f08f25cc3c91b927d311ad22d839046600772ff6cdd0dead +DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89 +DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39 +DIST tempfile-3.11.0.crate 34153 BLAKE2B 3a89580e05600ff2ef5637d2ed76ad8f1a769f6dae40cbd23f7bc2cb9d0807d03713ce1571df54c866c8fd9a4fb073990e4e98cc8ffee33aa4d8343c2d39733c SHA512 47d4c48c4f90d116a2f7d5ebf29ea623fb0a0fbfb1192aaaa53a83218ac910b6c836d6d4d8233b07d06e14de70fbf30d243152b7ac22a03d180905c53b6ad9e6 +DIST tempfile-3.9.0.crate 32182 BLAKE2B 4e802990988aff3ab5173bd96dbd906651a8df46b2619e6a500a3b9e7f4a3cd01dc7ee977791343f7875afdc4793a845000bb363d8c1a6599aeb6b1efcce5d56 SHA512 04e06c966bfa7a1567e7185ebd5c2876b96e46e36af14931bf0eba63795cd20d1c3427b6709a4cab2a68b8d289fdabd5537a50e5407a76e3a9fa0dcc7d3ce6d7 +DIST termion-1.5.6.crate 22677 BLAKE2B b918dc82bfa370bb9662bace34211bc7afa03a042dbd25f4456a7e3859521d4f32ab755780e58070f29eb7903f3b4f8129eb9447cda953b9190f9df3b7eb3aea SHA512 228b6fa7e2f280d6bfc7cef77e7a1d0d8f597178e66af0bde1b1fb6553857b511ba8a6786165815aac6d8a082fd37191f4ea35a47f1e1182f7f2c6086eb34a8c +DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 +DIST thin-provisioning-tools-0.9.0.tar.gz 500998 BLAKE2B ac269fb6dfd1baf1572da27582ac2cd763b07aaac130a9467d05581e7a0ba1309d7dbf4c6095407111667e57af2e8183318d558ed23853f9c84b9c151c0878d9 SHA512 e1796fb3948847d72ca8247cae58017507c0a847a00201b93668eeb8fbfea4107c4c2affa5c211c149798a89b10474e83d2bd61a5545a668299be97aed591e0f +DIST thin-provisioning-tools-1.0.10.tar.gz 397068 BLAKE2B 2dabfe6d64ed806aec8e253902b0465b11105263971839cb2b95cad0d22ce120894a0db0fdb6a34b884509cd52c2f09012ca400104a30b15a1256758bf554808 SHA512 76ff45c6e7df3e1c0b8d7812f8e879879fbacc36949fd5e073e92200caad0005005e2c28de2b2c29eec046379d26b2fff07d9dec41a543d9b039fb27aaf2e105 +DIST thin-provisioning-tools-1.0.13.tar.gz 409361 BLAKE2B c8ff8417a299556b6ebae570fd22c6819489a4f32a9a0d5349632310cfa95339ee64c5fb21ef1d892e0bf31f3e4c48efe61505e85195ea8c25aef6fd619cdf0a SHA512 2857efacbe1192b767b10e39d3578fe0b201c49e7069cb19c2552508936346260ba3b1f55cd4c101ef2bb3911a546474bc4739a139ef4d9b0b5edf9710fc59c0 +DIST thin-provisioning-tools-1.1.0.tar.gz 418825 BLAKE2B 8bd959bb1d5c70feca306ec41450c34c4da830ca7e68d3d3c632971323e492f9e4fbc63e718c05c50caeb64bfe91fe59306275179852f82bfb397fefb87d0709 SHA512 8cf3953743334b5a34504695757fa2de5a5fb5bdb8c7aed859995154fc004f52c3ef041558d307a2309c2de8dcdcbd8a0537bd3408fd78c7ff2f641f28944c1e +DIST thiserror-1.0.56.crate 20592 BLAKE2B e98c8bba8d21342c981646e88b72a7cbc146c695a200aae3e076b55948791cc51a29e8818d64451b17233ed4d095d0ef63ba4fb07502f4ffde5af738b8629c37 SHA512 6b7c856745256d6ef9e7ab2ea0027f9c1ed2c75ed5b075068af57cf706abfd835fd4552d9ec7578bece1f820086828c5dec85a9cbada409569838cdc9d63936c +DIST thiserror-1.0.61.crate 21264 BLAKE2B 97337830507c009dbb4cad84cdfc02bc097b9d39d0af2fdecfaa63f0c12229e60727244fa4e44c2d54daee67bf8b4e8492d94a5de55d1a90b8eeab8c0d082e80 SHA512 9c08b868eaa47178ee60733aaeeda60dc46d58d2b9c15985ba3dcae4923e8edf02b97556df52f508753b0ff52782f6ca3227e9ef6343066e5d5d3a89e03f3f15 +DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753 +DIST thiserror-impl-1.0.56.crate 15367 BLAKE2B 6fad787eb1e2c0f25fee7bef160be794fb8000a0aa292ec0d2d66d7a4d1fcb226c3e2e690ff6a61ba2d8704208014eea84044dba27523d4b2c26d2f7d4ba64d5 SHA512 da66f4674cf699083f7142f3a60c1c9334767b4de3690b4c7af460ffda787fab2089f5bca231e92b6e71724d46fe7dbdcaa19073f5d8100838536d10971efbde +DIST thiserror-impl-1.0.61.crate 15786 BLAKE2B d63773424aa047c6eed8a6c9bcc8dfcee9841a2d4fdf6fc2c117695c09359371931722198b2e0b2bae32b0c54b6275f964e679b78b8bef1c365ca33aa41562c9 SHA512 b43bd2ba6b751b777e2fc78aac92a3e662a1876f704625c4e894019fc68a6b7628b9c3b7ddfbd2cb15fe6fdc0ff679ff94b0c47e2660a40919000ad2fe1cfeec +DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102 +DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0 +DIST tui-0.19.0.crate 141279 BLAKE2B 55eb71dc524f45c3154f8af4024ccce33816d0c30aa28b3708a4991602892e5980df7f59b47d6c2cfe39fc90d07d7a0409693c37564b5d0d2f2f3a48e9e17c91 SHA512 b90497d06181ca74ad0a976ed57bfd6e6495e6fc96651ee96fe9e326ebf773b6627d87cae07aec26d17800a4274624ad3e835a86c37258c51077c86e667078a8 +DIST udev-0.7.0.crate 17980 BLAKE2B ef62bfc3bebdea9fbc30d8c0de6989b0310da2b7efa65345e991b5ac85d39578a5cc9bf97558786f09806c790eae4a99ca7be29d35b8793a92c71bed07a9b91a SHA512 87aa3182c028911b23c6820408879f901dd674ff6fe95c8382ecdec3d4da9f3e19dc03b2435c72e7cf299af083d5de9a6b83a84a75de4c2483c97ea9c1950393 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b +DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef +DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe +DIST unicode-width-0.1.13.crate 457228 BLAKE2B 757c4da5fa090369a26130b08440c2348f1cd1c0dfbb6770dd75b65eba797eaa65f5d683f0c2862cced06124d46a89b4825af0d990f6adc2df8709b8ef291665 SHA512 9781d6dab2c6343e8c28ec66b50cb4293261bb2114e122fa80ad2facdb23020f5b621c38030193b918669e58adf143808e5ab4c507c18beb6dc61e97b2e296f4 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1 +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671 +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0 +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb diff --git a/sys-block/thin-provisioning-tools/files/0.9.0-remove-boost_iostreams.patch b/sys-block/thin-provisioning-tools/files/0.9.0-remove-boost_iostreams.patch new file mode 100644 index 0000000..87a1b4e --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/0.9.0-remove-boost_iostreams.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -173,7 +173,7 @@ + CXXFLAGS+=@CXX_STRERROR_FLAG@ + CXXFLAGS+=@LFS_FLAGS@ + INCLUDES+=-I$(TOP_BUILDDIR) -I$(TOP_DIR) -I$(TOP_DIR)/thin-provisioning +-LIBS:=-laio -lexpat -lboost_iostreams -ldl ++LIBS:=-laio -lexpat -ldl + + ifeq ("@DEVTOOLS@", "yes") + LIBS+=-lncurses diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch new file mode 100644 index 0000000..df0831f --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch @@ -0,0 +1,34 @@ +--- thin-provisioning-tools-0.7.0/Makefile.in ++++ thin-provisioning-tools-0.7.0/Makefile.in +@@ -142,9 +142,9 @@ + + TOP_DIR:=@top_srcdir@ + TOP_BUILDDIR:=@top_builddir@ +-CFLAGS+=-g -Wall -O3 -fPIC ++CFLAGS+=-fPIC + CFLAGS+=@LFS_FLAGS@ +-CXXFLAGS+=-g -Wall -fPIC -fno-strict-aliasing -std=c++11 ++CXXFLAGS+=-fPIC -fno-strict-aliasing -std=c++11 + + ifeq ("@DEVTOOLS@", "yes") + CXXFLAGS+=-DDEV_TOOLS +--- thin-provisioning-tools-0.7.0/unit-tests/Makefile.in ++++ thin-provisioning-tools-0.7.0/unit-tests/Makefile.in +@@ -25,7 +25,7 @@ + -Wno-unused-local-typedefs + + GMOCK_LIBS=\ +- -Llib -lpdata -lgmock -lpthread -laio ++ -Llib -lpdata -lgmock -lpthread -laio -lgtest + + GMOCK_DEPS=\ + $(wildcard $(GMOCK_DIR)/googlemock/include/*.h) \ +@@ -83,7 +83,7 @@ + sed 's,\([^ :]*\)\.o[ :]*,\1.o \1.gmo $* : Makefile ,g' < $*.$$$$ > $*.d; \ + $(RM) $*.$$$$ + +-unit-tests/unit_tests: $(TEST_OBJECTS) lib/libgmock.a lib/libpdata.a ++unit-tests/unit_tests: $(TEST_OBJECTS) lib/libpdata.a + @echo " [LD] $<" + $(V)g++ $(CXXFLAGS) $(LDFLAGS) -o $@ $(TEST_OBJECTS) $(LIBS) $(GMOCK_LIBS) $(LIBEXPAT) + diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-boost-gtest.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-boost-gtest.patch new file mode 100644 index 0000000..ae9288d --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-boost-gtest.patch @@ -0,0 +1,622 @@ +Bug: https://bugs.gentoo.org/911775 + +--- a/base/base64.cc ++++ b/base/base64.cc +@@ -68,13 +68,13 @@ + throw std::runtime_error("internal error, in split"); + } + +- optional char_to_index(char c) { ++ boost::optional char_to_index(char c) { + // FIXME: very slow + for (unsigned i = 0; i < 64; i++) + if (table_[i] == c) +- return optional(i); ++ return boost::optional(i); + +- return optional(); ++ return boost::optional(); + } + + decoded_or_error success(vector const &decoded) { +@@ -92,7 +92,7 @@ + } + + decoded_or_error decode_quad(char c1, char c2, char c3, char c4) { +- typedef optional oi; ++ typedef boost::optional oi; + unsigned char d1, d2, d3; + vector decoded; + +--- a/base/run.h ++++ b/base/run.h +@@ -1,7 +1,7 @@ + #ifndef BASE_DATA_RANGE_H + #define BASE_DATA_RANGE_H + +-#include ++#include + #include + + //---------------------------------------------------------------- +--- a/block-cache/copier.cc ++++ b/block-cache/copier.cc +@@ -90,19 +90,19 @@ + copier::wait_complete() + { + if (complete_.empty()) { +- return optional(); ++ return boost::optional(); + + } else { + auto op = complete_.front(); + complete_.pop_front(); +- return optional(op); ++ return boost::optional(op); + } + } + + void + copier::wait_(unsigned µ) + { +- optional mp; ++ boost::optional mp; + + if (!pending()) + return; +--- a/block-cache/io_engine.cc ++++ b/block-cache/io_engine.cc +@@ -125,13 +125,13 @@ + return r == 1; + } + +-optional ++boost::optional + aio_engine::wait() + { + return wait_(NULL); + } + +-optional ++boost::optional + aio_engine::wait(unsigned µsec) + { + timespec start = micro_to_ts(microsec); +@@ -156,7 +156,7 @@ + } + + if (r == 0) { +- return optional(); ++ return boost::optional(); + } + + iocb *cb = reinterpret_cast(event.obj); +@@ -164,19 +164,19 @@ + + if (event.res == cb->u.c.nbytes) { + cbs_.free(cb); +- return optional(make_pair(true, context)); ++ return boost::optional(make_pair(true, context)); + + } else if (static_cast(event.res) < 0) { + cbs_.free(cb); +- return optional(make_pair(false, context)); ++ return boost::optional(make_pair(false, context)); + + } else { + cbs_.free(cb); +- return optional(make_pair(false, context)); ++ return boost::optional(make_pair(false, context)); + } + + // shouldn't get here +- return optional(make_pair(false, 0)); ++ return boost::optional(make_pair(false, 0)); + } + + struct timespec +--- a/caching/cache_restore.cc ++++ b/caching/cache_restore.cc +@@ -40,8 +40,8 @@ + override_version(1) { + } + +- optional input; +- optional output; ++ boost::optional input; ++ boost::optional output; + + uint32_t metadata_version; + bool clean_shutdown; +@@ -154,11 +154,11 @@ + return 0; + + case 'i': +- fs.input = optional(string(optarg)); ++ fs.input = boost::optional(string(optarg)); + break; + + case 'o': +- fs.output = optional(string(optarg)); ++ fs.output = boost::optional(string(optarg)); + break; + + case 'q': +--- a/caching/cache_writeback.cc ++++ b/caching/cache_writeback.cc +@@ -150,7 +150,7 @@ + } + + void check_for_completed_copies(bool block = false) { +- optional mop; ++ boost::optional mop; + + do { + if (block) +--- a/era/era_invalidate.cc ++++ b/era/era_invalidate.cc +@@ -27,7 +27,7 @@ + } + + bool metadata_snapshot_; +- optional era_threshold_; ++ boost::optional era_threshold_; + }; + + //-------------------------------- +@@ -88,7 +88,7 @@ + walk_writeset_tree(md.tm_, *md.writeset_tree_, v, dv); + } + +- void mark_blocks_since(metadata const &md, optional const &threshold, set &result) { ++ void mark_blocks_since(metadata const &md, boost::optional const &threshold, set &result) { + if (!threshold) + // Can't get here, just putting in to pacify the compiler + throw std::runtime_error("threshold not set"); +--- a/era/era_restore.cc ++++ b/era/era_restore.cc +@@ -28,8 +28,8 @@ + : quiet(false) { + } + +- optional input; +- optional output; ++ boost::optional input; ++ boost::optional output; + bool quiet; + }; + +@@ -99,11 +99,11 @@ + return 0; + + case 'i': +- fs.input = optional(string(optarg)); ++ fs.input = boost::optional(string(optarg)); + break; + + case 'o': +- fs.output = optional(string(optarg)); ++ fs.output = boost::optional(string(optarg)); + break; + + case 'q': +--- a/Makefile.in ++++ b/Makefile.in +@@ -162,7 +162,7 @@ + TOP_BUILDDIR:=@top_builddir@ + CFLAGS+=-fPIC + CFLAGS+=@LFS_FLAGS@ +-CXXFLAGS+=-fPIC -fno-strict-aliasing -std=c++11 ++CXXFLAGS+=-fPIC -fno-strict-aliasing + + ifeq ("@DEVTOOLS@", "yes") + CXXFLAGS+=-DDEV_TOOLS +--- a/persistent-data/hex_dump.h ++++ b/persistent-data/hex_dump.h +@@ -19,6 +19,7 @@ + #ifndef HEX_DUMP_H + #define HEX_DUMP_H + ++#include + #include + + //---------------------------------------------------------------- +--- a/persistent-data/transaction_manager.cc ++++ b/persistent-data/transaction_manager.cc +@@ -48,7 +48,7 @@ + transaction_manager::write_ref + transaction_manager::new_block(validator v) + { +- optional mb = sm_->new_block(); ++ boost::optional mb = sm_->new_block(); + if (!mb) + throw runtime_error("transaction_manager::new_block() couldn't allocate new block"); + +@@ -67,7 +67,7 @@ + return make_pair(bm_->write_lock(orig, v), need_inc); + + read_ref src = bm_->read_lock(orig, v); +- optional mb = sm_->new_block(); ++ boost::optional mb = sm_->new_block(); + if (!mb) + throw runtime_error("transaction_manager::shadow() couldn't allocate new block"); + +--- a/thin-provisioning/metadata_checker.cc ++++ b/thin-provisioning/metadata_checker.cc +@@ -182,7 +182,7 @@ + error_state examine_mapping_tree_(transaction_manager::ptr tm, + superblock_detail::superblock const &sb, + nested_output &out, +- optional data_sm, ++ boost::optional data_sm, + bool ignore_non_fatal) { + out << "examining mapping tree" << end_message(); + nested_output::nest _ = out.push(); +@@ -213,7 +213,7 @@ + error_state examine_mapping_tree(transaction_manager::ptr tm, + superblock_detail::superblock const &sb, + nested_output &out, +- optional data_sm, ++ boost::optional data_sm, + bool ignore_non_fatal) { + error_state err = examine_devices_tree_(tm, sb, out, ignore_non_fatal); + err << examine_mapping_tree_(tm, sb, out, data_sm, ignore_non_fatal); +@@ -403,7 +403,7 @@ + // until that there's a better solution in space + // and time complexity + space_map::ptr data_sm{open_disk_sm(*tm, &sb.data_space_map_root_)}; +- optional core_sm; ++ boost::optional core_sm; + err_ << examine_data_mappings(tm, sb, options_.data_mapping_opts_, out_, core_sm); + + if (err_ == FATAL) +@@ -418,7 +418,7 @@ + err_ << compare_space_maps(data_sm, *core_sm, out_); + } else + err_ << examine_data_mappings(tm, sb, options_.data_mapping_opts_, out_, +- optional()); ++ boost::optional()); + + metadata_checked_ = true; + } +@@ -509,7 +509,7 @@ + superblock_detail::superblock const &sb, + check_options::data_mapping_options option, + nested_output &out, +- optional data_sm) { ++ boost::optional data_sm) { + error_state err = NO_ERROR; + + switch (option) { +--- a/thin-provisioning/metadata_dumper.cc ++++ b/thin-provisioning/metadata_dumper.cc +@@ -125,7 +125,7 @@ + }; + + // See comment on get_map_ids +- optional > ++ boost::optional > + get_dev_ids(transaction_manager &tm, block_address root) { + d_thin_id_extractor de; + fatal_details_damage dv; +@@ -134,7 +134,7 @@ + try { + walk_device_tree(tree, de, dv, true); + } catch (...) { +- return optional>(); ++ return boost::optional>(); + } + + return de.dd_; +@@ -150,7 +150,7 @@ + + // The walk will do more sanity checks than we did when scanning the metadata, so + // it's possible that it will fail and throw a metadata damage exception. +- optional > ++ boost::optional > + get_map_ids(transaction_manager &tm, block_address root) { + m_thin_id_extractor me; + fatal_mapping_damage mv; +@@ -159,7 +159,7 @@ + try { + walk_mapping_tree(tree, me, mv, true); + } catch (...) { +- return optional>(); ++ return boost::optional>(); + } + + return me.dd_; +@@ -288,7 +288,7 @@ + uint32_t time; + }; + +- optional ++ boost::optional + find_best_roots(transaction_manager &tm) { + vector mapping_roots; + vector device_roots; +@@ -334,7 +334,7 @@ + if (pairs.size()) + return mk_roots(pairs[0]); + else +- return optional(); ++ return boost::optional(); + } + + private: +@@ -623,12 +623,12 @@ + } + } + +- optional lookup_info(block_address b) const { ++ boost::optional lookup_info(block_address b) const { + auto it = infos_.find(b); + if (it == infos_.end()) +- return optional(); ++ return boost::optional(); + +- return optional(it->second); ++ return boost::optional(it->second); + } + + block_manager &bm_; +@@ -846,16 +846,16 @@ + return sb; + } + +- optional ++ boost::optional + maybe_read_superblock(block_manager::ptr bm) + { + try { + auto sb = read_superblock(bm); +- return optional(sb); ++ return boost::optional(sb); + } catch (...) { + } + +- return optional(); ++ return boost::optional(); + } + + void +--- a/thin-provisioning/thin_dump.cc ++++ b/thin-provisioning/thin_dump.cc +@@ -50,7 +50,7 @@ + string format; + bool repair; + bool use_metadata_snap; +- optional snap_location; ++ boost::optional snap_location; + }; + + metadata::ptr open_metadata(string const &path, struct flags &flags) { +--- a/thin-provisioning/thin_ls.cc ++++ b/thin-provisioning/thin_ls.cc +@@ -238,7 +238,7 @@ + + void pass1(metadata::ptr md, mapping_set &mappings, ::uint64_t dev_id) { + dev_tree::key k = {dev_id}; +- optional<::uint64_t> dev_root = md->mappings_top_level_->lookup(k); ++ boost::optional<::uint64_t> dev_root = md->mappings_top_level_->lookup(k); + + if (!dev_root) + throw runtime_error("couldn't find mapping tree root"); +@@ -254,7 +254,7 @@ + + block_address count_exclusives(metadata::ptr md, mapping_set const &mappings, ::uint64_t dev_id) { + dev_tree::key k = {dev_id}; +- optional<::uint64_t> dev_root = md->mappings_top_level_->lookup(k); ++ boost::optional<::uint64_t> dev_root = md->mappings_top_level_->lookup(k); + + if (!dev_root) + throw runtime_error("couldn't find mapping tree root"); +@@ -324,7 +324,7 @@ + metadata::ptr md; + + if (flags.use_metadata_snap) +- md.reset(new metadata(bm, optional())); ++ md.reset(new metadata(bm, boost::optional())); + else + md.reset(new metadata(bm)); + +--- a/unit-tests/bitset_t.cc ++++ b/unit-tests/bitset_t.cc +@@ -60,14 +60,14 @@ + tm_(bm_, sm_) { + } + +- bitset::ptr ++ persistent_data::bitset::ptr + create_bitset() { +- return bitset::ptr(new bitset(tm_)); ++ return persistent_data::bitset::ptr(new persistent_data::bitset(tm_)); + } + +- bitset::ptr ++ persistent_data::bitset::ptr + open_bitset(block_address root, unsigned count) { +- return bitset::ptr(new bitset(tm_, root, count)); ++ return persistent_data::bitset::ptr(new persistent_data::bitset(tm_, root, count)); + } + + private: +@@ -81,7 +81,7 @@ + + TEST_F(BitsetTests, create_empty_bitset) + { +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + ASSERT_THROW(bs->get(0), runtime_error); + } + +@@ -89,7 +89,7 @@ + { + unsigned const COUNT = 100000; + +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + bs->grow(COUNT, false); + + for (unsigned i = 0; i < COUNT; i++) +@@ -100,7 +100,7 @@ + { + unsigned const COUNT = 100000; + +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + bs->grow(COUNT, true); + + for (unsigned i = 0; i < COUNT; i++) +@@ -111,7 +111,7 @@ + { + unsigned const COUNT = 100000; + +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + bs->grow(COUNT, false); + ASSERT_THROW(bs->grow(COUNT / 2, false), runtime_error); + } +@@ -120,7 +120,7 @@ + { + unsigned const COUNT = 100000; + unsigned const STEP = 37; +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + + vector chunks; + unsigned c; +@@ -150,7 +150,7 @@ + TEST_F(BitsetTests, set_out_of_bounds_throws) + { + unsigned const COUNT = 100000; +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + + ASSERT_THROW(bs->set(0, true), runtime_error); + bs->grow(COUNT, true); +@@ -160,7 +160,7 @@ + TEST_F(BitsetTests, set_works) + { + unsigned const COUNT = 100000; +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + + bs->grow(COUNT, true); + for (unsigned i = 0; i < COUNT; i += 7) +@@ -176,7 +176,7 @@ + block_address root; + + { +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + + bs->grow(COUNT, true); + for (unsigned i = 0; i < COUNT; i += 7) +@@ -186,7 +186,7 @@ + } + + { +- bitset::ptr bs = open_bitset(root, COUNT); ++ persistent_data::bitset::ptr bs = open_bitset(root, COUNT); + for (unsigned i = 0; i < COUNT; i++) + ASSERT_THAT(bs->get(i), Eq(i % 7 ? true : false)); + } +@@ -198,7 +198,7 @@ + block_address root; + + { +- bitset::ptr bs = create_bitset(); ++ persistent_data::bitset::ptr bs = create_bitset(); + + bs->grow(COUNT, true); + for (unsigned i = 0; i < COUNT; i += 7) +@@ -211,7 +211,7 @@ + } + + { +- bitset::ptr bs = open_bitset(root, COUNT); ++ persistent_data::bitset::ptr bs = open_bitset(root, COUNT); + bitset_checker c(COUNT, 7); + bs->walk_bitset(c); + } +--- a/unit-tests/copier_t.cc ++++ b/unit-tests/copier_t.cc +@@ -32,23 +32,27 @@ + namespace { + unsigned const BLOCK_SIZE = 64u; + using wait_result = io_engine::wait_result; ++} + +- ostream &operator <<(ostream &out, optional const &mwr) { ++namespace boost { ++ ostream &operator <<(ostream &out, boost::optional const &mwr) { + if (mwr) { + out << "Just[wait_result[" << mwr->first << ", " << mwr->second << "]]"; + } else + out << "Nothing"; + return out; + } ++} + ++namespace { + class io_engine_mock : public io_engine { + public: + MOCK_METHOD3(open_file, handle(string const &, mode, sharing)); + MOCK_METHOD1(close_file, void(handle)); + MOCK_METHOD6(issue_io, bool(handle, dir, sector_t, sector_t, void *, unsigned)); + +- MOCK_METHOD0(wait, optional()); +- MOCK_METHOD1(wait, optional(unsigned &)); ++ MOCK_METHOD0(wait, boost::optional()); ++ MOCK_METHOD1(wait, boost::optional(unsigned &)); + }; + + class CopierTests : public Test { +@@ -72,8 +76,8 @@ + BLOCK_SIZE, 1 * 1024 * 1024)); + } + +- static optional make_wr(bool success, unsigned context) { +- return optional(wait_result(success, context)); ++ static boost::optional make_wr(bool success, unsigned context) { ++ return boost::optional(wait_result(success, context)); + } + + void issue_successful_op(copier &c, copy_op &op, unsigned context) { +@@ -258,7 +262,7 @@ + WillOnce(Return(true)); + + EXPECT_CALL(engine_, wait(micro)). +- WillOnce(DoAll(SetArgReferee<0>(0u), Return(optional()))); ++ WillOnce(DoAll(SetArgReferee<0>(0u), Return(boost::optional()))); + + auto mop = c->wait(micro); + ASSERT_FALSE(mop); +--- a/unit-tests/rolling_hash_t.cc ++++ b/unit-tests/rolling_hash_t.cc +@@ -127,10 +127,10 @@ + unsigned min = 100000, max = 0; + + bytes bs = random_bytes(1024 * 1024 * 100); +- vector counts(window_size_, 0); ++ vector counts(window_size_ + 1, 0); + + for (unsigned i = 0; i < bs.size(); i++) { +- optional b = h_.step(bs[i]); ++ boost::optional b = h_.step(bs[i]); + if (b) { + counts[*b]++; + +--- a/unit-tests/span_iterator_t.cc ++++ b/unit-tests/span_iterator_t.cc +@@ -81,7 +81,9 @@ + + base::run_set forbidden; + }; ++} + ++namespace boost { + ostream &operator <<(ostream &out, maybe_span const &m) { + out << "maybe_span["; + if (m) diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-build-fixes.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-build-fixes.patch new file mode 100644 index 0000000..da2a10e --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-build-fixes.patch @@ -0,0 +1,25 @@ +From f912f6630eada34dcfb1320bb46b02d149c32ad4 Mon Sep 17 00:00:00 2001 +From: Gwendal Grignou +Date: Wed, 28 Jun 2023 16:08:41 -0700 +Subject: [PATCH] [base] Never use gcc directly + +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index b1fd4aa..342daf7 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -363,7 +363,7 @@ LIBFT_OBJECTS=$(subst .c,.o,$(LIBFT_SOURCE)) + + lib/libft.so: $(LIBFT_OBJECTS) + @echo " [LD]" $@ +- $(V) gcc -shared -o $@ $+ -laio ++ $(V) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -o $@ $+ -laio + + .PHONEY: functional-test unit-test + +-- +2.41.0.255.g8b1d071c50-goog + diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch new file mode 100644 index 0000000..b8f73fd --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch @@ -0,0 +1,66 @@ +From 9f3823c97dc0b5d4a94a6179d45a3b45c045cff8 Mon Sep 17 00:00:00 2001 +From: Ming-Hung Tsai +Date: Wed, 12 Aug 2020 23:25:24 +0800 +Subject: [PATCH] [metadata_checker] Rename function to reflect command line + changes + +--- + thin-provisioning/metadata_checker.cc | 6 +++--- + thin-provisioning/metadata_checker.h | 2 +- + thin-provisioning/thin_check.cc | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/thin-provisioning/metadata_checker.cc b/thin-provisioning/metadata_checker.cc +index e81e22c..0b26eca 100644 +--- a/thin-provisioning/metadata_checker.cc ++++ b/thin-provisioning/metadata_checker.cc +@@ -603,8 +603,9 @@ void check_options::set_ignore_non_fatal() { + ignore_non_fatal_ = true; + } + +-void check_options::set_fix_metadata_leaks() { ++void check_options::set_auto_repair() { + fix_metadata_leaks_ = true; ++ clear_needs_check_ = true; + } + + void check_options::set_clear_needs_check() { +@@ -650,8 +651,7 @@ thin_provisioning::check_metadata(std::string const &path, + checker.check(); + if (check_opts.fix_metadata_leaks_) + checker.fix_metadata_leaks(check_opts.open_transaction_); +- if (check_opts.fix_metadata_leaks_ || +- check_opts.clear_needs_check_) ++ if (check_opts.clear_needs_check_) + checker.clear_needs_check_flag(); + + return checker.get_status(); +diff --git a/thin-provisioning/metadata_checker.h b/thin-provisioning/metadata_checker.h +index 5569d27..b4afbdc 100644 +--- a/thin-provisioning/metadata_checker.h ++++ b/thin-provisioning/metadata_checker.h +@@ -45,7 +45,7 @@ namespace thin_provisioning { + void set_override_mapping_root(bcache::block_address b); + void set_metadata_snap(); + void set_ignore_non_fatal(); +- void set_fix_metadata_leaks(); ++ void set_auto_repair(); + void set_clear_needs_check(); + + bool use_metadata_snap_; +diff --git a/thin-provisioning/thin_check.cc b/thin-provisioning/thin_check.cc +index 60f7838..e3c9db3 100644 +--- a/thin-provisioning/thin_check.cc ++++ b/thin-provisioning/thin_check.cc +@@ -166,7 +166,7 @@ thin_check_cmd::run(int argc, char **argv) + + case 6: + // auto-repair +- fs.check_opts.set_fix_metadata_leaks(); ++ fs.check_opts.set_auto_repair(); + break; + + default: +-- +2.41.0.255.g8b1d071c50-goog + diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch new file mode 100644 index 0000000..42f819a --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch @@ -0,0 +1,187 @@ +From 1fe8a0dbde9f5e004b11430a9097a61b327967fe Mon Sep 17 00:00:00 2001 +From: Ming-Hung Tsai +Date: Fri, 21 Aug 2020 18:26:48 +0800 +Subject: [PATCH] [thin_check] Allow using --clear-needs-check and + --skip-mappings together + +Although it is not recommended to clear the flag without a full +examination, however, the usage has been documented as an approach +to reduce lvchange run time [1]. For the purpose of backward +compatibility and avoiding boot failure after upgrading thin_check [2], +the limitation is now removed. + +[1] https://wiki.archlinux.org/index.php/LVM#Thinly-provisioned_root_volume_device_times_out +[2] Community feedback on previous commit: + https://github.com/jthornber/thin-provisioning-tools/commit/b278f4f +--- + tests/thin_check.rs | 18 +++++-- + thin-provisioning/metadata_checker.cc | 71 ++++++++++++++------------- + thin-provisioning/metadata_checker.h | 3 ++ + 3 files changed, 53 insertions(+), 39 deletions(-) + +diff --git a/thin-provisioning/metadata_checker.cc b/thin-provisioning/metadata_checker.cc +index 0b26eca..a398ce8 100644 +--- a/thin-provisioning/metadata_checker.cc ++++ b/thin-provisioning/metadata_checker.cc +@@ -371,7 +371,8 @@ namespace { + out_(cerr, 2), + info_out_(cout, 0), + expected_rc_(true), // set stop on the first error +- err_(NO_ERROR) { ++ err_(NO_ERROR), ++ metadata_checked_(false) { + + if (output_opts == OUTPUT_QUIET) { + out_.disable(); +@@ -381,6 +382,22 @@ namespace { + sb_location_ = get_superblock_location(); + } + ++ void check_and_repair() { ++ check(); ++ if (options_.fix_metadata_leaks_) ++ fix_metadata_leaks(options_.open_transaction_); ++ if (options_.clear_needs_check_) ++ clear_needs_check_flag(); ++ } ++ ++ bool get_status() const { ++ if (options_.ignore_non_fatal_) ++ return (err_ == FATAL) ? false : true; ++ ++ return (err_ == NO_ERROR) ? true : false; ++ } ++ ++ private: + void check() { + block_manager::ptr bm = open_bm(path_, block_manager::READ_ONLY, + !options_.use_metadata_snap_); +@@ -419,10 +436,12 @@ namespace { + } else + err_ << examine_data_mappings(tm, sb, options_.data_mapping_opts_, out_, + optional()); ++ ++ metadata_checked_ = true; + } + + bool fix_metadata_leaks(bool open_transaction) { +- if (!verify_preconditions_before_fixing()) { ++ if (!metadata_checked_) { + out_ << "metadata has not been fully examined" << end_message(); + return false; + } +@@ -458,7 +477,7 @@ namespace { + } + + bool clear_needs_check_flag() { +- if (!verify_preconditions_before_fixing()) { ++ if (!metadata_checked_) { + out_ << "metadata has not been fully examined" << end_message(); + return false; + } +@@ -480,14 +499,6 @@ namespace { + return true; + } + +- bool get_status() const { +- if (options_.ignore_non_fatal_) +- return (err_ == FATAL) ? false : true; +- +- return (err_ == NO_ERROR) ? true : false; +- } +- +- private: + block_address + get_superblock_location() { + block_address sb_location = superblock_detail::SUPERBLOCK_LOCATION; +@@ -545,19 +556,6 @@ namespace { + return err; + } + +- bool verify_preconditions_before_fixing() const { +- if (options_.use_metadata_snap_ || +- !!options_.override_mapping_root_ || +- options_.sm_opts_ != check_options::SPACE_MAP_FULL || +- options_.data_mapping_opts_ != check_options::DATA_MAPPING_LEVEL2) +- return false; +- +- if (!expected_rc_.get_counts().size()) +- return false; +- +- return true; +- } +- + std::string const &path_; + check_options options_; + nested_output out_; +@@ -565,6 +563,7 @@ namespace { + block_address sb_location_; + block_counter expected_rc_; + base::error_state err_; // metadata state ++ bool metadata_checked_; + }; + } + +@@ -628,12 +627,22 @@ bool check_options::check_conformance() { + cerr << "cannot perform fix with an overridden mapping root" << endl; + return false; + } ++ } ++ ++ if (fix_metadata_leaks_ && ++ (data_mapping_opts_ != DATA_MAPPING_LEVEL2 || sm_opts_ != SPACE_MAP_FULL)) { ++ cerr << "cannot perform fix without a full examination" << endl; ++ return false; ++ } + +- if (data_mapping_opts_ != DATA_MAPPING_LEVEL2 || +- sm_opts_ != SPACE_MAP_FULL) { +- cerr << "cannot perform fix without a full examination" << endl; ++ if (clear_needs_check_) { ++ if (data_mapping_opts_ == DATA_MAPPING_NONE) { ++ cerr << "cannot perform fix without partially examination" << endl; + return false; + } ++ ++ if (data_mapping_opts_ != DATA_MAPPING_LEVEL2 || sm_opts_ != SPACE_MAP_FULL) ++ cerr << "clearing needs_check without a full examination is not suggested" << endl; + } + + return true; +@@ -647,13 +656,7 @@ thin_provisioning::check_metadata(std::string const &path, + output_options output_opts) + { + metadata_checker checker(path, check_opts, output_opts); +- +- checker.check(); +- if (check_opts.fix_metadata_leaks_) +- checker.fix_metadata_leaks(check_opts.open_transaction_); +- if (check_opts.clear_needs_check_) +- checker.clear_needs_check_flag(); +- ++ checker.check_and_repair(); + return checker.get_status(); + } + +diff --git a/thin-provisioning/metadata_checker.h b/thin-provisioning/metadata_checker.h +index b4afbdc..ea66dc3 100644 +--- a/thin-provisioning/metadata_checker.h ++++ b/thin-provisioning/metadata_checker.h +@@ -48,11 +48,14 @@ namespace thin_provisioning { + void set_auto_repair(); + void set_clear_needs_check(); + ++ // flags for checking + bool use_metadata_snap_; + data_mapping_options data_mapping_opts_; + space_map_options sm_opts_; + boost::optional override_mapping_root_; + bool ignore_non_fatal_; ++ ++ // flags for repairing + bool fix_metadata_leaks_; + bool clear_needs_check_; + bool open_transaction_; +-- +2.41.0.255.g8b1d071c50-goog + diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.0.6-build-with-cargo.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.0.6-build-with-cargo.patch new file mode 100644 index 0000000..5e06583 --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.0.6-build-with-cargo.patch @@ -0,0 +1,21 @@ +For USE=debug to work, portage needs to run cargo_src_compile(), but if `emake` +is used in src_install(), it will trigger a rebuild without debug. If +cargo_src_install() is used instead, manpages and symlinks won't be installed +and the binary would have to be moved since there's no way to make cargo install +to /usr/sbin. So remove $(PDATA_TOOLS) dependency in Makefile instead. Might as +well patch out $(STRIP) too. + +--- a/Makefile ++++ b/Makefile +@@ -56,10 +56,9 @@ + + MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS)) + +-install: $(PDATA_TOOLS) $(MANPAGES) ++install: $(MANPAGES) + $(INSTALL_DIR) $(BINDIR) + $(INSTALL_PROGRAM) $(PDATA_TOOLS) $(BINDIR) +- $(STRIP) $(BINDIR)/pdata_tools + ln -s -f pdata_tools $(BINDIR)/cache_check + ln -s -f pdata_tools $(BINDIR)/cache_dump + ln -s -f pdata_tools $(BINDIR)/cache_metadata_size diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.1.0-rio-nightly.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.1.0-rio-nightly.patch new file mode 100644 index 0000000..3472b9f --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-1.1.0-rio-nightly.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/939517 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -130,7 +130,6 @@ + trivial_casts, + trivial_numeric_casts, + unsafe_code, +- unused_qualifications + )] + #![deny( + clippy::cast_lossless, diff --git a/sys-block/thin-provisioning-tools/metadata.xml b/sys-block/thin-provisioning-tools/metadata.xml new file mode 100644 index 0000000..15dea8b --- /dev/null +++ b/sys-block/thin-provisioning-tools/metadata.xml @@ -0,0 +1,14 @@ + + + + + robbat2@gentoo.org + + + base-system@gentoo.org + Gentoo Base System + + + jthornber/thin-provisioning-tools + + diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r2.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r2.ebuild new file mode 100644 index 0000000..9f8cc64 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r2.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} != *9999 ]]; then + SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +else + inherit git-r3 + EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git' +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="static test" +RESTRICT="!test? ( test )" + +LIB_DEPEND="dev-libs/expat[static-libs(+)] + dev-libs/libaio[static-libs(+)]" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + test? ( + >=dev-cpp/gtest-1.8.0 + ) + dev-libs/boost" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch + "${FILESDIR}"/${PN}-0.9.0-build-fixes.patch + "${FILESDIR}"/0.9.0-remove-boost_iostreams.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + local myeconfargs=( + --prefix="${EPREFIX}"/ + --bindir="${EPREFIX}"/sbin + --with-optimisation='' + $(use_enable test testing) + ) + STRIP=true econf "${myeconfargs[@]}" +} + +src_compile() { + emake V= +} + +src_test() { + emake V= unit-test +} + +src_install() { + emake V= DESTDIR="${D}" DATADIR="${ED}/usr/share" install + dodoc README.md TODO.org +} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild new file mode 100644 index 0000000..079991b --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.9.0-r4.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} != *9999 ]]; then + SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +else + inherit git-r3 + EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git' +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="static test" +RESTRICT="!test? ( test )" + +LIB_DEPEND="dev-libs/expat[static-libs(+)] + dev-libs/libaio[static-libs(+)]" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + test? ( + >=dev-cpp/gtest-1.8.0 + ) + dev-libs/boost" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch + "${FILESDIR}"/${PN}-0.9.0-build-fixes.patch + "${FILESDIR}"/0.9.0-remove-boost_iostreams.patch + "${FILESDIR}"/${PN}-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch + "${FILESDIR}"/${PN}-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch + "${FILESDIR}"/${PN}-0.9.0-boost-gtest.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + local myeconfargs=( + --prefix="${EPREFIX}"/ + --bindir="${EPREFIX}"/sbin + --with-optimisation='' + $(use_enable test testing) + ) + STRIP=true econf "${myeconfargs[@]}" +} + +src_compile() { + emake V= +} + +src_test() { + emake V= unit-test +} + +src_install() { + emake V= DESTDIR="${D}" DATADIR="${ED}/usr/share" install + dodoc README.md TODO.org +} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild new file mode 100644 index 0000000..6907ab3 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999 ]]; then +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + anstyle@1.0.4 + anyhow@1.0.79 + atty@0.2.14 + autocfg@1.1.0 + base64@0.21.7 + bitflags@1.3.2 + bitflags@2.4.1 + bytemuck@1.14.0 + byteorder@1.5.0 + cassowary@0.3.0 + cfg-if@1.0.0 + clap@4.4.16 + clap_builder@4.4.16 + clap_lex@0.6.0 + console@0.15.8 + crc32c@0.6.4 + crc32fast@1.3.2 + data-encoding@2.5.0 + downcast@0.11.0 + duct@0.13.7 + either@1.9.0 + encode_unicode@0.3.6 + env_logger@0.8.4 + errno@0.3.8 + exitcode@1.1.2 + fastrand@2.0.1 + fixedbitset@0.4.2 + flate2@1.0.28 + fragile@2.0.0 + getrandom@0.2.12 + hermit-abi@0.1.19 + hermit-abi@0.3.3 + indicatif@0.17.7 + instant@0.1.12 + iovec@0.1.4 + itertools@0.11.0 + lazy_static@1.4.0 + libc@0.2.152 + linux-raw-sys@0.4.12 + log@0.4.20 + memchr@2.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + mockall@0.12.1 + mockall_derive@0.12.1 + nom@7.1.3 + num-derive@0.4.1 + num-traits@0.2.17 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.1.5 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.0.4 + proc-macro2@1.0.76 + quick-xml@0.31.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.4.0 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + redox_termios@0.1.3 + regex-automata@0.4.3 + regex-syntax@0.8.2 + regex@1.10.2 + retain_mut@0.1.7 + roaring@0.10.2 + rustc_version@0.4.0 + rustix@0.38.30 + safemem@0.3.3 + semver@1.0.21 + shared_child@1.0.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + tempfile@3.9.0 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + threadpool@1.8.1 + tui@0.19.0 + unicode-ident@1.0.12 + unicode-segmentation@1.10.1 + unicode-width@0.1.11 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + declare -A GIT_CRATES=( + [rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8" + ) +fi + +inherit cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" ) +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild new file mode 100644 index 0000000..a8c7690 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.3 + anstyle@1.0.7 + anyhow@1.0.86 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + bytemuck@1.16.1 + byteorder@1.5.0 + cassowary@0.3.0 + cfg-if@1.0.0 + clap@4.5.9 + clap_builder@4.5.9 + clap_lex@0.7.1 + console@0.15.8 + crc32c@0.6.8 + crc32fast@1.4.2 + data-encoding@2.6.0 + downcast@0.11.0 + duct@0.13.7 + encode_unicode@0.3.6 + env_logger@0.8.4 + errno@0.3.9 + exitcode@1.1.2 + fastrand@2.1.0 + fixedbitset@0.4.2 + flate2@1.0.30 + fragile@2.0.0 + getrandom@0.2.15 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + indicatif@0.17.8 + instant@0.1.13 + iovec@0.1.4 + lazy_static@1.5.0 + libc@0.2.155 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.12.1 + mockall_derive@0.12.1 + nom@7.1.3 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.2.0 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2@1.0.86 + quick-xml@0.36.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.5.1 + redox_syscall@0.2.16 + redox_termios@0.1.3 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + roaring@0.10.6 + rustc_version@0.4.0 + rustix@0.38.34 + safemem@0.3.3 + semver@1.0.23 + shared_child@1.0.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.70 + tempfile@3.10.1 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + threadpool@1.8.1 + tui@0.19.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +inherit cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild new file mode 100644 index 0000000..fca04cd --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.3 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.86 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bytemuck@1.16.3 + byteorder@1.5.0 + cassowary@0.3.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + clang-sys@1.8.1 + clap@4.5.13 + clap_builder@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + console@0.15.8 + crc32c@0.6.8 + crc32fast@1.4.2 + data-encoding@2.6.0 + devicemapper-sys@0.3.0 + devicemapper@0.34.3 + downcast@0.11.0 + duct@0.13.7 + either@1.13.0 + encode_unicode@0.3.6 + env_filter@0.1.2 + env_logger@0.11.5 + env_logger@0.8.4 + errno@0.3.9 + exitcode@1.1.2 + fastrand@2.1.0 + fixedbitset@0.4.2 + flate2@1.0.31 + fragile@2.0.0 + getrandom@0.2.15 + glob@0.3.1 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + humantime@2.1.0 + indicatif@0.17.8 + instant@0.1.13 + iovec@0.1.4 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.13.0 + mockall_derive@0.13.0 + nix@0.29.0 + nom@7.1.3 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.2.1 + pkg-config@0.3.30 + portable-atomic@1.7.0 + ppv-lite86@0.2.20 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + proc-macro2@1.0.86 + quick-xml@0.36.1 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.5.1 + redox_syscall@0.2.16 + redox_termios@0.1.3 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + retry@2.0.0 + roaring@0.10.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + safemem@0.3.3 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + shared_child@1.0.1 + shlex@1.3.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.72 + tempfile@3.11.0 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + tui@0.19.0 + udev@0.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + utf8parse@0.2.2 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +LLVM_COMPAT=( 20 ) + +inherit cargo llvm-r1 + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +RDEPEND="virtual/libudev:=" +# libdevmapper.h needed for devicemapper-sys crate +DEPEND=" + ${RDEPEND} + sys-fs/lvm2 +" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + + cd "${WORKDIR}"/rio* || die + eapply "${FILESDIR}/${PN}-1.1.0-rio-nightly.patch" +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} diff --git a/sys-fs/bcachefs-tools/Manifest b/sys-fs/bcachefs-tools/Manifest new file mode 100644 index 0000000..05e86f0 --- /dev/null +++ b/sys-fs/bcachefs-tools/Manifest @@ -0,0 +1,83 @@ +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.89.crate 47078 BLAKE2B fc824e72891bff0cc7aa3b538adfb9af7dc843ab6ed12b8b04eb70e62d32aae1decb9090621d3245dbe89841e73080d2d86973b4aee50873e798956da9b3faa6 SHA512 3c09317089ed78601a56c626700d12c0b49396e25fed9a9f05a2dbfbd6f91ad426c430633006a4043decd1f70a85c161c4f8dd7de0e4c00b82a169b89dda8da0 +DIST bcachefs-tools-1.20.0.tar.sign 833 BLAKE2B 2f05ff0329bd7e1294f5612baada16153bc20777075970afe1d6fe4df6946043a65561a195db77caa831e53d8aac12f17ffb2f7cb385c1bf5111acc3c67e4a84 SHA512 ecd5ee8a502b7eeea755a9b3a7be2dec8e5941a2d9b5eb9efb4e9ab8933924f755662fdf045befd17f8b19d14d0404f64bb18999593c82f991b49d212ae6359b +DIST bcachefs-tools-1.20.0.tar.zst 1171239 BLAKE2B d73fae9dc3b83d0ed5a9a723fba347a3628a7a0a4f7104c50aa93020f28a5eb9fd0b04c34b31a84d13405d7d1a681452deef87e4f04651b070b3e3cf459b615c SHA512 6df9966861bbbcbccc4473847eb38f4fcb2eea5d4c0b3ea745698819b5157d9ae6e0bf7203424d914a672a0554e6310bb3022c23f92c680681e62596ee752d23 +DIST bindgen-0.69.5.crate 221128 BLAKE2B b89edbf883e1bc11a074c2f37f84bb966749823a6408b9765d6a61ee1179451d67dadde41d27838e8ddc6172dee9c342429f42fbe6959ff9fd7dcbc73d7506ea SHA512 b232b906af7535f8b87198f0a4037a0f09af367e0c913575f3d16453a2c272e7d76033cb3fd12d4223ebda4a0f8130629e67c5883e026a2422db3e0659ed3c3f +DIST bitfield-0.14.0.crate 16776 BLAKE2B abca546581d912133e7344f049d93b8d793de323eba7780fab162c53a244b845582ec2bd14b529b9491c363c2da6228b7de58407afc554cc718a9df8370f5535 SHA512 703d534f0684b19af68a18048ecff37367ccbe5a52a3e8d987f2420b980e4a20da9640019ca610b1a73841cbe45dbf4d6a1cfb10cf0e7d09f53199b1fcd141fe +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST cc-1.1.28.crate 84424 BLAKE2B 9d617066957c9aa8d3ae86943be8494551624e34d8b1060d86959751fc3f874ef6d83c78235a7905e12ed72c16bfc45666fb36172708c3a53639c99342d34edf SHA512 98571ba96e7967579b70988d9308c8d3616cb1940b84c0d7dbeae837bf31c5a62731fa369b8b9d968ca843638efc7a9791ab76c3cf06deed4348d9d853ddacba +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-4.5.20.crate 56376 BLAKE2B 8efa9c3e171ef38c98a25c526f528629e7e72850c6ec27e7e89a212403ee90d7d005b00750769e4335423ecec1d86abb35c19b0bf7f2c063bc7c6a8bd59d6804 SHA512 e432a118a2ec15b273a404c3cb75bbe579b11034ba55def1823d4670c6553e3d8611074a24f50a0f4adc8bda184213b06106c44c68a19d267342c53e345351d4 +DIST clap_builder-4.5.20.crate 163812 BLAKE2B 689110f2e4f46e8c4c779b6c39cb5f5758c3a32ea5bbfa1faaa6642da7d650cac0827a3e5b503c5054a85e0e7dbf04e7c53d65991a45f3be90c75070cc9c200a SHA512 e914c8b6592f9d230b4f4290cf4b4d73d0160c12a1fa3976c74bad21ff16da532d6af792f0a33fa472166f1cd551291b5d1d71fe8b359040040418694ec52000 +DIST clap_complete-4.5.33.crate 47470 BLAKE2B 7d97949397aab211f786a0141c6d6f40268c03c2ecea5032522aff980c217224a25c0139e1345e6b3dc67670fc090d7ddf7a53129b06d281ee6fb144ec8ff43c SHA512 71aab57a9c80ab6169250d056cc2177e2392d2caab1cf123eb36faa39d83656f306c43afdd00b95f6ea39a1d471549d1422be51694fcbe3cb9bb1e77e4d6308d +DIST clap_derive-4.5.18.crate 30131 BLAKE2B ff962e52d8d8afcc9639365e27753c6c6943fd809ef89d9e555e8be5b2f13efa650bf1f9ae451f4c127c1529a0af1d892c3b02153b46deb912029b45983e01cb SHA512 035bb918bc7e9badd59341560f23e3a8a2e7cf945b6d8183f74052c4edfcbecf07c9ea6fce0ceef0b84c89a99d62b11760af39398897e4ee7dad0170a96cfefa +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST env_logger-0.10.2.crate 36402 BLAKE2B 34ef02d0f53fea474e7284fd7021ed3b44b11be2c0d0c9a66ace8792bac74d1a6b43997e0e7d043ef89e14903f6ab6d42c169bbb164f05cfe4e1688611639edb SHA512 c44131efb703eed984d8f4edcf18c77ef14036edf013e8bf445703c74a4386e4c3f4b55a272490da1ccb47a692ccde4670772c74d35c5723601c870416144b69 +DIST errno-0.2.8.crate 9276 BLAKE2B b73738deb47d1f76ec91ffd15558126d32312647b82677290725669edb01b8f34a503172fad6518ebf0ffb1633ef0afaf0750982b9384a9fb87833d31721c9a8 SHA512 1f513743224cd9a9b7e4caaf33dab075a4a79efa90c9f46c9edfb0c8600daccd3ad2677ba2116621e19fcf8be456954da5d611cbcea4b6f1410f7731828b50d1 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libc-0.2.159.crate 755366 BLAKE2B 70f46eb6228b4a8958dfbee00cdfa3c7d218f30d66c8591f4ccc9c5d8eda411d83ce9450552384ac4bc29deb2869561a2111dd157c9f228f617baf8f6b537bc4 SHA512 c803939ceea5ad9bdfdd122726c7a5f12ffd8b0cb66cf0bc62c9670e1e5904a504def388c1e043c520f4ece484addf6dac465aebd58578aa6b79995077bbdf9f +DIST libloading-0.8.5.crate 28902 BLAKE2B a0fca8f8876092e874964b3dcbaacd417451704fc1d687669a95a0b9df22ccda73a754118ac0bd706a7c7d86e4eceb2ad012e20e341d71548b34ea8d629bbfdf SHA512 f332884fa75cf210460f4678d45091345b23469c09301614c476e95bc54163afd6d4f098a34f9e0d529fa1ec63892395b50957598070ff327743e4c3b0871074 +DIST libudev-sys-0.1.4.crate 6177 BLAKE2B c513b5cd68fc60a7a33ba281e4fc4f9a5896946aeb1fe31abb8af22d279c39c3d781fd34109f98fd010fe8aa817b9d91726887f0ee8bf0f66a3bf313b01c9ff3 SHA512 185bd84a729a5dda6fb274584c7a731652418da9435d844870a9d09662918c9230287f4ad002273599d0a3e9709a36ae06d59a6686dfba978fb7cd1c51bbc2c7 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 +DIST owo-colors-4.1.0.crate 31414 BLAKE2B 4c936531a6eca2c77bf54e77b1bfbf63bd957299e6b604f97de59bd8e06aee90187045197fe2a5ba607548245035e644b40981e5020113b7122f5a36785f4cbb SHA512 e514520ebd86f92be6f893727a71b68faddbda77763a4f5d5a907c2becbf032c629362cb4c27c184a98aad27963449da8dae38d1fe35741b0fef11ce61235fd0 +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST pkg-config-0.3.31.crate 20880 BLAKE2B ab7676e810751f89639b60ae70bdebe1d57edc76319f83077c3680049a701a26e72e8cc485fe77cdc4346fe3571d32c59e7384c8c86fef17e00d7d81df5daf43 SHA512 ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4 +DIST prettyplease-0.2.22.crate 58169 BLAKE2B 74b78f69b167d253643780b007726afde3a272c68b334b2b610d14bca1a2b02ece1b92f793341990a401b71357a858c4c9bf6c0bf965c61bc22a0a2cce84903e SHA512 bd3a3ed1395fb1e2eaff6231a9c54ce68ddd4be2cc30a6a871e32c943f7201b5c0956b16b3c478872daa521b92424060012d90be9bb45199e19e0b65860e7c18 +DIST proc-macro2-1.0.87.crate 49121 BLAKE2B 4a5136e28b5174c1382037d294dfec51cd7211eb7876c06a98600768d071915e76c81a7958a780cb7b843b98d9df4bd4e01d4f280db226d241bf84de348593f2 SHA512 32ce9c8b5bad55cfae537882c3fffc4d56824f6214ea97aede89ad460e3f66956b52af4a268496fc95c2c0eda0baeaaed4b12cd98df2efab24837e23b48b1f0e +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 +DIST regex-1.11.0.crate 254059 BLAKE2B 9450e54b522c3f12e4f1d814025c3037f8373b9e1feaf2028756b573335cb7f22400b0925e3ceb0716d72aeb19b02b4bcf70b0b435a0252d0d52a7028d95308c SHA512 16c066664ae87497f9880a52222301fb0d44053ae2d6861ea21dc59cab82bd1ab8ac407f9e77228a21a586ee745b02f9eb10e7b9b30df2f3aad73633270bf73d +DIST regex-automata-0.4.8.crate 617784 BLAKE2B 7535c79f6ddf1b1225e21171921594dcf32fc3afd47519d2067b2047b19070cb7e6fdfd1563b884fec6f91dd568522fc95d85bf095c11f8c02daeac128c45020 SHA512 278e3e2ab230ed5fa7d4837e8ea879fae68ebf35c2da5cc3a67f46b7d593abbcf71e6326a0cf34e38edc0f3f2166ff42a4fcc17a400d9604429aa5b4be075a3f +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustix-0.38.37.crate 371243 BLAKE2B bceaa4861747208f1f2b68f8924c7247648d88deb200e97d8ed17c5cbf9c934488065f0ee7e4406bc96e8709b292ee1fe15beb346bff57b5f05af36174420a0c SHA512 6c0ad1be1fcf1b74f670b2c7599ba68c2ce834c760ff7486674d190ae0d552165b0c2abdc35b13eee8c0333a904c67f5dd1efa742c20fd3735c7ccdf2a439619 +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268 +DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b +DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433 +DIST terminal_size-0.4.0.crate 10036 BLAKE2B 2f910a6ecd80a3fba12811eff425fe2d1a7c474d8db7f673037c1088ef468e96d41fd13fd3175c84c20da12195a07bbd4354767bdbc64d757feef86f86e384ec SHA512 b1a66cdf4e94997b5291f3becfac1e2a838f6c3f6c068faa1ff1aa775b2a97d41be2aff5460d88928786cfd7dc8dac5e2d46a62b475d40343e1fd517c6299897 +DIST udev-0.7.0.crate 17980 BLAKE2B ef62bfc3bebdea9fbc30d8c0de6989b0310da2b7efa65345e991b5ac85d39578a5cc9bf97558786f09806c790eae4a99ca7be29d35b8793a92c71bed07a9b91a SHA512 87aa3182c028911b23c6820408879f901dd674ff6fe95c8382ecdec3d4da9f3e19dc03b2435c72e7cf299af083d5de9a6b83a84a75de4c2483c97ea9c1950393 +DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST uuid-1.10.0.crate 47648 BLAKE2B 370f56b5057fc43ed6645ca4a032737230242c88f3c6945248585054a0d1de0c85cb2eb21bd4c759c1ca73df1b5005652f74b474537116c4fd6642cb60d274ff SHA512 e17db9433d919b51468acaebd240a2cb218d07f099fade49118ca9313f8cdf6aa3103e7aa24440be65a4f25a25f8f511e36dba08cbef27747f9e43b849cd612b +DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe +DIST zeroize_derive-1.4.2.crate 11141 BLAKE2B a40add656369a3a40d5b5f3397a77a1e9f803d4b8ae5b7d51c9f2ebb332a289b3c1ea528655806a26998e081a1cc9f4b07828664542de8d8d2619faf079d25c5 SHA512 d6966b024ce5e265c93e7056659ccbb97bbf6baa30f759fd96dc4391a6487426637f61f0a2713b6160019d778cf7d8ff1f25bb33d6c4f4585b990baae418b226 diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.20.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.20.0.ebuild new file mode 100644 index 0000000..55fddd6 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.20.0.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.89 + bindgen@0.69.5 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.6.0 + cc@1.1.28 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.8.1 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.33 + clap_derive@4.5.18 + clap_lex@0.7.2 + colorchoice@1.0.2 + either@1.13.0 + env_logger@0.10.2 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.9 + glob@0.3.1 + heck@0.5.0 + home@0.5.9 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.159 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.20.2 + owo-colors@4.1.0 + paste@1.0.15 + pkg-config@0.3.31 + prettyplease@0.2.22 + proc-macro2@1.0.87 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rustc-hash@1.1.0 + rustix@0.38.37 + rustversion@1.0.17 + shlex@1.3.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.79 + terminal_size@0.4.0 + udev@0.7.0 + unicode-ident@1.0.13 + utf8parse@0.2.2 + uuid@1.10.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst + ${CARGO_CRATE_URIS}" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + S="${WORKDIR}/${P}" + KEYWORDS="amd64 arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse verify-sig" +RESTRICT="test" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" + +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + elibc_musl? ( >=sys-libs/musl-1.2.5 ) + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + # Upstream signs the uncompressed tarball + if use verify-sig; then + einfo "Unpacking ${P}.tar.zst ..." + verify-sig_verify_detached - "${DISTDIR}"/${P}.tar.sign \ + < <(zstd -fdc "${DISTDIR}"/${P}.tar.zst | tee >(tar -xf -)) + assert "Unpack failed" + fi + + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + unpacker ${P}.tar.zst + cargo_src_unpack + fi + +} + +src_prepare() { + default + tc-export CC + + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + # This version mangles the symbolic link, + # please check if this can be removed before bumping + rm "${S}"/bcachefs + ln -s "${S}"/target/release/bcachefs bcachefs + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild new file mode 100644 index 0000000..f7264d7 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.89 + bindgen@0.69.5 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.6.0 + cc@1.1.28 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.8.1 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.33 + clap_derive@4.5.18 + clap_lex@0.7.2 + colorchoice@1.0.2 + either@1.13.0 + env_logger@0.10.2 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.9 + glob@0.3.1 + heck@0.5.0 + home@0.5.9 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.159 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.20.2 + owo-colors@4.1.0 + paste@1.0.15 + pkg-config@0.3.31 + prettyplease@0.2.22 + proc-macro2@1.0.87 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rustc-hash@1.1.0 + rustix@0.38.37 + rustversion@1.0.17 + shlex@1.3.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.79 + terminal_size@0.4.0 + udev@0.7.0 + unicode-ident@1.0.13 + utf8parse@0.2.2 + uuid@1.10.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc +inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst + ${CARGO_CRATE_URIS}" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + S="${WORKDIR}/${P}" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse verify-sig" +RESTRICT="test" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" + +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + elibc_musl? ( >=sys-libs/musl-1.2.5 ) + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + unpacker ${P}.tar.zst + cargo_src_unpack + fi +} + +src_prepare() { + default + tc-export CC + + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/files/bcachefs-tools-1.13.0-rustc-default-libs.patch b/sys-fs/bcachefs-tools/files/bcachefs-tools-1.13.0-rustc-default-libs.patch new file mode 100644 index 0000000..dad793c --- /dev/null +++ b/sys-fs/bcachefs-tools/files/bcachefs-tools-1.13.0-rustc-default-libs.patch @@ -0,0 +1,36 @@ +https://github.com/koverstreet/bcachefs-tools/commit/10dc29d5b9a44e7bb8aff657e73c0c68dccc32b9 +From: Alyssa Ross +Date: Sat, 12 Oct 2024 18:13:19 +0200 +Subject: [PATCH] Pass -C default-linker-libraries to rustc + +By default, rustc passes -nodefaultlibs to the linker. In some cases, +this can cause compiler builtins (e.g. __cpu_model, used by +__builtin_cpu_supports) not to be linked in: + += note: /nix/store/s2cjhni3s6shh0n35ay1hpj8d85k44qk-x86_64-unknown-linux-musl-binutils-2.43.1/bin/x86_64-unknown-linux-musl-ld: ./libbcachefs.a(tools-util.o): in function `resolve_crc32c': + /build/source/c_src/tools-util.c:457:(.text+0x1023): undefined reference to `__cpu_model' + collect2: error: ld returned 1 exit status + +I saw this with static musl GCC builds, and others have reported it with +Clang. + +Link: https://github.com/koverstreet/bcachefs-tools/issues/300 +Signed-off-by: Alyssa Ross +Signed-off-by: Kent Overstreet +--- a/Makefile ++++ b/Makefile +@@ -73,12 +73,13 @@ CFLAGS+=$(call cc-disable-warning, zero-length-array) + CFLAGS+=$(call cc-disable-warning, shift-overflow) + CFLAGS+=$(call cc-disable-warning, enum-conversion) + CFLAGS+=$(call cc-disable-warning, gnu-variable-sized-type-not-at-end) ++export RUSTFLAGS=-C default-linker-libraries + + PKGCONFIG_LIBS="blkid uuid liburcu libsodium zlib liblz4 libzstd libudev libkeyutils" + ifdef BCACHEFS_FUSE + PKGCONFIG_LIBS+="fuse3 >= 3.7" + CFLAGS+=-DBCACHEFS_FUSE +- export RUSTFLAGS=--cfg fuse ++ RUSTFLAGS+=--cfg fuse + endif + + PKGCONFIG_CFLAGS:=$(shell $(PKG_CONFIG) --cflags $(PKGCONFIG_LIBS)) diff --git a/sys-fs/bcachefs-tools/metadata.xml b/sys-fs/bcachefs-tools/metadata.xml new file mode 100644 index 0000000..7f5d051 --- /dev/null +++ b/sys-fs/bcachefs-tools/metadata.xml @@ -0,0 +1,22 @@ + + + + + kangie@gentoo.org + Matt Jolly + + + csfore@posteo.net + Christopher Fore + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Enable bcachefs FUSE support (experimental!) + + + koverstreet/bcachefs-tools + + diff --git a/sys-kernel/scx/Manifest b/sys-kernel/scx/Manifest new file mode 100644 index 0000000..a335ae0 --- /dev/null +++ b/sys-kernel/scx/Manifest @@ -0,0 +1,264 @@ +DIST addr2line-0.24.1.crate 41554 BLAKE2B 583f343fb5af2768ecd3c787efbd6340d7dee70b16cbc2ca2201cde384f651ae4d7cf961bd8bc0a765bd207d6540326dd48355aed3f4afa0b9b7591548009eb6 SHA512 ffa53fcfbbccdec943410083aa5f44e93122e0b40dc45acfe00b454a02c5575549e9a61807d87080d1677da807fef695b6676036fec3ca079d2b841794dbc0b5 +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.87.crate 46831 BLAKE2B 8d277aef9dfb9e28d6fbbb840fc3dde385ae29df8fdaf76913c39ccdfac487c8a7599783c6bf4271cd7466a06bcb4b3b1459b317c0f531634a4b4b8ccc1d6174 SHA512 1ed272eb20bd28d361d71b8dd1279bb3ab3a722c6a68e0f7bf4fb0a196f8a5d9f5ed9874d231ba7cf93e6a6f2551e96411d1fcb26908c79ee76919214637816f +DIST async-broadcast-0.7.1.crate 21867 BLAKE2B 9c430a70bbd2b15ecc88afee064bcb04a665c0421d6c239de611d86ff3fe56fafc083ebc172c5d41c9f72a40080d87a75dae8e9b1e85249202dd844b8360735b SHA512 82b90a41ade624631dd5a03226921ed58835ddf1bcde271ff0c0e14905fb069847bbacee5592978c5389cbf366d77a7cab244ca92871949f3f4872d6da10755c +DIST async-channel-2.3.1.crate 14576 BLAKE2B 09ea03c9758805c90be9aba222e1d74f3166ab492e533597647d1b4f08bf1dda79d73b21de791b9802e19c225cb94b7cb25550bba61488c7b61fa87f88eb29dd SHA512 94c999912bdf681dcb686292645bc8c340c2687bc9544f317e0123e672752c6b31e9d784e488e7d0bab79b5f207da8904a7f1fe140397513b47c292a6508a7e5 +DIST async-executor-1.13.1.crate 27991 BLAKE2B 856bd4f42a0d8d35bfb8b8525f626e0b52fd6704810f8bc964cebc47aa0c7a4450f16e5df307f4fc613da81fb3207f4671543f48710177931d6f70dc40c9f95d SHA512 27357b3dc28ad5512b46306ab7d959b2e68b4b5ed0d42fc8cd12fd265a1931a4d8c8c328911eca97227b12d861c9658c14afea6336f999436671d6ef351f3820 +DIST async-fs-2.1.2.crate 17071 BLAKE2B 7b8a67fdab5d9d964af7d45a03a3ef405f9590b556249a35897f14a231f2b781d90df48c8296965e941f8c259c4c13a57691c81f09c20ce81406d5d2e7962731 SHA512 a671374a59c7804d26bf22d9617fc329cfa0cb38413ac05cb2f6ff192c5275a8ba41f1a088fb1978e61a66693c85f9c6b08486d44e30b7fa158568e41dc005a1 +DIST async-io-2.3.4.crate 49145 BLAKE2B 0530cfcd440e09f0132d2f078b9dbece4a0ed6c1eae668072d29042f41c2855c06a28a9a5420778f9b35150aafc3f0833789091f4779663cb838d44b07feb114 SHA512 30ff1355bcf0d93857604b93d22532040cf50195b6337bbab2cc734e8b81c485a4ac1e575c7c00495519afd0cf406cde9e49f044b183f29ce7b9a1f44edb2760 +DIST async-lock-3.4.0.crate 34446 BLAKE2B e113033a86101bd93543d287379ba354b4bd61ce87786719f05f8a990c177a885eb50a19eb71fcd5cafa01308cb45b7872be65cd7e975cde03b0555a691a4bd7 SHA512 83731067a3302d3266848b0f65ea6564dad60188472c80e78a7d4cd93804f830332aa01b404b60a8f91cc1c6c7170020ebdfe4b5bae14fef6d3bddcc5f1ed9a5 +DIST async-process-2.2.4.crate 27145 BLAKE2B 23f90d88b5fc0938d93b79ae1618b8729958e3016a38a803b816250ba690a753e23b867e1997779f378f2d8ff190276f8c125340d61301a639483cb20e8d1a89 SHA512 add194306985920e9520a95a82ecd6a3f90c8fff3030107094f361a90b43c5535e6c5cc7793435b7f5817f4e80a52070828cf43bbc13745318887a6da4bf3af2 +DIST async-recursion-1.1.1.crate 14874 BLAKE2B 6260dffdfa9fe00cc1a63c8cb103a3f210611627bbc75c2658e7cd732c504791c6577d7033af3c5afa875f90cb370b7f216979e0bdb62dab4acd61786cb5239e SHA512 e3acd07a35be546ead68c7792963c7bf1876b3e5d6a20c2be73d2f030d26d68e2a318999937d4fe253e39d8254e12e42c66314f40a3b230c5d258f34dc0d9027 +DIST async-signal-0.2.10.crate 16970 BLAKE2B 4364a566ca828387f4e1d7689b1ec7d6327bf35a56eacff013f81ec6f438d9ba02a59a8a5c457f1806dbefa23649ee289a8d5ccc7257e2c54f99de45cc4e35d6 SHA512 10d58c9aa3ef6ea4bddd4fa86afd342c6d5097764736294b7fa3b26596301f98827172cc9ed9bdecf8dcb313d2fa0222fb6aaae04f7ffd73ce89cd4b0374ba8b +DIST async-task-4.7.1.crate 38077 BLAKE2B 200f3c2eff92afeffb34404bd9b02af39226024d309137c3835342ab6631c09f14f47abc5d25d77e73cbd133274e731fc88e7e94d8456f690b0f1056bae8dd95 SHA512 8495436d0739a2ce83b372ae13ff24ca1487c92e032948d5830af19c3ba411d7cd004634fa10bc2f748f8a82de27c12cbfacaac92cd0012e1fae024eca9e78ca +DIST async-trait-0.1.82.crate 28997 BLAKE2B 87d6bdbe1a1f008908d7fddc88dee143df8ddd83cf10424358c5d07ad948cb290ee9fd7c564df756ffd526da329233f5102ed1d665aef0e224496f0782d37e30 SHA512 5e05ff37c0c982083f92ad798646f8faea23a718304bcf12dfbab9ea044792fff9fde3e7240e85309b3e4015a575112591a7e9601dcd19c07aa9da0f6ae1da14 +DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520 +DIST bindgen-0.69.4.crate 221092 BLAKE2B 69ed55a5827bfe850f589e39bc6e2f4445e20363002c765c5475007b75e4d81cac3d9df358505c63bd6a48300ae4988507abf78dd734bb98b33525bf9212237b SHA512 99530060708690f2ce0b87b97c9ce2998ee968df193137f3c9bf4fa66836814e2ae74c7e0b3057dcff1da7d2c4ea38157e21143c5117be35e94b878c0a427a34 +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST bitvec-1.0.1.crate 224375 BLAKE2B 9f109db6888cf73d69646911cc1c9e90535e54a7afc436d878bbc63ca20a30cc6e5b5b5cd42aa78c38df5a4012454769c126f9072f39d58bdd09e54887ba6d9f SHA512 83d643c5aca020ebbe9094b5aaba6a796e7c3c509228a4348444e57a06bc3a5dd042eed57a2254d91661e73bdab2bc0d1bd02be376906acc6b6d75b5354a8d8e +DIST blocking-1.6.1.crate 17788 BLAKE2B d07246809d8b80f1fdbdc678b2877f349b748f2dd0f8543e91fde4aec7aea0b45e145a44f07cdbf26934d20269af01844e1cf7d9dd8b9588d129da7f929d9c95 SHA512 1879bf31c18d5cc4653f794dd4109769ae32071564d3a0d63896162fe160bb5ed3d7d8de59ab34363f8192871122099bb8564ffa93de5a5b75ffd93c0d424ed6 +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST bytes-1.7.1.crate 63623 BLAKE2B c399f7f25b85ac284bd2f139d895838eeba7deb56d109c8579966be4b8a7a56bbc26f9387bd0bef9fe5449d5e2ae8d11b254a7ef93048a4827d945ddddb5ce09 SHA512 04cb5bb1718ee378be1d9d56aef2d117ed561935ddadd78139ef2839f998e92c88369c79560bce9d23246a3ebda1dc888af373f9ad4827a0b9a249379bc71e81 +DIST camino-1.1.9.crate 37552 BLAKE2B 28b21517730db408598f83e269ee8aa4dc5388c4b491779ebb6e76c478d407f929bda6906d88d429828d7f01be1762c72ecbb6d8c7aa4a1d1906109a17b45df1 SHA512 27a6a3cf72c46f15a6017aea44a048f2a8eb577aa9d2a088141b1cb7479106152ef0bc00a6cea9332c4df4d0c54aa6bd3dc21159f15640e347407c15a1bbf7ea +DIST cargo-platform-0.1.8.crate 11813 BLAKE2B b074b49e08b2b93e93e08276f2a79546fe1f9ba0a52b3b4ef0ecdd28fa3fe5e842c0291fed158a1a12b90804e0172d5419b7603fd0d5f87f062f44dcaf3428f6 SHA512 187acf1b8cc81078ede3353997bec9010df32aba82f56f9479d4c8eaa13436590a16f3ab6ea11ed2b31d1d1d2299d824d9ad10f04bf5281c92372cc8334b0dd2 +DIST cargo_metadata-0.15.4.crate 19993 BLAKE2B 33bb182a4fbf453be323cd657e0927d7ae8f4cada172c482d96ba959155aa0bd5fc392d4e0a6d4a869456be5de8756c92a4ee0642d60db992aca6d8adadb8f0a SHA512 dae54e7d21642a12fe967d832769f2310a18903a0a46694dd441974f037d8a53e148bae2668a177478b91629c5da736ce56aca3e140d442267ff0bc65bb984a0 +DIST cargo_metadata-0.18.1.crate 24535 BLAKE2B 9d0018e28a3941e269dbd30291054a882a960905a43d4818c874250356a6c203bf08ed77a8041f08607390b2a382864701c519d71a0b88818ee59c6322c74e86 SHA512 43f87d2b84597ec9a27e9fccf06ec5f2630a0147a9c85779622c25493bd61268c266643f8206a17d76a16329af85f0cc563a9af7e17ca77024c0eaf788555f7d +DIST cc-1.1.18.crate 83315 BLAKE2B a97d24ffdf44f80795f67f7721ed4d2524d92342bfb4ba39e00a1d3351945c904ba84cc7e245c637453e70d19b1584a400e8422e185d42c036ef44d3f2135663 SHA512 af525791c6ba731d688d3f5bf898c0ff86bbd81b127454d7f933491cea1e921d171cb819d04e460e759c6ae0f6da2188ede6bbe94c940c47c6d9d9f991925401 +DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST cgroupfs-0.7.1.crate 15667 BLAKE2B c491e632de201132cd9fa135d2110796506c38acb94c3dcf2bf023ee6704f6e07f8bfc5e21d0a9d0d08c6be7346731ba9b2a39fb65c294c901c27e05731b72d6 SHA512 9e1cdd8075d54a1e059eee70908236b0819ff7c2dd69c8babad8195c37967940007b437167a933a32be787c5505c5f04005dc10ac94aa224fc6b52f8f792011a +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-4.5.17.crate 56802 BLAKE2B fcdd23d66ecd27ee3820c4abe681bc997dd6cfd69948e11603aa8c4ca39513d5de901373959328986ef81c046318f240ea87a2f19b38921faf76b6c93d0e4f67 SHA512 69f0fe213007a2e0a564945bf58794b891a345c34747e92ec16877253ff60c1a30fab24031b5f56d6e31ea7b0d8c9dc0c815fd1489b2c0df1e2d24b4a2be6406 +DIST clap_builder-4.5.17.crate 163559 BLAKE2B 10731513f76c64027116ec97aa7dcbfbff74e649c64bd32db1a14ed1ec00e81a3b7c8e3ca478e5f077fa49eae9ae48dca4810190924b9af5dccea9cb0f883b5d SHA512 86411378aefae1eeec1128d797a21697d9470fad7ba2e109e00e8ae20d4da218e909d56a2f7065a4b2651d6c5d76d14a7394d747b2a4313c739abe0c9b046492 +DIST clap_derive-4.5.13.crate 30132 BLAKE2B d5fcd2c5a213817165c61ba2071fc6424ce822e4881686556b8379fc71188f60d8c6712f6f4a8e5c8b125b58d7454aa9846214caf324fbc93300abba240bea17 SHA512 2dae32bffd91de9311d94e2be0d990074cb2e2edc832f422cd5e7c5177f5daafc0c335e74f865024c77cae5fff631ddaba58028fcfc24b203467478fd473bbf5 +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST colored-2.1.0.crate 23348 BLAKE2B e2778d83b28571501adb4e9ec3fa95d684faf5730f093f6e608ec631e58b883d2b9f17ed7e2c1612da285a58251f479a365aa90fa7be24a2adbb69e426e0fc89 SHA512 fa70f18fb29f6870a727d8243808c96e9497f8302f5f2b1748f9d9e396031e9c53a025b8edc9c8c9a0f8cfca12e5da73250a71e382b3074e9415b85bc004769e +DIST concurrent-queue-2.5.0.crate 22654 BLAKE2B b490e76804e45d6a7af6bb4ec074fb370d9ec7cd67c7ecfb55d5ed53b9b437c174e678add915303559e902ac81c8751dccb2c5ef0543d5961713372fd2b08d3c SHA512 235704f9161dfac60d2a6d2cf96425e39c097dcde2f005187c1f044704eec66d8303d59352cd414a81a3ed0eed60421054b0070a9b8f69065a79a2519e913e5a +DIST const_format-0.2.31.crate 77893 BLAKE2B 61d75cbff309a23f7bdcf5b02880e662b6ba39664632de084ad58515995d260f2412773f6e5642040e9ecb8ca0fb1a4c3ac5df22b74afcaa24dfeec438498b00 SHA512 ad419b633aca40524553f8114015b0ef9f8b70b955f4aba8c1a20ac6a61cb41030444c7abc5f19caacb52c13221efc4b6d0fbbf1b36a9fc48ea03c916562b28f +DIST const_format_proc_macros-0.2.31.crate 24402 BLAKE2B 9ab560ca7119fafbaa5c0275fb79e7c5be415ba54c3829a36d2e71cabb18407786ebf6f9a0754547ba673ca69b7d8522ae0279b8a5817026af7fd78c51fd48ce SHA512 4e00b71994a57b8ccc8343d06fce01a346688780b2f3f939e44ec35515dead9de65012bebdfa1fbe3a32de17e9e8361d9322279bf63800d0aad9fce7967bb97a +DIST convert_case-0.6.0.crate 18675 BLAKE2B 5e5ab159a61e68b801f1c95dc5336f3af7ffe6fee212c8ffb9905af1121f0b272b234b4e70a30f29f5ed24f4825ccfb59722057b69549fec0fc3472857ee1ce9 SHA512 3b17449195a9a36e3965db89eeb967979c192ad7743217ea08e8c8b91ecae1ac1674362d05dc6f32f1f361fface3f783398285bb78060403f65a777a9d29adf2 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994 +DIST crossbeam-channel-0.5.13.crate 91174 BLAKE2B 7a9aed6f4922c1d10e4ae12508a03dc7daca773adad6a317c4ea38e544d7c28c56a06623d958aec540fcaa86fa9051a1aaa2c859dadff72873f18f2f3a951449 SHA512 0f31223a7099f84e39e6b76b19cf26736e0c3907fffc2ed3eb0012c7984b1993570bf6d155eba5bfb82897ef0e4fc93b89096071410bbac256ca6be9a9568ff8 +DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 +DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 +DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST ctrlc-3.4.5.crate 14592 BLAKE2B 189b026f4061b68848851dc694c71c6ecf87d6c6cdb4518a3aa215ac3d77739db43aa68e3c628e51dad99d7ad089ae6c66a6d03bd912ab9748a0793d09c2333b SHA512 3fca36deead46f3ca586f0a07ace804251d3c3e49a9a63e8c34546e2305d08158770304ebd0c9ad6ed499f811cbbee0b76ffee1858aae60852a61a19024db3e6 +DIST darling-0.20.10.crate 32031 BLAKE2B 038c2a4d919a8e9ff6eff5f83911b40cf4e918ac27c90f313b6b9131c41770f83cc3901973fea1c6fea2886a8360f3c5cf73b807d14e579b8b8e87f15e3bc6dc SHA512 7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55 +DIST darling_core-0.20.10.crate 65015 BLAKE2B a94adcc6092a7a69728725ec4bf4cb7c163bc3fe0890f272bba9963c256697bbe1ad964d58a975c80742019c59d4e1b3e56e624f938576996e216d2f99e21f2d SHA512 2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d +DIST darling_macro-0.20.10.crate 1874 BLAKE2B 29cbdc6bd63e4eb0731c8f8f0a50cfcae9a88f116f8cfc0068e5d3cddc20b42b7f0f20f128ffa0f7bcb8d72f0188b04b3838b8327fa6f3ab45de4cf5c3bbf317 SHA512 565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52 +DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 +DIST endi-1.1.0.crate 4872 BLAKE2B 8bbffc45ceb70777c6606714a7bb8f9b26ff33a295fd722958a5e9c556d5bb1e97a34e216514e5acaea51811d78fb4aac927c1f8315fcfd8000fda3741c53b4e SHA512 1a4b65cf77f530a2d15cfe968aecfcc9120957d23d2b442cd3d8f23d7039e832e7d6ab29aa5ad8570468421095650e26fa07f29bf75ae361416072241726c61a +DIST enumflags2-0.7.10.crate 16622 BLAKE2B 5130fc27294e25ff3fca4bfae3895c79ef3f78d20c64378854375ef859eba0e0b00dc6b2e662129bc41997751537c40e058674f43323e11d463f2e8be34ef593 SHA512 03baa542e83b15d0e2e36205a0ea7a6694bd959b315918302324d50ecf30efcd915af79441c9c8c15670c16776442d5fdce51080fa7404662e2756607fee1668 +DIST enumflags2_derive-0.7.10.crate 8104 BLAKE2B 7332ce1236a62a02c3441192e1bb9ec3944dbb7e74e91bec0f488f5b7c382c3879196b1608bebbe04015cfc2a9ed0bb5a399f889ef94b43176d28df8f1c16598 SHA512 3dad49b91c9724504121ed1b1efe7167fcb61c956d7925523e1edef14bbd92187d82e60dcebc8ac0c22d50c801ab2868460b8b3e298f31a730a7000f80080509 +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST event-listener-5.3.1.crate 42576 BLAKE2B dfd8020527c06adae338e9bcf19076e70ae745facd7b49e8d6604e8508436b70b48fb1f4479214998f288055447186d4ef4969630af90e301103bc5faf6492e5 SHA512 98b7219a3959d6225ee5fb68e8b9d284ab03334d895f52a71f673e59cabab1d06a0abb9eab905e8d38d5f9589725c7c598355ae3c909044a23bc5830b761f5c0 +DIST event-listener-strategy-0.5.2.crate 10697 BLAKE2B f49faa8a2cda551b65e29b9dc98e4e55dabff7f2b330097bf5f6a5a5927804a99cb699d1f693db9c7cbd92ecb44f6c1b51be2b86810d3e3fbfd5eebcfad1a241 SHA512 7b3759d07c7936b53351172e38623658cbe642f079426c99e7f9187ba1d7f8cbbe7530c056cc760909cda4e70281a50577caa41426164b4c8d6c3f4cbddb2626 +DIST fastrand-2.1.1.crate 14983 BLAKE2B a4535b1612b103376fe64d71a393f7bfc37668c574d9122ca90a631aeb91cf0895bb030e597b79a80a4a37ea4d514c4c0836332030bb10a60bd971573a6d6ee0 SHA512 9a51185132c1c89fc31af463c664e996f431e607ce96676b8301f28ff11a99661d18025dd460e3332e373af68d20017d96481719746fc3c5de742d08d63aba3e +DIST fb_procfs-0.7.1.crate 30670 BLAKE2B f2743ec454e371969e95346e38ff112efdd22e68dbe543fa7428d8e1096942f1e08061a10402cbcbd8b6691718aba8994d8dbd035c002453cfc2550937bbac73 SHA512 cd438374fca1991ee5d77958bb3cc7e864245f9042e3b9c44de6cf329b60c0e5c9b7e7b16bfdf50a3a664e6352ee4310ea6573973dc218b4c3db6fff5a2cafc2 +DIST filetime-0.2.25.crate 14940 BLAKE2B 1ffcbad3b2023ba5e9b2d71e279fd8c3564458b28290f3e19bf43b87083e1e3c0e18f191f6dc67540baccb83075df453950230089f243e6276e413321cceedc7 SHA512 90b4f3c4df29a3456c393f78f636d70f2615cba748a972dc9b937c2fcbbf4544f5b0d28c6c8fcfed5d5eda026ac670afffec18ab7d7127cee9afa2717146ccf2 +DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 +DIST funty-2.0.0.crate 13160 BLAKE2B db6315d63fffe9f70698da0b1b0e4aea4b509242c60e6639f00303dad8d2ba60c6c1c04fe9289695b7aa2d7a0c90c31fba72656afa7ad111b77358772b14a9f5 SHA512 691e1c275b648110ef42c4adece8178cf037bad40d469780280eb2ebe07aa4b0406737c5ba02c9f9f63ee57a99fec27e5e51712e2113655f7522c8678f689155 +DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4 +DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2 +DIST futures-lite-2.3.0.crate 39181 BLAKE2B 0e4c510d7b640efc6ca8e8b00f4cd51b05b727ce5d25d76e317fd5aec2f515d3b1dac57e4058c323fdd0c5d125ebc4073a9ab1f2ee21aee0e5aa0f9bf2e049ac SHA512 057de40b58d5ae06104c480a0e20a0ee4a962a93af615b04a9a34cd08135359c1f49f1b61577f15277fa73e9b7a93d2a659d3203b490ca4295b88fde2316bc7f +DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3 +DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d +DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951 +DIST gimli-0.31.0.crate 278951 BLAKE2B bf79f0b4e9c7ab674076eb7e793e7ac8c58f3ee3dd2ad38b8da12b2c69997503c3444262e867a15ed90918b6bbceef9cab75fff6e3474abb0c81ba5cc7954a5f SHA512 65252d3061e5b0748c9481e7ace7850c9d640b16fdb64e9fd86dad300711f67ceb695ca5d3153ced91f88f3fc4712475721ed2300786155a2f5ed832fa992558 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST gpoint-0.2.1.crate 2631 BLAKE2B 51486bc8ff5cff67b72d2b6a662d61440489681d6a201ae4f5cceef7c00308a6d324badb2c8dcb20ca630ff9021cdf720a0cf33d1f9b741f2439b9f2595deb3c SHA512 15168bdf8f7ab2c91c63c31c481b00cd45db4fa37dcad131e85f9dc412f872d3d207dbf3e20d8aded58515e0f9b4967938a341b092274e8e3e35f87fe6093f28 +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hermit-abi-0.4.0.crate 16310 BLAKE2B efcd1dee7bcd6d185cbe0051c7bc7e2776857ffcfd2adc3fb101febd7c1bd75994b7e4a4a0a59c5b4628cc2521b4c1f043e98a0c44935d0180e7499667690ab8 SHA512 b1a21f6d54598185a8e8c29565ffc2e1bc5da57cf1c9d87ba643d23d7c23d53e8ad36ee2f5c1ec8a504334b6f98b0f17a832ff37877c7b7f9238b196f4034e6f +DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 +DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 +DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 +DIST indexmap-2.5.0.crate 85919 BLAKE2B 766da0a2ddc406e3fb1a70a0bee00141045ff72b52cc412adf05972ccef59d416f502c429dada111461cb522a5c442087e01d8fb235c2f1fd5493adea00e79dc SHA512 c4627d43b1bc5c5fd64861d1a7ed66255ec3f790367028b2758a40751286d6677da7170cfb04dd88ca4c2d163df621583d2e0dc4e9db6d7ed9bd0cbea42b1729 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68 +DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST js-sys-0.3.70.crate 53863 BLAKE2B 15e75a94a2b7c77ff18847f98f76a1442b6e5f66960f3375534440c382a255e6b16ba3cb8c5345365d2195f7598564bf856755988f1288eb1b0b964e26446e21 SHA512 5dff8e790447a475b3c0a7068f0bdf1cced5fb8be2d66c92cb6f6c799f9d807f9d3c498e4f42c67e16d83dd4bb3be70472ece20fc42c3a8c8d57615ac8d398d7 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d +DIST libbpf-cargo-0.24.8.crate 50893 BLAKE2B be1706b69494b5d27361dac5cc610cfd4a995ac77dfe79a37052a52359279c36685d7da1fe6677bcac316512a3a448ebe361f415ea30adf3066bb6e5f2391483 SHA512 c4e87559523fe1cf5024df16dac83b6d28ca9935da80446423798ac5b1f7ba1a77ffc07dbd3502e59ba80ff05f996ebf8ae7e09beef32e8af7a45f9b9b271a14 +DIST libbpf-rs-0.24.8.crate 94353 BLAKE2B 8bbfd877e328336c253fa6e475b634260a1a5e3689922bb13fd9728458b7360c9de6899ea28f6c6148f61baf07e87ac47879abc48a85df9872726b3b3670e33a SHA512 d50aaababd81834cfc4d840bb26f1c4cafdbd7418cdc80ee6008058cd0c19d3e0d7e7a6be139d24c9e2a00683484fbf9ec2b487956110d6724d87f16e05f6f6a +DIST libbpf-sys-1.4.6+v1.4.7.crate 4268424 BLAKE2B 9e79b6fb29dbc0e744eac2664a00c5a99d7a333b4f5730e5200a5577efc229e5b908d1ec692119a4709437184fd10c0d7e48a2993621a896ee728097e9982694 SHA512 52da381a9b957f65d6cb207cc40c9e72ae72c9159ddd81b35c83400a4959d2dbadd16d3ab7959632cc6dbdbe8a043037161c5b93c17d0f9be1408048e80b51f6 +DIST libc-0.2.158.crate 751340 BLAKE2B a67318ab24bb86c4df682cdf846d51f5f0a69504567acff43cc6e724f2641521945dc75dddc10c1c265fda960cb28b528575b5d39ce321073844dbddbc77bdb8 SHA512 c2d90d58480cca3464db475d7c70cd66bc1492239d8183038b48def8f5d8a437a1e2a2f084cb2bd9456889221b10aa07981cd5e9bcbb6bea28a2bde3c76f1105 +DIST libloading-0.8.5.crate 28902 BLAKE2B a0fca8f8876092e874964b3dcbaacd417451704fc1d687669a95a0b9df22ccda73a754118ac0bd706a7c7d86e4eceb2ad012e20e341d71548b34ea8d629bbfdf SHA512 f332884fa75cf210460f4678d45091345b23469c09301614c476e95bc54163afd6d4f098a34f9e0d529fa1ec63892395b50957598070ff327743e4c3b0871074 +DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memmap2-0.5.10.crate 26847 BLAKE2B 1cf50f710ffedcebade4f131b8c3103b036778b320da671305c0244077743c53da155d444bcc4d0eece294234bb6e86bffe67da67aaf12a116573c64ce0ebc50 SHA512 39bd2734ce4f16c7f5a5e771f9ef92272b26f511421d5f39dfd2aaca072400ee38f2cd38352005c0c8c359095131770ce1c14570790bfe19ce6a17f711deff8a +DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f +DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa +DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST mio-1.0.2.crate 102777 BLAKE2B 9b87abd99269c62e48c6be4fa197d2b12527b672c435d5f1f623f986c60ed391597dbde7d5b73a624a4df0eeaf9c9cedcd56cfd7ce4239757d59e67e9892c59f SHA512 77eae1170a318d4a53550dda3462ae070d25656cda51db4cb2dbcb28210802f9b7e279900e6d6eba68314a0c814c90eb4af7acc561f611535cb364f75ad4e317 +DIST nix-0.25.1.crate 272312 BLAKE2B 5981fec66eb96dfeb4b380130c4f2927a1f904b10744690e361b480355be31ac625f52614f95a89ea19fa07cc383b0975b3985f743c64f6780800e64a2f11f14 SHA512 e80b3a4e38b26687ba39b52ebebc6415e9618ca41e037d571fcaa33638ef28d022be02e2265db0149088a927fb81935329e651e2cda5c29c92038eb07fe55538 +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST ntapi-0.4.1.crate 126552 BLAKE2B ef5291a32f5edab4b29648fcc73df30f993558e45ed862a62a4d7e85f963f195f0a74c9e61eecf928c8966799da45a23694d0c6a1ad5f7d9ab3a8bce86d6d2eb SHA512 8e32d45a508d20f0d3537e056f363270120980dc23564713306e36acbc12a6d379eb3857026fecc16ca75080431e06742e3806801d3e0a848a01f64a8dd4f2d7 +DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST num_threads-0.1.7.crate 7455 BLAKE2B 282514d1c6ebe67ab2c30f91efd5b6c8880baa078265e22d5d7200eca4f96702aad8b537ba772e5d4e680a6e90fa6919fecfcf37a060668b2a618bb01bbabf2a SHA512 60eecfe49c1afca8efa320c5f4d0cd794f6adf8924193682c903307f484ca0a1ddb56102a772232aca040f29651bbe26ddc1c4939e1f030e229d179837e06bda +DIST nvml-wrapper-0.10.0.crate 77841 BLAKE2B 06f9890a363a7719e394b48e3c6df04f45eed3367188d5c371be5a2c59256d43c04cead2f373746dccc1f706a84a39da659e6a123b37ac527e38633deb9da388 SHA512 3cf9970a3f35e87d943a1d3616001283830786d5193f11a8ca5a628d95377dd3c649bea0d814b0353b9730bda79d1e204e5f3e6e761e8109550253cdbeffab91 +DIST nvml-wrapper-sys-0.8.0.crate 37707 BLAKE2B 39bd537a4af066636ff8d0fd86039609690e157306439f1b046e040e77c1613be25fa51125a0c2ad486a6410bc20e965c8b4757026f64f9c02cd7030b0f79043 SHA512 0cca5426c85e689a24f90c6801a2970084eaad53fd4c7031febbe97091cd51042bb814e90b83dce6090f4b8faf2bb935d2fa0a358a215f1cdaa964afc59f8285 +DIST object-0.36.4.crate 325802 BLAKE2B 1eb4fbe0cb2882a5371947234b4421b224c40a61cf71b994ee53074d70e010ee9b30638290ae89e14a9c6e1e339001852dbfedd4d740c642415c58327d121a76 SHA512 b929b3ad9ca32a5830a2ba103e6e14419b145c324b834b453d53f3cbfb5181246b2628baf5fc668c449f5337411d374b56abdd4d1dc4a744f65aaaab284bf77c +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST openat-0.1.21.crate 17503 BLAKE2B 1237236d5f5a5ae70615ba64e40fadf44e0eb1267b6b6875d8f1e87fafb3e1948a507b38d6276a16b765eaaf294a0f08c760d5c4bc40655134bb2e1ee30f3736 SHA512 2fd1ace390652f0616dcf2cf53fbedd0f54404d325494bbb0e3e6bab19aa388f05cedf6ded212e5568b6114b732a0ce6573f323a593f9dace8374cd19c24898f +DIST ordered-float-3.9.2.crate 19788 BLAKE2B b5e7326078501f7bd685e9363669714d413c9fe148d81ac2608cc2a01103fd726d6073717bfe80974c648040d169d80cc7685836c3a2d69cba71b8e71370bdcf SHA512 0da6c3e3cea03b1b5b26ed85b19ba1340f8c062160b17af0aee299d8ca38fc68d84743e146006e757943d2b66bda6d02e1abf104f1c7133ed70446a6cacbe24f +DIST ordered-stream-0.2.0.crate 19077 BLAKE2B 581285d32136bb9c2134f405c5a2d67c952a36eb3613912be029f2826b847919188e1b479506b46f20e0b63d371f476b99d9e7e1ee8d47ddef7b4f48451b0e3e SHA512 99976f90637f0daedeae05d4270d33bc03fad1c06a85bcf2cd7140b149f76c7560d5e60becf05a633a62dc82f7f65900eb8f510c62aea4e630b78c45dc76d83e +DIST parking-2.2.1.crate 10685 BLAKE2B 3af8020bc27ea921d6023c14f20545f70a5a5a5a216d5f97458d76d3bfc8d9de937f3c92668d31a79de85ce08ed0236d440c64ca1e4fe0a7748f412b941c052b SHA512 2e49137b59000f0467aa9ee0648d53e06cd2b8319d6ea28bf04c621b873469739a34186840b02f08d770d109cca26e161b3de3e4341dd729701885307a6a8177 +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST piper-0.2.4.crate 15950 BLAKE2B 265ee8a57029e6ffa6532dda8e4da94a288504b658fceca9426d2c13086255cfe5a1013b58dd02e029ac658b6bfc8ff59b88458fa620a41e0203413b78b7ce1b SHA512 88c6fd8d1118b37b77217fae004e47c01db8f95b9b925f1302c0577971a8a9f239b4ac07ccbec924d8912cc47ccfd88eb2045cc607b5fef3fbaf496d24ef7df4 +DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d +DIST plain-0.2.3.crate 10664 BLAKE2B b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35 SHA512 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252 +DIST polling-3.7.3.crate 58276 BLAKE2B 907f5cec860d5c631b7cb7ea9fc919df1a1b77dfe3ed4ca94f717316b78d73e9ae0f34391476a057d82d7376f819625ca1ca594ebbfb33bce7557db6663b7f2d SHA512 a2db17dcf623b77c8b94e36ea5f55059a35a70aba80f261428bc5b8df175dd1a95e302912bdf55dd1a6a3282fe4920054bd1cf6d7bc6eb52a70556d220e05429 +DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 +DIST prettyplease-0.2.22.crate 58169 BLAKE2B 74b78f69b167d253643780b007726afde3a272c68b334b2b610d14bca1a2b02ece1b92f793341990a401b71357a858c4c9bf6c0bf965c61bc22a0a2cce84903e SHA512 bd3a3ed1395fb1e2eaff6231a9c54ce68ddd4be2cc30a6a871e32c943f7201b5c0956b16b3c478872daa521b92424060012d90be9bb45199e19e0b65860e7c18 +DIST proc-macro-crate-3.2.0.crate 11164 BLAKE2B dba3e1f4e38f427df72794ad891746fbb8c24239cf06b076e75ab6795a7e8c9abf25ae0f40379e07a696827156e7a3780ae242da7e5442cf1224d058f54b83a6 SHA512 41479ec5e414a8b05dffaa0ece21122387d5165a54e60d8ee3502f8a3c0a2ac0247f56996f933d5d77f1efe41a56bffe16874e8c6a34b66100cf047e4b760863 +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 +DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0 +DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 +DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e +DIST redox_syscall-0.5.3.crate 23830 BLAKE2B 0a38235ec277144f0c3e7bcb1d273c7f357d85aef33dbd06328ef16bab7df0a07b523431590899ea58d55e8e1d84c32392478530200cca3a9483e8a47b29e233 SHA512 777d1208004b7756887d6c5745ea408972670e59430e1d299d01a463ae41b98e0920ee77aefef8755fc949d4799dca679afaaae9c1a7d060f76f69af5b90427e +DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 +DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 +DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e +DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 +DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 +DIST rustix-0.38.36.crate 370932 BLAKE2B 0c4b963c9045fbb6fd2e4fc91888f574de531074a4a131aec9d8d2f44f3839778bce601050848d9edb2ce4019a94d3226835f7a776af682daf73e5cc52eb6f5b SHA512 2874bbb5fbba8b9fe883cdf21e9662e84f32a3fdf50c8662a908754436d16d177c4c01810fd08a01b2690c79bfeaf8abf29e5efa0987348d93671499cb2fd550 +DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c +DIST scx-1.0.8.tar.gz 4206261 BLAKE2B af9b832945ec99a188d437cd4ce898a93768910661bed8a48c8c8d4a93e0550c9f34d356a7b4c78bbf4afb8477f52c475eb0cfd3d6c91913556d473a9972b8b8 SHA512 dc9352a6d131b4dcda1a721dd792bebc159f439cef8b14d2c9b065c3144892931dfec23f5db802efb13d3961a00a36720f0295553099dcfa88b33dce6cbeebcf +DIST scx-1.0.9.tar.gz 4552837 BLAKE2B 5f6aa0c37cc62f59ea87bf881f0aae41d94fb2884e140cffdfdb70a52a7330aaebcc483aff350c80172983061ee339e50dc4d2c480ada0d53c8c7391a51b547e SHA512 d17d0203d0f7144de72ecca37f8a9a8bcfa8b68c70a20a985bfcca16f49bce9cda8a5de57a6f2852ed679721b28bdb53ec3a01d0c17b4d0123eeb56e4ce8990f +DIST scx-v1.0.9-crates.tar.xz 29505484 BLAKE2B 45ebc950b118535630ae0161721aa32fe0f1f9457e0146b26570bf46b7411c335882009ad8c4d640e8cdb06439423618c6ca60485fd21725e6893697ef379adb SHA512 ada609aa5f9d9a5523e037c48f6bbd65e82ea19bc6a0a293cb8f9ff1a3a12a26b3dcab182af2b207051ea4e900af903f3c4352553b2a9147d8c44ed805af74a2 +DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec +DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae +DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 +DIST serde_json-1.0.128.crate 149520 BLAKE2B 246eb865f64a0f161b79f3d4f783dbadbc930c4a19edb6c0fe8f0c6145c7c47be4b692d3e084b1b500820ece8e94214820978cf898926dd805bd431fb411bbc9 SHA512 9e6290d3a6a971b3c37bbc97097b8179e64c655779b43c7b75303a35ef7030f5401b3a5f62cbc95a7bd5f42ecbefb0b469234d78a76c8c1597726d8e08908a7d +DIST serde_repr-0.1.19.crate 9997 BLAKE2B 1bfc8e94b8c3cf897813f4749d6a1112c1097c2c257821eb366073a41ac46084a21bdc0ee4e3b99d82444619a894472e24fccb60cbd8a41ab7d5b0469cad7c41 SHA512 678216a62702b3300fef850f10ee60d88f31de1fbeb7300e3fbbdc4e4a9cbc95c6890c8e7b9385223ec837d9504edd53e69b620f80609e54579c0994ed1ab0a1 +DIST serde_spanned-0.6.8.crate 9330 BLAKE2B 630bb2cabd74e8d9736e315ac57c4d2c5c4f72264aab35ecc8e0040cb4186885722051a9f7b8a9006fd121fe58428cbb151e5cf541e7de30b6528c84e968f7ac SHA512 2343a2fda35ff57ed8ff7d8eeadd651821fce7e22f91c2d5797c6af7db9e009b7d637382f6f390c17911912865a5aea1ce87a86fbe36f4b6aeccb065a4c8942d +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST signal-hook-registry-1.4.2.crate 18064 BLAKE2B 7274d4c115678eae2640a709bf9d682ce867c1f6295a0c5f49e492f95dd1c457f20b56207a74221df1fd9d744b24c6260e28f705777e3c7d47b7bdd36f1d57fb SHA512 16362d232b1d301007c069198d7716848aa73d898ef92e050422b36c09001b4334390dc95a6650e5315377fd8960d4336e5ae869b0a305e8525e977b8327c508 +DIST simple_logger-5.0.0.crate 12195 BLAKE2B 0fdc4c76bc88aae2b12418f6ed3424383166262653db4e396016b2bb28993efe7fdcfd13c7367f484ecd1baf034cff27f3e1688abf402bd6f7e4108433c9b3f6 SHA512 50675f189b0d4c4b965db70c3fc89a6ce4ea8d2fd672c67d17cfb770469c1339e833213c97f143510f0351e8eb262ea44af8e3ef5a6302d89db73900998fb4b6 +DIST simplelog-0.12.2.crate 21548 BLAKE2B 34f2221981fb5148e9f2b87e3f0c7d2d81c9bbab65f19a952a14d055aee9a6361308e953a8a21a190a10429354b44fef1205f095aae42ea7c1f7da9257fd9ef6 SHA512 d1ac5ae3df161ad76a71d5c56b9e0d4a36ea2be5889fb1a3e457cbc587ea87e742ab7ad4b315305227296fb63a897c675a5f3cb8c8fee96ef1e387fda2e0d715 +DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 +DIST socket2-0.5.7.crate 55758 BLAKE2B 148d2e2b6610895ec555b1357b340576984eb76cb3ea719f85af50cc4215b2ea2db739e2a61434c09360a0c1ff8e05911764e18dc4a59451c0aeb0eb60b8403f SHA512 ca37157bfa970cf3cee8b45c7fe64930becf2ffbbc309ea4613be968400279b70edd084d159f65b76fe1130917312d81455023c0d7c1bab7a59c79542aef9dcd +DIST sorted-vec-0.8.3.crate 11870 BLAKE2B 1e79ba3a91d0f4949ad58a88123e6fb066eaf4f6ef17054b8e46f2a2e9d2c693e70b18f947e983f2affe21480fadec6eac8cfc0c2c67c402d6a31878bec47c02 SHA512 aed07023577a0c17d74d7646728003906076fef379719470e7dd5eadfdb8f140a081b87f26ed58f20324a091d2685fba89fc943c8efc6d57c570dd801c3330ee +DIST sscanf-0.4.2.crate 44026 BLAKE2B e3fd2256f5bccadb912a862e084f7ff444a09da8b319040281ca37ffc65296aec91b18ae3f856d905863fba41743e3567800a65829e0c2d539597476d0241529 SHA512 702e7446e4bfd8f3f09f0cdb2a3055e4f34e6447b49aa605d2a3b14570972a341c1e4a72531c444e901a25ed3be2c6692c4bd54284d2a8cad7cf73c6b5d2dc39 +DIST sscanf_macro-0.4.2.crate 28776 BLAKE2B 9c35fd130b9c6448528821b70496159b41baeffac7fe640938c142bffe9bd5f356bef6da1d834ba62d538f29df2d8ba57eca51ecbf178ffd93df1c8cf83f9e8f SHA512 b1ea675ee9d9f78c3db2e0823da9ad03ffed8fc35d14d999260143398dcdf0a1c692a1ef73dec93526469748a70009089d928cfd916e835642684cd341a2dafb +DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee +DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST syn-2.0.77.crate 268784 BLAKE2B adf14ddc4b284ad78dae3c05be7e63a58a85a2ef16c1051b991aa278843ba7231f0da3cf2adc65eb95762d4c88b4e1440cb616c651d3bb568392bb036399304c SHA512 f8030332c3c4ab34fc1e86196eb0eeda9700e5438f2a339591a5968d8bdd3373b523dba4bd998bf578e4247e0019d999d4e9c6d062a1dedcafe18d27b6c9f6d4 +DIST sysinfo-0.31.4.crate 182989 BLAKE2B 311ddd7c5e13e4e69406282ee50ad88aae4979f3ede53c764a12226f4b78984fc8736ccd76923679f6d3bd82921336e686d9d3c02a7fefce56a19cfd33f4daed SHA512 9c40515b892c16687c942e5184b019784f81c92e693ff59c26001b39e464ccba85fdceb4994a91f79fba22e9e8c769b14aa89972c572fd26797e0e71243bc579 +DIST tap-1.0.1.crate 11316 BLAKE2B 60786fd5f12c2f06097330c26809fdcfce62716586d2e1985f8c01406d356ed0ab730a04dfe72ee3e1d6208a53c76c66883d45a76130750b41ba5b82aa721b83 SHA512 d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995 +DIST tar-0.4.41.crate 51871 BLAKE2B 7b24e1d923089cff48e7f5be141838f5a3db78477ba58304b7a076d5d2eb31525f307d674546e0023e78836f992566646724870eee556db50e96d5a0c851cbcb SHA512 547d4a10cca5b593a04e3775bfc175a3a4de27f3c4dede305c6d50b63b4eb38152c6f06280098f14c4fadcca4cc9aa98626ea50aebe9bab2cb7b7f4e0c4d2b92 +DIST tempfile-3.12.0.crate 34423 BLAKE2B a8b84f54a54be636f5b69791ca567e8b692d6a8485ef37e5a8340d26b32b1b0f9f8e9fcd9a2da90ec2fbd39c281d364dfc5723d06892832edb79ea5cf45d069c SHA512 1a27513548060984be894e6f8fc215831e4b2054b2244c6188bee76c477c001f294c762f2f4a14488c58c04e5d1473806d589c7bba1eaa2cc02d97656709be66 +DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a +DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681 +DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753 +DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102 +DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0 +DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133 +DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 +DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4 +DIST tokio-1.40.0.crate 789848 BLAKE2B cbb0aba8e31ab37afd21ebfb89b5dc961d3d19d38711786ac0860dfd24cfd7ba8c8998788a1e4e5dd8435c498fa754742c183cb8ead085c0f98a06d851a9dea9 SHA512 3026362f2848d9e7fedc9005e8bfa0413efe18c49a07f85b9c7aba619bd9525f6ee8c3c65621e43df3bf37288f5b7a63ea57ecca061e4ae7153834e93108bc10 +DIST tokio-macros-2.4.0.crate 12501 BLAKE2B 9b358adb86e828faeb956d24a1ebf68b51a69bce519ad9760ec3d3b8eb1cf4435afd4edc5ddbf634fe152bc77b8675182dda3f076f1011c5b5b97850c1fa1689 SHA512 f4a445f6c2cc7c1cfb5825919cd3dea3af52720c7793c20601d05870e7efbcfe0c6231fba7ada49b5ce46757f0e1475b3667914ff33c2fcb25e9a40151bd2501 +DIST toml-0.8.19.crate 50974 BLAKE2B f68987353837b74421256fd9a76134bfbfe93887cfb25145b65b7e6b31ad2c3a3384829a06f50c771a2a0be0c5467c856cc631af69f586ea056c4f15af9e3b7c SHA512 16fdc58d14516e81badbe8c9a4506db75b559b377c9c4fecee79e76007b31a4abfc8c8868bf9159f79c6f7c0218f93bdcfb92b669b0917db7da42b51ec155751 +DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f +DIST toml_edit-0.22.20.crate 106726 BLAKE2B c545e7460ffcff1404dcb77e577121f6ef332645cc0566b2e23af72743cd40e571a74660e8034ddfe75c4ae5b0bac8d9cf2915e8c62c283eb977ed3a43449410 SHA512 f1514cb1c89fd0d89bcf13a448cd8f0a0a31e05b9c483d9167e6890d70594175dab570c267cbc6596382c2300299c8d1677a5a331bc407e80832da5b7a580294 +DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275 +DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0 +DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521 +DIST uds_windows-1.1.0.crate 17040 BLAKE2B c77914e150d2f0afc5c55680e28ba242238f4f1291948ae492fe63c16791e443ef33bafa6686cb753e53361ce452f2df27d2bf4088fb1ae203a47df3c55856bf SHA512 092c41f6fac2aacd5b83009b4aabe2cfc487cc1ad5ebc8237d9804aff0c5c823d3c079d99748e9ec3bb1c02b8a51f6a22e41441ec9a72c50600c08b1efdeb0ca +DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828 +DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 +DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef +DIST unicode-width-0.1.12.crate 24062 BLAKE2B 61afd22353d46a8a77519af9b3580d75dafc7965967f7724cb740f1ee199c7742b3549ad6c67776b876dbda5b8f27c634431f68517e29a72ade1622da9fde446 SHA512 0bafd7a69bdf49c849e7c063ebf0487eca8a76244e3bc18c9a5f4609465dc0e5d482daceb6a9a6f4125b801bf7063cb8225fdb55173e5dc55e7bf278300df1b4 +DIST unicode-xid-0.2.5.crate 15530 BLAKE2B 99dc8a0f9727c86fe3ec1ee119487ba4cae579d009720556ed598b58c0ec593f32b4f7459df81d4e4d06db351d368d2c565af7b03e15d4e5c984fd50f133cbe4 SHA512 ad8a23407aaf16eae14a44de201c4a0152bb07584bd36a5c460fb744859978cae131424c32033be4ebacc9f9a1dcd611f9ff4a98b84f560109d0c313585ce5ce +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST vergen-8.3.2.crate 44740 BLAKE2B ccc28c96d4f83884a6e8d06a1dce28dcc966f1af7b5bf039b535821a1fed2361bb52d1d03daf8f722efd43808cf39da4761ecd8a0038f2a192a93791a2615075 SHA512 4f20c80f74b9d8b8b7e706173573d5d017c4c76164c8895b5e11f8452e103fd550d98de4458df18c2f83aac614c56e097636345837509345e8cc4465260a8906 +DIST version-compare-0.1.1.crate 13224 BLAKE2B 4bb1e7db6a4a5b30f4ef950234fa939bd562e8d5693aad42a5dadddde7caee01b4dc42b28d8ef61a769cf573440e57c0dc321f8a8b4b3dfc0cc035507bfed886 SHA512 efc9441440f702518867e2056c0ab066cd2fa6949112479e463802610f25a4d50c4411eb5fd0ba6ca9b187e358fce8d99579188e0ed9ba0297191172ab7af408 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db +DIST vsprintf-2.0.0.crate 3043 BLAKE2B 78ac38ef0b2135c1e0c15f0d8a8da06d67323259e47fbaefd6b5c6ca4e451111d3bd30c01f270bd858fe9e60c087d945cb2fcf1840c811af7c79f33276d58608 SHA512 0db4b0a607eebe6592f26a96d832bbba0d3807ccd73472f2250c5e77b73b58439e876a961999e51796485609fbd1bcd89ca4e561c318fa86021285c495dfa0a1 +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad +DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f +DIST wasm-bindgen-0.2.93.crate 43769 BLAKE2B e1abf981a042ebbc5c506975d5c2258942278fc000ac62aafe4221725fc52003c4032dc04a396e8fc8ec6712155e056ea9381a72070ee7c45b348ce470f52c7c SHA512 0c0a63b04b02b57fca78d2c0b885ea752ef1e8e4317c27dc84fd35843c9c396ae20557a1321c03a405b050f21895e6f25e95ddb56f3a3e8cec13928858ae8422 +DIST wasm-bindgen-backend-0.2.93.crate 30344 BLAKE2B d0b9f0cd0e6191dc3f57869023450952f2d73c0432fd4516522df5f63090de021f44f11ce7676fd2f87b31f6b236eb155b22b36eb80c3ccf3880f55ca23d4b0b SHA512 c67dad5fa26f78b233612cb6ebd44f48edd84253e46a2f5094e95da935185cf2a7be14d49247e8b8cd1d916721ed82ea44046080a40b2fe37ad88175a5f96597 +DIST wasm-bindgen-macro-0.2.93.crate 6822 BLAKE2B 3704c01b90ae900032e455a265b614d1057a7ed7b7eef1ebfdce75a7b0f0b97083211db562d1602160cf9e70843a1949be836465398787315d66ccf85fbe0801 SHA512 8b1a690bf4fc344728bae21a11c8ce4641d81b02e215d88a489f8155433d8e579ed367c96bc19a345b561f2ddb42afa44056b71e15dc935a4fe38fd7f937a632 +DIST wasm-bindgen-macro-support-0.2.93.crate 20642 BLAKE2B 3fef9d35c09e97317e8531f11c3cfcafc5cb58126ab7a96374cd5e2e3f8736ef016b4c0b3b16bcdc0bef686e9f07439f263c54dc980649e9963b12d0a6814ddc SHA512 9fe590636e229184a944acbb8472c03db0a48a9094cd9ee204c09cee6c5241194a9757f06b09e7c30ba9db1a2feca616cd1e7dc0e52c7f1c1560c50c9d3adbb8 +DIST wasm-bindgen-shared-0.2.93.crate 7527 BLAKE2B a2df995ba72d83beb3f347909c004d9693ee06cec62de248a1f96b0244c05dd8b62d46356f1b7eb0a29122517bc23270eb4eaf045e6cdbb7122089dc84829d9f SHA512 4e9271a746d3b3ea44bae472b7d9722edbcf262fdec2e03c18788d95b923c71c26f309e316ad3c621d5773311d6b1d5ad468cd7bdff015d162193b6effaf8420 +DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5 +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-0.57.0.crate 9694564 BLAKE2B f506c91f909e82f0ba7653351bbd9b455a4a028cac24ed0cf7bedf07e3670f3b804391ef65fd21a8a66c554c1089c48244ff1e30530bbe40bb94ea240454778b SHA512 df59ddcb41a6a4e4598b06e66856bc7bc01162e0fd1f109fcfd24e1c6c835475241746fb6a9abe458cff55a7c524837ffc48c6a3e0fc0b4f5edb614cc1d1062c +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-core-0.57.0.crate 53695 BLAKE2B b986279aacd34409286ab5761ed38cea9218a2c9b4c5463ba662033b08a167cb65870aae17273e7a0977315ff6a6ad7593011d559fe51d8d8ca157184a1b2542 SHA512 db7dcdfe0f464206b15fbd262539386f67102f2c54c1ff7fe2e6a2e2b28e8d5e4ee0312b787ea55632ecf83260552dc2ba0349933b2d5ada4527b95d196c62fa +DIST windows-implement-0.57.0.crate 10470 BLAKE2B 62bf0f37b73ba8d02dc316015deb7c47c9ef82e0d64cb7d1e624b320cabb37961a8ffe94132b97abafe1d1792bfd58b79d83b0ac3fb14e917f9ed6d9d5f7d362 SHA512 a78d37c8af8b163fb475f02ba667fdc6242bfd7b647061de2156aa94853ad793db112f0fb69549ed171119d654a4ccff0435c73664d5faaf3a32454054e1f12c +DIST windows-interface-0.57.0.crate 10931 BLAKE2B deaaf2adfffff0c0ecaea0f43bfa772871e5f0894ddc6cd8a3bbf211c341bd04db653d4c164bb29a779665972d605439a3a79d5d8072ca78a3a228c1969c4fa9 SHA512 5c5814f81f819e9d220e8b16342f7ffc051cd920b466d8213144298e038b9c92e8ebea8e130c5357e5c6e9b04f1b1db125acedfac2d189658d12183f637248aa +DIST windows-result-0.1.2.crate 10601 BLAKE2B 75db56ada75b59fbc450ea39d73c7ea2ca05239c7a1973bbbcef2445f5fe009e32eb0b1df15ab8b44802cebdb71671ad5e741019beea2d49eb59c37534b63197 SHA512 435649961752a345aa3bf5234f88c87248768ce0ee099f6836e889406941069fbbbb17b4c6cea981fe0aa30bcb8839dba88731fbb023265a14b6232c03fcf7df +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST winnow-0.6.18.crate 163357 BLAKE2B 7a43eba294c43b187211c6eabc449775081f44405045ec4786c5f10290639e18d002e872f9db14caa94e26fd99079c7ce2f99e70dcb20d842c0886ac203d8ca8 SHA512 3a146d9dc8fe3fcc855f7766852cd69c49a28f9048d553d3952d7722d49216cb44652d98b15ae1ddee99b2bbc3caefb107a9b85c309242dac943deeca65a81dc +DIST wrapcenum-derive-0.4.1.crate 7400 BLAKE2B 52fe7222fa04ca8488bbcd95ff33ca86f60eeb47b9c9cae4a2b7dd379ae6f39b046dd38f1a9a777b63636e517480d2ae0e4bf49d75247a2dd88228583a747c62 SHA512 05b600007874493c6b2360d47214f18663d21722c7a91004867c0cbf4327b4af0c4edc47d9507e6183f2ca0862cc7f0bbd8365ec5f9dce477828359d6ed92990 +DIST wyz-0.5.1.crate 18790 BLAKE2B 07ac1435a812d2f50309348ef8378ea4955c001f01edaf2ffab108f7d524ee731f06b22fd42c043349a4a2271ec47ea203e89562076e8c7c1719112b0214c89a SHA512 15d86c167145c90e3fbabcefd11754fb1cb835896e32d1bb7f4b027e5b2092f5fdbdca4062c129bc38e655cb87c6a3f4e181747ee25d89db5e01fb1fcac18fe9 +DIST xattr-1.3.1.crate 12580 BLAKE2B 25c414d761a7fcd23bbe057add62c6da971cf33149066aa024320ab80e0ec8e8e8d5d3d0506e8de954b8f8c178d34c52a00a5fa9aa109510678098a3e3564b7f SHA512 4047abda42b949cf58f820e15ee99850de483857bbaaef737eeee48e1a2132972470f15bb2ddda56438f6a934918be96607a8de518a5a3dcec7c8ee6c00ad280 +DIST xdg-home-1.3.0.crate 4000 BLAKE2B 0da36aadfa518f1ecb3fe9067eb4c014689af1f76c71c592184aa4c4fe457883faf1dad757344b375a92c484bcb3d7a408f8759c24b2e7738ef4997c870fdb85 SHA512 4d090f18ea4a37199d2c1760faca11e16ba9069086245543b3390c53e74a84145144a94863c7d8c3155a9d616732a3cd8caaa1a416c43dc4d107ce045727279d +DIST zbus-5.1.1.crate 161284 BLAKE2B fd7ba8bff806fa672101863d8f68ac2632a202f75d855fc7105bf6dc633a0dc96abc072307a8ba97470402fc86b53ff8a8e3c51aeaa672a5f44ecf0f2c36fcc7 SHA512 ba56988da55ed0a0d285fb35c98810a255944fbc3d29059896efc7510c1ad379b48f4a69181fec0069aed5a794755d2c0d5ffa44f76c3e3b53df348d73130a6f +DIST zbus_macros-5.1.1.crate 31455 BLAKE2B cd951b342dbf67a8337e26c88e6b337c5be376596fd6a9d6419db81e9e2eac34b86b224ed50403e0faf79a6d8d56e7904d54047d2869fbeec3145d947e6ec774 SHA512 e6b4a64bb3e9686ebafac9de6b91be11b320f81a813c3f01f9b577654d37d89840b5b997a8c1b234c433d2a22e70a4b626433683af2fb6b5671a673a9056d22a +DIST zbus_names-4.1.0.crate 11532 BLAKE2B b1c5092b3b898d890e19459021dc6d540ef4154ee998bd1e4e210f12d2933960b5e8caa44f75e09fdccbbc4d80988fb55caa2ceffc22397b96216594a5e65421 SHA512 9e65472efd6d29c62d803d13d053443b6ddfb3de6ba322a52ad5907a2573779494f9bf031a2db243a6495507691adc8c65f8d25432bac90e80d14e9513216944 +DIST zvariant-5.1.0.crate 78529 BLAKE2B e4842199571c480032bd6fabf5a2921aaaa8811829e3651f8b3417e1289fd6c2bacf39b6f9e7646c0ffe8fbc30ffbca4181d28fad2f800926f158b98624b7866 SHA512 48ec2d9ff064cf89f69032b87f5f77bd19d8f685788ca1d846e2058cfb3d92059c4fc9cd4ce0e483861c03db87cadb94370e6f2014a32cb32440c747f9291d0c +DIST zvariant_derive-5.1.0.crate 11483 BLAKE2B d363a679d522d9b241f65eaf29d838f466062ed0ea963c95e9e042edf752d857c789f30e34f2b114196744859b4c0d8b4c272560a5581e057e90509d9cefdb85 SHA512 dfd75d66550cbde0f8d1c920f8f86cf1790241822d8f2c0befa0a4fb9fd82ed5a2d9a4701796d5e768ebafb3bf716bcb1234a5fe8538f4e739efd9674b11f357 +DIST zvariant_utils-3.0.2.crate 13751 BLAKE2B 2bd54b955b677eb3d7a6930677b8c6657a1802ac183b4e59646a16351f40bf0adc535dca4024d084c8e8f3cc05772a79b6a9142b407a965fb89cb24c02f0433e SHA512 8711367ae755fadc5a36cad7ec818c73f03d5c6cfcf5a8e9675cebcd3ae15eea7863b183fea68aa324e34c016d44fd174e6c78470d3f0711f562ab4752607906 diff --git a/sys-kernel/scx/metadata.xml b/sys-kernel/scx/metadata.xml new file mode 100644 index 0000000..81f9d5c --- /dev/null +++ b/sys-kernel/scx/metadata.xml @@ -0,0 +1,28 @@ + + + + + vimproved@inventati.org + Violet Purcell + + + proxy-maint@gentoo.org + Proxy Maintainers + + + chutzpah@gentoo.org + Patrick McLean + + + Florian Schmaus + flow@gentoo.org + + + Enable support for sys-apps/openrc + + + sched-ext/scx + https://github.com/sched-ext/scx/releases + https://github.com/sched-ext/scx/issues + + diff --git a/sys-kernel/scx/scx-1.0.8.ebuild b/sys-kernel/scx/scx-1.0.8.ebuild new file mode 100644 index 0000000..6a0f182 --- /dev/null +++ b/sys-kernel/scx/scx-1.0.8.ebuild @@ -0,0 +1,383 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +# List of crates for pycargoebuild: +# rust/scx_{loader,rustland_core,stats,utils} +# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} +CRATES=" + addr2line@0.24.1 + adler2@2.0.0 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.87 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-executor@1.13.1 + async-fs@2.1.2 + async-io@2.3.4 + async-lock@3.4.0 + async-process@2.2.4 + async-recursion@1.1.1 + async-signal@0.2.10 + async-task@4.7.1 + async-trait@0.1.82 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.74 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + blocking@1.6.1 + bumpalo@3.16.0 + bytes@1.7.1 + camino@1.1.9 + cargo-platform@0.1.8 + cargo_metadata@0.15.4 + cargo_metadata@0.18.1 + cc@1.1.18 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + cgroupfs@0.7.1 + chrono@0.4.38 + clang-sys@1.8.1 + clap@4.5.17 + clap_builder@4.5.17 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + colored@2.1.0 + concurrent-queue@2.5.0 + const_format@0.2.31 + const_format_proc_macros@0.2.31 + convert_case@0.6.0 + core-foundation-sys@0.8.7 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + ctrlc@3.4.5 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + either@1.13.0 + endi@1.1.0 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + equivalent@1.0.1 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.1 + fb_procfs@0.7.1 + filetime@0.2.25 + fnv@1.0.7 + funty@2.0.0 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + gimli@0.31.0 + glob@0.3.1 + gpoint@0.2.1 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + indexmap@2.5.0 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.70 + lazy_static@1.5.0 + lazycell@1.3.0 + libbpf-cargo@0.24.8 + libbpf-rs@0.24.8 + libbpf-sys@1.4.6+v1.4.7 + libc@0.2.158 + libloading@0.8.5 + libredox@0.1.3 + linux-raw-sys@0.4.14 + log@0.4.22 + maplit@1.0.2 + memchr@2.7.4 + memmap2@0.5.10 + memoffset@0.6.5 + memoffset@0.9.1 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + mio@1.0.2 + nix@0.25.1 + nix@0.29.0 + nom@7.1.3 + ntapi@0.4.1 + num-conv@0.1.0 + num-traits@0.2.19 + num_cpus@1.16.0 + num_threads@0.1.7 + nvml-wrapper-sys@0.8.0 + nvml-wrapper@0.10.0 + object@0.36.4 + once_cell@1.19.0 + openat@0.1.21 + ordered-float@3.9.2 + ordered-stream@0.2.0 + parking@2.2.1 + paste@1.0.15 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.4 + pkg-config@0.3.30 + plain@0.2.3 + polling@3.7.3 + powerfmt@0.2.0 + prettyplease@0.2.22 + proc-macro-crate@3.2.0 + proc-macro2@1.0.86 + quote@1.0.37 + radium@0.7.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.36 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_repr@0.1.19 + serde_spanned@0.6.8 + shlex@1.3.0 + signal-hook-registry@1.4.2 + simple_logger@5.0.0 + simplelog@0.12.2 + slab@0.4.9 + socket2@0.5.7 + sorted-vec@0.8.3 + sscanf@0.4.2 + sscanf_macro@0.4.2 + static_assertions@1.1.0 + strsim@0.10.0 + strsim@0.11.1 + syn@2.0.77 + sysinfo@0.31.4 + tap@1.0.1 + tar@0.4.41 + tempfile@3.12.0 + termcolor@1.4.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tokio-macros@2.4.0 + tokio@1.40.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + uds_windows@1.1.0 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + unicode-xid@0.2.5 + utf8parse@0.2.2 + vergen@8.3.2 + version-compare@0.1.1 + version_check@0.9.5 + vsprintf@2.0.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.57.0 + windows-implement@0.57.0 + windows-interface@0.57.0 + windows-result@0.1.2 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.57.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.18 + wrapcenum-derive@0.4.1 + wyz@0.5.1 + xattr@1.3.1 + xdg-home@1.3.0 + zbus@5.1.1 + zbus_macros@5.1.1 + zbus_names@4.1.0 + zvariant@5.1.0 + zvariant_derive@5.1.0 + zvariant_utils@3.0.2 +" + +RUST_MIN_VER="1.74.1" + +inherit llvm-r1 linux-info cargo rust-toolchain meson + +DESCRIPTION="sched_ext schedulers and tools" +HOMEPAGE="https://github.com/sched-ext/scx" +SRC_URI=" + https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="openrc systemd" + +DEPEND=" + virtual/libelf:= + sys-libs/zlib:= + >=dev-libs/libbpf-1.5:= + openrc? ( || ( + sys-apps/openrc + sys-apps/openrc-navi + ) ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-misc/jq + >=dev-util/bpftool-7.5.0 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] + ') +" + +CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~DEBUG_INFO_BTF + ~FTRACE + ~SCHED_CLASS_EXT +" + +QA_PREBUILT="/usr/bin/scx_loader" + +pkg_setup() { + linux-info_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + # Inject the rust_abi value into install_rust_user_scheds + sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ + meson-scripts/install_rust_user_scheds || die + + # bug #944832 + sed -i 's;^#!/usr/bin/;#!/sbin/;' \ + services/openrc/scx.initrd || die +} + +src_configure() { + BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + + local emesonargs=( + -Dbpf_clang="$(get_llvm_prefix)/bin/clang" + -Dbpftool=disabled + -Dlibbpf_a=disabled + -Dcargo="${EPREFIX}/usr/bin/cargo" + -Dcargo_home="${ECARGO_HOME}" + -Doffline=true + -Denable_rust=true + -Dlibalpm=disabled + $(meson_feature openrc) + $(meson_feature systemd) + ) + + cargo_env meson_src_configure +} + +src_compile() { + cargo_env meson_src_compile +} + +src_test() { + cargo_env meson_src_test +} + +src_install() { + cargo_env meson_src_install + + dodoc README.md + + local readme readme_name + for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do + [[ -e ${readme} ]] || continue + readme_name="${readme#*/rust/}" + readme_name="${readme_name#*/c/}" + readme_name="${readme_name%/README.md}" + newdoc "${readme}" "${readme_name}.md" + done +} diff --git a/sys-kernel/scx/scx-1.0.9.ebuild b/sys-kernel/scx/scx-1.0.9.ebuild new file mode 100644 index 0000000..501fe1e --- /dev/null +++ b/sys-kernel/scx/scx-1.0.9.ebuild @@ -0,0 +1,129 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +# List of crates for pycargoebuild: +# rust/scx_{loader,rustland_core,stats,utils} +# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} +CRATES=" +" + +RUST_MIN_VER="1.74.1" + +inherit llvm-r1 linux-info cargo rust-toolchain meson + +DESCRIPTION="sched_ext schedulers and tools" +HOMEPAGE="https://github.com/sched-ext/scx" +SRC_URI=" + https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/scx/releases/download/v${PV}/scx-v${PV}-crates.tar.xz + " +fi + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="openrc systemd" + +DEPEND=" + virtual/libelf:= + sys-libs/zlib:= + >=dev-libs/libbpf-1.5:= + openrc? ( || ( + sys-apps/openrc + sys-apps/openrc-navi + ) ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-misc/jq + >=dev-util/bpftool-7.5.0 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] + ') +" + +CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~DEBUG_INFO_BTF + ~FTRACE + ~SCHED_CLASS_EXT +" + +QA_PREBUILT="/usr/bin/scx_loader" + +pkg_setup() { + linux-info_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + # Inject the rust_abi value into install_rust_user_scheds + sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ + meson-scripts/install_rust_user_scheds || die + + # bug #944832 + sed -i 's;^#!/usr/bin/;#!/sbin/;' \ + services/openrc/scx.initrd || die +} + +src_configure() { + BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + + local emesonargs=( + -Dbpf_clang="$(get_llvm_prefix)/bin/clang" + -Dbpftool=disabled + -Dlibbpf_a=disabled + -Dcargo="${EPREFIX}/usr/bin/cargo" + -Dcargo_home="${ECARGO_HOME}" + -Doffline=true + -Denable_rust=true + -Dlibalpm=disabled + $(meson_feature openrc) + $(meson_feature systemd) + ) + + cargo_env meson_src_configure +} + +src_compile() { + cargo_env meson_src_compile +} + +src_test() { + cargo_env meson_src_test +} + +src_install() { + cargo_env meson_src_install + + dodoc README.md + + local readme readme_name + for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do + [[ -e ${readme} ]] || continue + readme_name="${readme#*/rust/}" + readme_name="${readme_name#*/c/}" + readme_name="${readme_name%/README.md}" + newdoc "${readme}" "${readme_name}.md" + done +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest new file mode 100644 index 0000000..e21dc5b --- /dev/null +++ b/www-client/firefox/Manifest @@ -0,0 +1,513 @@ +DIST firefox-128.7.0esr-ach.xpi 465483 BLAKE2B c0717d674ff6ef9d4b9cb16ee4a6a023467408364be0b95ad9c483d3ed2e85b07b7ba0b7c855235cc6fb476e7bf2db1489bd013d72459e65f47eeda6b2bd6155 SHA512 e52338351c9c04f52a1cb2b78a252e1f419c2595d173e565a4ef902bcc4bd78ecc37acf7ba6eb3062ba8d09a2ac2fa83a72593abf020492ec437d843754bb5a8 +DIST firefox-128.7.0esr-af.xpi 418819 BLAKE2B 3d040b9ed03ef6f458d591d3db5f2c58b52ae2bed6b0b591fc0fb5ac179ed2f5cd577b9d2e1523fd152bb883716654f07eb1ef3eab659244fdbf7c6e2b0f3f84 SHA512 2f51ea8f920a2b5e694ebb847098f9807c1392ca0cebbda156904894314fc6221f428f4dffdeaf298681192b486341baaf25f75e896be191456317168de10c41 +DIST firefox-128.7.0esr-an.xpi 508460 BLAKE2B 0e2328a7dbeba03e903e4773f3d1915f4afa79f3766e1f3e901cdb5e6201d5dd959093cbe2410c28549a409c04b2c5731d3b1bbdcbee699b78dcdbfff66feb1e SHA512 1da8dcd4b9b1dcaf1a3f324dc9057beb40e18ccdbe249f6121b629a05059e1de4c2385d773f52ebf043acf550ce1f3fd88acef5f070c25f6919a874b3e1ed0a7 +DIST firefox-128.7.0esr-ar.xpi 630804 BLAKE2B 409aa9ba28b196014526e3f78fc89e658722892c237539f110f56567ec16e6ab10896fc83a5998e7269dbe9e31ff369668c50e5f856187a43074a5d8e3ef45bb SHA512 9595b1a87b7f59b632b29718539b8ef830df19426940f5c04b837bc0dafdb10ff2be62d90d486395b8f0dc26b2bd60aa58f8aa48de0eae25ba26e580b5476b72 +DIST firefox-128.7.0esr-ast.xpi 497755 BLAKE2B 25dc917d95d110a54c594f2ca0812cda91af64ffaf45ed731cf5fe56b50a652ffc88900215fa6ce1fd5c2c800755b0fc10d234c0746b23ddf959ce12666d49d7 SHA512 b645b69ec25be8339c067a9f7c24640e778be70a09f4aeff0b57d76d43bb7b3cdb085c069784465626b3527b956d905ed741cf46747dc09c2b202b118cf7f397 +DIST firefox-128.7.0esr-az.xpi 492196 BLAKE2B 341f22a0da5ef46e09002c373bda7eb3ab5b772a54028dd3ff93e368644e8a17e10421879e529af1caad647c619a1e556360c92d52e65301f6b2cbc4de23c4e9 SHA512 ccfe501bf75ace33d0dc9e0b8271fa715e9b9e3c2bab6395d49a3671e6fa8e11d6530f2e04763b282991995f8110763fe8b1b9a0484437347f6cfa65f2d407db +DIST firefox-128.7.0esr-be.xpi 731599 BLAKE2B bc61e97d46cf47fa32af39c8ef5e5a0fdcf7433f4eb940218e635c89b3a2d108e8236b0a909e541fc5cf60c23b8a23243dc8aa283804edf3e8e7ebea6bb28710 SHA512 ea2dd0562293447b3a3b67d286f45a35cf0b61496a3ba4129d05018af0add11ff78c758341bbff550104a6d96766b5fae6d1d96b7a0093b9f18623e572adf64a +DIST firefox-128.7.0esr-bg.xpi 647383 BLAKE2B 8970cf49ffcb0ba77ea13bafd52638939fcce83c6d847d9319418eb1efaef243a0154412ac2242bd27f9c4cfe943057fecded3e5119aa718a97f3aba688df43b SHA512 6bd507162933c12c089254d3cc52fde6be7bf8fd07dbdaff17db9617557e52fbc9d07d6bdd982facc9989e8a58cefcb405939aa381e6b145b0b96803bf0b6ec9 +DIST firefox-128.7.0esr-bn.xpi 582959 BLAKE2B 69085d183ecf08712c95e06081d6acea16b9b198996d3772b7534e2988c9e0cf432f234bf693630751ebcf386cd4039fbb1a1558cc726e323a2df7504db81474 SHA512 76bff1022714f4cd634133975b939b6f5eade0be0677272ff82a896bbe79829ac8ac2b774502a8c08984ce968a9a6ce1012478f62f733379a682309991128141 +DIST firefox-128.7.0esr-br.xpi 595350 BLAKE2B f7ca2f9bc0624213cfab8c8b656374825dbc243453cf804250b5999d9ab8eb31bbf35a5c6e158ccac70fa43aa765903c4ee2f4f310089f16e3bd1858c208fa24 SHA512 20bb0d649fb3264b9614a1962a78a6fb1de956e973c0f929c72abed1224f134b61e293e1f52568e9b5d1dd9b69dace3497c89376fa47c1470ba1abf6fba5d69b +DIST firefox-128.7.0esr-bs.xpi 515699 BLAKE2B e464b7f37c7b4bfc1f82d9b35a81ce713cfb2e8af347bf922b1e0d5b9af254a622c3e380b027681d0767a33cd8878a4279436f303cfbab81696a0e1531955b1c SHA512 647aa9b0a31f447feda5f2486825e0d2585682378f27136a5bd875f8528dd95ac5acf3ba9e15603e8443f13956d15f67336239f25a461579596ff9f8376cb46c +DIST firefox-128.7.0esr-ca-valencia.xpi 547674 BLAKE2B 42782fb0776edbd7e8531f6b40425069479bdecc483512a69966d4fef2e570939b3ca09645e702b3a592ceef27fc660470a8d469acecb7467c2c2741b0af225a SHA512 4731c7e66f80f30f50bbb0a8d4d74a342c5159fcf207e51885f84f471cceaf334c176d70f953151f5d2de165463d3d75822d04e1cc5a0e13e7e43f74fa367a2d +DIST firefox-128.7.0esr-ca.xpi 599211 BLAKE2B 4a3a64b94b72c22308474b4230fe7159a24ddc096ad279031c81314e3412a0973d6cebbda5912aa04e5bcaa2ce5b5ccb97cce8f60184bde411cc06a5a82ab909 SHA512 d999ebf32fb7ab11d6eb2e2739926769e716c37568336d50a8de9bd89c8debc7c8562ed8e5b59e3d414ce5f8f8867859e08918bf521b796003ddb9d3ba3b6666 +DIST firefox-128.7.0esr-cak.xpi 594639 BLAKE2B 65ffa086eecac9a70df7cc28ef129c39a0b49e9dc880805af2a7173b485818c7487784f129a4211b8f5b9fd97252593f4e87dd8029bc27d2f11fae11ccea0c11 SHA512 9d4429772183a9868a360cdc0df0aefbe4239eb324197939334ca858352e67d4de0e255cd096f13bbf91911ec65582697ea16962327c358f47a171921049f4ab +DIST firefox-128.7.0esr-cs.xpi 675127 BLAKE2B 4a8a22a479eaff56aeb5d83ff0b2db0086f9fb0a8f4a021fff1b7507d7d9762caa882ca0e1f03bf37ab0619b9e1be0c9351529d33ca466d4e2595d756084376f SHA512 7637cb7036b0ea5b0b0b3d47128ba4ac75a50dae788e1d55098431d21d61ab45f0a2e5f41e346d4691ee82ad933660be6a62bb056434fee13bb242771506daaa +DIST firefox-128.7.0esr-cy.xpi 641505 BLAKE2B d550bed591b840b7a9ea9ca420899e22f47b20d2347288b35ecef2e05d5c68eddecc0309020feb021f030776af4097cec6aa677f621509ef2bd0efb6e8524b0f SHA512 1fda03acf5f9b6c121b8fd0c80b381a0bfd1fbd055d89ecb0b4598629e022ee94f9087d6db70e69e547d7e7425c9ad3e7d1750face58b6a230000301fa3ecb9e +DIST firefox-128.7.0esr-da.xpi 624953 BLAKE2B a09caf036a30b41978254d006756badcbdc6c952ceb5216f5fd5c9073e3f4a4773c3c18e243d0c34a46fa0e8738a93a8e3dc14e1f15df520cd77ec0e19aa7f56 SHA512 1848b785ebc27d3440b76528ac40b39fe74ebc124d7d11deed977d4d2a03feac87b8bcbd326b32ea88ad829d218515b298110cc7427a6d3b806815b190de09de +DIST firefox-128.7.0esr-de.xpi 647908 BLAKE2B 44dffa5bc188000d04009d4c809d16edad8bfc62264f80b911629a8d282d281d25016396281a6287eaffbc7384284cdf9d26c1109f51ea515930aa48d42a5d39 SHA512 9f54dacdea129f7e6ceefbe6f68995d0b032b594f6a754dc7b7ae7df8f77c5284c404a83decafc72b74e5e3a78a7ff12d1a52bf07fd764bb451233c05b7928e2 +DIST firefox-128.7.0esr-dsb.xpi 667677 BLAKE2B c708712ee3a962bcfc8f67a6d786166b156446ea4e4079af5fba5aac95b16a38ddf74fec29e71bc2ee960874d9bebb0e4ac65124173c089d171e33742a63031c SHA512 3e46e6466e5672944fdab9d5a9bd5d2a2535d2acc5f75187070831946788e8ba63db775ccbb48bc52a36b3232ce2f8b2cba57e756ecb73582463c2a3d5c2a41a +DIST firefox-128.7.0esr-el.xpi 752451 BLAKE2B 746f6dea14a29766707292d6cafc0710105dc16d2f7890d7dc9e57fc590aa27783bfcd28a8ac4041de9849d0e5198de35a33ccf364cfbd82ab369eb70297f261 SHA512 f5084c71326762fa049b6d20a2a67cd1e4c7fdb133c9f30f4af20085092105b22b68f62e86f0ef177a886d802bec5ffd665154dc6e7997e459e72a581a5b35c0 +DIST firefox-128.7.0esr-en-CA.xpi 597230 BLAKE2B 3a44aef6adc8289ef4cc3197c8e38e37ff1191ff9ba6240647a8b9172e70df9ccc80e9c9828bb26ee9a194e76c76567ffb0371e085e6d99e1d490b6260aa1ba2 SHA512 099b8afd7c7fb5daacb947e20e5e64c208ede29c7b72b8e020e6005b00554b32e136c282f679fe8ca7850bb1c7c6adbb8409e304938a64d539118bce163e6b8c +DIST firefox-128.7.0esr-en-GB.xpi 600792 BLAKE2B c4a5943c47511ae3513c5ed12e7574a95dc6158d76dedef0d9bf8c76f50977ca3c80903064f6463a636cf87af897cbee0df56f1fa94b5635799b7ffdfcc1c5a7 SHA512 d69461a248da1ddca21ee93865eea8a4283c37687c2c75c568555c37b898e2788cc86009941c891ec50838e9fb2333fbaf7a46f771edc78956c4a7752c3fa51a +DIST firefox-128.7.0esr-eo.xpi 628830 BLAKE2B 4ec7ab9524b668b65b71007d52657e4b7770ae6cc4662115806118a1965af7b14d95a5375c724f606cff8b7412b0de558d1c2425a4d8e08bcc21f663c0a8729f SHA512 3b5a3a134ab1dc4f883ccbec519fe4c939a22148786543a30ad19fd99bf28e63111032ec160e90d28abeb89fa5a43db138a29878038eaee0dc55364990ac120b +DIST firefox-128.7.0esr-es-AR.xpi 644964 BLAKE2B d00f51be339de81c93c3a51cd21e9feb97a6393aff925a356dde0efb3c93d03f4f718f8efcce8cee1ebb83b782983dea5b6ad2371e92f3f4be622cf5a7e1b4f0 SHA512 b22c2a96975d412629a1e79a616a505d951bbc4699681a456606352a929a64f1686203987637059d02d0d9f82c45218580bb0138ce9a4edac95850f871a1ba3e +DIST firefox-128.7.0esr-es-CL.xpi 644428 BLAKE2B 43cdb3b7afb889113ecbf51d84793e40132274efb1cb04b0b9449a4f93ea14e254b9bee6056582cd2666a18080a24f2a8e9dc431d9bb700f0937cadfe5695e91 SHA512 51889302b604ae367dfb23e2ad80b87d3c5e7119b7f515c0b466a9cd3104f7cb9f3fcddbc0ad00d2da46de6d248ea342808f6f426d4daf69ea7d89e6a0e7f5e3 +DIST firefox-128.7.0esr-es-ES.xpi 637339 BLAKE2B 67d7bc561e56438e0aeaeaa9b7670b36d7c26c939f22877c0a6eb0f8e6131ccce9d8e15a03e3b4bff9db55ad37a66d0521a54b10ac69eb61983343a50852b7b5 SHA512 94e5cd9ad2037c17f3f23711cb51b13ba6cd6c4c1c229e42eadd60863c457225e5077b6055384f638115f83228efddb16925e39371b4105c5bbc170825670853 +DIST firefox-128.7.0esr-es-MX.xpi 638918 BLAKE2B ebce9d0fbbd89eac929a4b05c81981c005a21db7cc48d82ff9b139550b9afcb6d0f5f5aab142887f7f1bb8c8508aa8ea902bd518354e02f557e8d768486f2705 SHA512 5648462262f63f0f71aa288e9283d2fb607ebff512e9f92368dbc07cec54d29daa201b2a5c29648fdf0f7f60605306cef5a1a5d501cd3585c2a66baf68dc2972 +DIST firefox-128.7.0esr-et.xpi 541123 BLAKE2B 582a9411e0ffdf3dc8e0330961f93f016a4a51d68c21d556c875e82dd46294d9f2bfc873decb26fbd6065176615657ea2117d9555640187933e4467619ac21d2 SHA512 0c78f511c9a919f078c7548fd6dac2955a9fd39107ce7c9824beb51a529c40b018bb015ede00e0627ed01f57fcd0fc17e23e87d0c248cdd25284679a00f395d0 +DIST firefox-128.7.0esr-eu.xpi 612333 BLAKE2B a0bd8dca7ec305e44d5069cdd53f5967a53e7ae89587916e3e11c06df242b44ca4c5ab3237d73c6354e94dcc471035d736790499f9527f6ec6c18b6574df3345 SHA512 f022b60feaf1875ed5ded956001c9c9b69dd1fccd452d3f8755d73d422a641539e34a97e8bd62e470a24bce075ef7e529f72125ad107def218c15a3eb2ff52ae +DIST firefox-128.7.0esr-fa.xpi 593839 BLAKE2B 9750819f819ccc0db3f872c7ff5438fcd1d2edb98ec1cd6d93fcdcb31327d0ce9e493302a8c5b77eb14600731e5539b81816fdf95b35f5228fc5b16db6d4dea6 SHA512 e271e3f84bd19ce671cd676864bf521bab9655aaf5b5377ec3c53c6667ad36e15465fd17b7725883d2360d85047c183633a8582b39f51ead3824970576aac71b +DIST firefox-128.7.0esr-ff.xpi 477474 BLAKE2B 66398649808ddc748feff2c31d7110aafeb0a13cbf012e75263ad126fd852d325288eeb6127d659af2e54b32a7484f795e0b92d3daa289d42f36e549a655aabf SHA512 5ce43cceb00fa1cee1fd77dd05894593092923aee63ccb6b3cbb04b674c13f5813549db6393f33f11a38985d829d3ece0b3481ad654420f0e33fdbf11b9a969d +DIST firefox-128.7.0esr-fi.xpi 622991 BLAKE2B 10912886bf3baf02dee4ffc14de89e64245d6846bafdb5c6cdec099f4b95c4e21dd462e4af42bf38072349c9d4cbbb9bed5db8203f5910a1ef7612c0b7f9f300 SHA512 1f3759b7618167194910692bdb4a4721e56ff9b0689d321faffa9c8ce4bbfe03c2f3dbff2e738fe098c01f05ab5e74a2086cf531a3ed9779c04d9dda2489c21e +DIST firefox-128.7.0esr-fr.xpi 655856 BLAKE2B 3454d2a9114c8e45bda9af1d9658ab0960c4538dc2ebbae0e28aa68dad1371d6af139d9c83e785155b3a812b0a2db898ec2b726439ce40e6a0fd42bea0461dbf SHA512 057b2b5a19ff9aa876f4399ff10bb4b170fa3c27d9015c094dddc1dbfb66ff7eb359e143c4bdee4e80caedaa29c0b913abfc1108cf0a21d38476a94383e6e0f7 +DIST firefox-128.7.0esr-fur.xpi 651348 BLAKE2B 3b9f5f5607a6ae7451d3749d979e22d9782a3fc35a963238442a64f2602bc3093cd6173a1bc5d6e23e6ad29665f26b35ddcdc92712818418c54fe719a6fc05e0 SHA512 7706db7c71cb29557ef2e5da24c284195b54fe6b614db987272964de7679cb1c113bbd58af324d761b04d57d20d664c7cc16365495c78f6737ee44d2e858c459 +DIST firefox-128.7.0esr-fy-NL.xpi 640610 BLAKE2B 5262f46e3771d921dfb64cbee52a8e2aa346c94db891940d87941dca98b1d4e301f306afa03391fcc6546720d2c3d16ca5feaefc3b3329688a9d95d636486490 SHA512 7a8bc523ad28074792e28ca654b22954b905f148d2ba93423d2de52cf5e78380dcecb8622cbbd5cedabb9cbaf30d46d81f8420f4a397917e20cfe99c51d740d9 +DIST firefox-128.7.0esr-ga-IE.xpi 472340 BLAKE2B fd89516f031ecb68b1534e31aa68c5e6f746276096003d77ccfcb4173117fa7ce2ee1be5ffcaa1f5b87e8fd3968705feae7dc38a24fcd6afa3646167cc2c6e84 SHA512 a313b0275def574823739c81519b6148d622ac69c249a2df41a2ba5116f42e816707798825fafa25d089c3077c4bf9bc7cfb1c2bc1220d01c13445b2eafcabf5 +DIST firefox-128.7.0esr-gd.xpi 598315 BLAKE2B 4aa692e993bcfeccf794d69fdcac60d1f35388994dd5fccd964d9eccee696b5a8711bb15dab753f87544dee9ce5e10425ed4edc3b57c7c72b3f21caa19b98131 SHA512 dd46afdbaddc04f8c2cfcc9b53f477275dbcd0d89433894924b49b89bde2d07b593e3b3a37a0cd939b17ab96166d9ff322d9fe9774ef60c1149bc05855aa50b0 +DIST firefox-128.7.0esr-gl.xpi 609630 BLAKE2B 124ea0a0765672a031042a4237eb601f6d252c6c8cf87fd4e5410626f7e68dd76fc4512c70d9f5369744536c9093c52fdea324a4296ead3105c95e9c336f0fd4 SHA512 a289a316228eeba2f536b0853c41e24c02a48acdf77c82f75be4952adac7a9b93ac47f40429c1e6c2da7b8da240dd3b43de1fe028747fdc3c2e942fe2d5d70aa +DIST firefox-128.7.0esr-gn.xpi 652876 BLAKE2B a4db36dadd148715796e486f3042a55b8d98999e5b3749f39810bee568d0a98a8796ffc072c9c9242979ac36537e62caa2cbfe2ad3edb1eb44593820fc14a747 SHA512 9c8988e1b136ddb7ef5f86f495d10ab804eae80498e26e9a7745b485e204f1d5b8897a94142355a68b577174a4e7e2dda8c6e0a726b90ded00468ac32f05f8f5 +DIST firefox-128.7.0esr-gu-IN.xpi 528791 BLAKE2B 95868d0d7e297751bdccfa2355626d461db15d77e4eb7194531668d29f7ca49aaa61742bb4da9bcb942762f25c61eec315d3fb618e525165229e386f23f8c0f0 SHA512 6580a50e9e22122a6b400e1b258937c7adf5c247a27cb20eebf0f5536d69fad9e15f428d2735d5f2f8dfd267e2b05136aa7e008769f032ab4f685167a5954d3b +DIST firefox-128.7.0esr-he.xpi 647295 BLAKE2B 9ce86e695e77b7f969d5838b51ac8dd16b0481a90c85eb1360405ba2ef84b03351d23eb0d7d50b8417c727f71e366cdb341ca2f9f7a2d104ae22317f754e7ab6 SHA512 c5d4d9f5ef1ab78b2cfa0ba0438bd59a8d2db9d1c1d6d93f8b049409d868aeca78df41b21b1fc77a2064890910a5b1520c07514885daa73d889b44cac6e2e968 +DIST firefox-128.7.0esr-hi-IN.xpi 568352 BLAKE2B 8ec3f01b955928e5146c6f50a3b750615501ec2f83a437b6de77029c77991dd6f6c1091b4970de8c60e615d4296f0cb892c424182093fb81add68da6ec24f3ec SHA512 51334f50656598a69cd873199612e2e693eb0288d3886d00f14c2edb911f271db75887499aa2cda406980180fe16d241ac1c4757362ef28616f768e40c016a80 +DIST firefox-128.7.0esr-hr.xpi 619164 BLAKE2B 39dbc0cc488b81d1d410fd8a933452322fde38a616a939a731e5d8a10b6d6df98044a6da88f43fecd244865234f9e195089bc37709de646519fa8b15daa7b027 SHA512 d9c57531683612ddccf934edfa76e7aafa6de5ebfba159b6293a23c55d6d1a943f13d03f405582fb88e1b1a41ee2526ef39eace8cebe0d24a204b837ce574986 +DIST firefox-128.7.0esr-hsb.xpi 663542 BLAKE2B 88afd15084f8ea35a3897bcf9e8280d75788b09240aca1d81848ca95a72702751204fd4b32ae301a891dd489bcfd11c353de992633592ba5eb3ccafed1c91276 SHA512 fb03efc01d7ed389399d94d57493dff5fce8d9e3bd5b8f71ed79c991954ae6d553d5a56e6fa9abf105f6c3413fc80c53c97b310a9846c30df789ea83f08ecbbf +DIST firefox-128.7.0esr-hu.xpi 667800 BLAKE2B 9d030ca60ad9225d4a21ca81dd3ba8a0fbd4cdcb717e11e76465c5fc58d268226e6a3bdf2fcadbe86e02188744a567107bcacaa2d78349b65f69bb7829880221 SHA512 d3903de671f16660928c7c1a39dfeb1b78e39cf2fbfceee68b322eab47df9e4e9ddb4d1a86f35588c375f5e34a82c2c2621da3d5ad7d5eafd09784e6bc09e0af +DIST firefox-128.7.0esr-hy-AM.xpi 653033 BLAKE2B 9b290ba98e839690825ef1537304394dcd53fabfe696eda264d8b35ca19a1b6043cdf26c3f1020ba3a712f3674a4039a301670fbec2d1b30fcc866615e546550 SHA512 6b5d7e05eb402bbc619e8dd0a963c3669ed1cb771d8f5eb89932e9d32c811b00f931b44f2dbdca9555ac287add8e30da1d5d44babadb1e2f752e7c1d75a4c9c5 +DIST firefox-128.7.0esr-ia.xpi 627664 BLAKE2B e6c6d40f1f7c43eb18656a1bf4e8ae9b5a9948208641d4c7b3feb8c84f78ec516c815bcd540b10e910a8c8a343d651a07c0ff491b5631837d5b99f4b6ca50dd6 SHA512 87c9d8f3e0839bcd0ab58abe329a65718be7fd07a38c1bcd3a9b4f0775431f14efef9d95e5165bd09718cc3591c29149426016ff6d1e5a45624d283dbabb40ac +DIST firefox-128.7.0esr-id.xpi 587626 BLAKE2B 7881f0f950fe4109cc87b440771eaeb729ed246a52fb1a3a30ff5d09dd9c6417c8c6b4f2e886e570f08345e31113fbc3f3b71d5c21c061f07d5b15411ee829a2 SHA512 0cba7c09a86a146255c2e749d47fa37f23b7f20e01d74e7433aa5f29deafba0cac5bff3ab217a90648bfb52036b716babc7a1fed794357b4f8ee96dbf2d083a1 +DIST firefox-128.7.0esr-is.xpi 630678 BLAKE2B e9fa508910c260bbe3ba19880f26c101d31f03238b853974e9af255f028294e82289273537b55fc7e5c2cc37e966f92aec65243a5fd6040b00c532001c6807b0 SHA512 4a4671ef535faeba0dfba5afa1eef39d1803510ace737665f271f51cf7e6fdf3a1f7642f93f77dd5797c023bfa1392662de1495596f72d6a7b533285b4ffff2f +DIST firefox-128.7.0esr-it.xpi 584344 BLAKE2B 0e2f576cc9d5b7c1c6227d87cb97fccf4e4ca7da88ca65dbdef7920c7a043bda578d6db78fd712c726d674fac44f24ccf9e552c193dcb4345629a74a68e57ff3 SHA512 4a75a3d263214d11d00e39700ef311378b10950256b34590fb4c00391e378610a71bbd49f41320633c4656d607aac984e242c96d2dd8ca22f3925b5b3f4eeb60 +DIST firefox-128.7.0esr-ja.xpi 691952 BLAKE2B 9d9b914fb4d174dff9e01a2a27da7ae69be4b1927d53df84ffb2d2145c54dd867d7f239f27f82974e004d9e2c6083d84b6b0a45db72f825427125d57cc3f2e2e SHA512 8d5c5de551f79396886e33b1199fdc6bac5b0969b3c9a1f84b8239b9b62e954fdde34b6e069d118fad5ca1cfe1568bc36441ec24ab6739991c898372a65f88ac +DIST firefox-128.7.0esr-ka.xpi 662317 BLAKE2B cd1be8ff1ac777b96732582b0900a067d9a3f61c0ca476e00c095c11655d399c5189186aa5bebff4132a7d20f664b178951bb5c40df3728a0d5cfce82c73278b SHA512 a330c2858a8b2087fc166d7d08a89dd246778ae23700a1a2ee241f1d9835b60f1588f052a05bcf15fc2cdf1ce89f11dc43f595b61468a819bfcfa4069df644b1 +DIST firefox-128.7.0esr-kab.xpi 619284 BLAKE2B 996765046e2e0fcc9288781701da47af7a44ca03bb1bdf2279f7e796202112bbf9aff9d969d9ccc2048e26271a67d0cc28f787967335c7f7338427848c5febb3 SHA512 d84ba6dd112bba69534ae93819b12ef63e59f31ff8ff2a731627da81ac10d9eb62835ab583bdcaa0764191b07d66c8fe42a7fd5886b3bc9e83d514d431d00a75 +DIST firefox-128.7.0esr-kk.xpi 727325 BLAKE2B 2643479c1f79870a5a9ca255b42530de886ea3497d321d2976894aee62f853da66fb4982c66683542593e80e07f5308bd309405cae3deceac2b6177c1de6d6a5 SHA512 34908a6925293e0b488af13b3155a5cdd50492e8bd89e67f911fc7bae9c401234732860b331861ecfaf161e30a4aa3ddec7f62dd87fc6d20694e089ba6f5c23c +DIST firefox-128.7.0esr-km.xpi 527178 BLAKE2B 3c6597c835b2ea286ae025ebd72746433ec84d6c19cea3eb9b0a365da32bd64191a65d2124f031dc4505d008eccf5c0733432d4e92c569c40fc2216cd4367746 SHA512 53d4e90429a8d318bbb2c720fff0e1d49a426521ebdba3dad2a1e4f9f6f2b917293595a4e9b912b96cc3b06d07a650b74cb78c4193bc20e7c121ac38ae640a0a +DIST firefox-128.7.0esr-kn.xpi 492548 BLAKE2B b6c0af5c1059376f526cc945e8e1a4f20f672055ed964c632ef46e24a82e4af8a58040a20ede07dce05d073730f79dcad51ee7bd9979c951527bc31f70e3ceff SHA512 0ef3b15d5101155b904513ebd64a8941be2ea282462252db8ac73e957fba005779cea4ebc047a20c22000b5b304c5ed06f2671363b99fcb877b41189572aca8f +DIST firefox-128.7.0esr-ko.xpi 679384 BLAKE2B 948b547b92e165ea2bff6ad817243766bea8bb09d558fbba193c9bd5c484c4d610d9fdfe79fa2edf731f3a6b795ea4f4514807a469ed21b1536babeeeb2f71f8 SHA512 09ac3c0db7802207d8a22b93581a170c361e2b706410c205e7f479924426ec704328f9daa82417d9ecaf4a4a08217b045122bf6490d97e6ba1dc9e4cd9f80b53 +DIST firefox-128.7.0esr-lij.xpi 485540 BLAKE2B 60ad3114e58b01334b7d2b3ea3b92cf6fbb0d2581e413787b1a8f71da3ccfd26d1f1c55b7e48871b8ed78b8fd823e19544c205c38aa2869e5cd756074d21f863 SHA512 a5706941340de16a7d691e92255d2a01faa8d2bdf089647450dbe16e8405cb0787e1b15d5f2daf58212f9a23389a9693d997187f234e66bea4c97fec01f3b934 +DIST firefox-128.7.0esr-lt.xpi 574118 BLAKE2B 9711278e06f0e560fc94cf7eca2f9e488ab41bcdeaca5848b0b3198529c13172849b69269e51eae52bdf75ab744e278bf980142d6dab0c6a0b7747bbc4d4276a SHA512 1f05ffa418eace17236c0eb16e60e85017d913cb89b247125692bb230b98df5d0aa0c91da2023ac3f65cb2d07a8ccc079c7906115505cdffaa26755c28bcfcd4 +DIST firefox-128.7.0esr-lv.xpi 587212 BLAKE2B c2681b7304ab4343f7d35d6a2b148d56b294530088545034dc73e6c677696293b64a11b14b72b58a24610c19ed464ff5170f6a37caaa9603b39f9921b894b819 SHA512 65e6c6ad4d72646a3ace4593ac9760019ee5da05a5a11f1591fab321413be64d67ffbd4f40724a16499a9178a109864a407818db2b8bf25489fa114580b61868 +DIST firefox-128.7.0esr-mk.xpi 495164 BLAKE2B 268a89c36e1f56cc33a4a82a1ee30361c05353607cde0bfd5007b16d7a6391203cd731e78dc909d3a90727ac59d209c85e5c6567e33810bf632889026d7de270 SHA512 351264d6e2359e8e219f0d6897cf4c3ba0626d41aaf44ce6570e820815fd77fd42e31859cacb1d87781b6298f3f421c2e00f76f8e954a46db1147ef8c855bae2 +DIST firefox-128.7.0esr-mr.xpi 533536 BLAKE2B 8e3fefda058d6a94ba5e38285028f4a605efa6438a226c0c53e67bcf8941692df5f3f60449956b2445d3ff24484077d1bc1faefd5ba24c7462c46c79e044bc3d SHA512 b429cc0199bf8e74378cfec1f2b778b4afc2020bbd69ddd159028cf3ef2441a73f800ef60fdd55b537f766f6cf5c026b8b30c5925795424cf1f704eb7634740c +DIST firefox-128.7.0esr-ms.xpi 451145 BLAKE2B 124f5991d2dd7160de00a1f3eea26989fd5965643b6f9f5dcc7aaa4fac4eca049b1964b14888fe41008dd2408164ec5be9de94b7e27bb4a76f7ae3d48ad80342 SHA512 93a1d4f60d388f50e5a10c60d41539a8ca3064a28a06380b50544e9b09877d711288b7ae4fe84d9ca5119d699b4c628fec7bfc16b30466d23678258c46a5f3bd +DIST firefox-128.7.0esr-my.xpi 519907 BLAKE2B cd2c32a1a07f3a5f2d98bef5ce3cddfccba1f9788a94b89dc350f2c802f1f80230a765c4cd7f7e63cbae864990ab775a32dd13d3267da166a56db92d0fca7bb8 SHA512 44f22affc656e750f8e5788ddf0fa544f6736d46460fe89ca189207d0c1e92b71e3bbf6136a4f8e4022b22f0dad5e003569543b72218c6a7e8f28dba9b8a60a6 +DIST firefox-128.7.0esr-nb-NO.xpi 620016 BLAKE2B e38751f0c073f0cadec543fbe3872b97233edaad0932dde584d3828a4203bd472c822dfe741fc3b53fe2e44fd608a87fa9fc2ac9ff137fbb40c69108a0860116 SHA512 62b8b7dd394635a376ea893b6443f6d809b54efbafb6cd34f60ec14fd665f7b5595bc3b793aa24d682e4d50850ee5ca8ce34f744070cd7d451bb7c6198a29ddb +DIST firefox-128.7.0esr-ne-NP.xpi 522150 BLAKE2B eaaa681fd5bff9be32fcf7849dccbfaa4013b11128e1ddd9bdabddd510a819521eee51a188e86b938e6e0a45f0bece4f4313ee014f5ba0e79c544e57a5370f37 SHA512 15a3b568548bdb6e7a9c0077d25a26e26bc452c4da2f0b83e0f3b362d5680156f729324e51561dba8e088a5f32d9b7851e49b8226c8c91c20c6119e4c36dd8ba +DIST firefox-128.7.0esr-nl.xpi 634319 BLAKE2B 3e2c93e9b88dd59f899a3cbb5e2043ad8d81626b491eb0c13482320ec15106bc3fdb6489b6dad917cb54835cdce2ebce698f66dafc04daaaded82633fcd0762d SHA512 3a5ca8ed7a390f8fa1ff1428e464ad0117412ac545f83654fbe5db676560907f960464d5172755449ed3dfd18a18fed41dfef72b49bb503bb5391f040f449d79 +DIST firefox-128.7.0esr-nn-NO.xpi 622824 BLAKE2B 0ff6b48abc184e6caa2e851ba759d1d15c43c8b0e64ad1a88a62c3f35e1793fb0c687ad52e08a37155d4cf285a5aafa70ee3f3d5cb0baaa69ed71345361fcdec SHA512 dfbdbb24b235e6f83b95e57d363b35ef06922000aba4c8f9f92fbca00328dc4bb07d9519e230fefae658ecd890a60d9959834988309c36486dee90a4c4144fb1 +DIST firefox-128.7.0esr-oc.xpi 615788 BLAKE2B 67e41d5fe310bb5f4c532a228d98cf3d9762213b3794709e1b01422c62b56e97e6b57954069971af11dcb9f88f9aa09da6bb2bfe5492e033e853ccdd8bc6194a SHA512 89b6d950044423ce10b76d21c56955eb10139fc03e7f0c8d9b7e5b5ceb5ae563b6a11e9a95d839ceb87c0f294ca8bdc97b3a24a6ca863b7fba5e1265bb412fc5 +DIST firefox-128.7.0esr-pa-IN.xpi 711068 BLAKE2B c213219faac28be54a1fbd211c4e3feeffad79b7752746d19d027d9418b79cac0c72c932141b73cbb113f9b162edca8ac312490b10fe7bbfbba141818f6d33de SHA512 00c077a2053e9402eb94102c1d51d19a3b5201875932ecaf1c97705f8656b3adb25476d6b60980e06552005165110315c5a99399d42247aa86366cdb049c10b4 +DIST firefox-128.7.0esr-pl.xpi 648791 BLAKE2B 7c917f35ee5b001bec2dc05b0669f54608a5bfa0e162edfaf7d865543096d60e194b7b9706ea8d81a0b43b1ef51e34a71166cbb55c2602fe4d6e9812bca21aa9 SHA512 282fb1cb78614289f922992a92895d2f87239062d26ccd4fde8857abb26736339f45306506e22547a8a10ac3197e9f8138444c77ea82ecf9db3a42053df60df1 +DIST firefox-128.7.0esr-pt-BR.xpi 638904 BLAKE2B dcaf73f669ff48050c53960a8bf5c31bb35e31a6958854aad41a1f958867d190a482ac00a7ceeb84df51236df6bcf4f2f3fcc2d1db15a644a79ab1902b69907b SHA512 d96966539ac61aaf47f6d0bf7b6f39682dc0c4cbda3320799fa67d17fe933625eef7c6ef2cb2bc3c53e2fe6a358a20928019a638473dc59be56b8886682a6be0 +DIST firefox-128.7.0esr-pt-PT.xpi 642502 BLAKE2B 945bec76ad9a18010ffd6c1d525754420d88252193e7e982605d6af73259f528b5d01695c59981d908a1c57067266dd6a1556cc57fe822f64f547a86cbd0d41e SHA512 9857306f575d00f560740083a045b3db7a36be8f694b4c40e66fafedffedd2d091b24c3e93953d88568f75f701427b427431cdd573aacf4fe83cbe967410a4b0 +DIST firefox-128.7.0esr-rm.xpi 631436 BLAKE2B 4c8d165dcffd1a72c0853727ebe32bda6619e5a8c4e57d64cb4947efa374fbb51759cbde8710f20badb7018c21b6e777d983b81d5f8983e6311512d702723b4c SHA512 b20b2e7c444045f3e3faf21384d96273e32fcb4f3bd6b2082ba91fa4ea611db25311d887af29cd7cf957dd73c096c6c33c5a2bf74f6b52bafd914b5c161e73b1 +DIST firefox-128.7.0esr-ro.xpi 551219 BLAKE2B a2b834fbf41e5298aacbef031038848bb6c1e1ce53db7f310258f2ccb64334bbdfceae9683d4a3586a6bcb24b56b124eb1460410f29cff4ee30180e2bd77a65f SHA512 12e616de8eca4205b74f31d249f754f72a07d3cd402c13e500239879f1230eb475216b070f0d76864c426279b085c86b20531212550b6985926a042659485e60 +DIST firefox-128.7.0esr-ru.xpi 740411 BLAKE2B 05d00c4d9d3d96714294a21ef0ecceab3294defe56f1b52dc0d0bae8d7c6477cb9ac2aab7e1cf1523773ed72a4ed553093b87c8b70b180394e813fd75e67a9c1 SHA512 9038136cde24e027f20146cdd1ca6a447b244b47477bb2e3f86e21d9250126f8c66809b267c662902d6cc0f27000b61f01d46f2f14948e8072bd8f1bd69a8b6a +DIST firefox-128.7.0esr-sc.xpi 598928 BLAKE2B 9c74330d7ecd4a6a4235928c507d063830ab6e28a2b93c341e46c8904d14967f9df5b11deb0599703753b278098b7d0bbc4b8bda3938a296f9120806367f4a2a SHA512 5116bb2ac9a0f047984d2879ef7ebb845d5a1505d0e537e42844964d4c4e942bf4a3f294da61b3393ea48ce6679c0f61ee42e897137070bd91ebe071c53a6473 +DIST firefox-128.7.0esr-sco.xpi 512689 BLAKE2B 08574018942cbda4bb29f65976c0abceeb0f42795894f74a0f8c8d983a853f641092d3c82cd5e696274b768e82d5d41b58887308ea46241a97ec47b5feb06a4e SHA512 247348eede7945534df99e2ab0db1c139c82326215e30270f187ae83cc0275433434288578347b14e94b48c6891ee0c671061806bf2fcfa5e3a4e8da3109864c +DIST firefox-128.7.0esr-si.xpi 621560 BLAKE2B b389c17829334ba6690c99fc1fa3958018a4a34755aea8fc7b4b6421039d70eb5b9bf2d87ec992e1aa184ce00d3b72781cf7a693f76bf9e8e378e0dd3a56c6b9 SHA512 390b59b7454d6b47eb484dfe94d8d891c17e482c88d21db60ad77e74ab229b9a6c0feb7a1d757ae6aefa52973521578d5f6a11d354301851ba57a0958ccad7d1 +DIST firefox-128.7.0esr-sk.xpi 670797 BLAKE2B e116ce5e829e9c913fda86447dc7ec2809cae1b87d9f78de84c3ce3e2bc13a7d5d0bca871ebb45d9b43627a21c2984fdb3d608e269e25c948d94a75b6bbdb2a7 SHA512 d5c1870dec6beead2fac388dff8435df3d82cf971d41e980d05e6d3ac114e5a33a944b38369a8596c3ec79f92e1b880d8cb294c046183c3fc111c308a89c1933 +DIST firefox-128.7.0esr-skr.xpi 722718 BLAKE2B 99a2e8c28f611ad00fd432da3a26d1fcf05a85583b99be6164a2e6c35838a7ca16919fe5e6c9fe00631e1f4ce9b7e95f29687fc007206011613098b12a94ea03 SHA512 daf4c7b29876b01649126425680895625455e604da0a0558d5ee73725e21d7ed4432ba514077b889b6530727ce63479e0f6beda9e5680498d394d4b33846d541 +DIST firefox-128.7.0esr-sl.xpi 633851 BLAKE2B 0a3272001301f713bf9ed00719fe70f5ecfafcb52f7a6f831e0586b4ff68e0ed1def6c3b67aeab2850d3a5f2317547ec5da9ef6de5fe3df62b583d747dae7507 SHA512 2776585628cb1dabf862af5bd7c3bdf73af17cd02dc9b6196c25c3bc00faf6ce46712921aca5af128a6452398c651e87579608bd837f7e7b9d058d2bc5eefe68 +DIST firefox-128.7.0esr-son.xpi 417712 BLAKE2B 8cf6bae8eff9f4b946e9a7501655b815336139694b9f38e7dcce74b9328988dfe70c1cfe33f7c36ff9db21e892aa8d8a58880136ec3bdcc055fb3a30ac1b9f5c SHA512 2a6372a4dbbc8d016095bab8dc10134355924df1b4359ce3369687829340448e749664cef778564bbf9983ba4f7203202c073c88fa4aeb77443efc7acdd9e1af +DIST firefox-128.7.0esr-sq.xpi 652190 BLAKE2B 9d366dd4d20b279a26d941de02ef7d899da591ab15e6f9dc5cf765f44de9f93cabba972b28309821c2a9f5ab280de9403142c885483613d3c90c01cc3cb38742 SHA512 e029bd46301ca976d05bae682582a08e27a7011ef56332ec8a0c3837ff38ca85c28ebcd56399cd2e277e963eb5a1a5a6a0b82c2e0599a741a1635a0ef3ce41e7 +DIST firefox-128.7.0esr-sr.xpi 640904 BLAKE2B 6300348ca3da0c2b7d0cddaad074a59e7235e1641082506efcdbf7008d34a44599510b72d80fe5e4184b2e7e63ba5edcf4a98552a782692d6e7fd93e2099e151 SHA512 8e0ea23425f43d0bf59205343843f5897d5bbfb4932cde90b7672c5dd7c569b0d1edf2af3d896815739e8d02e5c8915c30fc52db0687f0edf71047ba92fd80b6 +DIST firefox-128.7.0esr-sv-SE.xpi 635651 BLAKE2B cc106559218e46ea06d5e340ad78a80fb1d0074d9e6276d243e59210d94ea76556b8e4fb86af1888c907431ac01e03de69cf599d274d678071e83a0e6fb515e4 SHA512 51bb6328afc91a3ee4df5438e99ffa869058c21af724267087b0681eb305e8f35bcdb923cc5d9bc3032abba6a98f9380e71f9a723a1076a8b8f855f124770aeb +DIST firefox-128.7.0esr-szl.xpi 527825 BLAKE2B 3c3dbc45eede87d9dd17e1123bd797049236ba2608fc83237b017cd66e2d68e6e266a21d564c95eb9fdf215205feb377503c6b3e673e11cd1558122df58a5519 SHA512 858409e6189e3cc9a2e01e10cdf02c54484dc5b0a2e5f02fb5287b7fc59526b113d40859bad9e1095bc20f256515f70008d498de57fbcc85da58668e116b76e4 +DIST firefox-128.7.0esr-ta.xpi 508804 BLAKE2B 074faf25b48574c392f5c0284389818c195f54044ad3f0b622bae99acbd9760dacd1252528c08ca18103348a95a23dfc5f725415e498c8f000148c64da4d0560 SHA512 c3e307a704ef9466aa22dfafb39769fd013487c24b489b29ba5fc4316c130e3194527bfe1ed79813e4943a8be7942059895b9ce07c8f26e5ab47f8c9aa79910c +DIST firefox-128.7.0esr-te.xpi 565170 BLAKE2B a23016f2268708443f541cee6fde09ae715d95c164224a5908902bc6408ae8f5168f7e2cd536b5c4d2edef6fafb64b803f68c38314a8f817c20af0575af8955e SHA512 5a78c2f212e33ab8879e16291ef6c4ed4a2024d6984c04ae46f35777f0c7760ce5f12079f783fb16d3619d43874b4bb7fe84d2cc0df46ab557a9a4cc7f0d7a9d +DIST firefox-128.7.0esr-th.xpi 711787 BLAKE2B af023c3fe7f90b625eb3c7cd20c82c90da2154789b464ee2c472430b4846cf02f5ad86ef9fd3b78da6a7473554351ef43963727c1a77ff8e51b4d9714c9502e5 SHA512 129798e28f5927afa37fbac3a2c7fb1ecf819baeb3f0bc769629c9f330c247b99d8224cfe52111d40177f909f8c924c3e72b476484cbaa07c0675c91968066ce +DIST firefox-128.7.0esr-tl.xpi 535613 BLAKE2B cb44f58c7d64ef26547d90b33286d03e9bac330046a782ffb79b6156b044362adbe663339e4d5942b469216a27a97abd17e928c2599c40595bd7f2572aa9ef0c SHA512 859c7f00780631db0bbea50fbc1957ae8047f8e65b4dcea35b0c29a33d96a6163aebf1edbc0f589d68e33afbe60601feedb28d746b2590c555ce636634d120fb +DIST firefox-128.7.0esr-tr.xpi 649208 BLAKE2B 684163a4797dc431db6a5979f048e146ccb0fa11b5011b71f66e9698748a572ac6663207e6ac27d2268297e095ec18bea16f4617af72e132779fbf1a807cafb9 SHA512 8360ee4ec520d0fef0d19701517a446ed3bfda48c5e76615677f3ef3e21ff176d4384f6afc727c73e5958781b575d04cd6f2e919910df784c4e5a5c97b6431c4 +DIST firefox-128.7.0esr-trs.xpi 505791 BLAKE2B 6212157a0801f4ba66aaa6517c7d971499bc5e8505d59b1d7f3c17eaba5eb96f861edeeb570916b719bd14a1697138bcbdc13f2ebfeb42ca2c1dbf9f0618f73c SHA512 33ae70d2f59b14022fd640abd3cc5d66f0584332eebf9cec783026b646d12d597c9e5940e65cd7a062a4c2bf754aa91846bbf56130669d190e729526c90fdaeb +DIST firefox-128.7.0esr-uk.xpi 731686 BLAKE2B 99220a16fdd4f9146ffc950347ed782f1ffaa9a3a58f96cc02f19b6c1eea5ca96b9914b538716d7948d65b81b72235cc4737acb3edec9bfd925a5bc9b0b9e171 SHA512 b60f5e0bd0f14fd050c1f0382f8609184083647cb81f28d5691dfbde941153a0df2bf8f6dc75ae26fa1e7ac342c0faa8ec441210be112cc4a513b7b19b89eb5f +DIST firefox-128.7.0esr-ur.xpi 561779 BLAKE2B ed14106cf11a82a74f4842b44b2d6a0075178b7a2dcfab48e0eb6a348646857893c2020697fcfc2ff7e2b7cd33dc68fd6e5f24cb1e6bd4a5d7b61b7a9714578d SHA512 f68bfd0fbddc0dbb12ddf9d29cd4b5baf8d795040d5059516740e3df09b7e791ff51882d21f8ef8d746cd12bf52c2b34a830a647a0b1f231a00fe5b63772e4d3 +DIST firefox-128.7.0esr-uz.xpi 480212 BLAKE2B 2530f502082bdc1ea377b821a7fd220557077b80bf476548790cc2561530b586a014b71a52558fdc4aa9868a51a995f208efed8a48834023e09064139ea54d3f SHA512 df42eed1bfe2821aaeabe02324454ff76641c674c48d3f14f681ed8c36eff4967b13002e41bfa8aeb34fbe7e57ee2e3e9a8027b2d3d009fb6e5b751f535fcb4b +DIST firefox-128.7.0esr-vi.xpi 673226 BLAKE2B 31ffe88a73ed83975a81e541531c4a985c25754d0b055363920ed4287816a0a11cbdb88055613bd1087d96543444c98bee6c74c72ac4335f332f97607a43f0d0 SHA512 99cae768c73f615683b41e581cafab1a5164c366f7a7d8020103878eae014fa214cb2f85705b15c1656031314031f45f36b273326ea7291abe8866c0aae9b243 +DIST firefox-128.7.0esr-xh.xpi 418474 BLAKE2B b44cefd8149e389013cf36495c62be4726ba97e85278321c9853156f85084a9470346c0f88a446f6ae6327cbacf04bb4c8456da3c76c84f9c3b03cf608e7a28a SHA512 2e3910f114fc2e3d7d7f8fb8a0ffafe7f2528a5b8ee9689ca8c9fe5eb93d401a9b35bf06eac8f89a47fa45eb3108fbf769309108dbc46f394a2b2c65be5eae43 +DIST firefox-128.7.0esr-zh-CN.xpi 675201 BLAKE2B e07f861f85c0abce293798029206ac795755eff1647bf1842eeb2f7169217303041d2506498dec27e5e0c679534bfc8450477a169c16ed8744b7b8dcde04a3fa SHA512 9ebeae24f93cc2bcb49b8c482ff474ebe3357286d2fd35864e4a1e156d1cea5933fc776e18b75fc686ec84f91e355e49a8ad9e5f9bf044b8ca3a7d0bbe2bc0cc +DIST firefox-128.7.0esr-zh-TW.xpi 677437 BLAKE2B f2587278e02f26340261501b694c372fa7164b2113572176305263c10479466fb481e3bc5d857bfd068caffc5c7efdc9c6a77506eb955b035b0c707fbfc3af39 SHA512 d6b2df29a1bc98e49a96953c315f3aeb4fbea66fc9691d37085d0946c3710f6f0174927fe7103009343cc038f4eedbadacd592a4eda24b1d3f7f395474853c7c +DIST firefox-128.7.0esr.source.tar.xz 569300208 BLAKE2B 08bf5b571707b7a5acf1ebde12e370be5999e3ac8cac2e952fae635faa16e07ba4d9d0a00b304ba43b5a327c825cae04c1ccf8434456e27d4c396e5b09a4b6a7 SHA512 26f9661b395b85a44b42bd72ef1ad976c614216c68f6c2dd834d0ac8b84b9c9f398b8ac550a47396995d96e6bb5fa9a50064d7f2f526bddd45aed5039ef131b8 +DIST firefox-128.8.0esr-ach.xpi 482243 BLAKE2B 7697f4b91953d62bc9e562d6b1112281ead0b4caaa54011a6430fc71e76b417575151c9c6b7ddaea172bee841d281b7ecda3d10404655b06794c72042e32e882 SHA512 9c83a7af02edaa4d44ca6db318fa537a722486994954f4342fdcd0ccf16643643f9664edd162bc537a2fc8becff6c11d858a20c61300f5a84cb7651b9b6eb591 +DIST firefox-128.8.0esr-af.xpi 446598 BLAKE2B 93dc8a95fd10cad82ed9dba8e906c9ff54ac98d45efccdbd2b1babcc80952860eafdd12c33ba865feeb3c612ca3f4e1e9dface19eee2c99115b14cfdcb9ee627 SHA512 0a2e9b81e66044089c4f0c9220ccf83fe0275314e53a625064add25217c2e25df1ba87c81ab6538c3c00bf480d398b576cea7c49c40a144d5b2a5e423282c38a +DIST firefox-128.8.0esr-an.xpi 526061 BLAKE2B aad7700e11aacdba5ba71c40bfa76551af9835ce4d8610945302b54b81606f59d7d54d81c17a3976beaf6b7c380684500c3268f2f7914e0014ec7730d9018537 SHA512 c8d4a18e722554880c45cdd148326683197dedced079c2fc62e4607199dd445431ba6f8a1029bc41eea81e1d48926d813b13500318086f92502e6b3d7b44a02a +DIST firefox-128.8.0esr-ar.xpi 650463 BLAKE2B 8f64809e669a1976da9e3f14a0501b9e907d2b44450abb466e95617c04e9f1c1d24523ee90de9a6f475fab8bdc095565fa3202f536a166b3e282bca153b3dc7c SHA512 9bf5fbf3a7a66abb8ce40563c6f6fe1e05b549a7dc10800743593d765e4964cda5b0b246ae8519c82971f4a503c0a108291d2255c02604b862f083514c807667 +DIST firefox-128.8.0esr-ast.xpi 508561 BLAKE2B 145ff09c07fca6c1572ceb09ce7e88248748d406f5e42f6aa9b8c531e64617953e2536f8caed3743cf4ac358b0847928a8661e0ff6275e389a9864f188776409 SHA512 728d7106dbeca8c708d61ba462c0943562d4ec040391b2c0e84eae80a627333a763d3942ca57aee063b13e8227286d003ad2ed8075f80d01a66bba024a3590d8 +DIST firefox-128.8.0esr-az.xpi 509839 BLAKE2B 24e21ab8b279bd9d9c45e65e13518dc436adf1ad387500c41f614007479aba6ce3b8c9cc27ba9b6bc67375686164c11a5fe0e5f74be09cb701cd2e837384bc3e SHA512 8818e48fdf38b29cad492efb2234616bf812dec832370c1ec500814a58a0ccb6130af8318aeb6e62de5a8d54f66b1dec07017e1ef669493542e94a082cb5ade6 +DIST firefox-128.8.0esr-be.xpi 748080 BLAKE2B 829eefe38ff6be60f08aa90a38dd6a06dd3e14cef558e9178387e332168a469f9725868fc182ae5dc3dd64aa9d88f6a42ebdd395938de5b25a858d4aea0ee581 SHA512 59b451e36dbfa3032357122699c8780182177489ffd0e507ae33a62dc9b18d9cb096f217f0dfc6e42eda64b82aafd3b468ad13e4b1779d87eb23b3881908339f +DIST firefox-128.8.0esr-bg.xpi 672053 BLAKE2B 04bd0f9b698c1a90804c4dd018a1a57b7d09f02149f0e3b81ea51509d940388b25daf45d1486a1af76f60f4b4d902227309713a35c7d479b4c6e2e027a032184 SHA512 bd939c3803399ec905921409530e913b032b59994aa48bfe3671220ca4fd7e54f643e603a77dccd0de8c38e6e94736944777940bf8776df9a00498b88649601f +DIST firefox-128.8.0esr-bn.xpi 624725 BLAKE2B bbc5287f61f0a3f58ede8b8b3cf1b6144954ce6f3f0463b9147bb145bafe42d4ad51f9a112e7542c4fdcdde5db8d1bf412837f38a69bd4933c07627b881b204f SHA512 102e797510c3656f538982ceec66c66da657712be891bac3fcfae2d1f291965f5f4e8b8bb093cbccc3166a2565df616482274b3295cdcf253de482110f8d7d2c +DIST firefox-128.8.0esr-br.xpi 598746 BLAKE2B 6f4f045de4363eac285547b7b5fc7ffd33be691ab8dc8cb4292a14139e6e9f03a4073a393cbd05ffff819ec6f7660182fb63ae48cdbb3f8b8ddde1cb752c9006 SHA512 57a35d172c314e0bc2a502d76955db9ea97295a286658eefab7ca2c53cbdb1124b4b56b024779c5f6872403b6477b1e057848c2f0906d4bc3da9dfdc05de4a55 +DIST firefox-128.8.0esr-bs.xpi 565999 BLAKE2B 5b0ddbfdd29abc52bd38ad69e3bb886b500428704e148897dc23d5fe0a02c1f8bccd8fba9e097c98a20323ed03ffeb51a5c4d88118a862ff027fcf591eb6498f SHA512 c84f3530247bafc85e57048cbcf4117b95e5352a6ec291726a1f0cabe0bf45cd0eee36e0f83446202e952af342629f18b36186840987859c9e533b6181c8dfb6 +DIST firefox-128.8.0esr-ca-valencia.xpi 561156 BLAKE2B 7c829caee773365903f0a3d16330502856e857a0ae3d147b42d22f3bbcf89d764723bc007973b0282554a76c4118d527b3595303058fa24d1cea2d55245d4ac8 SHA512 1060baba510d2a4ab267fa9b8289c398aa861693f5a2311876fda670496d3a7223a30e3a072850860489df6645e431f2c05e59c55d5886b860c1653ed5bc4b21 +DIST firefox-128.8.0esr-ca.xpi 609963 BLAKE2B c77754723fd17b7ecc705436508c72ece280559cfdd646ed6f8de6f9abd655cfa02168b415b1092269444a93c931c52029c5e43ed5ad621bfe2a3a95c416d87a SHA512 f39a1744078d8200224cf93e27a453a6deeb1b4f1faa771bfcf5254f72d83d5031f4d8e0c10f487eeda5f8dbc43e829220debdaed4eb7099994474987ae26c59 +DIST firefox-128.8.0esr-cak.xpi 601478 BLAKE2B 74b869c0ca16c718838a872a3a68e5a5aad5d1944b8a565bed5f92dc1c2a1d7246fe63d4f6131c77dcba4e2c2c067df0aba1e44ced1b7bb3675fd1850afd5ba5 SHA512 b4fcc7e08bd1b0558183dad02b40bb940f51ae81ba6ebe1a0d34ccacbe0932ae3c956ab14946ae90c3fc93bf6ad548f0a5b8400f62b5a7878036a5b4d11f4bc7 +DIST firefox-128.8.0esr-cs.xpi 690641 BLAKE2B fda3e2015e4cf905371b9edf86aa2fc40d6734ad4f4b153a30b9e9328e631ae78013123550dd1c9f597154b72c934a02f058f094779cc09464ac7211b87314fb SHA512 bd0c2435cee1ec028156caf3e4db8e36b7e5ba4f8ef7b66593e8b41af4d026c248a54fe53c18f458e394402294fb90bb65878dc2bb4c69c417f71f3bcda8c4a6 +DIST firefox-128.8.0esr-cy.xpi 650600 BLAKE2B ce7040001d434f31f972ccc167300cb152558804049498805eda5a42df75d9b592e023f2c2aff6f1870f65c3956000bf75d0b0394ef7f58b1f0ca6f5e6f27794 SHA512 1e43f9e37f408aab76220d706176148c71a90dc5b0fc43efd4a7ede57bcccb35468abbc04a0d4c84ec03a1cbcb2e3e0b1e0c9890393e2577581f4b28d39e7cf9 +DIST firefox-128.8.0esr-da.xpi 638632 BLAKE2B ab463c18d3fddfb4017cf8cfc2197cb4118e3cef6fa1332df986ba2ddffba709f1fc4fc3df54fad18c61f7eb2694441b7bbfc63cbac731cfd82abadffd7fdb41 SHA512 7182ebf9af62683479d2550068a30246907978816012a8296fda0054722c7772bd3c574834f975a35efb74284a20fbc5fb43728de4725755725b8611fb999630 +DIST firefox-128.8.0esr-de.xpi 663133 BLAKE2B 3704e097e5860d022e15ace1baf6121994655f9080001cfd8f635716194f77f9bfc10ad00216f321eaf4c2b4b43fc932d34d747776dca4ab45257a4e0beb9a20 SHA512 5f570e799dead4fe447dd98e5cb923a8f779af475ba6ca78e5d3a08ba9e76c3a0a25f2b8eca9ae8bd0909800fa46a60a829ae5d4f551ec21a0caba9bdfbd6b4f +DIST firefox-128.8.0esr-dsb.xpi 679872 BLAKE2B c5634c34c9fe370d9c2e51452147d96bbda6fbca428f1c331388d5f136ed85d51b2091eaab55d9261021e0e61902960c4c2dc8a9debbad7b80f16b5e53d3607d SHA512 4a32a6fdaa72fea630e8df45803ff9ba2789d9b8765263b867c4233d4d0f4073c9bfa7a4850486d101b31bfb245fd8cfbbc2b5bf56a3fe7b893644f350b96181 +DIST firefox-128.8.0esr-el.xpi 764546 BLAKE2B c2d36ecc23cd5032ec49354ebdc8d1a6261c423affa491f8f4f7d9c7b2faab593d42d3c76bb4c8eecf440f97340ae891491a7f2cd79c85718218f32ae4088b69 SHA512 e4d7295abecdf1a82d81c0b00d42b8f34d12faaf69dbce6988349e44e6b55a1a62129b076c5bdbea1cd40f049b7ffb9425e4773bea3b735884ba47870c0f96a8 +DIST firefox-128.8.0esr-en-CA.xpi 610414 BLAKE2B 4482f2cf578937a969bf2b8186790304afd28048ea9c4bc899cd9019bf80a20ac592be2a273233677157b5f58b9af5fec95bc74317d19fe4798e033472a89acc SHA512 4cc102144f8db85b10ccf15e6a41eb5e2f6132713a7c735b5a3844ca791f8562ac6fbdf112088c0a4395c68654b86c8d639cc2987a77f4c2c1f67c8e1482c8af +DIST firefox-128.8.0esr-en-GB.xpi 610776 BLAKE2B f8943b60a165693652b2ceca895d434bd929f2b358b105d7f90e720a9242b1fa051cff24db67e653f0c720eeed1a5e6aa85883cfbdeeb0f1e4125cc861a94829 SHA512 5807c1847cb912edb5114f097faa600e6b49c2c88f98e0a03c51d3f4927e5794d43a8c3a3633101db86d0287a56fd43aa9ac2d2e516d5dc97ff47c00f223cfe5 +DIST firefox-128.8.0esr-eo.xpi 643527 BLAKE2B 7bd78f22ab6aff0a4bcc4b0477db4cc523266f59113e2f1e3778695589b1cd8d51aebd09f9a86eae4cb0360418f09b075305d3ea5df91d80f4d0ea9d0e57b24a SHA512 57526199a573c5a90850241c6e2341dce4626233105682777044d564dd520d22872555f68ff02467070324323f41a22dbe541d04d5cc036bb2765fa3016307bc +DIST firefox-128.8.0esr-es-AR.xpi 655623 BLAKE2B be34d1ed9a09319b8952aeef137a0cd0457f192345446ac7e2dcac15d7d169f2ee9d55bb2c23e57baee0ec3dca26081e9c60a9bbb7686854961e4a0ba84c8dc1 SHA512 c7ea88316bd386180e21005dbfdaeffea03fc4db9853005a27156ca0de56e8c0b35517a73e8ec2c16e453087c787873c3da9983c8a175c44f915250da66a2d6f +DIST firefox-128.8.0esr-es-CL.xpi 656057 BLAKE2B 56fa4569fce86f4991a621761b9b700114a782612d3adcd497f5a23e1c4b8f92210c97f44fbf86fa49f8dba5d46cc7b4518fdbdd4dffa04e584d56f41f8c24d5 SHA512 c66df43545891cce1355f4f3c6c9e306ab097cf29a7411bae13fc6ae9a0a1aef63449793b04b503cd3f556cf8abfddd5671decdc0e1e6f748b926ea297b0fc14 +DIST firefox-128.8.0esr-es-ES.xpi 655181 BLAKE2B 39f8ed69998752f709be96556eb71a5cad96cc710ba12c83a583b957463a6fa21db0c5fd3e5c0bc6c5b390b3530583ce78ae7de33a270fd6aa07df5a64ba8416 SHA512 b0a5221e9084a7443c692560a31224fc3213f98708719b47cea5022799700739330f3dae4e0ea9f236440d8cd9fecf537ebe13b5f46319df00998ed7b408acad +DIST firefox-128.8.0esr-es-MX.xpi 657401 BLAKE2B e9b06575442f6e3b34c32a64d0dcc3529cb0c58ea92ce3c333fca769b670b5976e02b3ae48790588849c3b4c934dac40f30457d4d000d48d6f53e145ea63d69f SHA512 5d6169d6185022a7da95ef65e8896876248f62c22e683fd5f62176ebacd7e183e7cdd82ba6acb2adb0925d7e513560e096df8945a6fcb170bdb6766c2b34389e +DIST firefox-128.8.0esr-et.xpi 556257 BLAKE2B 8421cbb4c63a9dd1fb6bb4bcd05491be09a7fca3bdfcedbf28b189f1a223db813fe8a28e8dbfe291712dc1bf63b729d3a257de9ec0f8747d3120257afdcbdb2a SHA512 8f52250009a57668f4d7bc289049606cae31d982b6430ac5471c5434feb49aba178291b0e7358ad577234c25d4e6b014572db9574c00eab96edf3311f00ee5a7 +DIST firefox-128.8.0esr-eu.xpi 623944 BLAKE2B afd5811ababaacfa03314512461bdee8baa66834b07e890052c9aeb2ffbb111c802cf667628c36ae7ba47401077a191847ced1ce673bbdbddbfd56d91b40f50e SHA512 27fb92551a83cd76b9b62d7a3fab4821cfa3f5d9646056352ec5c13d117b54275b719486ce9462167e25342cb98a8554aec44493cb0ee6ca0ced3ded412a88ff +DIST firefox-128.8.0esr-fa.xpi 631012 BLAKE2B e84bab83ff935f5e732f30d6c18465d4f404f4dcaff9a7f2a9878c1515fd146096866cd7e926452bdd3a5482f1e2493310dbe62010106f42ffda7e47837384e2 SHA512 2422860ff2c1c1fe68b4be3c7269543b47ff3dca98faaae938bc71b06a164a1a4e60db3e8a71d14c35cd35cd8ec7c04ee63ff0d963826d19faa5e9f9358a52d6 +DIST firefox-128.8.0esr-ff.xpi 497842 BLAKE2B 827dbc64bed28513e3571c2c7560f4654b45064159f4202e4a6d9e5733536d7893a9faf5d47645ea6fcd35d7b3fe7d02d3967a168247dfea840a466bb7b37fcb SHA512 101fa01455b50a587295cd89cbb57981deb5bfe4ba310c36f79b58fdc09cd7e807aa87408dc44847288acf569215a12a526f71e8d44c4b8297c20742e2cca502 +DIST firefox-128.8.0esr-fi.xpi 633877 BLAKE2B 9f562490ca4bb7f60b84d256ea45b0e394d10568f301b636bd03f4384e3bc64dd74ce622f7cab0c7e2cee5f634eb10778a1c56a63062ed66778b455ef7fd2128 SHA512 8a1f4237017e53dd668ed34058c23efd9760c0150b1e0e77963aca059857e6dc2271c3fa6860767836d0a253f41c172593eb05f2589d0334d6697366616021e9 +DIST firefox-128.8.0esr-fr.xpi 669633 BLAKE2B aaeceb76793d91507c521fbd8c402ea628c66dfc8c16a8a118debdb2555878737683214d73e8e5d658e623eddda80be38ba6d14255966ee9adfc8fd652d934f7 SHA512 43481978ad664f64c94f7b8025db5f6774a3a17cbb85b7bc151d76b524e1192961ed4f31dc2114b622ab34ecf8ef10fc5dfdda8cdd3f545550af34c9c14c0ab3 +DIST firefox-128.8.0esr-fur.xpi 651567 BLAKE2B 6293b3c87e61f7dfe27aaed85b77e1e23c77d30c0e81c5467813bc928f28a2b7066d246503802e5c3a55b37cf39210d1d5f87b5f2e5648356d5591e696791058 SHA512 fbf3ad51319f67b2a0cbdb47fd3210b025295865a1ead2fa63b4e1eca5853784642b0b91c5c845857e697e747b312f4b8050222a38c3084ddab198a09107b266 +DIST firefox-128.8.0esr-fy-NL.xpi 652084 BLAKE2B baab65f1ab39b1b68d4a725abd4695e6ab4fb312f416fe53eafc2b2305503efc1445d775ffcf6207a6bab7f8c8ac57f5c19df56e6fcce0c01f93b25f13bcdb46 SHA512 0ceacfe870f4113998c8e8c33c892c138cc00ed5e922ba6aab934dedfb922c5ba073df062d30620b59cda51f1b139ff6a8a56eb3d3aa365d58221e3101b1cef1 +DIST firefox-128.8.0esr-ga-IE.xpi 490832 BLAKE2B 538fe918064d0dd4d113107be9970f899e4bc987752375ff42ea98a6adb8fa884b71a4461e2970ffd6fa13088972242316ebfb1bfc288f921bf22c09d6965492 SHA512 a1a6bf808b656ee8dc729395e9e4aef29511aca584c070166434e143dcd4e1c108e5835af3ff4723e3dea30b594ab03da75b12625ea1e70a159fc51a21b2e5c3 +DIST firefox-128.8.0esr-gd.xpi 609612 BLAKE2B df48ff29d36b8c03d14f41a68a5b3dbd2b94726a1a595ba7be0294c99f7cd3af1ab2e68b1f90638433c62a61f57638e7e9dc2d51595b7650baee7a4050006efc SHA512 c4ffbdf2545de35b1d0a5f44361b94c0b7e0adfbf7ce294deda9919c70d564a4dcf0fb2a3d764f834956c294b9a4fb579a938b854e8fc27b7c7097e6afb9264f +DIST firefox-128.8.0esr-gl.xpi 615541 BLAKE2B ccd192c71facc11614b85d8ffe2ee5d15999b546549eb00c4835715be17314f8e6abb4933dc69822d56965a9a77178c8e29205077f6b8e3c4da8042979053083 SHA512 8d88e3d6fce2aac35f912b019a9cb01fc4119d133fafe66e4568b07255fad70d2814a87d270acd87bf0dd180edd8f9efe1168e0c9d16bf5f97392c5f834657e9 +DIST firefox-128.8.0esr-gn.xpi 659906 BLAKE2B 1a6c3d5562fba42ba06d35470272ad538ca5ae1f424d7fcc0fba5a0302616108d8b213b4cfa2e34c59f29d22160085acc67eefc6f5fd8a512786be64bdbe4cd6 SHA512 c9ba870f76098917af4f03128087f9bd00dd0437305cc86f4c98e90904fb5277c05cafa173c6351b2f7f6bea4c5e33224dcb9bf27275b111922df51fbe0be339 +DIST firefox-128.8.0esr-gu-IN.xpi 552339 BLAKE2B fe741b547e15596e0f6232dc51dd9f88e924dc84fb0269add40e68a5d2b3951eb95be93d5958843d05b2ac5f5fd974b38b592601cad9afd00611a322b0cf888b SHA512 e3c068a288007f715703f10608a5d7f9f0d3da8d7f932363bcebf9314adb9427ef53d607d6f1cc9709d95b8320a87f19d2903e68bc6dc6d4f0267135e782bf21 +DIST firefox-128.8.0esr-he.xpi 659485 BLAKE2B 2d4110648ad743f384436eb55808c0260a2644ae6e4cfdcae813bbf9a9df0f79566cb799587014b7aba121bb3853595db426a980f76169eb76b04b75342ca73a SHA512 af5e8b778cc8416f4de163131226526905b2ad22ec4aeaeeb0bf002ed8bdf0d5436592f09d1fe8d1e1ee9ad231eddcc673ea9c41efd649b2c229808c86971383 +DIST firefox-128.8.0esr-hi-IN.xpi 578981 BLAKE2B f3005cbc3dd8efc1c96f0df5015b3d958ad03f7ec1957a3116ae3a7fe596ffe249dfa7c49c3c38d3b9591f196d41e247308206bf184187388c804ded49cf540d SHA512 84fe919f6bef1173e19686eb823f84a404589f1e106f6e8ab3c3f079fd6e15a8eeef225146c57b902859666636a1d6182bf68f56b17781074b72e3b9d8d5ecdc +DIST firefox-128.8.0esr-hr.xpi 645456 BLAKE2B da6afbb5ab8619725c03c4bb67300bfd5ed5b956b2d982efc42953763457fe416b234a697986915d2bef4e7f12c58d4a262262f0d5ed8d9bdfccf151cdbd6f2b SHA512 2ef9409b8769f024cc93c0f241916c36e7c198ad02538e5569bdc03b7379de917195af89150737b953e583e0c9b67a040b158976c2666271c99fbfc49206ae2c +DIST firefox-128.8.0esr-hsb.xpi 675864 BLAKE2B 6cf613f85608924f2bb136d974be8d8cba53c66958da5c2369ae1bb7810605e7f004fa0c31d2203c116196e95e311df0cef58ef972ba49a10d29aad482b89c88 SHA512 f1709d85ea173b830dca4add22d44cd9b025a1afc2bb356b2bcb1e9afd3dd47185b66d4b3029291bc3ed3bcf9c4ca6f28567b597b23387db80b3b22038ece3be +DIST firefox-128.8.0esr-hu.xpi 679682 BLAKE2B 665cff304912d11cd6ab800bbb63f8f2502ee1bb4da6d96a28cb80c0d09b28c31673fe54affe0004429a388a8fc1aaa0513ee2cbdf5627bde8551ea4aa8f6375 SHA512 0e34ac6de2e24fd2a14740531109dd1901ebcba43dae2ac868e0feaa0d65138cbf49d488f0124a0ada71a7943135315d8bf49da12357345f29c1099ae2f2262c +DIST firefox-128.8.0esr-hy-AM.xpi 664453 BLAKE2B ebf843eb40e2a9c9daf7bd0a409c9961593a9caa7e5a484d0b43883a84691612a636320224f36eb173dcd838c43ea5af2e60c5cf1c9821c47f3122cb3a876c60 SHA512 37a82f50a35b5c85ee71c956756a27af02864057ffb47491fe9abac6d0a3e7fb2dacd6dd11150a9a708109be2f1d034b790bb236257b62abf6957e4bd070c046 +DIST firefox-128.8.0esr-ia.xpi 637960 BLAKE2B cd6d8554b07023c893248e13ea13e26fb696840616b7916fe5f72343cd4c6801a51dcd2a985905a67dc63074331b940738a89c92e3b636f60e8b653b9e4fe8fb SHA512 c7a6d448d4ac34871a0ab99437511c98addee77e740f45b17b93cc49f188695425b6324ead7d1c2b6194ed910f87dc541ba7087e8368e3dead6a0d79ff3e8ac1 +DIST firefox-128.8.0esr-id.xpi 625987 BLAKE2B 36996f57f24151cce33f22c7a2648c173ca0fbefa4cf1e7124c29dd57276eb502cc86cd0a4adc5ab3e6c5570c18f973b7efed1805159f114e2dfc5f0025ee3bd SHA512 46ec285a073f357d002290a1eb6c478c4447801bceb0e32dc6d7c16b5ba22831d4f579be35fad48866c26e0e0b45ae8193a1c90d05f37ede597dc37f5c13b513 +DIST firefox-128.8.0esr-is.xpi 646735 BLAKE2B 0c43c7f5b416a4f4b3fe57f67a6e0e9aa5a5fb837822050cf4e001adb9c0a425d8cfef33356f8e658e1896373b334115f7786c58074da63f354345fde20957da SHA512 92d177faeb6230e5f1250f50bc4dadfca30ce99dbe04b5f7d90b0475cbba1055744c36783ead11c577ee950421b6890c511b517e1fc5f83748dbca57d9e41e84 +DIST firefox-128.8.0esr-it.xpi 648862 BLAKE2B a6828efd681502ce1a1ed3616cb67d0e56ca94573383101974ee038af16d723b28165628978e5504fbeb016554f434561ac1f4f7493636f85564516c685b5706 SHA512 3e9df23dae68fb8a58ec1c42c6f9969702c8b1994367132e0d6b9a8bde2700a694811ba10b3a6dc8de7c4fdc4555e3b4e9f48f16599f63c5f5bfb492f1c20c85 +DIST firefox-128.8.0esr-ja.xpi 704123 BLAKE2B 4ac4d6b66d911e29aada51797afed9683148b5ecd2deb3e0072f017ddad0470265f41da7acfbfe94ef3e9cd2e5f126e7f8b0fcf442d68f9f21b41ea17d0f1ea8 SHA512 c06e28375b99a726866432366a0811af8d6d3cd7b46f138583ba9b25c4d3e24bc08b1e2c2c1a4d72031fcea2491753ae3cd1441431be9b6c47a0544a4f537822 +DIST firefox-128.8.0esr-ka.xpi 714507 BLAKE2B 266fde7accca2485b28ab1f560ea6482aabb6d1fefb52009b4d0af0ffbf8ba30f4fc039e1a427e013d46938df67d05bddcf52ea656c305fb7bd227e91fb0a114 SHA512 336396859d20838c765eda6132823b1259338ff34944047500c5cd7b745495547e61163872b8e7e45a18d779c4f513651f9cc8f8d0b024f69959e160fd56b218 +DIST firefox-128.8.0esr-kab.xpi 626275 BLAKE2B a758863a234061d2e16640aa202da9170b8131f8d1995c529ae8723c3fc259ddc9bbb5c8758066d054f7cb02a472640b31b8461b69d4d8a094444aa86300dc61 SHA512 bb9ca46192148ce9e09b74fd43a1f358054af35cf1b3d218bcff348efd83fa6229f6a346c79827ee6361d19d8c25050322cdc22243b7227897528015fb540b2f +DIST firefox-128.8.0esr-kk.xpi 734551 BLAKE2B 891900a50a17b0792b55083275e82f6c5e23d54db2e76d2d4ae62665b0e1791c768d51659857d370f1656d1bfcd7546d570ec29e3be92fc5a804f1851c9f4e1d SHA512 80336745cc05c5fdce35ef1f018fe1e80a69177ccec2b84b7c3ff7737d283dfdf4e0663f2e42961c9eb407456f91ef3af421412c574c1d96d3704dc9516668d6 +DIST firefox-128.8.0esr-km.xpi 543161 BLAKE2B dfcb38f3b4bfd9469b61e889d88c014b02d26961d16eaa50e0f0ba975784d00861161137ddae83153a042c152517bf94b49e0d50a50f7f3800f7afe46cc5bf14 SHA512 fb8bd922aa1ccedbe7e18dc8f9442cc8ceb2e8f80b73178fcdb0704bfa8051dbb02083e22707c94fe8598cd51394c4fc95a82f474029c2b6aa04c1457d434b30 +DIST firefox-128.8.0esr-kn.xpi 520318 BLAKE2B df4783a28413935127bf4dd9a3a3f5f2ca709c555a43411d4f210147d949c04a7185542e9bbccf6e61a4477da6d9924b5f7e02e33441edbc0054891e85063258 SHA512 7beb4e7a49814bc9cac279388cb610c5f264b0b9513b8655504413bf47bf5f3624ebb3464e6320b77a4c255a05920c7b68cf4f1b9fba3e04ca39dfbbce2434ca +DIST firefox-128.8.0esr-ko.xpi 690557 BLAKE2B 71c09a2566f8893bb29225e084596d8ece50d06bb07b414494e3c0c30ba552a931858aff49b2fd689996698370c0dd76381f23270f77320e361ac165d238b820 SHA512 7922afa4909d978bdf4f5ac5191a6e8e46325fa59e3f1d4569ce2dfb94ac35e46675512b964bf860c7a2357b8d9e6014cd8238bebc8a7c93300a76491b5fe119 +DIST firefox-128.8.0esr-lij.xpi 506293 BLAKE2B 7944e24a2482aa40fb043130c6fff28e1a33fe34008b3e137853985c1e2cc5cce3fff4535f28edf5ec40fd2ac5f95c62595fe1f3265339597ca07f54a9601581 SHA512 ea3f4d06a59bc21d7504aec8850053e1bdfa9d55d32ce942b33983d7587cead5cf130ddb68ea667a803fa0f532ef6432292a8de46044f3a3020a9a1a4449f9a6 +DIST firefox-128.8.0esr-lt.xpi 585991 BLAKE2B 54280de16067c0f836007f76312b6b599f257add617996d9178f65d9396693676dda7f9c246ebda7759c72e3c249d8cb59320b1139c5f1cd737225975675a867 SHA512 fb6f39cfe651dad3bb1b496a5d8241aafb01bf8374e0043bc9044b44165d4ccfd3d1a88a319f489d5cb503c199e0178a2636da8101418abf2455c8b953b23a17 +DIST firefox-128.8.0esr-lv.xpi 595103 BLAKE2B afdde869e28d83bca6151e48b60b9202f87c232246ab6d37d54d4c44c7a46b32ef98b1381adc5c05eb024098d544e56a8786afa99614e9988b798478547d3a9b SHA512 4405712a59250fa59df9725e66c4d999b9e5f7ff111e190123fc5de86c4db1267aa608a88179c1b95f24006003ee25eca46ab772f7d560052bb05771f4ce5fdb +DIST firefox-128.8.0esr-mk.xpi 511078 BLAKE2B 6d68f28b39deb91e6bd1eec53fa562df27c8a8f29943b4f65c7fa89338e46081d590c2012a73a82233f724c49823740f86dcc18323084307d88c79f259e9aac4 SHA512 439821357afdbe08dca3019c920a08af39c0dc5b98a7d625d7f097ef993b755efe7cd520869ee4b3471575895fce2632c5f7cc957cab9704277168da768f502e +DIST firefox-128.8.0esr-mr.xpi 552808 BLAKE2B e6c7cf604f4d6ed92ac69aa045ad6010f172b81b278c32535fa08aa017854b81121dc5390b6cc1464b45fd5854c5105097f935a56436231ec79322a81b3d4ca7 SHA512 de2b1e82470695dc6c0f870d5699a0869fbe716fa101665b561b8e0c12853da1829dc74818b92e54d436d30216973b01f2e36a1c1c26f59c0ea78cd0d4cf7da2 +DIST firefox-128.8.0esr-ms.xpi 477960 BLAKE2B b39e8f1894abd1c7051ab3be820a496677b172165f825d7bac1da05ffd3eb79683054aeb4b5592a89bf197a1d7cdb4abbb0739de522923ce0b19d020ce0f3e73 SHA512 018b1b7a53a5a8525c677201a81a39ab0945b49297bd4564fcb6f08be0c998f753f9738db04de8d5fee186e3a03062820d9344631d0f9fe669a760f39e32861b +DIST firefox-128.8.0esr-my.xpi 540059 BLAKE2B beadffd32c899b57040bd55e2c355f9cc8d7cea3423ec89993f826b47618b082ca4fed500dbc98296e44d31c712758c09c3335a38485478ed2f9bbb565b70799 SHA512 8c1a8c0ba9d7b49b25b8ad8607a394a3fd577f4111212e3315dc6519f8f9f87d6ef472b1cf0281e839c3f70315284884d34d7fd13bfad295784a27b460b41e58 +DIST firefox-128.8.0esr-nb-NO.xpi 627677 BLAKE2B 16d270b52cf6585fb929da28425cadea11699e664cbce789ff35a2e37fe451f70fbaab385dd0265c6a9f02f827f04001bce7eb1b2da7fb73505d20c89460c64d SHA512 0dfda234a31ac875697e52d48fae0eff70036ce7619c9299c4e865bbc1bcaf33e268048ce6ae73b7a18666dc122467e49828047e30a0c2d4f86264b3f43fc20e +DIST firefox-128.8.0esr-ne-NP.xpi 543820 BLAKE2B e4ccd2744e8a18b4fdaa5d8f2d9713daecfdcac5eec9b724c125393665de5063af712935f4e335be219638ce7c0073397437bf67147bb314cf10d0f6953184f2 SHA512 353b974d884e86e1d5fb250f9784360a856bd487dda469f4110928f25c9c0b7a7a24c7cb63baff6a77b0cb03544a7c2eaece77c18faa5d3cebad397acd4bd68f +DIST firefox-128.8.0esr-nl.xpi 645178 BLAKE2B 4326ab632aaabcd4f2b3fd9995831c7da37f0b726dc0aa547d12295dd9344ba89a04d7b2a04043970ededbd5cbc41d1328a0a00481094bb61ce7cf8bd58feb0a SHA512 0dfb6c53f65c1d2dd362066c5a68501f8339585b2e72528163035e71ff35a5137343e90129a339e0bd156c4e2a3d93f3423bc7c18041a4bdf765bf0d7a46197b +DIST firefox-128.8.0esr-nn-NO.xpi 630291 BLAKE2B eb23fde5b9100f5f6652ffd70701618796ae008a534178c2224164d81197b3603bf6596317b769505709bacf4189ec62a8d6095c4f2423d376ef25757adc4d3b SHA512 56dad2127fbb2638595f1122efe88e6e0a347910ceebd4fb84f054fdcfbacc82108931de015baaf4008293d0d5e0e7f9fe7f8812b7a43f6cd3e9e2e8ec67592a +DIST firefox-128.8.0esr-oc.xpi 626825 BLAKE2B b6892e6a2c31f835d6eb1227a920979e042a2e6dae8165f20d42b6df306b0235f3e2211a1c44990c6e54e72532b9ec979ec6eed15732d264595a7c0e75802a98 SHA512 0727ddf2cb964d8ea0d13ef79aa79f5025cf927bbb08d2fb71441510e7bccc42b5cc2e955beb96776682333485e6f484b4df383cf1246581fb6f54d206e4562a +DIST firefox-128.8.0esr-pa-IN.xpi 726723 BLAKE2B c9045b8aea65081275fe3f7513f1efe61a69232fdb9176ac95450337a7e316a42effb6089311dc582387f918d60b17580b95a292d50fe713008d8f881eeb4dc7 SHA512 d0ba06d17071e6b3620b48b1b93279e6475d06663a394a8d8fc05c20ce93e514aa4795b0f568bc41c63eda0787d06a619584ca6b3baa369dfb9b881bd7b9af2f +DIST firefox-128.8.0esr-pl.xpi 669235 BLAKE2B ef077aaf60f4e986ec6ac81a81c617e0996426b08bc3e28cf18765338c4d6b6ca47a05c712497979bc6a5f8919dced5856518aca791bef61dc21aad68e386585 SHA512 a1aaeb03d26998bc5e7795f8566ede5a7a9602b3cbf13ddca7f23bedd36ac2618577d10ae981b922e07e0e233eb517ec37149552d33494a5fc4e086e04ecefcc +DIST firefox-128.8.0esr-pt-BR.xpi 650216 BLAKE2B 9ef70c6828f4060e28d527603ac65b4dfb8d4e693a72030fcca97e2be277f681e5c399399f05e6ee6c77bfd7e0e7aabc5f6303d937bf67d97d3badb216ae1da1 SHA512 1e41dfb87019c3874f7d89c9c2fe9e08c6221d24680af837d60705bdc329d755c970ce610bd9b18e7ff78588fcac141e0981bf017598cf19085df8e0baad6c84 +DIST firefox-128.8.0esr-pt-PT.xpi 654872 BLAKE2B e74466cde4646dd045e5f087a708134a4b9f7b99fea6c06d8c4391c68a29762aeda098cb8d2c5961e7f347e4da86f7f4d26d555a46ac57ef1e714da6448eee29 SHA512 16b38e45de670e8986790e6a5d224a9091feeacf13bc3dcad4355fa028bbd6ad87d61709740ddbf3dcf9aeb1dfb8d764eb6d149224b1f27aae87682fee24153d +DIST firefox-128.8.0esr-rm.xpi 646696 BLAKE2B d668d96e08ea9604babb199dc834e98e91bb58a09b928963c8dcd743224f39260c48b1312290c502e3e3466c21ea916a009c9f3e94a098eb47d3ce348ab77725 SHA512 93c14151760b34d3adbf777787a24d755c41efba18c3f1e0ffed6f3800b64395d626eaf7aa31419bf65e80bcde853bc59dd58c472fd5cdb8c3c57b516c01e330 +DIST firefox-128.8.0esr-ro.xpi 562848 BLAKE2B 11110ab243bfc8de092dba804c6135fd9acce1243d7cd04441552e819d75672248c4899f4bbc92835385d03c55206bb39ebe06f4c0b16e05133322654f78c781 SHA512 dd570731b4b1f340dac97e7341d5096630c8b56f3fd03f9d7fa060a32ba85ca98dfe6ecd87c13bf55683fdece851990614805507e3beffaecfaee2d39ea44647 +DIST firefox-128.8.0esr-ru.xpi 753054 BLAKE2B 1da3854e92d62c751f4badd097a86999f9adf8924ebe223882345bf5994280c7eb42f9630578abfece8dcb547c475954a139d61724b64a8f17af6f1cfcad68e3 SHA512 aa8a752eef238e41f1336a63bb3e2b7a7f00007a1f4ed5b92994888b88ec0299362230d4e007ce390ab53d61bfb00bd47693805ef304a9c71abeea109bd5e587 +DIST firefox-128.8.0esr-sc.xpi 604287 BLAKE2B 4366f50e9c6900b0697d8cc4028390ea3a5c3fd3f7eb1e2f9b05f94dc6c937885694168f7b26929d7b099d07916f1f0124e9f151dbd0115ddf029e81973c2f2c SHA512 02a375c69122dc1fe1c7641448bb4e852b0253c7d78061821bc7b3951e75fe00e9b3c0ab196db2ec25a60ff716c5a68b640e52d724ab4ac274a01527e35cf62e +DIST firefox-128.8.0esr-sco.xpi 524657 BLAKE2B 757c1a1f172c757681a6cad0558ae2e65e7369475b65910703b11013af6eda1d95227c8d6e1ba3293a26cb4e108cfff6bd6ce86f8301c184fb1f9da9e248d9d4 SHA512 b0bbf12ca61088b965d91620712d7b5cdaa758de80629c92b310b4cd74ba597c891aa9545bf513071c0d9fce4ab55fc30a9e45f1efb11c0fac9c24fc5a6dbd74 +DIST firefox-128.8.0esr-si.xpi 628191 BLAKE2B 7a04659d4fd7a082e2281c65195d174700fd3cc6d96000402358188c7b57cd91c73eb56894bfaa97469b64771e7be264900b1c6a64973ef99b01b3be26c0d665 SHA512 6b33c093f231b89c87553d7c705875f052295e5f9568c1120a4b09decc2eba9f86e7a4f3d3cf27bb5f4f0faaf06eefb49af668036c0cfcbd98aafa4979ed3927 +DIST firefox-128.8.0esr-sk.xpi 682226 BLAKE2B caad0e34413dcf946eecbf4938a5a05fc25d87362b37cf9d08fda30c8bc182e9b8bdb21b07720bf723edd12344acedc9eee652a804da7095ba0c4f38f8a971ca SHA512 4e56dc5f8e34f926b47e4e10da885a5f467818f106b026d94fdade8aab899b1a7b1919828a55295f6270bbbffd29a3646944b02d2c2492f2284b2375a9d43dfd +DIST firefox-128.8.0esr-skr.xpi 726689 BLAKE2B d904887d14d4186d4b80cc4815c96c1d4eeac8bcd57c7c7faf461cb02ac5eb851041411075c911e03fa2e65425c5bb488731421a6060ae4cd9dc10d1e95fcd15 SHA512 e7f84bd861d2d680e02a402ef6d01514dcf0932f83a6479a4af04f9aeb34ff46daf9f907248bc810111153c1d0cd75e463878e562b133783bb39a5d94175d1f6 +DIST firefox-128.8.0esr-sl.xpi 649038 BLAKE2B ebc6932419a7822d466852aae872662e7c876cc6e0d19fd2d810f0cf3aad173fccfa0689883e26d5a134e863ea92749246a726fedf84cc889ea40c295d20d2a1 SHA512 b5c1b477d74eac0d61c46610db78df721598c40e8d276b80c5eaaca5ffec55c6bf33c0f49767e588043953546e68b487d5eeb3c438fa9718b7d2b7dcdeb2d1dd +DIST firefox-128.8.0esr-son.xpi 451692 BLAKE2B 23d4fe9cc9451ed437a8652f59a419ff09cdca7d1eff8a961690f986e6131cf9da33796d503b02a129da35de9fc5022ed05f1cea1c98a585f9a8a4a346ac0bad SHA512 dead12871f39fb04ace0291d6f71c8db02e925a2331478b57783ef6143b9c2f87aa2cc9334e6751bc0eef599af7ed571ecf43912006317e32d39ba6e18c8a22c +DIST firefox-128.8.0esr-sq.xpi 665747 BLAKE2B dd6c5936379dd4de9e0a147ac74bb4ee73a372a64a4b8c7a03c6647066aa4e40cdea5577a7aea02197e966d15aabcd012b4099c662d00550f400d5bbf3a7699a SHA512 24c2ae07874176f033832fe0ac831ce1183c9bcaa8ba458cf587c4b9643a7afed081f6a5bba5ca6917f60449f3f3e814dfb70d664add41905ae7587405f64bf7 +DIST firefox-128.8.0esr-sr.xpi 678437 BLAKE2B 517d9fdb08cd79cc47afe7bf8f316e437668443af0a07302c66c0c1a95b6ece7306917d02ebede5cd1d3c79b5b9cbab6b161fb9ff24a2bf3b4b841c22a8cd931 SHA512 e59902a0cdf0d3b6c1aaad23452150f9c4d8eb6d5bd3b69bbfe17f24e82695f0d85de76d4d86cd28954cd57d31ef4b9ffa01f03899963f6185c5007125b91c9b +DIST firefox-128.8.0esr-sv-SE.xpi 646485 BLAKE2B 379634be993c40d4b91408af0c3c67f0467aefe77a05a30c54b6f3274c31b564a0e61f0239a04ec3cb982008ef9043583117c362c22065f5ffb589e404fb8789 SHA512 9772ae0bf1d932f394c90455e903b85997334d9b9c857871d0c4f5ed53bdfaa350ace1a753d498e074ca2ce56a55519d1f3b92d4705d5f2e1b718624366d5c77 +DIST firefox-128.8.0esr-szl.xpi 541723 BLAKE2B 1edaa4f8a65646b8ba29b410a76007c149df4754e62aeb7a90b08716e532910271035c1b65deaaceffd97f9017122a92afc0ed1168b15f8f932bcf53e1e7b814 SHA512 69e9bf21ad471e16767edc6ed2fb12480af784897640e822b9028e78f63fe59f20ee031b10ac43de321c08de941c30784fe9a8ea02874e8fa62497eaf87fc356 +DIST firefox-128.8.0esr-ta.xpi 530542 BLAKE2B c5ae87eed61bbd55569bdd7dc4771cd4f54d3673ed46c02bb887534c8c54f6a63c02d4807406e7f35ab50550831d8e37f0006de89df7d1178b078a5c354677c9 SHA512 9f8fcd5c8a9b7bdf69e393d8bdfc1890e489773a37ba8fa97639cbc139efca0cf3014ca6aab4ddc5df209bedac98c3bb3d27d546f2ad06de1b5a28f9e52a7251 +DIST firefox-128.8.0esr-te.xpi 583154 BLAKE2B 6c4cae2fdda36a6525f014a7c2cf4d03ed52a8b6699ffb442aef92b19e89b3bfb3a1deca43a24c5b881157e1f95e791c9c1ac3a7b0cd1102ed2fb715677594da SHA512 4ca9755184e098325a357aa48985f4ba9551692087a8a01eaab9f99a5793a3cf6b43c2430b05c84fd665c8f11f934ac0fb345b22d64ae9febba4f033722c595c +DIST firefox-128.8.0esr-th.xpi 728443 BLAKE2B 3d3a0bbaa9dc99f1ff4bf25199b023b6c02fadb69dcd746342ebdb9134aeea5de8ff1d803e49b30c0be49d769b558ece1d6591ce4256e97da0ed38ffb5552ecd SHA512 ee53458cf0425bef92d34978a32afb0337e1a6e3ee4c823ae87a24b0ef95ec003973ecdf0af3f40f312d524ee206894eff8b7c0749a4af278cb75c936b2ed6c2 +DIST firefox-128.8.0esr-tl.xpi 546942 BLAKE2B f0a7d0e435ff3b44d0c74398ffea29573cfea9f921a8e9799901b5b8528596733c3312d90d53132169e606dd445bccd6edc4989f10d2190a33515413ad92eeef SHA512 c26fc605d691591f6ef8f06ae7d01c8015b7900c400736ec63f3c1b05ff926872195618249d0b778e6808137158fc531e4d40579d7f44d331915aa56d429caf3 +DIST firefox-128.8.0esr-tr.xpi 659468 BLAKE2B e51428e641a3e260f353373e7de0c036e24d5df4aecfb2104a8ca574929d4892a303fed075b91d5161a4eda3d435bf9f63f8c216def13faeb43d8079566b60ca SHA512 bf8f87e415c37e2d352729afb7a7091c5ceb6947a90d0a8050e6673197943d77461f05c611b58e14edc71d40c2fde21aeff355dce6841431f2a160e69e291114 +DIST firefox-128.8.0esr-trs.xpi 522149 BLAKE2B 1736fc065e2b5a4e9aa448a550771709bdb876888150b451656541b6187a8831624d40bdfd16266e4267183c0c70d58c6bd7a1dc3a1c88007e92bdc78b5caf9b SHA512 7b3c82d9ffed9865cb6e4c69abd5038342ccf1e40de31ce9f44394935aa8e5ceb51a346a28f6b048629f9a2ed348361af2dedf2b9ccb9128f46ae4e04b859699 +DIST firefox-128.8.0esr-uk.xpi 743998 BLAKE2B 30e97e28a331fce791ea2b2e8809cecb65228adbd039494906c0525f9de758881c44dfa0508d017a69f4a4d5f536add01d10f83f7c3ce2c14ab4c34e07c47d2a SHA512 6dd902cc4b71e6a20995d9ed2e6dc7e48d5c98a8f8ce8a0d21221e8ea59d174fce9b8f1a8a5b2483bd1e60d04c64f5270084220a8790448462f5ff6cd92128f4 +DIST firefox-128.8.0esr-ur.xpi 574513 BLAKE2B f86a91c1feffb308acb398337a9bb3b0e7971e5471c75cdbeaa090af68233c6412b82b1490e52dd251618d98f0b924a9b0362f7810fecc04c2855cf25d6ced58 SHA512 aa2cbcaf068229880037ef9b4045759a3faebbb2975ddee886df1797713494fb9972f96905588fb0488b44045f16bf0bcd4c44eceb4640d60957a09b481e9871 +DIST firefox-128.8.0esr-uz.xpi 495299 BLAKE2B f4ad79a3bea7b34270ea715a85bea5d27e8d57a4da952447d0797f9bde3596f7517844a2d8152c72ece999ac004b23a2ab8271755e6071d32b89d063a9c2e72e SHA512 ade0079b3135cfb1d1e53b81933732774a83fb91c46a664527a8e16f1e5547e9565a53eb86ee4c8fb77a298005b237130e061f996b6cba84b9f1d5deb55cfcfa +DIST firefox-128.8.0esr-vi.xpi 683662 BLAKE2B c6b03cb6aeb0cae066d94259274ed1d7a1d3e236f5fd47849a3b0056cfc429a32dc673c4f95b6eba9f2725eddd168053aabf3f32adea1f4f94aa9c5f791eab36 SHA512 f704914f549f7adc38ae00978dc942c9ee15e806377b3261ab72f396a12d7d0b973e67d54457cdaa12b27ce532b4275066526c218b48e239ed2c512a4b5f5c77 +DIST firefox-128.8.0esr-xh.xpi 452426 BLAKE2B 3d8c84612c104b1b80cc3a9e0b9a2a389e9d1b1838890deb08d518e5bfdab4b625a81a241f3c4365817cc0af13e6e883f2813bae9bc7469cbcc5b014a4595cb5 SHA512 ea8b23feaeed2b80d3c30184f521fc987c8bfb9a2fd59ed6ca44f33ece37277b0e9df44dfb384fe72ea678ad5bcab9515b3cd179caca9426c54ecf4766f76123 +DIST firefox-128.8.0esr-zh-CN.xpi 686333 BLAKE2B 952d19bf74421178b545221024d4f018edac4c9680f90b30ddbb417803c633dafffc0401c7654f3df0149337feb352105b0da2f96df50de1e8b3075e1fd78d0c SHA512 fa3755d2ff811200afab42c1d6b8f14fab2b0a1b33fa85d2090f1707587e38fbbd7ca28cb9c7b3d4bc59019acba838039e41d30f76c5e1af089f6ec442d25bba +DIST firefox-128.8.0esr-zh-TW.xpi 689142 BLAKE2B e537479b577f127348538593adfa6efc92fe2298b57ddc867b0f4cfdbf6cd18f46b1e62abe08e0b8e6d120f4ecb7e5485d9feefc82c08a4bd93e7f3339ed6e37 SHA512 197e2a3217d90f38347daedffe7f6a070f4da38c5540587f49b7892ec4ef944cfcde3e61881e3b3011f64e40628c7e7cf609bd81cf570c6fc9cf03f02b1f1138 +DIST firefox-128.8.0esr.source.tar.xz 563554116 BLAKE2B 3fdfa2539b42a6a659d05ef9ad60d3dd7a0097abf3c5038150316d775e3eb864056a56edc58ae4e49ca36b3ccf2f05d68a07f8493a7649388e340cd81640e584 SHA512 7c0ef22bc14d4fa248cbae14d629174c9c967f891f4525f609760595f5a108aedf7dd804d1b63b97ec268613fa98378f4742a9b6ab562454351cf21175fdb802 +DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e +DIST firefox-128esr-patches-09.tar.xz 17976 BLAKE2B 78f64f5086951f7bf2b304c1148154647aef5c4e699257cba5e94a83d8d8c159a591d0b2a7a5f8bc0f8ec28d5eae66a0783b45f94b4ef713282a6f88e46c75be SHA512 159d8c94af0f90c10baf7446e573a37397b3be7103e7001fb6b38845a28a41793c21ad24c23e0b3cfc4daa2c3a6040ef701f612693c9f4dfff8534f82e7b18a1 +DIST firefox-135-loong-patches-01.tar.xz 39148 BLAKE2B 3e7693a1decc1750740a8ab390e07d5a642105ad59f95629f9cb00b7c939a8a497c44cfe0a569cfd36cd57663c63d7b39042f5f1eabc6cf0b0611b78e8bba4dc SHA512 1b70b9fd4821c9338af11495b0fdb2aa0ee3f647de113dbdc4211d6a9b056dc7fb30bd2ecc224b4c66e48c2eb80f8937acb5e6423fddd45f0eaa42e538c725e2 +DIST firefox-135-patches-02.tar.xz 13740 BLAKE2B ff1780260ef9032c9fbdb6af9cf63967eeff0e3478dcd53e42e6ae7e476ff31084c3f61b840ff0ab7cc9a6932b5ae2f012b0abfd5c0551f2896ad1b10a5bb3fb SHA512 ed124fa1c4685b45fe0c3402d9abd99e34bb54d42f1e5891204df26af06578d490d3bc0a0593144c69970df5cf0b89071c4d45540939c54c1cfdbb155cee8655 +DIST firefox-135.0-ach.xpi 297493 BLAKE2B e9f6422239452ff716089945cfec4696c6f48c92f283e412788b8b70f95f1c6e7aa14ab85d983a4423a76e5a110b5043bd966636942e2714626ca3b14797dc02 SHA512 173b83bceedaadefa5cfdb5aa6996803e41f8f7efddd89d3dde7778fd7b04b99d6d3c2bc3622a2246c78e9c3c308694fada412d17a2539de3ab63712335e0455 +DIST firefox-135.0-af.xpi 269128 BLAKE2B be97eb56a031773a7c647d72181ee3af86ee7fb23e94a34f5b0d7fc47af3e3dd01a67e81a5bae13d30985c1c6ff75ba5a6de91af8d0803c32d0e3cd0c5f73fba SHA512 e6352c7da7985cb1564fddf8c8e8445baf47a27e16fde93148aaf2f45a92177ef4b507b83c4df90308fb5d00035d3059404a49c1425cd943caa30049fd427c4f +DIST firefox-135.0-an.xpi 336069 BLAKE2B a77ff09e247c491a1f252941f7133013709a1be1586755b0f99cf879b8056561901ba4e98259b30e5fb68f49f44496614177f62c8ed14aa0bd188eec09446d77 SHA512 265045e54a0a8f6676080228b3b353b96f61f4986db23b654fe04884852a112ef12b216bf3377e02023fcf861973f5bb4a3decebd703809a21e606effdb015bb +DIST firefox-135.0-ar.xpi 431817 BLAKE2B 60cf45f7e24f9f498124d764d3833a44327d877e80afca959682cab03b29ca0fea2b8cbb6c77dd4015b4619e81c796a6cb0f4c907ebad96b5448c33bf96b3ad4 SHA512 342ce17248824caad5651410747ec052e549ecc5e509d76a7161ce84255e15ba99ed9492e3870d4ccfcac68885d7fe8eb1b9ee87c7efac64e317352982a025ce +DIST firefox-135.0-ast.xpi 315336 BLAKE2B 2703997a8afcbdaf92389fc5a23e19d2045ef9613fd3bf6d8e7993da22ff399fd5a02376f15b1b7d640fdcaf369ea6da8097b5569172adfcca2ee38fafde61ef SHA512 458659ed77cc154db7a352f9b8a4475af88ec334a5aa99cb63a18d042d4acb39e874ee2031ca788cdcfc0ba25a8f7ebe670d10cbbb6b2dd94060decf1f49e196 +DIST firefox-135.0-az.xpi 322601 BLAKE2B 8d040883e00d4cb611784a63aa51c6f0b093b552c693ddc221f57a4d25fa644ffe008bac05984a542c9b7934cb0dda13e6b42dae855627e1321399f12f32b4f7 SHA512 fd95aa34a63226f4944ac222da90862469a0f163f81b0cd119755ee69229e4b98e8dc48f4150472a50b32ec1a07f57476becdccf88c878702aff12bcf7b9b375 +DIST firefox-135.0-be.xpi 514716 BLAKE2B 9e02365f5aef9ab137a7ba6f4e3c85755f094622886f502e18677568bf85feea8f6bde32548e8efa15f910c576b64853d055ab63bb7eeb4c3fe23ccbe470cbe6 SHA512 d8a9df409b76674e2db61c3adf412f4e5b2772d28c089edef87a6c405700bdc26cc2802cd34678347ce4806ff8483d836226ae2ddb361b59afb6728df66126c0 +DIST firefox-135.0-bg.xpi 453357 BLAKE2B 6f319995b33d890017b57e47a0ece2b018025726e69b4c1b35d7ea1af147cd5b9480af48d4fe2bede027d643edf6e01240a493fdd6777aefb7f1d1aa8e6e85df SHA512 588014fb0409e9322de4e1ef7a9d51d4f9b8d0af2862b47bd0931727e1fbf0fbc014fed8a0c888b398a134677c4563603537d7dd634c4b9688d505b927d5e175 +DIST firefox-135.0-bn.xpi 417341 BLAKE2B 3fbc61821c280a855400f853a8fb5510d8f18036a9c231844a0b86c73fb89ae19f589df5225c7267b8dd1369cc3ead3daf29032f375a3dbb120503291e90d0a9 SHA512 f3fe9fd4e0699d745d712d768e0a33c789a859f222565ce966673d526c367adbf92b6eb669b6c29bb17cc083db86d00a2568d03f83617ab4dd53e591c73f08be +DIST firefox-135.0-br.xpi 397376 BLAKE2B 08214939a4a1393f466533d460f074f6dcfa37a49a3e0139cf3c2ca94d26342e0109332b9d3b437c796081d53aa106722934f3a9c8764acd716b422444e172c4 SHA512 7521edb5706d6d3508f301c42a9c8ca8f231ba3308a0b479bc7fca896b3880cf450c942c760dc28ac63a480c08d8546ad376c18f546a3bd6a49a1716213970fe +DIST firefox-135.0-bs.xpi 368182 BLAKE2B d118f56290181a198401ad90e53ea878ac4ee35e6b387d3b43cb0473430e34c985b40d347a2e214480326df3c612f671cbaec3ad0e7fabcc1cf0864216b0cbdc SHA512 f0ba0ae5132bcc86b64bde4625d8ec7e00d4ee827b7835352fb1696f4a7d49fe482dd38b90efd4d8d206214a2462f02497a2add6a8a17f87db6fc29491a6dceb +DIST firefox-135.0-ca-valencia.xpi 362554 BLAKE2B c3da4af360eb1a96c7ac1790de422a16d473c09bbe19642aad2ac0639d3bd5c1166cba2904cc99e1ee168959259e1eaeea4d3c40be2380c109c686072d0206e8 SHA512 d736021e1233e910b07a36ccfbe5024dd869283ca11bc93f472a637262a9bdf5b2f8b3be51f5d70855f21da1c863435085a87544cb5567b41dadadc9f458424a +DIST firefox-135.0-ca.xpi 401650 BLAKE2B 635eae49c3fc449391fae1415bd42c6ef7aedfa2d139eea3b0858b29a7075c986a31d13b48c934c97f7d33e9db6ff76e4d88cbe7187d93e7229b55cf840f1ba0 SHA512 e2fd2452ea05a356ed6013983412b01e0fd6d1600e119f9cb011e9668cf12cdad356f3cba1eeae3628d1ddbf26e30cf43e9a30aed2bb98c46ec5ca9362667386 +DIST firefox-135.0-cak.xpi 397000 BLAKE2B 67a61f7d031ad6e2898d227c0f3755ff46e6a13ca12205d69b3cfd89d081c401441f79f1ec8976a48614039526e0ea09c90523d395865e322c279c56ea8e6d15 SHA512 496e0dd73b63d33082187e373af2bf0db199fb3ab7887b4a2c07b9277eb1cea2d4b47fa340ae07494f67a83e3c9a6c157309e67611f211d5e024f608f5e59cd6 +DIST firefox-135.0-cs.xpi 469983 BLAKE2B 0f855ff4c3e9c25705e7b4e9504c8e4a15e4d40766bd43742357aae4777098a5d7c0e14bc01af8f3ef0e022d13f45b18904198723c3e6994d4c686e1ef4e151c SHA512 f9d3111e3ca978534672dc5c74984223c702c80faa0857844916b2ebf72f43c8d63f607914825db0cae0697323d80cf6a7d808538cc8abf1baf8015e0670656d +DIST firefox-135.0-cy.xpi 436445 BLAKE2B 4ef407ecef6c3c050efa2af5040a8c5cffb85fc5de4f7c706ae5d5153812f6c8c3e677c1d5ab2c94250c0c7e17ea828c91365bff6af63b8d9d4eacf5fa2a7b8c SHA512 985cf3a79a751dd4f0db00f20802c4f5a32d10ce0113a159b0f264a5191aebdd941db53d550416b5f26ca91c3ba9ff804ecefd215f399d0b7a88e69ef607bf19 +DIST firefox-135.0-da.xpi 425954 BLAKE2B ba8248b39fac38bf39b161d5dff850994076abec798add82cb37be15d32d853c04dab0f968d1d69304f2784a3bbeb0b180aa1b85a3912ab8c54c3614cc15b01e SHA512 68b88357e86bd5a31ba484dd34e30f81729730a72d3b70c627ea2666c24513b5c6f0276fea68867271a208894f834e993bec9db35014310092c589829d631e26 +DIST firefox-135.0-de.xpi 447596 BLAKE2B 5a3f99bdfb193c909a7306fbfe0ac1f293525d406ee66ca9e467413508be00e729ffb19fb3077f6da77613b752a89cc4b960f9b0121621862a21b8657be2a13b SHA512 c088e4d17d8ae51c50514ddee313d9cb36aebb6e7d351c6a937100182ea936c9d1839d82727c7f5af733ec13f0d146b7cd3f6bd8691dffeca26f51863e8f1161 +DIST firefox-135.0-dsb.xpi 460614 BLAKE2B 4067d1c73874017336f5fd06f31cbe5f320d5e1c5ed55f483c22ced92f20cdd82356b3c0ee523cf22c247e153f27f866ca547d891a0b867ff06b0d55c635f7f5 SHA512 6cff7add689f2b840a147420c4c0ac6377539c24de3ef0d4844c046a29e29fea57018e7422cdcd3f113ea3f7d0d54620e0235bd6627b2a26f30a565a5b3590ec +DIST firefox-135.0-el.xpi 529587 BLAKE2B 656176c0e93187096a9844e42ed967743b797f4dc8272d82323fd9230d4e71320880beb37870da66a07b51fe314382de820e60860b0df741c446b15e0c5b7ebd SHA512 ea537b4b54aeb627c758cbdf6cae490797359f3083210141c9721420a0ee70237ac0b4bb79ee4a341117095764b77d8fa8731944c849212b5d2597b4df4bc52b +DIST firefox-135.0-en-CA.xpi 406581 BLAKE2B 9b282040221264bf9f017fe4bf06bf6f1c72c76a43324cf0d0ee4016b87bb7abca20e5363e0943424e45e4bd48404fe1c9beafdc3761f00356d59bea80726a37 SHA512 ea8df3a03c07b2f386101de84fb1b3ef4db1cba15f633d006c617c229f44b80189c6612c83f023e3c3b0e8267f26b50458e4e0eb0d975a80f2f218546b77d3e7 +DIST firefox-135.0-en-GB.xpi 406887 BLAKE2B 67c85a35416b58dbdda2e866c1ece51b35101fd28b215656842f9cba533328679e55a833df5d79b0dcf6bc77f6ba122d1f1b80a96f74dd91d9251a6c6ade445a SHA512 01b56f7e5be3e7e652abd20808add74a81d4618cea4f26064192e0f0d3ef708dbb890e34db8606f0c5e25f1eebac52afdaa52f52892cdaef6fbbab120f644ff9 +DIST firefox-135.0-eo.xpi 428440 BLAKE2B 4e26589e08987579f2ed76ff7dc2c09a9dcf2518c6a26a335bfa185555ec6124b8e08c03b26ce1b09be5a49bcdca981eb8c246f50908e51900e9f25f7591c116 SHA512 0c1e74502528ba3bbf63f3542ec29b5b254abd667cdbd62a50f47b42ae2a7f1b6301a0a6862882e58b0bcc66abc0ce82b45fefc6202c3f811f0a480d468728fe +DIST firefox-135.0-es-AR.xpi 440561 BLAKE2B ecab809ad15ca7afce22acac95233a3caac689df46df8936adf18442e2771b06337bd5d2595bea7de9d1760e1eee8ef4c2bd06f8ffef13897ea2bb96d40e1aee SHA512 48ef21d3e616e68cd17388e04ed77028480ff8f170349f9c59daedab81f8bdc692664686f84673e11e27330ad78f35d401f40d86b13ac20e0c4abd1bef09c76e +DIST firefox-135.0-es-CL.xpi 441039 BLAKE2B 22c296c84b965396a5e3ab92d8492b238a0f1a9103f460ca9285ad16123ef1d67eee4c6c549212d3fe028a7c4fe0a87ec5c17da81f7cdf13851e71c5aeb85158 SHA512 2bbba3bad248df17edf64423e966ccfe6f2add8da2b0d3cde999f2b9c419ab878538927d00824dc8d2934d5d4d849ab57639f44229f3601f98711da0a6c52341 +DIST firefox-135.0-es-ES.xpi 441899 BLAKE2B ddbb0c5f1443bc8df98ffb2fe50a208fc96fda8545a68f428714d0b24d82b4a69865b3dd51ccf0dbef6c238eb9300df0cfce1cf7e08530afc358af0787840d0d SHA512 e07be4e269c93609795b5e42bf222150457f22e7f94b3ec7f40ee36bddcd602a04b5f92d61fe650c528bf37e9f5b35e83488d42935018f7e775d77047d52214c +DIST firefox-135.0-es-MX.xpi 444249 BLAKE2B c15d4c3f9418a44712dbdf4b55c1d4135ee57a0c42e87ce7de238fb1fd8a54aa74289b7193326cb9a6fa8bf28c3bd13385ad93be7ff4f58d3e855fc204a8395c SHA512 6653c6591105093d4c2e0416f0a207689688793ec9b7c021c5029a6e096f0307086ebe26c33fe469f5ebfa851941fcbdc01e23f2932c7e51b9cbe181f365afc9 +DIST firefox-135.0-et.xpi 361095 BLAKE2B 1ad3e8fe5eb05f8fd9bca0b7d39adccc9b012a6bca9bdac71040b2e96887c4e4cc7b3eda1920a847c970570952e1c1a120cddc94316c391e1a381fc7b38c4026 SHA512 85227d3e1ad337a7a5802c5481625f9d3d233d6a2c1fab8ba1a3c4ffc969a49d2773438e5b55da0db9310e090a06e2f8bfdfb39db124b96826c9d3f9602304f2 +DIST firefox-135.0-eu.xpi 413640 BLAKE2B 14a4096a0391a56b0259405d873f42eba309ec6904a354683c8f82646ef2bb3f6e4bb0ffe38cc5938195ebb38b867175cd8271840a2b71abb240239a1e343eda SHA512 60af5206599c15960e0b268666c03cefd4ecbe3ad0d13aa4d3e911d720edf9d0a4a2c306782c6e0a528e414d9a1873bc12bcd5ced598622aa0242c35f80656b9 +DIST firefox-135.0-fa.xpi 417970 BLAKE2B 87eddb677f1a6c7cf184e30c1c03662737e3b81829ce32217308e5f5113b9b9049581bced23265ebb8753021d9df81b2787170110663ab049ce9b288c3aff7f8 SHA512 9e5fb1cf96ed2d8d9253f03327d58bfc6e1b722520650954999dc411dd302232c4e45cbe047ef6b43775c374a719774930b6a14865cd74aae8927e5d7cbbf3f5 +DIST firefox-135.0-ff.xpi 313582 BLAKE2B a7677e3b5c96ef46dac870c2cc1e747981ccdc1d59b02f6f47c005ad7b342b4b75a66b5a9f6d2e570ebccef22467cc5513d78834dd293354caf3a141014f50f0 SHA512 385526ebdae09c8a49ada77fb206c9971e64a3a91cf80e1242e099541edae314b3ee1e739d1c792f5fd9e90b20bb36f42aa86a6552516c6c9307bfbe7235d78a +DIST firefox-135.0-fi.xpi 423825 BLAKE2B 87fa391106c2041c3c80dc7ffa8e62d83686f331f41a032b5ff1dba6f707d4a1dea617e88343824992e95e8b39dbb2ef65393bf64aff12ee3ab636850fc42125 SHA512 ac01766654019a2fda4ed9a2cf2ba70d165a48aa7297a9120c0dbed8ea7ca5fb472f5c806e98278ffdaf58d804813f56c239e4665654abb269e278f5d75ede6a +DIST firefox-135.0-fr.xpi 453316 BLAKE2B b3e9f781d1e1af9a60cbc175baad96285f506ebcf16828e5f7a5ae9ff21cf30d0c3349b06f01a950ca84ad908e6d54ca582280639fe4da06bb8f27166c181d16 SHA512 83ff9e348d6898a55496bd802be00fa80d0f1311a5d7735dcafecef22a53c43fc50ad3f909ea7d7a58ee8fd7afd82d2df19497a250f71afc52b7d6d4006f960c +DIST firefox-135.0-fur.xpi 439818 BLAKE2B d89c6062902ea39a3a71e29e0677c3879521ec4187e21163d28ce6adcbd2dc6095cf8fb85ddef8a3c135feb6b5274496655427e3217139b5fde2d0a03532b7cd SHA512 8316d5b70054ac6d8de703b6fe4adce98ff9d29baf742f5f4c7b8ed36f34b69f6c27885e00a33ddc8dc7b0fb457f68276e5af1261ce51149c2616d6bc742cbfb +DIST firefox-135.0-fy-NL.xpi 437083 BLAKE2B b267b3eca8dcc3762ef4b15ff213b4b4b9d2bba77a17884c1ba29dfe6f26f71f6fe621fbd6072b5f755e608d8f485f5c0e4ee6e68f85e638f1f501b736c953de SHA512 5057fe78aeb12fa48bbf6359ae24dc8fbf8457055458bf3ee8e816a7b49f4622b930fdb6d20486261b1dd2dae3251948a80beaebe288330663b95631f63c3325 +DIST firefox-135.0-ga-IE.xpi 309796 BLAKE2B 499862541307718ce0b31791570a10f6cbd530de8e9a51dc1da0a28f1a7dee7642fe23614f9ddbf1cd14a0911840a360d17ceebe37e93085ff94d9b2b3874468 SHA512 e4645a5f78d4c84df77cf15f6360d2391210b3e26c8c506e1e3db6fa5a3300c17b8f4f66971962a529d3295582ddcb0dc7247e9e5c7864733b39319bb2f96d7f +DIST firefox-135.0-gd.xpi 405574 BLAKE2B b9a1dcc89117645dca0693d49032cc7e8845cf62a772cd650ac3908ba9c1632ab27de6ab9edf33e87eeea1237904f73f6a50e962f8c20a56747919be24d457ef SHA512 2a7e5f1974248bad03f68bc8d8a989337e3bc5a2ffb9139395398d35f33bf9239d0d44921d7383b73628f0b09556304d5eef2bc883ca60663b368dc7d1ce5e2b +DIST firefox-135.0-gl.xpi 408689 BLAKE2B d66b1aadfbbfc817c9d72d3bba77debe76b635327f4950c1485405c09edc2f52c4d5401b21239ae4f7b77cbbd0fb90e76bfc1f6573ba8fae4ba4c35ecc78cc32 SHA512 cfe6c046bbd3d46eac6d745f77e8c4748e3756a97a632ca37b06c850d9f46299f4d10f6fbe0fee0403e2a7322c7ff4a820f2cfc289aaa88616108df5c54eb210 +DIST firefox-135.0-gn.xpi 444176 BLAKE2B f9758a62f996406bcf1509cbfdbc5ff1ab344414042c8549da6b82bb982385422de15e40b9a9ac546e5b1d90506d5f1c716771bbf09018bc0d19e0a45b2682bd SHA512 672a9a8b592b3e647f7a2d5043f78d292d015103425817716cdefed1a8fafeba8acf579bd5ea01b69ba451e247d5e274ed2686278440b1a6a9f49cfe4ea1c1f0 +DIST firefox-135.0-gu-IN.xpi 363080 BLAKE2B 489386089ebb4b661880efcf5f1f11ea08c8411c3d5bc7595f2b527a301878e4d7b6c96fdba3fd0dc5cb8caf705e78bb36cde2c5e1a9e1d9c9742ef83d4998d3 SHA512 0e281185c6bff66069dbb133744837e64b217cc70b808a10398229a9d703291e75efab1bfe12ffde13f231d5437981e560799d3da15a4f191bad5d0ba21d7549 +DIST firefox-135.0-he.xpi 438091 BLAKE2B 5a1b14a68b29c9312db70d2a850b6aa63d8bea54afa1052c852aebdd6fe4dd63d658e6ae712c148ec38c09823f882468b392198850969820951c34f6abe9aa06 SHA512 74106d18f01c931e47ddf958de68aa5f6c7814e2c5c4c0ce79f277f8e0c28959c3fa01adbd5aa60d53ee2abc0ab8d7b4020c9159ff171f0ad2a0f3fb7af0001f +DIST firefox-135.0-hi-IN.xpi 381627 BLAKE2B 4d3d4bf705980a2fe8bfcb882f1b90d663667a57f624a93cc7200d0e92fb5a140023b1be5068f4ef76f794082d7f66646fb4372fd90f6c5ffd49276b789d5e45 SHA512 dd24fe792505ed24182085e46651c661a7f388b95310e1acc0147b45f255eff9a2eea9956b975ce8af135beccc1236c8f5f5097c186fdbc66ebfcf5e75dc2657 +DIST firefox-135.0-hr.xpi 431103 BLAKE2B 26eb17bb67c0a1d9d38538ebb40a633ab9ac82030372eadf748b5bc369ab040552b909de5850ddd5da1d962bbe74a97825728dab5034190034cf232193acae22 SHA512 65889480ae9395d80a31c76ff0471a45634800e014b6c75bdf97bde40b70cb2f6d6958812161e4aedf6aead23a7cfe7fff727f770c06273d7f3996f76a7575a0 +DIST firefox-135.0-hsb.xpi 457172 BLAKE2B 8875df22fea5965bdab1e66d7aba629640b507c6f7564400bec9f0afd370059c2d38fa32c8b95b59f150b7b3081bb849ffa3309b6a91f2634d61264cf759cfda SHA512 e679413acf9d1c56e5a639e6be3fe1a3753fc86db69411cc30684945b2e72a7cf33ee0a54e8e629a3c116f6b00a79e1e2a827e8ecc399cd6a3fa1e541148f9cd +DIST firefox-135.0-hu.xpi 461006 BLAKE2B eb9af5bb99723785a30f1a91f10d057ddb5ff3186b8bbd1136107336143662197464ed3a55073b85ab7bd91cebe756c3688c5087559f7293faa7b740a36ea50d SHA512 96bafaa7b09707fd73532a5a9d7415f2feb3ff846877a2b23b148b208150edb5fb393ae25d3bdb465d667e1095891f0297ce921a33cf870089c171022f374599 +DIST firefox-135.0-hy-AM.xpi 450030 BLAKE2B 6e03c06abfd7ace9200f4dc3918003551e4aeb4816b32d9a40ba26e31c91a7744fb4d4c6efbe3c7b371b8e57967e025f3062f2b40c8dc681968d07cd4808d96d SHA512 896cff86eadb0b2de93d316fa0fa0d88bf745e4eb521c211dc6d92394be235a50782c4d9073ff0833d0735fcb8d3c197c9f67191558650807b8dfe4fb9c04cd9 +DIST firefox-135.0-ia.xpi 425189 BLAKE2B b12938520cacf8aec9d7bd97d9670e6bdd6d34e0c74d428f372921b5d9d4afc4b571ee56f176774778bb38d6c4b5521cbe0c54c24d6c9dffcda96770cf046cf0 SHA512 78fb6f00e949f3466c1d8a0c63879b56c4de7abdc9030aa3d1aa9cbd041eb81b3b8ea159c1287655db01b75c4da3823c1adaa019e4e569d2e0ecf62e58799f4f +DIST firefox-135.0-id.xpi 414159 BLAKE2B 310b5e0ad36ba9028f36acd538f9ba410c6b680e5e7f2afb0250230f8417417e73579ef92cf74bd15a83c657f8fb96d8e22977b1a4fd54983b3fdc8c42975f11 SHA512 36c0fd620d6cf258a9309c1b3817738505822dc6ff3ebddef788f1d6ee2e366572134e7ac4d530db8246fea377f2057b850dd80301757a29239804d51f94ffca +DIST firefox-135.0-is.xpi 429197 BLAKE2B 4d7358dce2269be61a6d3be3a68c70406264f1ca87eb8f04da7e2ef91e5938d61bb4634fc11fe87d6164c1da49603873559115d17f691183d0957a1bcc53013c SHA512 d887911a9c6cdd090c35b859ef5442f8aa8555124af9055c5f4e8183933fd50f13611308bb897375a959a2d76d98fb6d74239ff95ae85f7c14d9a33e4a5bfc89 +DIST firefox-135.0-it.xpi 435818 BLAKE2B 6140fc9d96b9749cc438cec133bb7203dd97cbcb1c843af7e16b692450d425873dc99e756751746805ffc9126820f3896aa7fe716c3cdcdf9413a6d0eddc1948 SHA512 738db1df3bcd1dc800978e6157b7de4ab2867d722bc2a3a7887224c1cadc23872748c28dbb81bf1f03fb92fdaf0ec51d716aaa6aabafbcda540ed696a2e1887b +DIST firefox-135.0-ja.xpi 476070 BLAKE2B 47fba0406ec77d7060538452aae0762fa0b9cba1d0521aee4915b3778486ed191d37240a46dfb974f51cc4ec16dcae2669f2acec6a1687dbfe3cd74ed3769557 SHA512 c606748ae92047539b6a6fb862156d3fb44680c93392f0db39da6897010c1011bc2582070ff9c3bb4efa3c96108283310b7fa4349c235651d76cc7ef9ffb121c +DIST firefox-135.0-ka.xpi 488870 BLAKE2B d2d27093e730facc071e669eea814a8d02a2e9585926a48533fd1b853ae6fa5992a6cf2b21e984d028e6dc247e39ae23182952a2212d40c10e2e81fe13cfbf9e SHA512 c0f824324856f67bb9e71f015be0f5eb49c4298a0d55f775ab2d18aa40fd928d9253f127dedde80622280681b2a8ea479cc6c862b2820747af9ac917e0f54628 +DIST firefox-135.0-kab.xpi 417296 BLAKE2B 600e7344460694ea9c3b345dc2c4952fb1a58c57742c06a5204d2fb6c96f044910898e89dd0c2dcade2856c5078d6a9c92384bf3cd8cdadd7798afa37e79ea60 SHA512 cd07fef85afa56803f982275844f88a2b171dec9bad268b3086729de6a146382a59920d5ad3c9fd27c3913dba963fd34b5ccada47c346f74103b58cf90883f08 +DIST firefox-135.0-kk.xpi 504538 BLAKE2B a11229d2d72f20d5885907252ad4f14d300e1cc9063a58505c0558394c1739843fc717f5e412bc973bcc40854e3b4642f72b864a5b306443b8591827617b729e SHA512 56e2eee2ac233bac6f6963e977afcbff7022d08efbb8e1a7847dbf23180e2a7da35db3d27f1a1f7d9bb8f7db78fb4451133583a995b1970211d41d27ef426932 +DIST firefox-135.0-km.xpi 354099 BLAKE2B 444baf19ced49f553dccfbc9aa8097ed523cc518967202c29bd145dffe81bd5a65b6d1912966134dc71514c7f8ec9cd3dd50777317305f8dffc1c7a8e687bd4a SHA512 b4ba282581d0b9c2b302544cd915a849fd1f5bcdbf9153dccbd08edfc79ac96f8c3e5f3e7a5f789ccf3de5b804da5697be5d463f9843eec9896d4a0133badf17 +DIST firefox-135.0-kn.xpi 335954 BLAKE2B 577206e716f781537670fcb502a6c3627e89d9a0bd0c03b8f4c111142a29773ac043646052d68896b2fad8bc2f97a8c8d6f1b2534bee8f664c3d4ece5a7829e7 SHA512 f37028e52bbf4ba3550551872dea35f961f57cd984395dadaed46cdce045f91982b1c9b195c917fce7e022ae2a8eabf419dce1f66cfde0da180481034af414d7 +DIST firefox-135.0-ko.xpi 462015 BLAKE2B 2f0330d2e26050e02df365166c3ed3a2b5310d938bbf91eced7f43593c20fe6f156c29617bb321f24512d50db12a029e9a41e1c70b571fd113989e03b8ea39b5 SHA512 65210b12fac64c8732b72a92c6624367ff0522a8234072f582dbf42d77c03f01924971b3c48809e7e07164ccd66884c6beb1e51545e9985bc94024d3ea8349f4 +DIST firefox-135.0-lij.xpi 321522 BLAKE2B b6507673aadccd1745982c429661e98b51d7f32bca2e50e342935e35f6a690f6c6f7a2526b5f68af7634756cc3c5d4be80441bfbe6b4b2d00f7dfdbfa55b3a8b SHA512 59eebb2dfbb765ae23f0e8f90517890b54d8b372bfe9d808139ffdab59b0117364db5adb2fb8a002884c0fc6c7a3205d9d33d1aacc82c39040b649a4142dfffa +DIST firefox-135.0-lt.xpi 385226 BLAKE2B d6d2c1e49487d180d8e180f3c75ee8977bdddf510b9535b6d144d47bce9f6b68edc7b9273936c8fbec9e1f70372e57797f7a574a9bb4d53333413f7a2ed9a6ef SHA512 e76ad7464c3734da6ace415157faf80ef4cf43b79493bcbb838313854d8769d6a092acb91814ccce19ff64d7e178fec855274db4eb673d8d8c97fe6678f4f6ca +DIST firefox-135.0-lv.xpi 393510 BLAKE2B 9007d90272789a9f00244f0224d129baa7cb6ce05e7072f857698379e5f73086cb250de77b9448f465ac563771a46d0bcfe8bce4dc1d56023a5fdf2d320b2cb0 SHA512 19ba4c2b82b1b2381150b83e40e1f8b86cde4c941dfa7c125d34199a3811f0b3180103b68c7efb8a8faa2d3bfdc85811d1d96a972606e3a5d5ba768503fae6b8 +DIST firefox-135.0-mk.xpi 321151 BLAKE2B fce71272d8e723e3b291999614553e070f26d30df4ef6177cc44f5355d60d088b139ae3446be9da32f1ef2d1e28141ef99ca4a2c7554d57b666f3df96b1e23a6 SHA512 1fd6442541d8f0c50bfea50c90f8352b4e2ddb7eecf0ee14e686c3c484a5ffa1df4ed4629ff730a3ae04a2713f2d4a33db01544fff3e22630e00a78ce331736f +DIST firefox-135.0-mr.xpi 360204 BLAKE2B 0437fac35c7c69251a62cfde0cdb6e6fedf9b28aa12bcfd68caa95df40e48bf93b43d27d32cce9a96c76f318e213049361c7448bdb8d143e5b7231c2b6f97527 SHA512 5af69a8c1b8fb8e4ac01eb884ae4b51ae401fcb95d87fe912895338e9f4b48d1a30061203f6ee62e17ff566da39a8f941236d2770a6c8d6447a43f72117df43b +DIST firefox-135.0-ms.xpi 298704 BLAKE2B 8bc4113a75d0946e3647999492170289bfe81411a69934fc45233c9cc0ba0c50824ff2535661d97fc6173ce1fe243e2db3051d7cdcaf22d3353f1e78864b75b3 SHA512 0c7f629c330879bb4736454a1221dd680f4bc1cf16eda07b840a06a07e13e6d674090d0b973a3a4cf2dbe91afc632d01d855681af77d20936c527e4271822593 +DIST firefox-135.0-my.xpi 347843 BLAKE2B 38403b97074bb1bc69e15c3baabc8955243d2fa410d5429e31ab70b8c179c81d375fa09e552eba15bd72d60c4c7683b05332fe92b8aff42c039acace1a1c7345 SHA512 5ea6a82be3972097e44f3bb14baf1c474f9f12a108872576421120ac141023ecc147d98e43a3f7115d1e7fe3ae6e41fc878ccd8482841b85734edf1606daf786 +DIST firefox-135.0-nb-NO.xpi 419406 BLAKE2B bf0086f19730295ec016fc65887a1ffe1d3162d4f6cc97101be0d88636fcfa6cff1060dfa84dad58cd068496d3ef05abcfebc336d324f45bff54f7c66915c4f1 SHA512 a303ab153786d614240c67802ecf736d39469f8344e57f30a2fb64115b510d013e39660fa4c42406569b331acc246195eb9e49fb25e71c4d23121f53b5854340 +DIST firefox-135.0-ne-NP.xpi 353604 BLAKE2B 1a6305400f39457a834094d216e86b1121bbf26cbf6c335802a6970280e10193f2e294bfe00c311f54aca203e9a48bfb679ebc56fe820ee55a97177fc90980ae SHA512 335d8110051f01edece87660c585b6979556ff332eadc376eaadb6be7289d875ba8da858e83d0b1bd7769fbb7cfc9ed216d3dd96d0bea49f9d118656b99e1765 +DIST firefox-135.0-nl.xpi 431167 BLAKE2B 2e40b12df70c51d6cf7ffe260084e909423d978545b1ea069b3268c5f1e22f10a04e6c83022e474e557ea6206216739d7075ac2e4d1f1c0d422cff773a3834b0 SHA512 90cea7983b06bcbb844f34664ae049c0cddc3af74a82a94acc795756a0b88c28ee9ea06bdad7d46d15585406fd9c9c5c7c016e6832e3d0911d4e567be56ad7ee +DIST firefox-135.0-nn-NO.xpi 421332 BLAKE2B 5dac4395102aa5b3413ed2439a958d7a3ea8f1d800cd8a7f8572cbdfc5183994e25e4f2bd8b75cf613be09446c5fb8ac24708a78ebfab9e962eae324e4481f09 SHA512 6f37214135d7c7e88606844787430c6c5fd06afccadfe58609831a825f3d9f1a80a33bf79064a9138f23d7d6a496ed1147ad3d5a9abf94814c7aa0bfa09083ae +DIST firefox-135.0-oc.xpi 418984 BLAKE2B fef85dd0c93b3906bf046459a1b1e5020a428cf1a6533966e08bb8602e40100a29c7e60e1f16622a4334b2aa5439a6feb6cbfc547a3921445bb9b0a472a4bf00 SHA512 5099ae6fad9bc97181d30524112c581b2670a7faa5d39320cf8e1a89824178fbb42d1fb88ed8d918c213a77be7087414b034dbe2f6eaf56f426d01968cd4de41 +DIST firefox-135.0-pa-IN.xpi 489774 BLAKE2B f6853fa4b8a9bba4cba995046db17b0022b6f2ffdd31780bbe720c8c6384f76d0b9bed3483448ce1c73bb9f5b063df1af7e75dcc07d749483e5154256129556d SHA512 69c87156c4246d0ef785bc12b2f4041ffa964bcee9b596fa4931ac69aaefdc8e1c4e13adc8adc792c00514b4fc9b26a31ed548b0762487a6b64acd85b0cfde4f +DIST firefox-135.0-pl.xpi 451665 BLAKE2B e42c0c85bd8f4fa145c5962b8d652bc5c789d0329e03bceccbc4f92d64ae0de31eba52b43eb21a389ac6c601f18acfa870c3c8a34e212417dbb8746785d20e38 SHA512 924f985abac49912c1d8a5c528eb8417dad036ee59616296b1982744419c7511cfa8e4b904b582713263787847514934737f37c3692f1aeb107b44b3f524bd7e +DIST firefox-135.0-pt-BR.xpi 435482 BLAKE2B 4b5b04ce25416d590b9ce63b850fa1b247a79d977fdde83b162c5f5be5f8eccb7c836e6d3f0f19ddffb2dce509b87747510995938e34832bb60c04bb500009e6 SHA512 4cda680d8f09e8336ddc4f6f7e3c161d0b6046b1f69f7e429157eb0a41ea8fcd34b5e9548a9eee6fc0d6ffb4d4d9383289b7e820e0784dc33e284094b3d80746 +DIST firefox-135.0-pt-PT.xpi 441403 BLAKE2B ab95bd7f368756b0dbd05b40fe6249d062adcd3f65da58604612a11aeb14096682a38e44cd405c05aa16f73dca32696489b1566aab5c39e607dd4634fbec6a5f SHA512 dcc6de10bfb92f1b50515af3926711fde07f3b81d333fc86a9c7017a4f554fcdc0b75fa0ba641ff6d6e7c7db735d94ecf146361e1dd6624f7a2447fb4b664414 +DIST firefox-135.0-rm.xpi 434740 BLAKE2B 2938ea3eaeb0006efdc6745c50214543f822bb249153c6e28cb3692cf6ca9d1762a20f5bbaaf683f18be9af0a1715a9feb2a7119c7e89a570d2f5cb80082e64f SHA512 4dea5841509b484a812822741c5aadc4483ea8f7b23f81469ce49a220718c32fd454d2367161a71671b25e1e9eca06204c93e70f364bd237e2339e6cd15c6bcb +DIST firefox-135.0-ro.xpi 366575 BLAKE2B 6f683848091c0593042685728135d66e7adb5c90d707eca134f1cc7410ef4afdf00e369323081fb757a40e66d86c3c18344e200d130c70cbfc079d48ba3afe71 SHA512 7a6c90f868be3261babc485a8ff6dca955b7330a0c5bc544b4cef82fde7a8cb1b559348741a9d58b06e053088ba71f61807f7e27e824c885122cc34b919b9f27 +DIST firefox-135.0-ru.xpi 518943 BLAKE2B 23f4bdafd399fd7853930109108ec79aeafb1e50db2ff43ae90ab5416e74fcaf13562b453b8b4c20eed5c4e2c32cf8443e92fff66be9d36ea13cccb89b62d4de SHA512 6b08bac9df91ffcbd6c0c10d22283109262e6d45f9dad7b969cf251024f85c0c69d17797e4de91a15db47474822306ea334475870f3139a43316ec6fa01e0493 +DIST firefox-135.0-sc.xpi 399026 BLAKE2B 73ba2060249b21d29728bc8cd6655f9744c3de16071b02443ff4af1571c9aa7fc3c497b6618af4b0af769f98ea4e6517f3991e3b3746b7590241c5932d1a921d SHA512 82e33913bc354890d0ef7fc5c185a90938cf08e6b1e78b9564c87d4472627d07b0e5c1e348f509cac76092e57adbacac4590d7f13ead3d4f6bc5d7371eefb0fc +DIST firefox-135.0-sco.xpi 327583 BLAKE2B 2baf474753165c29165d874a02086800218c4ddfd856723232d29f71c86780ddae3421ff5b537672f05aff2baa53a1400642879497aed76e8656a9ec3b566c81 SHA512 2bec81b15e5b7768540c5e65a3a36aa2ee04413397855bf467f9fa6e3f254fc42d0b1ac26a87208d7bb40be14e3c9b793c8006162c15a558372c8ac5e6aa8c61 +DIST firefox-135.0-si.xpi 415064 BLAKE2B 245873f81f78efd16769c8b92259b3033977b87b5833d49e2193203a6b09279c58928ba2286bcb6625950c968785e5c5e3f503d8d9566ca580e85b2e7725133e SHA512 88c7677caa97e7227a69249388711b734030bdd7503a43a2e8587dadac40919263e3854bd31849483379d0810dbd87925790f23b942c2ce072cc43fbce13d873 +DIST firefox-135.0-sk.xpi 462402 BLAKE2B e64af04be159b1d8789c60661caf3d54c05d2b818b4603e464285448903cdeda7afbd55e43c42e02f0c18524f63c07dcbd580a1415db3da08948e02a9f2fa135 SHA512 085584ab6260170faa5ab816f30aad138604b4213eac7767b12007765a49740058f75447c91dda55b5309b838c55ebbdffea62555e94e56b5c9604cee1b36000 +DIST firefox-135.0-skr.xpi 498199 BLAKE2B 5d9b010ccd9aca267a308461c20b3de0304738d899b13882a1c2a8e074b754050c5963b2cf4e081ea2587542b006587433380eee03012a026c8182947eb00efe SHA512 954a8d29c778f93187ec83f1b6e29bc4181bd01571a260257fc4abcd9d51f6e0c254e3effb948e77ffe6ed383c6d47c67256d75f46b710168c954138ad2ae88b +DIST firefox-135.0-sl.xpi 434148 BLAKE2B 9685a67ec60791b12765c67bab5bf1a4f2e9768605b074484ba36dcf84cd7e853c68afc808db632e1bb0b98ba257adcba98f699aaf82e88188926fb907cddd14 SHA512 58dd2c335fe866582611644c952602319ecc64157cd9b187126856d517553d1b35555e6fc7fb54de75ffd7273c6e5e92659ad7ffaa48112f6389885d74ff09f3 +DIST firefox-135.0-son.xpi 275455 BLAKE2B 4021e8fa3751324007c0c3fbcdbb928b4195fdd80b8de787cba3384958ef549238dd0da44c7d92926f776e4c157f4ccd593a792f64ed0857317f076edee9f5dd SHA512 66ce598cff7e3be199d20d9ce80d9e8dac559ff5ab115084fc99aae0ced59599b8ae880bb6f73b164983bbfce382e89ff2aea24b36054f31d53b96dcadb4e3a8 +DIST firefox-135.0-sq.xpi 450593 BLAKE2B 52894beeecb7fd1d55727c3013e6eae1fd1e69cd6c9d8d6c741bc5c36817b622f9ae33c2a779904c6be1474a529a14a3c6404e722296ff05b2cb6784ec1f5d8d SHA512 aff2aa1dcb5e86076917a75f82413a285e9330e4578ba37eb8327957cc7e7beb3968d5809e1d1d59e77f070bc6d459cd984eb54234b76a22124d73944d8d424b +DIST firefox-135.0-sr.xpi 460576 BLAKE2B 96d5a9a3060897ef9abef614c1cadef3ea6ffa538303bf926206a7ce22a529d9e9b5dd227bfc567eaa6443e1b18e093f4f036848870fd280830ab86e436a3cd7 SHA512 649da4dcd223de2eaf04f0cddf23154268db81cb99bb2361020fd625f03bf81119ce430e49da94b8c7792e3a3d92317e951a033ceb2bae93daf5f1e398319c73 +DIST firefox-135.0-sv-SE.xpi 431175 BLAKE2B 6510b35ce1f7f02c7410a6e4fcec1ab1ffe372b8bc9df1bdf6a0d1d1f91605496d276c8c02be58384a08551f4107eee4fef22d2da4b5e1c740580bf8e19a59b9 SHA512 856edc47287d7c8ce827cd39a7bf56380f01380001ab0bbac33a871670a1bbed977276eb5b948a30e08eff7eb98ea5713848db6b8e91da23778fbdf5df249b66 +DIST firefox-135.0-szl.xpi 347461 BLAKE2B 2a427c28babcf26929de229b8459a13e021fb11197cfe3ad8904ad14223f03903715bd06cbc953114ccc2fbc0b65c92101e67c985c79cc224db2e51078b09b46 SHA512 de2506df7cc00fd86fc8f13c1648e30ab5767117c2bdc494ff75bef91895055dce30fa5fceeb12190bb8c685b3f927003f4f7f75a425fdf02c44f2e4ecb71451 +DIST firefox-135.0-ta.xpi 342265 BLAKE2B 503b1b22508638f6ddf8a28722f7369d64054cc7c061019277fb5591c14fb91b719c71b5c577822f7926d28e241a8fee7e73a80293f348af6bc85b4bf1471bbe SHA512 100b9b2fa63f9db8b99c824d8a2b220d2d0c6e426ec3eab1fd220747c54e8391ca3adb880af4b9e3bb9348cd9779fb444a4982a63a74808fa8571d42b8e4e0f4 +DIST firefox-135.0-te.xpi 387215 BLAKE2B 5d9f5519776cee3d1175355df7f1afbc2a8a0cbe7d4a270241a57254b36580ef499333f0c0395b942126f24cca512b9e6c020fe3c4ed192ba7fb2f24a8d1e2ee SHA512 ed97495775e8e20a3b604cfe67b4f58263bfeb4caea9692a1d7f2aab4020c4153662fb1781dfd0ea70202848f8bde2f0c081eb7a04d8de6a6de0a22da8f65c48 +DIST firefox-135.0-th.xpi 500064 BLAKE2B 541d6cb287186df84de489de5b3c45dc86954180dab25bb6878522af1ff1a4c2ac177026077a15e6954e576474a699597e7d98ff24824e3d1639e488845c8b58 SHA512 d3e3664bd35b5e0b12fbfc6827cebceb0ef12b0442d5f597492830800e9bd8bb0015fc342c1ddc8a76abf4d8f40073bd79cdd47b87a7e273a5af179add25dde5 +DIST firefox-135.0-tl.xpi 354787 BLAKE2B 8ceb51f40565e48c9c9498c3990d260a4a14819eb0dd9d177cbb447d0f69095bba7ce7da146c9e75b97e5a7bf0d5e2fa0284e31359624d2dd119d5aa810bdec5 SHA512 4ece9b2d48d2d81d3131aeecec47f5111d40d5007efee591cf9473f8bd22f41eca05e7304796334e6f4cef3880e653fd77750adf64ca9ee5734c8c5f241e3ba1 +DIST firefox-135.0-tr.xpi 442379 BLAKE2B 83a36293c8e24818796981a30127f1aa862e3406c0810e814a75a11d9a97c09d740978d76e1f79f39c6a5602ca620fecbc6d3aae6ab860325b2d87dc02756f45 SHA512 a071ff3a06e49d27f0ae71f5750bd25cc5c9a433817761ad2332b012b83b2f08d0b141e3344f6a98d93bfccab7e9fb588afce1e47bcef73c4b31ba5c161dc366 +DIST firefox-135.0-trs.xpi 326319 BLAKE2B 7ec1e441dd9265e1f73b407c42dd9a4b5efdcd52185a0d09a6a26785426edcb0ebfd7ab0ada20a167d05de9ff7ce6d7e04a6f63a367715caca33fc61c2a721af SHA512 87928838da938af07c1674019579fdc0778d13bd13af5db6891356f73468cca5a9f7612a34d764606f3e124737e80c6ee7a3d643106a6b3a892cbb79c56d7701 +DIST firefox-135.0-uk.xpi 510886 BLAKE2B e00ac1c282da95f3ed397a34448514eec6051d65520bdbbf46972574f04e2e3384969da7862d7e80d90e55e54a690f9ef901a09abd9e493165c9e66cc32199d6 SHA512 ebaca0dd3e7bb6f3857eddb6525e12a672a1984d6dbde6f747a5d7fdfa6bc010762f5e66f2b036606c0f1720c13f94a17257c928df5b1f681ff44c4b5f2b8ee1 +DIST firefox-135.0-ur.xpi 374855 BLAKE2B 1576cf57492c3a3eb1efb52a22922db9cebc69993b849d9ce9283f8b0bb4cdfa6cb4361256559d78866e00e960cfa95091058fc029be68300f66951b81b1677c SHA512 4d759c75fe0905a202340c5eec8cf806522d5d287dc4b28dac5677f73b592f688ab2914e23cfe300b45b1a2fd07b56bf495fac648e5ef8d0d06ef44bd4821236 +DIST firefox-135.0-uz.xpi 308112 BLAKE2B 6701697183ecded30c0c395bf1c4fbd79985d91596fe6d9d0ab18c41135f6cf510a51db9de5bc4c4045b28443f80faf1b1359ca192f60a9f1ed235c90ec41c6a SHA512 a8fc7839b612277c9bd1302c8977b679279247022b9325e7e43cc7dc65c69d2c84ba1a7e24c43fca1334b10109b7c71f0e78a7824c957c124cf91c06f6d748f8 +DIST firefox-135.0-vi.xpi 463945 BLAKE2B b0380f28be261ec67d15c1c5207dcb9f6d19f49dc7e1711c66a74766826ff68ac1875b6c93f30a9928e678b8f86269018416a01561e0979f7af1827b89fcfe79 SHA512 25f0832ca485f722b6aaf0fc5517bbf9e6aba7c450f40797c003f1cefb66cf364b773dbf29b45018c287159aaf942b362ac0762b3c9a11b58a107aa8de94b6a5 +DIST firefox-135.0-xh.xpi 275831 BLAKE2B bae380fde3744475fb2f45f6e4f16f228bd2f8fb0f118a7ab41ec01125b134f5660dad2d631b73dc9638629741ec3392e6bba3497f41d7cde5ce20c02190cc95 SHA512 0ddd50d6a61117a5528c59f2208d1f123384b7a436e9f6ff848a171fb4a689e3f1246474e50f69c9496e72d88fc86ab2d59e50f3c267c3cdf7f4c20cc3990d78 +DIST firefox-135.0-zh-CN.xpi 455592 BLAKE2B c98b1d6b40de79364aac1f00d5873fb33db274b8c8d4c6d76e74ba1c5ab35cc9981112ba02be760844d9b44534032e4fd3b0d814b0b67060cf6d3ca9e80865b9 SHA512 903222a913298c1c15dfffd6ec6de2fe2817d678f3004fc0739d7e63175ae91cd2f75ae5dc718df7ca70f9af646b3690cb20a10743339faa0f22142b65ba6a42 +DIST firefox-135.0-zh-TW.xpi 458490 BLAKE2B 226ff3062418d0827d01df1efe5080f5703fd8f4edfb9ffca2eacf7db496dfbf69458127380a6057e263f0d9166ca14d515baa4c8b4504a8bd390a9d2a14e87d SHA512 69aa1a2f600528db8bdce44a7056ab3c1b05a08b9fe82dc6b5d9246b4e0d4a4166241e6834ec2894c5a14a096b29d335134597652e4ce3c8b2a774b05739e8a9 +DIST firefox-135.0.1-ach.xpi 297495 BLAKE2B 9266683415b54a5111841e2e1ee3d7806cecccbc0d18a81a6e28096d12837d562d86a74bb9a586c5f8d053109b4dafbf3607c7a86eaccb26a880f4160de9af5e SHA512 2d6b6a628ae62238ef441bc529d1cb93dced3c0948601829a7112e1a77278b39a5aafd3f8514d7a1a72d200751ea108265790fa5df0746cda9150212455a47aa +DIST firefox-135.0.1-af.xpi 269123 BLAKE2B 58f1dd6c9351dbecea9738edba9f7fb9c686c919d09bb2d1f94e94d8404e26966c22c898131652766a81d628a510e82693c4fc06c4fc3a19339fa45ec138695a SHA512 843d2aace99f2a429f481e2b13e8aa9cb73892bba6fbd17c9479c0559a83d608b4e3ac91de6b76eb8e7b76387222590470a57fdd3c674cddc77c5f22d8723b22 +DIST firefox-135.0.1-an.xpi 336071 BLAKE2B e6c9c1092a10568fe000bdf7cee6f5fea8151c7a61fa0471a799b75b1b89fcfa6b7b80a448b7b5554d867d55787ce2ca4e608a8d91bcc00cd454eee3a73fc668 SHA512 6c6e96d88b50c0e823b749b372ca00d1c52acaa60dce832dc465130dd7fe2c5b6ed99feaab955afeb9afa46e690b49de280febee820b09c3ecb31d3b8a9ac2b4 +DIST firefox-135.0.1-ar.xpi 431824 BLAKE2B 0a3d72ba3d91cc7f5b43ab8123f59fc86acbd59c545e2f72661a21fc5c6590cba47398630d652bc387102416ee6ff735ac95ae34685be31bd19f70b01bf0e8c9 SHA512 c087d2b5e5962e1d5e5b2175759ce610764f58307773e6fd168e59d627cc5f8e89883d1135bd067926012f866b332255e42b5fc14f5709ce4a29f5900f4eeb30 +DIST firefox-135.0.1-ast.xpi 315338 BLAKE2B 460177284538b48615a99b6b3b0dd56eb03600859b54a61d5cff2cfec675d57339e410567293c19e52d2269cc22cf66fb6db7d0bac9fdd6355b5bd5ff41cdc10 SHA512 c9ee6b6c32000934f38af3a4ede238090ffacda2c30de60c22aec15521df312acac657da3d4fd57f5adbd0e579cb35ed6b804f172b752e5a73e74d190670bffa +DIST firefox-135.0.1-az.xpi 322596 BLAKE2B 8a03d36d7cbf4c4ad230b69bc8cddd67e3ef6b177e26f0c231bf14e29d8d94c15e1c877ff223c5a7a3f4b9f49ce878df34cf615706ef73f2d96e7faab1d6c1f2 SHA512 3d01af7242259130f910aab49052be50881916f3c05a0d9e4a8b7976752b3df65fb02889f945b73c2eb7aed4f3d535310a20ac5a26ec14dbc51b88decd8dbbac +DIST firefox-135.0.1-be.xpi 514712 BLAKE2B ff114ac03e2be2fb2a149aa6c307e23a4e39e0a64c40783d7c583b21e966b53a3681c2ac150a83519b225cc4db9117897ddd4497019a1d2043192b7c99782bb5 SHA512 7d84ac22f9af24aba0dd8a48b431f48b028aa46800fa57869b5274f9408ddb4171336d0b2537a96f16f5c98f5ba39f2df880651fb9238a2e2875283891b96122 +DIST firefox-135.0.1-bg.xpi 453358 BLAKE2B b688402d2a4a600da7c7a2aa4f5ea642b76633ee48dffef27c7e26ffce150692c5fa48461fe2a76def89c942f2b7a18fee1f619d37964925cf82e53136dcb80d SHA512 300511d7f2fc8ed9b4c414fb007ee28d203939850e59443199b45f33cc3af9197e34bcd80c8ce8fe2470980fb2ea2f79bb7e0038e3715db51463ec9708568958 +DIST firefox-135.0.1-bn.xpi 417335 BLAKE2B 00b31caebe399b29cb4dd280db466ae693d6e82f4c2b9c353286d789cbeab9da510292e1fc143132160f539d1abbec28ef6e0de18dd1a4e7b5f3ad7b94c1e352 SHA512 1cba778fe76ae0a85823db02a7c11e4bc98d3e685df2cd6ccaed456e3b0c61ff0f05f219a86f0e0117eb77b4a430a8609804d7ad1a99a3b6c69f3a2161419629 +DIST firefox-135.0.1-br.xpi 397374 BLAKE2B ecb27ca8599a49eebcb6d32d2f3cc69142f6c9ed35cc5d8dd3ff88968998b7e57c40c9d24bd56b3eb99d30efc50addcc060ebe95bf67bf0f2d56e5deef0ff430 SHA512 960a87d068b71a09901faf5d5f24932ee8864eb1ac7afb6b2574a7229c636e0080882a46dcd3bbfaa802f53ce1ca114c059ec3104bfc19f86c866f19ef09805d +DIST firefox-135.0.1-bs.xpi 368182 BLAKE2B 32c7d57cc3e3b0e6faee5bbf820de17175783662f5bda22bd262dbe9d4c0c7ff22f7576befde51524c8079d109cda105cfebbc8410bbbd0b9b363ab44bff4785 SHA512 0664c1707c277ce8f398869770d64fb3ebc538a98d350ba5cf19b54647c3fdac54d7c43038e1ff4598b92ba1b93a94ab03e6a12b1fa46efa71f8cf0727d27479 +DIST firefox-135.0.1-ca-valencia.xpi 362547 BLAKE2B 9037f81892f6c2ea9a0f92065d73a753a4f3199b4e8487a133f57f825e92089716dfc5ba6a4688d18e371fd4c8156751d18e050022156c8f336748193762a1ce SHA512 6019e84d39e78248ddffda6a9ec97eef037d41a3007d3085c0c03c9a820dab2f91ffac282e26a8000b209f412339eea1601ee107cb140d21dadf16a4ef47855e +DIST firefox-135.0.1-ca.xpi 401642 BLAKE2B 5aa9767b87b889d0fb5e0495e5e792538de95590e0e1fa003865b1b2996cdd76f60e2c2d3e91a81afd75afd4c2d91e9f32304dc2e91e2e5c2bb20cea2ffb992f SHA512 59fd34eace6169fdf1eeb0ef7d8fd27105912b0e731bae5123216ad8986490cdedb6ec92aec1448bd57c1d5df9f7b5683542cf9e4adf3d34ff22c038f712f943 +DIST firefox-135.0.1-cak.xpi 397003 BLAKE2B 092cd57e297ab8f5604ea5f1fdfc8a5ac695a8f9c9f4452845f63155085bee2e2cfd3d5e0b2ec07793c0f15c864e36ea3f81fc4c02b9ffe38a2f29234c427856 SHA512 b6bbcada750ee386db89920443d9335ecd9824c0c13b20d1e76033d6d2a71c2f5c01b51612a5da9f141e42b0b280ae313fc3c4f59a9691e994dea6336f0a9cc4 +DIST firefox-135.0.1-cs.xpi 469979 BLAKE2B 14e92a3bdc5fcb3eecd38b6cec5dbc5b990fb4a219752705e7cb42e64dc383f9e78f608471e2140e53f1d70e943f9e3be2d2860a52163415ad851a6afd5d2b98 SHA512 6e5cb4450f93ba9f3c789b4c546020cfac3d7270af7c71697d383c7d27484a6c09b05bf4bacafc143365c1a212538c8f57eb72393d9ca796b7f0f9fc191e288f +DIST firefox-135.0.1-cy.xpi 436428 BLAKE2B ff2ffe47894657fb8ca1b4fbe0bf3da5fbda85a13e24a62ea7286ddff0f63ad19aba473ffc98a0901475a94b3b74017e7f296f92985ca1a9bfe1b58b0d1be025 SHA512 090523f30e1db53b90e169854790d620164df229be56c3ac777bf775ad1ae341d23b62c1a07dc9c31fb7c41953bf7ce8c7e4ab1773bc9b3a2627220dcf5988d5 +DIST firefox-135.0.1-da.xpi 425956 BLAKE2B 1a58716ee9bb5be47beb8326d4e1727afba33b576243109f1fc52c9223438058c21da2d2c8015d453e113885653d88597b2dc0747464d78b0ef87fcc7942c0b9 SHA512 30011d5be22d6c94d9fcd97cc4b0b6d8c60e7cf4ac2441a5c6cb2aab36c8b18ba1542f4ce2e6d318ecce145f9a6fc2d335553a621611a8068bc0f7c34d418c27 +DIST firefox-135.0.1-de.xpi 447590 BLAKE2B 7fdc258b87c6748360da15dfa8c0f7e68e7c1b3944f3a416cd90c6e5faf1cf34dada37286f7822ef70b48a0821b573f25284ee324771fb2b98a848e37647a5eb SHA512 34837a6d94a037047e4ed6701acd4fddfb1a45d7f956eafa0b4fed489d6f7fc7adac1c98cb1bc354636b2f24aa24312759eb6b2610aecbb4e7ca68e036879d3f +DIST firefox-135.0.1-dsb.xpi 460611 BLAKE2B f2dd2b7f96609cfb31d84a6553857c2c3d78109a0986ee59cd140cd8125110c93285e0d1a4dfa5930e1a2f2f292a2da2a99893ce02a71b4e9f3f6970dae3e712 SHA512 f950be6b66594450a0254e311ca04489667da0751fedbfef6b8652ee063a4c3d96ae6b158d4b2ad5779243082c5f3c1bfda1ef9516b193c74efef1f23c6698ee +DIST firefox-135.0.1-el.xpi 529586 BLAKE2B e98d15c3944e9c5db3ec346ab75abee39f8841144c5b444873c6d582e3e6421952408393c2097d0e0f75b3b3d863bf301ea854e06ff3dcebcf5ed543fbfac24b SHA512 4618ea66047396bc891f58caaf735e8a0314efab6dcbde679e7a2942efbb09b55fa3a768768540e75bb692b2211f32f85c11a7b385f60def895536df30f74d3d +DIST firefox-135.0.1-en-CA.xpi 406583 BLAKE2B 0ac36eeba4bb46dd5a69009f6c7384d7f2c6ae42fb6ac09cd59e940c1646756fcfea57ac224007ad144a8b556f3b40a372be5fbf4df3dd0f37f038c71514e4e2 SHA512 b86a7fa7eea4848523da3e567a34c2ea01123dcdf474003960ff9a08ff0d33473d0fc93ad93bd2e62c611598ade59c509fbb99a12c9df1a85320831db8a16a8e +DIST firefox-135.0.1-en-GB.xpi 406886 BLAKE2B 6f757870cc30b5ee97dc5510b09098b9df8729a426233d78c1cc69bfc0d8a708034ba63c6d579033fc6efb8bfad5bcb980de29f1da74ac4034154b01ca2057de SHA512 1895de6f494b67015b574fd9ab6746163c99ccc51e798ec5c57beae6cbcc41cc18f49db077bddd73db0dcd9abeaff9cfed70197005ca69c9e4b6b3afaae29f04 +DIST firefox-135.0.1-eo.xpi 428450 BLAKE2B 1c73a84b44f57aa25ed2b0bb50a6aa78770728d0bbeccb0b88ba6af46bec41f20c1f3999988101bb07b627b6121cf7ccc62ee4dbfb7eb3855e91f96b2e31512b SHA512 4c9597ce465df3f0fa27bcb1983e1b944ee86cef1e711921a2109611f76da70401ae6577f623467bd9c3965ede21b1860fce1360c0711761e70f7323fce87dcb +DIST firefox-135.0.1-es-AR.xpi 440560 BLAKE2B 70d60a45c271f07b7b8c34e28b85e3e1601a8c906200f03e0ae560014de174dd6b39bdb68a7971f1363404395621e83c45abc32c2c87b71c304efe95a647b4d3 SHA512 cd1e05b85ebadd395cf2bb3cea696b80e07596637ff4c972831a765b0bdb25304341acddb15b88addfbc06c870f34eb782d5fda1bb99d664758143846b66f80a +DIST firefox-135.0.1-es-CL.xpi 441044 BLAKE2B 777257309922a275a8060ce4afe0d2f7cd7f5514eb2a49a970c212aa3c1738322d43459206705279fd5bc49df360abd50db42a03d33b7140547437bea164d4f6 SHA512 65b9b8fa7112c95911b8d65b04701f9c96fe3ac2d7706b748d4d418c68c33135b2a62de95f1bc541be4bd84ccfbc4d9bc23b3bc04d9affd643a6b41069782d17 +DIST firefox-135.0.1-es-ES.xpi 441889 BLAKE2B a0e2d1b1d10503f15bb0d124b4efea91bdb8abf7f3d80679a75bc2c920428dfe97748a140533e9a2bd28659df8567491a3656de2083be5eb2d5785e9855263df SHA512 c335f20d2aa8bb77a1603bdb1942d8dec0ccc5d7db8fd05a983b07ed1ee11d0d08c9bf9166723cbd995bc63539e7d33b53d95474a9d0a046dfe567273ac5f548 +DIST firefox-135.0.1-es-MX.xpi 444247 BLAKE2B d49ee5b9a5450917653968a286a51d1597050f006b4c30bc4e56d6e3d37928386bb823d4527d81edddd97450ac07ff1ddb96bf20648e9ab1a009331d2a46c72b SHA512 36b8c87d83c111db98c5af825050da84f0c3c62b4ee111a8ed37fc0744425c347c39a9b816b4c535cf7b9e3386112aaefb026e095354e3885be9f1a9622bd02f +DIST firefox-135.0.1-et.xpi 361088 BLAKE2B 15fafd5a270ca61cafcb7047ee1405372199a0bd2f2c29b391276bf7d9d658c54b60a60c1be4921b07a611e39dfb717872a271e99b8a001dac96e6c1b6e3dee8 SHA512 3be02b3ddcab6148be52ae0506a112c3b6ca978582fa144df60f6a009e5bd17cc3192857830f3f1782fe18c2b331c3aa983ad8befb67e97a202d1448e370c48d +DIST firefox-135.0.1-eu.xpi 413623 BLAKE2B 0f8e0fe544583d5d978c850c996e767001ade4799c8929dcaa47aaf4695fa6d4eef1c31ae3bddc8dd55cdc0ef74c54831fa1e7628a93d7b9535574e3c3ea2a39 SHA512 5e1e0aca247fac0c4b4f2df65e66a972518cc9fe681690ed0d01892856faa98068ec19c739b0a2c90c43df69fcfcb8de59cd162f801e6d8c59cadd676c534c21 +DIST firefox-135.0.1-fa.xpi 417965 BLAKE2B 2fdaae28aa78d7e2f6988e3bb379c6706e42fc848474567fa0cbd92b41c97d818e90558dcfedafcb84c6fac3c265e14a2440e0d02c97325c7b3d6907b8215589 SHA512 6b0e35cf3a072618b7e2d27f1c95684aee5ddb7f338349564c0e9a474cfa72003fa5d33213fb1249a3223e3ef5ecc3623475291dc3a9fb288aa087ca04e1dc1f +DIST firefox-135.0.1-ff.xpi 313586 BLAKE2B 84b015aeafecf3bb2eabff7a15f41af22a05220ebbc7907432bb0fb9ac6bea135308f6af1da7e925115c5c091ca19fcd3c6da7aea26bc5f0782f585ca5834826 SHA512 92177c37715c76637d390119d463699ee8e5edec72655685c1179beaee21f81e647c9d4aa45c8431d1853e1148d50915c28eff376508a23293b9dc27dde8dbe7 +DIST firefox-135.0.1-fi.xpi 423828 BLAKE2B 9a3cc6dd45632983dcdb423aaaf8c804c8de874f8f64925e3d8f60998bcdc079c4777a83e1a810c951e0725a666a22e20fa2e34ec45bff39e2f16d9da7a05ccd SHA512 cd14278b566f409cd2d7c8f670cccaae5c95e9220a7bf0d6e22db331ca6246e8000fc0914edb304a8153868ad7c7f004d547f0af2506c7ca0366186ab84d4b60 +DIST firefox-135.0.1-fr.xpi 453308 BLAKE2B 27fbb222b3d7b0ad625b75e2ddbaea66ef71df35dc743aac0117839098612c4cfed58b0869787af59c8bcadef8539b71697b343da8842a63455443a78b5c81bf SHA512 82121b99912b99892c50089ea91d62834c9341382c259611782039e00ad604e6915c041185a6bc641dfcbac2e75e3395cff35149af38dd66039ce00652bb1623 +DIST firefox-135.0.1-fur.xpi 439820 BLAKE2B 0da6b7e3e37c4ed48b68a59884b0b4cd8346c79cc6405de443a080713aec906c7e15d84eb7b6d88829ae74919b7f499f0ab46149aa1a2fd5d11b9aee18642014 SHA512 960da85aff1e687ae9b92b4f40bc7a40d45648e36c707f58212a4ff8130c956894f2d258a4dfc4f2bf3fb7c5a6406ed4ea98a19361650e75ce86ac2f177d61eb +DIST firefox-135.0.1-fy-NL.xpi 437080 BLAKE2B 3e0e3c5ffb2439cb1a617b8b65c75ca4763a7332122c13867e8072a1d22c171fcede6a77246e1b44e0e24f9db5d6a0bf4ac99472ca66e0fcc4f136f4c922dd57 SHA512 51a4801672886a522e1ff2bcf339756efd90ad9cf14390960437bca6af6e0290bf3c308c2904c04b8268ddcb185fddb34f5e24482fdbc68b5f19c10caaca4bd0 +DIST firefox-135.0.1-ga-IE.xpi 309807 BLAKE2B bb56defe64d6d9c5e2157409936202221fb2f196f6271d554b02db0c761e91b2c101eadade42e0496c1c32bf1e30688a832c1924b4ecd295eaa5f45f589e2554 SHA512 11c6232163295ac5e26bc52146c3e10757f55b0ebe6be1ae0d7bfd7434afeb96c9a32cedb9bed9cb6d46771044757454e76bf0f148f7241a57461eaacecb9039 +DIST firefox-135.0.1-gd.xpi 405581 BLAKE2B 586f8901f2af14682425cb3ec608e9cba10bc64874172eb0e8c4da5ca030546c71ab8d80dada521e346c7487cd5aff284c689a131ca071f60be52d7b5b689471 SHA512 abed8f156600cf6cb7417f75f7b17beec4c597fcee237ca794fe846d9451dabc6e739b216af451336a97eabce1fa3c6dcc60fa2d9dda05e13203fcb9b48515b6 +DIST firefox-135.0.1-gl.xpi 408688 BLAKE2B d144b68c1c35efca8d790ee6ea9f6d3a49f5848a7b237dcf69e2a89c096b619b29429feb6f017780f74d784ed093e45e32d75d444edb8e99c061e5a4a3434843 SHA512 9455a57fefc51b6edbb78093243c2b7a3af14d1cc69b9c307d4333ab212c70d0a0bda2ab0b910a19417e035d5926b8156cbae8aa44d624b1f20914352d758808 +DIST firefox-135.0.1-gn.xpi 444174 BLAKE2B 0d8a2c70b8013b93bc59f724758f56952b000410474b325c372c5536912efdf86b93920c1106bfa9ea31f691304f6a2e95acaa7be3e6e149b3719bf59104f363 SHA512 dc20cd41c73f2afee993d622e78640993304a31f2abc72b0345aea68d1c991821d7e37c43571f859204dc4a83d368f1025a6cc45cac864afbab635bd7865e8cf +DIST firefox-135.0.1-gu-IN.xpi 363078 BLAKE2B 5eb316e45df8f2536a9e42c204434488bb593517c6fec22f559b474ab0b8300c0dd549d091366c39b289c9436eea7de2a575532c9baa88d8cbc66caadf44bed9 SHA512 5e76ef6f417ed37e8c8e58f98d0625550d6399f2f095b4b4c651997f2c49901ada3c4a194a54235c2858afa095a064882bf86f34d03d3714e1eb854f90038e2b +DIST firefox-135.0.1-he.xpi 438089 BLAKE2B fb4c83fa9bf79dbb5f2f16a3dc53a68c1eb063d2c6de7ef26c05e461d5339137840418f38fffb15b78929fd799ecf9b2414799fb640b8bce4a4bfcedf3350eb2 SHA512 b88e79c8e14384cbf9913ea571f73da83d433a0364f33f7041c297a80885e0fba98180b15db56f7ab9e6c57a2daf400908b8b9bc5f1c5b9f7e7217d34dc25fdd +DIST firefox-135.0.1-hi-IN.xpi 381632 BLAKE2B eb58499c10c9363eb819d461d1e902c2091158a2656be57f324318964c6dff8e632edfa6a1c6cb3527ba2699862e8970453f592877a8efef52ea43393cfcbca0 SHA512 005ff714caaa8eb859babe76be28e275ae559338df6ced1a2d10e6497b88aeb3c54a8bbf28bbceb262205b00ede4f7920f51c404f2264d8092515c5173773ac4 +DIST firefox-135.0.1-hr.xpi 431112 BLAKE2B b27786d3a0b31590d6ceb263a3d6c2a3b704fa2b6d34747c18e62aeeef94eb8ae164d0abe64ea34af47c445baaac3e32d64e07d7054d1de33681122832146e1b SHA512 cf81ee763a92769c6fc45c171d8bcdce4f0a3c53157b9a5f7bc1e8a3146a31f86396496a8916ed2a142edac27dcf567305b9e493c6555ac2d5dac52f7abe4945 +DIST firefox-135.0.1-hsb.xpi 457167 BLAKE2B d52ca5d3fdb397b2ee0bd8885063d0d4885d7a518f4158514adf8830945c1b6d233958dd51db0010a95c521ef45e8d0bb780476d4007ac4869def8a59ec3e257 SHA512 2d9024cd2cb4f2983d692ca9d141243faa49d90816ce21140c93d32805fb72e21eee4cbf8c364716f1e60c3d8a819b02f44d14a176198725a07e587ed3bbd91f +DIST firefox-135.0.1-hu.xpi 461009 BLAKE2B 34cb4e1ac7c32aeae5720948b4c2621cd31e2ab8181c9f4e60a248c5f91a0535633279eccc617998f1cae21d0680efa7ed73fa03c6cbe25d2ef2f32539f0d536 SHA512 f9dd5d7c95b1bde03b5828bebff224c4f5c9c8033a872e4b0adb048c25a6acf746472a889f09e63eae5fec2f7bdac2f950fd25c70ee54bc34a2b94935cc221e2 +DIST firefox-135.0.1-hy-AM.xpi 450029 BLAKE2B 25bab7d2b64380d8ed901197147cb10ddcd489022460c6d49971724be91144619b3e052f3f9d60f5f03caa9c7d06fd05a4d20238a7558384a83fcda0d142f383 SHA512 9e5496f8b0b07cd4e1dc7556f1e33a16fedc4c8b03a7e6503b5742520fca349470dc76762eef4402215ce10338651cb3b787b19310bd1aadae1b3679069af7d4 +DIST firefox-135.0.1-ia.xpi 425183 BLAKE2B 333200f54d8a7f61c8ac38b9de93bb94dc4aab046a9f7693631a61c6dd5907018d303d5c8334e8213d0a5d72c7f086240a7afc2c0bac26f481dfdfecc04cc24d SHA512 c958b09b10859ec44bc248329c954afbd65f6cb6ff6456a258e2095b25dce1b329ef28b7733a15cd6a81d8582b61227418531e2984573d4d5a6df21438c16785 +DIST firefox-135.0.1-id.xpi 414160 BLAKE2B 6265bcd560b1c4a603414924c490a89c7dab14be59b8f43b26dd1859c0e726ed42ee45b114db61a0514af4520242192c7c94d018495be89c1c26c221835acf3f SHA512 84e486b9593fb7bdf5aa7511f73691b4a9af3a0eb2bbc15d7571669ada1aa673d49ac7389cff0a3440ccdcfc367e0751e63e344fe66b5c913d4dcb7115d593ae +DIST firefox-135.0.1-is.xpi 429201 BLAKE2B 03b308590d8a6f4adcd918402996e28945c73f6632693c557f449e990894b9d7b84605974fce122b5ad47152ce9b5ed2216f20a9ed602443d49b316e1f96258d SHA512 4836c91bbe866303720b9437a704990af056ef3bd9323ce203dfde35bc520b8d4c6e5b46aa807a7f901f7bb8ddccc59694c29465a4c0f644af225b979d0e421d +DIST firefox-135.0.1-it.xpi 435816 BLAKE2B 3e7810e42e6ffed790a05f9583f542155e7d23aeccf883d4cf28661e305698b9b16c75a5991c2ce5772b85c9f222fef10b43ec37b4c111de6e61aaac418e8ebe SHA512 d171938026f8be378619e7c7682110299c60427244f945435f9966604adca65622058ac408476304281d4dd6c81bb5ade91a01e2d6ae92a540abc9dee8da0a3d +DIST firefox-135.0.1-ja.xpi 476065 BLAKE2B 26c2e5e06b95226d20069f215a19a109e5d80e1df680d3b7cf2e990ebd970fa445207c9ed60dfdf48ab5e8ad51cd47b60e2970b74a84d577931a9a12d7ac2149 SHA512 72eb9d183c46ba799ce657b023ec80397a3c8455fc99729b48255fc971036928a3bf79cefe84e6f64cd337b5117e9902e33b247d8bb37be46908a863a05c4256 +DIST firefox-135.0.1-ka.xpi 488860 BLAKE2B 51d6757f2a6b15452023ad2a50ecc03ef459ee296993102d75dd16320f8f225f879ad6d6c4953320f33bc8eb023d879701fd1249a60b238a95fa18dfbf1611e9 SHA512 e5c3445b83cc811e532af6751a7cbcdbaa75e54237eeb178236c00638c6cfbc3f5c4249d97da07ab850a99de7e6d9c6f2677dff8ab3ef1d9fe6261b6c06d3ee8 +DIST firefox-135.0.1-kab.xpi 417288 BLAKE2B b96c1eb1b95f7425f5d7107405a526ad0b5e4d92a512616ebeab5931dfb7fa4a35a3299a198c4f1d1db70e3937d6f20d157a3df07673812f5aca7a9cc0abbb70 SHA512 07277ad130e68ed6701d8403dc07877e8522ff9b0ec7d462e5beb8772126ed9d258a6c0348b8073687d375bea17cd74c704b3b2f2a659b542386d5f4fbe37456 +DIST firefox-135.0.1-kk.xpi 504538 BLAKE2B e7a908a5541ce16ce723d6059136605ab49bf820e2699cb6ca868091b6bdc9c372f0b170036fe23afff56cb0ffaabfe42e34376d81e3185ce73ea7a6c3df7226 SHA512 f6f6e88bc3837baa3422a6c8b7955fdb45515e1e7d83dfe9f5dfe23821463fa55050e4f54c96c9492a5c040c1b5cb78a85fff6b5f45a193c1fd3c9ac4c1fac59 +DIST firefox-135.0.1-km.xpi 354092 BLAKE2B a470a7b0764ee50ed672aaaee6bd8dffd197be5ad4872a031a97c6971244607e5a0a48c108915588480e9c142add17f57b1054a9214bcbbd2865c8986e292ba0 SHA512 3f89cf3f3366303a2f414c4ec9413d110e7c38a78982cf77a6ec8db27c082142ba56509a4464c7bc5248aabc2f8165178d3f28671f8299e8e7f20b6982ed2044 +DIST firefox-135.0.1-kn.xpi 335951 BLAKE2B 85b66adc4fbc29917e28672e16ca16ca2f8133284302e04b367d10cca1af87d7a6f49fd37cd8c58439b4a477213c7bb13dd17b1f60d2802f40ed88520a0d7d8c SHA512 4162b64982bb2d9b521f6b423193c94ac5acb1a8b2feec1ad592a9722b98c1fad13e7dcb6c52f6f689ff0ec936cc290d61bf58435f47bafb2869ed7c29e785c1 +DIST firefox-135.0.1-ko.xpi 462012 BLAKE2B 23c8d4ee921e803c0fc2463e8ac26564df733603b07b0ef2539fed68b990a0b31d2732f3ce606cd50bf7faef500a1118d64d97b6ae967640978c86b8c141c852 SHA512 e936a6ed2f82de01b66e6fb6a8e8f41b0c1e826902170784324adfb1841496155af995fe7e72088dbef93f05084dd6312e08a1688185a6233f839616c6db0d03 +DIST firefox-135.0.1-lij.xpi 321540 BLAKE2B dd35e6b10c04fe2a4bb31f2a4a239d3b2bcc181760833b7b74d8870da44167115f991b29f145737575606fad6234dfbbca456d667c15b3b817d158166b2ee8f6 SHA512 4a3222509da126d16fd388feb3d95c223435461ef8b72d1aee3acfd5efd19b7d7a25caa9e29a5f72693639be92e0b9d68948418f2ebc576c4aaa69a6ca814032 +DIST firefox-135.0.1-lt.xpi 385233 BLAKE2B bf75958d89d9f4f2527471b72bb114597bce00712556b441491e68ec196bdcd176177de70f7382de19010e6de3aac716dc023f2afd6fc4e065ab1424d32943be SHA512 98c1210629ba7ba68cde4a0fd013b59bffcd29f58e7d6290c0c49188b94fdf945f252b87884e90e4c91f328e67d218ea18aee5f3087af61544cbea39e4346d5f +DIST firefox-135.0.1-lv.xpi 393517 BLAKE2B 66b64e9d0129bcbd50080746ec58ea93a44d31c8052d15da7ef6bfcee9b6afb003b35548063f8a8921761191389ea791b036308dd13306c8085d8b8b3927ee75 SHA512 05abd2fafa23d57f5cdfd16d31c5a1508c081a984f5e75d38e660922071568f9ffebbdb9cb5554e71af540c3cecce376c274b58ebb683cd90bf36628c735f1d2 +DIST firefox-135.0.1-mk.xpi 321144 BLAKE2B f41663c68d2d54747f788c763d9cbb91017d0a996845d34f0fca77dbbc9bd0833ee72236ab4b1c12b116c3ab246ba096ef7891f16bd764b40671d8b7436cbd98 SHA512 fe3b04995d999d91a063bd725b9aa02f68f24c45f01792c22ca21396a9d63122f86707a9d08e2deabb820f67307d9d432c8a7b132b687926b076e5a2c9907ad7 +DIST firefox-135.0.1-mr.xpi 360199 BLAKE2B 289061c3958eaaa5c8f42856156a2bc04d61c54b4cecef2d9f57a5c562f24ebb35b591e3762cc2a3fa712b84aa7fa5453d738a8fbd4c8d484b1e02c3d4a3448e SHA512 7c0a590c0b1205e306e2d59ccd78cdb25abedbe543e975b8da4f4dfe77fa0716265f6d5a30b50ae5ec9c5b2c72eab567eedfbee0dfeed72b4a21f47c4e9a56a6 +DIST firefox-135.0.1-ms.xpi 298704 BLAKE2B c519b169235d8a4e4789d074b1fd7a62f650b98146d68097cf747f71c36a3da566bc9827e79c4547df9bca7a9d07bcb1e7d131d11d23b2877930460c4c31fa4d SHA512 22c89d22bb115a334dbc86c15173107883248eabc4210f01b67605ed6776466811b0c10d77ff734648c7ce01feb68542e3a937ac0d47b5098f5d9723f9afbdd9 +DIST firefox-135.0.1-my.xpi 347838 BLAKE2B d0e81bf98c516d4962c3d4301bcb94d48a0fe950178d8f3e16324255e19ace60c5a2273558d85d58710496fcff486729fb4cc4e0553b0d62b7a6488d625519d3 SHA512 d3db7da5e30d4c9ab3f5282c9b89db07958000e4f0011e77d8a66512d6ae75e681dc7fb092407d31bbb1df509d0907d4ad190479c61eb5f4558ac112627140cd +DIST firefox-135.0.1-nb-NO.xpi 419393 BLAKE2B 3a9e84d08767131b41b344d4e25cd070ff9a30c7147abe26675c3782f3c427301822be57e933ed15f58bf964e01f839609852b2333337819afe9bc08a4ac2356 SHA512 1a4593a23371dcb99abd1356cbfd92d3aa2078810a96c691ec929ca4d9df62645489ba153080bacc43c2ec23f7c77047dcac25c974fffe8f9c4116d3ff51de47 +DIST firefox-135.0.1-ne-NP.xpi 353603 BLAKE2B 83406798e6487b270d83f8b500df7f9da43afcd618494b7ca9cbd4744c0f8eed1cd49ff424dde60f7ee2cad308b3ff1e7766f220505fb933b5dacfda71d2ca35 SHA512 7cba7371d59bffc4c5ee47add7d841afc084fd23af10204e18739da87b584f1772fac545f7a99ddf9b8403c031272f5d6a7a59e60c8baaccdc6aac1924e1f9b1 +DIST firefox-135.0.1-nl.xpi 431158 BLAKE2B 867929b67b4b3981f6f7b9ea316e3e7d3f980bad4334e197420d71d067ba2abf56041f70dab4b650a2201962f8ca3d589b98c1595a5629060eee7637010fa242 SHA512 4d6814f77686aa0f43be825a981e53db3eb6d58b80dddb71aea0cda4fb3cb2c337b2edca849d4a8f256c7e3a30f904988921d0d545cff871c14aba784f7648b2 +DIST firefox-135.0.1-nn-NO.xpi 421329 BLAKE2B 6d6d2895d26857187e54c23d7d548bf2289c9e7a1f9d2d3b8af3310f93eb110995e0e2090617fdebcb679639b774f60ade52db6c8370c93b84316802839cf37a SHA512 9c8fadd9df55105bf71a8bd9c9c4addec50cc4a223f48f925e8b98934c506297027bef89a83c8efca6a293214957a815649b71f4126c57cf0a6af2b76d618200 +DIST firefox-135.0.1-oc.xpi 418976 BLAKE2B b61a537b95881dc45213f13124994a53fe05163b142041f32a1ac1b7fcabaf1b32769ffe48b20ad809dfea2013a89ad1266a4cbe08a5068c58d9c218ebf3bc2a SHA512 ff191e6bf1a171b9c83757453c4eb7eb5a81d23a196087161fb85688a1cf412e02720c6cc64ee065662ee04342bb69efb1c2d0b30169bb8332fcb5ce73ab04c5 +DIST firefox-135.0.1-pa-IN.xpi 489772 BLAKE2B a1ac050989fb8645b44b63465dfffc2437204ece22579568c9bb591163f0178fb37401720bf2dae95bf76ab43f1245dcd5f788b9eae663bf541630f7ab0b0482 SHA512 e3c6678f99597d7ea1bfe3936bed7ec43d9e07c1c7fe2488f710efba6ba755310f1a7e43db0ae2dd426ee029ab1ad9362b3d27a201a5bff41f997a6de6be675c +DIST firefox-135.0.1-pl.xpi 451664 BLAKE2B aa3a4c4eb5d54538e43c82aa5cb56a72983addf2afee6a196e95cba79612855c4e59a48aa030b3e3e3f335f77681f687a1d3b4a1cbf2d4aa1023d300e1566866 SHA512 321e9fd2036004ec9704c213c2038d712bcb1344065309b09656b143e3898d54ea043e3271d21c45e2b3456be56be0502973f9185083bb2f31e3e75fe3e4ea4f +DIST firefox-135.0.1-pt-BR.xpi 435467 BLAKE2B 6dc142a80d971b2ef3346c1be4000669c59753e0d6652c719f2e0835d266ef061628cdd7de00831de39eb8312a2259c7f1508b9266e6234b7d572a93b8e03797 SHA512 5aa700cb39649deeaad1ee4f4e3d9d609933ece091453dfd55e753a72e728a5ba56d58e094012f77ef00c21ff83e4dce3035ce9cfac90569755314147f0e8f1d +DIST firefox-135.0.1-pt-PT.xpi 441391 BLAKE2B 233dd7cdbd42ddf9255df7f238720d0493812dc3182723ebf08c9e86accf98fbc5f06bbed51c9b1aeff2b5264ad392a77f657035c0356b06319fabb590e5f15a SHA512 efba48ca66d45951ff90302d19469fa1350e8dafdf5dd0bd9786cc96b7e93d3c88311892249bb5ac693c95043407b523f54ab0c19c8910ca5407daa2083a8ddc +DIST firefox-135.0.1-rm.xpi 434738 BLAKE2B eb28c37473875a9cb65640a647c1c2278939cd2bace2566f2fd561bcfdd717560c9c619b7e7dbdfc4e81820828b18ca58f78bb239b28334c382de1c9d9932ea5 SHA512 c0d56ae4d3fd3ac0af777919d9d092e33fb146b326e1b7756cc80ee8f66a282e9d0742f78e4287b37aba8b0b8c6f6bc59115277d4557ddc30e0a68619a18dccd +DIST firefox-135.0.1-ro.xpi 366578 BLAKE2B 922a43afe59eb3ee2c7e015695e307bc74deab2bddd1af8e433231e3f3cb4828e3ebf81227faf4086de2943cc2303c7d87bf465c4026967d4a484ef48a72ba2b SHA512 f79eaf961724adf2459138b4c014466c5918a4ffcb8d99afe02189ec09fe5e49d0c9938250c447d212a5eed96995796399521c9b24bf49abff431c95d73996ce +DIST firefox-135.0.1-ru.xpi 518940 BLAKE2B dfc0c3b877c8640213e9592902c6d404ae9216399f22ecd590f07769b91d262f7bb1b99c8a9333dd3ff66efe2c10a1c5cad96f20e9dac9ba3accb29568fd69af SHA512 9051525d98d3fce726d3035d6b5f0bc04e0aaa21371590343f8a9503829788d2db62c7f06aa9ef4f729666adb7e228efaffd38295fb82d5d7803a803d40cfce9 +DIST firefox-135.0.1-sc.xpi 399014 BLAKE2B d091afed20b999120d7a4f379eea9e79533a9cf9eb5c7d0848f3e62f02daeb2b690e89fe93ae36d1a1b20f363de1f09c74f75ac247d4ccc44aeadfa6f64055d7 SHA512 30ecc3ca1d16e67ba2370ba426092a66db808fbec530c9c637fa0f1e6e033134a92e0bac1712715c28fc4e8dad6dbf21d810fa93b9595e7b4c5bc5b8d84df5ec +DIST firefox-135.0.1-sco.xpi 327578 BLAKE2B 0b5064898e64f814895374a51adfbad227f36225e19a0c8804a19debb1f790bec64ab93bf4f5b37b30c6ef4099a5d21af2c20b3489515480cc278587ab648462 SHA512 b1d990441f96e121d9016042cca5a63c2602019cf6aa8c98c69d2131960be7645ec074416f63086e7a539ebe639bc1135f6791c5204219832d07de7236af395f +DIST firefox-135.0.1-si.xpi 415051 BLAKE2B 7dca36d8d6b7d0f76532528b19fdcce25493d140747819b27125bdc4c2c1a1e1525fecc91ca37ee027a460ab9333da2175d58355a01fc7c216556f725b1d669d SHA512 5ada3b015beb09f86840e8b66663df23e143b7770fa513f3347048ecaf47f946ee8a5c081f25348c095d5d8428e2af6f3de9ccb4e77cf1a931af61576a57ff2a +DIST firefox-135.0.1-sk.xpi 462399 BLAKE2B 273ef0de9c606eb0b9c3f0541b744ba10af3043d2c4e1b8b26115a2a8b276a00497c4d0f97b19da8e7da8a79f43bdfa0faedd18a4a8f9c4b4139a5e1e24e7be9 SHA512 7fb73e1440e7f3fca80a7e73b58c0e1331f399f1153d196d00d80b1e313f3a9463670348b8e98c92a68123fc0f66b1ddf7156c99ba5cbc5a0adc265ea7759f88 +DIST firefox-135.0.1-skr.xpi 498196 BLAKE2B ec16698de5f740395ec57181dea47f9d5936b10c047a2f3ad08659c76d8b86f25c25628f2f771a93928dcb3597bc81c27dd58bdc634b78df95703c431ee66af8 SHA512 dcecb526f9eaea769561e543f44450c45a5d0114185f67f65c40762e5fb1629e2d2835f1c8df88952edd7b575973ca8e26ecddcd9a7e966d5ae4251c200ea3bd +DIST firefox-135.0.1-sl.xpi 434139 BLAKE2B 7e842a70925cff5684a1607b7648efaa5c086026d75278cd60bb38635c55e4f6d9bd736ce854a601f5d896855bcdccbb8cc7f22c0c7cf15d3e21f2a05ce9d4b6 SHA512 77b3b2c9822c8d1c9b8fa4437656fa0dd5c7480f7904d5e09eccb25a6156a621c00ebecabcbe6ebbc207b2a47e410879669b8c1ab50a7a6ff2e806aabf9439ba +DIST firefox-135.0.1-son.xpi 275455 BLAKE2B 4ead134d5ef7baa1b8f49404211e22538db3fd65587598e5d24187531be74009bb22dd772c4101840cc8195e73e08d8a5fd1d8e1a7033ff4893a28cc10af30c3 SHA512 b1f32ca1cbecdb93222ee512db56e0f2c2729157af930f9d72d2f57f0da956db71fb2304a1abdc85854d0423164fb34c5b6b370f7fa70269c40cc75ecbc8d3f6 +DIST firefox-135.0.1-sq.xpi 450586 BLAKE2B 3ce600adf9ade78343828b778b8dd31c56859e80fd74039eaf637b6fc01876e0ef30d5b45d846826354e426d401f20065db240a2d07858cbde8c187a911f3344 SHA512 74cc62daa62d8d1c4f98e6f291fb386e53ba10c851735ff0b092a910c4ec64935b787052cee459772edfa23062866a0f845884d22db864b3077639227ccb55d2 +DIST firefox-135.0.1-sr.xpi 460567 BLAKE2B 0d0b48fc433332805989a0b16c68b830f9ca8828098033067e1222725525d712e3ae380be70e1f9e286932ac16c573c35eb77c41d6672a0f92c532f744158a73 SHA512 932d51c5f01e525eaf7afebcc200e70e7710ebe7efd9628a9b1c3bc96f36415ee196d7b3986f26b59ab5e52769a3953705f07b897f00ae844ca1008a34b42ce7 +DIST firefox-135.0.1-sv-SE.xpi 431175 BLAKE2B 13b8314dabefeccda2ee37fb1db979909c0aaef174706c48428af025f1fb1be66c0198eee7a889da178d891ead19e5f30f3126df3f01c9626909154b675a4e67 SHA512 ff7db1a7687f759521940aa15aff409204b9e7a4416d2c56c720dc8a87aec450e88791fe5bc7575611823467815c61d28424ad8abafa041d2287f21fe924214b +DIST firefox-135.0.1-szl.xpi 347458 BLAKE2B 4244ea4c5b787eb6e589beed9329cd946e9468b11c31a039126c3bb33c3fe419109fe3449952a70ec27c7d1996e72ff11795ae70d25c9cfca43f7f5a42b04031 SHA512 acdd5f23c968a8056ce7ff765975b9d25eed777d12c919fe8a641a9c784edde1373494e6e7b125711932c9a692c1f818f6bd9464354551f4925ac8c0d7671d84 +DIST firefox-135.0.1-ta.xpi 342274 BLAKE2B c8ece74eb41fa40ea94bd513e0aaa50ca0e7061c99ce3cac1c7e59895e0bdab34f764efdda6d71da2020bb8752c46187eae66ac3aa792597b90121abd55fdabf SHA512 6255e724a644ae6d25b268def7dab89420b46fe4899c452fae476e4dd374782bffe95b0fdc981f9ba32ca741f409cd1aee89ac007ae21b4bfe5c08d0c4e41534 +DIST firefox-135.0.1-te.xpi 387208 BLAKE2B a7fba0938c96bfc6079a329e8cb07b8105455b3f09b51fb5792e2c127aa5f73250ff57fd9a903752b5735e745a1460642e0f1bf8c17055e88cc2b63dc294ab2e SHA512 e2ce56e47bcaa15461d714753cbec8d6d5362da7dcd6ffc1425ee0bf7105bb49912607d05e30fc403ea061fddcc35b88c2947e8ed554042e26efadecdb1efa44 +DIST firefox-135.0.1-th.xpi 500057 BLAKE2B 263ee9f621c05eef8b1ffa136b3335debb29564ff557b45302c2554104539e9e9b08e258e1e162d33db4c1b29fae3a5dcb6f7436072e591f1de1c5f54d28ce1d SHA512 384bee4524546104695d32bd6803e2fac8a777da1abfb8ffa81dea6b0f623310a763102dccbc82c55a482735729aa34d34e77b123050eb43dbcb4a63abcb24e6 +DIST firefox-135.0.1-tl.xpi 354792 BLAKE2B 005bfe6466cb7b41150c27e087ded1e7233248bce2cc16ee9ec747d93d23de30b7a6a139fcee4165dc7f2b4f9ea0b04fad29edd0e16593077ea0613c1e5b49bd SHA512 30aa6cb1c1d0e54721195ea264f56f99f47bc8fc19e7cd057cd908c2036e5be87a5595f9e2ca3c6315e115e1b87c7634bc7ecd104af345c1c1bfa55992e4c75d +DIST firefox-135.0.1-tr.xpi 442376 BLAKE2B 4132cf0fdbd8aa094cda35742b0688b437d609c85883935733cb424f6f452f3e40e26f088a7e18182cceeeb0257320722bbfd385bbf10140d86a4c0a4e6ab55d SHA512 0fe69c8011b7bc4efb81cd18fc10842b6227c88793664d8a5e2147b6d98604ab89523bef39dee9e74df1f549659c9a3e800a46e6be45971dc12c77fabc037835 +DIST firefox-135.0.1-trs.xpi 326310 BLAKE2B 6af7d12d61786f2367dcbad7661e624b4b17362529180330324dbc527980005001fdc205448d7303ff3ca6efac3e391c64754cfef295e91684358e1be5d2ce98 SHA512 72bb6e9e45681fcff374460ca94eea7c663cd8304ae6cea567ae1e867e0177808c1c6e557135348e6c20159ae1b175f4b12025031532188b87a42387a51956b8 +DIST firefox-135.0.1-uk.xpi 510896 BLAKE2B c7a5809171173bc37eb40b7e7578d9e24623e697f9005857ae8d7860e9012ea289c9f2cc8abab13a82fcfdb19cb12c3b91faa109fcad768fb6eca7e91fe65bac SHA512 30f601211684f1e52281e5b745e10db54752d05d1cb777ee861b6c5b0ed69b4f3ca8dfa47768144f1423e4b71854543974896793547ae4b5ab87a78ce796d1a5 +DIST firefox-135.0.1-ur.xpi 374846 BLAKE2B 807f1abf458fbe556008e0994f7c0b4b44bf7a686aeec922bc030acf97c159e081890a6d017ae4c02132a6329bb5f1be0502cbe83fe266a68b317dc069f7c6bf SHA512 a5af14651fb22ed79ca0f51c927d74dc995f82c7be612573697b6c4b131287cf32e4436de06b974bfab49eef2fb716df509281e56578d94d7d66035230088e28 +DIST firefox-135.0.1-uz.xpi 308113 BLAKE2B 4472b2d57393339db2cd52b9e1c94b72a90e549fef8263b1313655c1dd0c40f2154efb54779c6243733c7c5218a9d013143282fee0c860bda2e4bf94ae3c68f7 SHA512 c91f7bdf7f68edb6028bc282769b8c740f4eadf76ff76a1d3130638ee43d5bac13ac80c1907b1a1f1ce7f75a5211f7bb351b1f6732d6e00b23d6489fb9e17e10 +DIST firefox-135.0.1-vi.xpi 463941 BLAKE2B 10c4bc27ed3f084a0dc666d5e7f475bc342e9232da5ac80066999a69db910dc48f33d463a9a57164b92a298646162c2888d979fdb2bdc13acc1d1243c3410ba5 SHA512 5658503117647018dd58098d820f686e748120d13b08f497da5982929fd7ba23111ea1b36056c9c9d1e658e594830ee87b928c9593fd0c17572ff84fdf5ebcb1 +DIST firefox-135.0.1-xh.xpi 275833 BLAKE2B e1205d67059b0750a2250608f44f685a573e384ff33889e67045bc40dc2318708819a870b069e56f7bd6f1d89d34d7d7b1d017280b7d69a9ccb9e2ef6d979cf1 SHA512 6b628e2f9f51be63fd16201f5ad795e95d8dc5bce53ea33de15a517e70007c4634fc073a6f6216e30feb27eba01bdef5421d401c49a6765fad1efc5d8c007cd1 +DIST firefox-135.0.1-zh-CN.xpi 455588 BLAKE2B 80a380df7f7333fc27a6c1c499c778a8c6a8fd12f703cf1249d95dae43fa21336ce7455555342e20d347d5e0a99b40e161b44727014d91cc85bb07f98a0a7961 SHA512 691bbcbd01bd5ffeccdff6ede65d2ca90fcdd01a8c87bdc57afc679dbb08a91c1e2f3ddf32ea2a5d8ecbb77d8f23b74c866fec0f8d91b673f5884f7f66d04ec6 +DIST firefox-135.0.1-zh-TW.xpi 458481 BLAKE2B f8c7dfd90b89c2f59d283c5f9d9299de81a6354ebecb91557b3fc1f286550071a624f9959416f890cbf1b4d38bf2ab3d83fd4ccced1e238339b0a3b15ee7340e SHA512 388818279ba194a3de10ca2e5dce934397fc5931a943a81b163fe97caf28cb6adf2229b4c67082f41ffaa758221f258963368848ca20c2fc5f0225f1e25efb83 +DIST firefox-135.0.1.source.tar.xz 599617332 BLAKE2B a99e63f5622b3aa2cd5f686daa2fef60d82b55eea39d87b9a5b17403e8267fe5e542d73ebd32b07c80d3af5e69362fbd028bd338b5673de14b4dbbdc5034092b SHA512 9ff7c2ab6bc1660e339cdcd7745f8bdac5be25d3a79b9f0393385935270d7ef488599856bc38c22ae0b067389fa71a6999703b74804a6e0ea8265eb99788cea9 +DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B a9309d125b48988bc4e5c6989f2a1a0ee169dc7661a3d8d67d6bb32271812b2e22b885fa8384c027835ba1907fe00ad2fb8c8c1e8d87f8dafebbc9939c378edd SHA512 7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089 +DIST firefox-136-loong-patches-01.tar.xz 38508 BLAKE2B 2508fdb9de68bb90edfb3f4a15f79579cd8865cb87ef0a9073c3b740152d857b791cb53c4520a2bdc466f083e7aa6e028a90d44b61b3eea46395f62115b7272a SHA512 e4f83d6a98eb25335de80bf396bfb2d0a362e7509efa898291f524d6fbf20754a278a930d61b3b9727e6b08d8e4959b001c75c2e3f648ce70444b39950307157 +DIST firefox-136-patches-01.tar.xz 12568 BLAKE2B 9056b1c750eeb7c226bd4ff5ebdb03d491177d93bbee95552f7176903ec8796131a491c39304030370ed55281f92585422e28926b5f7491081d33912360d999f SHA512 48548637f6152fd3a72e283e3d16708a563fe84cd22d84129d5bd58f6b6baf7a6e50d521cb371ef21e7b9f95c13cc72531a3e1ab735abb70c51e5c02424fb2ca +DIST firefox-136.0-ach.xpi 295315 BLAKE2B 0fda96bd10aae73f01d47b33a48ccf16c678bbcfec98e679792d55428df54d1b43f5cf9c2c1f61fc1f427f0b965b3c7979626287e6b380bcbb83f3f84148034b SHA512 edd4e151809d6699e84e01034b3e4004785957941317bfe9f356b5c37776ff9fd04e80e558ac300d7523d9130f6c82bf7318cf14a332c51eda3f6f6a35c67c8a +DIST firefox-136.0-af.xpi 266789 BLAKE2B 863db129ce37d85769615d882b83a3c4f1763a9c610f9b2d13e81d9583b06faa2b49e585517bfee7199098adecd2f4bf2da00be0c352e9f8aa96c92f23628973 SHA512 2c00f51278d963b0ff9627fd75621d55914552455a6dd64254981f037d1cc60b0737311006be31b7c75f0d83fccedd3385f6f2ec477f0815b0f9662fc612db21 +DIST firefox-136.0-an.xpi 333332 BLAKE2B f0c0adbb05292f85bcd05df172c7d3fe31161f7a1fafdaf8afe02791c79f1f7b45464a8fd8f1d464094a1ab2e19ef24a8dc5e73536618865ecec809c2d20f9ac SHA512 79113bceaf87057153dd09051ee3f91cfd53f739876c385adf427f61313f8a71b355b9e43680b78a1c51929f35e27d336244dfc04236bea5b3714aa51bddef15 +DIST firefox-136.0-ar.xpi 431801 BLAKE2B 9fd71b89609b0c371140b4063219fac86f795d4c465291b809e3645a26c03ad7c920fd64fbec6b5aedb20b16cec555b672e3ba4213c510df69f4e63e0448d785 SHA512 b553b8a5bbf51281ec3a2c50d43247fa51e1a7ac93709b83484a2cfb10b0a3526235e7c7112c93c76688865d360c9a94a3a08a71c7f661d27ce6049d3a9335ce +DIST firefox-136.0-ast.xpi 314257 BLAKE2B 47603cf9e093e37459ca58d775a0e4cbcbf08e5b3acda9bab78de47172ff5397ccf5bc58b1d9680eececf94ccbd29b2c83d569ede1c32e5b8877ea01c0eb4437 SHA512 f0d73709d2ad631a23980ccd481ae2d677496cbfb55b22ad0ab035d1ffba4bb67e50d1e46722df6510eedf7af6d7b757c258f943a1594c52871773c90d983d16 +DIST firefox-136.0-az.xpi 319696 BLAKE2B bdeb51de0e9c92e0780b57bfadc3a6e6f20b6d0a0be5e16577bd5aa6cee17955f0e9bfdc83025afee198e15bfffbb67b53f9a20d1eed0964a05ff3bd1b78a045 SHA512 f44d18f3f7213ae7047fbbeb9247548983b63c67cb8dff40f60f8d7008bb9944a6c4b80ab9a4df7988cb1be80b39023b341338e20f3db3cc2b4ab4ff96d01826 +DIST firefox-136.0-be.xpi 513808 BLAKE2B cd94b7d0e4abf465f2eb47e8d16abf78c199140b25c333d33f98f241d4ac2a7d1d8cf0a24c842e9b3da0c953e1778a7690a12ec309dfb89ee65b6ce7b2aa26a3 SHA512 98e29f20cd46335b9cdf8aa237f32231b17c28d4d2a8f3c79d8fedbec9e3237f44ab72d6eec041fa0ffe3ab9392ab22269015a72c72d98ece85f2e92924021af +DIST firefox-136.0-bg.xpi 448912 BLAKE2B fd147851b277a23d51ba8cd4bda64bc3bed9189f92be414192f99b3f6dcd831fdf1714182de603e9bdaf2051fbaa1043d42ef7dffb27953cd11558ae16330633 SHA512 0871ac6ccf63a7c056a78156fee87a2553dd164b47216b0a8e8955dacc3b8eef6244a6da661cc57d9373ff98f1969e341624684072627412519b7075c229157c +DIST firefox-136.0-bn.xpi 414169 BLAKE2B b2a7f0bf78f3f9ba7956c96580b0f325ffc19847c1c074ceafdeb61167b57732e99fca474b946abe0d99c70249bfc3d5b88aee876aae79745704257bea696cd7 SHA512 8d0e2eebe250a23d051fbb36b188d4dd9b9940f26f17738282acac64e96086c19b446f79a6db0f350f22345dfa978b3e45d1e5c98889bd0bf4b77442f494c3ab +DIST firefox-136.0-br.xpi 394446 BLAKE2B 5b0aee632c04f0a869c342a37c64af60e3d0af96ed4c4cbb8eab6902d388d88974fbb5bdd28b3c00a23e701834d425fe28fd2f8666a87535f4ae751a9f8163f3 SHA512 350bc31361fee963d8cee0bf749f0fad2964474304aaddd468690243ec1caa59a8e0b0accc00642e079af5b7b7548deb8866bacc10ccfc63b9ff67e3eb1584f4 +DIST firefox-136.0-bs.xpi 365280 BLAKE2B 42e05111614233aeeba82567f82b37baedebc6ef378e485a51466e664679b9d71577083eae75d038457c667514638d998779b0ae767191c661f5455c5ce08e4b SHA512 1c4e890915ce6bc44839e3e536d4126c9886d8d90d9aca391aba8f605f3b89e4e37ea4970f944ef881ac57af1a2359782489502963bea8183dd8daa376905f94 +DIST firefox-136.0-ca-valencia.xpi 359656 BLAKE2B 38cdccef670a76f435d7619566ff1b3915c2ee4afc15864d98663e3730b587db9eb698dfbbd016441b91a96b2638166ddb041966c561e13752ffbc3e255cb3fe SHA512 a6a61d064e67f5fcd57041e6e01aab05ae4424a7f9e0342f4ed7dc3f1c0cd24b965df3a99cb971b4f866a1790d3772ce42a574f0845fa20c72eb4bc1884f4f96 +DIST firefox-136.0-ca.xpi 400620 BLAKE2B 6d1862a6d91398756aebe745732eea47261aaa6e6da68197242f5a668a39930ac636c5db083f184417e8176a192f9c656763642d165bb02a8ed14c7a098654cc SHA512 91691ea0ca871610a64e21dba42cdaac9505b0af692c2a3d2d9b709f42e8df99a95d2323ae956b170b548251c8e2b7619069434171a77ca6af69a671cef23e0d +DIST firefox-136.0-cak.xpi 394074 BLAKE2B 2883828b0c88ee55e64732b75dbfb1642a28e3e5be3737d043dca7dbe150c17d6aefbcac72923fbcb1a1f06f74a551b425db7838dff8a83c8863996612ef6b07 SHA512 2662ebb948ee28cb7ed07e4167978caad9889caf0d23794f08643d910f7fc3320142c6b3c7ae5efed57d09d498235153540e522285a22295c40d2cf32fc80a96 +DIST firefox-136.0-cs.xpi 468947 BLAKE2B 98545cff3dfef6a39e622ea4d97241d0bdba33220f8e3a6aae6db80046f40a494ee1843d74d5e55c6f06081d86974158141492dbf2bc6f552b5c54a55bb66cb8 SHA512 56ab5dcfac04b6ea6fc92e98acfebe17bc9d9106a83aa6eb9cbc036f55c157ba9e35ea334cfae0c7325a2997d3ad6dc228d0abf21d63e99ba456d995afe3b1b7 +DIST firefox-136.0-cy.xpi 435794 BLAKE2B ceb467ca39486ef40b84f389abd88485260748ab7f0667edb7973a4105c0bfb4b2cebe8548577fdd801d457988b8c903e9c2600a51f5af8349f627fba91dab8b SHA512 01ba6812af7047f885e0dfba453bc013aecb7ee8d66d9c9425588b8b6e91c8aab0d50592e71aa1c70630c38ce73c7cfd653598f5a4c314188329b19a65c7e28b +DIST firefox-136.0-da.xpi 425308 BLAKE2B 12f7d607b1349d74d772ec98f0a30e3a825606a2141b92b5ea2c2ab83b07dace151ecacf161bf634f72bc7eb521597fb803340ad36afa6e9b3b089ecaf2ed338 SHA512 680ab440d8949711a2335e9396c4387ed85dbfc6f4a62b592a293edf0f0cd2ae0b758aa7c605a39402733ed474b07d78e59a989388d255288e4ed22e017b193a +DIST firefox-136.0-de.xpi 446683 BLAKE2B 31c7cdc11702360a53cc92f6c60339dcbef5c6a2d2f8f42f5b517c24ac4c60bcc71c38126ccbc27e0deb898dd8f56d30a0364be979028da9ff55680ed324cc0f SHA512 9c4767f1093402e01a2443840911ff5bb63285885829dbc6d937a3b4343a6d97f44e15fd468fc9ecd1ec0bd798df6d4a9c7696ef0aef1c7c0efe5cf646b025e2 +DIST firefox-136.0-dsb.xpi 459804 BLAKE2B 49fb910ac7f741d034d8590617cc746b3157fbab02ff3095d6e0702598c234e42cb94d16c6dd352cb6ba9fb15a3caabb3a35f2b6e1ef1ac15a78ce4d08f8d5b4 SHA512 1d31e7237138ce620d418022f4870ce0c17ba57b26d6f5ac2a5a8e40511e2b4f2dbd2d151542af131457f7e675dcfde12e3d4becf61dfe3ddc835b78db696770 +DIST firefox-136.0-el.xpi 529771 BLAKE2B 3c032f65e8b3c271d337b0066a333400ac14b9818f7f7b15f696a1a36ab406f23e0658ed3ea26e00b27a6c014bd44c7da6f6c0e8789f3dd4ad7022a074ad7a33 SHA512 82a4467edcf075b87007bcf0efcf5e0db83179f957e29d7e4dd846dee23132a4792ca32977446ca59a5612caca1e6e9517d6f4f048907319f3bc192ad59fe087 +DIST firefox-136.0-en-CA.xpi 405856 BLAKE2B aa8420ef2782f02bd50d88985c975e81ca6b4f27a2f5f7c5c325911f14b4b7211cec751338b2b6a6f643e4c8a41ce9def41965d2b15c5b9dce7d9da86e28fe43 SHA512 22e39d0840f46856d2921795bfdaf8b882604406dc811d2b1cf9f52e8a3b61b163da29cda45c7b3d8c1c99c4a3e3914de9287813489be2b62e403c6bd7c3013e +DIST firefox-136.0-en-GB.xpi 406157 BLAKE2B 9646c9a4399788c491be2e56c1c1aaf335f2e3a891e82958f32fe1528e5391b31cd5a3d766e1c91228b8eb59414b5f2db7b10f04344760f6c0d75642a73f8111 SHA512 4fe63c93b7c5e048751b3ae7cc3d17e3db92a0a7440489de6d8c6c83bb7917cc62ecc8647bdec8a8d8c6a19b99874284fd2ae592cbcc4bbf7a0083e9a9205579 +DIST firefox-136.0-eo.xpi 427685 BLAKE2B 566ea60090f630cb74114b7b08d2d30617066d176fa45e37254e8ef854f921ef7d1bb96916256007cd1ce922f03245f2fbcd8b3977482e377bf40ab743e2c31d SHA512 5820e39581304eaa61743eb4e940a9fc0c49eae603cd63587ea1621a387db5dad8013d6a5087add7dd8052af0923e5cfe0cd82da0982d350a47e5225c76136ac +DIST firefox-136.0-es-AR.xpi 439717 BLAKE2B 1718258351fcc537af3a4a2d5edbae5143a2a5f00d78c2ff9abf090a92ed6d7739f5a0765cb6050a472a841a61dfd24b58660c95467abc141e2807f829c64994 SHA512 d2618c827f2f5033ac4c90387271b1e8730f7621336a4beead5c6b6776310881bc417aa4283e73c3d2b2c0bac8d342f6af2df7d4d7efd61b614eaed867b27522 +DIST firefox-136.0-es-CL.xpi 440303 BLAKE2B 710f55cc2852177f63b842eb936036d7835f55697032e16b81563ceb24812db35017ff0bbad8bc2e9b66e1b3650ff8c2e01aba7c468327bb17a054f0fdfc3187 SHA512 5ab5f80fd03d98a11d01ba1f70732f5bfd6d759c5d1e0ea44e5bc3766a650d8d916cd055d2225f09d3e43cbd657d03fe1a0eb0f175842f1ab7226262b5d5c02d +DIST firefox-136.0-es-ES.xpi 441193 BLAKE2B 137274aa951aa6fc749ebd0275ce498dd11856678addcb7bd518e22f4765631a3ade688922214dbd3ad4a39dde437f10fc84f8f2d747a3d297f6a665a4fda3a5 SHA512 86838c81769af3cbb93f2cec889d9be27da1a2ab87df9fdb85ee26961a889d35094266c8afc247e207d90b7eec59578801fa857bcc4a67f533e87926018ade09 +DIST firefox-136.0-es-MX.xpi 440818 BLAKE2B 2a67c7e57aef2e7654d256384dfaf3937cab0715f3838dda7a2c21074538e4e383e85ea50b725caec82e5b2568e23d54251327cf8af9733dc5ffccb81033928a SHA512 d8ad9eb28275250f078943b00be699df43ccdb7a4806efb0d05e6236c680c0db9dcf65d35b90827839741774a9bb2030c3ba2906431548406b03b568a80526a1 +DIST firefox-136.0-et.xpi 358262 BLAKE2B 6c85398ebf54ecd025e7dc17e045f2d6dd77b380bbac1a72dd2678ed856405ab8bd36cf59b28ec885b2692f8cc093efc15cb2db526841e9a49043af9462cdc5a SHA512 35eeb7fd189039f239cc8630a69f517b8ec1bf8cbc92157aeb39d9534e1ec9867b0cc9248d3ac85652e2a4298612bc068a58d5af0c9e9b110ac644676957f454 +DIST firefox-136.0-eu.xpi 410914 BLAKE2B c1659ffe3ee85a7284786ccf34da0179ff34d0ed08093f7306cfc03bdc7d283c5bebca64de59b96c225a6be86f0232ce45a56d1e415a8de7407d991f8e81a460 SHA512 65508f6cabae9e620d7e296c69fc7dfb1e05cd0a088865ee3d298549bc110630421cc7f0ca74e4f4b7eddaf502753152ec77123640ffce52574219d3eedf7710 +DIST firefox-136.0-fa.xpi 414725 BLAKE2B 6bb2c83a69761558f62d64630ceb08367dc898f69b778b1fbe90167d690da1dc7fce7ce21181e708cf94e5e8a4c64da6313a108cbfd4f57bc0234ee22aa30947 SHA512 dc1cbae907902dc1dac23755c7080e889b1949f09972140ae0d0cbfa9e82ed139f37f0bc84f03e1e33ebd4d44d470959bd2552f4db34c621dd5391441e57620d +DIST firefox-136.0-ff.xpi 311203 BLAKE2B e81c9a3625a77c36806b64e3a91339f0a407b577352317661fbd8330a67b5a626e3aeb5dfbf41ff73b79b14137bd846c88ffcadfabc3a8b21f0a41b3b33c22af SHA512 f5226e8b93a592bac9c1372508c954322b23c1ff7effb590108d695bdb134258221b8d375b6457e3d3b4bf1597f5ce5ea3be03e53d200c4693682600da62e346 +DIST firefox-136.0-fi.xpi 422713 BLAKE2B 4f31a6ec02f07ee4072f814d65d209861b3bd08ff5d31919b3df051c7837a0444f6ae21c15fe50f7aa82991dec1a0a8cf0642ea6d006163a9cf8fae53305d037 SHA512 17e6663d45fe9d78150cef01c0673a8e2022405f87b75b60aacead62864febf3296af9843e7cbf8966c7048742439db376c34135cf4b916e0bf74bd5537ad66b +DIST firefox-136.0-fr.xpi 452377 BLAKE2B edac56c922b4eb2eb3fb516e5031c91153b21b67387d145cc7a8c25012c135464f8e0f43087404ce95ba6df97e1387b82de49e960368324157a73365c2425eea SHA512 a0c971b12a3695ba15fd55ff0d01cf5b6588a496b744d2c57066047a66d776a5ee9c17497e041519405db1c587e8015caea23890bc6256aa2716d330a8bf265a +DIST firefox-136.0-fur.xpi 445653 BLAKE2B 5298048cd0bf5ea594038b4f75b33bea7cc8bea72449a345105eaff3dd278748afb2d8c1445e41334e496bd225de445a60c84bdc8bd36cab7c20eb5b79c4568b SHA512 fc0a41e9145ce01c3fdf7dee90c915ceca094f7943985e41cd77980565925ebf1ffd9c68ee956c0c9fb92f76638db3cb6ddea5f12a6eadc8747fe8fa5f769dfb +DIST firefox-136.0-fy-NL.xpi 436309 BLAKE2B e82f824905e10e73c37953d3efd8fd9b81bfeef304afcf0c484f02f8a419c2d0c06dfbd0a3303f22a434d4950fd990a3059ba7b2298de069a5d1b996cf2d6cef SHA512 0556e8a01b507191eea3f6e50ae89233cbe674521d2ba013a7a833f9345b6c8f4131401d044207ab95601506bd5b257ed5826ec6cbc3db3e651bb669c62b8194 +DIST firefox-136.0-ga-IE.xpi 307235 BLAKE2B e1658870113c9b87bac37e9c5c00bbb01b3bbcbad6ae1db46def3abc9b1282a754c286782ce54885dfd53687b981f91008c0576cb2461195cc403ec42fa372ff SHA512 be2bdc539c2066a74cd81c3287d77b18ad03b7d2b063e3fa04b039c982644ca18aa60681e092bc00614e5589bf9155d72bb97e809247cd0853267bdd5efc71d7 +DIST firefox-136.0-gd.xpi 402410 BLAKE2B 1938ca49fa7d46d2930c241e2249e5fb516976f28f0336c0214ee04e1120a09c49d63bd8a022ed922eeff9332f72af1914270f3ac77c9c5cc92d912b14ebb601 SHA512 0dcaf7e550ce2f6fdf12526c1a6aa7b419032ab6446e2b8f91a75f97a45ae6a94545a58f64418d3446f77878c4754eed0d44b671addd4bcb1661e708bbbb8a4c +DIST firefox-136.0-gl.xpi 406523 BLAKE2B 4c44128e5f21b2f33945aeac52ebd0ea94a01fed24c39b7ec1ed2d34563a493cf5b37b898f580710da1f7d9b163ac7090882484929eebd5c8fde7a9010fa0087 SHA512 acf2b3fdaf2c35ed083299257aa73ab27013daebce904e82a5924dacc0bc4675abc0b71ad0768c1a22d8b6addf6ad896979a291c4d86465b5503a4bfab223e94 +DIST firefox-136.0-gn.xpi 443146 BLAKE2B b45930be545bd092157419043a8a39b91a89c469b9c851ea584cb8dc8d2290fb6d0b9595be29a471686bf0e83f5f78679034fe03429c4545900dfc3b004450fd SHA512 c9bcf04edc7155852f80e1ba95407f0310c1e9666189bd9c763cc7806237c6653255de9cceaf177050e5c483475462f9ea970ad70f5a4b032c623d29ace8389b +DIST firefox-136.0-gu-IN.xpi 360251 BLAKE2B bb7fafa345a985de18d605c83863e47cbd917536a5f9c0b8514e7b1f734056314a2f973709c413291ef63e179201811ddc5bef3e4596d2064ad60a43e17a3837 SHA512 2b344c9ee0a8c6c7dae36c95c9c76b8ed845713539836e430467bea0893fd0725dd613210aba6bde0a853d7d08a7e634fcfde7dbc5f8d54b62b2390ad63287d5 +DIST firefox-136.0-he.xpi 437514 BLAKE2B 006b938e80fa7e566041d4aae352e48f95ed0d83bc2930a46fe0d571f58680efcfce5c0b7d9233d7485f69e5714f28848a03a95044ed813b4918e6a9db9d32d9 SHA512 a82d5f2a0a77d1e6333290fb3f123aa218966c7a32eb77a17aced97f668d82887d8b17513ba4e8b81da9935f620d715a9308d2eb319644fee5194e84a2241e82 +DIST firefox-136.0-hi-IN.xpi 378741 BLAKE2B ad821579e3792ba46a6e83eecd95e8760f45423daa18712abfc02b5b7cd12fba6794524064da8f1db9b1a28974fee0573a66711e26fe1c3e8e42c95ca222c15f SHA512 69b013539936a2d32da6ebaba29f221f4754a64ec4cf836e53cca4f847d57ab00f401f601b323005826e1048e48e1ceb771a06bd61dadc37120e389f63c542aa +DIST firefox-136.0-hr.xpi 430745 BLAKE2B b33b43cb162b0739a6fc92098dea8c295527d965610b36ff4a7fe6f6c60d9146717a3bfd78cb8e26a4789b871f76093a79a4abcd39a5e8c034eeb1e96f95c0d2 SHA512 a1de3fec838a37730678a534acdfe25c5c6575b419a6ae30a15b1f5943bad3a3f60925fb5cb9aa4a9d1f4d0dcb0f42c7bed3f314567e4634d51824389dc9ccf5 +DIST firefox-136.0-hsb.xpi 456429 BLAKE2B 0c7bffd5eb18d1d40373e988c0ef97594efdefbdc80e3b3a36aac06cc401c4b497252c413f1a796e3fd11c1335e1f755aaa36f9f98b09fd8287049621941fffa SHA512 534d8e034a59e53180c7b34c34021a56743abb7b4c1f0c8c9e0eea8f85506212650a77d64a678610a60eb2aeda284e01c0b65a776c8eeb8a364bf341c269243b +DIST firefox-136.0-hu.xpi 460489 BLAKE2B cb3c84ee66db5b3917d3033617a3ddc9cca4842112f0670c2dbc6297d96c17ca06cd36af5774c9b108c00cf24f0c1d36dd02bfb0722488f34caf00d16e993f71 SHA512 af3ca41f6ff82d67dc21f1a85a0b059ec5bb25ac93cb730cf205112e513f32a41a68bdc802572a88305dc20324c7ddd183835ddd7e77e29178d39c4dc4654db7 +DIST firefox-136.0-hy-AM.xpi 447328 BLAKE2B c25f107e9eaa18bec7065d6ab3c7a7db88696e45062c0b2e0f5dba9cd763b38e355080b9c44a5685f5e471fc22959608f60acb6b9bc3a850aab7a87b7dce9262 SHA512 879f96416d1b15b3ddcb13bb39990cd8d0fdfc9a3821316486dab4245da806a1471e9b8ef4883213a1a16f72e45619eab8b0e1a2801e2e4f494f3bb77ab51376 +DIST firefox-136.0-ia.xpi 424470 BLAKE2B 969540911918ccf969114d194cd562c95b5cde476f753ae68182c63a91bbc94285dbee896b3f1a73cb2efa477d2b51fe557bf029ce8146495a66b3adbe266b42 SHA512 1c3f40efd75f19e3abde7a6970fb8859f345dc8d0bd0b705192fb06c74dab081e16b344faff3e097fe764b7abdfd23a43c05b8016087557a343ff075f6f768e3 +DIST firefox-136.0-id.xpi 414321 BLAKE2B c1523c1b65745e2aa8c5513c73e729c17598f53edf75b22e6380664dc7482391ecb21ce266b8ad06fd3988b06e0cd2e1ade03f7515c97ba89077f65bafbb2f1f SHA512 e3a49e895c825179e393e91479977c4316af16c5993d9439a5879f3ba5ec439dc7ff02b0e6ff52d9d753a58bb754559616be2895031f858f70d9301fe479e19c +DIST firefox-136.0-is.xpi 429689 BLAKE2B d8f3e5656ba34156b52976f8a097424da172b1d25d5422b07ad976e4dcf0e9651b5da5b83438f367bcdbb977048f302a0bedca102b3838d17dc678a0e0e20419 SHA512 ac1fd9b05d5e9b8e613509ed5c5188bb03df77fb90c089560ea0c292822e2fa77227d8a8ed815983914ac1acb58daace4a1b787bdc3e9ac6e5173b0cedcb4d4c +DIST firefox-136.0-it.xpi 434986 BLAKE2B 9e6088f8a9bbac3e432140999b2a408c6225294715ee7d67bcc8a9b110add6285dde861ae34ca1cb210f51bf9a16e3747398bb6e148dff9c3aa5ab0f09ec9d0e SHA512 19280dadea53dd4cd74abd766cb23711cdcafc2b8bc7fc148cacb6dbbd7e7481056fea78de310df848b2bbb47214875c21a49c6eff6713ca3d645f9591f8f05e +DIST firefox-136.0-ja.xpi 475081 BLAKE2B dd0490a64127d6f9494f58182cc715f7407c321bb21ee284c662d83dc3dc032dee5afbf68c2f5deed85e6e9b75b94ac861d2532fbd76835d83394a774daf22ee SHA512 b7c5816b7d5d969411b2e20faab4fc0306cf674c16cb447cda858a66db0e7218bd27c4d410fa15065dfced8ca5ac36633e0eb9fa2092f37cecbf4f4f2a627b60 +DIST firefox-136.0-ka.xpi 487955 BLAKE2B 32f1fda4d9a539244cd3c69f235e81d069cef27d4d2c75ef7cc9e4a728f0f06f5ff1ec0d1b932f378d0a23e31d85408f9db6a643ead0fc5068c2b5d777bb633d SHA512 976741f8dfd6faf7860c84cf56cd5a753dee6fce4e4c57a0b136dbadfa452e431542e4206a6ffa818b1bcca0992111baa875219beee7d10f64e18de0f3559552 +DIST firefox-136.0-kab.xpi 414030 BLAKE2B eb9a6032693cb6220322e2f8767dd35b15895a0a82b1efc71e62ed384f25f2865a21dafebf172dd3fe87173665203cbd6cc40833a7177c096c8edc1d1c053c4a SHA512 082648c229ae1c3ad4112ea7f75e631fe87beb0b42199ce76342161d0b0be15f7f4fa0ffba61d39594c861015c5ada94ec08a7a56f0e9396d5d3025c5b759fee +DIST firefox-136.0-kk.xpi 501971 BLAKE2B dc51fff935a23931033fd30f816031f2e9b1f8bed2a265101935068e4db2ffcf26b4a445d3c8aa8e56ee81169f6e9b2f253c02625ab993c3552ad0e21675a38e SHA512 632b11174045b928e04673e410e8005f2846927ff7b3838db3afc55831386082270afaff73c4c908ab4f9117b3b5bcddd1328766a49c2f5c9c410050131be882 +DIST firefox-136.0-km.xpi 350112 BLAKE2B 48d261c6c5bd298e1cfd3b44e1105d7be693a28367091a04f9d959e7cfe3473c3800de064dbbd322d8cce1a4e6bf09309aee1e2eeedc74477ff31cd5eb794803 SHA512 73924f2bd34bdf8d93faa91201f704df2696d9b78630fea9e304d24c77db404be5edba18fe147837492a6fd2ba96aa4b54708e6767aab0417b31e918d50d2057 +DIST firefox-136.0-kn.xpi 332803 BLAKE2B c12bbc1d7159088d04cefd1e27e4b7157941db2cd5d677c4c7c75b18b4227668d34ea8f810d65a2e7c48cfdbd0eb7062b9066b142beba4d428e8ee080e99aff1 SHA512 0b46115220cee0119a1b5b8b32dfbf936b22cb1956943e3ac62a32c0859998f40dff9010113b13cd0c5d5e8a5efa4eab43488f0f9b0f24f94c98a33cea82cb90 +DIST firefox-136.0-ko.xpi 461346 BLAKE2B 410f8d3d0e7b75e3bf4c5d1e515f246bfd8e89e9d7e227be1d8193bdcd033450f4ffa939420abd269e051ae978d433131ea560e0871394926e0467e75f8dc8c1 SHA512 fcd678ab61e5e8cdb7013cc461e66051aef31c621135283d0be566e24f30789e1276f18e8e1b634ec538bacc64d406e2281f1537424d49fd74262ba96e4938d9 +DIST firefox-136.0-lij.xpi 319141 BLAKE2B bb6ad00bb731b926a3fca9ed1ccbabb7efd24210bac75f38810bcb36a7f676403cf0f63346ff9b55fe1444546ff335616e501989138139656d58b6a8c41482af SHA512 d29b8580b41e341cd47e655cc5bcac4eb9584e3b6def579fec92355c614bcc48a03069d360880cc3cafbd1562f905b09274b58966e0e610cc4667b6468512239 +DIST firefox-136.0-lt.xpi 382136 BLAKE2B 6908d26e52f541c51c7c62c7eb689c1cf1109df4b51e1489b549233dda6168dc2bdfca57540e52e8d479dfbd9da9a88201eed68315984fdb95ad35c3c9f144d4 SHA512 195cbcfe7479b2cd5f2def84e3a64bae609b695f2799883ae52f5ed34de09ff35565674f60c54b0c24b8b69f54f895cc36665f4c3b97f8a17d209db76964d004 +DIST firefox-136.0-lv.xpi 390652 BLAKE2B 0b19333ef1e973b877f005f91ab7a1ab270b18071fb7bc5fb3672ceb0c7f7f3276dbb124af44f70425e32d2d84140a2c16255285bd48710e2f27ecfbde627532 SHA512 102a663a2b38015a9f903de555ee1cc8ad4832457e7021b70cf0263fc4895389ad0358977815fa4d8eaf2e12853a8736f7df429a89f3e58f7ace6e50389cd503 +DIST firefox-136.0-mk.xpi 318444 BLAKE2B 24b6c9df0410de521e7a2d6fe853e918fb94c198d49635931c63e4a299b31d0c56557828800563fbd2ba6e40cfce63a2988c64229bebfd58b39b1d0b68be3bb2 SHA512 cb5174d6f2168a19969f0f03b6e1c6f21ec901ce58bdab25775c14bc03361c5558c8dde0b4c0f47576c517ca2f32f8b2c4d697f0021dcdac869bb429a1b4d966 +DIST firefox-136.0-mr.xpi 357286 BLAKE2B f23d0925b2814a6fbd61ead36751ffbe2e917733b96061d93cc2e3d9fce82475741dba952517ffd0200cf9b6fd6a405c6862ff16c7bb5f002efb6e2a694361f7 SHA512 4dd05c487b3b1b71377716a6e900354b1f378420d4e64812852fbfe61b25ba3fd8cc79f0ab67fb02260bd59bf70d40bc594fb0a2cbecf1b0d0177896e8174fee +DIST firefox-136.0-ms.xpi 296092 BLAKE2B 3d8dea11b1daf2363dbf8b9f97c6939f9b17ba443b97d6cc5428593840435d564484d85b6d22a96829f3bd4dd63fe5305828a033e492d799e4407aa27a72b686 SHA512 6a4dbc18c7dd691d86e8e4046e3ee21d852a95e4ced934432ce7ef3c9b26460ff3a190cad41276fda0a325c89dba85255bca2bdea1cd7b989a06341f29482370 +DIST firefox-136.0-my.xpi 344220 BLAKE2B b197a94d2ac58cb167e241e0462641224336106c22c1b510b1f0642de606fd1624a808e56b24345af251b295ff6f42633a8566aefe8186cb21a783f659607d9b SHA512 8109db7c2c8d126cb57b65d9d296d534193d87c9c69892a10d8d2e39acd836111a5f1bffc19559b5bfb43af61a7a17f3d8590aeaa02c27b7ef11f38acea56bbf +DIST firefox-136.0-nb-NO.xpi 416130 BLAKE2B 61099b7a4038b1d99eaa3c2c0b47a990edd11848bb94443148b92ee9397df70d920e456508d1b9370689cbed11c1db06f3c4bcf5ebb094a98cd5a5d35919a377 SHA512 1b5a191b0478a21009dff08184ed176e8099fe3d7b7b7114880e235210e852b6141bd78094f2a213ff78db6236146626546cacac99a0f94f761dd4621990aa18 +DIST firefox-136.0-ne-NP.xpi 350391 BLAKE2B aa647bcf423f75091dbababc8c4a5adda5717967ead3aaa9aa44a8a6eac490d6e6f3070faac233325471b1ca5fe9732da1cd8257f1596faf278f867fd3539229 SHA512 3405725e494e3f8746d0a666bc69b264bfafe70a62d8959ed63e9eba3f04706c26f1b4c7097b9126f0f4cd80e86afd818ed62f339bfe169e21664a93759c95dd +DIST firefox-136.0-nl.xpi 430395 BLAKE2B 5ad55daa44b14937f62131e199c718a3aaecb5a43967ea8c3b453941dd7427200f94cce3509f23711a46dfb829135d33fabd9e1fc11cb6933003767043fd3e5f SHA512 bbcf635fe2d291663f35005bf820eec63cc6f89a030087f62680fad90b3f156c3c7e2d02d64827c3eb917c2eb3b43ca6a969b215c7dfe183070d58039989b349 +DIST firefox-136.0-nn-NO.xpi 421303 BLAKE2B 8999d5cacfa0a21dd0b66b51a95afac1025eba88e1ec55ff8e6c76f4a78123d04ca78a76bc0057b7b2d09cf44f740471f972cd3a2c9165e8783fdd9a4b1ed876 SHA512 f91d96541e202a354b6e1107f79819a321510c9d821684861e79a12daeb5fc66ce2e28138ec598bf8ebf05eac17518391a01a4994708ec574362d9f04d0ba993 +DIST firefox-136.0-oc.xpi 415674 BLAKE2B f78288717da8792918acde0a07713a4e38bd8421e129882e4f7dd74f32b4ec9df9d00a5972051deadc8365281aa620c06d46d0a3b35eb8d840f1bb3923869a40 SHA512 6e95550402d29c5842b3827aa4cb6621295aaff0d95db73f4f8d156c9cd206c87aa3bdc06a7fe68bc6ebe33b40eeaf36f302f0771743977a0d3ea3ea3a047617 +DIST firefox-136.0-pa-IN.xpi 489845 BLAKE2B d6eaf8b3e929b611c6baa84b52115dc80668a6e8e44fccfc2d863f17a42b72494e4d218a8bab1693e255bb77dc66cf4d4a725ee925a43c524443d83cc571f84e SHA512 fdbba02652822b030f9efa7116e9e9717a4dd60ac96dc5308383e51e34484d89a90318bb1d84c3136846fad8d034af693b99c429926110e75eb21a1588d51527 +DIST firefox-136.0-pl.xpi 450695 BLAKE2B 8cac1e8ae62fdcdce0839eb9dc161e9eac9e6cd2028adf7bb0becc5b296a1a8ed8853c8a65e0988b432ba0c35962caf44fec9a32c2437f6c13a02986c3536604 SHA512 d1a31ceaf641966f188fb3c086505c93eb7c1d34b5444751ad7b278d83ed8651ebadb6e8459590d7ba8b5b913f7fcf7de1545d3a354a818d4f7ff45d093c25e0 +DIST firefox-136.0-pt-BR.xpi 434760 BLAKE2B 6c4186b3d9791ea2fcf753401f4fb192adf87c784e143b103526ee6423a07bcc2f883f8200007564e081f7f653bdaec126e46c1804dfb6cde7baa9034c1e0d38 SHA512 a70ecf779cd44f2973d3231efa9e637b6dcbadc73ba32eecac2952100d5178e45756ba6f36cc1ea96359a83e6885dd0cc44c68bcc9b73b3d0bf2373199d3f49a +DIST firefox-136.0-pt-PT.xpi 440562 BLAKE2B 7f53cb5582d713bf0f38e6a99b2be57865fb14269f1257cf346d85a30550220f33e9ef3bbed219d6ba807ccd16c1f764ea217dd0ba0dc5e8f3cb6093106df3cc SHA512 a64cc8f57a20217a5d442dd320702950764691add7b8ec9162a76544d42bdeee00b3eddbe40e7776cc13cccbb89d5c517dd3beb7d9a9ee66c75911328040f50b +DIST firefox-136.0-rm.xpi 434104 BLAKE2B 69e2fdf6d8c31e1ec5e35b6515a54a41c47fcd5b85c50327530d5e946bf04989a790888169f8f2cc733e057cfb8d20599ea81b9a41f3fbcbca8f0bbedfbe60af SHA512 3d122928c6292d4525c332ae1e610102d42efec1b72f69b9cf83ace0801ae8325303aca34b9e6f820c762e0f459ff42bff035e110de4fe8d91eef4fa180fa3ad +DIST firefox-136.0-ro.xpi 363421 BLAKE2B 065751dd554cacd96fb35bb41d86274d59ef14b5c13e221b6b2f9a44dc866e6f37acf7f7d3f425aec974b2371252b29545c6cab7fe61369bd64161a92ebba955 SHA512 7f55385a8d71b069b91dcb0504e356cf1240a8ef6d409e394745e913b819e8dab609dcf9781445374ae31ee12482d43b615588b05c5986bbddb172c7a8e492ff +DIST firefox-136.0-ru.xpi 517925 BLAKE2B 9ea359d1c3c3a1f52ba015c8875cf88cfce66cb818cdc36896bf0f4ee07309eadf37e5967d6d542d6e9dde2cf097f0d38d774f949499662b629c970eb4ac9231 SHA512 48209372f8795ecc0198acfe7285afec62ab9a01e7a3d500bd66a8263ebb5524020f16d59377044e7968569a8898a74774402f6b199239bd8cdbefbe9a346f77 +DIST firefox-136.0-sc.xpi 403792 BLAKE2B 7251595e550d865646eb68e9859dc00b341e7a00cc7980395547606eabb9d72e49222103678d022aa58b01ea482d0a0cc00cc1826936ad7e7a56ee8b2423e798 SHA512 65772095886544d21c907394c38b9677879785dd357da3a6e8bf7bf32fac611a80184d914c43099cff3eb27fedb01527dfd5fdc7a83fc147e36845a9d36c4fce +DIST firefox-136.0-sco.xpi 324885 BLAKE2B 72fc99fb43f7ca8db28284f687488886b3f5b76386aa79c1585793297cf409c0c0453486ed105d078a9abde33bb8e9f2abe7fd1b4ac6de176e41dd9da2d4eddd SHA512 9491917ce9b78e8ede17163c2bc6a7eb58f043e4c4ea6698e8a1627d21d23befe3c73305ecfaa667e5f6c9d21b122b7b1e6c6cfc48b060269fd73466ac99e4f0 +DIST firefox-136.0-si.xpi 414027 BLAKE2B bed111a876ee33a9aff8da1c30242c8cc3e12912d75c031f195641b70178ecbdcc674ac4b1320112f89d3eec9b79d14062bcf52a5a0c46075a8060b902a4bb6a SHA512 1ceb0703e083f978434a7335e5d85675ddeba4b4599aaee67ecf168079a85777f89019b978e479ff9bb06cb95c3b6106208c176b59ecd18a761becffc89345ce +DIST firefox-136.0-sk.xpi 461609 BLAKE2B a7d5aea1828fb9996aa528bb0b56a1527db95d129a81dd025874d2e69d43b71cb30bab86912a0452633c52c4dd4a93d11e7ce9b53a1f7a868a3ad59292e6a7ff SHA512 51139a25bd992dc2a0843cbf0d2e689bae0d08962329dda55090940e475c0df3a4d5d1b1b2010eea84f607203bbed949cfb0eaca57d1c66514939f472c88c852 +DIST firefox-136.0-skr.xpi 494197 BLAKE2B 9ba7a83105ed70163d3c791518833d4b9a8680f98e227875de2d9090f574d0e191f8c1c07748223314cf9d920166bbdaffd4fc3d441b0fe2654ce54a93ba75e2 SHA512 8dc1fc79358a1b4c62db63c8827382598e2a654cdd63cdd871dcfa988a797782c7ac3617c52017ba651b3a0dc4228f6bda1a9e98e30bbcbc88d9fba700584c7a +DIST firefox-136.0-sl.xpi 433461 BLAKE2B e20f9541ae5f249a2bd9371fc3c08e1c0cfd6d69cbe393feb408ac7865baf34c7e03096cdc48b74e8e38e517a3bcab7fce82c0560a0f0787018005afd5a83b22 SHA512 0ce98913ee3fbbbfd027b30d0c2a6d316d026ebd80b250cb68c0ed08c5a91b96eac29e1dc3b06547acb2a9b5da0fc6a98c6b2353d51f39bbc97467efd437ea2f +DIST firefox-136.0-son.xpi 273279 BLAKE2B caa3d19fe8e1176f4efdbe1dbeea0b192f25014d6fc5a83c598e9871811c5f6212aa06a131e98956a3d8156280187da6ef638a065374083b26c2cfbcbcab9806 SHA512 69b0a76c9d0a8a47e39ad71c42eb92048ae7ec0e13fdfed516481e7e829a6ae74177a2ce53d05ebcc76b77ac2f3299c52a1d24391ed2f68711078ea1da917fe2 +DIST firefox-136.0-sq.xpi 449802 BLAKE2B 8ba19d3935dc85fd6d84539a6fcd8e2105be6b8d3b23a9403940c9485e9e71d6cd7d6f62eb1f602322cb299b43ee2bfdee0a0acda9c8dce641353eefa1109c98 SHA512 3444c40406f7aad89bba3764292edae35f1f36e1bdb33755d6ffb58141025e36701966f0bdf87a37aa9ee85b9b6fec3c27e7961abc257cae72cd78f73781c495 +DIST firefox-136.0-sr.xpi 456464 BLAKE2B 890cace6fd48fdcabfafa5876ad42c4e04260733e5dd4bdacfbeade549822129d024ee7227e63707e7f60d71f18be1fbf40cdcdff9bcf77f9eabb54e924a3ea8 SHA512 962bd01f07fd498efd1f00f558a9c08d4eff33e45fc22af4d3943cc2c3bfa0ec772b64a8528366a024bca03f835aaca08431992a1b4d8a7fe617b88d25ed418a +DIST firefox-136.0-sv-SE.xpi 430474 BLAKE2B 42a9c591967abe16cc070db19390d44f0fd277de4f86e02c31bfcc9ffe51a2714acaf96243d258d3d6a811d9be68ebce91c41dfb8f7bd1ea986b2081e5857c2c SHA512 c43bd5a935fc24f593cde9be17791b827e0a9d19117b65b770f10d830bf1b9e9b3f9aa36be93f69db5ea669f39c9ec5e71c86c9961ca371c700376bd0c3b1ea6 +DIST firefox-136.0-szl.xpi 344447 BLAKE2B 164952698b365c8bb85367fbc46fabcb5d528ca64a27c4f436682188536d684cf7810748d3181d74f454e45e9c86d888297b03f89e1d8c102042b56fda36a138 SHA512 d8855a80df2a45a61992a78bea4601e1ec4c2f082c78afaabe46c9c33d138652f50079540419e61579a9b22e1b7649fd3749e98d3761cca3b3fcbd8757534933 +DIST firefox-136.0-ta.xpi 338588 BLAKE2B 183ec42483bd7346eafd8ae74c6b8749de97e973623244feeb1f445d66f2e497f8707b9058ba144d7293e840567b24e39d2b78578f416818941a17be1321cd00 SHA512 01082bd5df962402652c0396c10139906a802e9b769dd59461e521ec99a25d1980ddfc2a874ad7833efa9aaba1acd66c18713d0b2334ad336cba19a5e55710a7 +DIST firefox-136.0-te.xpi 384066 BLAKE2B 11df17668e3915be13db59647e94eecca0049b9b418babb3c97c960059f7c49850546e0e865f80a62c706d9db736d5cd403404d9d3b9aa135c9937f401763835 SHA512 1ff10790bef001d7e6ffd9c97db37f887cdd84df8e3fcdf6440ba47f91f24969694a92c3a6a7604563c1ae77f6283dd3f2f326797c6fd95c532ba2a1a7b69e8c +DIST firefox-136.0-th.xpi 499244 BLAKE2B 5ae3066449b8455b0258295e98e77c7e93096437ebe16f3509bbcc4f78b9d76f26785edf372a4046d6792a21ab65dbbd46eb2c29ac780aaf4f7f672be0415838 SHA512 7a0b3bddabdc388eaa621c80901fe3238fe0aa4410561195353e0bb4f92fe1506df84ecea96884c3b32574f0df7b8e0d7616aea7076241d18d5368ddf2181108 +DIST firefox-136.0-tl.xpi 351833 BLAKE2B 7d5fe613a9f02d309bc200bd97f0e9634310600f93fb182bfa8ffa39efa2355815a1fee01b3a016e0e6e49be9c07d17a55d4871a99044a00b91b5b5709aed3d4 SHA512 6fa679b1fbebddb163a9c256ed86751d944f74b4933ce2e661dd8128955f69519290af6899c5075011ed8abab30f5210e1a311200b732ad0d24ac42dc1c209a6 +DIST firefox-136.0-tr.xpi 442282 BLAKE2B 5af3d410bfa03c353b1a4a8acbc8534f07b5f68f44c66e6785d3f8f3aff9f0113b534b07bee7ce19668910f725416482f4797d8349b26e1113e4381d494fa810 SHA512 d2e94ffc56f5624626fb77e93eb906972f571bdea66e4433ac6b0fc2b2ec31e705e780090e1a319bc614acb8b735d2f27d11467be3ed92c1e4262e58bf999e7b +DIST firefox-136.0-trs.xpi 323924 BLAKE2B f43fabdafbf8b5cbeaf47cc28b55945b0289157e3744411d498038bbd3aca872aa6527cc6844a804351c4eb5522d8c9aaed6dba3e4f3652e57c4ef166516f356 SHA512 6e52e673f63b8d7c024f0c43f8e77e8f450a693471eda7dcbd170432d3ea227d253bc1e5d845c6f6e0d561f9bbb87171975d013564751f3c72f936c8ca43bfa0 +DIST firefox-136.0-uk.xpi 508666 BLAKE2B 1ebf50de4621451dac2f991ede68b895c4356dbda41e4baec0295dc610da808d39165e59a96d68ebb6270690b141c5675256c6556818c4b01a566fec6f8cbaec SHA512 f04b49f639d6232b11a611a8f87065961a4dc4400a1b42dafbb8bdf9b5ccf31342f6008d739b5b935409063bab933366361f918918bca87446d4aecfb6e90757 +DIST firefox-136.0-ur.xpi 371888 BLAKE2B 6d79a1cd2a38f1a409cb5060cea86270c2b62f5ec255a93a6f0ead9ddf7bb4baf140ab715c982c748e5acbcdeae87bef60e858f8b329efa3c122f99826f17ab2 SHA512 f0f10689e0a7b90ea8ccb17dca5fb4181d9854d427fecb88d23af5295dac710e1326d30eedd04c517ca351e5211fc0ed8ae197b3f2e7dd0c04d255bff6d1a4fa +DIST firefox-136.0-uz.xpi 305440 BLAKE2B 7da1080018a8244cd59a33cffccec8e777757c7bfa9ee4f5ea4ecfa25d1b11d645792e4fab1fd59d6d422e88b57c80e280790cabf0dcb075e7d5270ca892bff5 SHA512 aa05294d4a87a158e298b987781355413d0bc494dff8fbb9318e585064f7943ad453a86351b5fd001a07f76b0e2352bf933effa43797bd58d0e3472a8c349069 +DIST firefox-136.0-vi.xpi 463346 BLAKE2B a6cf4482db5c4de4287dcfd588deab08d318df43eefba780ac3b641488e2bb658bd860cc6e808499fa89e19c0e0ffba9a81e44b36ac4f333b03d5b3b17dd20fa SHA512 ab49772a25d298508ce0c3d9adda0d324bc4b1f2efc2fa4fe6eb6e524940013d8e53a4ccca56308004066fafd0fb9839302dda74a27954a0b9bf08e158fc21b4 +DIST firefox-136.0-xh.xpi 273270 BLAKE2B 84b39837494eb27e02c1218d571a42bc36cc0b8a5ad638a066d3df2da745361c77edf7207402a924dcfdcb4d55980782b8cef3257a90ddb9236670102c6d4b51 SHA512 0ff9f15230d88e89e281e6b10b0cc7fa5d5fd018dd187490ec684d8c37f0a417b4e21cfd672bba5baca10f77401c0fcbd6a22e6e545190fda4bdf673d21f5c80 +DIST firefox-136.0-zh-CN.xpi 454853 BLAKE2B a42369fd948e6b1a2eda3cb26e7ded75369b15fb75c5ed9e6ffb0479bdb6f684fb76d791dd29bc558023d7a696c09938dc04ccf6344391a30f48a8278d8961ba SHA512 60b0499e8dd17f2b9fd2f7176539de470ce2e2b407dec386b3f045d0479cb5f5a6712455ae5fb053f2936c2149d7532cb250b691f55679d64b2969b2923a62a9 +DIST firefox-136.0-zh-TW.xpi 457684 BLAKE2B 5c2714f86e81806d8dc8dcd5f4d874a0dda090213d8ccbc621492cb9f48b1b35fcabe7eb88b7d4468b54863a1b0e3ae00d2125d09b748d11c8f4a3b10ebbc890 SHA512 b7646c4696b16f560254f0454ff279ab11a1fd0d2f03270935c21294094f32b2a0d2f0a022f6e2561fd7d727982dfb62af4aefebc2a8713d1a8c690c974c795f +DIST firefox-136.0.source.tar.xz 603708216 BLAKE2B 05f92682dc756998f1dd56cdbbf8a90a45cade9d8541e83edbbef07ce4cb66e6a3bfdef5e59bd824b2d6b13c49c6a587e9302779064deecd68ba6dbaf9300f9b SHA512 a2b7e74e8404138b294f7b3c5f1eaeaeb8ce84c9aad25379e8ec785a9686f42def9f8c119d4bc276dd371d13d7bebbe4b1b092af41500aa8c2b2c827971445b4 +DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f +DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766 diff --git a/www-client/firefox/files/README.gentoo b/www-client/firefox/files/README.gentoo new file mode 100644 index 0000000..56eb1fd --- /dev/null +++ b/www-client/firefox/files/README.gentoo @@ -0,0 +1,20 @@ + +## DoH +Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH): +Due to privacy concerns (encrypting DNS might be a good thing, sending all DNS +traffic to Cloudflare by default is not a good idea and applications should +respect OS configured settings), "network.trr.mode" was set to 5 ("Off by +choice") by default. +You can enable DNS-over-HTTPS in Firefox's preferences. + + +## Normandy +Upstream operates a service named Normandy which allows Mozilla to push changes +for default settings or even install new add-ons remotely. While this can be +useful to address problems like 'Armagadd-on 2.0' or revert previous decisions +to disable TLS 1.0/1.1, privacy and security concerns prevail, which is why we +have switched off the use of this service by default. + +To re-enable this service set the following in "about:config": + app.normandy.enabled=true + diff --git a/www-client/firefox/files/disable-auto-update.policy.json b/www-client/firefox/files/disable-auto-update.policy.json new file mode 100644 index 0000000..f366220 --- /dev/null +++ b/www-client/firefox/files/disable-auto-update.policy.json @@ -0,0 +1,5 @@ +{ + "policies": { + "DisableAppUpdate": true + } +} diff --git a/www-client/firefox/files/distribution.ini b/www-client/firefox/files/distribution.ini new file mode 100644 index 0000000..680512e --- /dev/null +++ b/www-client/firefox/files/distribution.ini @@ -0,0 +1,42 @@ +[Global] +id=gentoo +version=1.0 +about=Mozilla Firefox for Gentoo +about.de=Mozilla Firefox für Gentoo + +[Preferences] +app.distributor="gentoo" +app.distributor.channel="gentoo" +startup.homepage_welcome_url="https://www.gentoo.org/" + +[BookmarksToolbar] +item.1.type=default +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ + +[BookmarksMenu] +item.1.title=Gentoo +item.1.type=folder +item.1.folderId=1 + +[BookmarksFolder-1] +item.1.title=Gentoo Linux +item.1.link=https://www.gentoo.org/ +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ diff --git a/www-client/firefox/files/firefox-r1.sh b/www-client/firefox/files/firefox-r1.sh new file mode 100644 index 0000000..853a4ef --- /dev/null +++ b/www-client/firefox/files/firefox-r1.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +## +## Usage: +## +## $ firefox +## +## This script is meant to run Mozilla Firefox in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_FIREFOX_FILE="firefox" + +if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + if [[ -d ${SECONDARY_LIB_DIR} ]]; then + echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + fi + exit 1 + fi + MOZ_LIB_DIR="${SECONDARY_LIB_DIR}" +fi +MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the browser +exec ${MOZ_PROGRAM} "${@}" diff --git a/www-client/firefox/files/gentoo-default-prefs.js b/www-client/firefox/files/gentoo-default-prefs.js new file mode 100644 index 0000000..7967cb3 --- /dev/null +++ b/www-client/firefox/files/gentoo-default-prefs.js @@ -0,0 +1,14 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("browser.urlbar.hideGoButton", true); +pref("browser.shell.checkDefaultBrowser", false); +pref("browser.EULA.override", true); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("intl.locale.requested", ""); +/* Disable DoH by default */ +pref("network.trr.mode", 5); +/* Disable use of Mozilla Normandy service by default */ +pref("app.normandy.enabled", false); +/* Disable remote-settings from permissions manager by default but don't lock it + so corporations can easily turn it back on if there's demand for that */ +pref("permissions.manager.remote.enabled", false); diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js b/www-client/firefox/files/gentoo-hwaccel-prefs.js new file mode 100644 index 0000000..a00144a --- /dev/null +++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js @@ -0,0 +1,3 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("layers.acceleration.force-enabled", true); +pref("webgl.force-enabled", true); diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-r2 b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r2 new file mode 100644 index 0000000..fc561d0 --- /dev/null +++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r2 @@ -0,0 +1,6 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("gfx.webrender.all", true); +pref("layers.acceleration.force-enabled", true); +pref("layers.gpu-process.enabled", true); +pref("media.hardware-video-decoding.enabled", true); +pref("webgl.force-enabled", true); diff --git a/www-client/firefox/files/gentoo-telemetry-prefs.js b/www-client/firefox/files/gentoo-telemetry-prefs.js new file mode 100644 index 0000000..4efa6b5 --- /dev/null +++ b/www-client/firefox/files/gentoo-telemetry-prefs.js @@ -0,0 +1,18 @@ +/* Include strong telemetry blockage via '-telemetry' use flag, many settings are + from arkenfox/user.js */ +pref("datareporting.policy.dataSubmissionEnabled", false); +pref("datareporting.healthreport.uploadEnabled", false); +pref("toolkit.telemetry.unified", false); +pref("toolkit.telemetry.enabled", false); +pref("toolkit.telemetry.server", "data:,"); +pref("toolkit.telemetry.archive.enabled", false); +pref("toolkit.telemetry.newProfilePing.enabled", false); +pref("toolkit.telemetry.shutdownPingSender.enabled", false); +pref("toolkit.telemetry.updatePing.enabled", false); +pref("toolkit.telemetry.bhrPing.enabled", false); +pref("toolkit.telemetry.firstShutdownPing.enabled", false); +pref("toolkit.telemetry.coverage.opt-out", true); +pref("toolkit.coverage.opt-out", true); +pref("toolkit.coverage.endpoint.base", ""); +pref("toolkit.telemetry.dap_helper", ""); +pref("toolkit.telemetry.dap_leader", ""); diff --git a/www-client/firefox/files/icon/firefox-r2.desktop b/www-client/firefox/files/icon/firefox-r2.desktop new file mode 100644 index 0000000..45d5f11 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-r2.desktop @@ -0,0 +1,236 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Web Browser +Comment=Browse the Web +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید‌ +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួច​​​ថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=@EXEC@ --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួច​ឯកជន​ថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=@EXEC@ --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/www-client/firefox/files/icon/firefox-r3.desktop b/www-client/firefox/files/icon/firefox-r3.desktop new file mode 100644 index 0000000..8219e93 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-r3.desktop @@ -0,0 +1,236 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Web Browser +Comment=Browse the Web +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید‌ +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួច​​​ថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=@EXEC@ --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួច​ឯកជន​ថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=@EXEC@ --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/www-client/firefox/files/icon/firefox-symbolic.svg b/www-client/firefox/files/icon/firefox-symbolic.svg new file mode 100644 index 0000000..2078eea --- /dev/null +++ b/www-client/firefox/files/icon/firefox-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + Gnome Symbolic Icon Theme + + diff --git a/www-client/firefox/firefox-128.7.0.ebuild b/www-client/firefox/firefox-128.7.0.ebuild new file mode 100644 index 0000000..93f425d --- /dev/null +++ b/www-client/firefox/firefox-128.7.0.ebuild @@ -0,0 +1,1380 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || tc-is-lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-128.8.0.ebuild b/www-client/firefox/firefox-128.8.0.ebuild new file mode 100644 index 0000000..d422aab --- /dev/null +++ b/www-client/firefox/firefox-128.8.0.ebuild @@ -0,0 +1,1380 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-09.tar.xz" + +LLVM_COMPAT=( 20 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || tc-is-lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + if use amd64 || use arm64 || use ppc64 || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-135.0.1.ebuild b/www-client/firefox/firefox-135.0.1.ebuild new file mode 100644 index 0000000..9ec4371 --- /dev/null +++ b/www-client/firefox/firefox-135.0.1.ebuild @@ -0,0 +1,1380 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-135-patches-02.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-135-loong-patches-01.tar.xz" + +LLVM_COMPAT=( 20 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.71" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + ) + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-135.0.ebuild b/www-client/firefox/firefox-135.0.ebuild new file mode 100644 index 0000000..122bce2 --- /dev/null +++ b/www-client/firefox/firefox-135.0.ebuild @@ -0,0 +1,1380 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-135-patches-02.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-135-loong-patches-01.tar.xz" + +LLVM_COMPAT=( 20 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.71" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + ) + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-136.0.ebuild b/www-client/firefox/firefox-136.0.ebuild new file mode 100644 index 0000000..0eba7b1 --- /dev/null +++ b/www-client/firefox/firefox-136.0.ebuild @@ -0,0 +1,1376 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-136-patches-01.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.tar.xz" + +LLVM_COMPAT=( 20 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + ) + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + use system-av1 && append-ldflags "-laom" + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml new file mode 100644 index 0000000..54c4458 --- /dev/null +++ b/www-client/firefox/metadata.xml @@ -0,0 +1,44 @@ + + + + + mozilla@gentoo.org + Gentoo Mozilla Team + + + Use Clang compiler instead of GCC + Disable EME (DRM plugin) capability at build time + Allow Gecko Media Plugins (binary blobs) to be automatically + downloaded and kept up-to-date in user profiles + Integrate with gnome-base/gnome-shell search + Force-enable hardware-accelerated rendering (Mozilla bug 594876) + Enable unified build - combines source files to speed up build process, but requires more memory + Enable libproxy support + Use media-libs/openh264 for H264 support + instead of downloading binary blob from Mozilla at runtime + Add support for profile-guided optimization for faster binaries - this + option will double the compile time + Add sound server support via media-libs/libpulse (may be PulseAudio or + Pipewire, or apulse if installed) + Enable support for the media-sound/sndio backend + Use the system-wide media-libs/dav1d + and media-libs/libaom library instead of bundled + Use the system-wide media-libs/harfbuzz + instead of bundled and media-gfx/graphite2 in most cases + Use the system-wide dev-libs/icu + instead of bundled + Use the system-wide media-libs/libjpeg-turbo + instead of bundled + Use the system-wide dev-libs/libevent + instead of bundled + Use the system-wide media-libs/libvpx + instead of bundled + Use the system-wide media-libs/libpng + instead of bundled (requires APNG patches) + Use the system-wide media-libs/libwebp + instead of bundled + Sandbox certain third-party libraries through WebAssembly using RLBox + Enable necko-wifi for NetworkManager integration, and access point MAC + address scanning for better precision with opt-in geolocation services + + diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest new file mode 100644 index 0000000..63a59a4 --- /dev/null +++ b/www-client/seamonkey/Manifest @@ -0,0 +1,3 @@ +DIST seamonkey-2.53.20-patches.tar.gz 174183 BLAKE2B 3716d9a0c69ea29368b9e3033303fd3cf68ca54f9f45a7eecdd460afcf68bab7bc48eb4f0ff3724f959fc1e2f32ccdadf3076cd34dd5141b8122d918b8c88e60 SHA512 efe4c0c36facf962876d0d23199a6821801add065473849ae3163ec9d3d43bdb283c722e13f8258a08ad4c4b6259ad471449446c1529d31a63812c6d4871c4f0 +DIST seamonkey-2.53.20.source-l10n.tar.xz 13727360 BLAKE2B def3fd3b336a936433b620b1c37e823d5ebbd68eba42349cde35986966028e9e391e299ad1d6a1f55f5513a5ca7fce345ba277a83f4107c7277f3d9671f4913e SHA512 f2a43cfe445dab734b40d157508fcdd3d84ebd8ccc5d869a66320d19a88a13327912934722949ce0d1987061d4807b1b630c91785f7d32a7496772daec46babb +DIST seamonkey-2.53.20.source.tar.xz 248121808 BLAKE2B c3a5ed80b7328627eb074a2951b873a440c3a932b7e0257fa4a0e0182e0eb487582e503c2e87ce3077bd700c211e13020954a07d6bdfa4cb23a9a416671710b8 SHA512 46902da181a0de773517645979d4bb5a1943f1cc1b61a839a4902ee1ac0a6fd62f2acf18078871c08b6f53ea9a62d91a2a6d610a672748495b261b1d8bd76865 diff --git a/www-client/seamonkey/files/all-gentoo-1.js b/www-client/seamonkey/files/all-gentoo-1.js new file mode 100644 index 0000000..448287a --- /dev/null +++ b/www-client/seamonkey/files/all-gentoo-1.js @@ -0,0 +1,20 @@ +pref("browser.display.use_system_colors", true); +pref("general.smoothScroll", true); +pref("general.useragent.vendor", "Gentoo"); +pref("general.useragent.vendorSub", "SEAMONKEY_PVR"); +pref("update_notifications.enabled", false); + +pref("app.update.enabled", false); +pref("app.update.autoInstallEnabled", false); +pref("browser.link.open_external", 3); +pref("general.autoScroll", false); +pref("browser.tabs.tabMinWidth", 15); +pref("browser.backspace_action", 0); +pref("accessibility.typeaheadfind", true); +pref("browser.EULA.override", true); +pref("intl.locale.matchOS", true); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("extensions.autoDisableScopes", 0); +pref("layout.css.dpi", 0); +pref("browser.tabs.mouseScrollAdvancesTab", 0); +pref("app.updatecheck.override", true); diff --git a/www-client/seamonkey/files/seamonkey.desktop b/www-client/seamonkey/files/seamonkey.desktop new file mode 100644 index 0000000..1b1dd7a --- /dev/null +++ b/www-client/seamonkey/files/seamonkey.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=SeaMonkey +Comment=SeaMonkey Suite +Exec=seamonkey %u +Icon=seamonkey +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +Categories=Network;WebBrowser; +StartupNotify=true diff --git a/www-client/seamonkey/metadata.xml b/www-client/seamonkey/metadata.xml new file mode 100644 index 0000000..8b4a210 --- /dev/null +++ b/www-client/seamonkey/metadata.xml @@ -0,0 +1,32 @@ + + + + + gentoo-bugs@habets-dobben.nl + Myckel Habets + + + mozilla@gentoo.org + Gentoo Mozilla Team + + + BioMike/gentoo-seamonkey-patches + + + Build Mozilla's IRC client (default on) + Build with user-specified compiler optimizations (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported) + Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles + Use inter-process communication between tabs and plugins. Allows for greater stability in case of plugin crashes + Enable Link Time Optimization (LTO). Requires Gold linker + Use the system-wide media-libs/dav1d and media-libs/libaom library instead of bundled + + Use the system-wide media-libs/harfbuzz instead of bundled + Use the sytem-wide dev-libs/icu instead of bundled + Use the system-wide media-libs/libjpeg-turbo instead of bundled + Use the system-wide dev-libs/libevent instead of bundled + Use the system-wide media-libs/libvpx instead of bundled + Use the system-wide media-libs/libpng instead of bundled (requires APNG patches) + Use the system-wide dev-db/sqlite installation with secure-delete enabled + Enable WebRTC support. Disabled by default due to privacy concerns. + + diff --git a/www-client/seamonkey/seamonkey-2.53.20.ebuild b/www-client/seamonkey/seamonkey-2.53.20.ebuild new file mode 100644 index 0000000..b376b5c --- /dev/null +++ b/www-client/seamonkey/seamonkey-2.53.20.ebuild @@ -0,0 +1,540 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOCONF="2.1" + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' + +LLVM_COMPAT=( 20 ) + +# This list can be updated with scripts/get_langs.sh from the mozilla overlay +# note - could not roll langpacks for: ca fi +#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT +# ru sk sv-SE tr uk zh-CN zh-TW) +MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT + ru sk sv-SE zh-CN zh-TW) + +MOZ_PV="${PV}" +MOZ_PV="${MOZ_PV/_beta/b}" +MOZ_P="${P}" +MY_MOZ_P="${PN}-${MOZ_PV}" +PATCH_PV="2.53.20" +PATCH="${PN}-${PATCH_PV}-patches" +PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" + +DESCRIPTION="Seamonkey Web Browser" +HOMEPAGE="https://www.seamonkey-project.org/" + +SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz + https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz + https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" + +S="${WORKDIR}/${MY_MOZ_P}" + +MOZ_GENERATE_LANGPACKS=1 +MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" +inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ + rust toolchain-funcs xdg-utils + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) +IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack +pulseaudio selinux startup-notification test webrtc wifi" +IUSE+=" ${SYSTEM_IUSE[@]}" + +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/unzip + app-arch/zip + >=dev-lang/nasm-2.13 + dev-lang/perl + dev-util/cbindgen + >=sys-devel/binutils-2.16.1 + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + virtual/pkgconfig + amd64? ( >=dev-lang/yasm-1.1 ) + x86? ( >=dev-lang/yasm-1.1 ) +" +COMMON_DEPEND=" + app-arch/bzip2 + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.26:2 + >=dev-libs/libffi-3.0.10:= + >=dev-libs/nspr-4.23 + >=dev-libs/nss-3.47.1 + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + >=media-libs/mesa-10.2:= + >=sys-libs/zlib-1.2.3 + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + x11-libs/libxcb:= + >=x11-libs/pango-1.22.0 + x11-libs/pixman + media-video/ffmpeg + virtual/freedesktop-icon-theme + dbus? ( + >=dev-libs/dbus-glib-0.72 + >=sys-apps/dbus-0.60 + ) + jack? ( virtual/jack ) + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + pulseaudio? ( || ( + media-libs/libpulse + >=media-sound/apulse-0.1.9 + ) ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + system-av1? ( + >=media-libs/dav1d-0.3.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.9-r1 + >=media-libs/harfbuzz-1.3.3:0= + ) + system-icu? ( >=dev-libs/icu-59.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) + system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) + wifi? ( + kernel_linux? ( + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager + >=sys-apps/dbus-0.60 + ) + ) +" +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-mozilla ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto + amd64? ( virtual/opengl ) + x86? ( virtual/opengl ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 +) + +# allow GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) + +BUILD_OBJ_DIR="${S}/seamonk" + +pkg_setup() { + if [[ ${PV} == *_beta* ]] ; then + ewarn + ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" + ewarn "Gentoo's Bugtracker against this package in case it breaks for you." + ewarn "Those belong to upstream: https://bugzilla.mozilla.org" + fi + + llvm-r1_pkg_setup + einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + + rust_pkg_setup + moz_pkgsetup +} + +pkg_pretend() { + # Ensure we have enough disk space to compile + if tc-is-lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +spkg_setup() { + # Ensure we have enough disk space to compile + if tc-is-lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +src_unpack() { + local l10n_sources="${MY_MOZ_P}.source-l10n.tar.xz" + unpack ${A/ ${l10n_sources}} + + mkdir "${S}/${P}-l10n" || die + cd "${S}/${P}-l10n" || die + unpack ${l10n_sources} +} + +src_prepare() { + # Apply our patches + eapply "${PATCH_S}/${PN}" + + # Shell scripts sometimes contain DOS line endings; bug 391889 + grep -rlZ --include="*.sh" $'\r$' . | + while read -r -d $'\0' file ; do + einfo edos2unix "${file}" + edos2unix "${file}" + done + + if use system-libvpx ; then + eapply "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" + fi + + # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) + if use x86 ; then + eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" + fi + + # Patch for people who use their systems ICU 74 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Fix wrong include, as suggested by SM upstream. + sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ + -i extensions/spellcheck/src/mozSpellChecker.h || die + + # Ensure that are plugins dir is enabled as default + sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ + xpcom/io/nsAppFileLocationProvider.cpp || die + + # Don't exit with error when some libs are missing which we have in + # system. + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ + -i comm/suite/installer/Makefile.in || die + # Don't error out when there's no files to be removed: + sed 's@\(xargs rm\)$@\1 -f@' \ + -i toolkit/mozapps/installer/packager.mk || die + + # Don't build libs-% locale files for chatzilla if we are not building chatzilla + # (this is hard-coded in the build system at present rather than being based on configuration) + if ! use chatzilla ; then + sed '/extensions\/irc\/locales libs-/s@^@#@' \ + -i comm/suite/locales/Makefile.in || die + fi + + eautoreconf old-configure.in + cd js/src || die + eautoconf old-configure.in +} + +src_configure() { + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc + + ###################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + ###################################### + + mozconfig_init + + ################################## + # Former mozconfig_config() part # + ################################## + + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' --with-system-bz2 + mozconfig_annotate 'system_libs' --with-system-zlib + mozconfig_annotate 'system_libs' --enable-system-pixman + + # Disable for testing purposes only + mozconfig_annotate 'Upstream bug 1341234' --disable-stylo + + mozconfig_annotate 'Enable by Gentoo' --enable-release + + # Broken on PPC64, but outdated and should not be used according to upstream. + mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc + + # Sandbox build is broken on PPC64 https://bugs.gentoo.org/836319 comment 56 + if use ppc64; then + mozconfig_annotate 'Disabled on ppc64' --disable-content-sandbox + fi + + # Debug is broken, disable debug symbols + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus ; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr + mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) + if use system-libevent ; then + mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate '' --with-intl-api + + # default toolkit is cairo-gtk3, optional use flags can change this + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 + + # Instead of the standard --build= and --host=, mozilla uses --host instead + # of --build, and --target intstead of --host. + # Note, mozilla also has --build but it does not do what you think it does. + # Set both --target and --host as mozilla uses python to guess values otherwise + mozconfig_annotate '' --target="${CHOST}" + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_annotate '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-av1 + + # Modifications to better support ARM, bug 553364 + if use cpu_flags_arm_neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die + fi + fi + + if tc-ld-is-lld ; then + mozconfig_annotate "using ld=lld due to system selection." --enable-linker=lld + else + mozconfig_annotate "linker is set to bfd." --enable-linker=bfd + fi + + if tc-is-lto ; then + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_annotate '+lto' --enable-lto=full + fi + + ################################## + # Former mozconfig_config() end # + ################################## + + # enable JACK, bug 600002 + mozconfig_use_enable jack + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Linking fails without this due to memory exhaustion + use x86 && append-ldflags "-Wl,--no-keep-memory" + + # Setup api key for location services + printf '%s' "${_google_api_key}" > "${S}"/google-api-key + mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" + mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" + + mozconfig_use_enable chatzilla irc + mozconfig_annotate '' --enable-dominspector + + # use startup-cache for faster startup time + mozconfig_annotate '' --enable-startupcache + + # Elf-hack is known to be broken on multiple archs. + # Disable it by default, because on the archs that still work, + # it also gives more problems than it solves. + # https://bugs.gentoo.org/851933 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 + if use x86 || use arm64 || use arm || use amd64 ; then + mozconfig_annotate 'elf-hack is broken' --disable-elf-hack + fi + + # Disabled by default. See bug 836319 , comment 17. + if ! use webrtc ; then + mozconfig_annotate "disabled by Gentoo" --disable-webrtc + fi + + # Use an objdir to keep things organized. + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die + echo "ac_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die + + mozlinguas_mozconfig + + # Finalize and report settings + mozconfig_final + + # Work around breakage in makeopts with --no-print-directory + MAKEOPTS="${MAKEOPTS/--no-print-directory/}" + + if use amd64 || use x86 ; then + append-flags -mno-avx + fi + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # workaround for funky/broken upstream configure... + export SHELL="${SHELL:-${EPREFIX}/bin/bash}" + #emake V=1 -f client.mk configure + ./mach configure || die +} + +src_compile() { + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ + #emake V=1 -f client.mk + ./mach build --verbose || die + + mozlinguas_src_compile +} + +src_install() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + DICTPATH="\"${EPREFIX}/usr/share/myspell\"" + + local emid + pushd "${BUILD_OBJ_DIR}" &>/dev/null || die + + # Pax mark xpcshell for hardened support, only used for startupcache creation. + pax-mark m dist/bin/xpcshell + + # Copy our preference before omnijar is created. + sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + # Set default path to search for dictionaries. + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ + >> dist/bin/defaults/pref/all-gentoo.js \ + || die + + echo 'pref("extensions.autoDisableScopes", 3);' >> \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + local plugin + if ! use gmp-autoupdate ; then + for plugin in "${GMP_PLUGIN_LIST[@]}" ; do + echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ + dist/bin/defaults/pref/all-gentoo.js || die + done + fi + + popd &>/dev/null || die + + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ + #emake DESTDIR="${D}" install + DESTDIR="${D}" ./mach install || die + MOZ_P="${MY_MOZ_P}" mozlinguas_src_install + + cp "${FILESDIR}"/${PN}.desktop "${T}" || die + + sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ + -i "${T}"/${PN}.desktop || die + sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ + || die + + # Install icon and .desktop for menu entry + newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png + domenu "${T}"/${PN}.desktop + + # Required in order to use plugins and even run seamonkey on hardened. + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} + + if use chatzilla ; then + local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' + + # remove the en_US-only xpi file so a version with all requested locales can be installed + if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then + rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die + fi + + # merge the extra locales into the main extension + mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla + + # install the merged extension + mkdir -p "${T}/${emid}" || die + cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die + insinto ${MOZILLA_FIVE_HOME}/extensions + doins -r "${T}/${emid}" + fi + + # Provide a place for plugins + keepdir "${MOZILLA_FIVE_HOME}/plugins" + + # revdep-rebuild entry + insinto /etc/revdep-rebuild + echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die + doins "${T}"/11${PN} +} + +pkg_preinst() { + SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" + + if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then + rm "${SEAMONKEY_PLUGINS_DIR}" || die + fi +} + +pkg_postinst() { + # Update mimedb for the new .desktop file + xdg_desktop_database_update + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${GMP_PLUGIN_LIST[@]}"; do + elog "\t ${plugin}" ; + done + fi + + if use chatzilla ; then + elog "chatzilla is now an extension which can be en-/disabled and configured via" + elog "the Add-on manager." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/x11-misc/nyrna-bin/Manifest b/x11-misc/nyrna-bin/Manifest index 473b54a..be4cf5b 100644 --- a/x11-misc/nyrna-bin/Manifest +++ b/x11-misc/nyrna-bin/Manifest @@ -1,2 +1 @@ DIST nyrna-bin-2.11.1.tar.gz 10209020 BLAKE2B 517cbf5e1c8757018f999d6a101af57018b894dafa355b238b7d81486a3964bff84d8fd5f6ab7c8d4c49cc90b9d70131c10275d7bc065ee01663f7566cd5e70e SHA512 d191579e76c366eec6c446fa8e8184bbb0cc0603b9708bc580d0c2e09bfea01c600d110dd113dad4b5c48c4fd464e6152979f76373f2835e220462cfc5177f02 -DIST nyrna-bin-2.18.0.tar.gz 10201936 BLAKE2B f08bffd46a004e50517f1ba949e9074074e0bea558413bc8bb6e72cfd5bd7cfd44f3bd30147a2b3c50438992f867bc02c8a70101bed2b5cec04a326a7608126b SHA512 9db439389ca9d818d9cd9c29721a3f8fe24915bcb175c94b87fe677704801ca805abc82814db1738a53c0b64835cacd80005ed85bfa5f9aba21bf11cf72b724f