summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-04 17:43:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-04 17:43:01 +0000
commitd0fafa709f2b77dc0e70c99118520000965e4b5a (patch)
tree170df5ff9fe071343b879da18acce63ee3a1c001 /app-emulation
parent56a597689e7509193b0924a635d2022f21b1a3e4 (diff)
gentoo auto-resync : 04:03:2024 - 17:43:01
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15311 -> 15311 bytes
-rw-r--r--app-emulation/libvirt/Manifest15
-rw-r--r--app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch35
-rw-r--r--app-emulation/libvirt/files/libvirt-8.2.0-do-not-use-sysconfig.patch211
-rw-r--r--app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch68
-rw-r--r--app-emulation/libvirt/libvirt-9.3.0-r2.ebuild363
-rw-r--r--app-emulation/libvirt/libvirt-9.4.0-r5.ebuild365
-rw-r--r--app-emulation/libvirt/libvirt-9.5.0-r2.ebuild365
-rw-r--r--app-emulation/libvirt/libvirt-9.6.0-r1.ebuild364
-rw-r--r--app-emulation/qemu/Manifest6
-rw-r--r--app-emulation/qemu/qemu-7.2.8.ebuild971
-rw-r--r--app-emulation/qemu/qemu-8.1.4.ebuild971
-rw-r--r--app-emulation/qemu/qemu-8.2.0.ebuild991
13 files changed, 0 insertions, 4725 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 11b5c920a900..01477f280515 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 cda4cc3a1e47..cbaafabc31ac 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,7 +1,4 @@
AUX README.gentoo-r3 2065 BLAKE2B f3677b916121126c431ba32e324bcc9f04b4dfeef1ee54517cae1118c67274592d890d6d919a48af6709e9220379797549277904a02fea740a69b1bf8f2397aa SHA512 77ede8a3e1a380b334595e65ae148acd2e52d594200253dc67d68dd256db5bf72ce7ce222d067c739ce53f84634421e74726f30c0ab7a1c76b86ccdc191c8a69
-AUX libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch 1281 BLAKE2B 631f813ad29db29a6eb537ecd7b9d12aed097c5e0e01c07161adac1dec8a6f129bc098172fe6de4e78a2fbe5e67052005a7c5d1d17cbbb63ad27025662b9fa34 SHA512 dc80c9fc459207dd1ff77548054ea5a51c41a2d36e1b8917eca5f69293a86168af3da47466d8ff954a8b2e0ead9f28ed7d6c2c3671cf67d0ebb4039003a0dde2
-AUX libvirt-8.2.0-do-not-use-sysconfig.patch 8420 BLAKE2B 37856003bc58b69531be6b55fcc3304b71558b7a5306c2da3fbad2d5eac006ca3ebb54bd56f8e761363311a5c865d2cd072c418794fcb605562fc32f997c88a9 SHA512 84a693b870aebe0f87f518473d28d97e613b6069f497e6e49c3e8feffc96c2e709d0a7a3530c52d4d034c6b0bc7374ab61f40ddd2f071735c5baacdebcfca8b6
-AUX libvirt-8.2.0-fix-paths-for-apparmor.patch 2785 BLAKE2B 2b1daa96385ce09a078e1c152b222b274fcde1803497de8709d7569debc1537e9ee4f65a1f775636521ba351310ad13806005e1c02fa00224551244a79ace109 SHA512 be537022563bcf782381cdb99188becf1785de950124626e5ea13219a870a1c6c13834f2cb3c9cf4c364a66b5a7647bfa856a4c5e634dfac6a591c8c93e5ce9f
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-9.4.0-fix-paths-for-apparmor.patch 3891 BLAKE2B 2af9198b4dbf1a05fb3d187920f3f47f773f94679bb94cdf318f092ea2ad4e6e6f88c7e2d3432e90510c6cb685de3c91721b8aa77809372dfd0c3b5d4f42ed70 SHA512 d785e5be0042072eeb4cccaf7cdf0cbe4fc195837f7736eae2da7c9d54a3f2538c2a6aac917d6f9621f66b5c05666ef8800bf30869a777bfb033a73b78129880
@@ -18,23 +15,11 @@ AUX virtlockd.init-r2 564 BLAKE2B 5979d26e8a3b4e402b3945f831b7304b1c6a4916172832
AUX virtlogd.init-r2 563 BLAKE2B 815fb795e225ddeb6a29d9983fc3821ce5efa460fa452251c393f19a460a4e9940678e89751482331d9fbef2f8f85988890ee59889d74b8aca01257fa98bc62f SHA512 405b43dade3e3e88199bd6871b6fb9bc99da4b59b05927ed1871176d13452ce3ce2d6de4c05dcd765c4433ba0d7ab0fe9d053964cc6de33f38c538dd21a74cd3
DIST libvirt-10.0.0.tar.xz 9395076 BLAKE2B bfbea7805a949999481293a31e52a5511bcf86db2c96486cbc3b9cb776719ec973b1208cfcb4a8ae2c9220d1d68053980eaf68893f7919c3ef354efbd1abf642 SHA512 4ab28539ff0e9a78ac231b11b4ec88b91d76ff2607cabd0226f04aaece73b05cab4aa9cfcf05073cd257ea270a377cd5d2cb915971583dbec04dadf2cf7ad252
DIST libvirt-10.0.0.tar.xz.asc 833 BLAKE2B e6377fe80a96025fe643d9bb14b3d64da3cf7f53000d8ee55606b4bc635d735943c4a7baa3796cbb7ce5812f03e2efd700aeef72e5bfcce68938b873aeca3f1f SHA512 08681d45c39695b07c88b27fddc471284ed66caa091a73ea3957e42ec92776d435ecb4dc71b6bb18a825322468fccb09263f612aa1bde53deea3d6c5305313d8
-DIST libvirt-9.3.0.tar.xz 9246292 BLAKE2B 6e47a70ec247b37c1958e324d5bf7ebcbff6aca5a7a9860f437ebe6a969d569a449d3dd5720081ad27926f445bcbe10089cb3b1d27960decc6239306f82259f9 SHA512 b9349dcd7798c76d75bb20afad67d6e676758cb201acaf7aed5109f0e91422b2bcca964a2f19aa8dc4fd0eca2923902474e16e3839bf8b15aca827028e88ddb7
-DIST libvirt-9.3.0.tar.xz.asc 833 BLAKE2B 25810919210bd489ecfd85f172c472d52e911e90d651fac2c7fa4f73220890bd2448317448f0469e8abfe8ad5ea6f3eb6b321e6d989e64f6ad4b676a5a38312c SHA512 0b51a621cef616ac55ac40c9bf9da56d3e1d59b5e87bcd04deaac7f775faab8f30861e53112be2242d9c8c6be41f1ed1c29d345d96e39be0ac33ef0b01494c45
-DIST libvirt-9.4.0.tar.xz 9250724 BLAKE2B 837a6eef509a43a0cd25a2ecaac9de95f21e903b553d5e56b404a689495e66bb0053866c9aea672cbe69130286d5a2ff2eb38ff447c77100e92bcb56cd244ee3 SHA512 8a8e3983c47c5ed5f4b50d90cb04e435717afddd27e16112ceeddda458d45c693daf65575f5d50274cfffcd1c83cbdd290819d8ece63f3bf9441b6bdaa309852
-DIST libvirt-9.4.0.tar.xz.asc 833 BLAKE2B 3a31f4097d8684a3a5e4b696c9bb49316a07c611a0cf1703e18653536af93d018ec44cbe5d0ce031e6f2c23a7c72691ded4c219faafa4bc770ad0dd7b616d0ce SHA512 710861b6b1c866be452e2da18a631076ad3ca3fbeb1728e561de08b34d16d2b49a0c390e7fa36eb35d0dc58fa35d5866ea6c573c84e9312b02880cdb969f7342
-DIST libvirt-9.5.0.tar.xz 9261176 BLAKE2B 9c270f782bb74194f209251d6397537182949e97877238bd96b36256b14000998d7b8ad2d4bccad5b44c54a69a21b0be6f60665b3f3bab5cd129e4cfce39a264 SHA512 d8c40281856a60ba2a22a7a64721c4baee1803235227a973a22465aacfb26f674dc65045b87d0dcd183be324cb65408f253b4d72c2ed494fb809e98772eea2e3
-DIST libvirt-9.5.0.tar.xz.asc 833 BLAKE2B 48e935f3509b05403a742119657983f4708a26637af1ec6b622ff82ae5d2507ff935cdf113ade37b643b2bca49ad56bfd1eba7809349a17634e4779d25edbd96 SHA512 794e7be683e61da963b96ac6185e4abb65a44578e00fa14073a0d6c7d98973c4fa5038a0a905f822a6d2f8fd1b201145714b0137adf936c6d56df79523a08b9e
-DIST libvirt-9.6.0.tar.xz 9282400 BLAKE2B a58f2dea7a3051bb7a69678bd1e1dac9123892b2ca7ee6b204bda1a0a3c8fd2d210b2295b300bb88fab86dfddb3d7472d495ff4c10af84bb53b7662190cf17c4 SHA512 654d22cc71926715e103313f01a4f117a19dfcf3087ffe714cf2114dbc88e42ac33cc6c100c61e60f76f13468ff5f369b157748ca6cd69c4d504d4de6b6e44b4
-DIST libvirt-9.6.0.tar.xz.asc 833 BLAKE2B c8eb984dfb797dad5c09a1aea28b835f43f14ee560548df5d3514efab14b0c4df37c964caa6ec092751a804f998d48b89cdddb03172a6d19de82b649774212b5 SHA512 8f1cb80ecddeaed137c2a381be9c324a08aa661d629c56667ef0080b140000f288ce33491c3ebdd286f490b6935ce460cb4dd7b5ec694f4636d6fff2d621ca88
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.0.0-r1.ebuild 9479 BLAKE2B ef1ef1720d69a4b4159e496a15ed0ff7e9b479d1cbf785aa44f51c8554f1ff213b3833ddbadf7fc300957bb559246474b8fc761e8d13a2496282380ad10ae821 SHA512 c3c4303dc2e0da2f6a64df1007f48f2dd4faf37670d41d80cd4c15a6124179c6768a01df5dd417b02d08f6d01cdacb991a0bf73dd88f7c2b1b468332f5012e67
-EBUILD libvirt-9.3.0-r2.ebuild 9503 BLAKE2B ee98655ba82c56d1ade341b23bd8881de6019c84ec7e859611462b15d310011b572cffcdd459672ab821509d06381545c1a157a422e7fec39c7fab7d62f5131e SHA512 58a9790b67605a6e626df381ff545ad7572b7c3b7af099bffab1867461b49578c77e1175b8a2c26ff63d770cba5bb269dd4b2ea2c8a9760547e5b1c4717e7c75
-EBUILD libvirt-9.4.0-r5.ebuild 9562 BLAKE2B 89332ca119f73704eb115f93ec4ffca9524453742907bdafc5eda9b265b151db227fd324d44be2850ef8de0dd7c4f81008ac07effadb650fd900826862fb899d SHA512 33b998e3eec0d340afa4cbb5a361630b00e3da548da85a61d9220d43e6d3e4b8b3bad8c85aa2c5352ef42a1b8ee6cc12dad030261cb03de530e376997e4155a5
-EBUILD libvirt-9.5.0-r2.ebuild 9565 BLAKE2B d4cc7ad081d4150f37afd7ad85ffcabe66353902e1fa5af9a3c1cdfe79744df78986a5c27c6de378bb5a62a119ff362fccd9ade0f9e9b029a3b535db1611ab0c SHA512 ecd943b516a3b81f95f6daf82e96493f3403d507d9e591a6d697dc4d025b64840799cc586b200e3383ce5c3a223f36d391bd3ef664da89bdd078a8b4c1aec6a7
-EBUILD libvirt-9.6.0-r1.ebuild 9479 BLAKE2B 7c562e885712c7f17dc927fb08dbf5f42847054b3366e618afa84fa9967d1da5d69e9e283f11ac8baf07198890da9f9a2a9ff8238378b767617baaf3cee5c798 SHA512 09e55c5aa7e1eab9456289567b3de32c97614b7be6e18a220972c9c6044ab3a2e27cb29275a180f84ac42bfb6165d7ebf2cf683a17ed3d2de27ad5c73c47430c
EBUILD libvirt-9.8.0-r1.ebuild 9475 BLAKE2B ea488b7745a11708eb64472061b18cdb7779055de774a1c5645a095c4453253d787447dd90b98b935f5eab324e1e59605caf808c5937f7eba78286faaf0cf951 SHA512 e04654fe9ce9b49b38425a30d2d1dfc2e71bcfa62bd0bc79887506df84a4e861ea75cc1ce7cf0eb9f54a8a61bd2b16f5fad0d99b0928b753ba81ec36425ab4d6
EBUILD libvirt-9.9.0-r1.ebuild 9529 BLAKE2B 4fa7eab15cf1bdcaa52e89d1ad9a21be7c2a9806eac59ac37a571ccdc1d7a924d911d38a50743453611baf1a8009178383527dda193747b3df1299dded6f7a04 SHA512 30fc14d9deea709d8302933af59825510f94055a1f704621348802beaa5089cc4ae7083ad494ac0d7da5271dda092b995bc5216ab0aa786f0f0cebd4071df600
EBUILD libvirt-9999.ebuild 9480 BLAKE2B 92c52396d10d728ff1417fce0f888a644bfbbee1a758f543e12b132d491fdd96244707f7d89d1303f855ac83803ca7795ce764f6e1046ef0252b660d6d7764f6 SHA512 b263250d244b1df458f184e4e813931a303c62fadc6ead76337a046d9503f2f7e87ae1aaaf2d36092bede66079b93aadc161df0a8ba396d2867e0d0bb4a17e09
diff --git a/app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch b/app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch
deleted file mode 100644
index bf7a328f7759..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e97700d867ffa949c97f8a635a76b9ce510e806f Mon Sep 17 00:00:00 2001
-Message-Id: <e97700d867ffa949c97f8a635a76b9ce510e806f.1580460243.git.mprivozn@redhat.com>
-In-Reply-To: <5965f20fe0275b324c9b84ab7f48dd7db0494495.1580460243.git.mprivozn@redhat.com>
-References: <5965f20fe0275b324c9b84ab7f48dd7db0494495.1580460243.git.mprivozn@redhat.com>
-From: Michal Privoznik <mprivozn@redhat.com>
-Date: Fri, 31 Jan 2020 09:42:14 +0100
-Subject: [PATCH 2/3] Fix paths in libvirt-guests.sh.in
-
-Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
----
- tools/libvirt-guests.sh.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
-index a881f6266e..79d38b3e9a 100644
---- a/tools/libvirt-guests.sh.in
-+++ b/tools/libvirt-guests.sh.in
-@@ -39,11 +39,11 @@ START_DELAY=0
- BYPASS_CACHE=0
- SYNC_TIME=0
-
--test -f "$sysconfdir"/sysconfig/libvirt-guests &&
-- . "$sysconfdir"/sysconfig/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/subsys/libvirt-guests
-+VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests
-
- RETVAL=0
-
---
-2.24.1
-
diff --git a/app-emulation/libvirt/files/libvirt-8.2.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-8.2.0-do-not-use-sysconfig.patch
deleted file mode 100644
index fae61294584e..000000000000
--- a/app-emulation/libvirt/files/libvirt-8.2.0-do-not-use-sysconfig.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-From 10d65f10a76c7478c4ec0c65ffeec7f4b18929f9 Mon Sep 17 00:00:00 2001
-Message-Id: <10d65f10a76c7478c4ec0c65ffeec7f4b18929f9.1646212419.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 | 3 +--
- 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, 2 insertions(+), 16 deletions(-)
-
-diff --git a/src/interface/virtinterfaced.service.in b/src/interface/virtinterfaced.service.in
-index cb860ff1c4..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=-@sysconfdir@/sysconfig/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 6b083c414f..597f5d1905 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=-@sysconfdir@/sysconfig/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 19271d1e7d..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=-@sysconfdir@/sysconfig/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 8ab5478517..fe5c58b8ed 100644
---- a/src/logging/virtlogd.service.in
-+++ b/src/logging/virtlogd.service.in
-@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8)
- Documentation=https://libvirt.org
-
- [Service]
--EnvironmentFile=-@sysconfdir@/sysconfig/virtlogd
--ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS
-+ExecStart=@sbindir@/virtlogd
- ExecReload=/bin/kill -USR1 $MAINPID
- # Losing the logs is a really bad thing that will
- # cause the machine to be fenced (rebooted), so make
-diff --git a/src/lxc/virtlxcd.service.in b/src/lxc/virtlxcd.service.in
-index 334c34db44..1b9689017e 100644
---- a/src/lxc/virtlxcd.service.in
-+++ b/src/lxc/virtlxcd.service.in
-@@ -19,7 +19,6 @@ Documentation=https://libvirt.org
- [Service]
- Type=notify
- Environment=VIRTLXCD_ARGS="--timeout 120"
--EnvironmentFile=-@sysconfdir@/sysconfig/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 05ce672b73..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=-@sysconfdir@/sysconfig/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 cd9de362fd..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=-@sysconfdir@/sysconfig/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 ab65419e0c..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=-@sysconfdir@/sysconfig/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 5ad968ace9..c63147d31f 100644
---- a/src/qemu/virtqemud.service.in
-+++ b/src/qemu/virtqemud.service.in
-@@ -21,7 +21,6 @@ Documentation=https://libvirt.org
- [Service]
- Type=notify
- Environment=VIRTQEMUD_ARGS="--timeout 120"
--EnvironmentFile=-@sysconfdir@/sysconfig/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 5d4d412fcc..27cfc34b90 100644
---- a/src/remote/libvirtd.service.in
-+++ b/src/remote/libvirtd.service.in
-@@ -29,7 +29,6 @@ Documentation=https://libvirt.org
- [Service]
- Type=notify
- Environment=LIBVIRTD_ARGS="--timeout 120"
--EnvironmentFile=-@sysconfdir@/sysconfig/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 f9bb6b84a9..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=-@sysconfdir@/sysconfig/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 6d298c5334..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=-@sysconfdir@/sysconfig/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 eda4d86d37..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=-@sysconfdir@/sysconfig/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 6f447276e9..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=-@sysconfdir@/sysconfig/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 3cf6476196..5668009ae4 100644
---- a/tools/libvirt-guests.service.in
-+++ b/tools/libvirt-guests.service.in
-@@ -20,7 +20,7 @@ Documentation=man:libvirt-guests(8)
- Documentation=https://libvirt.org
-
- [Service]
--EnvironmentFile=-@sysconfdir@/sysconfig/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.34.1
-
diff --git a/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch
deleted file mode 100644
index 544eb944f9e7..000000000000
--- a/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 52ecc3247d72e2a5ffc390093d803f59e20087f6 Mon Sep 17 00:00:00 2001
-Message-Id: <52ecc3247d72e2a5ffc390093d803f59e20087f6.1647318231.git.mprivozn@redhat.com>
-From: Michal Privoznik <mprivozn@redhat.com>
-Date: Tue, 15 Mar 2022 05:23:29 +0100
-Subject: [PATCH] libvirt-8.2.0-fix-paths-for-apparmor.patch
-
-Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
----
-diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
-index 44056b5f14..1f0db2cda2 100644
---- a/src/security/apparmor/libvirt-qemu
-+++ b/src/security/apparmor/libvirt-qemu
-@@ -96,6 +96,7 @@
- /usr/share/sgabios/** r,
- /usr/share/slof/** r,
- /usr/share/vgabios/** r,
-+ /usr/share/seavgabios/** r,
-
- # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
- /etc/pki/CA/ r,
-diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
-index 58b4024b85..c77b32665d 100644
---- a/src/security/apparmor/meson.build
-+++ b/src/security/apparmor/meson.build
-@@ -1,5 +1,5 @@
- apparmor_gen_profiles = [
-- 'usr.lib.libvirt.virt-aa-helper',
-+ 'usr.libexec.libvirt.virt-aa-helper',
- 'usr.sbin.libvirtd',
- 'usr.sbin.virtqemud',
- 'usr.sbin.virtxend',
-@@ -35,7 +35,7 @@ install_data(
- )
-
- install_data(
-- 'usr.lib.libvirt.virt-aa-helper.local',
-+ 'usr.libexec.libvirt.virt-aa-helper.local',
- install_dir: apparmor_dir / 'local',
-- rename: 'usr.lib.libvirt.virt-aa-helper',
-+ rename: 'usr.libexec.libvirt.virt-aa-helper',
- )
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-similarity index 94%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-index ff1d46bebe..6beedde1b1 100644
---- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-@@ -41,7 +41,7 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
- deny /dev/mapper/* r,
-
- @libexecdir@/virt-aa-helper mr,
-- /{usr/,}sbin/apparmor_parser Ux,
-+ /{usr/,}{s,}bin/apparmor_parser Ux,
-
- @sysconfdir@/apparmor.d/libvirt/* r,
- @sysconfdir@/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
-@@ -71,5 +71,5 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
- /**.[iI][sS][oO] r,
- /**/disk{,.*} r,
-
-- #include <local/usr.lib.libvirt.virt-aa-helper>
-+ #include <local/usr.libexec.libvirt.virt-aa-helper>
- }
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
-similarity index 100%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
diff --git a/app-emulation/libvirt/libvirt-9.3.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.3.0-r2.ebuild
deleted file mode 100644
index 82fda1d2cf06..000000000000
--- a/app-emulation/libvirt/libvirt-9.3.0-r2.ebuild
+++ /dev/null
@@ -1,363 +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..11} )
-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://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${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 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(-)] )
- 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
- >=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]
- )
- 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}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-9.6.0-storage-Fix-returning-of-locked-objects-from-virStor.patch
- "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.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 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"
- -Drunstatedir="${EPREFIX}/run"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- )
-
- 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.4.0-r5.ebuild b/app-emulation/libvirt/libvirt-9.4.0-r5.ebuild
deleted file mode 100644
index 5df9ca970adb..000000000000
--- a/app-emulation/libvirt/libvirt-9.4.0-r5.ebuild
+++ /dev/null
@@ -1,365 +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..11} )
-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://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${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 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(-)] )
- 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]
- )
- 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.4.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-9.6.0-storage-Fix-returning-of-locked-objects-from-virStor.patch
- "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.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 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}"
- )
-
- 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.5.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.5.0-r2.ebuild
deleted file mode 100644
index 51178c2f3795..000000000000
--- a/app-emulation/libvirt/libvirt-9.5.0-r2.ebuild
+++ /dev/null
@@ -1,365 +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..11} )
-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://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${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 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(-)] )
- 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]
- )
- 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.4.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-9.6.0-storage-Fix-returning-of-locked-objects-from-virStor.patch
- "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.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 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}"
- )
-
- 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.6.0-r1.ebuild b/app-emulation/libvirt/libvirt-9.6.0-r1.ebuild
deleted file mode 100644
index bb1560fb0ec5..000000000000
--- a/app-emulation/libvirt/libvirt-9.6.0-r1.ebuild
+++ /dev/null
@@ -1,364 +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..11} )
-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://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${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 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(-)] )
- 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]
- )
- 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
-)
-
-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 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}"
- )
-
- 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/qemu/Manifest b/app-emulation/qemu/Manifest
index 9447596e332d..8dd9dd8ba797 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -19,25 +19,19 @@ DIST berkeley-testfloat-3-40619cbb3bf32872df8c53cc457039229428a263.tar.bz2 90086
DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b
-DIST qemu-7.2.8.tar.xz 121858732 BLAKE2B 0041346f68e9792f58591b361ff4206f8d16e76ff7ae6b8c4f7c276000b7e12d228bc8cfb32bc812b384725bbe272da893b15c9ad2ce821c003d4159942b47e7 SHA512 16d4e609b8c4af8eb86d9beffc09c9c797f06475a5b8c292d4389737cf873b8e7765d7f505892461a92631a3b6e44212d6568a102f9bc43ae0798d538d5525a6
DIST qemu-7.2.9.tar.xz 121870204 BLAKE2B 3336541124f96c09aec05721ce77e8187f8d29c716a05419fcb2b9510976683e58dd791205971d9daa11d3053eb211343225597de1bae72b07467e5acac2a851 SHA512 b1aa2316f6e2fe1e972b6d1aabf7c04b06bca3863143c6a523b5fda40bb8841bec27e0774f24adc4b3267cf1f1d39ba81246eb3d15d7273904a0df8e8503077d
DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054
DIST qemu-8.0.4.tar.xz 126179324 BLAKE2B dfb98964c629b251f0004b4630ae4500a52465579417d6f5c7dbbb1f672e10d8d7ffb98a4b00e26fb98b3c867208146dbdca026e4d30cbf1752ac733c4d9b915 SHA512 bd5ed682d51f974abd4be93f949701f9b5bfb87fd9929e31df130534da2f2c03b99adc9f924b3efd47d3b254e0e3c0046f4e69fbe9f6d0c4ac1f6babecb29449
DIST qemu-8.0.5.tar.xz 126175064 BLAKE2B 1d1f78c185ab64b4ca946a44ad04d0bbb6ea48de058037e4ba18176abeb0f0528754c6e832f742f93227182bbce145544eca5b908a366006e7ee58876aca0bda SHA512 ec9679473dda84a2f56ae8ee0039ec4dafb056414bfc5a3a147b2b6bb45ae3b130dd80f6385e8567b5d18f4be94f3536bc8acc45c61eddf40c9678b46cb8bddc
DIST qemu-8.1.0-docs.tar.xz 2129912 BLAKE2B 8aaf7b748538afdb5bcb6da15dbd96572d086824377c4b0e93f1ddc695f9a4775471e360a9616d2d481dbf8113e91d2601c69d92cef565fb90b65ffacfdb304e SHA512 905515742bb56a439fc8117ec48ea668e7b2bf0244587673e4352d9e8e49911eb84ff093596ff566e44787197cf9789ec8950e3d75fb7a670c5546394a322ac9
-DIST qemu-8.1.4.tar.xz 124037140 BLAKE2B b9e183508071383b41e1ad21c4ead2d1147affcbfc488e085ba7f7a968071523656b7a5d931b32e17ae2f857a6dc317ee350721fdb32585dc138476fd59b1e07 SHA512 b67afcf6d58808b02d015438c60dc74067b409c723b2736e69e66ffa3ed80a71d51b941a53e2bb944aa90a5538d631bcbd287d833ea9a78e3dd64ce299cb47ca
DIST qemu-8.1.5.tar.xz 124007248 BLAKE2B 0d5db3e18c4dc1035fed442116be98b7e7bbfae905e4facef3278ef5a488332fa2d8e6599169fa1f740e96a035027e989c5cdffc0bfd4e0ca0fca1d0a537e8da SHA512 1005e0602a763979c4d0ec6e79a390e4232dcc3d0b8461fe42856c58e54ad25a2079f3850d27023fce8a2b382b36e3baa7882b69d48cbb72002984c160241c92
DIST qemu-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5
-DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c
DIST qemu-8.2.1.tar.xz 129848448 BLAKE2B af5b03fecd41c376daece7598c01755c458d38e045486f33e2915cc7d4856f23b4478a2c1a32a7eb600c4fc675c24df55007840c8a3c6d1fd2d585c74848f02e SHA512 e72d3e13339c03e8d371ca060ac700c45af2ca37523cddb6b02dcaf8430d75c8cef194cf496df9816440b281f368457def1126677db757928805d93ceca2f9af
EBUILD qemu-7.2.4.ebuild 27514 BLAKE2B 0ccea459f94ffad1deb29fd1007162e7ce852ce34267bca596d65e9fc40147ed16cd862a885a8623ee07a76e6c3934b0d893d4401179063414b421dbddd3fe2e SHA512 10a7b8272be6f0024dc23c3385e05be5e89d575c2bee0109676eebe2017efd88a17b070d33c2c20d05adfe37be3a6be5381c6d0190a09fc3f3a4d1677319a992
-EBUILD qemu-7.2.8.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
EBUILD qemu-7.2.9.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
EBUILD qemu-8.0.4.ebuild 27376 BLAKE2B fd1a9b51821eeafef8b6601499c2abe56744a8ee7b57805bd25c1ac6664e3bddcf4f31178c0b13c79ac23457a2766e8616539bd1bf9c9b975c20f66f5b37764e SHA512 5d08daedd16007c57c386e916b4a58a8a879fb8911018daa15127b3ee4534395d818725ce47130cee2c9881ce4ecaca64d5d5d02ac0db53ca00d019ceaff7dcd
EBUILD qemu-8.0.5.ebuild 27482 BLAKE2B 45c89b4178eb9052391e9356bc99efbff2f356b95bdc9590cc897dba2024ae289d602cd6ef8527db395e6e0d097f3a81ea1996423e02d5935da5bc8040ae8fa8 SHA512 97f4e2ddfbd7b5f5c6d5d3fe18248d12652591d90065ef8c7f8e582b29aff7e4d8921030d7ff8ef04451622770306549ca616ca62c2cac758d3cb9813c462c00
-EBUILD qemu-8.1.4.ebuild 27381 BLAKE2B 9dda90a629817a237f8c5730aa326f9b71a0ecd00f0e7ef00e755ab338922623781b99fbc118ab09c89d9de239a0542fbc568c748405769047c5626ad29eb8bb SHA512 d9b49a5d4acdb71f6f4a9cb5f3076c0740ad22cb9590d4b04d4d4ce67ec722d3d62ac6a205a3875b0daff7e9b8ffed796ae03e96949be82a52f81b603b98a5bd
EBUILD qemu-8.1.5.ebuild 27377 BLAKE2B 87fa6bd65c13cc0a9b32723f8436538ec46f3027fc60eb54e88a81771d773c5039198b6ee0674b937fc6efb155e27de1a872665134d1bc35d718d009b0e8b9f4 SHA512 664cf6b76c01bbcd983faba656b2a3226e8803cd248559afd04885ab16e16f9e6a3547ced0ec772b4cb79a49ca348be5b9f44e8eea28009a2d6531fdccd08ac2
-EBUILD qemu-8.2.0.ebuild 27886 BLAKE2B 0f1dad26a9c710d5b4039d6a3d399810fc1e21bbaaaffb674c3406f427aaae882f463c9c81fdc39bc25b40f85e2873b15fd77a119bc4776701115b2add611882 SHA512 254f344437f852a917451b5d6dde5caebfd6fa4c2198a66e5afd6d42bffd0df2205737f6ac24d370982ed70f6e0cfe6c7cc5aa45b7c45ff68fbe0684a268e23b
EBUILD qemu-8.2.1.ebuild 27886 BLAKE2B 0f1dad26a9c710d5b4039d6a3d399810fc1e21bbaaaffb674c3406f427aaae882f463c9c81fdc39bc25b40f85e2873b15fd77a119bc4776701115b2add611882 SHA512 254f344437f852a917451b5d6dde5caebfd6fa4c2198a66e5afd6d42bffd0df2205737f6ac24d370982ed70f6e0cfe6c7cc5aa45b7c45ff68fbe0684a268e23b
EBUILD qemu-9999.ebuild 27986 BLAKE2B a0fe2be4a95e0e303058cd710d2be63494d0b735f15503aedeed88cce4e0ca80474b55d4ca5c85f88fe29aaafa1a4a56135a2f2fba398af7e119d3dd6eca0e98 SHA512 87c506a44c49cf4c3a9c840e3c826f7d5e21efc8722345ba96055173628d0322d578298733200e07371492e812f47ab0436ab8cdfda66630b599b533734f0670
MISC metadata.xml 4410 BLAKE2B 8991a6fb819fb1621ad78ee9d32568dddc7ed2e4876ac5d6ebc6cde9eeb7badb6d0549b72afe8373118bf9dea0cba457bc4cfe65f49040bdcb272a5734eb47fe SHA512 f2a4c53da7f9b3443a76439d31cadccfb026c74226c5c4654d9f50ec19e71e4939d6685fae44fd28e194881ba11ad42215cea7b48963a31a1e0ecf427e826b9e
diff --git a/app-emulation/qemu/qemu-7.2.8.ebuild b/app-emulation/qemu/qemu-7.2.8.ebuild
deleted file mode 100644
index ac517632fb22..000000000000
--- a/app-emulation/qemu/qemu-7.2.8.ebuild
+++ /dev/null
@@ -1,971 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
-QEMU_DOCS_PREBUILT_DEV=ajak
-QEMU_DOCS_VERSION="7.2.0"
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-# bug #830088
-QEMU_DOC_USEFLAG="+doc"
-
-PYTHON_COMPAT=( python3_{10,11} )
-PYTHON_REQ_USE="ncurses,readline"
-
-FIRMWARE_ABI_VERSION="7.2.0"
-
-inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
- pax-utils xdg-utils
-
-if [[ ${PV} == *9999* ]]; then
- QEMU_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
- EGIT_SUBMODULES=(
- tests/fp/berkeley-softfloat-3
- tests/fp/berkeley-testfloat-3
- ui/keycodemapdb
- )
- inherit git-r3
- SRC_URI=""
-else
- MY_P="${PN}-${PV/_rc/-rc}"
- SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
-
- if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
-
-LICENSE="GPL-2 LGPL-2 BSD-2"
-SLOT="0"
-
-[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
-
-IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
- +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
- jack jemalloc +jpeg
- lzo multipath
- ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
- plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
- +slirp
- smartcard snappy spice ssh static static-user systemtap test udev usb
- usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
- zstd"
-
-COMMON_TARGETS="
- aarch64
- alpha
- arm
- cris
- hppa
- i386
- loongarch64
- m68k
- microblaze
- microblazeel
- mips
- mips64
- mips64el
- mipsel
- nios2
- or1k
- ppc
- ppc64
- riscv32
- riscv64
- s390x
- sh4
- sh4eb
- sparc
- sparc64
- x86_64
- xtensa
- xtensaeb
-"
-IUSE_SOFTMMU_TARGETS="
- ${COMMON_TARGETS}
- avr
- rx
- tricore
-"
-IUSE_USER_TARGETS="
- ${COMMON_TARGETS}
- aarch64_be
- armeb
- hexagon
- mipsn32
- mipsn32el
- ppc64le
- sparc32plus
-"
-
-use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
-use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
-IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
-
-RESTRICT="!test? ( test )"
-
-# Allow no targets to be built so that people can get a tools-only build.
-# Block USE flag configurations known to not work.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- qemu_softmmu_targets_arm? ( fdt )
- qemu_softmmu_targets_microblaze? ( fdt )
- qemu_softmmu_targets_mips64el? ( fdt )
- qemu_softmmu_targets_ppc64? ( fdt )
- qemu_softmmu_targets_ppc? ( fdt )
- qemu_softmmu_targets_riscv32? ( fdt )
- qemu_softmmu_targets_riscv64? ( fdt )
- qemu_softmmu_targets_x86_64? ( fdt )
- sdl-image? ( sdl )
- static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
- static-user? ( !plugins )
- virgl? ( opengl )
- virtfs? ( xattr )
- vnc? ( gnutls )
- vte? ( gtk )
- multipath? ( udev )
- plugins? ( !static !static-user )
-"
-for smname in ${IUSE_SOFTMMU_TARGETS} ; do
- REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
-done
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# and user/softmmu targets (qemu-*, qemu-system-*).
-#
-# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
-#
-# The attr lib isn't always linked in (although the USE flag is always
-# respected). This is because qemu supports using the C library's API
-# when available rather than always using the external library.
-ALL_DEPEND="
- dev-libs/glib:2[static-libs(+)]
- sys-libs/zlib[static-libs(+)]
- python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-debug/systemtap )
- xattr? ( sys-apps/attr[static-libs(+)] )"
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# softmmu targets (qemu-system-*).
-SOFTMMU_TOOLS_DEPEND="
- sys-libs/libcap-ng[static-libs(+)]
- >=x11-libs/pixman-0.28.0[static-libs(+)]
- accessibility? (
- app-accessibility/brltty[api]
- app-accessibility/brltty[static-libs(+)]
- )
- aio? ( dev-libs/libaio[static-libs(+)] )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bpf? ( dev-libs/libbpf:= )
- bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:=[static-libs(+)] )
- curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
- fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
- gnutls? (
- >=net-libs/gnutls-3.0:=[static-libs(+)]
- dev-libs/nettle:=[static-libs(+)]
- )
- gtk? (
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/libX11
- vte? ( x11-libs/vte:2.91 )
- )
- infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
- iscsi? ( net-libs/libiscsi )
- io-uring? ( sys-libs/liburing:=[static-libs(+)] )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc )
- jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
- lzo? ( dev-libs/lzo:2[static-libs(+)] )
- multipath? ( sys-fs/multipath-tools )
- ncurses? (
- sys-libs/ncurses:=[unicode(+)]
- sys-libs/ncurses:=[static-libs(+)]
- )
- nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
- numa? ( sys-process/numactl[static-libs(+)] )
- opengl? (
- virtual/opengl
- media-libs/libepoxy[static-libs(+)]
- media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl(+),gbm(+)]
- )
- pam? ( sys-libs/pam )
- png? ( media-libs/libpng:0=[static-libs(+)] )
- pulseaudio? ( media-libs/libpulse )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
- sdl? (
- media-libs/libsdl2[video]
- media-libs/libsdl2[static-libs(+)]
- )
- sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
- seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
- slirp? ( net-libs/libslirp[static-libs(+)] )
- smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
- snappy? ( app-arch/snappy:= )
- spice? (
- >=app-emulation/spice-protocol-0.12.3
- >=app-emulation/spice-0.12.0[static-libs(+)]
- )
- ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev:= )
- usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
- usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
- vde? ( net-misc/vde[static-libs(+)] )
- virgl? ( media-libs/virglrenderer[static-libs(+)] )
- virtfs? ( sys-libs/libcap )
- xen? ( app-emulation/xen-tools:= )
- zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
-"
-
-EDK2_OVMF_VERSION="202202"
-SEABIOS_VERSION="1.16.0"
-
-X86_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- ~sys-firmware/ipxe-1.21.1[binary,qemu]
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- ~sys-firmware/sgabios-0.1_pre10[binary]
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
- >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- )
- sys-firmware/ipxe[qemu]
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- sys-firmware/sgabios
- )"
-PPC_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- )
-"
-
-BDEPEND="
- $(python_gen_impl_dep)
- dev-lang/perl
- dev-build/meson
- sys-apps/texinfo
- virtual/pkgconfig
- doc? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- )
- gtk? ( nls? ( sys-devel/gettext ) )
- test? (
- dev-libs/glib[utils]
- app-alternatives/bc
- )
-"
-CDEPEND="
- !static? (
- ${ALL_DEPEND//\[static-libs(+)]}
- ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
- )
- qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
-"
-DEPEND="${CDEPEND}
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
- static? (
- ${ALL_DEPEND}
- ${SOFTMMU_TOOLS_DEPEND}
- )
- static-user? ( ${ALL_DEPEND} )"
-RDEPEND="${CDEPEND}
- acct-group/kvm
- selinux? (
- sec-policy/selinux-qemu
- sys-libs/libselinux
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-6.0.0-make.patch
- "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
- "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
- "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
-)
-
-QA_PREBUILT="
- usr/share/qemu/hppa-firmware.img
- usr/share/qemu/openbios-ppc
- usr/share/qemu/openbios-sparc64
- usr/share/qemu/openbios-sparc32
- usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
- usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
- usr/share/qemu/palcode-clipper
- usr/share/qemu/s390-ccw.img
- usr/share/qemu/s390-netboot.img
- usr/share/qemu/u-boot.e500
-"
-
-QA_WX_LOAD="usr/bin/qemu-i386
- usr/bin/qemu-x86_64
- usr/bin/qemu-alpha
- usr/bin/qemu-arm
- usr/bin/qemu-cris
- usr/bin/qemu-m68k
- usr/bin/qemu-microblaze
- usr/bin/qemu-microblazeel
- usr/bin/qemu-mips
- usr/bin/qemu-mipsel
- usr/bin/qemu-or1k
- usr/bin/qemu-ppc
- usr/bin/qemu-ppc64
- usr/bin/qemu-sh4
- usr/bin/qemu-sh4eb
- usr/bin/qemu-sparc
- usr/bin/qemu-sparc64
- usr/bin/qemu-armeb
- usr/bin/qemu-sparc32plus
- usr/bin/qemu-s390x
- usr/bin/qemu-unicore32
-"
-
-DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
-kernel module loaded before running kvm. The easiest way to ensure that the
-kernel module is loaded is to load it on boot.
- For AMD CPUs the module is called 'kvm-amd'.
- For Intel CPUs the module is called 'kvm-intel'.
-Please review /etc/conf.d/modules for how to load these.
-
-Make sure your user is in the 'kvm' group. Just run
- $ gpasswd -a <USER> kvm
-then have <USER> re-login.
-
-For brand new installs, the default permissions on /dev/kvm might not let
-you access it. You can tell udev to reset ownership/perms:
- $ udevadm trigger -c add /dev/kvm
-
-If you want to register binfmt handlers for qemu user targets:
-For openrc:
- # rc-update add qemu-binfmt
-For systemd:
- # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
-
-pkg_pretend() {
- if use kernel_linux && kernel_is lt 2 6 25; then
- eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
- elif use kernel_linux; then
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
- ERROR_KVM="You must enable KVM in your kernel to continue"
- ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
- ERROR_KVM_AMD+=" your kernel configuration."
- ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
- ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
- ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
- ERROR_TUN+=" into your kernel or loaded as a module to use the"
- ERROR_TUN+=" virtual network device if using -net tap."
- ERROR_BRIDGE="You will also need support for 802.1d"
- ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
- ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
- ERROR_VHOST_NET+=" support"
-
- if use amd64 || use x86 || use amd64-linux || use x86-linux; then
- if grep -q AuthenticAMD /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_AMD"
- elif grep -q GenuineIntel /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_INTEL"
- fi
- fi
-
- use python && CONFIG_CHECK+=" ~DEBUG_FS"
- ERROR_DEBUG_FS="debugFS support required for kvm_stat"
-
- # Now do the actual checks setup above
- check_extra_config
- fi
- fi
-
- if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
- eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
- eerror "instances are still pointing to it. Please update your"
- eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
- eerror "and the right system binary (e.g. qemu-system-x86_64)."
- die "update your virt configs to not use qemu-kvm"
- fi
-}
-
-# Sanity check to make sure target lists are kept up-to-date.
-check_targets() {
- local var=$1 mak=$2
- local detected sorted
-
- pushd "${S}"/configs/targets/ >/dev/null || die
-
- # Force C locale until glibc is updated. #564936
- detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
- sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
- if [[ ${sorted} != "${detected}" ]] ; then
- eerror "The ebuild needs to be kept in sync."
- eerror "${var}: ${sorted}"
- eerror "$(printf '%-*s' ${#var} configure): ${detected}"
- die "sync ${var} to the list of targets"
- fi
-
- popd >/dev/null
-}
-
-src_prepare() {
- check_targets IUSE_SOFTMMU_TARGETS softmmu
- check_targets IUSE_USER_TARGETS linux-user
-
- default
-
- # Use correct toolchain to fix cross-compiling
- tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
- export WINDRES=${CHOST}-windres
-
- # Verbose builds
- MAKEOPTS+=" V=1"
-
- # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
- # this setting (-U then -D..=2) will prevent us from trying out 3, so
- # drop it. No change to level of protection b/c we patch our toolchain.
- sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
-
- # Remove bundled modules
- rm -r dtc meson roms/*/ || die
-}
-
-##
-# configures qemu based on the build directory and the build type
-# we are using.
-#
-qemu_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- local buildtype=$1
- local builddir="${S}/${buildtype}-build"
-
- mkdir "${builddir}" || die
-
- local conf_opts=(
- --prefix=/usr
- --sysconfdir=/etc
- --bindir=/usr/bin
- --libdir=/usr/$(get_libdir)
- --datadir=/usr/share
- --docdir=/usr/share/doc/${PF}/html
- --mandir=/usr/share/man
- --localstatedir=/var
- --disable-bsd-user
- --disable-containers # bug #732972
- --disable-guest-agent
- --disable-strip
- --with-git-submodules=ignore
-
- # bug #746752: TCG interpreter has a few limitations:
- # - it does not support FPU
- # - it's generally slower on non-self-modifying code
- # It's advantage is support for host architectures
- # where native codegeneration is not implemented.
- # Gentoo has qemu keyworded only on targets with
- # native code generation available. Avoid the interpreter.
- --disable-tcg-interpreter
-
- --disable-werror
- # We support gnutls/nettle for crypto operations. It is possible
- # to use gcrypt when gnutls/nettle are disabled (but not when they
- # are enabled), but it's not really worth the hassle. Disable it
- # all the time to avoid automatically detecting it. #568856
- --disable-gcrypt
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- --host-cc="$(tc-getBUILD_CC)"
-
- $(use_enable alsa)
- $(use_enable debug debug-info)
- $(use_enable debug debug-tcg)
- $(use_enable jack)
- $(use_enable nls gettext)
- $(use_enable oss)
- $(use_enable plugins)
- $(use_enable pulseaudio pa)
- $(use_enable selinux)
- $(use_enable xattr attr)
- )
-
- # Disable options not used by user targets. This simplifies building
- # static user targets (USE=static-user) considerably.
- conf_notuser() {
- if [[ ${buildtype} == "user" ]] ; then
- echo "--disable-${2:-$1}"
- else
- use_enable "$@"
- fi
- }
- # Enable option only for softmmu build, but not 'user' or 'tools'
- conf_softmmu() {
- if [[ ${buildtype} == "softmmu" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Enable option only for tools build, but not 'user' or 'softmmu'
- conf_tools() {
- if [[ ${buildtype} == "tools" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Special case for the malloc flag, because the --disable flag does
- # not exist and trying like above will break configuring.
- conf_malloc() {
- if [[ ! ${buildtype} == "user" ]] ; then
- usex "${1}" "--enable-malloc=${1}" ""
- fi
- }
- conf_opts+=(
- $(conf_notuser accessibility brlapi)
- $(conf_notuser aio linux-aio)
- $(conf_softmmu bpf)
- $(conf_notuser bzip2)
- $(conf_notuser capstone)
- $(conf_notuser curl)
- $(conf_tools doc docs)
- $(conf_notuser fdt)
- $(conf_notuser fuse)
- $(conf_notuser glusterfs)
- $(conf_notuser gnutls)
- $(conf_notuser gnutls nettle)
- $(conf_notuser gtk)
- $(conf_notuser infiniband rdma)
- $(conf_notuser iscsi libiscsi)
- $(conf_notuser io-uring linux-io-uring)
- $(conf_malloc jemalloc)
- $(conf_notuser jpeg vnc-jpeg)
- $(conf_notuser kernel_linux kvm)
- $(conf_notuser lzo)
- $(conf_notuser multipath mpath)
- $(conf_notuser ncurses curses)
- $(conf_notuser nfs libnfs)
- $(conf_notuser numa)
- $(conf_notuser opengl)
- $(conf_notuser pam auth-pam)
- $(conf_notuser png)
- $(conf_notuser rbd)
- $(conf_notuser sasl vnc-sasl)
- $(conf_notuser sdl)
- $(conf_softmmu sdl-image)
- $(conf_notuser seccomp)
- $(conf_notuser slirp)
- $(conf_notuser smartcard)
- $(conf_notuser snappy)
- $(conf_notuser spice)
- $(conf_notuser ssh libssh)
- $(conf_notuser udev libudev)
- $(conf_notuser usb libusb)
- $(conf_notuser usbredir usb-redir)
- $(conf_notuser vde)
- $(conf_notuser vhost-net)
- $(conf_notuser virgl virglrenderer)
- $(conf_softmmu virtfs)
- $(conf_notuser vnc)
- $(conf_notuser vte)
- $(conf_notuser xen)
- $(conf_notuser xen xen-pci-passthrough)
- # use prebuilt keymaps, bug #759604
- --disable-xkbcommon
- $(conf_notuser zstd)
- )
-
- if [[ ! ${buildtype} == "user" ]] ; then
- # audio options
- local audio_opts=(
- # Note: backend order matters here: #716202
- # We iterate from higher-level to lower level.
- $(usex pulseaudio pa "")
- $(usev jack)
- $(usev sdl)
- $(usev alsa)
- $(usev oss)
- )
- conf_opts+=(
- --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
- )
- fi
-
- case ${buildtype} in
- user)
- conf_opts+=(
- --enable-linux-user
- --disable-system
- --disable-blobs
- --disable-tools
- --disable-cap-ng
- --disable-seccomp
- )
- local static_flag="static-user"
- ;;
- softmmu)
- conf_opts+=(
- --disable-linux-user
- --enable-system
- --disable-tools
- --enable-cap-ng
- --enable-seccomp
- )
- local static_flag="static"
- ;;
- tools)
- conf_opts+=(
- --disable-linux-user
- --disable-system
- --disable-blobs
- --enable-tools
- --enable-cap-ng
- )
- local static_flag="static"
- ;;
- esac
-
- local targets="${buildtype}_targets"
- [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
-
- # Add support for SystemTAP
- use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
-
- # We always want to attempt to build with PIE support as it results
- # in a more secure binary. But it doesn't work with static or if
- # the current GCC doesn't have PIE support.
- if use ${static_flag}; then
- conf_opts+=( --static --disable-pie )
- else
- tc-enables-pie && conf_opts+=( --enable-pie )
- fi
-
- # Meson will not use a cross-file unless cross_prefix is set.
- tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
-
- # Plumb through equivalent of EXTRA_ECONF to allow experiments
- # like bug #747928.
- conf_opts+=( ${EXTRA_CONF_QEMU} )
-
- echo "../configure ${conf_opts[*]}"
- cd "${builddir}"
- ../configure "${conf_opts[@]}" || die "configure failed"
-}
-
-src_configure() {
- local target
-
- python_setup
-
- softmmu_targets= softmmu_bins=()
- user_targets= user_bins=()
-
- for target in ${IUSE_SOFTMMU_TARGETS} ; do
- if use "qemu_softmmu_targets_${target}"; then
- softmmu_targets+=",${target}-softmmu"
- softmmu_bins+=( "qemu-system-${target}" )
- fi
- done
-
- for target in ${IUSE_USER_TARGETS} ; do
- if use "qemu_user_targets_${target}"; then
- user_targets+=",${target}-linux-user"
- user_bins+=( "qemu-${target}" )
- fi
- done
-
- softmmu_targets=${softmmu_targets#,}
- user_targets=${user_targets#,}
-
- [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
- [[ -n ${user_targets} ]] && qemu_src_configure "user"
- qemu_src_configure "tools"
-}
-
-src_compile() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build" || die
- default
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- default
- fi
-
- cd "${S}/tools-build" || die
- default
-}
-
-src_test() {
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- pax-mark m */qemu-system-* #515550
- emake check
- fi
-}
-
-qemu_python_install() {
- python_domodule "${S}/python/qemu"
-
- python_doscript "${S}/scripts/kvm/vmxcap"
- python_doscript "${S}/scripts/qmp/qmp-shell"
- python_doscript "${S}/scripts/qmp/qemu-ga-client"
-}
-
-# Generate binfmt support files.
-# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
-# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
-generate_initd() {
- local out="${T}/qemu-binfmt"
- local out_systemd="${T}/qemu.conf"
- local d="${T}/binfmt.d"
-
- einfo "Generating qemu binfmt scripts and configuration files"
-
- # Generate the debian fragments first.
- mkdir -p "${d}"
- "${S}"/scripts/qemu-binfmt-conf.sh \
- --debian \
- --exportdir "${d}" \
- --qemu-path "${EPREFIX}/usr/bin" \
- || die
- # Then turn the fragments into a shell script we can source.
- sed -E -i \
- -e 's:^([^ ]+) (.*)$:\1="\2":' \
- "${d}"/* || die
-
- # Generate the init.d script by assembling the fragments from above.
- local f qcpu package interpreter magic mask
- cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
- for f in "${d}"/qemu-* ; do
- source "${f}"
-
- # Normalize the cpu logic like we do in the init.d for the native cpu.
- qcpu=${package#qemu-}
- case ${qcpu} in
- arm*) qcpu="arm";;
- mips*) qcpu="mips";;
- ppc*) qcpu="ppc";;
- s390*) qcpu="s390";;
- sh*) qcpu="sh";;
- sparc*) qcpu="sparc";;
- esac
-
- # we use 'printf' here to be portable across 'sh'
- # implementations: #679168
- cat <<EOF >>"${out}"
- if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
- printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
- fi
-EOF
-
- echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
-
- done
- cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
-}
-
-src_install() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
- emake DESTDIR="${ED}" install
-
- # Install binfmt handler init script for user targets.
- generate_initd
- doinitd "${T}/qemu-binfmt"
-
- # Install binfmt/qemu.conf.
- insinto "/usr/share/qemu/binfmt.d"
- doins "${T}/qemu.conf"
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
- emake DESTDIR="${ED}" install
-
- # This might not exist if the test failed. #512010
- [[ -e check-report.html ]] && dodoc check-report.html
-
- if use kernel_linux; then
- udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
- fi
-
- if use python; then
- python_foreach_impl qemu_python_install
- fi
- fi
-
- cd "${S}/tools-build" || die
- emake DESTDIR="${ED}" install
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
- fi
-
- # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null || die
- pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null || die
-
- # Install config file example for qemu-bridge-helper
- insinto "/etc/qemu"
- doins "${FILESDIR}/bridge.conf"
-
- cd "${S}" || die
- dodoc MAINTAINERS docs/specs/pci-ids.txt
- newdoc pc-bios/README README.pc-bios
-
- # Disallow stripping of prebuilt firmware files.
- dostrip -x ${QA_PREBUILT}
-
- if [[ -n ${softmmu_targets} ]]; then
- # Remove SeaBIOS since we're using the SeaBIOS packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
- fi
-
- # Remove vgabios since we're using the seavgabios packaged one
- rm "${ED}/usr/share/qemu/vgabios.bin"
- rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
- rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
- rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
- rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
- rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
-
- # PPC/PPC64 loads vgabios-stdvga
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
- dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
- dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
- dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
- dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
- dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
- dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
- fi
-
- # Remove sgabios since we're using the sgabios packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
- fi
-
- # Remove iPXE since we're using the iPXE packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
- dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
- dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
- dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
- dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
- dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
- fi
- fi
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-firmware_abi_change() {
- local pv
- for pv in ${REPLACING_VERSIONS}; do
- if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
- return 0
- fi
- done
- return 1
-}
-
-pkg_postinst() {
- if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
- udev_reload
- fi
-
- xdg_icon_cache_update
-
- [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_print_elog
-
- if use pin-upstream-blobs && firmware_abi_change; then
- ewarn "This version of qemu pins new versions of firmware blobs:"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- ewarn " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- ewarn " $(best_version sys-firmware/seabios-bin)"
- else
- ewarn " $(best_version sys-firmware/seabios)"
- fi
-
- ewarn " $(best_version sys-firmware/ipxe)"
- ewarn " $(best_version sys-firmware/sgabios)"
- ewarn "This might break resume of hibernated guests (started with a different"
- ewarn "firmware version) and live migration to/from qemu versions with different"
- ewarn "firmware. Please (cold) restart all running guests. For functional"
- ewarn "guest migration ensure that all"
- ewarn "hosts run at least"
- ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
- fi
-}
-
-pkg_info() {
- echo "Using:"
- echo " $(best_version app-emulation/spice-protocol)"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- echo " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- echo " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- echo " $(best_version sys-firmware/seabios-bin)"
- else
- echo " $(best_version sys-firmware/seabios)"
- fi
-
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/sgabios)"
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- udev_reload
-}
diff --git a/app-emulation/qemu/qemu-8.1.4.ebuild b/app-emulation/qemu/qemu-8.1.4.ebuild
deleted file mode 100644
index 1db988202783..000000000000
--- a/app-emulation/qemu/qemu-8.1.4.ebuild
+++ /dev/null
@@ -1,971 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
-QEMU_DOCS_PREBUILT_DEV=sam
-#QEMU_DOCS_VERSION=$(ver_cut 1-3)
-QEMU_DOCS_VERSION=8.1.0
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-# bug #830088
-QEMU_DOC_USEFLAG="+doc"
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ncurses,readline"
-
-FIRMWARE_ABI_VERSION="7.2.0"
-
-inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
- pax-utils xdg-utils
-
-if [[ ${PV} == *9999* ]]; then
- QEMU_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
- EGIT_SUBMODULES=(
- tests/fp/berkeley-softfloat-3
- tests/fp/berkeley-testfloat-3
- subprojects/keycodemapdb
- )
- inherit git-r3
- SRC_URI=""
-else
- MY_P="${PN}-${PV/_rc/-rc}"
- SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
-
- if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
-
-LICENSE="GPL-2 LGPL-2 BSD-2"
-SLOT="0"
-
-[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
-
-IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
- +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
- jack jemalloc +jpeg keyutils
- lzo multipath
- ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
- plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
- +slirp
- smartcard snappy spice ssh static-user systemtap test udev usb
- usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
- zstd"
-
-COMMON_TARGETS="
- aarch64
- alpha
- arm
- cris
- hppa
- i386
- loongarch64
- m68k
- microblaze
- microblazeel
- mips
- mips64
- mips64el
- mipsel
- nios2
- or1k
- ppc
- ppc64
- riscv32
- riscv64
- s390x
- sh4
- sh4eb
- sparc
- sparc64
- x86_64
- xtensa
- xtensaeb
-"
-IUSE_SOFTMMU_TARGETS="
- ${COMMON_TARGETS}
- avr
- rx
- tricore
-"
-IUSE_USER_TARGETS="
- ${COMMON_TARGETS}
- aarch64_be
- armeb
- hexagon
- mipsn32
- mipsn32el
- ppc64le
- sparc32plus
-"
-
-use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
-use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
-IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
-
-RESTRICT="!test? ( test )"
-
-# Allow no targets to be built so that people can get a tools-only build.
-# Block USE flag configurations known to not work.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- qemu_softmmu_targets_arm? ( fdt )
- qemu_softmmu_targets_microblaze? ( fdt )
- qemu_softmmu_targets_mips64el? ( fdt )
- qemu_softmmu_targets_ppc64? ( fdt )
- qemu_softmmu_targets_ppc? ( fdt )
- qemu_softmmu_targets_riscv32? ( fdt )
- qemu_softmmu_targets_riscv64? ( fdt )
- qemu_softmmu_targets_x86_64? ( fdt )
- sdl-image? ( sdl )
- static-user? ( !plugins )
- virgl? ( opengl )
- virtfs? ( xattr )
- vnc? ( gnutls )
- vte? ( gtk )
- multipath? ( udev )
- plugins? ( !static-user )
-"
-for smname in ${IUSE_SOFTMMU_TARGETS} ; do
- REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
-done
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# and user/softmmu targets (qemu-*, qemu-system-*).
-#
-# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
-#
-# The attr lib isn't always linked in (although the USE flag is always
-# respected). This is because qemu supports using the C library's API
-# when available rather than always using the external library.
-ALL_DEPEND="
- dev-libs/glib:2[static-libs(+)]
- sys-libs/zlib[static-libs(+)]
- python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-debug/systemtap )
- xattr? ( sys-apps/attr[static-libs(+)] )
-"
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# softmmu targets (qemu-system-*).
-SOFTMMU_TOOLS_DEPEND="
- >=x11-libs/pixman-0.28.0[static-libs(+)]
- accessibility? (
- app-accessibility/brltty[api]
- app-accessibility/brltty[static-libs(+)]
- )
- aio? ( dev-libs/libaio[static-libs(+)] )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bpf? ( dev-libs/libbpf:= )
- bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:=[static-libs(+)] )
- curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
- fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
- gnutls? (
- >=net-libs/gnutls-3.0:=[static-libs(+)]
- dev-libs/nettle:=[static-libs(+)]
- )
- gtk? (
- x11-libs/gtk+:3
- vte? ( x11-libs/vte:2.91 )
- )
- infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
- iscsi? ( net-libs/libiscsi )
- io-uring? ( sys-libs/liburing:=[static-libs(+)] )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc )
- jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
- kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
- keyutils? ( sys-apps/keyutils[static-libs(+)] )
- lzo? ( dev-libs/lzo:2[static-libs(+)] )
- multipath? ( sys-fs/multipath-tools )
- ncurses? (
- sys-libs/ncurses:=[unicode(+)]
- sys-libs/ncurses:=[static-libs(+)]
- )
- nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
- numa? ( sys-process/numactl[static-libs(+)] )
- opengl? (
- virtual/opengl
- media-libs/libepoxy[static-libs(+)]
- media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl(+),gbm(+)]
- )
- pam? ( sys-libs/pam )
- pipewire? ( >=media-video/pipewire-0.3.60 )
- png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
- pulseaudio? ( media-libs/libpulse )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
- sdl? (
- media-libs/libsdl2[video]
- media-libs/libsdl2[static-libs(+)]
- )
- sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
- seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
- slirp? ( net-libs/libslirp[static-libs(+)] )
- smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
- snappy? ( app-arch/snappy:= )
- spice? (
- >=app-emulation/spice-protocol-0.14.0
- >=app-emulation/spice-0.14.0[static-libs(+)]
- )
- ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev:= )
- usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
- usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
- vde? ( net-misc/vde[static-libs(+)] )
- virgl? ( media-libs/virglrenderer[static-libs(+)] )
- virtfs? ( sys-libs/libcap )
- xen? ( app-emulation/xen-tools:= )
- zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
-"
-
-EDK2_OVMF_VERSION="202202"
-SEABIOS_VERSION="1.16.0"
-
-X86_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- ~sys-firmware/ipxe-1.21.1[binary,qemu]
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- ~sys-firmware/sgabios-0.1_pre10[binary]
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
- >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- )
- sys-firmware/ipxe[qemu]
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- sys-firmware/sgabios
- )
-"
-PPC_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- )
-"
-
-# See bug #913084 for pip dep
-BDEPEND="
- $(python_gen_impl_dep)
- dev-lang/perl
- >=dev-build/meson-0.63.0
- dev-python/pip[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- )
- gtk? ( nls? ( sys-devel/gettext ) )
- test? (
- dev-libs/glib[utils]
- app-alternatives/bc
- )
-"
-CDEPEND="
- ${ALL_DEPEND//\[static-libs(+)]}
- ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
- qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
-"
-DEPEND="
- ${CDEPEND}
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
- static-user? ( ${ALL_DEPEND} )
-"
-RDEPEND="
- ${CDEPEND}
- acct-group/kvm
- selinux? (
- sec-policy/selinux-qemu
- sys-libs/libselinux
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
- "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
- "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
- "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
-)
-
-QA_PREBUILT="
- usr/share/qemu/hppa-firmware.img
- usr/share/qemu/openbios-ppc
- usr/share/qemu/openbios-sparc64
- usr/share/qemu/openbios-sparc32
- usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
- usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
- usr/share/qemu/palcode-clipper
- usr/share/qemu/s390-ccw.img
- usr/share/qemu/s390-netboot.img
- usr/share/qemu/u-boot.e500
-"
-
-QA_WX_LOAD="
- usr/bin/qemu-i386
- usr/bin/qemu-x86_64
- usr/bin/qemu-alpha
- usr/bin/qemu-arm
- usr/bin/qemu-cris
- usr/bin/qemu-m68k
- usr/bin/qemu-microblaze
- usr/bin/qemu-microblazeel
- usr/bin/qemu-mips
- usr/bin/qemu-mipsel
- usr/bin/qemu-or1k
- usr/bin/qemu-ppc
- usr/bin/qemu-ppc64
- usr/bin/qemu-sh4
- usr/bin/qemu-sh4eb
- usr/bin/qemu-sparc
- usr/bin/qemu-sparc64
- usr/bin/qemu-armeb
- usr/bin/qemu-sparc32plus
- usr/bin/qemu-s390x
- usr/bin/qemu-unicore32
-"
-
-DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
-kernel module loaded before running kvm. The easiest way to ensure that the
-kernel module is loaded is to load it on boot.
- For AMD CPUs the module is called 'kvm-amd'.
- For Intel CPUs the module is called 'kvm-intel'.
-Please review /etc/conf.d/modules for how to load these.
-
-Make sure your user is in the 'kvm' group. Just run
- $ gpasswd -a <USER> kvm
-then have <USER> re-login.
-
-For brand new installs, the default permissions on /dev/kvm might not let
-you access it. You can tell udev to reset ownership/perms:
- $ udevadm trigger -c add /dev/kvm
-
-If you want to register binfmt handlers for qemu user targets:
-For openrc:
- # rc-update add qemu-binfmt
-For systemd:
- # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
-
-pkg_pretend() {
- if use kernel_linux && kernel_is lt 2 6 25; then
- eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
- elif use kernel_linux; then
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
- ERROR_KVM="You must enable KVM in your kernel to continue"
- ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
- ERROR_KVM_AMD+=" your kernel configuration."
- ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
- ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
- ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
- ERROR_TUN+=" into your kernel or loaded as a module to use the"
- ERROR_TUN+=" virtual network device if using -net tap."
- ERROR_BRIDGE="You will also need support for 802.1d"
- ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
- ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
- ERROR_VHOST_NET+=" support"
- use test && CONFIG_CHECK+=" IP_MULTICAST"
- ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
-
- if use amd64 || use x86 || use amd64-linux || use x86-linux; then
- if grep -q AuthenticAMD /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_AMD"
- elif grep -q GenuineIntel /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_INTEL"
- fi
- fi
-
- use python && CONFIG_CHECK+=" ~DEBUG_FS"
- ERROR_DEBUG_FS="debugFS support required for kvm_stat"
-
- # Now do the actual checks setup above
- check_extra_config
- fi
- fi
-
- if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
- eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
- eerror "instances are still pointing to it. Please update your"
- eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
- eerror "and the right system binary (e.g. qemu-system-x86_64)."
- die "update your virt configs to not use qemu-kvm"
- fi
-}
-
-# Sanity check to make sure target lists are kept up-to-date.
-check_targets() {
- local var=$1 mak=$2
- local detected sorted
-
- pushd "${S}"/configs/targets/ >/dev/null || die
-
- # Force C locale until glibc is updated. #564936
- detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
- sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
- if [[ ${sorted} != "${detected}" ]] ; then
- eerror "The ebuild needs to be kept in sync."
- eerror "${var}: ${sorted}"
- eerror "$(printf '%-*s' ${#var} configure): ${detected}"
- die "sync ${var} to the list of targets"
- fi
-
- popd >/dev/null
-}
-
-src_prepare() {
- check_targets IUSE_SOFTMMU_TARGETS softmmu
- check_targets IUSE_USER_TARGETS linux-user
-
- default
-
- # Use correct toolchain to fix cross-compiling
- tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
- export WINDRES=${CHOST}-windres
-
- # Verbose builds
- MAKEOPTS+=" V=1"
-
- # Remove bundled modules
- rm -r subprojects/dtc roms/*/ || die
-}
-
-##
-# configures qemu based on the build directory and the build type
-# we are using.
-#
-qemu_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- local buildtype=$1
- local builddir="${S}/${buildtype}-build"
-
- mkdir "${builddir}" || die
-
- local conf_opts=(
- --prefix=/usr
- --sysconfdir=/etc
- --bindir=/usr/bin
- --libdir=/usr/$(get_libdir)
- --datadir=/usr/share
- --docdir=/usr/share/doc/${PF}/html
- --mandir=/usr/share/man
- --localstatedir=/var
- --disable-bsd-user
- --disable-containers # bug #732972
- --disable-guest-agent
- --disable-strip
- --disable-download
-
- # bug #746752: TCG interpreter has a few limitations:
- # - it does not support FPU
- # - it's generally slower on non-self-modifying code
- # It's advantage is support for host architectures
- # where native codegeneration is not implemented.
- # Gentoo has qemu keyworded only on targets with
- # native code generation available. Avoid the interpreter.
- --disable-tcg-interpreter
-
- --disable-werror
- # We support gnutls/nettle for crypto operations. It is possible
- # to use gcrypt when gnutls/nettle are disabled (but not when they
- # are enabled), but it's not really worth the hassle. Disable it
- # all the time to avoid automatically detecting it. #568856
- --disable-gcrypt
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- --objcc="$(tc-getCC)"
- --host-cc="$(tc-getBUILD_CC)"
-
- $(use_enable alsa)
- $(use_enable debug debug-info)
- $(use_enable debug debug-tcg)
- $(use_enable jack)
- $(use_enable nls gettext)
- $(use_enable oss)
- $(use_enable pipewire)
- $(use_enable plugins)
- $(use_enable pulseaudio pa)
- $(use_enable selinux)
- $(use_enable xattr attr)
- )
-
- # Disable options not used by user targets. This simplifies building
- # static user targets (USE=static-user) considerably.
- conf_notuser() {
- if [[ ${buildtype} == "user" ]] ; then
- echo "--disable-${2:-$1}"
- else
- use_enable "$@"
- fi
- }
- # Enable option only for softmmu build, but not 'user' or 'tools'
- conf_softmmu() {
- if [[ ${buildtype} == "softmmu" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Enable option only for tools build, but not 'user' or 'softmmu'
- conf_tools() {
- if [[ ${buildtype} == "tools" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Special case for the malloc flag, because the --disable flag does
- # not exist and trying like above will break configuring.
- conf_malloc() {
- if [[ ! ${buildtype} == "user" ]] ; then
- usex "${1}" "--enable-malloc=${1}" ""
- fi
- }
- conf_opts+=(
- $(conf_notuser accessibility brlapi)
- $(conf_notuser aio linux-aio)
- $(conf_softmmu bpf)
- $(conf_notuser bzip2)
- $(conf_notuser capstone)
- $(conf_notuser curl)
- $(conf_tools doc docs)
- $(conf_notuser fdt)
- $(conf_notuser fuse)
- $(conf_notuser glusterfs)
- $(conf_notuser gnutls)
- $(conf_notuser gnutls nettle)
- $(conf_notuser gtk)
- $(conf_notuser infiniband rdma)
- $(conf_notuser iscsi libiscsi)
- $(conf_notuser io-uring linux-io-uring)
- $(conf_malloc jemalloc)
- $(conf_notuser jpeg vnc-jpeg)
- $(conf_notuser kernel_linux kvm)
- $(conf_notuser keyutils libkeyutils)
- $(conf_notuser lzo)
- $(conf_notuser multipath mpath)
- $(conf_notuser ncurses curses)
- $(conf_notuser nfs libnfs)
- $(conf_notuser numa)
- $(conf_notuser opengl)
- $(conf_notuser pam auth-pam)
- $(conf_notuser png)
- $(conf_notuser rbd)
- $(conf_notuser sasl vnc-sasl)
- $(conf_notuser sdl)
- $(conf_softmmu sdl-image)
- $(conf_notuser seccomp)
- $(conf_notuser slirp)
- $(conf_notuser smartcard)
- $(conf_notuser snappy)
- $(conf_notuser spice)
- $(conf_notuser ssh libssh)
- $(conf_notuser udev libudev)
- $(conf_notuser usb libusb)
- $(conf_notuser usbredir usb-redir)
- $(conf_notuser vde)
- $(conf_notuser vhost-net)
- $(conf_notuser virgl virglrenderer)
- $(conf_softmmu virtfs)
- $(conf_notuser vnc)
- $(conf_notuser vte)
- $(conf_notuser xen)
- $(conf_notuser xen xen-pci-passthrough)
- # use prebuilt keymaps, bug #759604
- --disable-xkbcommon
- $(conf_notuser zstd)
- )
-
- if [[ ! ${buildtype} == "user" ]] ; then
- # audio options
- local audio_opts=(
- # Note: backend order matters here: #716202
- # We iterate from higher-level to lower level.
- $(usex pulseaudio pa "")
- $(usev pipewire)
- $(usev jack)
- $(usev sdl)
- $(usev alsa)
- $(usev oss)
- )
- conf_opts+=(
- --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
- )
- fi
-
- case ${buildtype} in
- user)
- conf_opts+=(
- --enable-linux-user
- --disable-system
- --disable-tools
- --disable-cap-ng
- --disable-seccomp
- )
- local static_flag="static-user"
- ;;
- softmmu)
- conf_opts+=(
- --disable-linux-user
- --enable-system
- --disable-tools
- --enable-cap-ng
- --enable-seccomp
- )
- local static_flag="none"
- ;;
- tools)
- conf_opts+=(
- --disable-linux-user
- --disable-system
- --enable-tools
- --enable-cap-ng
- )
- local static_flag="none"
- ;;
- esac
-
- local targets="${buildtype}_targets"
- [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
-
- # Add support for SystemTAP
- use systemtap && conf_opts+=( --enable-trace-backends="dtrace" )
-
- # We always want to attempt to build with PIE support as it results
- # in a more secure binary. But it doesn't work with static or if
- # the current GCC doesn't have PIE support.
- if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
- conf_opts+=( --static --disable-pie )
- else
- tc-enables-pie && conf_opts+=( --enable-pie )
- fi
-
- # Meson will not use a cross-file unless cross_prefix is set.
- tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
-
- # Plumb through equivalent of EXTRA_ECONF to allow experiments
- # like bug #747928.
- conf_opts+=( ${EXTRA_CONF_QEMU} )
-
- echo "../configure ${conf_opts[*]}"
- cd "${builddir}"
- ../configure "${conf_opts[@]}" || die "configure failed"
-}
-
-src_configure() {
- local target
-
- python_setup
-
- softmmu_targets= softmmu_bins=()
- user_targets= user_bins=()
-
- for target in ${IUSE_SOFTMMU_TARGETS} ; do
- if use "qemu_softmmu_targets_${target}"; then
- softmmu_targets+=",${target}-softmmu"
- softmmu_bins+=( "qemu-system-${target}" )
- fi
- done
-
- for target in ${IUSE_USER_TARGETS} ; do
- if use "qemu_user_targets_${target}"; then
- user_targets+=",${target}-linux-user"
- user_bins+=( "qemu-${target}" )
- fi
- done
-
- softmmu_targets=${softmmu_targets#,}
- user_targets=${user_targets#,}
-
- [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
- [[ -n ${user_targets} ]] && qemu_src_configure "user"
- qemu_src_configure "tools"
-}
-
-src_compile() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build" || die
- default
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- default
- fi
-
- cd "${S}/tools-build" || die
- default
-}
-
-src_test() {
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- pax-mark m */qemu-system-* #515550
- emake check
- fi
-}
-
-qemu_python_install() {
- python_domodule "${S}/python/qemu"
-
- python_doscript "${S}/scripts/kvm/vmxcap"
- python_doscript "${S}/scripts/qmp/qmp-shell"
- python_doscript "${S}/scripts/qmp/qemu-ga-client"
-}
-
-# Generate binfmt support files.
-# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
-# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
-generate_initd() {
- local out="${T}/qemu-binfmt"
- local out_systemd="${T}/qemu.conf"
- local d="${T}/binfmt.d"
-
- einfo "Generating qemu binfmt scripts and configuration files"
-
- # Generate the debian fragments first.
- mkdir -p "${d}"
- "${S}"/scripts/qemu-binfmt-conf.sh \
- --debian \
- --exportdir "${d}" \
- --qemu-path "${EPREFIX}/usr/bin" \
- || die
- # Then turn the fragments into a shell script we can source.
- sed -E -i \
- -e 's:^([^ ]+) (.*)$:\1="\2":' \
- "${d}"/* || die
-
- # Generate the init.d script by assembling the fragments from above.
- local f qcpu package interpreter magic mask
- cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
- for f in "${d}"/qemu-* ; do
- source "${f}"
-
- # Normalize the cpu logic like we do in the init.d for the native cpu.
- qcpu=${package#qemu-}
- case ${qcpu} in
- arm*) qcpu="arm";;
- mips*) qcpu="mips";;
- ppc*) qcpu="ppc";;
- s390*) qcpu="s390";;
- sh*) qcpu="sh";;
- sparc*) qcpu="sparc";;
- esac
-
- # we use 'printf' here to be portable across 'sh'
- # implementations: #679168
- cat <<EOF >>"${out}"
- if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
- printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
- fi
-EOF
-
- echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
-
- done
- cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
-}
-
-src_install() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
- emake DESTDIR="${ED}" install
-
- # Install binfmt handler init script for user targets.
- generate_initd
- doinitd "${T}/qemu-binfmt"
-
- # Install binfmt/qemu.conf.
- insinto "/usr/share/qemu/binfmt.d"
- doins "${T}/qemu.conf"
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
- emake DESTDIR="${ED}" install
-
- # This might not exist if the test failed. #512010
- [[ -e check-report.html ]] && dodoc check-report.html
-
- if use kernel_linux; then
- udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
- fi
-
- if use python; then
- python_foreach_impl qemu_python_install
- fi
- fi
-
- cd "${S}/tools-build" || die
- emake DESTDIR="${ED}" install
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
- fi
-
- # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null || die
- pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null || die
-
- # Install config file example for qemu-bridge-helper
- insinto "/etc/qemu"
- doins "${FILESDIR}/bridge.conf"
-
- cd "${S}" || die
- dodoc MAINTAINERS
- newdoc pc-bios/README README.pc-bios
-
- # Disallow stripping of prebuilt firmware files.
- dostrip -x ${QA_PREBUILT}
-
- if [[ -n ${softmmu_targets} ]]; then
- # Remove SeaBIOS since we're using the SeaBIOS packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
- fi
-
- # Remove vgabios since we're using the seavgabios packaged one
- rm "${ED}/usr/share/qemu/vgabios.bin"
- rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
- rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
- rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
- rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
- rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
-
- # PPC/PPC64 loads vgabios-stdvga
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
- dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
- dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
- dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
- dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
- dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
- dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
- fi
-
- # Remove sgabios since we're using the sgabios packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
- fi
-
- # Remove iPXE since we're using the iPXE packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
- dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
- dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
- dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
- dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
- dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
- fi
- fi
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-firmware_abi_change() {
- local pv
- for pv in ${REPLACING_VERSIONS}; do
- if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
- return 0
- fi
- done
- return 1
-}
-
-pkg_postinst() {
- if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
- udev_reload
- fi
-
- xdg_icon_cache_update
-
- [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_print_elog
-
- if use pin-upstream-blobs && firmware_abi_change; then
- ewarn "This version of qemu pins new versions of firmware blobs:"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- ewarn " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- ewarn " $(best_version sys-firmware/seabios-bin)"
- else
- ewarn " $(best_version sys-firmware/seabios)"
- fi
-
- ewarn " $(best_version sys-firmware/ipxe)"
- ewarn " $(best_version sys-firmware/sgabios)"
- ewarn "This might break resume of hibernated guests (started with a different"
- ewarn "firmware version) and live migration to/from qemu versions with different"
- ewarn "firmware. Please (cold) restart all running guests. For functional"
- ewarn "guest migration ensure that all"
- ewarn "hosts run at least"
- ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
- fi
-}
-
-pkg_info() {
- echo "Using:"
- echo " $(best_version app-emulation/spice-protocol)"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- echo " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- echo " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- echo " $(best_version sys-firmware/seabios-bin)"
- else
- echo " $(best_version sys-firmware/seabios)"
- fi
-
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/sgabios)"
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- udev_reload
-}
diff --git a/app-emulation/qemu/qemu-8.2.0.ebuild b/app-emulation/qemu/qemu-8.2.0.ebuild
deleted file mode 100644
index 9523cdbfcf5e..000000000000
--- a/app-emulation/qemu/qemu-8.2.0.ebuild
+++ /dev/null
@@ -1,991 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
-QEMU_DOCS_PREBUILT_DEV=sam
-QEMU_DOCS_VERSION=$(ver_cut 1-2).0
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-# bug #830088
-QEMU_DOC_USEFLAG="+doc"
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ncurses,readline"
-
-FIRMWARE_ABI_VERSION="7.2.0"
-
-inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
- pax-utils xdg-utils
-
-if [[ ${PV} == *9999* ]]; then
- QEMU_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
- EGIT_SUBMODULES=()
- inherit git-r3
- SRC_URI=""
- declare -A SUBPROJECTS=(
- [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6"
- [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037"
- [berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263"
- )
-
- for proj in "${!SUBPROJECTS[@]}"; do
- c=${SUBPROJECTS[${proj}]}
- SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2"
- done
-else
- MY_P="${PN}-${PV/_rc/-rc}"
- SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
-
- if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
-
-LICENSE="GPL-2 LGPL-2 BSD-2"
-SLOT="0"
-
-[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
-
-IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
- +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
- jack jemalloc +jpeg keyutils
- lzo multipath
- ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
- plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
- +slirp
- smartcard snappy spice ssh static-user systemtap test udev usb
- usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
- zstd"
-
-COMMON_TARGETS="
- aarch64
- alpha
- arm
- cris
- hppa
- i386
- loongarch64
- m68k
- microblaze
- microblazeel
- mips
- mips64
- mips64el
- mipsel
- nios2
- or1k
- ppc
- ppc64
- riscv32
- riscv64
- s390x
- sh4
- sh4eb
- sparc
- sparc64
- x86_64
- xtensa
- xtensaeb
-"
-IUSE_SOFTMMU_TARGETS="
- ${COMMON_TARGETS}
- avr
- rx
- tricore
-"
-IUSE_USER_TARGETS="
- ${COMMON_TARGETS}
- aarch64_be
- armeb
- hexagon
- mipsn32
- mipsn32el
- ppc64le
- sparc32plus
-"
-
-use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
-use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
-IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
-
-RESTRICT="!test? ( test )"
-
-# Allow no targets to be built so that people can get a tools-only build.
-# Block USE flag configurations known to not work.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- qemu_softmmu_targets_arm? ( fdt )
- qemu_softmmu_targets_microblaze? ( fdt )
- qemu_softmmu_targets_mips64el? ( fdt )
- qemu_softmmu_targets_ppc64? ( fdt )
- qemu_softmmu_targets_ppc? ( fdt )
- qemu_softmmu_targets_riscv32? ( fdt )
- qemu_softmmu_targets_riscv64? ( fdt )
- qemu_softmmu_targets_x86_64? ( fdt )
- sdl-image? ( sdl )
- static-user? ( !plugins )
- virgl? ( opengl )
- virtfs? ( xattr )
- vnc? ( gnutls )
- vte? ( gtk )
- multipath? ( udev )
- plugins? ( !static-user )
-"
-for smname in ${IUSE_SOFTMMU_TARGETS} ; do
- REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
-done
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# and user/softmmu targets (qemu-*, qemu-system-*).
-#
-# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
-#
-# The attr lib isn't always linked in (although the USE flag is always
-# respected). This is because qemu supports using the C library's API
-# when available rather than always using the external library.
-ALL_DEPEND="
- dev-libs/glib:2[static-libs(+)]
- sys-libs/zlib[static-libs(+)]
- python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-debug/systemtap )
- xattr? ( sys-apps/attr[static-libs(+)] )
-"
-
-# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
-# softmmu targets (qemu-system-*).
-SOFTMMU_TOOLS_DEPEND="
- >=x11-libs/pixman-0.28.0[static-libs(+)]
- accessibility? (
- app-accessibility/brltty[api]
- app-accessibility/brltty[static-libs(+)]
- )
- aio? ( dev-libs/libaio[static-libs(+)] )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bpf? ( dev-libs/libbpf:= )
- bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:=[static-libs(+)] )
- curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
- fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
- gnutls? (
- >=net-libs/gnutls-3.0:=[static-libs(+)]
- dev-libs/nettle:=[static-libs(+)]
- )
- gtk? (
- x11-libs/gtk+:3
- vte? ( x11-libs/vte:2.91 )
- )
- infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
- iscsi? ( net-libs/libiscsi )
- io-uring? ( sys-libs/liburing:=[static-libs(+)] )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc )
- jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
- kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
- keyutils? ( sys-apps/keyutils[static-libs(+)] )
- lzo? ( dev-libs/lzo:2[static-libs(+)] )
- multipath? ( sys-fs/multipath-tools )
- ncurses? (
- sys-libs/ncurses:=[unicode(+)]
- sys-libs/ncurses:=[static-libs(+)]
- )
- nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
- numa? ( sys-process/numactl[static-libs(+)] )
- opengl? (
- virtual/opengl
- media-libs/libepoxy[static-libs(+)]
- media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl(+),gbm(+)]
- )
- pam? ( sys-libs/pam )
- pipewire? ( >=media-video/pipewire-0.3.60 )
- png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
- pulseaudio? ( media-libs/libpulse )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
- sdl? (
- media-libs/libsdl2[video]
- media-libs/libsdl2[static-libs(+)]
- )
- sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
- seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
- slirp? ( net-libs/libslirp[static-libs(+)] )
- smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
- snappy? ( app-arch/snappy:= )
- spice? (
- >=app-emulation/spice-protocol-0.14.0
- >=app-emulation/spice-0.14.0[static-libs(+)]
- )
- ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev:= )
- usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
- usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
- vde? ( net-misc/vde[static-libs(+)] )
- virgl? ( media-libs/virglrenderer[static-libs(+)] )
- virtfs? ( sys-libs/libcap )
- xen? ( app-emulation/xen-tools:= )
- zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
-"
-
-EDK2_OVMF_VERSION="202202"
-SEABIOS_VERSION="1.16.0"
-
-X86_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- ~sys-firmware/ipxe-1.21.1[binary,qemu]
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- ~sys-firmware/sgabios-0.1_pre10[binary]
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
- >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
- )
- sys-firmware/ipxe[qemu]
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- sys-firmware/sgabios
- )
-"
-PPC_FIRMWARE_DEPEND="
- pin-upstream-blobs? (
- ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- !pin-upstream-blobs? (
- || (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
- >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
- )
- )
-"
-
-# See bug #913084 for pip dep
-BDEPEND="
- $(python_gen_impl_dep)
- dev-lang/perl
- >=dev-build/meson-0.63.0
- dev-python/pip[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- )
- gtk? ( nls? ( sys-devel/gettext ) )
- test? (
- dev-libs/glib[utils]
- app-alternatives/bc
- )
-"
-CDEPEND="
- ${ALL_DEPEND//\[static-libs(+)]}
- ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
- qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
-"
-DEPEND="
- ${CDEPEND}
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
- static-user? ( ${ALL_DEPEND} )
-"
-RDEPEND="
- ${CDEPEND}
- acct-group/kvm
- selinux? (
- sec-policy/selinux-qemu
- sys-libs/libselinux
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
- "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
- "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
- "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
-)
-
-QA_PREBUILT="
- usr/share/qemu/hppa-firmware.img
- usr/share/qemu/openbios-ppc
- usr/share/qemu/openbios-sparc64
- usr/share/qemu/openbios-sparc32
- usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
- usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
- usr/share/qemu/palcode-clipper
- usr/share/qemu/s390-ccw.img
- usr/share/qemu/s390-netboot.img
- usr/share/qemu/u-boot.e500
-"
-
-QA_WX_LOAD="
- usr/bin/qemu-i386
- usr/bin/qemu-x86_64
- usr/bin/qemu-alpha
- usr/bin/qemu-arm
- usr/bin/qemu-cris
- usr/bin/qemu-m68k
- usr/bin/qemu-microblaze
- usr/bin/qemu-microblazeel
- usr/bin/qemu-mips
- usr/bin/qemu-mipsel
- usr/bin/qemu-or1k
- usr/bin/qemu-ppc
- usr/bin/qemu-ppc64
- usr/bin/qemu-sh4
- usr/bin/qemu-sh4eb
- usr/bin/qemu-sparc
- usr/bin/qemu-sparc64
- usr/bin/qemu-armeb
- usr/bin/qemu-sparc32plus
- usr/bin/qemu-s390x
- usr/bin/qemu-unicore32
-"
-
-DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
-kernel module loaded before running kvm. The easiest way to ensure that the
-kernel module is loaded is to load it on boot.
- For AMD CPUs the module is called 'kvm-amd'.
- For Intel CPUs the module is called 'kvm-intel'.
-Please review /etc/conf.d/modules for how to load these.
-
-Make sure your user is in the 'kvm' group. Just run
- $ gpasswd -a <USER> kvm
-then have <USER> re-login.
-
-For brand new installs, the default permissions on /dev/kvm might not let
-you access it. You can tell udev to reset ownership/perms:
- $ udevadm trigger -c add /dev/kvm
-
-If you want to register binfmt handlers for qemu user targets:
-For openrc:
- # rc-update add qemu-binfmt
-For systemd:
- # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
-
-pkg_pretend() {
- if use kernel_linux && kernel_is lt 2 6 25; then
- eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
- elif use kernel_linux; then
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
- ERROR_KVM="You must enable KVM in your kernel to continue"
- ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
- ERROR_KVM_AMD+=" your kernel configuration."
- ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
- ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
- ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
- ERROR_TUN+=" into your kernel or loaded as a module to use the"
- ERROR_TUN+=" virtual network device if using -net tap."
- ERROR_BRIDGE="You will also need support for 802.1d"
- ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
- ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
- ERROR_VHOST_NET+=" support"
-
- if use amd64 || use x86 || use amd64-linux || use x86-linux; then
- if grep -q AuthenticAMD /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_AMD"
- elif grep -q GenuineIntel /proc/cpuinfo; then
- CONFIG_CHECK+=" ~KVM_INTEL"
- fi
- fi
-
- use python && CONFIG_CHECK+=" ~DEBUG_FS"
- ERROR_DEBUG_FS="debugFS support required for kvm_stat"
-
- # Now do the actual checks setup above
- check_extra_config
- fi
- fi
-
- if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
- eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
- eerror "instances are still pointing to it. Please update your"
- eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
- eerror "and the right system binary (e.g. qemu-system-x86_64)."
- die "update your virt configs to not use qemu-kvm"
- fi
-}
-
-# Sanity check to make sure target lists are kept up-to-date.
-check_targets() {
- local var=$1 mak=$2
- local detected sorted
-
- pushd "${S}"/configs/targets/ >/dev/null || die
-
- # Force C locale until glibc is updated. #564936
- detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
- sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
- if [[ ${sorted} != "${detected}" ]] ; then
- eerror "The ebuild needs to be kept in sync."
- eerror "${var}: ${sorted}"
- eerror "$(printf '%-*s' ${#var} configure): ${detected}"
- die "sync ${var} to the list of targets"
- fi
-
- popd >/dev/null
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- for file in ${A}; do
- unpack "${file}"
- done
- cd "${WORKDIR}" || die
- for proj in "${!SUBPROJECTS[@]}"; do
- mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die
- done
- cd "${S}" || die
- meson subprojects packagefiles --apply || die
- else
- default
- fi
-}
-
-src_prepare() {
- check_targets IUSE_SOFTMMU_TARGETS softmmu
- check_targets IUSE_USER_TARGETS linux-user
-
- default
-
- # Use correct toolchain to fix cross-compiling
- tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
- export WINDRES=${CHOST}-windres
-
- # Verbose builds
- MAKEOPTS+=" V=1"
-
- # Remove bundled modules
- rm -r roms/*/ || die
-}
-
-##
-# configures qemu based on the build directory and the build type
-# we are using.
-#
-qemu_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- local buildtype=$1
- local builddir="${S}/${buildtype}-build"
-
- mkdir "${builddir}" || die
-
- local conf_opts=(
- --prefix=/usr
- --sysconfdir=/etc
- --bindir=/usr/bin
- --libdir=/usr/$(get_libdir)
- --datadir=/usr/share
- --docdir=/usr/share/doc/${PF}/html
- --mandir=/usr/share/man
- --localstatedir=/var
- --disable-bsd-user
- --disable-containers # bug #732972
- --disable-guest-agent
- --disable-strip
- --disable-download
-
- # bug #746752: TCG interpreter has a few limitations:
- # - it does not support FPU
- # - it's generally slower on non-self-modifying code
- # It's advantage is support for host architectures
- # where native codegeneration is not implemented.
- # Gentoo has qemu keyworded only on targets with
- # native code generation available. Avoid the interpreter.
- --disable-tcg-interpreter
-
- --disable-werror
- # We support gnutls/nettle for crypto operations. It is possible
- # to use gcrypt when gnutls/nettle are disabled (but not when they
- # are enabled), but it's not really worth the hassle. Disable it
- # all the time to avoid automatically detecting it. #568856
- --disable-gcrypt
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- --objcc="$(tc-getCC)"
- --host-cc="$(tc-getBUILD_CC)"
-
- $(use_enable alsa)
- $(use_enable debug debug-info)
- $(use_enable debug debug-tcg)
- $(use_enable jack)
- $(use_enable nls gettext)
- $(use_enable oss)
- $(use_enable pipewire)
- $(use_enable plugins)
- $(use_enable pulseaudio pa)
- $(use_enable selinux)
- $(use_enable xattr attr)
- )
-
- # Disable options not used by user targets. This simplifies building
- # static user targets (USE=static-user) considerably.
- conf_notuser() {
- if [[ ${buildtype} == "user" ]] ; then
- echo "--disable-${2:-$1}"
- else
- use_enable "$@"
- fi
- }
- # Enable option only for softmmu build, but not 'user' or 'tools'
- conf_softmmu() {
- if [[ ${buildtype} == "softmmu" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Enable option only for tools build, but not 'user' or 'softmmu'
- conf_tools() {
- if [[ ${buildtype} == "tools" ]] ; then
- use_enable "$@"
- else
- echo "--disable-${2:-$1}"
- fi
- }
- # Special case for the malloc flag, because the --disable flag does
- # not exist and trying like above will break configuring.
- conf_malloc() {
- if [[ ! ${buildtype} == "user" ]] ; then
- usex "${1}" "--enable-malloc=${1}" ""
- fi
- }
- conf_opts+=(
- $(conf_notuser accessibility brlapi)
- $(conf_notuser aio linux-aio)
- $(conf_softmmu bpf)
- $(conf_notuser bzip2)
- $(conf_notuser capstone)
- $(conf_notuser curl)
- $(conf_tools doc docs)
- $(conf_notuser fdt)
- $(conf_notuser fuse)
- $(conf_notuser glusterfs)
- $(conf_notuser gnutls)
- $(conf_notuser gnutls nettle)
- $(conf_notuser gtk)
- $(conf_notuser infiniband rdma)
- $(conf_notuser iscsi libiscsi)
- $(conf_notuser io-uring linux-io-uring)
- $(conf_malloc jemalloc)
- $(conf_notuser jpeg vnc-jpeg)
- $(conf_notuser kernel_linux kvm)
- $(conf_notuser keyutils libkeyutils)
- $(conf_notuser lzo)
- $(conf_notuser multipath mpath)
- $(conf_notuser ncurses curses)
- $(conf_notuser nfs libnfs)
- $(conf_notuser numa)
- $(conf_notuser opengl)
- $(conf_notuser pam auth-pam)
- $(conf_notuser png)
- $(conf_notuser rbd)
- $(conf_notuser sasl vnc-sasl)
- $(conf_notuser sdl)
- $(conf_softmmu sdl-image)
- $(conf_notuser seccomp)
- $(conf_notuser slirp)
- $(conf_notuser smartcard)
- $(conf_notuser snappy)
- $(conf_notuser spice)
- $(conf_notuser ssh libssh)
- $(conf_notuser udev libudev)
- $(conf_notuser usb libusb)
- $(conf_notuser usbredir usb-redir)
- $(conf_notuser vde)
- $(conf_notuser vhost-net)
- $(conf_notuser virgl virglrenderer)
- $(conf_softmmu virtfs)
- $(conf_notuser vnc)
- $(conf_notuser vte)
- $(conf_notuser xen)
- $(conf_notuser xen xen-pci-passthrough)
- # use prebuilt keymaps, bug #759604
- --disable-xkbcommon
- $(conf_notuser zstd)
- )
-
- if [[ ! ${buildtype} == "user" ]] ; then
- # audio options
- local audio_opts=(
- # Note: backend order matters here: #716202
- # We iterate from higher-level to lower level.
- $(usex pulseaudio pa "")
- $(usev pipewire)
- $(usev jack)
- $(usev sdl)
- $(usev alsa)
- $(usev oss)
- )
- conf_opts+=(
- --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
- )
- fi
-
- case ${buildtype} in
- user)
- conf_opts+=(
- --enable-linux-user
- --disable-system
- --disable-tools
- --disable-cap-ng
- --disable-seccomp
- )
- local static_flag="static-user"
- ;;
- softmmu)
- conf_opts+=(
- --disable-linux-user
- --enable-system
- --disable-tools
- --enable-cap-ng
- --enable-seccomp
- )
- local static_flag="none"
- ;;
- tools)
- conf_opts+=(
- --disable-linux-user
- --disable-system
- --enable-tools
- --enable-cap-ng
- )
- local static_flag="none"
- ;;
- esac
-
- local targets="${buildtype}_targets"
- [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
-
- # Add support for SystemTAP
- use systemtap && conf_opts+=( --enable-trace-backends="dtrace" )
-
- # We always want to attempt to build with PIE support as it results
- # in a more secure binary. But it doesn't work with static or if
- # the current GCC doesn't have PIE support.
- if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
- conf_opts+=( --static --disable-pie )
- else
- tc-enables-pie && conf_opts+=( --enable-pie )
- fi
-
- # Meson will not use a cross-file unless cross_prefix is set.
- tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
-
- # Plumb through equivalent of EXTRA_ECONF to allow experiments
- # like bug #747928.
- conf_opts+=( ${EXTRA_CONF_QEMU} )
-
- echo "../configure ${conf_opts[*]}"
- cd "${builddir}"
- ../configure "${conf_opts[@]}" || die "configure failed"
-}
-
-src_configure() {
- local target
-
- python_setup
-
- softmmu_targets= softmmu_bins=()
- user_targets= user_bins=()
-
- for target in ${IUSE_SOFTMMU_TARGETS} ; do
- if use "qemu_softmmu_targets_${target}"; then
- softmmu_targets+=",${target}-softmmu"
- softmmu_bins+=( "qemu-system-${target}" )
- fi
- done
-
- for target in ${IUSE_USER_TARGETS} ; do
- if use "qemu_user_targets_${target}"; then
- user_targets+=",${target}-linux-user"
- user_bins+=( "qemu-${target}" )
- fi
- done
-
- softmmu_targets=${softmmu_targets#,}
- user_targets=${user_targets#,}
-
- [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
- [[ -n ${user_targets} ]] && qemu_src_configure "user"
- qemu_src_configure "tools"
-}
-
-src_compile() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build" || die
- default
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- default
- fi
-
- cd "${S}/tools-build" || die
- default
-}
-
-src_test() {
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build" || die
- pax-mark m */qemu-system-* #515550
- emake check
- fi
-}
-
-qemu_python_install() {
- python_domodule "${S}/python/qemu"
-
- python_doscript "${S}/scripts/kvm/vmxcap"
- python_doscript "${S}/scripts/qmp/qmp-shell"
- python_doscript "${S}/scripts/qmp/qemu-ga-client"
-}
-
-# Generate binfmt support files.
-# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
-# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
-generate_initd() {
- local out="${T}/qemu-binfmt"
- local out_systemd="${T}/qemu.conf"
- local d="${T}/binfmt.d"
-
- einfo "Generating qemu binfmt scripts and configuration files"
-
- # Generate the debian fragments first.
- mkdir -p "${d}"
- "${S}"/scripts/qemu-binfmt-conf.sh \
- --debian \
- --exportdir "${d}" \
- --qemu-path "${EPREFIX}/usr/bin" \
- || die
- # Then turn the fragments into a shell script we can source.
- sed -E -i \
- -e 's:^([^ ]+) (.*)$:\1="\2":' \
- "${d}"/* || die
-
- # Generate the init.d script by assembling the fragments from above.
- local f qcpu package interpreter magic mask
- cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
- for f in "${d}"/qemu-* ; do
- source "${f}"
-
- # Normalize the cpu logic like we do in the init.d for the native cpu.
- qcpu=${package#qemu-}
- case ${qcpu} in
- arm*) qcpu="arm";;
- mips*) qcpu="mips";;
- ppc*) qcpu="ppc";;
- s390*) qcpu="s390";;
- sh*) qcpu="sh";;
- sparc*) qcpu="sparc";;
- esac
-
- # we use 'printf' here to be portable across 'sh'
- # implementations: #679168
- cat <<EOF >>"${out}"
- if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
- printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
- fi
-EOF
-
- echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
-
- done
- cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
-}
-
-src_install() {
- if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
- emake DESTDIR="${ED}" install
-
- # Install binfmt handler init script for user targets.
- generate_initd
- doinitd "${T}/qemu-binfmt"
-
- # Install binfmt/qemu.conf.
- insinto "/usr/share/qemu/binfmt.d"
- doins "${T}/qemu.conf"
- fi
-
- if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
- emake DESTDIR="${ED}" install
-
- # This might not exist if the test failed. #512010
- [[ -e check-report.html ]] && dodoc check-report.html
-
- if use kernel_linux; then
- udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
- fi
-
- if use python; then
- python_foreach_impl qemu_python_install
- fi
- fi
-
- cd "${S}/tools-build" || die
- emake DESTDIR="${ED}" install
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
- fi
-
- # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null || die
- pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null || die
-
- # Install config file example for qemu-bridge-helper
- insinto "/etc/qemu"
- doins "${FILESDIR}/bridge.conf"
-
- cd "${S}" || die
- dodoc MAINTAINERS
- newdoc pc-bios/README README.pc-bios
-
- # Disallow stripping of prebuilt firmware files.
- dostrip -x ${QA_PREBUILT}
-
- if [[ -n ${softmmu_targets} ]]; then
- # Remove SeaBIOS since we're using the SeaBIOS packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
- fi
-
- # Remove vgabios since we're using the seavgabios packaged one
- rm "${ED}/usr/share/qemu/vgabios.bin"
- rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
- rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
- rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
- rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
- rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
-
- # PPC/PPC64 loads vgabios-stdvga
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
- dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
- dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
- dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
- dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
- dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
- dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
- fi
-
- # Remove sgabios since we're using the sgabios packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
- fi
-
- # Remove iPXE since we're using the iPXE packaged one
- if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
- dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
- dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
- dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
- dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
- dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
- dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
- fi
- fi
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-firmware_abi_change() {
- local pv
- for pv in ${REPLACING_VERSIONS}; do
- if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
- return 0
- fi
- done
- return 1
-}
-
-pkg_postinst() {
- if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
- udev_reload
- fi
-
- xdg_icon_cache_update
-
- [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
-
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_print_elog
-
- if use pin-upstream-blobs && firmware_abi_change; then
- ewarn "This version of qemu pins new versions of firmware blobs:"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- ewarn " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- ewarn " $(best_version sys-firmware/seabios-bin)"
- else
- ewarn " $(best_version sys-firmware/seabios)"
- fi
-
- ewarn " $(best_version sys-firmware/ipxe)"
- ewarn " $(best_version sys-firmware/sgabios)"
- ewarn "This might break resume of hibernated guests (started with a different"
- ewarn "firmware version) and live migration to/from qemu versions with different"
- ewarn "firmware. Please (cold) restart all running guests. For functional"
- ewarn "guest migration ensure that all"
- ewarn "hosts run at least"
- ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
- fi
-}
-
-pkg_info() {
- echo "Using:"
- echo " $(best_version app-emulation/spice-protocol)"
-
- if has_version 'sys-firmware/edk2-ovmf-bin'; then
- echo " $(best_version sys-firmware/edk2-ovmf-bin)"
- else
- echo " $(best_version sys-firmware/edk2-ovmf)"
- fi
-
- if has_version 'sys-firmware/seabios-bin'; then
- echo " $(best_version sys-firmware/seabios-bin)"
- else
- echo " $(best_version sys-firmware/seabios)"
- fi
-
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/sgabios)"
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- udev_reload
-}