summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15360 -> 15355 bytes
-rw-r--r--app-emulation/libvirt/Manifest21
-rw-r--r--app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch42
-rw-r--r--app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch222
-rw-r--r--app-emulation/libvirt/files/libvirt-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch29
-rw-r--r--app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch36
-rw-r--r--app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch209
-rw-r--r--app-emulation/libvirt/libvirt-10.10.0-r1.ebuild4
-rw-r--r--app-emulation/libvirt/libvirt-11.0.0.ebuild (renamed from app-emulation/libvirt/libvirt-10.1.0-r4.ebuild)17
-rw-r--r--app-emulation/libvirt/libvirt-9.8.0-r5.ebuild383
-rw-r--r--app-emulation/libvirt/libvirt-9.9.0-r5.ebuild384
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild4
-rw-r--r--app-emulation/qemu/Manifest2
-rw-r--r--app-emulation/qemu/qemu-9.1.2.ebuild2
-rw-r--r--app-emulation/virtiofsd/Manifest8
-rw-r--r--app-emulation/virtiofsd/virtiofsd-1.10.0-r2.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild)7
-rw-r--r--app-emulation/virtiofsd/virtiofsd-1.10.1-r2.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild)7
-rw-r--r--app-emulation/virtiofsd/virtiofsd-1.11.1-r2.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild)5
-rw-r--r--app-emulation/virtiofsd/virtiofsd-9999.ebuild7
-rw-r--r--app-emulation/virtualbox-kvm/Manifest4
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.1.6a_pre20250207.ebuild788
-rw-r--r--app-emulation/wine-vanilla/Manifest10
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild (renamed from app-emulation/wine-vanilla/wine-vanilla-9.22.ebuild)4
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.19.ebuild445
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.20.ebuild445
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.21.ebuild445
-rw-r--r--app-emulation/xen-tools/Manifest6
-rw-r--r--app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch21
-rw-r--r--app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch10
-rw-r--r--app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild22
-rw-r--r--app-emulation/xen-tools/xen-tools-4.19.1.ebuild15
31 files changed, 940 insertions, 2664 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index b206538a19b0..8da2739794c5 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
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/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/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/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || 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
}