diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-09 00:12:01 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-09 00:12:01 +0000 |
commit | b95a6fd4a7b591baa7cfc689f8ce5643592d07be (patch) | |
tree | 6a7c4722b40bdb6c409879ce253d8b42817fec14 /app-emulation | |
parent | 8b3c41ecef8a1cdd270ce3aabcfdfb991839699c (diff) |
gentoo auto-resync : 09:02:2025 - 00:12:00
Diffstat (limited to 'app-emulation')
31 files changed, 940 insertions, 2664 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex b206538a19b0..8da2739794c5 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 703d2f9e5faa..f7ee9b6fc636 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -1,12 +1,9 @@ AUX README.gentoo-r3 2065 BLAKE2B f3677b916121126c431ba32e324bcc9f04b4dfeef1ee54517cae1118c67274592d890d6d919a48af6709e9220379797549277904a02fea740a69b1bf8f2397aa SHA512 77ede8a3e1a380b334595e65ae148acd2e52d594200253dc67d68dd256db5bf72ce7ce222d067c739ce53f84634421e74726f30c0ab7a1c76b86ccdc191c8a69 -AUX libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch 1665 BLAKE2B 25c162ca5d33c36e1b97185f3db8517e707a20d8ee2573dfd15f9540af1a2a1d39706ffbc1b6e55be0b7156ca0d146715c9f629add883ff0d89122dd7a9962e4 SHA512 dd5dc696412529a6d004ea03ef75c991fbe7c7be839467e9bf2e8a8b2119275b053b4549e9924907b146e841c4a81e8f1ee2744c7d275c5a4007d80b87e5b1af AUX libvirt-10.10.0-qemu-tpm-do-not-update-profile-name-for-transient-do.patch 2762 BLAKE2B d6ac52810fc746e2317f21f5bfb512960ef5455c2e1960ca0db98157bfae1f747c57cd80eaa5bd3f853b92e0b319eeeb1124956344e6bde1e4e58c0b128084fe SHA512 7c1647de44b76d48a059b9e929360d44c02e8db3e0df7b6a27fa4f7370c696ef511fe8912683cf58ed2cb9df8622788ed99e668336276caa1e9d514684cce3ea -AUX libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch 9364 BLAKE2B 05ac0aaea8741102a34657b4910569ae5601364bdfd419743900823537f982348ba68cbac37fe10b21c2869531a35d68de8fbeb462c1f66aa0c3af4a97630405 SHA512 72a40984e6de167af8de9aedabdecf79c0f99bb5e7152b6521e87268bf1a1050b9d0d9acbb86c54810029dbde671a518ebd8a3f11590594a3226d818b89188f1 AUX libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch 2935 BLAKE2B b3bb5f7f6c21b645f43c2de8c17fe821a12fcd656629bbb44d780f408c5e50f0ee00e0d6bd82a9aba68b4651b711b29170e6989c317bada28edf3aff36cf06ec SHA512 b3421b7972a226660e475616bfc23fffcba825516e14b5267e8410fd178031e848bd7a69128c04f1188c0b75de39e6155cd480649b87a21ab650c2874765ccc7 AUX libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch 1439 BLAKE2B e5d837f6f7af00fa6b7d3ef94ba0cdcd6120a17c17f52986df451ff2a66a019526f480cdd71592ea89c0629277c751f84b6f79c898d20017d454eda790ce0c66 SHA512 106e029750ed185c823e1759ead99520f628a52a00926cb5a09ee941e4b51cbbdbc91d4b95294eb9225459cb47bbde402b017016ea4ab177b4ba15c2decea90a AUX libvirt-10.7.0-fix-paths-for-apparmor.patch 3902 BLAKE2B 62d7df4963fe57794252549a45b4809581dbd02bc46c51a8c46b21338a72d0e9aea661c527bcf6e0117ea93bab4fe812e97a6b0957f8d8bc957ee170162732ee SHA512 e4cd5577b37b2800da711576696a0c7888c68d0755f820f002451dc4ecd49ce19e0e8759ec16afdb4489647a4b48b4284c1befd3f43e1a53a8871aa6ab1d4833 -AUX libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch 1125 BLAKE2B d161698463c56b9fbb8b4c4a5ec1b7d65e87e088d68ea1a2cde316449c80d9ba2a4ad5883962eb3e4d31b0441917f6b02d4c781869083c47c8eeb432f6826e8b SHA512 d1dbcb9f6e1c66a38fa09af84248c8ac68d1f263f07b275e12ae3087a6fbd223eeefe20c7b241d02be9529c14bcf311d850d418bc8cecac4cb4e225d78800a41 -AUX libvirt-9.4.0-do-not-use-sysconfig.patch 8195 BLAKE2B b731d57dc86fe725d3cbd47b6e691a414107d3594377bd1c73e19735368937a0983e407ec05700213d2ec5802e90f429fd5c7354cd03fb25d3acced952ab6f38 SHA512 2a2e08a6034ed37cafebde3b0fd27913d972d1e9f8816e10a9af951e99f10bd3b9bc7ada1ac50c5085e3fdd3d02301365d031eb6ce3b71102e4b3072d609f21b +AUX libvirt-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch 1001 BLAKE2B 908044c9af1eefeffb52ecbc65cb66663516ed7e654a5e4ea76907ad55e48f76f70fe71e778a0ea48aac6fe613bf6d70e8ac6fb4519acc78d64783bc95439b53 SHA512 7c46700aeae055a15d7757db599b16fc4431893f3f81b58db2d0c9395a54eedca810f2616b327246625d5971801ca18e303ee78b60e65f6aa507bdb0825916ef AUX libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch 988 BLAKE2B 5936eafa5c300edad7ed368ec13063d31aea59e3daefeac59cf515ea44667f61aa63b0e2c2a5c88ace24c48cc132789cc5fa1a7c6c04c17e9ac61b114778e46d SHA512 5b80a5ec2898c1c821d0d49b9de67a256f82cb60879215ddde07c2a51f2e8a8b6893fec65617c27edec50cd51a362fb1fcdd21827e8de954f26879adcfa12418 AUX libvirt-9.6.0-fix-paths-for-apparmor.patch 4250 BLAKE2B bf7cc5250575a3b377539aabae316b91a4ff4bc1490f894859e7c066285909b26904fc020cf1c25bed6bae0670db52b2064b55e12a9a8161e2eb4dd0e4bd987e SHA512 abd6472a2a2bd23c0d7232ee807e4c57a799afab13c7bf11538f9b20da584677830691f84816d2cdcec0b7986817c8d469ca169073c2cb0e4b32e8b0ffa05003 AUX libvirt-9.9.0-do-not-use-sysconfig.patch 2910 BLAKE2B 60d9cd53be99377b1f51f01eca85815cbdcb3a97cbcd4131931a975d4ec8073c3a384e9a67267580d30f3ab7117a2fe83ee91c406139ef4bc25ee76e6752d884 SHA512 3ef1c6eb803e0c2425f81a9c90dd0afc466b2474e62fd8189d029bddc679ef1cf9715bf23d98bff6e3ec1ab2515a0a5ede5ffd95f15cef56f3069283ccc8e741 @@ -17,8 +14,6 @@ AUX libvirtd.init-r19 1115 BLAKE2B 6498fb175180088aa4b2eb74a951de7cb3969cac81dec AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed AUX virtlockd.init-r2 564 BLAKE2B 5979d26e8a3b4e402b3945f831b7304b1c6a49161728328f4e65c3fd8ec95ad8f2bceac3d531a11acfbfc7262c77510fce91149a7389eded046f32b743733f5e SHA512 4c967524ba9d6cdb7f2565e76a598d72fd8a8268a4b2c66dafb88fd0f2935c642b1149ad8543000d94086da1be95d174cb2afc2b1f29608d67724c4ba540fd24 AUX virtlogd.init-r2 563 BLAKE2B 815fb795e225ddeb6a29d9983fc3821ce5efa460fa452251c393f19a460a4e9940678e89751482331d9fbef2f8f85988890ee59889d74b8aca01257fa98bc62f SHA512 405b43dade3e3e88199bd6871b6fb9bc99da4b59b05927ed1871176d13452ce3ce2d6de4c05dcd765c4433ba0d7ab0fe9d053964cc6de33f38c538dd21a74cd3 -DIST libvirt-10.1.0.tar.xz 9444244 BLAKE2B bfdce9d067e3a319b81d867d27f1a6b4e724ab6aaa25d19d7383c9be26ad7dc92b3c0aaa92894b772f09e20c3c2eb0ea0a8707feee4c63be58578fa22854305f SHA512 08e73ae15de5681430b62db85ec9901242dca5e9a4ca9685614f4a67092c6e28f27f9187144b3ceb18ad6b40e6eb1a90b1a4b056b0888724d04a62002ee2bc48 -DIST libvirt-10.1.0.tar.xz.asc 833 BLAKE2B 1046403fb6ee084eb68e081a0fa4a1cfbf30378faf2f54591917ab6a4648a4c2a23da055cfe2577ec7ec80922c29ca7a918386259f747f052abfdfc420ff7749 SHA512 40ec184b4c33f21bf99d38fec0722e165854f723017f3cddaef63120cdf8dcf6df0c03b7e4aea5c3706f65d46f5335db667321b1ece1c123d9517fcd303b2bd8 DIST libvirt-10.10.0.tar.xz 9673792 BLAKE2B 8042ce1493c3ffd6e6deeb7d94d0744da18850fe416480487a57ffd33bf3390f587849f308aad12fd38c887628f90137ba717ea11ef7e0f73a97b157fa985a6e SHA512 b4e8a5f7d5c15387e5f3e82ac9661feb6e89c6b3b13d869bca63d9686e1e1e8d193a1fc84a19a09b3da1c868837ee76d1b3964a6e5f7ad5d669449b0a6aa4b53 DIST libvirt-10.10.0.tar.xz.asc 833 BLAKE2B c26069fb79d2f26c8f7763033ef71267512c923ce9b3eb97a416dcf4dd1535c86ba0ee6710c66bd8f62c724799fb99f839aa93861022c862ecdf6789cb6906d4 SHA512 912c572f91e0934c7954f7bf496d1fd212d57f6327f07d297f35b8f791087a71cb243e4d125c377921518339f9516288a1ddb6589fd13804eb91adeedda705a9 DIST libvirt-10.3.0.tar.xz 9476852 BLAKE2B 8c47840113904d72aeb1e9bf900a99a8b0e3d41391c9a8fee4277f2793f18fefc50d113e8cbea52dedfd03b93f430416bcd25fe90ee6820c95ac6f468b84212f SHA512 dd2b151a19877e57e11b582b1c11542319f8b7b7cd3d7d51304442aa7d5eb1a8490d2887d340191c3ecc561320ea453773763083364579de0a40ada9c244fc59 @@ -29,17 +24,13 @@ DIST libvirt-10.6.0.tar.xz 9481992 BLAKE2B 68d88ba7f6d5f74d6ad8753a7716902596338 DIST libvirt-10.6.0.tar.xz.asc 833 BLAKE2B 29c5217b665e8ba697adf39920baf6f824bb5d9fdfe96b68f7d4c4f5849c94e44b14b76435fdb98e033b30de73a79b45502a9ba6e7da76ba139c9ebe0bd183b2 SHA512 da50a4760afc094805f087c01646bf6c8165c54e5bad0569a375a1d0791374c27d35fa3780b7104ab248444ed6f8a8a45c20013e57d5129557d6622a9f2a0721 DIST libvirt-10.8.0.tar.xz 9575348 BLAKE2B fb7d7b6d8a158c0045bb7fae4080cf8d58f8ff36cc2b99cdedcbc88397abf180de94931b3c114463fb717fb33bf16d67ea9b29ae77a673d4e1ca8ba94f195652 SHA512 4979565015d69d078e532944d1d1cdfbb28e2d5625168a80f7b56a323949cf6072c4b8cfb96b92dbae263ee166d1c514651455389f33c90d04cc615865009eee DIST libvirt-10.8.0.tar.xz.asc 833 BLAKE2B 25b01613df138dbaa921bfe3d3a2384182d4bff1a5828d0b9cccb08e4a48465d0b89391f83824889052e7827b107304289a3a38589039a302c93a15a5d4fe169 SHA512 1099f61b835351165bfa203f3d7d485f16b89e29234a6301e50cf3b5e47e4c7edb9808c23a6fd5045ed44d8349e78596923ea7cc1896e8239b5816e871fdc0cc -DIST libvirt-9.8.0.tar.xz 9307064 BLAKE2B aae47e8d4eeaf97532a0356de23ed5a9eea71b369d025eda95b5fd74576779eb4b843d05df6c87b79a14f218c341953749e319ee7244846a2db410a74a746880 SHA512 0118725073de33eec3fa3e4616d3154707f9828fdb9ec973f503fe68f18eab72b9704da660f281152630ddc95e605c786673af9d23dc9bdfc0108422e0efbd41 -DIST libvirt-9.8.0.tar.xz.asc 833 BLAKE2B 3ecd0a925992eeadd50675f7ad8e815bde532c0f66e331ea766fff8e613b6a60b002bedee82fd03684e703057bc13d4e92191268dcd5efe2611ce9bd3cf6b505 SHA512 e041db13281eae9323c22189b7a258caf8d0e2a350cbd31b6cbed7054ccaf09d05c155c3c09daea07940affdf15e8d42bb2339945480cd141a6e8cb417a78536 -DIST libvirt-9.9.0.tar.xz 9321556 BLAKE2B 21eae5a95feaf7f5c6ba8dd48732c08212904882a11c48eccfa827d85ddc3df7e064503f21710dbe1b678670e02f003674de915a43a7403fbf85685c4832e21d SHA512 77cea28acf4f3e8c92fbd5bd72ad084be183c07f14e3a9ce35d6d9d62d36ee97a30cef55fb204b3e43f282890ecd7d5827a784a517e7f4ed8b22ee502c3f09d7 -DIST libvirt-9.9.0.tar.xz.asc 833 BLAKE2B 3de3674d33c595692e71eeb9c312de76e865d3859d2482ec5b4d29d3cd7644cde080cba0001668efe7876b462f78c0233ab76076ef32943e118b34cca8c1ab4d SHA512 357fc2d1bdbbc26c6e0119a1b5c42e86a116f94bb714da855ab27ca83da0e50c7239d1b8abde3cee8a460ac537f63d518f43470d8329b727b39491771ad191e5 -EBUILD libvirt-10.1.0-r4.ebuild 10208 BLAKE2B ba05957d24d5b4b92fe2eb074924c43788bd1ee2c6608a9c981c1773a8f233da5b6a7e0e023a72c6a0770ceee6381e9d921dd59998d0d5c7ff61e385040d0e8d SHA512 40cbf881868ca0a4459a77ed925c2ff2548c8a32710f20a950aa36a39b29a4cdec4c5064b76ce51993a1e265f3f6a0954f3d79674b63b646b995f263e4877a1d -EBUILD libvirt-10.10.0-r1.ebuild 10160 BLAKE2B fe86d9ca0a31c6771cf72e1cbd4d51a2f3f18e133bb913e1be5d59c58d990e1aca4ac277a02c0769441b9387d07ae4a76ec01f1205425828104bd8311e8c2332 SHA512 3043ad9072e6fe6e1e3952f8724417a42a0647038d6b0609074e6ab95082238b28f91f04ac257566f718f176101e8e16e53112fcd036860d9693d0de57f77723 +DIST libvirt-11.0.0.tar.xz 9700388 BLAKE2B 0fc248bfcc505e143fa56560a216ed62ddeb8f8def5eaf32772bc5f0c1ca87f92dc530d9290f6349dc8727590f6148ffb6627e119f1e89fb0e151f1e6346b645 SHA512 ac5fd17d3f488c241017d967364e0441373e9ab0457dab1acfe84fd0b90353dc5d185cc7fcd2b0d7995af4137a3fa18371abb5511686456a9e720f7ec7829da9 +DIST libvirt-11.0.0.tar.xz.asc 833 BLAKE2B c959800b18ac7220970d6a772aefe4a5b53419298641b4fc659db2585d187701b823cda06ea2e16ff8bfa50c7552fb3eb50ff5c4ea40fb4a3c6eb93921481165 SHA512 7b1bb3d902986bc269bf9efd0ab2dbfb256c3e02e0d410e3bf81ddb649b1d0983090adc1857d59db79fa7ac19b983496a80ac3bf6ae13163bb772cea05b5728b +EBUILD libvirt-10.10.0-r1.ebuild 10156 BLAKE2B cab20284f4764e79eddeb3baa24406a825b2c8b9691983fc639034744258f19760a5d8cf02421c3a1a44ebdb3ebf7c3e0e359dc5dc020555494ad5f675948187 SHA512 4b00f545d3abbd6e0382560ef94c068c55bc1212ba2256803b1c2412c64916da2497d1c180359d924caecd3cb7517d4a1b372253df82b745917aa691ce6436b9 EBUILD libvirt-10.3.0-r4.ebuild 10193 BLAKE2B 01515dc6f7d77c235b2be818a8f27af6996282cf08d33d57bd84f9a2d3b12ff82082883123d88fc13d6cb8a249c2986ee888e11ab3a9be9de29c24940b6d8352 SHA512 a56a13ce5165a300849708ac6052fbf6703fe0d6db0f05101679f628f43f9e14289e7e3d303f8e0dd66b74160926e32624797df6048e137d88c8fe3b2abcee3f EBUILD libvirt-10.5.0-r2.ebuild 10075 BLAKE2B 2093b04c2cd3690694d250e9435fe7222e88320f4e21384a11e62bf015f3a0636fadb39e040b87d3e62b1cc343dd09abb3d661912fa0ff9188f8dfdb512ec887 SHA512 0e1c5927c420dcc26f2bdb165112bb7d559a7c4f045ce582e0ed001028b1bbe186646d8b1301abfaa06aeeed65773ed14654bd0277c3dd7cbeeb39ebde87c0d8 EBUILD libvirt-10.6.0-r1.ebuild 10075 BLAKE2B 2093b04c2cd3690694d250e9435fe7222e88320f4e21384a11e62bf015f3a0636fadb39e040b87d3e62b1cc343dd09abb3d661912fa0ff9188f8dfdb512ec887 SHA512 0e1c5927c420dcc26f2bdb165112bb7d559a7c4f045ce582e0ed001028b1bbe186646d8b1301abfaa06aeeed65773ed14654bd0277c3dd7cbeeb39ebde87c0d8 EBUILD libvirt-10.8.0.ebuild 10072 BLAKE2B b3b6dd462d2c817a03a63ac2017b3d157ffc8334c20ac579a013bd59de99b0764358149d2853d421244eec5e6aa4e91ba40864f84c4d1afe4cba78c8aef55f77 SHA512 f1d8c447a8c4933be27e20260add44c66046743739f98fa3502ce3e942da61acb0258438c12d165bdd3e4783ab01bc40e9b86bf7ecc2c8aa7a6305390b4c51b2 -EBUILD libvirt-9.8.0-r5.ebuild 10162 BLAKE2B 98255fa21fe673307e542e19bad3056d0c8f53c95b03490b14a592d7924be2bfe2f3de58877f2252ece0c03ac4452283472818e5de8ba36005a56e711f27f0db SHA512 21f96f9c995366525f34afe614ffe417311ba0e378b075e5f2e85eb75779698cd6825a35ecc1c3c11d314c7a9a7f9c330d8425033ceab0b44b15d2016d6b4be5 -EBUILD libvirt-9.9.0-r5.ebuild 10216 BLAKE2B 20828b145408a8809ef629b0ea03644f107c5f174ffc55f8b2ef69f7ea0ae143e89301d4bda9563be56cb7c21b8fe46f5000b243ff83911815a340c5df851cf8 SHA512 cb7c19dddd8782f2d2e28427746afd217c4d2c3d2730a9a36be9bad1e46bfb043f7ae59d6b040d859ec6fb797dcd083171505d82ec66f3e2702860ec88fe597c -EBUILD libvirt-9999.ebuild 10072 BLAKE2B b3b6dd462d2c817a03a63ac2017b3d157ffc8334c20ac579a013bd59de99b0764358149d2853d421244eec5e6aa4e91ba40864f84c4d1afe4cba78c8aef55f77 SHA512 f1d8c447a8c4933be27e20260add44c66046743739f98fa3502ce3e942da61acb0258438c12d165bdd3e4783ab01bc40e9b86bf7ecc2c8aa7a6305390b4c51b2 +EBUILD libvirt-11.0.0.ebuild 10072 BLAKE2B 64e614c2f06f416fbc869cd291e290a2ac4dec118e7ebaabde3663f84d477b1034a81e3d214c249c287888bd28802f48ac59b3a96d8c0400351714c67f1c236d SHA512 d056c775f5fccb567180df15a4abc18c90acf5b80b5e825343ebd691b3ad7b06f84031e3b7d87e338b1b6bca7f2177ef336c62aa87ccb692aed4cfc8cd542ccd +EBUILD libvirt-9999.ebuild 10073 BLAKE2B 4cac6a4e66919be20f3ad352ebabe9023c9c5541245dd5484e8e33bfd45cece85001936d0e3ef026fdfe73851ac09e403d684ef28689f2449eab69601d7aa0b1 SHA512 5cfa42a8c0ce59b50e4ea4b47632083e77fa7ca34188ad1cf45f6284f694b41512c9ea96e15983203f401768a9fa0dcd0adc2e947b7bb9edf11533ef0483c73a MISC metadata.xml 3822 BLAKE2B badb40564def06854a0c3af011b5de2888d722996c9b15df570a709161e49796f3d76ba2365c4adc1724f16bee3518d0e87ed6d2619d505b5ba2f1fd02c90f34 SHA512 f31e86b4d0c1faaf5bf0ac253cf20ce7728b94841debb590356efc0fa1e1a3d095a94e69ce0a34f793faadf10ed00ae1212aac54d13288f1975db4f032fd8b50 diff --git a/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch b/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch deleted file mode 100644 index 7ef0652faa38..000000000000 --- a/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 2127032ed8cd49001465dc0dce9f842e13467bc2 Mon Sep 17 00:00:00 2001 -Message-ID: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com> -From: Martin Kletzander <mkletzan@redhat.com> -Date: Tue, 27 Feb 2024 16:20:12 +0100 -Subject: [PATCH 1/2] Fix off-by-one error in udevListInterfacesByStatus -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ever since this function was introduced in 2012 it could've tried -filling in an extra interface name. That was made worse in 2019 when -the caller functions started accepting NULL arrays of size 0. - -This is assigned CVE-2024-1441. - -Signed-off-by: Martin Kletzander <mkletzan@redhat.com> -Reported-by: Alexander Kuznetsov <kuznetsovam@altlinux.org> -Fixes: 5a33366f5c0b18c93d161bd144f9f079de4ac8ca -Fixes: d6064e2759a24e0802f363e3a810dc5a7d7ebb15 -Reviewed-by: Ján Tomko <jtomko@redhat.com> -(cherry picked from commit c664015fe3a7bf59db26686e9ed69af011c6ebb8) -Signed-off-by: Michal Privoznik <mprivozn@redhat.com> ---- - src/interface/interface_backend_udev.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c -index fb6799ed94..4091483060 100644 ---- a/src/interface/interface_backend_udev.c -+++ b/src/interface/interface_backend_udev.c -@@ -222,7 +222,7 @@ udevListInterfacesByStatus(virConnectPtr conn, - g_autoptr(virInterfaceDef) def = NULL; - - /* Ensure we won't exceed the size of our array */ -- if (count > names_len) -+ if (count >= names_len) - break; - - path = udev_list_entry_get_name(dev_entry); --- -2.43.2 - diff --git a/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch b/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch deleted file mode 100644 index 3e0426634f42..000000000000 --- a/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 10fa5f6ba64b354b99b0f7b372e66e45bb4d9379 Mon Sep 17 00:00:00 2001 -Message-ID: <10fa5f6ba64b354b99b0f7b372e66e45bb4d9379.1713033988.git.mprivozn@redhat.com> -In-Reply-To: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com> -References: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com> -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> -Date: Fri, 15 Mar 2024 10:47:50 +0000 -Subject: [PATCH 2/2] remote: check for negative array lengths before - allocation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -While the C API entry points will validate non-negative lengths -for various parameters, the RPC server de-serialization code -will need to allocate memory for arrays before entering the C -API. These allocations will thus happen before the non-negative -length check is performed. - -Passing a negative length to the g_new0 function will usually -result in a crash due to the negative length being treated as -a huge positive number. - -This was found and diagnosed by ALT Linux Team with AFLplusplus. - -CVE-2024-2494 -Reviewed-by: Michal Privoznik <mprivozn@redhat.com> -Found-by: Alexandr Shashkin <dutyrok@altlinux.org> -Co-developed-by: Alexander Kuznetsov <kuznetsovam@altlinux.org> -Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> -(cherry picked from commit 8a3f8d957507c1f8223fdcf25a3ff885b15557f2) -Signed-off-by: Michal Privoznik <mprivozn@redhat.com> ---- - src/remote/remote_daemon_dispatch.c | 65 +++++++++++++++++++++++++++++ - src/rpc/gendispatch.pl | 5 +++ - 2 files changed, 70 insertions(+) - -diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c -index 7daf503b51..7542caa952 100644 ---- a/src/remote/remote_daemon_dispatch.c -+++ b/src/remote/remote_daemon_dispatch.c -@@ -2291,6 +2291,10 @@ remoteDispatchDomainGetSchedulerParameters(virNetServer *server G_GNUC_UNUSED, - if (!conn) - goto cleanup; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -2339,6 +2343,10 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServer *server G_GNUC_UNUS - if (!conn) - goto cleanup; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -2497,6 +2505,10 @@ remoteDispatchDomainBlockStatsFlags(virNetServer *server G_GNUC_UNUSED, - goto cleanup; - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_BLOCK_STATS_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -2717,6 +2729,14 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServer *server G_GNUC_UNUSED, - if (!(dom = get_nonnull_domain(conn, args->dom))) - goto cleanup; - -+ if (args->ncpumaps < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("ncpumaps must be non-negative")); -+ goto cleanup; -+ } -+ if (args->maplen < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maplen must be non-negative")); -+ goto cleanup; -+ } - if (args->ncpumaps > REMOTE_VCPUINFO_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("ncpumaps > REMOTE_VCPUINFO_MAX")); - goto cleanup; -@@ -2811,6 +2831,11 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServer *server G_GNUC_UNUSED, - if (!(dom = get_nonnull_domain(conn, args->dom))) - goto cleanup; - -+ if (args->maplen < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maplen must be non-negative")); -+ goto cleanup; -+ } -+ - /* Allocate buffers to take the results */ - if (args->maplen > 0) - cpumaps = g_new0(unsigned char, args->maplen); -@@ -2858,6 +2883,14 @@ remoteDispatchDomainGetVcpus(virNetServer *server G_GNUC_UNUSED, - if (!(dom = get_nonnull_domain(conn, args->dom))) - goto cleanup; - -+ if (args->maxinfo < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo must be non-negative")); -+ goto cleanup; -+ } -+ if (args->maplen < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo must be non-negative")); -+ goto cleanup; -+ } - if (args->maxinfo > REMOTE_VCPUINFO_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo > REMOTE_VCPUINFO_MAX")); - goto cleanup; -@@ -3096,6 +3129,10 @@ remoteDispatchDomainGetMemoryParameters(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_MEMORY_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -3156,6 +3193,10 @@ remoteDispatchDomainGetNumaParameters(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_NUMA_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -3216,6 +3257,10 @@ remoteDispatchDomainGetBlkioParameters(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_BLKIO_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -3277,6 +3322,10 @@ remoteDispatchNodeGetCPUStats(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_NODE_CPU_STATS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -3339,6 +3388,10 @@ remoteDispatchNodeGetMemoryStats(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_NODE_MEMORY_STATS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -3514,6 +3567,10 @@ remoteDispatchDomainGetBlockIoTune(virNetServer *server G_GNUC_UNUSED, - if (!conn) - goto cleanup; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_BLOCK_IO_TUNE_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -5079,6 +5136,10 @@ remoteDispatchDomainGetInterfaceParameters(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_DOMAIN_INTERFACE_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -@@ -5299,6 +5360,10 @@ remoteDispatchNodeGetMemoryParameters(virNetServer *server G_GNUC_UNUSED, - - flags = args->flags; - -+ if (args->nparams < 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative")); -+ goto cleanup; -+ } - if (args->nparams > REMOTE_NODE_MEMORY_PARAMETERS_MAX) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; -diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl -index fa45d15a92..294e21f8a1 100755 ---- a/src/rpc/gendispatch.pl -+++ b/src/rpc/gendispatch.pl -@@ -1070,6 +1070,11 @@ elsif ($mode eq "server") { - print "\n"; - - if ($single_ret_as_list) { -+ print " if (args->$single_ret_list_max_var < 0) {\n"; -+ print " virReportError(VIR_ERR_RPC,\n"; -+ print " \"%s\", _(\"max$single_ret_list_name must be non-negative\"));\n"; -+ print " goto cleanup;\n"; -+ print " }\n"; - print " if (args->$single_ret_list_max_var > $single_ret_list_max_define) {\n"; - print " virReportError(VIR_ERR_RPC,\n"; - print " \"%s\", _(\"max$single_ret_list_name > $single_ret_list_max_define\"));\n"; --- -2.43.2 - diff --git a/app-emulation/libvirt/files/libvirt-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch b/app-emulation/libvirt/files/libvirt-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch new file mode 100644 index 000000000000..9797200d0a48 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch @@ -0,0 +1,29 @@ +From 879f22eea1ffac0053d7c3cc56cdcb03dd859bc7 Mon Sep 17 00:00:00 2001 +Message-ID: <879f22eea1ffac0053d7c3cc56cdcb03dd859bc7.1738928238.git.mprivozn@redhat.com> +From: Michal Privoznik <mprivozn@redhat.com> +Date: Fri, 31 Jan 2020 09:42:14 +0100 +Subject: [PATCH] Fix paths in libvirt-guests.sh.in + +Signed-off-by: Michal Privoznik <mprivozn@redhat.com> +--- + tools/libvirt-guests.sh.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in +index f2db1282ad..f2c9d9b465 100644 +--- a/tools/libvirt-guests.sh.in ++++ b/tools/libvirt-guests.sh.in +@@ -40,8 +40,8 @@ BYPASS_CACHE=0 + SYNC_TIME=0 + PERSISTENT_ONLY="default" + +-test -f "$initconfdir"/libvirt-guests && +- . "$initconfdir"/libvirt-guests ++test -f "$sysconfdir"/libvirt/libvirt-guests.conf && ++ . "$sysconfdir"/libvirt/libvirt-guests.conf + + LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests + VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests +-- +2.45.3 + diff --git a/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch b/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch deleted file mode 100644 index b24236be8751..000000000000 --- a/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 7a5f232be2269e74943a029c0e8b1b0124674a6c Mon Sep 17 00:00:00 2001 -Message-ID: <7a5f232be2269e74943a029c0e8b1b0124674a6c.1700576185.git.mprivozn@redhat.com> -From: Michal Privoznik <mprivozn@redhat.com> -Date: Mon, 20 Nov 2023 03:18:12 +0100 -Subject: [PATCH] virxml: include <libxml/xmlsave.h> for xmlIndentTreeOutput - declaration -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -After libxml2's commit of v2.12.0~101 we no longer get -xmlIndentTreeOutput declaration by us including just -libxml/xpathInternals.h and libxml2's header files leakage. - -Resolves: https://bugs.gentoo.org/917516 -Signed-off-by: Michal Privoznik <mprivozn@redhat.com> -Reviewed-by: Ján Tomko <jtomko@redhat.com> ---- - src/util/virxml.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/util/virxml.c b/src/util/virxml.c -index 0c1eae8c3c..4f215a0e59 100644 ---- a/src/util/virxml.c -+++ b/src/util/virxml.c -@@ -24,6 +24,7 @@ - #include <math.h> /* for isnan() */ - #include <sys/stat.h> - -+#include <libxml/xmlsave.h> - #include <libxml/xpathInternals.h> - - #include "virerror.h" --- -2.41.0 - diff --git a/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch deleted file mode 100644 index cfd12efb3de7..000000000000 --- a/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 09e34bcb43b3c0fb3bf139f218ebc75e9e9f9a39 Mon Sep 17 00:00:00 2001 -Message-Id: <09e34bcb43b3c0fb3bf139f218ebc75e9e9f9a39.1683631803.git.mprivozn@redhat.com> -From: Michal Privoznik <mprivozn@redhat.com> -Date: Wed, 2 Mar 2022 10:01:04 +0100 -Subject: [PATCH] libvirt-8.2.0-do-not-use-sysconfig.patch - -Signed-off-by: Michal Privoznik <mprivozn@redhat.com> ---- - src/interface/virtinterfaced.service.in | 1 - - src/libxl/virtxend.service.in | 1 - - src/locking/virtlockd.service.in | 1 - - src/logging/virtlogd.service.in | 1 - - src/lxc/virtlxcd.service.in | 1 - - src/network/virtnetworkd.service.in | 1 - - src/node_device/virtnodedevd.service.in | 1 - - src/nwfilter/virtnwfilterd.service.in | 1 - - src/qemu/virtqemud.service.in | 1 - - src/remote/libvirtd.service.in | 1 - - src/remote/virtproxyd.service.in | 1 - - src/secret/virtsecretd.service.in | 1 - - src/storage/virtstoraged.service.in | 1 - - src/vbox/virtvboxd.service.in | 1 - - tools/libvirt-guests.service.in | 2 +- - 15 files changed, 1 insertion(+), 15 deletions(-) - -diff --git a/src/interface/virtinterfaced.service.in b/src/interface/virtinterfaced.service.in -index 1be3ab32dc..090b198ac7 100644 ---- a/src/interface/virtinterfaced.service.in -+++ b/src/interface/virtinterfaced.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTINTERFACED_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtinterfaced - ExecStart=@sbindir@/virtinterfaced $VIRTINTERFACED_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in -index abb1972777..dbbc2ab5b7 100644 ---- a/src/libxl/virtxend.service.in -+++ b/src/libxl/virtxend.service.in -@@ -19,7 +19,6 @@ ConditionPathExists=/proc/xen/capabilities - [Service] - Type=notify - Environment=VIRTXEND_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtxend - ExecStart=@sbindir@/virtxend $VIRTXEND_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in -index 23054369d5..87193952cb 100644 ---- a/src/locking/virtlockd.service.in -+++ b/src/locking/virtlockd.service.in -@@ -8,7 +8,6 @@ Documentation=https://libvirt.org - - [Service] - Environment=VIRTLOCKD_ARGS= --EnvironmentFile=-@initconfdir@/virtlockd - ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS - ExecReload=/bin/kill -USR1 $MAINPID - # Losing the locks is a really bad thing that will -diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in -index e4aecd46a7..d97a98e856 100644 ---- a/src/logging/virtlogd.service.in -+++ b/src/logging/virtlogd.service.in -@@ -8,7 +8,6 @@ Documentation=https://libvirt.org - - [Service] - Environment=VIRTLOGD_ARGS= --EnvironmentFile=-@initconfdir@/virtlogd - ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS - ExecReload=/bin/kill -USR1 $MAINPID - # Losing the logs is a really bad thing that will -diff --git a/src/lxc/virtlxcd.service.in b/src/lxc/virtlxcd.service.in -index 2623f7375a..b48ce6958a 100644 ---- a/src/lxc/virtlxcd.service.in -+++ b/src/lxc/virtlxcd.service.in -@@ -18,7 +18,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTLXCD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtlxcd - ExecStart=@sbindir@/virtlxcd $VIRTLXCD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process -diff --git a/src/network/virtnetworkd.service.in b/src/network/virtnetworkd.service.in -index 48423e777d..ee4cd9bca1 100644 ---- a/src/network/virtnetworkd.service.in -+++ b/src/network/virtnetworkd.service.in -@@ -17,7 +17,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTNETWORKD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtnetworkd - ExecStart=@sbindir@/virtnetworkd $VIRTNETWORKD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/node_device/virtnodedevd.service.in b/src/node_device/virtnodedevd.service.in -index 3ceed30f29..7693aa52c4 100644 ---- a/src/node_device/virtnodedevd.service.in -+++ b/src/node_device/virtnodedevd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTNODEDEVD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtnodedevd - ExecStart=@sbindir@/virtnodedevd $VIRTNODEDEVD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/nwfilter/virtnwfilterd.service.in b/src/nwfilter/virtnwfilterd.service.in -index 37fa54d684..16d8b377b0 100644 ---- a/src/nwfilter/virtnwfilterd.service.in -+++ b/src/nwfilter/virtnwfilterd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTNWFILTERD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtnwfilterd - ExecStart=@sbindir@/virtnwfilterd $VIRTNWFILTERD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in -index 032cbcbbf0..85a1049567 100644 ---- a/src/qemu/virtqemud.service.in -+++ b/src/qemu/virtqemud.service.in -@@ -20,7 +20,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTQEMUD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtqemud - ExecStart=@sbindir@/virtqemud $VIRTQEMUD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process -diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in -index 11507207a1..9cda330e0b 100644 ---- a/src/remote/libvirtd.service.in -+++ b/src/remote/libvirtd.service.in -@@ -28,7 +28,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=LIBVIRTD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/libvirtd - ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process -diff --git a/src/remote/virtproxyd.service.in b/src/remote/virtproxyd.service.in -index dd3bdf3429..0eddf5ee93 100644 ---- a/src/remote/virtproxyd.service.in -+++ b/src/remote/virtproxyd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTPROXYD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtproxyd - ExecStart=@sbindir@/virtproxyd $VIRTPROXYD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/secret/virtsecretd.service.in b/src/secret/virtsecretd.service.in -index 774cfc3ecd..92e54f175f 100644 ---- a/src/secret/virtsecretd.service.in -+++ b/src/secret/virtsecretd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTSECRETD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtsecretd - ExecStart=@sbindir@/virtsecretd $VIRTSECRETD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/storage/virtstoraged.service.in b/src/storage/virtstoraged.service.in -index e1a1ea6820..abe91e3d80 100644 ---- a/src/storage/virtstoraged.service.in -+++ b/src/storage/virtstoraged.service.in -@@ -16,7 +16,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTSTORAGED_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtstoraged - ExecStart=@sbindir@/virtstoraged $VIRTSTORAGED_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/vbox/virtvboxd.service.in b/src/vbox/virtvboxd.service.in -index e73206591a..54fbd0be4a 100644 ---- a/src/vbox/virtvboxd.service.in -+++ b/src/vbox/virtvboxd.service.in -@@ -15,7 +15,6 @@ Documentation=https://libvirt.org - [Service] - Type=notify - Environment=VIRTVBOXD_ARGS="--timeout 120" --EnvironmentFile=-@initconfdir@/virtvboxd - ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in -index c547218f2a..f5a1a60abe 100644 ---- a/tools/libvirt-guests.service.in -+++ b/tools/libvirt-guests.service.in -@@ -14,7 +14,7 @@ Documentation=man:libvirt-guests(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-@initconfdir@/libvirt-guests -+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf - # Hack just call traditional service until we factor - # out the code - ExecStart=@libexecdir@/libvirt-guests.sh start --- -2.39.3 - diff --git a/app-emulation/libvirt/libvirt-10.10.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.10.0-r1.ebuild index 39ba18558c54..b78609727579 100644 --- a/app-emulation/libvirt/libvirt-10.10.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-10.10.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ if [[ ${PV} = *9999* ]]; then else SRC_URI="https://download.libvirt.org/${P}.tar.xz verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 ~arm arm64 ppc64 x86" fi DESCRIPTION="C toolkit to manipulate virtual machines" diff --git a/app-emulation/libvirt/libvirt-10.1.0-r4.ebuild b/app-emulation/libvirt/libvirt-11.0.0.ebuild index ae74074960a9..3bf3bc2e7d59 100644 --- a/app-emulation/libvirt/libvirt-10.1.0-r4.ebuild +++ b/app-emulation/libvirt/libvirt-11.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ if [[ ${PV} = *9999* ]]; then else SRC_URI="https://download.libvirt.org/${P}.tar.xz verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )" - KEYWORDS="amd64 ~arm arm64 ppc64 x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" fi DESCRIPTION="C toolkit to manipulate virtual machines" @@ -111,7 +111,7 @@ RDEPEND=" qemu? ( >=app-emulation/qemu-4.2 app-crypt/swtpm - >=dev-libs/yajl-2.0.3:= + dev-libs/json-c:= ) rbd? ( sys-cluster/ceph ) sasl? ( >=dev-libs/cyrus-sasl-2.1.26 ) @@ -119,7 +119,10 @@ RDEPEND=" virt-network? ( net-dns/dnsmasq[dhcp,ipv6(+),script] net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6(+)] + || ( + >=net-firewall/iptables-1.4.10[ipv6(+)] + net-firewall/nftables + ) net-misc/radvd sys-apps/iproute2[-minimal] ) @@ -155,9 +158,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch - "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch - "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch - "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch + "${FILESDIR}"/${PN}-10.7.0-fix-paths-for-apparmor.patch ) python_check_deps() { @@ -297,7 +298,7 @@ src_configure() { $(meson_feature pcap libpcap) $(meson_feature policykit polkit) $(meson_feature qemu driver_qemu) - $(meson_feature qemu yajl) + $(meson_feature qemu json_c) $(meson_feature rbd storage_rbd) $(meson_feature sasl) $(meson_feature selinux) diff --git a/app-emulation/libvirt/libvirt-9.8.0-r5.ebuild b/app-emulation/libvirt/libvirt-9.8.0-r5.ebuild deleted file mode 100644 index b34f687d0a17..000000000000 --- a/app-emulation/libvirt/libvirt-9.8.0-r5.ebuild +++ /dev/null @@ -1,383 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Packages which get releases together: -# app-emacs/nxml-libvirt-schemas -# dev-python/libvirt-python -# dev-perl/Sys-Virt -# app-emulation/libvirt -# Please bump them together! - -PYTHON_COMPAT=( python3_{10..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc -inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" - EGIT_BRANCH="master" -else - SRC_URI="https://download.libvirt.org/${P}.tar.xz - verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )" - KEYWORDS="amd64 ~arm arm64 ppc64 x86" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/" -LICENSE="LGPL-2.1" -SLOT="0/${PV}" -IUSE=" - apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs - iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa - openvz parted pcap policykit +qemu rbd sasl selinux test +udev - virtualbox +virt-network wireshark-plugins xen zfs -" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - qemu? ( libvirtd ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -BDEPEND=" - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - dev-python/docutils - virtual/pkgconfig - net-libs/rpcsvc-proto - bash-completion? ( >=app-shells/bash-completion-2.0 ) - verify-sig? ( sec-keys/openpgp-keys-libvirt )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent. -RDEPEND=" - acct-user/qemu - app-misc/scrub - >=dev-libs/glib-2.56.0 - dev-libs/libgcrypt - dev-libs/libnl:3 - >=dev-libs/libxml2-2.9.1 - >=net-analyzer/openbsd-netcat-1.105-r1 - >=net-libs/gnutls-3.2.0:= - net-libs/libtirpc:= - >=net-misc/curl-7.18.0 - sys-apps/dbus - sys-apps/dmidecode - sys-devel/gettext - >=sys-libs/readline-7.0:= - virtual/acl - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dtrace? ( dev-debug/systemtap ) - firewalld? ( >=net-firewall/firewalld-0.6.3 ) - fuse? ( sys-fs/fuse:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( >=sys-block/open-iscsi-1.18.0 ) - iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) - libssh? ( >=net-libs/libssh-0.8.1:= ) - libssh2? ( >=net-libs/libssh2-1.3 ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] ) - lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] ) - nbd? ( - sys-block/nbdkit - sys-libs/libnbd - ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[lvm] - ) - pcap? ( >=net-libs/libpcap-1.8.0 ) - policykit? ( - acct-group/libvirt - >=sys-auth/polkit-0.9 - ) - qemu? ( - >=app-emulation/qemu-4.2 - app-crypt/swtpm - >=dev-libs/yajl-2.0.3:= - ) - rbd? ( sys-cluster/ceph ) - sasl? ( >=dev-libs/cyrus-sasl-2.1.26 ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[dhcp,ipv6(+),script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6(+)] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( <app-emulation/virtualbox-7.1.0 ) - wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= ) - xen? ( - >=app-emulation/xen-4.9.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/libudev:= - >=x11-libs/libpciaccess-0.10.9 - ) - zfs? ( sys-fs/zfs ) - kernel_linux? ( sys-apps/util-linux )" -DEPEND=" - ${BDEPEND} - ${RDEPEND} - ${PYTHON_DEPS} -" -# The 'circular' dependency on dev-python/libvirt-python is because of -# virt-qemu-qmp-proxy. -PDEPEND=" - qemu? ( dev-python/libvirt-python ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-9.4.0-do-not-use-sysconfig.patch - "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch - "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch - "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch - "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch - "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch -) - -pkg_setup() { - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM - ~IP_NF_FILTER - ~IP_NF_MANGLE - ~IP_NF_NAT - ~IP6_NF_FILTER - ~IP6_NF_MANGLE - ~IP6_NF_NAT" - - # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6 - if use virt-network ; then - if kernel_is -lt 5 2 ; then - CONFIG_CHECK+=" - ~IP_NF_TARGET_MASQUERADE" - else - CONFIG_CHECK+=" - ~NETFILTER_XT_TARGET_MASQUERADE" - fi - fi - - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~IP_NF_TARGET_REJECT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi - - python-any-r1_pkg_setup -} - -src_prepare() { - touch "${S}/.mailmap" || die - - default - python_fix_shebang . - - # Skip fragile tests which relies on pristine environment - # (Breaks because of sandbox environment variables) - # bug #802876 - sed -i -e "/commandtest/d" tests/meson.build || die - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" -} - -src_configure() { - local emesonargs=( - $(meson_feature apparmor) - $(meson_feature apparmor apparmor_profiles) - $(meson_feature audit) - $(meson_feature caps capng) - $(meson_feature dtrace) - $(meson_feature firewalld) - $(meson_feature fuse) - $(meson_feature glusterfs) - $(meson_feature glusterfs storage_gluster) - $(meson_feature iscsi storage_iscsi) - $(meson_feature iscsi-direct storage_iscsi_direct) - $(meson_feature libvirtd driver_libvirtd) - $(meson_feature libssh) - $(meson_feature libssh2) - $(meson_feature lvm storage_lvm) - $(meson_feature lvm storage_mpath) - $(meson_feature lxc driver_lxc) - $(meson_feature nbd libnbd) - $(meson_feature nls) - $(meson_feature numa numactl) - $(meson_feature numa numad) - $(meson_feature openvz driver_openvz) - $(meson_feature parted storage_disk) - $(meson_feature pcap libpcap) - $(meson_feature policykit polkit) - $(meson_feature qemu driver_qemu) - $(meson_feature qemu yajl) - $(meson_feature rbd storage_rbd) - $(meson_feature sasl) - $(meson_feature selinux) - $(meson_feature test tests) - $(meson_feature udev) - $(meson_feature virt-network driver_network) - $(meson_feature virtualbox driver_vbox) - $(meson_feature wireshark-plugins wireshark_dissector) - $(meson_feature xen driver_libxl) - $(meson_feature zfs storage_zfs) - - -Dnetcf=disabled - -Dsanlock=disabled - -Dopenwsman=disabled - - -Ddriver_esx=enabled - -Dinit_script=systemd - -Dqemu_user=$(usex caps qemu root) - -Dqemu_group=$(usex caps qemu root) - -Ddriver_remote=enabled - -Dstorage_fs=enabled - -Ddriver_vmware=enabled - - --localstatedir="${EPREFIX}/var" - -Dinitconfdir="${EPREFIX}/etc/systemd" - -Drunstatedir="${EPREFIX}/run" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - # Workaround for bug #938302 - if use dtrace && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - local native_file="${T}"/meson.${CHOST}.ini.local - cat >> ${native_file} <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - emesonargs+=( --native-file "${native_file}" ) - fi - - meson_src_configure -} - -src_test() { - export VIR_TEST_DEBUG=1 - # Don't run the syntax check tests, they're fragile and not relevant - # to us downstream anyway. - # We also crank up the timeout (as Fedora does) just to preempt failures - # on slower arches. - meson_src_test --no-suite syntax-check --timeout-multiplier 10 -} - -src_install() { - meson_src_install - - # Depending on configuration option, libvirt will create some bogus - # directoreis. They are either not used, or libvirtd is able to create - # them on demand, so let's remove them. - # - # Note, we are using -f here so that rm does not fail or warn if the - # directory is nonexistent. - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - rm -rf "${D}"/run - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd - newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests - newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd - newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - tmpfiles_process libvirtd.conf - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-9.9.0-r5.ebuild b/app-emulation/libvirt/libvirt-9.9.0-r5.ebuild deleted file mode 100644 index 82ed2ea58b7b..000000000000 --- a/app-emulation/libvirt/libvirt-9.9.0-r5.ebuild +++ /dev/null @@ -1,384 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Packages which get releases together: -# app-emacs/nxml-libvirt-schemas -# dev-python/libvirt-python -# dev-perl/Sys-Virt -# app-emulation/libvirt -# Please bump them together! - -PYTHON_COMPAT=( python3_{10..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc -inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" - EGIT_BRANCH="master" -else - SRC_URI="https://download.libvirt.org/${P}.tar.xz - verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/" -LICENSE="LGPL-2.1" -SLOT="0/${PV}" -IUSE=" - apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs - iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa - openvz parted pcap policykit +qemu rbd sasl selinux test +udev virtiofsd - virtualbox +virt-network wireshark-plugins xen zfs -" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - qemu? ( libvirtd ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -BDEPEND=" - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - dev-python/docutils - virtual/pkgconfig - net-libs/rpcsvc-proto - bash-completion? ( >=app-shells/bash-completion-2.0 ) - verify-sig? ( sec-keys/openpgp-keys-libvirt )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent. -RDEPEND=" - acct-user/qemu - app-misc/scrub - >=dev-libs/glib-2.56.0 - dev-libs/libgcrypt - dev-libs/libnl:3 - >=dev-libs/libxml2-2.9.1 - >=net-analyzer/openbsd-netcat-1.105-r1 - >=net-libs/gnutls-3.2.0:= - net-libs/libtirpc:= - >=net-misc/curl-7.18.0 - sys-apps/dbus - sys-apps/dmidecode - sys-devel/gettext - >=sys-libs/readline-7.0:= - virtual/acl - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dtrace? ( dev-debug/systemtap ) - firewalld? ( >=net-firewall/firewalld-0.6.3 ) - fuse? ( sys-fs/fuse:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( >=sys-block/open-iscsi-1.18.0 ) - iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) - libssh? ( >=net-libs/libssh-0.8.1:= ) - libssh2? ( >=net-libs/libssh2-1.3 ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] ) - lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] ) - nbd? ( - sys-block/nbdkit - sys-libs/libnbd - ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[lvm] - ) - pcap? ( >=net-libs/libpcap-1.8.0 ) - policykit? ( - acct-group/libvirt - >=sys-auth/polkit-0.9 - ) - qemu? ( - >=app-emulation/qemu-4.2 - app-crypt/swtpm - >=dev-libs/yajl-2.0.3:= - ) - rbd? ( sys-cluster/ceph ) - sasl? ( >=dev-libs/cyrus-sasl-2.1.26 ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[dhcp,ipv6(+),script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6(+)] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtiofsd? ( app-emulation/virtiofsd ) - virtualbox? ( <app-emulation/virtualbox-7.1.0 ) - wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= ) - xen? ( - >=app-emulation/xen-4.9.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/libudev:= - >=x11-libs/libpciaccess-0.10.9 - ) - zfs? ( sys-fs/zfs ) - kernel_linux? ( sys-apps/util-linux )" -DEPEND=" - ${BDEPEND} - ${RDEPEND} - ${PYTHON_DEPS} -" -# The 'circular' dependency on dev-python/libvirt-python is because of -# virt-qemu-qmp-proxy. -PDEPEND=" - qemu? ( dev-python/libvirt-python ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch - "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch - "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch - "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch - "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch - "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch -) - -pkg_setup() { - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM - ~IP_NF_FILTER - ~IP_NF_MANGLE - ~IP_NF_NAT - ~IP6_NF_FILTER - ~IP6_NF_MANGLE - ~IP6_NF_NAT" - - # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6 - if use virt-network ; then - if kernel_is -lt 5 2 ; then - CONFIG_CHECK+=" - ~IP_NF_TARGET_MASQUERADE" - else - CONFIG_CHECK+=" - ~NETFILTER_XT_TARGET_MASQUERADE" - fi - fi - - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~IP_NF_TARGET_REJECT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi - - python-any-r1_pkg_setup -} - -src_prepare() { - touch "${S}/.mailmap" || die - - default - python_fix_shebang . - - # Skip fragile tests which relies on pristine environment - # (Breaks because of sandbox environment variables) - # bug #802876 - sed -i -e "/commandtest/d" tests/meson.build || die - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" -} - -src_configure() { - local emesonargs=( - $(meson_feature apparmor) - $(meson_feature apparmor apparmor_profiles) - $(meson_feature audit) - $(meson_feature caps capng) - $(meson_feature dtrace) - $(meson_feature firewalld) - $(meson_feature fuse) - $(meson_feature glusterfs) - $(meson_feature glusterfs storage_gluster) - $(meson_feature iscsi storage_iscsi) - $(meson_feature iscsi-direct storage_iscsi_direct) - $(meson_feature libvirtd driver_libvirtd) - $(meson_feature libssh) - $(meson_feature libssh2) - $(meson_feature lvm storage_lvm) - $(meson_feature lvm storage_mpath) - $(meson_feature lxc driver_lxc) - $(meson_feature nbd nbdkit) - $(meson_feature nls) - $(meson_feature numa numactl) - $(meson_feature numa numad) - $(meson_feature openvz driver_openvz) - $(meson_feature parted storage_disk) - $(meson_feature pcap libpcap) - $(meson_feature policykit polkit) - $(meson_feature qemu driver_qemu) - $(meson_feature qemu yajl) - $(meson_feature rbd storage_rbd) - $(meson_feature sasl) - $(meson_feature selinux) - $(meson_feature test tests) - $(meson_feature udev) - $(meson_feature virt-network driver_network) - $(meson_feature virtualbox driver_vbox) - $(meson_feature wireshark-plugins wireshark_dissector) - $(meson_feature xen driver_libxl) - $(meson_feature zfs storage_zfs) - - -Dnetcf=disabled - -Dsanlock=disabled - -Dopenwsman=disabled - - -Ddriver_esx=enabled - -Dinit_script=systemd - -Dqemu_user=$(usex caps qemu root) - -Dqemu_group=$(usex caps qemu root) - -Ddriver_remote=enabled - -Dstorage_fs=enabled - -Ddriver_vmware=enabled - - --localstatedir="${EPREFIX}/var" - -Dinitconfdir="${EPREFIX}/etc/systemd" - -Drunstatedir="${EPREFIX}/run" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - # Workaround for bug #938302 - if use dtrace && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - local native_file="${T}"/meson.${CHOST}.ini.local - cat >> ${native_file} <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - emesonargs+=( --native-file "${native_file}" ) - fi - - meson_src_configure -} - -src_test() { - export VIR_TEST_DEBUG=1 - # Don't run the syntax check tests, they're fragile and not relevant - # to us downstream anyway. - # We also crank up the timeout (as Fedora does) just to preempt failures - # on slower arches. - meson_src_test --no-suite syntax-check --timeout-multiplier 10 -} - -src_install() { - meson_src_install - - # Depending on configuration option, libvirt will create some bogus - # directoreis. They are either not used, or libvirtd is able to create - # them on demand, so let's remove them. - # - # Note, we are using -f here so that rm does not fail or warn if the - # directory is nonexistent. - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - rm -rf "${D}"/run - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd - newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests - newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd - newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - tmpfiles_process libvirtd.conf - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index d87fbdaace17..38a8bb51cf88 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -156,7 +156,7 @@ PDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-11.0.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-10.7.0-fix-paths-for-apparmor.patch ) diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index d53e317c552e..b92b8ba38792 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -39,7 +39,7 @@ EBUILD qemu-8.2.3.ebuild 28076 BLAKE2B 4ba0551fd54b62ea9cd566221b0a4e8d9743e40e8 EBUILD qemu-8.2.7.ebuild 28076 BLAKE2B 1560832941e14183cb7837bff7da86a8208f9dcf0f260f02549c057c38b225a6a2eeab0c44822704c1a9aeaa05c7d9f1e77b6c59e3b1196b1140e117b59ff058 SHA512 ddcbb71c98b243616fedf7ef71e00f335886cf3a2257f3faf956cd41f6457f6351b2a0af9db2ec99de734237bc64347422e445c1906811e5f02b5458ed462d8f EBUILD qemu-8.2.8.ebuild 28080 BLAKE2B 68226fb94d2febe2e47d27c9452376d420803cd26471ab3e2cf0ca89fdd32b427a3288dfc05dd82c6a1f7d6cd86c6241e5cc22c333247b5d801efbcdb6fef5dc SHA512 b984b809661d79dbbb3b7050da56a14a767b8514c9a2dc88e8f56fa05854d86a5983141dd2c537340bdd74d0a8a29d905670dabcbe86d55f185ed6988ba7f160 EBUILD qemu-9.0.4.ebuild 28295 BLAKE2B 825f64425eede13d8f3be3ddbe002e3976b9a8a341a73665f72e14fa61819ef14b3d20527b082c549584344f9d1811c9ee80be817f5a0b167fd36c4fdc0f1e09 SHA512 d65ae4a48ab9e35cadde02f21150ac055072b4d186da9389db3c147d140a4e510170bb3fe3b02e69d61456e7e5bce2f847fa40015d96272d233690584ea55902 -EBUILD qemu-9.1.2.ebuild 28286 BLAKE2B c1774c10edf579952c369bcc3001732ae0f65112f88145b6c40a988a7d7458214a2837085efce4233861f10a2adacb8a1e762d524dcd6d3d4f4e4954d1c7a546 SHA512 33f78a6155229fa15182c610961500f8a4194fdec76b07bcaedbc81396150e4a5d6fee456c31db4d478751c03e8e99b3739042fac14f19d4dfabd2e90dde7440 +EBUILD qemu-9.1.2.ebuild 28284 BLAKE2B 6939f9253d0b1edfb2dc93bfeeb7014f2a0f7b5a95404c20ce7c4ad0e5a3d4c20b79746df14c96a68b138363cb370db22eb753237ec533fa949844fdf50de304 SHA512 fb482beb951cc48040f159c47cffde7b6447d4424f33bd3a97472fbabf9068361d39a2174d6c1b3ad1ef30fe1084f7dfb6ffb63f446846e93818f17cb8f51769 EBUILD qemu-9.2.0.ebuild 28280 BLAKE2B 3b7299a6e20db1a62b3a9346861cacf7a139ad490c5f6e8038d92188247d7141801486c5dac409b7e28ac0b159fa19b0e38336d0d34190b274a767e3a8cb1f98 SHA512 bf1d8c5baa5c46b4900b0dc43c15d2fc6f30f4a75b772bb4c94d9c6cbe857d461e2a57444f592442ccd0b1c576788d2a1cfc66530edded70eb8452242cc5d919 EBUILD qemu-9999.ebuild 28237 BLAKE2B 358bd951084972f0ac9aaa70beb777a711170bb460704a9d4d27ef6a2c748d7ed6b9a21a6425601ed5d561df2a1e1d568f0330a66c360888d84b982a343ac8cd SHA512 252cf2c2fdfa12c0894adfbca82a5f8bd1b1e62dce9c3f2eb075a0e5e4855b490cea79aa4d3c01e0afa73788d273da813d840c026eaf9a289464a88a15cf4590 MISC metadata.xml 4516 BLAKE2B f46e6395374e5dd22a3304ee5c012311f1ea794038c490ee2e709e3e8ced4f476d34704581b35e049b5f06aa59b59a4392896b566020b35e638c3837eeff66f5 SHA512 34ecef876f4dbfcba11fd02aa40fef9a3a099f4e4912d7a9f81d3663130893b0e1327cd4725e60d47372ee3754435011681e9fff3bd9b97da198273947d47e04 diff --git a/app-emulation/qemu/qemu-9.1.2.ebuild b/app-emulation/qemu/qemu-9.1.2.ebuild index df4b36f615e0..55b0215c9f4e 100644 --- a/app-emulation/qemu/qemu-9.1.2.ebuild +++ b/app-emulation/qemu/qemu-9.1.2.ebuild @@ -47,7 +47,7 @@ else fi S="${WORKDIR}/${MY_P}" - [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86" + [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" diff --git a/app-emulation/virtiofsd/Manifest b/app-emulation/virtiofsd/Manifest index 657f5767fb6a..6c5681690802 100644 --- a/app-emulation/virtiofsd/Manifest +++ b/app-emulation/virtiofsd/Manifest @@ -108,8 +108,8 @@ DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65 DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602 DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396 DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795 -EBUILD virtiofsd-1.10.0-r1.ebuild 3242 BLAKE2B d5c5f6db32741c9af12024a11163e7baffeec92ea64a864429b2c6cefbfce8985c6b51113b2b872d6ecd5daef4a75f591df548844c9898f96db2f11f2e9c2126 SHA512 d3e325fa640692af846c495b5dd1689b991ba849a820b086ab00d84c42d3a45fe45342217030105f020fe903f5e79324b2606aad17610965b786257cb9e249d6 -EBUILD virtiofsd-1.10.1-r1.ebuild 3242 BLAKE2B d5c5f6db32741c9af12024a11163e7baffeec92ea64a864429b2c6cefbfce8985c6b51113b2b872d6ecd5daef4a75f591df548844c9898f96db2f11f2e9c2126 SHA512 d3e325fa640692af846c495b5dd1689b991ba849a820b086ab00d84c42d3a45fe45342217030105f020fe903f5e79324b2606aad17610965b786257cb9e249d6 -EBUILD virtiofsd-1.11.1-r1.ebuild 3512 BLAKE2B d014cf3348cbe41286622b7a73f3d134901c99d0133ecdf477e4e2a770ceaef73ad07a4ae291cb6fbd4b2f05bbd14b0591ebab9e337f29f645eb362ef50428f1 SHA512 9b4ead9303fb19b4e585af9d6bb8e7bf4e22e73d8421f0ccd37bc9e713c6d053e93ab4987ca93713cc04f35bed3fe023e67f94b9a295a0c5e7a7d0b54fd59d0a -EBUILD virtiofsd-9999.ebuild 3514 BLAKE2B 8a4a4927944e9090cbf5fcd97ac6e146cf8cf09c25b0f67d268042b13424abc8b66fda55f5c1616a0e2c7abc6410885fe5c2d4e999d5f187cef32ebb1cb89c42 SHA512 1d520b6f1339c2c7b35f2b6a0aa7ee867563b67596840a85bb187d9e7f6a17e881c61884799f92f07af928fee3edc515347ab07e0ee715a4d961a6e949947714 +EBUILD virtiofsd-1.10.0-r2.ebuild 3262 BLAKE2B 0c38d248d1561711a6c035f6fc20d21f8bc76b8712a93376bcbb449af48f1fc41f86a3e3df5e0d27b00dbab1d857f356111a1c6e51ef10c4717d0e8e18fd8faf SHA512 393248ba1861d1ceef2ba2ef0162106b1f0f81413e8eb515c3be598445a52ab8e55f5758462816214872aa935c7d1c1eb32d6f78fb64ad3c34cea38ea5dac3d6 +EBUILD virtiofsd-1.10.1-r2.ebuild 3262 BLAKE2B 0c38d248d1561711a6c035f6fc20d21f8bc76b8712a93376bcbb449af48f1fc41f86a3e3df5e0d27b00dbab1d857f356111a1c6e51ef10c4717d0e8e18fd8faf SHA512 393248ba1861d1ceef2ba2ef0162106b1f0f81413e8eb515c3be598445a52ab8e55f5758462816214872aa935c7d1c1eb32d6f78fb64ad3c34cea38ea5dac3d6 +EBUILD virtiofsd-1.11.1-r2.ebuild 3532 BLAKE2B e6852baea788130197e13c1d450221eec9ffc4c5d42b18861b70389f1de63a15bab21fd6260ae007640212831b4d7964e5f8750ad82ae3ec0b0e425fd92493f5 SHA512 fd748235fe6edbb9cbd2ff8a72e189434f5295ea72f13b0d179e8825d83ffa0d646d35b17b00ba0232d655088dab40a1dd4ab66fd07f139f5adca1986f5069ea +EBUILD virtiofsd-9999.ebuild 3534 BLAKE2B 912af0634e4817161e5605da76aeeb08496b59834023d7a2e6b73f339a328087645889730c254e10cd3c050cfd58f7e99dbd93112ce47aefbe78f7ee27272677 SHA512 5642cb9cb408be36ed0a3f6568a9faaafaf30e7719db8efe4d09bfdf5e65c048494425cf62efa3c312f8fd9e42f53dd7681ebffd62d55ccb1c942eeef52eeced MISC metadata.xml 489 BLAKE2B bc6fc4d8ed57fb5a61ea1e2097e8e6deb1ddc302a55d5e5b25995686701c20bffdf066c7d68c84f94aa99ff0bf0551eb8ad44bda627e92741b995c355c28e33c SHA512 db2f4049f8e48b16198cc06c70ce46ca94875590ef82d75d3363fd4ec67de4d5ea35a544f709e466bb8689b9100605439f3207d22f1a06fce7428b1fb706a5c7 diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.0-r2.ebuild index 7358e8fdae58..759422cc0c4f 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.10.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -117,7 +117,10 @@ DEPEND=" sys-libs/libcap-ng sys-libs/libseccomp " -RDEPEND="${DEPEND}" +RDEPEND=" + sys-apps/shadow + ${DEPEND} +" # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.1-r2.ebuild index 7358e8fdae58..759422cc0c4f 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.10.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -117,7 +117,10 @@ DEPEND=" sys-libs/libcap-ng sys-libs/libseccomp " -RDEPEND="${DEPEND}" +RDEPEND=" + sys-apps/shadow + ${DEPEND} +" # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / diff --git a/app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.11.1-r2.ebuild index b3bb153f56ea..5a1baa46adda 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.11.1-r2.ebuild @@ -132,7 +132,10 @@ DEPEND=" sys-libs/libcap-ng sys-libs/libseccomp " -RDEPEND="${DEPEND}" +RDEPEND=" + sys-apps/shadow + ${DEPEND} +" # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild index 410c131a66b5..1dcf144c3b39 100644 --- a/app-emulation/virtiofsd/virtiofsd-9999.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -132,7 +132,10 @@ DEPEND=" sys-libs/libcap-ng sys-libs/libseccomp " -RDEPEND="${DEPEND}" +RDEPEND=" + sys-apps/shadow + ${DEPEND} +" # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / diff --git a/app-emulation/virtualbox-kvm/Manifest b/app-emulation/virtualbox-kvm/Manifest index db7fc5750b80..96deee20b693 100644 --- a/app-emulation/virtualbox-kvm/Manifest +++ b/app-emulation/virtualbox-kvm/Manifest @@ -10,12 +10,16 @@ AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171 DIST VirtualBox-7.0.22.tar.bz2 174643573 BLAKE2B 93ba1dd44a7147e61d72489a127e497f510c12eef576f8a30af45011e383050a908124c0f9794a92f28400cbb2f230308884893bafacd4f8a391b2354958f02d SHA512 eb231cc487becfbad8c979fb9d6a1ede3a28a1bb11e77b1482181be4bd294fd209c77a7d599562f99f1ac2be587203b9d97230ccce4f85ed96c63e66b0fce392 DIST VirtualBox-7.1.4.tar.bz2 206218796 BLAKE2B 62a4f44b4eac2e1cb2c0bace5dfabf86c41b738d81aede3de75d88159a8d76158748eaae38ee3eedbc0f79b639a875f1ef6805a8ca7c95021f475935f54d7ef9 SHA512 97654339d509447e2604db01e29f9e810f59498a378e645f412cffb67022c4e547f205e8ebdac6ae33aaa8f7bc0f289bdca2e5a04b1fa31b4a05c191d7600a9c +DIST VirtualBox-7.1.6a.tar.bz2 205777317 BLAKE2B 584a53df603311bb1d49c8564bb05015426c678d58578327a73e1bb5d8ed4f0563a4edfaea13f3d41acc6902567572e67225cc9ea797b15489fb3d786d35c3f9 SHA512 fbb9487d531db6bf176e73f307ef1b65cc5263c8e5f38755cdc6bed41fe2906ffbd64076d42b8b505183d0ae054d8f6bccc522e981edd5a815e440066327cd3b DIST virtualbox-help-7.0.22.tar.xz 3950712 BLAKE2B 381743c2d6e5da940865818c725bc299ae7b178f25f822cb25a8bc2ed69fa32e3999a8f795132ffe7f01d1ae6c19f5e91d89a09dfa5cc6919cfeae4b6c420951 SHA512 4ae974a9a166c483d767ea1417afac04a8a5f3eb51bb78e4254c5e5577aaa5a64e39fe151ae73f7bc560ed63ca09a02c49c0314bbac3bea6a1331b2b852a1a0f DIST virtualbox-help-7.1.4.tar.xz 1586108 BLAKE2B e8219ed67b1db9a5e4d0271e25980fbcbfb8c72316dc4bd3337080c81082bb8ecad9c9317b5b9be77db1eeac42c567512a64fe86ae9bb6371dea8632e7afc9ab SHA512 185249fe2bdf2138a034c53e23eedb88cf487e1fb26a8bd623f0d75ea0d2ff4dff3484564a5b317703fb3f302ec7037cb0a49c7c3845e229fe2ac9e2c8c96af6 +DIST virtualbox-help-7.1.6a.tar.xz 984912 BLAKE2B fe30248627e61f75c6486b7ff73b68027cf9804bfc2df9d331dfbcb93571fb6816d95a35a05719a136d6540035f3bb628f6c61a8ca6ed704d10738b4017f9ad8 SHA512 528b74c170b1ab13b05df03c104f735a67f79cce4d2c03f7094a3cf481f0a832586d07137cab746eeeaae475f671c17996cd3c3acd9f72b77d24bef9a9a403e6 DIST virtualbox-kvm-20240828.tar.gz 130388 BLAKE2B 68589fce348efe37a46d4e6cb28ced18969c5cffbd3dcaf85a4f0a085782521a26b4fe4901bda914a17dc97514df7c2a0548d616830abdb9b279afc1508f6c28 SHA512 3625a069729158e48d0f356d34657b925e235f24af0cd42d01625936b6baf1f16ab11448fb7c82190722e24b81b240b08786154ad26050ed6dff2c69c89e0cd4 DIST virtualbox-kvm-20241220.tar.gz 86479 BLAKE2B d0b152bcc1ab2c5255d5e39b297b7375ad527c510d2d518d007aabfa1bcfb94a3decc847e80d01b7b2e8d0b014988d1764ea952fbf2921f337ca2480abd91eca SHA512 54c645368d0769c8da6d630132976b049722baa43846bcd019778f36e272df6714a7634273105cdb965a02904b326bede153c7387d581b713bcef9bfc665a3f7 +DIST virtualbox-kvm-20250207.tar.gz 65940 BLAKE2B 85d6f8d601e8476e19ce9dc4848c08db23bed1edea9999e61b7e68d36f972b147cb73cb6fb67a7a66bb5104e4c6b25872f5cf190db950a84d2ce4994affc740f SHA512 c0ded2ed4dbda6ccaf9104ac973ee50593ba950979ba1988d5563951e52028777277b861505211e34aea115b5fed28abcf6fe5ac3547b58d34ffdbc00ef26b02 DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992 DIST virtualbox-patches-7.1.4-r1.tar.bz2 6140 BLAKE2B dc84a0522629d06b72ff98e330e2c104e55185914238fed53d696399e43400a1c32979724c156479c3a67d2c64f7f8389d58a83242de559cf8dd89fbda0804e6 SHA512 3541ace61bd64f6ecb2f7b3aaa2383c33ae51682676eead78b267ff82d46e769117f074a534301e734408efa0e622d63e778085f06741223b35ed8caaacc003d EBUILD virtualbox-kvm-7.0.22_pre20240828.ebuild 21476 BLAKE2B 34cb426bb6e20ca8e5e250f41a6dab0dda36384cd4a496f5d817859d19c5c3b7549e95c95da744edd6735a853327a13d58345b0f771a3012cfcd5fbfae34c526 SHA512 1635586f79ca8e32d701ccbe5ceca02dad8536fbcb0b88561954812f124596436c34ac215c959570b8b1002b832a33e913784d59f1e67e1f07acb01116cfc12c EBUILD virtualbox-kvm-7.1.4_pre20241220.ebuild 22485 BLAKE2B 3774d7325020d6920c4b12cf3efe74b44f9a1ec9bb0888de63b92a1ffa3066e921595fe79b22472520e906fda83fdd6cc9d1a785915a752d74d05f9633bf673d SHA512 1522f0ac02575f2fbbf1a6796229ce269f82a9fe6c16b6519285a2a923727bc39b92871c294ade451f97ed5cf19cb0236079107a42d5dd19240fd022addbb72b +EBUILD virtualbox-kvm-7.1.6a_pre20250207.ebuild 22491 BLAKE2B b3043912c678de99380798dbb63d9225c5bb27ac8c5ef8f978a6825d11d12d95bd57032da99571b85f6ec6f7f92bbc194c1f0075c216d091999b98f5b7dffae2 SHA512 4f2c926b59ebb4f494628d63c1df605db2660e34a5a12a55b191c778029b8a6c5cb48424ec0719cb819d11688e5cd52fc90ac24a27d2abcb8e5d19d77b868f8d MISC metadata.xml 974 BLAKE2B c83434d291bfedba474feb955752d2e81141d053f021f11cc1dfb72c893bb2765b234157f337a0b6c0fc7a1f6b15dc9fb74a9862be3ee1675b09928cd08b5e89 SHA512 e02aeb6fc0dd013bd0717428208dd450f6557e23b25211b7ad791ee5ac226028580c56b63f95d361b146bb2c718b28baba0b0b2ba6ad9e8c60b43663e307cf94 diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.1.6a_pre20250207.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.1.6a_pre20250207.ebuild new file mode 100644 index 000000000000..7f184522a4e8 --- /dev/null +++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.1.6a_pre20250207.ebuild @@ -0,0 +1,788 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# To add a new Python here: +# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic) +# Do NOT skip this part. It'll end up silently not-building the Python extension +# or otherwise misbehaving if you do. +# +# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python. +# +# May need to look at other distros (e.g. Arch Linux) to find patches for newer +# Python versions as upstream tends to lag. Upstream may have patches on their +# trunk branch but not release branch. +# +# See bug #785835, bug #856121. +PYTHON_COMPAT=( python3_{10..11} ) + +inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \ + python-single-r1 tmpfiles toolchain-funcs udev xdg + +PATCHES_PV="7.1.4-r1" +ORIGIN_PN="VirtualBox" +ORIGIN_PV=${PV%_pre*} + +MY_PN=virtualbox +MY_PV=${PV#*_pre} +MY_P=${ORIGIN_PN}-${ORIGIN_PV} + +PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV} + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm" +SRC_URI=" + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2 + https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz + https://download.virtualbox.org/virtualbox/${ORIGIN_PV%*a}/${MY_P}.tar.bz2 + gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) ) +" +S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV%*a}" + +LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="alsa dbus debug doc dtrace +gui +hardened java lvm nls pam pch pulseaudio +opengl python +sdk +sdl test +udev vboxwebsrv vde +vmmraw vnc" +RESTRICT="!test? ( test )" + +unset WATCOM #856769 + +COMMON_DEPEND=" + acct-group/vboxusers + app-arch/xz-utils + dev-libs/libtpms + dev-libs/libxml2 + dev-libs/openssl:0= + media-libs/libpng:0= + media-libs/libvpx:0= + net-misc/curl + sys-libs/zlib + dbus? ( sys-apps/dbus ) + gui? ( + dev-qt/qtbase:6[widgets] + dev-qt/qtscxml:6 + dev-qt/qttools:6[assistant] + x11-libs/libX11 + x11-libs/libXt + ) + lvm? ( sys-fs/lvm2 ) + opengl? ( + media-libs/libglvnd[X] + media-libs/vulkan-loader + x11-libs/libX11 + x11-libs/libXt + ) + pam? ( sys-libs/pam ) + python? ( ${PYTHON_DEPS} ) + sdl? ( + media-libs/libsdl2[X,video] + x11-libs/libX11 + x11-libs/libXt + ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] ) + vde? ( net-misc/vde ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport +# with USE="vboxwebsrv java". Note that we have to put things in DEPEND, +# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables +# based on *DEPEND doesn't work for BDEPEND at least right now. +# +# There's a comment in Config.kmk about it +# ("With Java 11 wsimport was removed, usually part of a separate install now.") +# but it needs more investigation. +# +# See bug #878299 to track this issue. +DEPEND=" + ${COMMON_DEPEND} + >=dev-libs/libxslt-1.1.19 + virtual/libcrypt:= + x11-libs/libXt + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + gui? ( + x11-base/xorg-proto + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXmu + x11-libs/libXrandr + ) + java? ( virtual/jdk:1.8 ) + opengl? ( + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXinerama + x11-libs/libXmu + x11-libs/libXrandr + virtual/glu + ) + sdl? ( + x11-libs/libXcursor + x11-libs/libXinerama + ) + pulseaudio? ( media-libs/libpulse ) + udev? ( >=virtual/udev-171 ) +" +RDEPEND=" + !app-emulation/virtualbox + ${COMMON_DEPEND} + gui? ( x11-libs/libxcb:= ) + java? ( virtual/jre:1.8 ) +" +BDEPEND=" + >=app-arch/tar-1.34-r2 + >=dev-lang/yasm-0.6.2 + dev-libs/libIDL + dev-util/glslang + >=dev-build/kbuild-0.1.9998.3592 + sys-apps/which + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-doc/dita-ot-bin + app-text/docbook-sgml-dtd:4.4 + app-text/docbook-xsl-ns-stylesheets + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + dev-qt/qttools:6[assistant] + sys-libs/nss_wrapper + ) + gui? ( dev-qt/qttools:6[linguist] ) + nls? ( dev-qt/qttools:6[linguist] ) + java? ( virtual/jdk:1.8 ) + python? ( + ${PYTHON_DEPS} + test? ( + $(python_gen_cond_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) + ) +" + +QA_FLAGS_IGNORED=" + usr/lib64/virtualbox/VBoxDDR0.r0 + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug +" + +QA_TEXTRELS=" + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0 +" + +QA_EXECSTACK=" + usr/lib64/virtualbox/iPxeBaseBin + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/VBoxDDR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug +" + +QA_WX_LOAD=" + usr/lib64/virtualbox/iPxeBaseBin +" + +QA_PRESTRIPPED=" + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/VBoxDDR0.r0 + usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0 +" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ${PYTHON_REQUIRED_USE} ) + vboxwebsrv? ( java ) +" + +PATCHES=( + # Downloaded patchset + "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches + "${PATCHES_DIR}"/patches +) + +pkg_pretend() { + if ! use gui; then + einfo "No USE=\"gui\" selected, this build will not include any Qt frontend." + fi + + if ! use opengl; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use nls && use gui; then + einfo "USE=\"gui\" also selects USE=\"nls\". This build" + einfo "will have NLS support." + fi + + # 749273 + local d=${ROOT} + for i in usr "$(get_libdir)"; do + d="${d}/$i" + if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then + die "${d} should be owned by root, VirtualBox will not start otherwise" + fi + done +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if use python; then + mkdir test + cp "${FILESDIR}"/test_python.py test/ + python_fix_shebang test/test_python.py + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie; then + eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch + fi + + # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775 + rm -r kBuild/bin || die + # Remove everything in tools except kBuildUnits + find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die + + if ! use pch; then + # bug #753323 + printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \ + >> LocalConfig.kmk || die + fi + + # bug #916002, #488176, #925347 + tc-ld-is-mold || tc-ld-force-bfd + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam; then + einfo "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die + fi + + # add correct java path + if use java; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # bug #940482 + filter-flags -fno-plt + + # bug #908814 + filter-lto + + # bug #843437 + cat >> LocalConfig.kmk <<-EOF || die + CXXFLAGS=${CXXFLAGS} + CFLAGS=${CFLAGS} + EOF + + if use sdl; then + sed -i 's/sdl-config/sdl2-config/' configure || die + echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die + fi + + #443830 + echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die + + if tc-is-clang; then + # clang does not support this extension + eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch + fi + + # fix doc generation + echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die + # replace xhtml names with numeric equivalents + find doc/manual -name \*.xml -exec sed -i \ + -e 's/ /\ /g' \ + -e 's/–/\–/g' \ + -e 's/←/\←/g' \ + -e 's/→/\→/g' \ + -e 's/↔/\↔/g' {} \+ || die + + # fix help path #891879 + echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die + + # 489208 + # Cannot patch the whole text, many translations. Use sed instead to replace the command + find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \ + 's/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || die + sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \ + src/VBox/Frontends/VirtualBox/src/main.cpp \ + src/VBox/VMM/VMMR3/VM.cpp || die + + # 890561 + echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die + + if ! use nls && ! use gui; then + cat >> LocalConfig.kmk <<-EOF || die + VBOX_WITH_NLS := + VBOX_WITH_MAIN_NLS := + VBOX_WITH_PUEL_NLS := + VBOX_WITH_VBOXMANAGE_NLS := + EOF + fi +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + export HOST_CC="$(tc-getBUILD_CC)" + + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --disable-kmods + --with-kvm + + $(usev !alsa --disable-alsa) + $(usev !dbus --disable-dbus) + $(usev debug --build-debug) + $(usev !doc --disable-docs) + $(usev !hardened --disable-hardening) + $(usev !java --disable-java) + $(usev !lvm --disable-devmapper) + $(usev !pulseaudio --disable-pulse) + $(usev !python --disable-python) + $(usev vboxwebsrv --enable-webservice) + $(usev vde --enable-vde) + $(usev !vmmraw --disable-vmmraw) + $(usev vnc --enable-vnc) + ) + + if use gui || use sdl || use opengl; then + myconf+=( + $(usev !opengl --disable-opengl) + $(usev !gui --disable-qt) + $(usev !sdl --disable-sdl) + ) + else + myconf+=( + --build-headless + ) + fi + + if use amd64 && ! has_multilib_profile; then + myconf+=( --disable-vmmraw ) + fi + + # not an autoconf script + edo ./configure "${myconf[@]}" + + # Force usage of chosen Python implementation + # bug #856121, bug #785835 + sed -i \ + -e '/VBOX_WITH_PYTHON.*=/d' \ + -e '/VBOX_PATH_PYTHON_INC.*=/d' \ + -e '/VBOX_LIB_PYTHON.*=/d' \ + AutoConfig.kmk || die + + if use python; then + cat >> AutoConfig.kmk <<-EOF || die + VBOX_WITH_PYTHON=$(usev python 1) + VBOX_PATH_PYTHON_INC=$(python_get_includedir) + VBOX_LIB_PYTHON=$(python_get_library_path) + EOF + + local mangled_python="${EPYTHON#python}" + mangled_python="${mangled_python/.}" + + # Stub out the script which defines what the Makefile ends up + # building for. gen_python_deps.py gets called by the Makefile + # with some args and it spits out a bunch of paths for a hardcoded + # list of Pythons. We just override it with what we're actually using. + # This minimises the amount of patching we have to do for new Pythons. + cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die + print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)") + print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)") + print("VBOX_PYTHONDEF_INC=$(python_get_includedir)") + print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)") + EOF + + chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die + else + cat >> AutoConfig.kmk <<-EOF || die + VBOX_WITH_PYTHON:= + EOF + fi +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_WITH_VBOXIMGMOUNT=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + + TOOL_YASM_AS=yasm + ) + + if use amd64 && has_multilib_profile; then + myemakeargs+=( + CC32="$(tc-getCC) -m32" + CXX32="$(tc-getCXX) -m32" + + TOOL_GCC32_CC="$(tc-getCC) -m32" + TOOL_GCC32_CXX="$(tc-getCXX) -m32" + TOOL_GCC32_LD="$(tc-getCC) -m32" + TOOL_GCC32_AS="$(tc-getCC) -m32" + TOOL_GCC32_AR="$(tc-getAR)" + TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GXX32_CC="$(tc-getCC) -m32" + TOOL_GXX32_CXX="$(tc-getCXX) -m32" + TOOL_GXX32_LD="$(tc-getCXX) -m32" + TOOL_GXX32_AS="$(tc-getCXX) -m32" + TOOL_GXX32_AR="$(tc-getAR)" + TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)" + ) + fi + + if use doc; then + # dita needs to write to ~/.fop and ~/.java + # but it ignores ${HOME} and tries to write to the real home of user portage + # resulting in a sandbox violation + # -Duser.home= does not work + # force using the temporary homedir with nss_wrapper + echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd + echo "${LOGNAME}::$(id -g):" >> ~/group + + local -x LD_PRELOAD=libnss_wrapper.so + local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd + local -x NSS_WRAPPER_GROUP="${HOME}"/group + fi + + MAKE="kmk" emake "${myemakeargs[@]}" all +} + +src_test() { + if use python; then + local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release) + local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}" + local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin + local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk + local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src + einfo "VBOX_APP_HOME ${VBOX_APP_HOME}" + einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}" + einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}" + einfo "PYTHONPATH ${PYTHONPATH}" + LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/ + fi +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${MY_PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${MY_PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${MY_PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload} \ + vboximg-mount vbox-img *so *r0; do + vbox_inst ${each} + done + + # These binaries need to be suid root with USE=hardened. + local mode=$(usex hardened 4750 0750) + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} ${mode} + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \ + VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount + dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img + + if use pam; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + # environment variables used during SDK binding installation + echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox" + echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if use sdl; then + vbox_inst VBoxSDL ${mode} + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + fi + + if use gui; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM ${mode} + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + newmenu ${MY_PN}.desktop ${PN}.desktop + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png + done + newicon ${MY_PN}-48px.png ${PN}.png + newicon -s scalable ${MY_PN}.svg ${PN}.png + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${MY_PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]]; then + newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm; then + vbox_inst VBoxVolInfo ${mode} + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev; then + local udevdir="$(get_udevdir)" + local udev_file="VBoxCreateUSBNode.sh" + local rules_file="10-virtualbox.rules" + + insinto ${udevdir} + doins ${udev_file} + fowners root:vboxusers ${udevdir}/${udev_file} + fperms 0750 ${udevdir}/${udev_file} + + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \ + > "${T}"/${rules_file} || die + doins "${T}"/${rules_file} + fi + + if use vboxwebsrv; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Remove dead symlinks (bug #715338) + find "${ED}"/usr/$(get_libdir)/${MY_PN} -xtype l -delete || die + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc; then + dodoc UserManual.pdf UserManual.q{ch,hc} + docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc} + elif use gui; then + dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc} + docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc} + fi + dodoc ${PATCHES_DIR}/README.* + + if use python; then + local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so" + if [[ ! -x "${python_path_ext}" ]]; then + eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python" + eerror "but none were installed. This may happen if support for a Python target" + eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles." + die "Incomplete installation of Python bindings! File a bug with Gentoo!" + fi + + # 378871 + local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src" + pushd "${installer_dir}" &> /dev/null || die + sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \ + -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \ + -i vboxapi/__init__.py || die + # insert shebang, the files come without one + find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die + python_domodule vboxapi + popd &> /dev/null || die + + # upstream added a /bin/sh stub here + # use /usr/bin/python3, python_doscript will take care of it + sed -e '1 i #! /usr/bin/python3' -i vboxshell.py + python_doscript vboxshell.py + + # do not install the installer + rm -r "${installer_dir%vboxapi*}" || die + fi + + newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev; then + udev_reload + udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process virtualbox-vboxusb.conf + + if use gui; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf" + elog "" + + optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities + optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle + optfeature "Guest additions ISO" app-emulation/virtualbox-additions + + if ! use udev; then + ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}." + fi +} + +pkg_postrm() { + xdg_pkg_postrm + + use udev && udev_reload +} diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index d412fc54a122..61b6684754c0 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -3,20 +3,14 @@ AUX wine-vanilla-7.0-unwind.patch 1694 BLAKE2B 017c7b761d692f8e8d23f52e51529880f AUX wine-vanilla-7.20-unwind.patch 1450 BLAKE2B 3f90cc131104ad72a11ae30c582b79b3e4d8c0278d51c0a193fb9e460cf088b315503bd08bd904e8d28f72f40ab3df90f83f2542b991888a2f504cc7d2adad4d SHA512 a6c4672a44c1220d5b1efabeca535a4a3510fe92aac73c38f65a09bfbd271af8b8b1bfe2c408ba5356806cb71252a6956b8130fcd06a475037b9e51d28c2a156 AUX wine-vanilla-8.13-rpath.patch 554 BLAKE2B 209d8c581a9178242ee622338c5252f79b798cf5574f72b3984d71b7933e011b488060502715aa75630fbc3d10fcb03743ac31ed31664cacfc22b725253a117b SHA512 bbb25e02d19bd7c1a1f2d7db331d93cfcd5ce9172206ad9e19a44c52e5ece865d474eac024c2a5791dfa006c6efe0f68cd783ffc925ac793bf447d56090bdd02 DIST wine-10.0.tar.xz 32011244 BLAKE2B 92178cf484cf33e9f3b8340429ee8e68c36e0d25eee4a892f059ab73f103cfcb9eb15e1883bc9fd8c8fe311d4ccbb56582d1f780da7b1406a7839a13addd29ae SHA512 effb41c5641993e2e52eaa825cc19b7d9846e084992c5a5b066ead2339b24384d320898a9cee347a9a87106bcb3b0f54c8cd2c8d4de3a887a658052ddd5168d6 +DIST wine-10.1.tar.xz 32026152 BLAKE2B 573c4cc10c96c164eb02111b0a457be5500ab42c6d103180af5b2f88cdbcc134ea1fdb794687e6c736ebb5f9aa266e51424df26cd239fa26679d968ab5844cc3 SHA512 2dbc63e43e2cc1e0bf6294a926e8afc316e9f32efdce644229cb33bba98f6001c3f285b527767a83e5284558ef11f00515048aad031c6fc9122a4ce0692952af DIST wine-7.0.2.tar.xz 27179980 BLAKE2B 721ab574092638b32d3a483b6ae3def0c9d706cc888662ca461ab8c7060b10077e83cede69663ea2a8b97729f3801209fbba5f8e8828ce20454700ffbbd76cb5 SHA512 330c71005a6a8054b5068ac4484e9015e9f8bf55d5a451aaf5f79b7f78a025732b454251c31473abf21504cce3b78e50cf7e3e0d0116bb755dc8396bd790289a DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c006370c4c316c8a367b2f5814926063482959fabfe9d674ee1b5a560e59087e9b711e28360ced3aee2bbd6bb8fdb SHA512 e86dd31247d757d48ffb2d24f20edab3fc6ef9c3e395567a7b363951bb681335ba3adb8b84639011b24b6eb274582d56880298d6d95fb100acc072383d4e973f DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a928ad60652d1dee92620c433cc105dffab4e9309f41766087ad1544ef49d2922538bb420d62f6dd64117a1 SHA512 838daf2c4581f83f8573b988036f517d57b84894b090a2a17433255d6d044dfa880e6724cdb83082a36c333df9d2083ab68ae53927622a620edd59f33462ada4 -DIST wine-9.19.tar.xz 30812468 BLAKE2B 24bdcd8d06c9f6b480dbb92469b41ff21b4174fcea6eaccf2359616f018d1c0a1305b5ae8acfcb2f7161b285963f26cc16530d1518db3d1bda7cdbb9807860d5 SHA512 530219c6a337f2996eac92d644ab603528b82cc6136cc37c1e6aa736d418f33c6f4b0d54f3537b04bceaf4487d84abcf926a2f5e9536ed4e966c4fe63c5b6ddd -DIST wine-9.20.tar.xz 31807848 BLAKE2B f2fef5c941284a5f89f92696cb242641ad88ea8a4388dd6d72977d9696ab63c1632b91b678567525527c80e30ad5ef2971e5bcf700e4f2d7db9bf3357488ed34 SHA512 65d229cfa1c4daffd0b1cec4480bdc4f8a2bbdeb08a7885efea403b0533beda6a22616e57f8e55038fe9e033137cf2718148e38076409a8c0341b29127bbefa3 -DIST wine-9.21.tar.xz 31888916 BLAKE2B 2d9b08263d2d3d174cf42ef8cb23d47c4516a394b44c4a2c5b1d220c4680239b84f47dfeea8b28c763593c725289cf7c257ad3f9fe0ee407b725391a2e956e90 SHA512 9dc64eb49755342f9a3f5fbb5665d1b3b4fafeb9b2723c198b04bb6f5d486f8feb00198e32e519d618bd87d1cf6c7e6a134bf9110b91023334e949eff00e758f -DIST wine-9.22.tar.xz 31966312 BLAKE2B 14d75c25a317549528abefd2350790ce03b9c4088bc5f6f3bbfcc9b5b024bf0943526a1571fe1079e8fd39830e4f762960365dfdfe670db7577f4095f30131b4 SHA512 8b54aee952abd08969d3485ef12db9aabeea8627fdaf7a27cb3392477580f2b5882467cd15ba4670741b6b20cc48bb5e3585d44ee4fb95a013c513a3c04342e4 EBUILD wine-vanilla-10.0.ebuild 14494 BLAKE2B 27dc34b9e28be42a76db150ee0c1eca3ac8bc29cfcc8892262549cb0a84729d3fc20128b6c5541190675b3997870d5a49d03bc05e68b1a7934fe66b1666576a2 SHA512 2f29b829f20d0a38c4e1db134b248ad5a182a140c41700f50cfcfcc76d87e905b3c1c55ece659d3f960b1e42928a582ffec527e60befb29cbb7690b3472db6e4 +EBUILD wine-vanilla-10.1.ebuild 14494 BLAKE2B 27dc34b9e28be42a76db150ee0c1eca3ac8bc29cfcc8892262549cb0a84729d3fc20128b6c5541190675b3997870d5a49d03bc05e68b1a7934fe66b1666576a2 SHA512 2f29b829f20d0a38c4e1db134b248ad5a182a140c41700f50cfcfcc76d87e905b3c1c55ece659d3f960b1e42928a582ffec527e60befb29cbb7690b3472db6e4 EBUILD wine-vanilla-7.0.2.ebuild 12901 BLAKE2B c56de298278ea1f64164156da06828db82b418a5e1041b816635cf21a30b93127bdacd35caca340518a446d4a1cefaccb3095285882d1cc5b89c4de565ed5128 SHA512 5fe2e8c635e0625ae9abc418110498250db8fef4b45484c2c2b147f492f90043fcd251d14072bee2cbe4558c9d7672ea3a114174fff66ac0205c3c6256dd6906 EBUILD wine-vanilla-8.0.2.ebuild 12989 BLAKE2B 38ec6d327ee3fe44fb3857615ceccd38ab8552d3c90ea7a5e3ca03eaa8b2c489ca02789c88f593bbb429304f62cd92a46f6af72b4cb63920cc0fb8a0338cdb57 SHA512 a39c6e6caa21abfe2a2a43119d4507769004fcc489c66af615d0761cbec02732a35e5bef7c7a2d8422e80311078167695d8d4fbf580aa7290dd06b25cdbe2a30 EBUILD wine-vanilla-9.0.ebuild 14266 BLAKE2B 7eb89a6784065bdd547d3a4e768e57603a41dc8d5879006ef0e9cb630968000c00169b16bd77b7b2fc42296bb8bcbe3407020becf893b09b73c6c5ee798818cc SHA512 cf52d3b7a90152636c887c7576c17c540896dfd0195912829a49259f1506f84c35daf22f86ecbf9020951332ab32f846ca6cc251ef8ef13ca501566e0a9b0cbc -EBUILD wine-vanilla-9.19.ebuild 14490 BLAKE2B 2195dc5bc368cef12785a1edc56d6bedb57504e5ddd53dc4dc5e8cb2613eefadb9607571b05e7f47ba1db81d411b64f71e95100871d4d479eca21a6cc6ef3e64 SHA512 504676a48086ad88d94b7f51aa2b185a16bc90773e112fdf87dc1d8526a2235653baa0f116ec2af262f9058af8cb242fccebae0a33d77e9b68b4b84c63f76b48 -EBUILD wine-vanilla-9.20.ebuild 14494 BLAKE2B f0d5caece080751846858e5f28d2df26b4d6606760131f80331143e0af72d4eb61115686d080569d0a8e4682ef2dc5b68f9569b4dcecf537066898ac2370b844 SHA512 2377bc9c3156e542610f47dd5ea8daab227ec8ce4a192e9ec677ee7678698b016dad4ea8a4cbb35bff3b58ac80da614ad95094c2955ab1e5172f6e27ef40bcf4 -EBUILD wine-vanilla-9.21.ebuild 14494 BLAKE2B f0d5caece080751846858e5f28d2df26b4d6606760131f80331143e0af72d4eb61115686d080569d0a8e4682ef2dc5b68f9569b4dcecf537066898ac2370b844 SHA512 2377bc9c3156e542610f47dd5ea8daab227ec8ce4a192e9ec677ee7678698b016dad4ea8a4cbb35bff3b58ac80da614ad95094c2955ab1e5172f6e27ef40bcf4 -EBUILD wine-vanilla-9.22.ebuild 14494 BLAKE2B f0d5caece080751846858e5f28d2df26b4d6606760131f80331143e0af72d4eb61115686d080569d0a8e4682ef2dc5b68f9569b4dcecf537066898ac2370b844 SHA512 2377bc9c3156e542610f47dd5ea8daab227ec8ce4a192e9ec677ee7678698b016dad4ea8a4cbb35bff3b58ac80da614ad95094c2955ab1e5172f6e27ef40bcf4 EBUILD wine-vanilla-9999.ebuild 14494 BLAKE2B 4d06d529dc848c809041b80fa5b2abdb81e2cbc2b268e9c39aec3b8f0587b4059c872368c6c9c75f76d69a965fc6c874b26396af415ecfc975ff527c1f031870 SHA512 cccaf07d1df55481fdaa0ca1185b01b606f2eccc401e126ed84f25bdcb080b7c8528e4d77b0b3365e612a62a7f772e29dcbd6ebd586a0335e13706473608d043 MISC metadata.xml 2726 BLAKE2B 7dc7490fabcda06a27061726225890ee203fe7d22209697c3997f0ccdb4699bfaa09f983c22c4919ce75d2eab6ebdb1add9d9af04f24aee63bae81116fc04094 SHA512 5cdbb062462ae791ff9727d184935af3af147c0bd1e49846731941513301b720313b3356f56a8295780ab822e3117146c9a669d2d96efba6f072d84adba770e6 diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.22.ebuild b/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild index 708818e7568c..7ad0553e1237 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.22.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ inherit autotools flag-o-matic multilib multilib-build optfeature inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.4 -WINE_MONO=9.3.0 +WINE_MONO=9.4.0 if [[ ${PV} == *9999 ]]; then inherit git-r3 diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.19.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.19.ebuild deleted file mode 100644 index f5955867daaf..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-9.19.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build optfeature -inherit prefix toolchain-funcs wrapper - -WINE_GECKO=2.47.4 -WINE_MONO=9.3.0 - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" -else - (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 - SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" - S="${WORKDIR}/wine-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE=" - https://www.winehq.org/ - https://gitlab.winehq.org/wine/wine/ -" - -LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" -SLOT="${PV}" -IUSE=" - +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos - llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko gphoto2 - +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl - osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard - +ssl +strip +truetype udev udisks +unwind usb v4l +vulkan wayland - wow64 +xcomposite xinerama -" -# bug #551124 for truetype -# TODO?: wow64 can be done without mingw if using clang (needs bug #912237) -REQUIRED_USE=" - X? ( truetype ) - crossdev-mingw? ( mingw ) - wow64? ( abi_x86_64 !abi_x86_32 mingw ) -" - -# tests are non-trivial to run, can hang easily, don't play well with -# sandbox, and several need real opengl/vulkan or network access -RESTRICT="test" - -# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked -WINE_DLOPEN_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXrender[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - opengl? ( - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) - ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) - cups? ( net-print/cups[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] ) -" -WINE_COMMON_DEPEND=" - ${WINE_DLOPEN_DEPEND} - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) - ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gstreamer? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) - smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - unwind? ( - llvm-libunwind? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] ) - !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) - ) - usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) - wayland? ( - dev-libs/wayland[${MULTILIB_USEDEP}] - x11-libs/libxkbcommon[${MULTILIB_USEDEP}] - ) -" -RDEPEND=" - ${WINE_COMMON_DEPEND} - app-emulation/wine-desktop-common - dos? ( - || ( - games-emulation/dosbox - games-emulation/dosbox-staging - ) - ) - gecko? ( - app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] - wow64? ( app-emulation/wine-gecko[abi_x86_32] ) - ) - gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) - mono? ( app-emulation/wine-mono:${WINE_MONO} ) - perl? ( - dev-lang/perl - dev-perl/XML-LibXML - ) - samba? ( net-fs/samba[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 ) -" -DEPEND=" - ${WINE_COMMON_DEPEND} - sys-kernel/linux-headers - X? ( x11-base/xorg-proto ) -" -BDEPEND=" - || ( - sys-devel/binutils - llvm-core/lld - ) - dev-lang/perl - sys-devel/bison - sys-devel/flex - virtual/pkgconfig - mingw? ( !crossdev-mingw? ( - >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] - wow64? ( dev-util/mingw64-toolchain[abi_x86_32] ) - ) ) - nls? ( sys-devel/gettext ) - wayland? ( dev-util/wayland-scanner ) -" -IDEPEND=">=app-eselect/eselect-wine-2" - -QA_CONFIG_IMPL_DECL_SKIP=( - __clear_cache # unused on amd64+x86 (bug #900338) - res_getservers # false positive -) -QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext - -PATCHES=( - "${FILESDIR}"/${PN}-7.0-noexecstack.patch - "${FILESDIR}"/${PN}-7.20-unwind.patch - "${FILESDIR}"/${PN}-8.13-rpath.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} == binary ]] && return - - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then - local mingw=-w64-mingw32 - for mingw in $(usev abi_x86_64 x86_64${mingw}) \ - $(use abi_x86_32 || use wow64 && echo i686${mingw}); do - if ! type -P ${mingw}-gcc >/dev/null; then - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" - eerror "yourself by installing sys-devel/crossdev then running:" - eerror - eerror " crossdev --target ${mingw}" - eerror - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" - fi - done - fi -} - -src_prepare() { - # sanity check, bumping these has a history of oversights - local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ - dlls/appwiz.cpl/addons.c || die) - if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then - local gmfatal= - [[ ${PV} == *9999 ]] && gmfatal=nonfatal - ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" - fi - - default - - if tc-is-clang; then - if use mingw; then - # -mabi=ms was ignored by <clang:16 then turned error in :17 - # if used without --target *-windows, then gets used in install - # phase despite USE=mingw, drop as a quick fix for now - sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die - else - # fails in ./configure unless --enable-archs is passed, allow to - # bypass with EXTRA_ECONF but is currently considered unsupported - # (by Gentoo) as additional work is needed for (proper) support - # note: also fails w/ :17, but unsure if safe to drop w/o mingw - [[ ${EXTRA_ECONF} == *--enable-archs* ]] || - die "building ${PN} with clang is only supported with USE=mingw" - fi - fi - - # ensure .desktop calls this variant + slot - sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die - - # datadir is not where wine-mono is installed, so prefixy alternate paths - hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c - - # always update for patches (including user's wrt #432348) - eautoreconf - tools/make_requests || die # perl - # tip: if need more for user patches, with portage can e.g. do - # echo "post_src_prepare() { tools/make_specfiles || die; }" \ - # > /etc/portage/env/app-emulation/wine-vanilla -} - -src_configure() { - WINE_PREFIX=/usr/lib/${P} - WINE_DATADIR=/usr/share/${P} - - local conf=( - --prefix="${EPREFIX}"${WINE_PREFIX} - --datadir="${EPREFIX}"${WINE_DATADIR} - --includedir="${EPREFIX}"/usr/include/${P} - --libdir="${EPREFIX}"${WINE_PREFIX} - --mandir="${EPREFIX}"${WINE_DATADIR}/man - - $(usev wow64 --enable-archs=x86_64,i386) - - $(use_enable gecko mshtml) - $(use_enable mono mscoree) - --disable-tests - - $(use_with X x) - $(use_with alsa) - $(use_with capi) - $(use_with cups) - $(use_with ffmpeg) - $(use_with fontconfig) - $(use_with gphoto2 gphoto) - $(use_with gstreamer) - $(use_with kerberos gssapi) - $(use_with kerberos krb5) - $(use_with mingw) - $(use_with netapi) - $(use_with nls gettext) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - --without-oss # media-sound/oss is not packaged (OSSv4) - $(use_with pcap) - $(use_with pulseaudio pulse) - $(use_with scanner sane) - $(use_with sdl) - $(use_with smartcard pcsclite) - $(use_with ssl gnutls) - $(use_with truetype freetype) - $(use_with udev) - $(use_with udisks dbus) # dbus is only used for udisks - $(use_with unwind) - $(use_with usb) - $(use_with v4l v4l2) - $(use_with vulkan) - $(use_with wayland) - $(use_with xcomposite) - $(use_with xinerama) - $(usev !odbc ac_cv_lib_soname_odbc=) - ) - - filter-lto # build failure - filter-flags -Wl,--gc-sections # runtime issues (bug #931329) - use custom-cflags || strip-flags # can break in obscure ways at runtime - - # broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849) - append-cflags -std=gnu17 - - # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097) - # (do self test until https://github.com/gentoo/gentoo/pull/28355) - if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]] - then - has_version -b sys-devel/binutils && - append-ldflags -fuse-ld=bfd || - append-ldflags -fuse-ld=lld - strip-unsupported-flags - fi - - if use mingw; then - use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} - - # CROSSCC was formerly recognized by wine, thus been using similar - # variables (subject to change, esp. if ever make a mingw.eclass). - local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}} - local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}} - local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86) - - conf+=( - ac_cv_prog_x86_64_CC="${mingwcc_amd64}" - ac_cv_prog_i386_CC="${mingwcc_x86}" - - CROSSCFLAGS="${CROSSCFLAGS:-$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - - # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then - # strip-unsupported-flags miss these during compile-only tests - # (primarily done for 23.0 profiles' -z, not full coverage) - filter-flags '-Wl,-z,*' - - CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} - )}" - - CROSSLDFLAGS="${CROSSLDFLAGS:-$( - filter-flags '-fuse-ld=*' - - CC=${mingwcc} test-flags-CCLD ${LDFLAGS} - )}" - ) - fi - - # order matters with multilib: configure+compile 64->32, install 32->64 - local -i bits - for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do - ( - einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." - - mkdir ../build${bits} || die - cd ../build${bits} || die - - if (( bits == 64 )); then - conf+=( --enable-win64 ) - elif use amd64; then - conf+=( - $(usev abi_x86_64 --with-wine64=../build64) - TARGETFLAGS=-m32 # for widl - ) - # _setup is optional, but use over Wine's auto-detect (+#472038) - multilib_toolchain_setup x86 - fi - - ECONF_SOURCE=${S} econf "${conf[@]}" - ) - done -} - -src_compile() { - use abi_x86_64 && emake -C ../build64 # do first - use abi_x86_32 && emake -C ../build32 -} - -src_install() { - use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install - use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last - - # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64, - # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where - # one or the other could be missing and that is unexpected for users - # and some tools like winetricks) - if use abi_x86_64; then - if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine64 ${WINE_PREFIX}/bin/wine - dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader - - # also install wine(1) man pages (incl. translations) - local man - for man in ../build64/loader/wine.*man; do - : "${man##*/wine}" - : "${_%.*}" - insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 - newins ${man} wine.1 - done - elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine ${WINE_PREFIX}/bin/wine64 - dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader - fi - fi - - use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ - "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die - - # create variant wrappers for eselect-wine - local bin - for bin in "${ED}"${WINE_PREFIX}/bin/*; do - make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" - done - - if use mingw; then - # don't let portage try to strip PE files with the wrong - # strip executable and instead handle it here (saves ~120MB) - dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows - - if use strip; then - ebegin "Stripping Windows (PE) binaries" - find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ - -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + - eend ${?} || die - fi - fi - - dodoc ANNOUNCE* AUTHORS README* documentation/README* -} - -pkg_postinst() { - if use !abi_x86_32 && use !wow64; then - ewarn "32bit support is disabled. While 64bit applications themselves will" - ewarn "work, be warned that it is not unusual that installers or other helpers" - ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32," - ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib." - elif use abi_x86_32 && { use opengl || use vulkan; }; then - # difficult to tell what is needed from here, but try to warn - if has_version 'x11-drivers/nvidia-drivers'; then - if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then - ewarn "x11-drivers/nvidia-drivers is installed but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - ewarn "Multi-card setups may need this on media-libs/mesa as well." - fi - elif has_version 'media-libs/mesa[-abi_x86_32]'; then - ewarn "media-libs/mesa seems to be in use but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - fi - fi - - optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ - games-util/game-device-udev-rules - - eselect wine update --if-unset || die -} - -pkg_postrm() { - eselect wine update --if-unset || die -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.20.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.20.ebuild deleted file mode 100644 index 708818e7568c..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-9.20.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build optfeature -inherit prefix toolchain-funcs wrapper - -WINE_GECKO=2.47.4 -WINE_MONO=9.3.0 - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" -else - (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 - SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" - S="${WORKDIR}/wine-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE=" - https://www.winehq.org/ - https://gitlab.winehq.org/wine/wine/ -" - -LICENSE="LGPL-2.1+ BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" -SLOT="${PV}" -IUSE=" - +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos - llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko gphoto2 - +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl - osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard - +ssl +strip +truetype udev udisks +unwind usb v4l +vulkan wayland - wow64 +xcomposite xinerama -" -# bug #551124 for truetype -# TODO?: wow64 can be done without mingw if using clang (needs bug #912237) -REQUIRED_USE=" - X? ( truetype ) - crossdev-mingw? ( mingw ) - wow64? ( abi_x86_64 !abi_x86_32 mingw ) -" - -# tests are non-trivial to run, can hang easily, don't play well with -# sandbox, and several need real opengl/vulkan or network access -RESTRICT="test" - -# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked -WINE_DLOPEN_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXrender[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - opengl? ( - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) - ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) - cups? ( net-print/cups[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] ) -" -WINE_COMMON_DEPEND=" - ${WINE_DLOPEN_DEPEND} - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) - ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gstreamer? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) - smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - unwind? ( - llvm-libunwind? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] ) - !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) - ) - usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) - wayland? ( - dev-libs/wayland[${MULTILIB_USEDEP}] - x11-libs/libxkbcommon[${MULTILIB_USEDEP}] - ) -" -RDEPEND=" - ${WINE_COMMON_DEPEND} - app-emulation/wine-desktop-common - dos? ( - || ( - games-emulation/dosbox - games-emulation/dosbox-staging - ) - ) - gecko? ( - app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] - wow64? ( app-emulation/wine-gecko[abi_x86_32] ) - ) - gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) - mono? ( app-emulation/wine-mono:${WINE_MONO} ) - perl? ( - dev-lang/perl - dev-perl/XML-LibXML - ) - samba? ( net-fs/samba[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 ) -" -DEPEND=" - ${WINE_COMMON_DEPEND} - sys-kernel/linux-headers - X? ( x11-base/xorg-proto ) -" -BDEPEND=" - || ( - sys-devel/binutils - llvm-core/lld - ) - dev-lang/perl - sys-devel/bison - sys-devel/flex - virtual/pkgconfig - mingw? ( !crossdev-mingw? ( - >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] - wow64? ( dev-util/mingw64-toolchain[abi_x86_32] ) - ) ) - nls? ( sys-devel/gettext ) - wayland? ( dev-util/wayland-scanner ) -" -IDEPEND=">=app-eselect/eselect-wine-2" - -QA_CONFIG_IMPL_DECL_SKIP=( - __clear_cache # unused on amd64+x86 (bug #900338) - res_getservers # false positive -) -QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext - -PATCHES=( - "${FILESDIR}"/${PN}-7.0-noexecstack.patch - "${FILESDIR}"/${PN}-7.20-unwind.patch - "${FILESDIR}"/${PN}-8.13-rpath.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} == binary ]] && return - - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then - local mingw=-w64-mingw32 - for mingw in $(usev abi_x86_64 x86_64${mingw}) \ - $(use abi_x86_32 || use wow64 && echo i686${mingw}); do - if ! type -P ${mingw}-gcc >/dev/null; then - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" - eerror "yourself by installing sys-devel/crossdev then running:" - eerror - eerror " crossdev --target ${mingw}" - eerror - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" - fi - done - fi -} - -src_prepare() { - # sanity check, bumping these has a history of oversights - local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ - dlls/appwiz.cpl/addons.c || die) - if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then - local gmfatal= - [[ ${PV} == *9999 ]] && gmfatal=nonfatal - ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" - fi - - default - - if tc-is-clang; then - if use mingw; then - # -mabi=ms was ignored by <clang:16 then turned error in :17 - # if used without --target *-windows, then gets used in install - # phase despite USE=mingw, drop as a quick fix for now - sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die - else - # fails in ./configure unless --enable-archs is passed, allow to - # bypass with EXTRA_ECONF but is currently considered unsupported - # (by Gentoo) as additional work is needed for (proper) support - # note: also fails w/ :17, but unsure if safe to drop w/o mingw - [[ ${EXTRA_ECONF} == *--enable-archs* ]] || - die "building ${PN} with clang is only supported with USE=mingw" - fi - fi - - # ensure .desktop calls this variant + slot - sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die - - # datadir is not where wine-mono is installed, so prefixy alternate paths - hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c - - # always update for patches (including user's wrt #432348) - eautoreconf - tools/make_requests || die # perl - # tip: if need more for user patches, with portage can e.g. do - # echo "post_src_prepare() { tools/make_specfiles || die; }" \ - # > /etc/portage/env/app-emulation/wine-vanilla -} - -src_configure() { - WINE_PREFIX=/usr/lib/${P} - WINE_DATADIR=/usr/share/${P} - - local conf=( - --prefix="${EPREFIX}"${WINE_PREFIX} - --datadir="${EPREFIX}"${WINE_DATADIR} - --includedir="${EPREFIX}"/usr/include/${P} - --libdir="${EPREFIX}"${WINE_PREFIX} - --mandir="${EPREFIX}"${WINE_DATADIR}/man - - $(usev wow64 --enable-archs=x86_64,i386) - - $(use_enable gecko mshtml) - $(use_enable mono mscoree) - --disable-tests - - $(use_with X x) - $(use_with alsa) - $(use_with capi) - $(use_with cups) - $(use_with ffmpeg) - $(use_with fontconfig) - $(use_with gphoto2 gphoto) - $(use_with gstreamer) - $(use_with kerberos gssapi) - $(use_with kerberos krb5) - $(use_with mingw) - $(use_with netapi) - $(use_with nls gettext) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - --without-oss # media-sound/oss is not packaged (OSSv4) - $(use_with pcap) - $(use_with pulseaudio pulse) - $(use_with scanner sane) - $(use_with sdl) - $(use_with smartcard pcsclite) - $(use_with ssl gnutls) - $(use_with truetype freetype) - $(use_with udev) - $(use_with udisks dbus) # dbus is only used for udisks - $(use_with unwind) - $(use_with usb) - $(use_with v4l v4l2) - $(use_with vulkan) - $(use_with wayland) - $(use_with xcomposite) - $(use_with xinerama) - $(usev !odbc ac_cv_lib_soname_odbc=) - ) - - filter-lto # build failure - filter-flags -Wl,--gc-sections # runtime issues (bug #931329) - use custom-cflags || strip-flags # can break in obscure ways at runtime - - # broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849) - append-cflags -std=gnu17 - - # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097) - # (do self test until https://github.com/gentoo/gentoo/pull/28355) - if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]] - then - has_version -b sys-devel/binutils && - append-ldflags -fuse-ld=bfd || - append-ldflags -fuse-ld=lld - strip-unsupported-flags - fi - - if use mingw; then - use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} - - # CROSSCC was formerly recognized by wine, thus been using similar - # variables (subject to change, esp. if ever make a mingw.eclass). - local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}} - local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}} - local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86) - - conf+=( - ac_cv_prog_x86_64_CC="${mingwcc_amd64}" - ac_cv_prog_i386_CC="${mingwcc_x86}" - - CROSSCFLAGS="${CROSSCFLAGS:-$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - - # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then - # strip-unsupported-flags miss these during compile-only tests - # (primarily done for 23.0 profiles' -z, not full coverage) - filter-flags '-Wl,-z,*' - - CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} - )}" - - CROSSLDFLAGS="${CROSSLDFLAGS:-$( - filter-flags '-fuse-ld=*' - - CC=${mingwcc} test-flags-CCLD ${LDFLAGS} - )}" - ) - fi - - # order matters with multilib: configure+compile 64->32, install 32->64 - local -i bits - for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do - ( - einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." - - mkdir ../build${bits} || die - cd ../build${bits} || die - - if (( bits == 64 )); then - conf+=( --enable-win64 ) - elif use amd64; then - conf+=( - $(usev abi_x86_64 --with-wine64=../build64) - TARGETFLAGS=-m32 # for widl - ) - # _setup is optional, but use over Wine's auto-detect (+#472038) - multilib_toolchain_setup x86 - fi - - ECONF_SOURCE=${S} econf "${conf[@]}" - ) - done -} - -src_compile() { - use abi_x86_64 && emake -C ../build64 # do first - use abi_x86_32 && emake -C ../build32 -} - -src_install() { - use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install - use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last - - # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64, - # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where - # one or the other could be missing and that is unexpected for users - # and some tools like winetricks) - if use abi_x86_64; then - if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine64 ${WINE_PREFIX}/bin/wine - dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader - - # also install wine(1) man pages (incl. translations) - local man - for man in ../build64/loader/wine.*man; do - : "${man##*/wine}" - : "${_%.*}" - insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 - newins ${man} wine.1 - done - elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine ${WINE_PREFIX}/bin/wine64 - dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader - fi - fi - - use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ - "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die - - # create variant wrappers for eselect-wine - local bin - for bin in "${ED}"${WINE_PREFIX}/bin/*; do - make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" - done - - if use mingw; then - # don't let portage try to strip PE files with the wrong - # strip executable and instead handle it here (saves ~120MB) - dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows - - if use strip; then - ebegin "Stripping Windows (PE) binaries" - find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ - -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + - eend ${?} || die - fi - fi - - dodoc ANNOUNCE* AUTHORS README* documentation/README* -} - -pkg_postinst() { - if use !abi_x86_32 && use !wow64; then - ewarn "32bit support is disabled. While 64bit applications themselves will" - ewarn "work, be warned that it is not unusual that installers or other helpers" - ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32," - ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib." - elif use abi_x86_32 && { use opengl || use vulkan; }; then - # difficult to tell what is needed from here, but try to warn - if has_version 'x11-drivers/nvidia-drivers'; then - if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then - ewarn "x11-drivers/nvidia-drivers is installed but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - ewarn "Multi-card setups may need this on media-libs/mesa as well." - fi - elif has_version 'media-libs/mesa[-abi_x86_32]'; then - ewarn "media-libs/mesa seems to be in use but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - fi - fi - - optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ - games-util/game-device-udev-rules - - eselect wine update --if-unset || die -} - -pkg_postrm() { - eselect wine update --if-unset || die -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.21.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.21.ebuild deleted file mode 100644 index 708818e7568c..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-9.21.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build optfeature -inherit prefix toolchain-funcs wrapper - -WINE_GECKO=2.47.4 -WINE_MONO=9.3.0 - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" -else - (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 - SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" - S="${WORKDIR}/wine-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE=" - https://www.winehq.org/ - https://gitlab.winehq.org/wine/wine/ -" - -LICENSE="LGPL-2.1+ BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" -SLOT="${PV}" -IUSE=" - +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos - llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko gphoto2 - +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl - osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard - +ssl +strip +truetype udev udisks +unwind usb v4l +vulkan wayland - wow64 +xcomposite xinerama -" -# bug #551124 for truetype -# TODO?: wow64 can be done without mingw if using clang (needs bug #912237) -REQUIRED_USE=" - X? ( truetype ) - crossdev-mingw? ( mingw ) - wow64? ( abi_x86_64 !abi_x86_32 mingw ) -" - -# tests are non-trivial to run, can hang easily, don't play well with -# sandbox, and several need real opengl/vulkan or network access -RESTRICT="test" - -# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked -WINE_DLOPEN_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXrender[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - opengl? ( - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) - ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) - cups? ( net-print/cups[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] ) -" -WINE_COMMON_DEPEND=" - ${WINE_DLOPEN_DEPEND} - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) - ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gstreamer? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) - smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - unwind? ( - llvm-libunwind? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] ) - !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) - ) - usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) - wayland? ( - dev-libs/wayland[${MULTILIB_USEDEP}] - x11-libs/libxkbcommon[${MULTILIB_USEDEP}] - ) -" -RDEPEND=" - ${WINE_COMMON_DEPEND} - app-emulation/wine-desktop-common - dos? ( - || ( - games-emulation/dosbox - games-emulation/dosbox-staging - ) - ) - gecko? ( - app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] - wow64? ( app-emulation/wine-gecko[abi_x86_32] ) - ) - gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) - mono? ( app-emulation/wine-mono:${WINE_MONO} ) - perl? ( - dev-lang/perl - dev-perl/XML-LibXML - ) - samba? ( net-fs/samba[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 ) -" -DEPEND=" - ${WINE_COMMON_DEPEND} - sys-kernel/linux-headers - X? ( x11-base/xorg-proto ) -" -BDEPEND=" - || ( - sys-devel/binutils - llvm-core/lld - ) - dev-lang/perl - sys-devel/bison - sys-devel/flex - virtual/pkgconfig - mingw? ( !crossdev-mingw? ( - >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] - wow64? ( dev-util/mingw64-toolchain[abi_x86_32] ) - ) ) - nls? ( sys-devel/gettext ) - wayland? ( dev-util/wayland-scanner ) -" -IDEPEND=">=app-eselect/eselect-wine-2" - -QA_CONFIG_IMPL_DECL_SKIP=( - __clear_cache # unused on amd64+x86 (bug #900338) - res_getservers # false positive -) -QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext - -PATCHES=( - "${FILESDIR}"/${PN}-7.0-noexecstack.patch - "${FILESDIR}"/${PN}-7.20-unwind.patch - "${FILESDIR}"/${PN}-8.13-rpath.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} == binary ]] && return - - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then - local mingw=-w64-mingw32 - for mingw in $(usev abi_x86_64 x86_64${mingw}) \ - $(use abi_x86_32 || use wow64 && echo i686${mingw}); do - if ! type -P ${mingw}-gcc >/dev/null; then - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" - eerror "yourself by installing sys-devel/crossdev then running:" - eerror - eerror " crossdev --target ${mingw}" - eerror - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" - fi - done - fi -} - -src_prepare() { - # sanity check, bumping these has a history of oversights - local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ - dlls/appwiz.cpl/addons.c || die) - if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then - local gmfatal= - [[ ${PV} == *9999 ]] && gmfatal=nonfatal - ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" - fi - - default - - if tc-is-clang; then - if use mingw; then - # -mabi=ms was ignored by <clang:16 then turned error in :17 - # if used without --target *-windows, then gets used in install - # phase despite USE=mingw, drop as a quick fix for now - sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die - else - # fails in ./configure unless --enable-archs is passed, allow to - # bypass with EXTRA_ECONF but is currently considered unsupported - # (by Gentoo) as additional work is needed for (proper) support - # note: also fails w/ :17, but unsure if safe to drop w/o mingw - [[ ${EXTRA_ECONF} == *--enable-archs* ]] || - die "building ${PN} with clang is only supported with USE=mingw" - fi - fi - - # ensure .desktop calls this variant + slot - sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die - - # datadir is not where wine-mono is installed, so prefixy alternate paths - hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c - - # always update for patches (including user's wrt #432348) - eautoreconf - tools/make_requests || die # perl - # tip: if need more for user patches, with portage can e.g. do - # echo "post_src_prepare() { tools/make_specfiles || die; }" \ - # > /etc/portage/env/app-emulation/wine-vanilla -} - -src_configure() { - WINE_PREFIX=/usr/lib/${P} - WINE_DATADIR=/usr/share/${P} - - local conf=( - --prefix="${EPREFIX}"${WINE_PREFIX} - --datadir="${EPREFIX}"${WINE_DATADIR} - --includedir="${EPREFIX}"/usr/include/${P} - --libdir="${EPREFIX}"${WINE_PREFIX} - --mandir="${EPREFIX}"${WINE_DATADIR}/man - - $(usev wow64 --enable-archs=x86_64,i386) - - $(use_enable gecko mshtml) - $(use_enable mono mscoree) - --disable-tests - - $(use_with X x) - $(use_with alsa) - $(use_with capi) - $(use_with cups) - $(use_with ffmpeg) - $(use_with fontconfig) - $(use_with gphoto2 gphoto) - $(use_with gstreamer) - $(use_with kerberos gssapi) - $(use_with kerberos krb5) - $(use_with mingw) - $(use_with netapi) - $(use_with nls gettext) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - --without-oss # media-sound/oss is not packaged (OSSv4) - $(use_with pcap) - $(use_with pulseaudio pulse) - $(use_with scanner sane) - $(use_with sdl) - $(use_with smartcard pcsclite) - $(use_with ssl gnutls) - $(use_with truetype freetype) - $(use_with udev) - $(use_with udisks dbus) # dbus is only used for udisks - $(use_with unwind) - $(use_with usb) - $(use_with v4l v4l2) - $(use_with vulkan) - $(use_with wayland) - $(use_with xcomposite) - $(use_with xinerama) - $(usev !odbc ac_cv_lib_soname_odbc=) - ) - - filter-lto # build failure - filter-flags -Wl,--gc-sections # runtime issues (bug #931329) - use custom-cflags || strip-flags # can break in obscure ways at runtime - - # broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849) - append-cflags -std=gnu17 - - # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097) - # (do self test until https://github.com/gentoo/gentoo/pull/28355) - if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]] - then - has_version -b sys-devel/binutils && - append-ldflags -fuse-ld=bfd || - append-ldflags -fuse-ld=lld - strip-unsupported-flags - fi - - if use mingw; then - use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} - - # CROSSCC was formerly recognized by wine, thus been using similar - # variables (subject to change, esp. if ever make a mingw.eclass). - local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}} - local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}} - local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86) - - conf+=( - ac_cv_prog_x86_64_CC="${mingwcc_amd64}" - ac_cv_prog_i386_CC="${mingwcc_x86}" - - CROSSCFLAGS="${CROSSCFLAGS:-$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - - # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then - # strip-unsupported-flags miss these during compile-only tests - # (primarily done for 23.0 profiles' -z, not full coverage) - filter-flags '-Wl,-z,*' - - CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} - )}" - - CROSSLDFLAGS="${CROSSLDFLAGS:-$( - filter-flags '-fuse-ld=*' - - CC=${mingwcc} test-flags-CCLD ${LDFLAGS} - )}" - ) - fi - - # order matters with multilib: configure+compile 64->32, install 32->64 - local -i bits - for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do - ( - einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." - - mkdir ../build${bits} || die - cd ../build${bits} || die - - if (( bits == 64 )); then - conf+=( --enable-win64 ) - elif use amd64; then - conf+=( - $(usev abi_x86_64 --with-wine64=../build64) - TARGETFLAGS=-m32 # for widl - ) - # _setup is optional, but use over Wine's auto-detect (+#472038) - multilib_toolchain_setup x86 - fi - - ECONF_SOURCE=${S} econf "${conf[@]}" - ) - done -} - -src_compile() { - use abi_x86_64 && emake -C ../build64 # do first - use abi_x86_32 && emake -C ../build32 -} - -src_install() { - use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install - use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last - - # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64, - # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where - # one or the other could be missing and that is unexpected for users - # and some tools like winetricks) - if use abi_x86_64; then - if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine64 ${WINE_PREFIX}/bin/wine - dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader - - # also install wine(1) man pages (incl. translations) - local man - for man in ../build64/loader/wine.*man; do - : "${man##*/wine}" - : "${_%.*}" - insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 - newins ${man} wine.1 - done - elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then - dosym wine ${WINE_PREFIX}/bin/wine64 - dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader - fi - fi - - use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ - "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die - - # create variant wrappers for eselect-wine - local bin - for bin in "${ED}"${WINE_PREFIX}/bin/*; do - make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" - done - - if use mingw; then - # don't let portage try to strip PE files with the wrong - # strip executable and instead handle it here (saves ~120MB) - dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows - - if use strip; then - ebegin "Stripping Windows (PE) binaries" - find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ - -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + - eend ${?} || die - fi - fi - - dodoc ANNOUNCE* AUTHORS README* documentation/README* -} - -pkg_postinst() { - if use !abi_x86_32 && use !wow64; then - ewarn "32bit support is disabled. While 64bit applications themselves will" - ewarn "work, be warned that it is not unusual that installers or other helpers" - ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32," - ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib." - elif use abi_x86_32 && { use opengl || use vulkan; }; then - # difficult to tell what is needed from here, but try to warn - if has_version 'x11-drivers/nvidia-drivers'; then - if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then - ewarn "x11-drivers/nvidia-drivers is installed but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - ewarn "Multi-card setups may need this on media-libs/mesa as well." - fi - elif has_version 'media-libs/mesa[-abi_x86_32]'; then - ewarn "media-libs/mesa seems to be in use but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - fi - fi - - optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ - games-util/game-device-udev-rules - - eselect wine update --if-unset || die -} - -pkg_postrm() { - eselect wine update --if-unset || die -} diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 5885609caa72..75d0309f7afb 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -1,6 +1,8 @@ AUX README.gentoo 572 BLAKE2B 1284e49ac0bde0e1c1ad32b7dc200848c0837378224daed628036b5835998c9649574e2b91b4891a610188f01900922d3b2bb23fd6381682c3486bc83be9a9ef SHA512 d7312c11154b3446a66af5e11a9d8e1a30c29e42867b51a073f4460078c9a1b7acb94cea6d38bcd7fdafbb4384856cd11093f41eee1941ca43303a5e21765b03 +AUX edk2-202202-binutils-2.41-textrels.patch 2600 BLAKE2B e3ddfcf36190762cf2589faa777f19f04bc7d3363a226885fa96a17cfbd29f9dd6d6b6501f85080c789b09c34a9174154e2b9dca7f1d1cd274841cf20e8835d2 SHA512 17c01bfc9eb2d2f356e16c08ef5c3def635fd502a9e50692bd5aa3e3a11f999997d0783c8a3b828ede96b34a1e23d4a6d9398607f4a9d0ddc597de3fa2e9a8cf AUX stubs-32.h 537 BLAKE2B 456f57c4a4ba574c737f1b84b62a085d0290ebc8981a5f96fdebc16b6c86c801c5ca8dde135e803f46c5ec875fdd74770f6ed754880bc7af930b8ce1ce972fb7 SHA512 55308dbedaa91909a2213940f7a7b574cabe6b5a3104761a2a6f28d6aed00164544488c00cbf9d66a9a370a14c6b6d3a00434efd3ff0228cc8e4d81af19c0e68 AUX xen-consoles.logrotate 63 BLAKE2B 4ae650876035d2815dbcacc6ed618c58cc61d9cfd9cde1b6c2f792cbf51898c577ef979443ad827fc82ced4d21ae24836883160b20d697965ef5377d50c2973c SHA512 ab2105c75cfe01768aecd5bcbb56269d63666e8a44e42b6a83aee87df6c84ee2f9ab249171c21b2e09f8fec2cae8318f6e87d160989398a3e7dd68db8d52c426 +AUX xen-tools-4.19.1-gnu17.patch 314 BLAKE2B 250f194fba156545b04fa251c10083df70b2f39133ee6b9d8827ffd3f90d54015375fdd5222d6e6b66b34f4b7ae8bd68ab27b50d314b9eb33547cb408349c7d1 SHA512 208af691fdcfaa06a300163e80866b728395dec71908a32e4d1effba396916a6ea7edefd38be7b9f970ee18bd368de3ee6825820796953af5262010f5be60a69 AUX xen-watchdog.initd 181 BLAKE2B b8529db36016b6f71520c1e4119a2ea5c4d3f52f2c77ccb5603efb67bcdd88b8273a359f6ae0df61763ea31a50bd8a0be775df5aabbd17c90e7928c8ed5b7c0e SHA512 5f6da91c0067b93f1b9f1a2f181caf34034896944ab26f5820e860336e3b3159a65e8a7f39ea273927d64d58a2fe4d918d2c3234f2b03ab0770e0c15d6dfe84b AUX xencommons.confd 109 BLAKE2B 6a2023a95cd1e411abe57c321e1c5f13096b51299817ce547e8ff042cbdbf859a5c1f50135e946fe650e0ec9221db3389ff50bc23f6d88d0c0fd1805b64786be SHA512 f0bbc9647cecc6cf806e3059960fbe39b23304d9ca0955fb261e1d320b9b9ce59e5b28cc4b5a9922295b31221f0cd8f0cccb405520e097a7b12dc6ddb3294c17 AUX xencommons.initd 1451 BLAKE2B ef0cfa4fc7c4071b7a5822f4ad8983b9f7c386505e8b6967139c8921b002ff03a0a2be235060160d00d3890cffd15300b588c2b06a67a839df110c3737bbaee5 SHA512 1d25ae65ff073a5fc00aed2011af9e38f53d179dfadd06f791a4599c070a5ddbbf75d80b37e219b6de5d09e3466510c241311cbb018ef22cd3c97ce3b7c15b3c @@ -23,6 +25,6 @@ DIST xen-4.18.3.tar.gz 51911584 BLAKE2B 01bc915ea88c6a80608bb4f9c37ec75cd4abcc78 DIST xen-4.19.1.tar.gz 51991715 BLAKE2B 1e16c15c98b0e02ee55129cde3f41b314a4eaaff9956f5fa6cea7d9391c51e103b7d62f647e628634ed63bc3ac41bb93a65ec4e26aa39fb2f174f9aef161cd90 SHA512 6971d07d4eafd40186f35cf6de235badbdf0e1640974693b8fbd415876c46634094178a6157e6dfdc16af885c70ff3b7a72be35a88dcc63daf36e6eb08f9b17b DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450 DIST xen-upstream-patches-4.18.4-pre-patchset-1.tar.bz2 55216 BLAKE2B 9cc25750cc48db6efbc349278a89cfc3880326ad4556d5dad28a016bbf270435acff606d545420d44a3143ab1f540156c6997ad676d36b3ec3d5e85a63fb495c SHA512 3752998f804c7e1e5dc327a1a84dafbdac6c06eefa404766fc94089521d836a5fecd2f760e229200d4b6267af88f55b119505336be4d57e9fd74457b122f896f -EBUILD xen-tools-4.18.4_pre1.ebuild 16080 BLAKE2B d7f99bad8a6314272190a7352bb4071326cc8447d6dd7dc283e742de35933c37a1d642c62a2642ac28f35560c16eb94ff6be3f000abc4e364f6ebab9122bc1ec SHA512 67e13dd0ec19c34175118c9fd05662678ef5720cb212db71e1427c907254f7667607ad36f0097f08a040e14fe729c5f14ef3cb37e918efafe5eea9ce73923b9a -EBUILD xen-tools-4.19.1.ebuild 16074 BLAKE2B 228a4f76a5b0db5df49b510757e6fca4410abad0700b7725817768b6d3384559212c9560364e97ab23933e679f6dcda15d41958378a07e2f812fa6dcd6a38f4a SHA512 ab7d5ff51da11f9754e408a3355b0c6734111bc579043d206bd6ba0143b5cd299c3bf1e0393caecbbac0b1f20b61e7376926a51e05a8f6e3c41607487e1909e0 +EBUILD xen-tools-4.18.4_pre1.ebuild 16701 BLAKE2B 2228717e021ce6f247a5725c7b9008a30e0838dece2de748389796924fdb4cd238bce1244ea93792fcb1066df42b9a06d757316c3df9f9d507d8b6823b86b7ef SHA512 bcf49e78032ce902bd87e3abf09df88d6c885c29c9974aa38aaed449c23968689cf6b2e24b69214847cdb156246c15ba12ecc735bc3db89ff98dc1996a813d1f +EBUILD xen-tools-4.19.1.ebuild 16549 BLAKE2B f4d9f4375b8fa0c138e7929f126ef9ff4ecc93f7bda13eb7e39bf7d9586dc0fd42b29646b137e3509cdb86d0ded9febea1a3e1f5ba4d49f06a2339087743d165 SHA512 9916946b467f45d064c470681916e211f27bb19f124a751951bc7a1834f4c152196d16f33a9a92e075edb43df2daa8642ee7128a81a77e0e40457e7364d43c13 MISC metadata.xml 1562 BLAKE2B a619e34e6fec4c6ffc00fd098dc040c5bb464ed7f2032db2e933fada0614e82c21269175f37720a123404551474e2aeeb2728b405ff93f9b4d9d092d027e0839 SHA512 f45c793a4b4819f0e50501ddc85acdaf99e4d675530712f8dccfb5166d071ae8ed07917a61d56037d6ba3a54123f72f4512d8c11643ea8c6e507feb9d29594e7 diff --git a/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch b/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch new file mode 100644 index 000000000000..22d33c9097aa --- /dev/null +++ b/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/913110 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -1906,7 +1906,7 @@ DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z comm + DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
+ DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
+@@ -1929,7 +1929,7 @@ DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pi + DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
+ DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
+ DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
+ DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
diff --git a/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch b/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch new file mode 100644 index 000000000000..82f0068f02bc --- /dev/null +++ b/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch @@ -0,0 +1,10 @@ +ipxe relies on () not being (void), so just force gnu17 for now for compat +w/ compilers that default to gnu23. +--- a/tools/firmware/etherboot/Config ++++ b/tools/firmware/etherboot/Config +@@ -7,3 +7,5 @@ CFLAGS += -DNO_POST_PROMPT + + CFLAGS += -UCONSOLE_SERIAL + CFLAGS += -DCONSOLE_SERIAL=1 ++ ++CFLAGS += -std=gnu17 diff --git a/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild b/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild index 81da2098293f..8292b81c6320 100644 --- a/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -208,6 +208,10 @@ QA_PREBUILT=" RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-4.19.1-gnu17.patch +) + pkg_setup() { python_setup export "CONFIG_LOMOUNT=y" @@ -390,10 +394,26 @@ src_prepare() { -e 's/, "-Werror"//' \ {} + || die + if use ovmf ; then + # textrels cause failures w/ hardened binutils + pushd tools/firmware/ovmf-dir-remote > /dev/null || die + eapply "${FILESDIR}"/edk2-202202-binutils-2.41-textrels.patch + popd > /dev/null || die + fi + + # Use gnu17 because incompatible w/ C23 + sed -i -e "s:-DZZLEXBUFSIZE=65536:-DZZLEXBUFSIZE=65536 -std=gnu17:" \ + tools/firmware/ovmf-dir-remote/BaseTools/Source/C/VfrCompile/Pccts/*/makefile || die + default } src_configure() { + # Workaround from sys-firmware/edk2 (bug #913110) + export LDFLAGS="-z notext" + export EXTRA_LDFLAGS="-z notext" + export DLINK_FLAGS="-z notext" + local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" --libexecdir="${EPREFIX}/usr/libexec" diff --git a/app-emulation/xen-tools/xen-tools-4.19.1.ebuild b/app-emulation/xen-tools/xen-tools-4.19.1.ebuild index a7d7cfdd27de..06afb06cbb4d 100644 --- a/app-emulation/xen-tools/xen-tools-4.19.1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.19.1.ebuild @@ -208,6 +208,10 @@ QA_PREBUILT=" RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-4.19.1-gnu17.patch +) + pkg_setup() { python_setup export "CONFIG_LOMOUNT=y" @@ -390,6 +394,17 @@ src_prepare() { -e 's/, "-Werror"//' \ {} + || die + if use ovmf ; then + # textrels cause failures w/ hardened binutils + pushd tools/firmware/ovmf-dir-remote > /dev/null || die + eapply "${FILESDIR}"/edk2-202202-binutils-2.41-textrels.patch + popd > /dev/null || die + fi + + # Use gnu17 because incompatible w/ C23 + sed -i -e "s:-DZZLEXBUFSIZE=65536:-DZZLEXBUFSIZE=65536 -std=gnu17:" \ + tools/firmware/ovmf-dir-remote/BaseTools/Source/C/VfrCompile/Pccts/*/makefile || die + default } |