summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15662 -> 15696 bytes
-rw-r--r--app-emulation/cloud-init/Manifest10
-rw-r--r--app-emulation/cloud-init/cloud-init-22.4.ebuild95
-rw-r--r--app-emulation/cloud-init/cloud-init-23.4.ebuild2
-rw-r--r--app-emulation/cloud-init/cloud-init-24.2.ebuild (renamed from app-emulation/cloud-init/cloud-init-22.2.2.ebuild)20
-rw-r--r--app-emulation/cloud-init/cloud-init-9999.ebuild8
-rw-r--r--app-emulation/dxvk/Manifest7
-rw-r--r--app-emulation/dxvk/dxvk-2.4.ebuild182
-rw-r--r--app-emulation/dxvk/dxvk-9999.ebuild33
-rw-r--r--app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch8
-rw-r--r--app-emulation/dxvk/metadata.xml1
-rw-r--r--app-emulation/firecracker-bin/Manifest9
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild87
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.8.0.ebuild (renamed from app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild)4
-rw-r--r--app-emulation/genymotion-bin/Manifest4
-rw-r--r--app-emulation/genymotion-bin/genymotion-bin-3.7.1.ebuild (renamed from app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild)21
-rw-r--r--app-emulation/hercules-sdl/Manifest3
-rw-r--r--app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild13
-rw-r--r--app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild85
-rw-r--r--app-emulation/libvirt-glib/Manifest2
-rw-r--r--app-emulation/libvirt-glib/metadata.xml4
-rw-r--r--app-emulation/libvirt/Manifest20
-rw-r--r--app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch33
-rw-r--r--app-emulation/libvirt/libvirt-10.0.0-r3.ebuild (renamed from app-emulation/libvirt/libvirt-10.0.0-r2.ebuild)8
-rw-r--r--app-emulation/libvirt/libvirt-10.1.0-r2.ebuild (renamed from app-emulation/libvirt/libvirt-10.1.0-r1.ebuild)8
-rw-r--r--app-emulation/libvirt/libvirt-10.2.0-r1.ebuild377
-rw-r--r--app-emulation/libvirt/libvirt-10.3.0-r2.ebuild (renamed from app-emulation/libvirt/libvirt-10.3.0-r1.ebuild)8
-rw-r--r--app-emulation/libvirt/libvirt-10.5.0.ebuild (renamed from app-emulation/libvirt/libvirt-10.2.0.ebuild)12
-rw-r--r--app-emulation/libvirt/libvirt-9.8.0-r3.ebuild (renamed from app-emulation/libvirt/libvirt-9.8.0-r2.ebuild)3
-rw-r--r--app-emulation/libvirt/libvirt-9.9.0-r3.ebuild (renamed from app-emulation/libvirt/libvirt-9.9.0-r2.ebuild)3
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild12
-rw-r--r--app-emulation/libvirt/metadata.xml10
-rw-r--r--app-emulation/open-vm-tools/Manifest4
-rw-r--r--app-emulation/open-vm-tools/metadata.xml5
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild140
-rw-r--r--app-emulation/qemu-guest-agent/Manifest2
-rw-r--r--app-emulation/qemu-guest-agent/metadata.xml4
-rw-r--r--app-emulation/qemu/Manifest10
-rw-r--r--app-emulation/qemu/qemu-7.2.13.ebuild (renamed from app-emulation/qemu/qemu-7.2.4.ebuild)3
-rw-r--r--app-emulation/qemu/qemu-8.2.6.ebuild992
-rw-r--r--app-emulation/qemu/qemu-9.0.2.ebuild (renamed from app-emulation/qemu/qemu-9.0.0.ebuild)2
-rw-r--r--app-emulation/qtrvsim/Manifest1
-rw-r--r--app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild33
-rw-r--r--app-emulation/ruffle/Manifest2
-rw-r--r--app-emulation/ruffle/ruffle-0_p20240622.ebuild2
-rw-r--r--app-emulation/virtiofsd/Manifest4
-rw-r--r--app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild148
-rw-r--r--app-emulation/virtiofsd/virtiofsd-9999.ebuild6
-rw-r--r--app-emulation/virtualbox-additions/Manifest2
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild25
-rw-r--r--app-emulation/virtualbox-extpack-oracle/Manifest2
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild33
-rw-r--r--app-emulation/virtualbox-guest-additions/Manifest2
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild287
-rw-r--r--app-emulation/virtualbox-modules/Manifest2
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild34
-rw-r--r--app-emulation/virtualbox/Manifest3
-rw-r--r--app-emulation/virtualbox/virtualbox-7.0.20.ebuild741
-rw-r--r--app-emulation/wine-mono/Manifest2
-rw-r--r--app-emulation/wine-mono/wine-mono-9.1.0.ebuild2
-rw-r--r--app-emulation/wine-proton/Manifest2
-rw-r--r--app-emulation/wine-proton/wine-proton-9.0.9999.ebuild2
-rw-r--r--app-emulation/wine-staging/Manifest5
-rw-r--r--app-emulation/wine-staging/wine-staging-9.13.ebuild487
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild1
-rw-r--r--app-emulation/wine-vanilla/Manifest2
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild439
67 files changed, 4125 insertions, 398 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index abaa86932364..bb94202da74d 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest
index 349dafa4552b..31c69cf40af5 100644
--- a/app-emulation/cloud-init/Manifest
+++ b/app-emulation/cloud-init/Manifest
@@ -1,8 +1,6 @@
-DIST cloud-init-22.2.2.tar.gz 1349451 BLAKE2B fdb6669e9762984614fefe787834f20f056345d304327679fa8bc7b4d6566509a23ecc4a7ac4e6368b9b9078a72fe6fe35533a67e7aeb0c0accbf5ad014f8aae SHA512 18b75ebbb5e808e19df5ceddb6402cc881c33443fb169f736f54837254ba43836994f2392a26febbd8df3342b3467ee72759b6942cfeb96d07c0e452c11dd0bf
-DIST cloud-init-22.4.tar.gz 1494295 BLAKE2B 5f961c895c0d6c78a7cee47d2b52acd57d959baeb5172cea89d75ffe23424e3a8a3170a0ecdcad729c6cb0c898477ea94c43a5f8bdf200fc3f122c32fdb2e96d SHA512 6151d1d5e4be241219cb5804ca2bad2dd790f366bc847d286a8840faad1fb4adf5d780c9418ce574c2cfcefc16851a49961f33c5da1fbc84bb8299cf138bfcfc
DIST cloud-init-23.4.tar.gz 1648908 BLAKE2B 0acec9c437c7a5a86ed9cd8718830a7311c257ae9f223a68959b8d1eccc693b35f6a716de5c04112d848c1e2e54f6461a3919fd733debba18989145f6669d359 SHA512 34966b173571764bf83779bef0e89a86971310ff0fa62feceef4fbe17c9fa6d1b69f11f57caaa32cc4ae4a74f598f157dfb3ce356221044666401230cfb1ad13
-EBUILD cloud-init-22.2.2.ebuild 2349 BLAKE2B 7d07d812fd91251e685abc7896c27d37f6b73c8fe6459fbb844e009fac79b29621f4f6dfc1e5f53f62dea78f3e49ebf44fc27ba486e3d0df0ba59978a60e3608 SHA512 561c83ee47dbb3ea4c6265cfcf79b10e9feff76a1ed3c9a7cc6d09e7b1cb730e3684c89bc12eff0d3cd943cc0529aad469aeedf2a953f86782cbe363d6103982
-EBUILD cloud-init-22.4.ebuild 2360 BLAKE2B 40394aaadaacb9b629b521f612aac61bb995f4d179c324ed20f5fcd479d42356af2ec1a8f5476cbed047d8d590a4c2925aeac42b16f8701eef526c72a1b5da58 SHA512 a9a56b8d950bb123b4dc634da1b532ab529c963433e0295b9c5e03536abe288f51cfa37cb3a4d0720fdfae199d20e73c85d6f860e8b0fa9dd6d4ba9a39616f92
-EBUILD cloud-init-23.4.ebuild 2364 BLAKE2B a9a9989139ac462dfd1946adf8fb40c84ea60450477db2201d0264d1b79b1e01d57ee72ba3152b534708da9bc1ce8993685de0dc379f8e1c1a9c6a24d5f54aba SHA512 4c46248313482d5d774d2401cad716e860987dc6b6219100116de6209e0194c60e2192457573c73237600d31b56d3f90c8811f861f18f671692bfb184d0904d4
-EBUILD cloud-init-9999.ebuild 2327 BLAKE2B 3da5e804a5e009d0cb3181c9e70bcf9a3dbbcb234fbc0f29fc3418d467ec09aa98ee101f9562ac792f03a6ea0c2e0eaea40d1d7f6f4d51bd5417f16a5bd5dfac SHA512 7f5179f3c0d3433415f9a84b744fda5b09d6feb8b2bdb4bf134f27e23ebde917baae5ebdaa482e68e65da433031160b644268e7c90660fecc796622ca1a97610
+DIST cloud-init-24.2.tar.gz 1786275 BLAKE2B 21f5209a77ef401d12271f6ea695d84065b22f40b7273dd8709dee5fadc7038a0f59a9a3dd53b73812a44a603b5cdc7fb36b71fcdb1f2d4295d87d2cc6069fcd SHA512 72de351b3e978e01a4695b58987d942cc1b2faee749ac0df2024a839e0e1539c9b1f0a9e5cf1930e33c36344d152b7580cfe2dd55f95ad4f669df9b4dda4648d
+EBUILD cloud-init-23.4.ebuild 2361 BLAKE2B b47b60fbe5091c053e066276edbc3757d1f205f9f1faed0e2d84ad5bf6840228cd8bd1347295e4fe112df637e13d346da2f8eb48a92c8dae7f5e7f97722413d1 SHA512 97817f130f6a0a70a37bba32ef6ee140e03a20b32553557294b12fe2cc0dc5cb794fe362bb31ea7c7c868a9ede49fa9e8394d3789fe9abe4fe34f08141d0e463
+EBUILD cloud-init-24.2.ebuild 2497 BLAKE2B fe1b45ba825dfcbc99e471bcf311eb8780d56d0eb0878aa7efc917d5e33b1b39e70af2936115397c5bcc0245d345f7f8df1276066023e6916303470527560366 SHA512 5dfc6ac278775724a595549e011a954524b670ce86abd8fa01630170c68aa03febe9cd1803b9f2089b7c461c85881511451f64ccdfc82b44ce254fa22f9ccb8f
+EBUILD cloud-init-9999.ebuild 2497 BLAKE2B fe1b45ba825dfcbc99e471bcf311eb8780d56d0eb0878aa7efc917d5e33b1b39e70af2936115397c5bcc0245d345f7f8df1276066023e6916303470527560366 SHA512 5dfc6ac278775724a595549e011a954524b670ce86abd8fa01630170c68aa03febe9cd1803b9f2089b7c461c85881511451f64ccdfc82b44ce254fa22f9ccb8f
MISC metadata.xml 714 BLAKE2B 22888016216cea9e471f7cef63e94022c344961263a3319508d5b23db64eeaaeb34a470fc51482bf7a0a4cb658dd814f5655393ee4498a7212ccec28caee5256 SHA512 3bd7be60f29d5a1e4a830577c0afc8c5925123f1258a78b82dbc36c8f76f096149db8bcebfaf3b6db5feeab0bc82ccb65d7d71ec12feb4f56027f05eeb930401
diff --git a/app-emulation/cloud-init/cloud-init-22.4.ebuild b/app-emulation/cloud-init/cloud-init-22.4.ebuild
deleted file mode 100644
index 839d6105a832..000000000000
--- a/app-emulation/cloud-init/cloud-init-22.4.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Disabled for now: bug #850628
-# https://bugs.launchpad.net/cloud-init/+bug/1978328
-#DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-inherit distutils-r1 udev
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
-else
- SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64 x86"
-fi
-
-DESCRIPTION="Cloud instance initialisation magic"
-HOMEPAGE="https://launchpad.net/cloud-init"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="selinux test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/oauthlib[${PYTHON_USEDEP}]
- dev-python/pyserial[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.2[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/netifaces[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${CDEPEND}
- test? (
- >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-RDEPEND="
- ${CDEPEND}
- net-analyzer/macchanger
- sys-apps/iproute2
- sys-fs/growpart
- virtual/logger
- selinux? ( sec-policy/selinux-cloudinit )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Fix location of documentation installation
- sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
-
- if [[ ${PV} == *9999 ]] ; then
- sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
- fi
- distutils-r1_python_prepare_all
-}
-
-python_install() {
- distutils-r1_python_install --init-system=sysvinit_openrc,systemd --distro gentoo
-}
-
-python_install_all() {
- keepdir /etc/cloud
-
- distutils-r1_python_install_all
-
- # installs as non-executable
- chmod +x "${D}"/etc/init.d/* || die
-}
-
-pkg_prerm() {
- udev_reload
-}
-
-pkg_postinst() {
- udev_reload
-
- elog "cloud-init-local needs to be run in the boot runlevel because it"
- elog "modifies services in the default runlevel. When a runlevel is started"
- elog "it is cached, so modifications that happen to the current runlevel"
- elog "while you are in it are not acted upon."
-}
diff --git a/app-emulation/cloud-init/cloud-init-23.4.ebuild b/app-emulation/cloud-init/cloud-init-23.4.ebuild
index d9af1ace0ad9..2e3478cac607 100644
--- a/app-emulation/cloud-init/cloud-init-23.4.ebuild
+++ b/app-emulation/cloud-init/cloud-init-23.4.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+ KEYWORDS="amd64 arm64 ppc64 x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
diff --git a/app-emulation/cloud-init/cloud-init-22.2.2.ebuild b/app-emulation/cloud-init/cloud-init-24.2.ebuild
index a1d0ec08c413..a5af2bf3bfc1 100644
--- a/app-emulation/cloud-init/cloud-init-22.2.2.ebuild
+++ b/app-emulation/cloud-init/cloud-init-24.2.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Disabled for now: bug #850628
-# https://bugs.launchpad.net/cloud-init/+bug/1978328
#DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_10 )
+# https://bugs.launchpad.net/cloud-init/+bug/1978328
+PYTHON_COMPAT=( python3_10 python3_11 python3_12 )
inherit distutils-r1 udev
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64 x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
@@ -23,8 +23,7 @@ HOMEPAGE="https://launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
-IUSE="selinux test"
-RESTRICT="!test? ( test )"
+IUSE="selinux"
CDEPEND="
dev-python/jinja[${PYTHON_USEDEP}]
@@ -40,8 +39,8 @@ CDEPEND="
BDEPEND="
${CDEPEND}
test? (
- >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/responses[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
@@ -56,6 +55,12 @@ RDEPEND="
selinux? ( sec-policy/selinux-cloudinit )
"
+EPYTEST_IGNORE=(
+ # Can't find file
+ tests/unittests/config/test_apt_configure_sources_list_v1.py
+ tests/unittests/config/test_apt_configure_sources_list_v3.py
+)
+
distutils_enable_tests pytest
python_prepare_all() {
@@ -65,6 +70,7 @@ python_prepare_all() {
if [[ ${PV} == *9999 ]] ; then
sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
fi
+
distutils-r1_python_prepare_all
}
diff --git a/app-emulation/cloud-init/cloud-init-9999.ebuild b/app-emulation/cloud-init/cloud-init-9999.ebuild
index 7bb69ee6336a..a5af2bf3bfc1 100644
--- a/app-emulation/cloud-init/cloud-init-9999.ebuild
+++ b/app-emulation/cloud-init/cloud-init-9999.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
@@ -55,6 +55,12 @@ RDEPEND="
selinux? ( sec-policy/selinux-cloudinit )
"
+EPYTEST_IGNORE=(
+ # Can't find file
+ tests/unittests/config/test_apt_configure_sources_list_v1.py
+ tests/unittests/config/test_apt_configure_sources_list_v3.py
+)
+
distutils_enable_tests pytest
python_prepare_all() {
diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 46795672d5f8..efee674c7089 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,13 +1,16 @@
AUX dxvk-1.10.3-gcc13.patch 398 BLAKE2B 48b1f18b8368a7dccdd479df8c37b6667fe918f4c47846e0c9e7bb5f04746fbb773decabd905a4877e1bea42ab9af88d042f667272969e0bda7d44f215d78938 SHA512 e3b84263641c3abb34c31721b29eaa314f02bbd15e1ee5b3e3cefd51f57f9123b2cbb32174ed1806dcb03994ee3db8df3282d5f4791d8f1188c09f7c55cbf113
AUX dxvk-1.10.3-wow64-setup.patch 579 BLAKE2B bebc84f2cdcc32da5cd55db4041a26dd469175932536c02dc1049c95a259e6ab3a59dde507b04c8a29055ac0d8c2c96c2732efa81b5bf5b13c54300732e3d3a4 SHA512 1364feec383902e81a855929273126d519b0033064482a0662eda92569657b1a932bd8bd2584395a746bf14e443d9a9c2d75bf484bbb80654536a6c315ffa5dc
AUX dxvk-2.3.1-gcc14.patch 167 BLAKE2B 3a52e5c02c145dd8732993f540db239ba8d9ef7b3d5546b90b1f64530700f7498e435a0acd0f9faee36138038f9aa374ec2fcf3e154be175892ce4d16b9ae2c5 SHA512 c3c2c16b0adcfbfff23a81c9bca02cc03954536366797688c5cce9e2a0b7dd14a904950e9b4e25a95e10da2a72044c1d6d214831fa639a4705cad46b9a282757
+AUX dxvk-2.4-d3d8-setup.patch 220 BLAKE2B 7f21542907d02e2924595aaff32709882149137b97b2e00bb0196293315dd04b7f72fbd2cd4d0ffc6b28ca1ef2c5047b29039ef3d2a0cc953439307e5ecb0ef6 SHA512 ec510f45686f5222044486e659729b3126aed58a9e66dfd72434e44255ea3507b19e53111e7c430fe96f3058847a3fd32a8f903f3cee1e2ce45ab11bd9f2f2f7
DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
+DIST dxvk-2.4.tar.gz 1052380 BLAKE2B d27795747c313dd93a399b82a78bb8349efcac91df9b138f1349ad9e030450980f1ce57f2b912cb13913a9b52f380967e05aab05c92071c0ceea5ab850aba479 SHA512 2db5a9a0c0a47e1db33cc938ecae40f1f24b60cfa1cc381ebab96aa0a2b4d9574947ed0c90a28fda15fe6fa1cbb560559f11b2f5c116e579fe7b9ff41c2f0f78
DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
DIST vulkan-headers-46dc0f6e514f5730784bb2cac2a7c731636839e8.tar.gz 2255426 BLAKE2B efaf09df3274586c4df2bdd0b1dd9dd43b3b6125e0033ae87af999aea64709e9758bc7b675398b480ae063e28273732d768062d97f6cd61d63ccc798ca7410a5 SHA512 7ea993f7c8ff72dc6bedbfdaced29782ab372228e9111f747d931955e832a7920114f5d1953ecd34d220634a53449ca2ed4c0ed28d3165e258c4d9fafd0aa4be
EBUILD dxvk-1.10.3-r1.ebuild 4988 BLAKE2B c1a07a25db7117285e6d0ba5bddcc5b9690b9171bf1c887547f6a9e9804bc3366b325859ac4f4d439b702ea38e96c51b5067cc21c354bd98a324430a2166b527 SHA512 8566dad60c3a8cc4e996bd8d1430ad7a62db5eae2860b635a998ea7c87c7f8a9fd2f268b1f736d27addbb3c408dac6ffb7f3993a02fb16d42b9c238f2692a945
EBUILD dxvk-2.3.1-r1.ebuild 6667 BLAKE2B ac8620ba4b92cfa33c88db128f98304df7060dcdbaddcff8a570ebe9b2a5e9e6a5ab559088b2d2c30254160bfdc91f414a942421bddf387330f72721eedced08 SHA512 ce8129e47bd4a1a8431e052fc60e831ef6fd692d970d430fc4b111d71b4130915967679d8a96d4ba9c4647826dc34c924b585e3b07db67abb78c6b5e1b458de5
-EBUILD dxvk-9999.ebuild 6549 BLAKE2B d0e68377bd19a7ccac56300c8efea0f24b0f7b97ac701237c689077c18ddb32e34a7e669290b8cd8006c42b21e5145523b56eb90b00cbebefa76c70dd16cb322 SHA512 20b240c5994af20dcb4ca6e032e62e3f964d2fb9c26e2364743fc5e6c479a759d87a9f96083b2eca2908bf20d81d1bafa7a407af3b40bd04e07eb91ae8da8f88
-MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b
+EBUILD dxvk-2.4.ebuild 6106 BLAKE2B 4024ee9d4b5b9f6c5d68d9920dfe6e6c409984d961edcda445733fc190b45ea37e6c66d39d47617903bba33c4d7f0d6daa292685f64b4d5dcf551623d6e08021 SHA512 a913db008ede919db04fc08cea0e9b76a90938ba74fe3164b072f507be0d14d70fc7a174a150f3e79ac0f3e9ff1568969e5faf9e417d75db3b65be2b08efb02c
+EBUILD dxvk-9999.ebuild 5986 BLAKE2B c34bad89ec8e21732e8f618821ef25ca3dc454eaa5ae4f4e173052ad422c82258883ffa1e3d4ff5a6ff3630eb52eced2fef6e577ccb9ea2fa6793ac31e99f5f6 SHA512 674a028571ed3ea6fdd49d0fa2775ebd40e3d9f42a1ba369911f8fed252bebd40d73e3ea98670fab8801c88b3addcb5bcd9910f02d1be60f07af91d12e89d1ee
+MISC metadata.xml 885 BLAKE2B c21b9383a626cfea8b758d171ebbe7180d7a0dc09da611ad5f05b3e877f4051e33544e29c9c5e58fa20143bf724d8d27da9279bcf49e3465a7aa6cb7eeca4eb1 SHA512 3ad1138cbe63473b6da56d73214913e9a3e68d270e1df01fa4202e76a6efe35c6971595660724e30b16db31fba404441bc36b075e2197944a699c436ed60ebb8
diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild
new file mode 100644
index 000000000000..b29fad2d8a7f
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.4.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+ EGIT_SUBMODULES=(
+ # picky about headers and is cross-compiled making -I/usr/include troublesome
+ include/{spirv,vulkan}
+ subprojects/libdisplay-info
+ )
+else
+ HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+ HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+ HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+ SRC_URI="
+ https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> spirv-headers-${HASH_SPIRV}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> vulkan-headers-${HASH_VULKAN}.tar.gz
+ https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+ "
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+ || ( d3d8 d3d9 d3d10 d3d11 dxgi )
+ d3d8? ( d3d9 )
+ d3d10? ( d3d11 )
+ d3d11? ( dxgi )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+ "${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+ "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is set but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+ mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+ fi
+ cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+ --force-fallback-for=libdisplay-info # system's is ELF (unusable)
+ $(meson_use {,enable_}d3d8)
+ $(meson_use {,enable_}d3d9)
+ $(meson_use {,enable_}d3d10)
+ $(meson_use {,enable_}d3d11)
+ $(meson_use {,enable_}dxgi)
+ $(usev strip --strip) # portage won't strip .dll, so allow it here
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_dxvk.sh
+ dodoc README.md dxvk.conf
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+ elog "removed upstream, handling may change in the future."
+ fi
+
+ if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.4
+ then
+ elog
+ elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+ elog "update old wine prefixes which is typically done by re-running:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ fi
+}
diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 9db73b208248..9fe577d2f13b 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -40,9 +40,10 @@ SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819
LICENSE="ZLIB Apache-2.0 MIT"
SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
REQUIRED_USE="
- || ( d3d9 d3d10 d3d11 dxgi )
+ || ( d3d8 d3d9 d3d10 d3d11 dxgi )
+ d3d8? ( d3d9 )
d3d10? ( d3d11 )
d3d11? ( dxgi )
"
@@ -56,6 +57,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
"${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+ "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
)
pkg_pretend() {
@@ -138,6 +140,7 @@ multilib_src_configure() {
--prefix="${EPREFIX}"/usr/lib/${PN}
--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+ $(meson_use {,enable_}d3d8)
$(meson_use {,enable_}d3d9)
$(meson_use {,enable_}d3d10)
$(meson_use {,enable_}d3d11)
@@ -155,10 +158,6 @@ multilib_src_install_all() {
find "${ED}" -type f -name '*.a' -delete || die
}
-pkg_preinst() {
- [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
pkg_postinst() {
if [[ ! ${REPLACING_VERSIONS} ]]; then
elog "To enable ${PN} on a wine prefix, you can run the following command:"
@@ -168,24 +167,16 @@ pkg_postinst() {
elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
elog "removed upstream, handling may change in the future."
- elif [[ -v DXVK_HAD_OVERLAY ]]; then
- # temporary warning until this version is more widely used
- elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
- elog "If you were using symbolic links in wine prefixes it may be necessary to"
- elog "refresh them by re-running the command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
- elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
fi
- if [[ ! ${REPLACING_VERSIONS##* } ]] ||
- ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+ if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.4
then
elog
- elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
- elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
- elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+ elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+ elog "update old wine prefixes which is typically done by re-running:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
fi
}
diff --git a/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch b/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch
new file mode 100644
index 000000000000..9a0e15310d96
--- /dev/null
+++ b/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch
@@ -0,0 +1,8 @@
+Newly added in dxvk-2.4, but the old script does not know about it.
+(see also wow64-setup.patch, this script needs a replacement)
+--- a/setup_dxvk.sh
++++ b/setup_dxvk.sh
+@@ -207,2 +207,3 @@
+
++$action d3d8
+ $action d3d9
diff --git a/app-emulation/dxvk/metadata.xml b/app-emulation/dxvk/metadata.xml
index 84811f271d8e..bcd095ee95b9 100644
--- a/app-emulation/dxvk/metadata.xml
+++ b/app-emulation/dxvk/metadata.xml
@@ -10,6 +10,7 @@
Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
<pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
</flag>
+ <flag name="d3d8">Enable support for DirectX 8 (d3d8.dll)</flag>
<flag name="d3d9">Enable support for DirectX 9 (d3d9.dll)</flag>
<flag name="d3d10">Enable support for DirectX 10 (d3d10.dll)</flag>
<flag name="d3d11">Enable support for DirectX 11 (d3d11.dll)</flag>
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
index 4e077d9d600a..4f957a925eec 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -1,10 +1,7 @@
-DIST firecracker-v1.5.1-aarch64.tgz 9086440 BLAKE2B 30777522bdb23e80bc3a025691d50a14411c0ac72fd87e5b9b460f18d0873d0a6423e19e7810afe0ed1324b2b32fc615b525ad9561c1bfea48fc53bdfbb610a5 SHA512 61f7fcf427817eebcd6cb6f046dad29e3a39d382c087418379f4502ef715605e2bb9e3b647233680f44b7e0047a6ca00135011bb929b44c5340bb8b8649fde1a
-DIST firecracker-v1.5.1-x86_64.tgz 9411106 BLAKE2B 538b531ce5c8319dee042229a7cc7c44cdd2fc07c58c3089b6c2d29d10ad8a5a78f697b7781ac81bcf8b4127e778895ab72eed9e1e6febd410b6c0509c01ae1e SHA512 63a44fb79e9fb29abfbaa6c96550c5f2f361c3be5e188bb4562b089b4d3f1f4ab3ef60ad3ab163e961857e95090401dc4df859d2dd2a5f1a1372ed663188cfa3
-DIST firecracker-v1.6.0-aarch64.tgz 9105124 BLAKE2B bcc77e6701a4b9c7d80d7e60b13d4945d5f76918cc1741035f26df5af05c4c579802444c90c8972a7985d4df8e10f2b9954b5889eca92f5d95b02751481084db SHA512 71608a46bdb5be5240d4a88e812c13e753d81e4f4813a818ebfd782934add2c3769bd71788f5e2bed1a6e1d9bcfc3a914e018f1682cc6806012c3e283e44f401
-DIST firecracker-v1.6.0-x86_64.tgz 9425451 BLAKE2B bae5eb960c6d575724915cfd4cb50cdc85d6be44b47271a5d68662b7ce86a7356aad215097214b7d32dad9051f385188d83592588be1addc15727c633f10e4d1 SHA512 a00b0d1b8da02b167627169d316b6a88bd44b1f42eb2cbebad5c355485f2456288d2062cb63b1ddc4d636ae8f4fad3a15dc9404b5347e746a7b416758d6507d5
DIST firecracker-v1.7.0-aarch64.tgz 8951358 BLAKE2B 813be9e38e318233b3b574e21e3f07e3eab82eba1a22ca2082a7e2b9312b8022fd288ac4b72dbfa82f8a8ab561e4877553c249913d290b0701773d53a28296a7 SHA512 1b78353e204569acace417a95bfd2075f909205d59c32cbce18438751d5aeaae8ac3e3d3791d153a30337037c01fd6622793aa200a7e21d51f98a886123c545d
DIST firecracker-v1.7.0-x86_64.tgz 9038632 BLAKE2B 6473113f2cc8225fdf8fc6f8612874c46fda05c13ebda040b7998554fda3e9cc69fbfae9481dc9e5b3100f05b50a82525810deccebaf45665d67aca7ebc0dc23 SHA512 cca5390c81bb9b78865608729840f12a1e9b9ed072859853e1f2853312dc62a78f0206fa007174c5fc18a7bf7d6e4b905e954ecdf6c3b78782d65e9801a45a0b
-EBUILD firecracker-bin-1.5.1.ebuild 2844 BLAKE2B 12205b3bff19d4525d0feaf39d09c895ce0a11e5788ce3e91a1dbcc7ccaa91ffe767452da8e054829579fc9f828f2fe0450b9b0229dcf9959498a4c589b3ba87 SHA512 650cb54fc99ab9e59fc81ec9effab79021e558af12a0bb10dc2b2e8083bdf6ddd3cb7449f54cba3342a79f916bdee7191e7e4f1042ac1da380af910e4e54542b
-EBUILD firecracker-bin-1.6.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4
+DIST firecracker-v1.8.0-aarch64.tgz 7085662 BLAKE2B 5352912fc10e4e41bcfd34c4416f8df30cd055168031510adb7ec7a9f223c101fdde0182aa80702b261fa3c24048d5434102238ddb7322a35f72299dc58a009f SHA512 16ed860c20e269c94082916740a8d9422e8c6683aca5ff2f33b0809592d04a7c48ad38649eb1b29e23dad6ff276d3435550e6421172ef3bb5d5ec819180425d7
+DIST firecracker-v1.8.0-x86_64.tgz 7029237 BLAKE2B 7eac72eaa6a6e87c6503ebafd34c87769034912c52acacc57c2239176418f6830c55682d1c15be2e8f4a3520012685cf54ec4bdf4edca3099cf0e4aa02051c00 SHA512 c78d801cd532aea97a363f9950a13b2b1b713f707a2f54c5d78bdab300654d947131f8f35dc6d21ee71e68632b32c3694a12583ab1a80d277ffc0162316ed2ee
EBUILD firecracker-bin-1.7.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4
+EBUILD firecracker-bin-1.8.0.ebuild 2844 BLAKE2B 88c1fa9ab2a4904e66c943ba900a2b885d0a057e6fb186049823f936c853f83e22c9442d4283edb79a829930a051e997774bb7dd71048245217edda2b55b09b5 SHA512 d3e99819b528bcef6c102575d6d06a995524768625f033654857e2f28fd33e2559be3564972b34f53eb2b236a78be665068de90328dd984fa7209ae754b5a20f
MISC metadata.xml 512 BLAKE2B 5088571672374708995301bad5f1427c9f33d89104ca971134bc5fc1afb70a6513a27ec88b938716c538db7ef8ff15b74fc7fce3aa70de49574fdbcd00a81a72 SHA512 dcb061c53e06929eb8ff6850a610ad8df17364089575b7d0f7f7e0a7ff2becb6cd446a666b2015745460f5a33f67e0a6f8df534bb03081866c0fb35bddb3460d
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild
deleted file mode 100644
index e280abe72c3d..000000000000
--- a/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info
-
-DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
-HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
-SRC_URI="
- amd64? (
- https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
- )
- arm64? (
- https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
- )"
-
-LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RESTRICT="test strip"
-
-RDEPEND="acct-group/kvm"
-
-QA_PREBUILT="usr/bin/cpu-template-helper
- usr/bin/firecracker
- usr/bin/jailer
- usr/bin/rebase-snap
- usr/bin/seccompiler-bin
- usr/bin/snapshot-editor"
-
-S="${WORKDIR}"
-
-pkg_pretend() {
- if use kernel_linux && kernel_is lt 4 14; then
- eerror "Firecracker requires a host kernel of 4.14 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"
- ERROR_TUN+=" virtual network devices."
- ERROR_BRIDGE="You will also need support for 802.1d"
- ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
-
- if use amd64 || use amd64-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
-
- # Now do the actual checks setup above
- check_extra_config
- fi
- fi
-}
-
-src_compile() { :; }
-
-src_install() {
- local my_arch
- if use amd64; then
- my_arch=x86_64
- elif use arm64; then
- my_arch=aarch64
- fi
-
- dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
- dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
-
- newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
- newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
- newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
- newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
- newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
- newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
-}
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.8.0.ebuild
index 4e841c1ab26e..37f3ffa69f76 100644
--- a/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.8.0.ebuild
@@ -15,6 +15,8 @@ SRC_URI="
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
)"
+S="${WORKDIR}"
+
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
@@ -30,8 +32,6 @@ QA_PREBUILT="usr/bin/cpu-template-helper
usr/bin/seccompiler-bin
usr/bin/snapshot-editor"
-S="${WORKDIR}"
-
pkg_pretend() {
if use kernel_linux && kernel_is lt 4 14; then
eerror "Firecracker requires a host kernel of 4.14 or higher."
diff --git a/app-emulation/genymotion-bin/Manifest b/app-emulation/genymotion-bin/Manifest
index fe1b7ef377a9..31df694147a8 100644
--- a/app-emulation/genymotion-bin/Manifest
+++ b/app-emulation/genymotion-bin/Manifest
@@ -1,3 +1,3 @@
-DIST genymotion-3.6.0-linux_x64.bin 103911915 BLAKE2B 2c7174404b29a71174fc04de96285475e1800880f79fb70c455539c2a658a305a4cd8a541c545024c3130458081b5a94e493478a47126905fae5e104afbd3efd SHA512 ff05bb91edf05c38d68e3dec16dd21f6fcc50bf31e03411f46b9a3a71ca3f9139705e54b8650c8ab44295a2ebb49aa262e169faecea1f6bb8dd385785440f245
-EBUILD genymotion-bin-3.6.0.ebuild 4134 BLAKE2B 1f9a0f50cc96e2ec729d4aee65d13c0f70b5d69ba09d60350f50d09beb496782c49c59158a94eb9c4db52561d7cf6e1cd47708fcd2e4024d2a2b15d697b0961b SHA512 edc0ff35d356797d898e556e6a848f75d46f218a8ccf85c182fae2ee459d4fb7e62482be48db6ea69bfe3831a08e8904abb6b694e7b5dd5ad632839f1aa7fd55
+DIST genymotion-3.7.1-linux_x64.bin 103767728 BLAKE2B 08ebd35ed27dc6f197d442752935541cd932a06776c49dc4a2352d2cb2fe746472d658e12d4b2115767752db267d0c5da35e5e3ddcc489eb8a15f88ba6d23d64 SHA512 7a6c91864399ec9e2ee66094b58135c0ffb464eddc46642da225d0929f8247192324a6cb544cfd771bb389bb517c3a92e5da2d19747e0c67284cbd6d6c0b4f5e
+EBUILD genymotion-bin-3.7.1.ebuild 4109 BLAKE2B dede0193f18d13023a55793d0fde5c0b3c2500d4d7e0dd8370ca7ef85d0c32dd41115b332effe8ba399d1bdf4525fb504d84493c06fda5f859dd6e3125eae241 SHA512 739af3e0d70ef8188461d3ab5f2600acf3298938bd3e6a61ff72ece8d05f716fd886f6f60b5f580a7e6e90ff43c1c4427639fa0f67aa066894f3522573dec6b0
MISC metadata.xml 402 BLAKE2B ab9053ca959660812f1e1bc536950c0278d23c2906ff0a82483241f16960d2ae6ecd3eff091666df8fef38fdb073a6e3d0a5c8a7c7926426fead769365df49a5 SHA512 785e5acc8811d310b7cd5dc52fe3de6a22d7a92fa81a12db8a16b1df75a83f47ffea4e2fe21a712dabc5c1fff8da4d6f2e49ae0597373fd6e106aa13e81323d3
diff --git a/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild b/app-emulation/genymotion-bin/genymotion-bin-3.7.1.ebuild
index 6de3fe292cc0..f2d0e0a82345 100644
--- a/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild
+++ b/app-emulation/genymotion-bin/genymotion-bin-3.7.1.ebuild
@@ -10,9 +10,11 @@ MY_P="${MY_PN}-${PV}"
BIN_ARCHIVE="${MY_P}-linux_x64.bin"
DESCRIPTION="Complete set of tools that provide a virtual environment for Android"
-HOMEPAGE="https://genymotion.com"
+HOMEPAGE="https://www.genymotion.com"
SRC_URI="https://dl.genymotion.com/releases/${MY_P}/${BIN_ARCHIVE}"
+S="${WORKDIR}"
+
LICENSE="genymotion"
SLOT="0"
KEYWORDS="-* ~amd64"
@@ -53,7 +55,6 @@ RDEPEND="app-arch/lz4
BDEPEND="x11-misc/xdg-utils"
RESTRICT="bindist mirror"
-S="${WORKDIR}"
QA_PREBUILT="
opt/${MY_PN}/*.so*
@@ -125,22 +126,20 @@ src_install() {
insinto /usr/share/zsh/site-functions
doins "${MY_PN}/completion/zsh/_gmtool"
- if has_version app-emulation/qemu ; then
- dodir /opt/"${MY_PN}"/qemu/bin
- dosym -r /usr/bin/qemu-system-x86_64 /opt/"${MY_PN}"/qemu/bin/qemu-system-x86_64
- dosym -r /usr/bin/qemu-img /opt/"${MY_PN}"/qemu/bin/qemu-img
- fi
+ dodir /opt/"${MY_PN}"/qemu/bin
+ dosym -r /usr/bin/qemu-system-x86_64 /opt/"${MY_PN}"/qemu/x86_64/bin/qemu-system-x86_64
+ dosym -r /usr/bin/qemu-img /opt/"${MY_PN}"/qemu/x86_64/bin/qemu-img
domenu genymobile-genymotion.desktop
}
pkg_postinst() {
- if has_version app-emulation/qemu && ! has_version app-emulation/virtualbox ; then
- ewarn "By default Genymotion is configured to work with VirtualBox hypervisor."
+ if ! has_version app-emulation/qemu && has_version app-emulation/virtualbox ; then
+ ewarn "By default Genymotion is configured to work with QEMU hypervisor."
ewarn "So you should run command:"
ewarn ""
- ewarn " gmtool config --hypervisor qemu"
+ ewarn " gmtool config --hypervisor virtualbox"
ewarn ""
- ewarn "to change hypervisor to QEMU."
+ ewarn "to change hypervisor to VirtualBox"
fi
}
diff --git a/app-emulation/hercules-sdl/Manifest b/app-emulation/hercules-sdl/Manifest
index db987967acdb..9adbfddfa650 100644
--- a/app-emulation/hercules-sdl/Manifest
+++ b/app-emulation/hercules-sdl/Manifest
@@ -2,6 +2,5 @@ AUX gen_hashes.sh 706 BLAKE2B 85e0f867ea7012a9859f75cf8802ce85b50b23c2a7b48a1179
AUX hercules-sdl-4.4.1-htmldir.patch 774 BLAKE2B 3cf3c50c60059ae0bd042333c2220669f87aa37cf632d1bc2cec738e02ca5f74a2a4302e484a73b6e9df32edb8c4bf2c0a2198c32e1242cab970e4a819c254c1 SHA512 bae45addb0c4f339b93d9709119b7df5d330978e60b982349244b98a72b157f86180454fa82ff9918a082f705a06a379ff3212f59bd5c1777090bb0cf03b9795
AUX hercules-sdl-4.7.0-backport-pr658.patch 1591 BLAKE2B 4959d5d1f59c370d505156f0aec543af11a96e5b4513eb634f9c79aa69e537f854efd5870a710b50d8e2fd882bb33b34d2f7f5b15dab0c71fa503825f4c5b31c SHA512 3d3dcb3b1cb0cf580dff9f720c58a28597dc9ea926b6b3384cbaa88726515a0a25efbcde5a763488fcca0603d951f42702e416abe974c5f981befc3360733ed2
DIST hercules-sdl-4.7.tar.gz 25439384 BLAKE2B 78a8d2df947c80e23d0e956a25a4f009dd32b09f2834cc06373f685badf9f1e657bf0f4e4408c7085371c46085718998076f3a6063caf80c9161b1fa7caa91eb SHA512 9d7060c4e2687358b9547b59b47362d642cbf2bf009085fdd41e485170d0f81029ee3d04d12b905a3a266cd26a9087e92c231c3f4600c32a8535a6140656b7b0
-EBUILD hercules-sdl-4.7.0-r1.ebuild 2678 BLAKE2B 99fc2187abb2729f3749da3d38419d5254bc9574001ef13676a447eb3ffaa8673b9d3c7c052bf541994a562e3326259cd9825e3e7c887d6e99246c21d04c2a7a SHA512 a71847afbd15b79165e2f6dc89effa2fb9dc28fae5d24e3db4cabafeab1aee56e86d46a9b5c9b5c52748738186755b3c93887f54c37e61b02f32a0a659e034b9
-EBUILD hercules-sdl-4.7.0.ebuild 2604 BLAKE2B 916d399a2d0a53ade95495d1788399543ebe41000cb480307af7425c78cfe2adeaa53a753f9e66eedb3786a9d875794f1f44ef15a80653718bc02a8ed01add2d SHA512 1c4242b251e4b4d0ecf84b7e796a242ded35adeb686726bfe4833c0c4c1c69b0705f3216e6a31f24e9876a39b6315d228d65d149d8ca66a08cc77755f27abf47
+EBUILD hercules-sdl-4.7.0-r1.ebuild 2730 BLAKE2B 378e8c9cf94019b4ab0aa8bba8a136563e2a9e8282d863ee7c1be2169504b1dfefd11349c9c413b7dea20b833c0ac82f3bcff3266a8966a2293667a0d3ccd323 SHA512 8d6dd1399542cef2147ba963e92e49ac85ece4d95a1f1a2e34ccd1729d2205a938a18dff7c07068b3aca9f4c00f39a61165d41243eead22ee220347df21f0c41
MISC metadata.xml 1141 BLAKE2B b630c058fe32f2410985e53779d387fc007759f2bd36ad8240a2b6a2157b6c5921cfb4aa14ed3b513e0f787d9838bab46a6ceadd031d33daa2a3190d2ca64095 SHA512 fe090b27c7d46e6a9fee40a9d948f4124814d134cb64ff7f7d7b2d341f1db9313f5d071e5c34a312a3dacbe643c8083ba98a3b0058fa3886b9d024d6ecb17575
diff --git a/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild b/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild
index 2067dddd725d..773fa8bde935 100644
--- a/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild
+++ b/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild
@@ -25,23 +25,26 @@ FILECAPS=(
-M 755 cap_net_admin+ep usr/bin/hercifc
)
-RDEPEND="
- !app-emulation/hercules
+COMMON_DEPEND="
dev-libs/libltdl
net-libs/libnsl:0
sys-libs/zlib
bzip2? ( app-arch/bzip2 )
object-rexx? ( dev-lang/oorexx )
regina-rexx? ( dev-lang/regina-rexx )"
-DEPEND="${RDEPEND}
+RDEPEND="
+ !app-emulation/hercules
+ !app-arch/tapeutils
+ ${COMMON_DEPEND}"
+DEPEND="
+ ${COMMON_DEPEND}
~app-emulation/hercules-sdl-crypto-${PV}
~app-emulation/hercules-sdl-decnumber-${PV}
~app-emulation/hercules-sdl-softfloat-${PV}
~app-emulation/hercules-sdl-telnet-${PV}"
# Neither package support needs to be compiled-in for tests,
# but the "rexx" command needs to be available
-BDEPEND="${RDEPEND}
- test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )"
+BDEPEND="test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )"
PATCHES=(
"${FILESDIR}/${PN}-4.4.1-htmldir.patch"
diff --git a/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild b/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild
deleted file mode 100644
index 336396af8692..000000000000
--- a/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools fcaps
-
-DESCRIPTION="The SoftDevLabs (SDL) version of the Hercules 4.x Hyperion Emulator"
-HOMEPAGE="https://sdl-hercules-390.github.io/html/"
-SRC_URI="https://github.com/SDL-Hercules-390/hyperion/archive/refs/tags/Release_${PV/.0/}.tar.gz -> ${P/.0/}.tar.gz"
-
-S="${WORKDIR}/hyperion-Release_${PV/.0/}"
-LICENSE="QPL-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-# In theory USE=object-rexx and USE=regina-rexx are not mutually-exclusive.
-# In practice they functionally are as the Gentoo packages conflict, and
-# additionally Hercules only supports calling out to one of them at runtime,
-# controlled by the HREXX_PACKAGE environment variable.
-IUSE="bzip2 debug object-rexx regina-rexx test"
-RESTRICT="!test? ( test )"
-FILECAPS=(
- -M 755 cap_sys_nice\=eip usr/bin/hercules --
- -M 755 cap_sys_nice\=eip usr/bin/herclin --
- -M 755 cap_net_admin+ep usr/bin/hercifc
-)
-
-RDEPEND="
- dev-libs/libltdl
- net-libs/libnsl:0
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- object-rexx? ( dev-lang/oorexx )
- regina-rexx? ( dev-lang/regina-rexx )"
-DEPEND="${RDEPEND}
- ~app-emulation/hercules-sdl-crypto-${PV}
- ~app-emulation/hercules-sdl-decnumber-${PV}
- ~app-emulation/hercules-sdl-softfloat-${PV}
- ~app-emulation/hercules-sdl-telnet-${PV}"
-# Neither package support needs to be compiled-in for tests,
-# but the "rexx" command needs to be available
-BDEPEND="${RDEPEND}
- test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )"
-
-PATCHES=( "${FILESDIR}/${PN}-4.4.1-htmldir.patch" )
-
-src_prepare() {
- rm -rf crypto decNumber SoftFloat telnet || die
- sed -i 's#/lib${hc_cv_pkg_lib_subdir}#/lib#g' configure.ac || die
- sed -i 's#_pkgname}${hc_cv_pkg_lib_suffix}#_pkgname}#g' configure.ac || die
-
- default
- eautoreconf
-}
-
-src_configure() {
- local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
- econf \
- $(use_enable bzip2 cckd-bzip2) \
- $(use_enable bzip2 het-bzip2) \
- $(use_enable object-rexx) \
- $(use_enable regina-rexx) \
- $(use_enable debug) \
- --enable-custom="Gentoo ${PF}.ebuild" \
- --disable-optimization \
- --disable-setuid-hercifc \
- --disable-capabilities \
- --enable-ipv6 \
- --enable-enhanced-configincludes \
- --disable-fthreads \
- --enable-shared \
- --enable-automatic-operator \
- --enable-extpkgs="${SYSROOT}/usr/$(get_libdir)/${PN}"
-}
-
-src_install() {
- default
- dodoc RELEASE.NOTES
-
- insinto /usr/share/hercules
- doins hercules.cnf
-
- # No static archives. Have to leave .la files for modules. #720342
- find "${ED}/usr/$(get_libdir)" -name "*.la" -delete || die
-}
diff --git a/app-emulation/libvirt-glib/Manifest b/app-emulation/libvirt-glib/Manifest
index ea1ca434ddf3..6ece6eea1ea2 100644
--- a/app-emulation/libvirt-glib/Manifest
+++ b/app-emulation/libvirt-glib/Manifest
@@ -4,4 +4,4 @@ DIST libvirt-glib-4.0.0.tar.xz 161836 BLAKE2B e196d1f02f6f202b1883500241bbfda963
DIST libvirt-glib-5.0.0.tar.xz 169416 BLAKE2B e80ac0cd8d39432d554e566f4e1e045ada14e66917735c1c8a6306a65272216d095f21170e1b5294e09f41aaf2a3259ad395b134087a1bc13b176afd675dcc26 SHA512 bb09474c0d6d4bc00844e7a1ede882f0834d0810804b70b8f8607f2e764f72cc9da14883794e58dd53640433ffaecc13dd3c1c147b82e86fa2fdca6e5903933c
EBUILD libvirt-glib-4.0.0.ebuild 1202 BLAKE2B a2e4d4c6597d603d6708bb5c3d60d7e1d7812ef356ab780ccd3ec1029a4ea4af613b7d4751f8c5fc5b3280e6dcecb106c5f76cb0dde2d7c7a876491e1d1aa307 SHA512 0490c4c0487583a5013ab823c1823234cc4eeb2553fa527a0aab256791703f85b681f1c5679a8c0cd12f9ffa5aa4c17dda1351d5a1104a9f93baa60609b77a3d
EBUILD libvirt-glib-5.0.0.ebuild 1051 BLAKE2B 66cf087b2cd9a4f6340c45d4de4e0da0dd250dff320bd80729853c39582e154e8a0b785bd413e609e42b6d8615abc3db06e9f229aabe1bb08cb610d2920de0c4 SHA512 72be5abe3a213e322a2990cad7d3bf8d8ab61333acbc9dbaa80f20501c3b075cd7816108177205a01ff12e533c9f13336dcc9e9b1e7752d5984a97b1dde53f2f
-MISC metadata.xml 447 BLAKE2B f40aac6909d57d1d003987dd50fb0b9cf7a91053c37b3986f801e8376dcc6390c767507d262708f0caa4f8e0106fb17d638cc633c86724a9546f89120f9aa3e8 SHA512 b5ebae9b402c12eb5626bd21ef65eed93ff483c158ffdd96bd545726b4f17358b2946e5a6e7606ab4922ec91df256a571dd5c145041ec739a1fd9dc77ba6ff24
+MISC metadata.xml 339 BLAKE2B 1591a67bbece95cd2fec53c63f52b8b3492d5af6dfd3e6ec3ddfb8dc0c352229583142eac5dbcdd39147192502efa8518745c1f03d4a398bd1c848da01234b4f SHA512 249461750072c64af80ab98eca69bb5a640991f4ec74e1bc44814b143df952043905d9c2ad6505f9e77e400e3b49cf8f019ca7343aaeefcab049a07c031b7c1f
diff --git a/app-emulation/libvirt-glib/metadata.xml b/app-emulation/libvirt-glib/metadata.xml
index 08a5f06bdf97..e076952b0c93 100644
--- a/app-emulation/libvirt-glib/metadata.xml
+++ b/app-emulation/libvirt-glib/metadata.xml
@@ -5,10 +5,6 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
- </maintainer>
<upstream>
<remote-id type="gitlab">libvirt/libvirt-glib</remote-id>
</upstream>
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index 0111e71a9ab7..0cfd3e6a1be5 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -2,6 +2,7 @@ AUX README.gentoo-r3 2065 BLAKE2B f3677b916121126c431ba32e324bcc9f04b4dfeef1ee54
AUX libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch 1665 BLAKE2B 25c162ca5d33c36e1b97185f3db8517e707a20d8ee2573dfd15f9540af1a2a1d39706ffbc1b6e55be0b7156ca0d146715c9f629add883ff0d89122dd7a9962e4 SHA512 dd5dc696412529a6d004ea03ef75c991fbe7c7be839467e9bf2e8a8b2119275b053b4549e9924907b146e841c4a81e8f1ee2744c7d275c5a4007d80b87e5b1af
AUX libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch 9364 BLAKE2B 05ac0aaea8741102a34657b4910569ae5601364bdfd419743900823537f982348ba68cbac37fe10b21c2869531a35d68de8fbeb462c1f66aa0c3af4a97630405 SHA512 72a40984e6de167af8de9aedabdecf79c0f99bb5e7152b6521e87268bf1a1050b9d0d9acbb86c54810029dbde671a518ebd8a3f11590594a3226d818b89188f1
AUX libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch 2935 BLAKE2B b3bb5f7f6c21b645f43c2de8c17fe821a12fcd656629bbb44d780f408c5e50f0ee00e0d6bd82a9aba68b4651b711b29170e6989c317bada28edf3aff36cf06ec SHA512 b3421b7972a226660e475616bfc23fffcba825516e14b5267e8410fd178031e848bd7a69128c04f1188c0b75de39e6155cd480649b87a21ab650c2874765ccc7
+AUX libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch 1439 BLAKE2B e5d837f6f7af00fa6b7d3ef94ba0cdcd6120a17c17f52986df451ff2a66a019526f480cdd71592ea89c0629277c751f84b6f79c898d20017d454eda790ce0c66 SHA512 106e029750ed185c823e1759ead99520f628a52a00926cb5a09ee941e4b51cbbdbc91d4b95294eb9225459cb47bbde402b017016ea4ab177b4ba15c2decea90a
AUX libvirt-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_in_libvirt-guests_sh.patch 988 BLAKE2B 5936eafa5c300edad7ed368ec13063d31aea59e3daefeac59cf515ea44667f61aa63b0e2c2a5c88ace24c48cc132789cc5fa1a7c6c04c17e9ac61b114778e46d SHA512 5b80a5ec2898c1c821d0d49b9de67a256f82cb60879215ddde07c2a51f2e8a8b6893fec65617c27edec50cd51a362fb1fcdd21827e8de954f26879adcfa12418
@@ -22,15 +23,18 @@ DIST libvirt-10.2.0.tar.xz 9466588 BLAKE2B 7ee6f4bdbb6a22f1b3c5c0326d41e269e8a5a
DIST libvirt-10.2.0.tar.xz.asc 833 BLAKE2B 34031ed3c1896d3bb86d05b3efc158a48a70084bd6ea0308df779c351142e0f04395f62d62b4bb225c731a6f259f7ccb950428292691a656799eed06ecb2c3b2 SHA512 d366b0b64642f3358bdaee0ed5e06c4c3eba8b5ce2d1791f3d83d74c139a00282e45d7382af26706657c18e32ab956761d26f5b8595e32ad545c2f27f214fb76
DIST libvirt-10.3.0.tar.xz 9476852 BLAKE2B 8c47840113904d72aeb1e9bf900a99a8b0e3d41391c9a8fee4277f2793f18fefc50d113e8cbea52dedfd03b93f430416bcd25fe90ee6820c95ac6f468b84212f SHA512 dd2b151a19877e57e11b582b1c11542319f8b7b7cd3d7d51304442aa7d5eb1a8490d2887d340191c3ecc561320ea453773763083364579de0a40ada9c244fc59
DIST libvirt-10.3.0.tar.xz.asc 833 BLAKE2B 4d54a3701a15383464e1be5155344f783cd2fe297f2a7cfd4ef9ead7cef9267122e91e16d08329e2448ffe77f10625a3fa3443bbeab97ba8fc83ec6e4ec250dd SHA512 d32bbc2a36b03eccfc931c3e5accae2d4ed5a59e4d40fc44f8fb269684201097ea03e0afcf6eae124efac7b8c43d32e4e79d276c13ea81809acd40b97ef3ceb9
+DIST libvirt-10.5.0.tar.xz 9530296 BLAKE2B 59b6b114e6d4c4752839775ec22b17f530ac86f0252647b312b7f98e9ba856d949727eed5cb47b6b92589e2ce2587fe02505d6653a4e7ba3a3685b5c81a8ebc0 SHA512 e4976849cff7bdae0b7fda0644490f0ca743efc11c35a2fae45bb0f6f467b85644c1d04d1f3d1b10affdc6d9b8dcc0a3c255e527e0bdd73cdd4d1c81d5c418e7
+DIST libvirt-10.5.0.tar.xz.asc 833 BLAKE2B 38b1138de7585e85b7d0a7a93d487e39552b9db989063c3d354f608e005640aaf27c82e99bdaca0448c9a325349c16e3850ceedec380d3d73de4402cdbaad260 SHA512 f764b5cb9cd520b2a73ada3f2438524792c8c8477727fceb5a56ab7fdae8586308998f2fea21071d2e2dae7d168c6dddb5468f302d9f3bac804d6c8e153b760c
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-r2.ebuild 9840 BLAKE2B 0cc9d81a2fa9f74355560ef17f7005931f874d4b6bcd799bbe1af7862d3fef9d68374b320b32f98b9bc6c6f6bd4dd8a9fe404654c0401f7ad7bf278b8afb4997 SHA512 477ba2d7798e39415c49be78d565d49073b8d3a761ee84595ee437762871528cb4b1e9f98b5efb604e34ccf6ba6ff696468be30e31c16cac36f2b33e8fe098b6
-EBUILD libvirt-10.1.0-r1.ebuild 9752 BLAKE2B e05dab356abdabe52c86e6e1ee66250d46822e0f3050346ffc2cd1bb11e659b34ff95bf0cb9ffd2a1cc3c3caa32819f59dd858724c010c62248eb49a440154ce SHA512 2b4aac8c51b6cb20a5f376ed03d5732bce77e13a3e94665e8b9a06464728584eee7073047e74286242f87f65125ae47434221d3360c5bdd94cdab51c93d769c3
-EBUILD libvirt-10.2.0.ebuild 9669 BLAKE2B dc7a46969bc1953510aca74d89fe8b5c722748d17830d68e7757218ddcac8bd76e63e8d547c306805c28975f4381e6eb2ecc2c6b4d0e85eaac3c39cb20bee759 SHA512 b47d62f03dca319db5da424efd382227aa507c4e651383655d96c82a5fa870b1efae767fd24b7aa9dcd0da4cb2d5765770ee5b182ea009b16f86d5adf1a67154
-EBUILD libvirt-10.3.0-r1.ebuild 9737 BLAKE2B c83c8b832a7b799267223af96aa694e6e66aff1a07e7d7c1416714ba93a93c306a27161d8adfb9b29dec4ee641777565587c5037c9b79838b6a181c3bccff083 SHA512 2bbc1c5314aaf36fd54336231ab660c0d4abf3e918d94f2b72d40c846376ba2722ecdb77761d9d35d214f44a41cec03588a8ada0662314f1a70ec1fd772cebc5
-EBUILD libvirt-9.8.0-r2.ebuild 9647 BLAKE2B e8118d9d46ac98ad406421fb37f428ccea980cbad40e66d765bb6711c4e75f390cf93560d9be5f0826db4ea52d251bef7f4f43b693fcc903c77add4180d52143 SHA512 17ec206969afb23d01ab0568776475d9d2ffba610382bfba5289825b3c9e4975d2239601ffaf1c48f9a15088779e90b42831c8e3c6cb0355add60f66570ed9d2
-EBUILD libvirt-9.9.0-r2.ebuild 9701 BLAKE2B 9c9ad40d523b3c36cc37cf1beeca8014e528270484ec88f15984bdca00abde541c0ef4cd1677788af30dc1ee1a206168c9ca894c4e8abeb649170e4903b0ce0c SHA512 4236b7d848c2e01009837bdfefcd81fedd1e95ecae24829473afcbd364fcaf378858dc3fad8cf0a93c5f00dcc7e18ee71b160d26229e5fe9499c8e7b5b3dc3d5
-EBUILD libvirt-9999.ebuild 9669 BLAKE2B dc7a46969bc1953510aca74d89fe8b5c722748d17830d68e7757218ddcac8bd76e63e8d547c306805c28975f4381e6eb2ecc2c6b4d0e85eaac3c39cb20bee759 SHA512 b47d62f03dca319db5da424efd382227aa507c4e651383655d96c82a5fa870b1efae767fd24b7aa9dcd0da4cb2d5765770ee5b182ea009b16f86d5adf1a67154
-MISC metadata.xml 3930 BLAKE2B 20ba8d6fd52d7c76800ab3ef487b2649d51a99bf1c2399bf48396646816b632a970ebeef44d8049f98b75e16c1cf6da6ae4ecdb0b0d0e7b014c31885432bb027 SHA512 459c957baf217b156a6d016c880f9071c53688179d66d309409c373662541f62bfd55812b8e67fdc4e0de56efb61f0800438000c5eb3b8aae99bb7000cfef773
+EBUILD libvirt-10.0.0-r3.ebuild 9930 BLAKE2B 06705c5c3d13a3bedea86cf6688ef5c32124712743b84cc3409154d3d934e3c7ffa4bf3ad47a00fd5e4f6b35b2f93a380553e52113ec32c403aed3a3213cd4e7 SHA512 e74039a6b74013684c6dc8edeca5fbd0d1fc048582a542ef7877e7eb95c0a6dff003635ef3719d1848234eeec650bcc6ec29035d742186beb5681ab3586926e4
+EBUILD libvirt-10.1.0-r2.ebuild 9841 BLAKE2B 3387759f2bc63538ee4d22aaac24f2835c2da1bb9a5c7429ee942383326f99c74d670c030ea150667838b52de167805c05b102b46ca2adfd88d6a815e61f9ef9 SHA512 9ec2f0b858266367803b6a3c62caf6e5bc7c88678da3ca216b49d9011913b94a4a4a8b932d0be0a6fd09d3eed2444cf621cf9dbe463e3917b72da0ca968e8d8d
+EBUILD libvirt-10.2.0-r1.ebuild 9758 BLAKE2B 5809d2cb5526bad269f1d1198c776cf799291256e0f0295b29d0bfc0a5c31f649f251420c41e5c7640933d51eea5902c12c92462e9c11eec7619ab76468501ad SHA512 ee0af5a11be55f42e82d878000f9ecabb1ca28e6eeb36846f2abbad81e5a9f5a0c61dd2455cb6cd82d7547980d5b073d9344c5ea91ae2cfb415cdd6b6ae64186
+EBUILD libvirt-10.3.0-r2.ebuild 9826 BLAKE2B df7818a86b66c2b6a100d955e129d4adad76e3bb8dd9f248f1594c60e560a1e4fc87a7a602e71836ad1cfcf123f7c6e8c7faae5f0a421750ba7a699d1d6057d1 SHA512 a43f74cb62944fd42c93a2adcfc06941a6601b8e76796d5aa52ecd8f835ea4985b5370a718eb5b344b711796ec3995b76d848f47c976b5650d5603298d174e7c
+EBUILD libvirt-10.5.0.ebuild 9708 BLAKE2B 627c86e596cc07cada2cd787eb8a30f0cc34135d5bdabeb37d73c55672d8ac9145b0bf27d9a028ba9250f4492033429d86b6f72aa5eee559fd3d998894aef51d SHA512 1e768c40359032f620e97a4281b33ee3cc43fd2bf4a8a7cf1a5ddf72798d718d8f45ca4d00300bb5ee4c5979611e16e27cbd1861f924a02a2765266ac31696f2
+EBUILD libvirt-9.8.0-r3.ebuild 9734 BLAKE2B 49cc04e4aa366554cd6b401bee166fc5a22477fc012591f8f8276fc314fa393c6c617f5b4b7fe57e6405bf5299c45003593e7fae1b93ac776b8025b826b73182 SHA512 6a4838e55b16e5ff628cb89942002f69872a2937d3ef5e6bfcccc1a3502676e750b77b9f505f5d675d32057171e1bda7c9cff1581fe3310b7021f5d8213773d5
+EBUILD libvirt-9.9.0-r3.ebuild 9788 BLAKE2B 6ddcff5c97731919c9e31928f2a1d91f9f755799c9ec8d0629b250631b8e385ace20ed5d28f27332dc69fe35acfce8b2e02b56a5164eeb75eee8a274f41c5c34 SHA512 998f07a91bb1a41ff8b0c1fcdb771d6c2827472a1044b8dd1c7d8315d66a7a9cbd2ee1dcdf071dcdc622754e934ccf973a71373ce5736b5b5d680d3611971cde
+EBUILD libvirt-9999.ebuild 9708 BLAKE2B 627c86e596cc07cada2cd787eb8a30f0cc34135d5bdabeb37d73c55672d8ac9145b0bf27d9a028ba9250f4492033429d86b6f72aa5eee559fd3d998894aef51d SHA512 1e768c40359032f620e97a4281b33ee3cc43fd2bf4a8a7cf1a5ddf72798d718d8f45ca4d00300bb5ee4c5979611e16e27cbd1861f924a02a2765266ac31696f2
+MISC metadata.xml 3822 BLAKE2B badb40564def06854a0c3af011b5de2888d722996c9b15df570a709161e49796f3d76ba2365c4adc1724f16bee3518d0e87ed6d2619d505b5ba2f1fd02c90f34 SHA512 f31e86b4d0c1faaf5bf0ac253cf20ce7728b94841debb590356efc0fa1e1a3d095a94e69ce0a34f793faadf10ed00ae1212aac54d13288f1975db4f032fd8b50
diff --git a/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch b/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
new file mode 100644
index 000000000000..ed41fccddbe6
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
@@ -0,0 +1,33 @@
+From 893800be49d2d58f78c96e4f06d9f24188cb8946 Mon Sep 17 00:00:00 2001
+Message-ID: <893800be49d2d58f78c96e4f06d9f24188cb8946.1720330325.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Thu, 4 Jul 2024 13:07:47 +0200
+Subject: [PATCH] virt-aa-helper: Allow RO access to /usr/share/edk2-ovmf
+
+When binary version of edk2 is distributed, the files reside
+under /usr/share/edk2-ovmf as can be seen from Gentoo's ebuild
+[1]. Allow virt-aa-helper to generate paths under that dir.
+
+1: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild
+Resolves: https://bugs.gentoo.org/911786
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+Reviewed-by: Andrea Bolognani <abologna@redhat.com>
+---
+ src/security/virt-aa-helper.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
+index 402cbd9602..a3f85d26b0 100644
+--- a/src/security/virt-aa-helper.c
++++ b/src/security/virt-aa-helper.c
+@@ -475,6 +475,7 @@ valid_path(const char *path, const bool readonly)
+ "/initrd",
+ "/initrd.img",
+ "/usr/share/edk2/",
++ "/usr/share/edk2-ovmf/", /* for OVMF images */
+ "/usr/share/OVMF/", /* for OVMF images */
+ "/usr/share/ovmf/", /* for OVMF images */
+ "/usr/share/AAVMF/", /* for AAVMF images */
+--
+2.44.2
+
diff --git a/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild b/app-emulation/libvirt/libvirt-10.0.0-r3.ebuild
index 6ef0ed221ed8..e1f5b32c94f2 100644
--- a/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild
+++ b/app-emulation/libvirt/libvirt-10.0.0-r3.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -154,11 +154,13 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
"${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
"${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
)
python_check_deps() {
- use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- return 0
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
}
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.1.0-r2.ebuild
index f3cc8929a599..4b7123665d73 100644
--- a/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild
+++ b/app-emulation/libvirt/libvirt-10.1.0-r2.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -153,11 +153,13 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
"${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
"${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
)
python_check_deps() {
- use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- return 0
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
}
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild
new file mode 100644
index 000000000000..f888ab84e3c8
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+PYTHON_COMPAT=( python3_{10..13} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://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 nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
+"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ firewalld? ( virt-network )
+ libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ virt-network? ( libvirtd )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
+
+BDEPEND="
+ app-text/xhtml1
+ dev-lang/perl
+ dev-libs/libxslt
+ dev-perl/XML-XPath
+ dev-python/docutils
+ virtual/pkgconfig
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
+
+# gettext.sh command is used by the libvirt command wrappers, and it's
+# non-optional, so put it into RDEPEND.
+# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
+# package will use 3 by default. Since we don't have slot pinning in an API,
+# we must go with the most recent.
+RDEPEND="
+ acct-user/qemu
+ app-misc/scrub
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
+ dev-libs/libnl:3
+ >=dev-libs/libxml2-2.9.1
+ >=net-analyzer/openbsd-netcat-1.105-r1
+ >=net-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
+ >=net-misc/curl-7.18.0
+ sys-apps/dbus
+ sys-apps/dmidecode
+ sys-devel/gettext
+ >=sys-libs/readline-7.0:=
+ virtual/acl
+ apparmor? ( sys-libs/libapparmor )
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap-ng )
+ dtrace? ( dev-debug/systemtap )
+ firewalld? ( >=net-firewall/firewalld-0.6.3 )
+ fuse? ( sys-fs/fuse:= )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
+ iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
+ lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
+ nfs? ( net-fs/nfs-utils )
+ numa? (
+ >sys-process/numactl-2.0.2
+ sys-process/numad
+ )
+ parted? (
+ >=sys-block/parted-1.8[device-mapper]
+ sys-fs/lvm2[lvm]
+ )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
+ policykit? (
+ acct-group/libvirt
+ >=sys-auth/polkit-0.9
+ )
+ qemu? (
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
+ )
+ rbd? ( sys-cluster/ceph )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
+ selinux? ( >=sys-libs/libselinux-2.0.85 )
+ virt-network? (
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
+ net-firewall/ebtables
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-misc/radvd
+ sys-apps/iproute2[-minimal]
+ )
+ virtiofsd? ( app-emulation/virtiofsd )
+ 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}
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
+)
+
+python_check_deps() {
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_setup() {
+ # Check kernel configuration:
+ CONFIG_CHECK=""
+ use fuse && CONFIG_CHECK+="
+ ~FUSE_FS"
+
+ use lvm && CONFIG_CHECK+="
+ ~BLK_DEV_DM
+ ~DM_MULTIPATH
+ ~DM_SNAPSHOT"
+
+ use lxc && CONFIG_CHECK+="
+ ~BLK_CGROUP
+ ~CGROUP_CPUACCT
+ ~CGROUP_DEVICE
+ ~CGROUP_FREEZER
+ ~CGROUP_NET_PRIO
+ ~CGROUP_PERF
+ ~CGROUPS
+ ~CGROUP_SCHED
+ ~CPUSETS
+ ~IPC_NS
+ ~MACVLAN
+ ~NAMESPACES
+ ~NET_CLS_CGROUP
+ ~NET_NS
+ ~PID_NS
+ ~POSIX_MQUEUE
+ ~SECURITYFS
+ ~USER_NS
+ ~UTS_NS
+ ~VETH
+ ~!GRKERNSEC_CHROOT_MOUNT
+ ~!GRKERNSEC_CHROOT_DOUBLE
+ ~!GRKERNSEC_CHROOT_PIVOT
+ ~!GRKERNSEC_CHROOT_CHMOD
+ ~!GRKERNSEC_CHROOT_CAPS"
+
+ kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
+ ~DEVPTS_MULTIPLE_INSTANCES"
+
+ use virt-network && CONFIG_CHECK+="
+ ~BRIDGE_EBT_MARK_T
+ ~BRIDGE_NF_EBTABLES
+ ~NETFILTER_ADVANCED
+ ~NETFILTER_XT_CONNMARK
+ ~NETFILTER_XT_MARK
+ ~NETFILTER_XT_TARGET_CHECKSUM
+ ~IP_NF_FILTER
+ ~IP_NF_MANGLE
+ ~IP_NF_NAT
+ ~IP6_NF_FILTER
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
+ # Bandwidth Limiting Support
+ use virt-network && CONFIG_CHECK+="
+ ~BRIDGE_EBT_T_NAT
+ ~IP_NF_TARGET_REJECT
+ ~NET_ACT_POLICE
+ ~NET_CLS_FW
+ ~NET_CLS_U32
+ ~NET_SCH_HTB
+ ~NET_SCH_INGRESS
+ ~NET_SCH_SFQ"
+
+ ERROR_USER_NS="Optional depending on LXC configuration."
+
+ if [[ -n ${CONFIG_CHECK} ]]; then
+ linux-info_pkg_setup
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ touch "${S}/.mailmap" || die
+
+ default
+ python_fix_shebang .
+
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
+ # Tweak the init script:
+ cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
+ sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
+ -i "${S}/libvirtd.init" || die "sed failed"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature apparmor)
+ $(meson_feature apparmor apparmor_profiles)
+ $(meson_feature audit)
+ $(meson_feature caps capng)
+ $(meson_feature dtrace)
+ $(meson_feature firewalld)
+ $(meson_feature fuse)
+ $(meson_feature glusterfs)
+ $(meson_feature glusterfs storage_gluster)
+ $(meson_feature iscsi storage_iscsi)
+ $(meson_feature iscsi-direct storage_iscsi_direct)
+ $(meson_feature libvirtd driver_libvirtd)
+ $(meson_feature libssh)
+ $(meson_feature libssh2)
+ $(meson_feature lvm storage_lvm)
+ $(meson_feature lvm storage_mpath)
+ $(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
+ $(meson_feature nls)
+ $(meson_feature numa numactl)
+ $(meson_feature numa numad)
+ $(meson_feature openvz driver_openvz)
+ $(meson_feature parted storage_disk)
+ $(meson_feature pcap libpcap)
+ $(meson_feature policykit polkit)
+ $(meson_feature qemu driver_qemu)
+ $(meson_feature qemu yajl)
+ $(meson_feature rbd storage_rbd)
+ $(meson_feature sasl)
+ $(meson_feature selinux)
+ $(meson_feature test tests)
+ $(meson_feature udev)
+ $(meson_feature virt-network driver_network)
+ $(meson_feature virtualbox driver_vbox)
+ $(meson_feature wireshark-plugins wireshark_dissector)
+ $(meson_feature xen driver_libxl)
+ $(meson_feature zfs storage_zfs)
+
+ -Dnetcf=disabled
+ -Dsanlock=disabled
+ -Dopenwsman=disabled
+
+ -Ddriver_esx=enabled
+ -Dinit_script=systemd
+ -Dqemu_user=$(usex caps qemu root)
+ -Dqemu_group=$(usex caps qemu root)
+ -Ddriver_remote=enabled
+ -Dstorage_fs=enabled
+ -Ddriver_vmware=enabled
+
+ --localstatedir="${EPREFIX}/var"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
+ -Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ 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-10.3.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.3.0-r2.ebuild
index d632f3bc2d3e..1bdfb61feab9 100644
--- a/app-emulation/libvirt/libvirt-10.3.0-r1.ebuild
+++ b/app-emulation/libvirt/libvirt-10.3.0-r2.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -153,11 +153,13 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
"${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
"${FILESDIR}"/${PN}-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
)
python_check_deps() {
- use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- return 0
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
}
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-10.2.0.ebuild b/app-emulation/libvirt/libvirt-10.5.0.ebuild
index b02aa7c5b956..6c1f35a42d3e 100644
--- a/app-emulation/libvirt/libvirt-10.2.0.ebuild
+++ b/app-emulation/libvirt/libvirt-10.5.0.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -116,7 +116,10 @@ RDEPEND="
virt-network? (
net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
+ || (
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-firewall/nftables
+ )
net-misc/radvd
sys-apps/iproute2[-minimal]
)
@@ -155,8 +158,9 @@ PATCHES=(
)
python_check_deps() {
- use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- return 0
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
}
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.8.0-r3.ebuild
index 500ab7f572ad..2da56ec3143d 100644
--- a/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild
+++ b/app-emulation/libvirt/libvirt-9.8.0-r3.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -149,6 +149,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
"${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
"${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
)
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.9.0-r3.ebuild
index 684c0dc7afe2..18388bf95abe 100644
--- a/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild
+++ b/app-emulation/libvirt/libvirt-9.9.0-r3.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -150,6 +150,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
"${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
"${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
+ "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch
)
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index b02aa7c5b956..6c1f35a42d3e 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -10,7 +10,7 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
@@ -116,7 +116,10 @@ RDEPEND="
virt-network? (
net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
+ || (
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-firewall/nftables
+ )
net-misc/radvd
sys-apps/iproute2[-minimal]
)
@@ -155,8 +158,9 @@ PATCHES=(
)
python_check_deps() {
- use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
- return 0
+ if use test; then
+ python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]"
+ fi
}
pkg_setup() {
diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml
index 16610185fea3..8cedbefdaddc 100644
--- a/app-emulation/libvirt/metadata.xml
+++ b/app-emulation/libvirt/metadata.xml
@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>michal.privoznik@gmail.com</email>
<name>Michal Prívozník</name>
</maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
<use>
<!-- Pool backend flags -->
<flag name="iscsi-direct">
diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest
index 4e3de10a2a1b..769421ea6cef 100644
--- a/app-emulation/open-vm-tools/Manifest
+++ b/app-emulation/open-vm-tools/Manifest
@@ -8,6 +8,8 @@ AUX vmtoolsd.service 244 BLAKE2B 65bf0e80b580c2c29a06a2cbf37f8428dbfe03404cea92d
AUX vmtoolsd.vgauth.service 312 BLAKE2B dba8ddb1b701cea490b117d08c93738a38bd668cf5444501bad8aabc503da4b87e53103a26ca4664247f14582c5546a28f093768833182581a850f0c50bc61e3 SHA512 fce9af2a3b98bf1fd5063af6c0d00bac7eba4ca02456d9266be5b74f2dea168521ffd44c38df1e28b0684f7ce21e4cb44ec2570fcbe01ff2ef432b55ede585f3
DIST open-vm-tools-12.2.0-21223074.tar.gz 4365836 BLAKE2B ecac1ada523b9ba6e6f9e880f700a9c35200e9093c81f3367ce3b196365166f682f7d8ba290f624417b83c3573894020fe6b4cbd82a117412ebe80df283f32db SHA512 d663d8ea455264cad7d3eaac16c5d08672e8e10f7a9171be40fff69e208ae697bc0e8af498c978d8de470ed273351b42c54994b2c552fdc05b828c80f4826b84
DIST open-vm-tools-12.2.5-21855600.tar.gz 4365531 BLAKE2B 1df621aea3d349af45c41268f3ab9ef6dc012bc7b74b8ff399a3819f75c92b408f272c03e31ff74d7f1aceda8a88e5755064236b87403d8ef2717567de174434 SHA512 72db3b88f61624d26e8ff7e37e4fc52ecd0bec0b6f076d935870c03312321c5e0b406d05eae7012872734a50626ed760dff2cf872e26ec18ebf200aff5ed12ef
+DIST open-vm-tools-12.4.5-23787635.tar.gz 4356612 BLAKE2B 59fab76bc740d6c8e8b76f8c2379f751a62a4d4c01add9520acafbd5601d9490c7fb7d5a3631d1198c811be33b1bd7c7b381de2f9a8f703ceec21aab6331797a SHA512 dd90622a0f1c773ed217040788a1bdbfba1e60256d4e5159a2557155f6ac642ab71488044860e417cdd853aad77a6495b98e8fd02f9755be90cc1dc71c840a3c
EBUILD open-vm-tools-12.2.0.ebuild 3128 BLAKE2B ab78214990b104daeb5e6c8263b7eee4796a86356e2aa7272491ba3f54727c95d35f236a4a05a1f90ba1e27b051197690b407c1f3367438e1d50b2eeaf7bc3f5 SHA512 77e64de267aa15f43e17976d7fdde7818e592a0351f903919845adeb0bbbb86a659d1a5460dfa2fe8442a2b58460d2265104c3050d78b8bccfbdfa64068572d1
EBUILD open-vm-tools-12.2.5.ebuild 3135 BLAKE2B f6f2da4bab1ed8c7cd459bace91db1c70245b1c48ea4c5f2c50f89c8463b2d8e3b965d9bf36a052fc2b07b26afbca20b4539cfe259fb21b5858cbd5e0c5a74d7 SHA512 ddf28211bc51d1788c0c94c6e60008714f0304ea161d2aac29483d4109be4cef76e622403901ec176a94ce4047286d741701894bc3952232accda0284b94dac0
-MISC metadata.xml 1076 BLAKE2B f876701320da0a9876ac7716e738e95ebfb388cfaa8eabc5f0c5e8a21ecd4d6c182aa9243c49a455c7e44e4c5da57cdaa2a8a9012fdcf5a220b5d82bc06513a3 SHA512 2fec9ab4a73acd5843416be24661a22b1b257dca75e1fc7a2a79336a79762e1cb3ec7f9e00abfedee640ff950bce2d5b6b1385d36d62b0c6975a3df022b46d90
+EBUILD open-vm-tools-12.4.5.ebuild 3035 BLAKE2B ad4feedf33b55b705d5c69d01f3f41a80a380fca43737fc118b4b5192922410d19a8020c3adbe080aa6605c34cd9a5af8664f463074bba07287a1c3197624c4b SHA512 5bf46280861bc9a9ade384e59952b5bf4a92410fc3e77652fc180d85c79ba7cfe82df2bffdbc0bdc6333bcea3d07eac7507e48003b3b42e9afa861ed3e92fe31
+MISC metadata.xml 1153 BLAKE2B ee86cf0478cb11314cee973b0df974c915e79bf8e5ed42907b91cd3ee867ed7441fac261b759341ab0f4214f1665b8f2b6a4a88ceea4d6b463eaf87040cd6fdf SHA512 c5b0ae47bcf9f1e2dac7238772d9a70235deb8d15bb9c0dc702b1f8f2b922070651b6010b6a83fa4fe8406e7a7a844e53dc85615fdc8c73e1e3763add12f6b6c
diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml
index f53e431f81a1..85076593c086 100644
--- a/app-emulation/open-vm-tools/metadata.xml
+++ b/app-emulation/open-vm-tools/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>soap@gentoo.org</email>
+ <name>David Seifert</name>
+ </maintainer>
<longdescription>
The Open Virtual Machine Tools (open-vm-tools) are the open source
implementation of VMware Tools. They are a set of guest operating system
diff --git a/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild b/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild
new file mode 100644
index 000000000000..96a3b32786df
--- /dev/null
+++ b/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild
@@ -0,0 +1,140 @@
+# Copyright 2007-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools linux-info pam systemd udev
+
+MY_P="${P}-23787635"
+
+DESCRIPTION="Tools for VMware guests"
+HOMEPAGE="https://github.com/vmware/open-vm-tools"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth"
+REQUIRED_USE="
+ multimon? ( X )
+ vgauth? ( ssl )"
+
+RDEPEND="
+ dev-libs/glib
+ net-libs/libtirpc
+ deploypkg? ( dev-libs/libmspack )
+ fuse? ( sys-fs/fuse:0 )
+ pam? ( sys-libs/pam )
+ !pam? ( virtual/libcrypt:= )
+ ssl? ( dev-libs/openssl:= )
+ vgauth? (
+ dev-libs/libxml2
+ dev-libs/xmlsec:=
+ )
+ X? (
+ x11-libs/gdk-pixbuf-xlib
+ x11-libs/gtk+:3
+ x11-libs/libSM
+ x11-libs/libXcomposite
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ gtkmm? (
+ dev-cpp/gtkmm:3.0
+ dev-libs/libsigc++:2
+ )
+ multimon? ( x11-libs/libXinerama )
+ )
+ dnet? ( dev-libs/libdnet )
+ icu? ( dev-libs/icu:= )
+ resolutionkms? (
+ x11-libs/libdrm[video_cards_vmware]
+ virtual/libudev
+ )"
+DEPEND="${RDEPEND}
+ net-libs/rpcsvc-proto"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/10.1.0-Werror.patch
+ "${FILESDIR}"/11.3.5-icu.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3 ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS ~FUSE_FS"
+ use X && CONFIG_CHECK+=" ~DRM_VMWGFX"
+ kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ eapply -p2 "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-glibc-check
+ --disable-tests
+ --without-root-privileges
+ $(use_enable multimon)
+ $(use_with X x)
+ $(use_with X gtk3)
+ $(use_with gtkmm gtkmm3)
+ $(use_enable doc docs)
+ $(use_enable resolutionkms)
+ $(use_enable deploypkg)
+ $(use_with pam)
+ $(use_enable vgauth)
+ $(use_with dnet)
+ $(use_with icu)
+ --with-udev-rules-dir="$(get_udevdir)"/rules.d
+ )
+ # Avoid a bug in configure.ac
+ use ssl || myeconfargs+=( --without-ssl )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ if use pam; then
+ rm "${ED}"/etc/pam.d/vmtoolsd || die
+ pamd_mimic_system vmtoolsd auth account
+ fi
+
+ newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools
+ newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools
+
+ if use vgauth; then
+ systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service
+ systemd_dounit "${FILESDIR}"/vgauthd.service
+ else
+ systemd_dounit "${FILESDIR}"/vmtoolsd.service
+ fi
+
+ # Make fstype = vmhgfs-fuse work in fstab
+ dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse
+
+ if use X; then
+ fperms 4711 /usr/bin/vmware-user-suid-wrapper
+ dobin scripts/common/vmware-xdg-detect-de
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest
index 672896692057..fe46954930b3 100644
--- a/app-emulation/qemu-guest-agent/Manifest
+++ b/app-emulation/qemu-guest-agent/Manifest
@@ -6,4 +6,4 @@ AUX qemu-ga.init-r1 624 BLAKE2B 79416a272a89349e4174a4238fc7763fc1f116c7c4a2e7c4
AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a0679a90805919aa4b7afac4f1d0c3bac72fcc5c7c0e0d87b227be8b1697338b827c890c56be77b07db SHA512 0fb39dd7ee528b36d8e837fbc53ba69476ba83947a4df10a9df03a02861a37d21f53865adbd3050c24aad72ec8a8bee1fb33f7382213d855884aff109f3c3789
DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c
EBUILD qemu-guest-agent-8.2.0.ebuild 2053 BLAKE2B 4474e50a807f1e4e4b5c8f38a1ea5e79f7a2341d05f1cb3b330e9404b34521044338e0f0bf03017a3c1d8fb3be1abd183575388cf6b712364261133f79d3e3bf SHA512 82c4e6f1734c1fa331b6e6eb935daa9679e1dc9c858f516d2dd356fe1763f8ffbee805e0c52b1b76914714758996f576dfa0711216ceb38b3f2aabb99cdb6036
-MISC metadata.xml 588 BLAKE2B 32aa23e19bdc88885534d8b58c9ad1aeabbcb94b4deb064c8cb10c72bc57999a677c8cdf9dd0fd389bd64a9b1a5dc379a20235a191e58f67ea671b5a7b92a1a8 SHA512 aee2dc28a40e0a68196eb4cff9450e6bc940565ee37d4405690e943c63ca9c05b66dcd6af69dbbdd6274cd4ac1c1b833ff15af4f3071ed0a2cd07358ac985866
+MISC metadata.xml 480 BLAKE2B f04779f98156bb579169dcda6554134eaac4416f220a2356c145ba1ad57015e52cd2e1a9c392ccf7e2eb5aed6861ab24a3934dd9f4105a988eac1d8f43b2c7b1 SHA512 1830b7c53f4dc956c2c05e99af81b2a3883e6f7ee092dedd21c4c338bff71f16822d8dd0f7b1ea67a19bad9d8cc6cb2c5952c8f2a88b270acaed55ce39479a09
diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml
index 8995a7240036..98b9302d34d7 100644
--- a/app-emulation/qemu-guest-agent/metadata.xml
+++ b/app-emulation/qemu-guest-agent/metadata.xml
@@ -9,10 +9,6 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
- </maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index a7d1823b703a..aeb7487a6716 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -23,7 +23,7 @@ DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
DIST qemu-7.2.11.tar.xz 121877020 BLAKE2B c546773b9ac7809b39a3afa51da5b1c06c3765fadb4df9d8529f8af65c26098676adf8e516620ca1b39201fa859878780edb56a445778e105cbe7db0f52b9f6a SHA512 c77ff1505128c05fe39eaa95cc11e4d2279bff06093acd613e54f71d4a13144f905551eec1d044c3a3fb751d3369c01d131d68c18b15d9a04bcc77370d93c217
DIST qemu-7.2.12.tar.xz 124399872 BLAKE2B df0afc8de23f3df7b0ada301584f1d96c7add69ec16755c5b75eced88827ec2719ba79c9191da5c77f00872bf2c492b24b08f310954e5ca97249debd5e520cda SHA512 239623f6f3c15b85ce8da27adb8123886a2b56971742d2a11cde58b0dfac40de1592e1e33591306b830c5cee051d11b00d1bdccf414cc7b111dab79b65b1cf92
-DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b
+DIST qemu-7.2.13.tar.xz 124399088 BLAKE2B 7d0b86862e663b20e918a211f661aff0bf8eeb480cffef9eba51c819d817368db33989bcc4f1673dd278d1f0f91f7991e22a24fca828559d8da225fdb8a1836b SHA512 be6a1d2efb111c09456be97a431a8881667b0a1d356a9901e6582b9720143826d4719778c228eb342ec865b5a3dc21444ebe296be56e1edafd16ab1b3aef3ae2
DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054
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
@@ -31,17 +31,19 @@ DIST qemu-8.1.5.tar.xz 124007248 BLAKE2B 0d5db3e18c4dc1035fed442116be98b7e7bbfae
DIST qemu-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5
DIST qemu-8.2.3.tar.xz 130106716 BLAKE2B 2ec91b5111952434686064bd603880d87c4f56774d2478ee953eb0454e2b14235b1d1cca484e015b96bceae3182f90b856d222ca590059032b4989babf1dffe8 SHA512 28c789d84754b26cd86ded9db8464ec82f07cdc3b1025a988e74b8c5b05df8839a3e9990ff96cfba50e032dd967e9dc18cf75f3525baeadd0fa019cb69108d0a
DIST qemu-8.2.5.tar.xz 132743988 BLAKE2B 24da4350cfe5a46771ea257b7baba48f02465c87e819ad3cc0557c06814f24f442ba3b97661af74d5235e31e7883b7c62d108e3180f7ce9e4be524ec966d07d0 SHA512 b95de309d790033452687b488ba869940bc40862ebbc9d91edbeee840e4ffc0b4cae43e1bfcd00f5534da126c62072b7b5309da6d74d30ba537e4c7b430f4255
+DIST qemu-8.2.6.tar.xz 132750000 BLAKE2B da5fdb03fcb44cf764d2ccaf9011b726e5c152d8659ca91550cd04b3e578e7f9bf2cc050b38a64055103775e64303ae949cf7e2cde5508f8a4b976d1311631c5 SHA512 ba702306df0c2a6744fff6fdca5f251ebc572230ee4674113433c74f74187ba33457ea9716d9023aa48cc1e6887af132a2877c30ea098da9ed23e95d4691b88b
DIST qemu-9.0.0-docs.tar.xz 2290196 BLAKE2B 82d22637ff2629bee372550e86651f12051ea6b4a57e314ef83f290425d4973ef01827eaf28a85b635788f22cb7cc1c747438b7525c92c99b90b234fb8f7655c SHA512 7c0ba1f3e7bbaa4e3feebc33a1946a5c190f2c14b9ed78b15c1f642668c8124960f8c85bcf36fe54a10d4edef47d2256e500f06d9173b92b03c599811a15a073
-DIST qemu-9.0.0.tar.xz 129789856 BLAKE2B d92acb859d9ce5097fee27a4689c71869aa38f65eb0308547956d54bd8caf29efe5389d9009f334f109ad228e0ef1f1fd1444d26360f03fac4320b204b657081 SHA512 1603517cd4c93632ba60ad7261eb67374f12a744bf58f10b0e8686e46d3a02d8b6bf58a0c617f23a1868084aaba6386c24341894f75539e0b816091718721427
DIST qemu-9.0.1.tar.xz 132368412 BLAKE2B e96ae5cc3ee935dd31232d38d46bbdc74fd3a2a0dd8517c0e035757f3ded92712dfa68d0068cd8c37f314a92d237e2b4a725b509ba402b7a1ce92df63207a08d SHA512 6c120aaf52f15e79c32d883cc83df8fc83222d538ea6be9c19aaddfba0aef91479b5826bbc03e58688fba639cb24bc6f54e525ccc2404ed5d820766d11735210
+DIST qemu-9.0.2.tar.xz 132387528 BLAKE2B 6b5301f985919ae53e056410be7486b8150a65016127568bd4d58f596e94960d08eb3fc57cff7ff6a3435d71274adee516f57375d856d61b4fc7a3f24cbf75c4 SHA512 58ed84f6fe6263d279356bc9193f96edf62cf3663fb151daa3f047d52329fe49cb91c2d45e09697e0469f4f5409be96403aec9572d4871ffa40848a786c21599
EBUILD qemu-7.2.11.ebuild 27452 BLAKE2B 9f37430e0de665f367f45cdce0330a5b50a4cb651334d3705ba3e39025046ab32592726b1473a29955ef68590acbde524f9c0739d252d3e9584f08b9a567494c SHA512 3b0e445b7224d9d23b5bb9b2f53cbfc3a9076850e315f41b07b6444b27d050a2f258e1af462a998ceea67eefed9524bb57d69757ac7be336f06ddd6ea642d99d
EBUILD qemu-7.2.12.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
-EBUILD qemu-7.2.4.ebuild 27514 BLAKE2B 0ccea459f94ffad1deb29fd1007162e7ce852ce34267bca596d65e9fc40147ed16cd862a885a8623ee07a76e6c3934b0d893d4401179063414b421dbddd3fe2e SHA512 10a7b8272be6f0024dc23c3385e05be5e89d575c2bee0109676eebe2017efd88a17b070d33c2c20d05adfe37be3a6be5381c6d0190a09fc3f3a4d1677319a992
+EBUILD qemu-7.2.13.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
EBUILD qemu-8.0.5.ebuild 27478 BLAKE2B 31948c0d4905f5a81b576ef39d426d1716fb6fd2bedcce0b5c31455d9d2ca082381a799eab0bbd658045d2ebbc85eaed054dec24a4fb94178fef4f4ddb0d9b6c SHA512 5bb8276c53412d277d4ff17cf70ff5cf5679db8c6c51c67d68d953fa944b5087528f8cea325ce9e3d2be410851718f76f27b31415d5aaa56eef3b2c4abac5901
EBUILD qemu-8.1.5.ebuild 27401 BLAKE2B 1d3442b07c850a275cee38bf8d3651c91fcde30498922f7e95886d427d85e42d78119e5953410d46ea5746e725f46e630211bc37d485e0cf26eca6d32253af40 SHA512 7323757a44c98b5c99dcd6110ad236be2e50585fbc02acb9e4c1ed233fe385a6f6b92f24514c3064543511ef9f63a96c6b52d83eade7e12e9a5024c3c46d64c3
EBUILD qemu-8.2.3.ebuild 27906 BLAKE2B 67dd19fc597d5d6afe779edc2846dba758d85296b6e787ab920ca8f6e5f03399ae962c337bbaa9d8322fe61f8199f74ad4136df26648cc7885ba918b2ab9341f SHA512 4a39d66c089e7b6135950bb631d07be02e62487282ceabe5680bd329ff6bf78e8693248595e74c177228f37cbd4867b6cea3b558ce94da29969182f7836ccf95
EBUILD qemu-8.2.5.ebuild 27910 BLAKE2B 7fb78cf6a72e19f28af863aa0502fa964e90881997f64bbd4ac43fd3a2022f1f7daeb47117047230e9b1bbf3bae41b8fd43fa0a7a58599a0516c97bb64fea6fd SHA512 15cb3186c34cf9b328f62685c471af897e0b9fa40794fcf6db91becc0d35d2e9279bd1e76d68a61f956e68fba7290058e82ccd05821378ee39568b4a53f9bf37
-EBUILD qemu-9.0.0.ebuild 28047 BLAKE2B e1fa1a8ab44b4b68745c6f86cf04d9816cf56beef1e71b3ffc0a62fc929ef15d4ac4f1fa299d532520cac05694dbc3a08832ac0b44f1a109fab80fa195a6a4c9 SHA512 adc16e4704c396531ac91ed133a12a470fc0f2a8a3a1a822443c25fdd92faeb56c8346111e23403bb6d0fd212fb599ad2130c695afc5c48afeea492b08504568
+EBUILD qemu-8.2.6.ebuild 27910 BLAKE2B 7fb78cf6a72e19f28af863aa0502fa964e90881997f64bbd4ac43fd3a2022f1f7daeb47117047230e9b1bbf3bae41b8fd43fa0a7a58599a0516c97bb64fea6fd SHA512 15cb3186c34cf9b328f62685c471af897e0b9fa40794fcf6db91becc0d35d2e9279bd1e76d68a61f956e68fba7290058e82ccd05821378ee39568b4a53f9bf37
EBUILD qemu-9.0.1.ebuild 28049 BLAKE2B 274acedae91713834b13ba06ee2c39a2035ed278f3b11b5f95dd0915a6c1a63ed85eb17a810a4fc5b35771bbc3635b5130edf4488e6fea8f494e2f0c11f5c910 SHA512 80970b6ba671ecc2b8c772fd5ff72de176b7ac92ab05c1ebc3e54b9d210168efb949df58ddc5627fa1f197291d67ccf0ed652e400eb352316c495f04ecbfe765
+EBUILD qemu-9.0.2.ebuild 28049 BLAKE2B 274acedae91713834b13ba06ee2c39a2035ed278f3b11b5f95dd0915a6c1a63ed85eb17a810a4fc5b35771bbc3635b5130edf4488e6fea8f494e2f0c11f5c910 SHA512 80970b6ba671ecc2b8c772fd5ff72de176b7ac92ab05c1ebc3e54b9d210168efb949df58ddc5627fa1f197291d67ccf0ed652e400eb352316c495f04ecbfe765
EBUILD qemu-9999.ebuild 28040 BLAKE2B 8b434c889b45b169e3d0498239b69be05e554b506c2e62e1e0c4a2b23d13dac49f555d43daf4d7b0e708b5f6e4f984d21ee6f1e3841752cafdc6e6f7838583b9 SHA512 172e62e67424a237f74aafca79dbde1701a6e1ddf1aaf83df42a73e7f661ee7bd83f6690dccaae48b4ca9d8c0619abeb6a37661428acbe01dac71ee0143e968a
MISC metadata.xml 4410 BLAKE2B 8991a6fb819fb1621ad78ee9d32568dddc7ed2e4876ac5d6ebc6cde9eeb7badb6d0549b72afe8373118bf9dea0cba457bc4cfe65f49040bdcb272a5734eb47fe SHA512 f2a4c53da7f9b3443a76439d31cadccfb026c74226c5c4654d9f50ec19e71e4939d6685fae44fd28e194881ba11ad42215cea7b48963a31a1e0ecf427e826b9e
diff --git a/app-emulation/qemu/qemu-7.2.4.ebuild b/app-emulation/qemu/qemu-7.2.13.ebuild
index ecb35f27987f..ac517632fb22 100644
--- a/app-emulation/qemu/qemu-7.2.4.ebuild
+++ b/app-emulation/qemu/qemu-7.2.13.ebuild
@@ -41,7 +41,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
@@ -315,7 +315,6 @@ PATCHES=(
"${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
- "${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch
)
QA_PREBUILT="
diff --git a/app-emulation/qemu/qemu-8.2.6.ebuild b/app-emulation/qemu/qemu-8.2.6.ebuild
new file mode 100644
index 000000000000..b62207759882
--- /dev/null
+++ b/app-emulation/qemu/qemu-8.2.6.ebuild
@@ -0,0 +1,992 @@
+# 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
+ app-alternatives/ninja
+ 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
+}
diff --git a/app-emulation/qemu/qemu-9.0.0.ebuild b/app-emulation/qemu/qemu-9.0.2.ebuild
index 179ca305b449..6d9b868ae64c 100644
--- a/app-emulation/qemu/qemu-9.0.0.ebuild
+++ b/app-emulation/qemu/qemu-9.0.2.ebuild
@@ -8,7 +8,7 @@ EAPI=8
# (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=$(ver_cut 1-2).0
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# bug #830088
QEMU_DOC_USEFLAG="+doc"
diff --git a/app-emulation/qtrvsim/Manifest b/app-emulation/qtrvsim/Manifest
index 0f54fcd43d6a..a7bfc5df04a2 100644
--- a/app-emulation/qtrvsim/Manifest
+++ b/app-emulation/qtrvsim/Manifest
@@ -1,3 +1,4 @@
DIST qtrvsim-0.9.7.tar.gz 1421805 BLAKE2B 9128dbe513860eafd01e0f37a99547797d385b57a404e06aea310404012e66e6be802920cdea62acb914d355fc842cd3759fc794d2cd417257b941f9ec62fbec SHA512 0d53e21681630cbf97db472472bd96dfe4914e0d275a1094cb18a7f0372cef23b0dea3c33092b6ab6d2403737070ef0b6f2b1f5d9d35eea8923b24a80ac6adfe
+EBUILD qtrvsim-0.9.7-r1.ebuild 635 BLAKE2B da059c78436cea896ea063c3376f097876d1f6c0042ee832bae0255a33a743003fe526ede2f037299bfd9e041eff1fab9d60308470b065e24d3ec2bef230c698 SHA512 f6240d50c2f88adcf606d1b7598f939b38ec7352af4ace285723df5ab81f00580c8b0aa84471ab4272fe0c37cc4e2e6df632ce15be62f4c7b24d4c27e4492340
EBUILD qtrvsim-0.9.7.ebuild 503 BLAKE2B 6d410a39d6233669a391c14fa854c1ca0bc5c1ac9454600d7eb0380465bcfa3048c24d81294bfbc9a2b366a447ae71d45b5c4a7201cfd35c4ff4e3f2db40b812 SHA512 1622a493e4ba9c9ce0d0579c6b0672b3abb576519e154836514abec1a1c244f35c4535d129dbec968a367b649da89f50eb8ea4e102a927e8b71217f0ebd5e92e
MISC metadata.xml 324 BLAKE2B 88e9410454f1433824206295d14983c6cd3121248db77d052d1aadce997e7fdcbfa982837bbe3ec01038af57e3d54ac0f025874c91f3e4b938a17d330b185e98 SHA512 be34381fedb16ca3f974824e0c7af4033cc1f3fd0089e93449fd04dc84624581a05ee9083dc23b12fa58f6a55994e77a0fe58b5a9263b55b36acdd52e071591f
diff --git a/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild b/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..a50f1b567a64
--- /dev/null
+++ b/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="RISC-V CPU simulator for education"
+HOMEPAGE="https://github.com/cvut/qtrvsim"
+SRC_URI="https://github.com/cvut/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-qt/qtbase:6[gui,widgets]
+ virtual/libelf:=
+"
+RDEPEND="${DEPEND}"
+
+CMAKE_SKIP_TESTS=(
+ # Fails in 0.9.7, but not in master.
+ cli_stalls
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # ensure Qt6 build
+ sed "/^ *find_package.*QT NAMES/s/Qt5 //" \
+ -i CMakeLists.txt || die
+}
diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest
index 30bd72c8ba44..987fdea27939 100644
--- a/app-emulation/ruffle/Manifest
+++ b/app-emulation/ruffle/Manifest
@@ -743,6 +743,6 @@ DIST zvariant_derive-4.1.1.crate 11028 BLAKE2B b00fb48e2483bfe24a482a198db6e6d3d
DIST zvariant_utils-1.1.1.crate 6859 BLAKE2B 91c6cfc14b7cbdab9d662ea2f7db1506037ff8dfc58599e7e220fb44cef5260783117223251ea4a3dca03ea739c80eab2baa933fee3bfd1d78f0ae721ea36a97 SHA512 4ee75536e57aa6f05e9739c1a3bb037ebc276d22206c0a3ddc3c245395aefead5f8197af1e659e33780df968715101831c286ef28513aaf7f2a5e4a43767cdc3
DIST zvariant_utils-2.0.0.crate 6815 BLAKE2B 0321261a8371f2df14fcb0abb575dd413d834630eaf1a62b0bfc35384a536e1c1dff5a1fb26248ba4fc0dd5663dfca57892f0175ea98e5a000c8a19996e56b11 SHA512 162d8af9800a8afa16817e3580621768c9ab7d863153edc3cb1748e80aaa2f2b9c05bfffb53b098f313fe7cc2052cf49d854cc761771bc21ab1a93965a55f066
EBUILD ruffle-0_p20240521.ebuild 16013 BLAKE2B 9defe4e9f598d4842b006094633de453c4b6f0874b3d387a9e2ab1e4c081c77ccf88bef2c303244f2687c30b78a9cebb4b89a167d1c9054fb736ff4d3883ddb8 SHA512 ca0f37b5f2bf3bad3c43a8868d6aa73bdcbbd65a6c0d553c1b4fe651c81f368cbdda977cc18ac31833ffd429adf6283140fef89713da5526c454bee2f58d4e82
-EBUILD ruffle-0_p20240622.ebuild 16164 BLAKE2B dbf9612b28d743ccde5c437639b3111a39d5bad69066b9c23af864dde7aa0274efeb6737b2d75a1bc0ad562c4349d31aa6f1062137aec27d92d449e90c462c83 SHA512 c34a611059be3b39f88be1a8cf0ac05570f7a9f67076915120f789b8df06b6347becc7ce6a665370fd115e4680c6c24e9f4df4711ec2998df41fb51189883c0e
+EBUILD ruffle-0_p20240622.ebuild 16163 BLAKE2B 2ae8f34b2bade0464b4c3dbe4188f9b552696f90fd256abe2f3c4b2b853887e645ba0a41f7b41fd4cff8a1d1956a02a7f312152821f07e4585d8efa79ebe0db1 SHA512 157f0f96c0fb312b27fdc5a875c568d57927b1f337530904296f3d760c48b451f5d1e43867b991ab547b0b9c1dfcf08d7e02f67ac677a6543e8d93726a62f5fe
EBUILD ruffle-9999.ebuild 1802 BLAKE2B 01735bdc9079cbb492f8dbb45f14cfd6cf9392477986ff397ea42b559685600a1c8103f7974495af71f86021e97f46e068377f7d61ca78a88f4e6ad7f5ee8355 SHA512 70480cdcb18efbe91d60f66057de92e3ea641497862a465d75f33ab96b30737ee5b53872b3b6305e143e5c4c2333a52a01ef5b55ba385c405ebc55bcdbffd7ff
MISC metadata.xml 327 BLAKE2B aad7b4089000263fccd1bf6af04e88ac138658121db322215ce0dcc85380b12afa01cdcd2be232c5d2c773698b38903759ecaea6f4854d8c90c420c0a43f33b1 SHA512 bb5e665acc6d02ae3e6a22fbb483c293142104e538d386a9b93884f097629dcbb8ca7b614aa20e0358bf22ae36487c7d86cc1467103987845a70ebacc9c4a5d2
diff --git a/app-emulation/ruffle/ruffle-0_p20240622.ebuild b/app-emulation/ruffle/ruffle-0_p20240622.ebuild
index c39144c6eabb..1e9da2eb25ad 100644
--- a/app-emulation/ruffle/ruffle-0_p20240622.ebuild
+++ b/app-emulation/ruffle/ruffle-0_p20240622.ebuild
@@ -675,7 +675,7 @@ LICENSE+="
Unicode-DFS-2016 ZLIB
" # crates
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/app-emulation/virtiofsd/Manifest b/app-emulation/virtiofsd/Manifest
index a06e102bc5f2..73db8110c0ba 100644
--- a/app-emulation/virtiofsd/Manifest
+++ b/app-emulation/virtiofsd/Manifest
@@ -70,6 +70,7 @@ DIST vhost-user-backend-0.13.1.crate 20534 BLAKE2B 5c06c2aa1009482c1c0ef838e78fe
DIST virtio-bindings-0.2.2.crate 17617 BLAKE2B 0c4013b8b91be27b242c1bb3f70bef843702d674ed2922cf666009e6dc6b3fceb5febfddf1994cb3c551ff6b3c64296d9171535b1fdb566a41dc3c0bc0428b61 SHA512 bfc99801eb785190d0796045d72589e4ef037ffea91f93fdc8232c8873bfec133b16cfdcca1969347f435983603fc69235d587a0e92517bab06edc1027b4f2cd
DIST virtio-queue-0.11.0.crate 147937 BLAKE2B 184b191106139ec12d363b389e27144b252612c7ad94eef3cb6c6547d10f720fdc06117b5bf05b0bcfc03c4d232ccade7b4f257b3de705cd0269c17db58ced99 SHA512 e38c9173e26963b552729b0651f7d38d56a4b98995da2eb48f78a53e3ab61c67002c07428d5f1fab7e1450d358601b74afa41e893f660a19812cb67eafada11b
DIST virtiofsd-v1.10.0.tar.bz2 94982 BLAKE2B 32ce893cc44b99abedd136173b380141fb873cef65c0bd400b15c2ae9957d1b379cfc390d1dd7f2591f4d2930f120dc9bdfc7de087ea50f323db6a70bee36967 SHA512 cde56b446c0baa73a29dea6378f60f0a816fe72d97585acc39d60f3bb19fcd016d094405c2ba2327666d84c1618d1b0164ccb03c8871fa6c76e16a3251acecde
+DIST virtiofsd-v1.10.1.tar.bz2 95103 BLAKE2B daf29f27d52100c09e06f557bcbcfcba3011762accd037e70680441496fca90256f90f77800732f8052d6e0dffeb47f34a92b96e84d217a373e18fe512ac4f11 SHA512 928922c45893e6a395c8c5fa87521cc87393e6b214fd7e668a00bcf2f86c68387b7323a562266680f60aff33a5c5915a5bd7f13a662465d41eb7ee36f9fd8d18
DIST vm-memory-0.14.0.crate 85354 BLAKE2B f2716e17e4272e0baacc38e9783d6abf337a80a18a63119bb1b644ab2c65a7064c4fa2c229309e5d06ebbfadd25bd566e2c96bbc7d281bbe5b29b163718378f2 SHA512 fa7341be2393a42af6ea6c803c1f9657a5e152abd79af83b41918abb01f2f3a6e33431e39e40297164dfca2f7ef14dfc20d80c0278f27bc7abd4d7a4a7ef7710
DIST vmm-sys-util-0.12.1.crate 58520 BLAKE2B 6b1d176169caa32fb6cbe77d4058dd1df37fc23e5a92d76b8f0eb5f7e2282c2a120f5ad3fdf7710bb1d0b0a24a34770a34310e5da6bcde4c230b485a81eaf2d7 SHA512 dbaf9e2cd002baa97f43ee7659e2bd259df9aeb029fdd5a7e7473c1d38cf82a8208ba5849c12ecc02571da1702082c3491673c68f8029f43c1234ed8e834f960
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
@@ -86,5 +87,6 @@ DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada
DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
EBUILD virtiofsd-1.10.0.ebuild 3242 BLAKE2B d5c5f6db32741c9af12024a11163e7baffeec92ea64a864429b2c6cefbfce8985c6b51113b2b872d6ecd5daef4a75f591df548844c9898f96db2f11f2e9c2126 SHA512 d3e325fa640692af846c495b5dd1689b991ba849a820b086ab00d84c42d3a45fe45342217030105f020fe903f5e79324b2606aad17610965b786257cb9e249d6
-EBUILD virtiofsd-9999.ebuild 3244 BLAKE2B 6cbd198aa00741662162217c75103eff8bf6072bc80276b5f21e3bbbd57812f6978063d6d6817bc6b9c6aa5d82cc9cb25d092db1191a8a3157e813599484260f SHA512 958abf3de183f3b715ec549cc80b2ad3def1f804500f67b3027fcfd2398db35dc5db5096dec24d6a93f970faa9739c36fafae9f4d68b3ff01d2c7978655df780
+EBUILD virtiofsd-1.10.1.ebuild 3244 BLAKE2B 6cbd198aa00741662162217c75103eff8bf6072bc80276b5f21e3bbbd57812f6978063d6d6817bc6b9c6aa5d82cc9cb25d092db1191a8a3157e813599484260f SHA512 958abf3de183f3b715ec549cc80b2ad3def1f804500f67b3027fcfd2398db35dc5db5096dec24d6a93f970faa9739c36fafae9f4d68b3ff01d2c7978655df780
+EBUILD virtiofsd-9999.ebuild 3244 BLAKE2B dfddc6751e2df292db2f0e1d02ef1ab2b85c727880a68c5cc217b669ee6fc8a7898ff4262e677ee98a14ba24d68ef5fea10318bc9c28fa7bf184691e4988c799 SHA512 c43816ce6eb2eeb1c82ce99b6102d7e4dfdabace8a962dd5f141896866887b809c356dd3f480cfce74cd3ab5a101e701d050fceb2f03ff217f9c25742138833b
MISC metadata.xml 489 BLAKE2B bc6fc4d8ed57fb5a61ea1e2097e8e6deb1ddc302a55d5e5b25995686701c20bffdf066c7d68c84f94aa99ff0bf0551eb8ad44bda627e92741b995c355c28e33c SHA512 db2f4049f8e48b16198cc06c70ce46ca94875590ef82d75d3363fd4ec67de4d5ea35a544f709e466bb8689b9100605439f3207d22f1a06fce7428b1fb706a5c7
diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild
new file mode 100644
index 000000000000..8eaeb54ded93
--- /dev/null
+++ b/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.7.18
+ anstream@0.3.2
+ anstyle@1.0.1
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.1
+ arc-swap@1.5.0
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ capng@0.2.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ clap@4.3.11
+ clap_builder@4.3.11
+ clap_derive@4.3.2
+ clap_lex@0.5.0
+ colorchoice@1.0.0
+ env_logger@0.8.4
+ errno@0.3.1
+ errno-dragonfly@0.1.2
+ error-chain@0.12.4
+ futures@0.3.21
+ futures-channel@0.3.21
+ futures-core@0.3.21
+ futures-executor@0.3.21
+ futures-io@0.3.21
+ futures-macro@0.3.21
+ futures-sink@0.3.21
+ futures-task@0.3.21
+ futures-util@0.3.21
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ hostname@0.3.1
+ humantime@2.1.0
+ is-terminal@0.4.9
+ itoa@1.0.2
+ libc@0.2.147
+ libseccomp-sys@0.2.1
+ linux-raw-sys@0.4.5
+ log@0.4.17
+ match_cfg@0.1.0
+ memchr@2.5.0
+ num_cpus@1.13.1
+ num_threads@0.1.6
+ once_cell@1.18.0
+ pin-project-lite@0.2.9
+ pin-utils@0.1.0
+ proc-macro2@1.0.63
+ quote@1.0.29
+ regex@1.6.0
+ regex-syntax@0.6.27
+ rustix@0.38.7
+ slab@0.4.7
+ strsim@0.10.0
+ syn@1.0.98
+ syn@2.0.23
+ syslog@6.0.1
+ termcolor@1.1.3
+ thiserror@1.0.41
+ thiserror-impl@1.0.41
+ time@0.3.11
+ unicode-ident@1.0.2
+ utf8parse@0.2.1
+ version_check@0.9.4
+ vhost@0.10.0
+ vhost-user-backend@0.13.1
+ virtio-bindings@0.2.2
+ virtio-queue@0.11.0
+ vm-memory@0.14.0
+ vmm-sys-util@0.12.1
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows-sys@0.48.0
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo
+
+DESCRIPTION="Shared file system for virtual machines"
+HOMEPAGE="https://virtio-fs.gitlab.io/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git"
+ EGIT_BRANCH="main"
+else
+ SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2"
+ SRC_URI+=" ${CARGO_CRATE_URIS}"
+ KEYWORDS="~amd64 ~ppc64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="Apache-2.0 BSD"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+
+DEPEND="
+ sys-libs/libcap-ng
+ sys-libs/libseccomp
+"
+RDEPEND="${DEPEND}"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/libexec/${PN}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_install() {
+ cargo_src_install
+
+ mkdir "${ED}/usr/libexec" || die
+ mv "${ED}/usr/"{bin,libexec}/${PN} || die
+
+ # Install 50-virtiofsd.json but to avoid conflicts with
+ # <app-emulation/qemu-8.0.0 install it under different name. In this case,
+ # smaller number means higher priority, but that's probably what users want
+ # anyway if they install this package on top of app-emulation/qemu.
+ # TODO: remove once old QEMUs are removed from the portage.
+ insinto "/usr/share/qemu/vhost-user"
+ newins "50-virtiofsd.json" "40-virtiofsd.json"
+}
diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
index 8eaeb54ded93..e09c2b80bcc8 100644
--- a/app-emulation/virtiofsd/virtiofsd-9999.ebuild
+++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
@@ -63,7 +63,7 @@ CRATES="
strsim@0.10.0
syn@1.0.98
syn@2.0.23
- syslog@6.0.1
+ syslog@6.1.1
termcolor@1.1.3
thiserror@1.0.41
thiserror-impl@1.0.41
@@ -71,8 +71,8 @@ CRATES="
unicode-ident@1.0.2
utf8parse@0.2.1
version_check@0.9.4
- vhost@0.10.0
- vhost-user-backend@0.13.1
+ vhost@0.11.0
+ vhost-user-backend@0.14.0
virtio-bindings@0.2.2
virtio-queue@0.11.0
vm-memory@0.14.0
diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
index 528cb21e4d3f..f995d015e73a 100644
--- a/app-emulation/virtualbox-additions/Manifest
+++ b/app-emulation/virtualbox-additions/Manifest
@@ -1,5 +1,7 @@
DIST VBoxGuestAdditions_6.1.50.iso 64051200 BLAKE2B 9eff4a3643579ee0426dbe2b62247b8c89321be495e61469628574445fedc06ff2fb9afa108705cbaf24a13db99b4e6e850c61e5c97343095549f444831fcf62 SHA512 d74ce912dbbcef7f644a9f3ba9917782336cbee8e0756727a8753ffc17486a75e833adaa869e205531bc3b81b9cb26aa9b50f44210e78dceece966687122f6c6
DIST VBoxGuestAdditions_7.0.18.iso 52887552 BLAKE2B 03c2b6a777f37286f97d5e2b3f90bf9592e72f5df45f05dd9ae532c092cc38120475795821a31b6106579e49f86ad0e598b15b63ff52107794d0403fdf617ed9 SHA512 21bac2c7c10b0900c0e29cebd546a31cfb058ce0567166c71d45f150824a8818f739284787181678076982dcf40a2e62578b7a5baf19eabcab4f7385e17d2b44
+DIST VBoxGuestAdditions_7.0.20.iso 53504000 BLAKE2B c29824e0e35104051205b13ce11137c1900be7c24c0d1dd4ff7cb6d936e61a8413a4ee1713034f8a347adfaa9b0ce3b43ce2de5b41dd9e74202f2f97710a8009 SHA512 6b87812ad1d8230c4f8ab79b58b7095c8c56b0b2acd7dcf0ecf54248fff2d0f3c89cc590de32a3cbabf5853ffa55e1cad8500206512141f027919c37b01f84ad
EBUILD virtualbox-additions-6.1.50.ebuild 567 BLAKE2B cfacfeed3e15bb0407abaf7b9584d37054ed47cff35bdc80b71f9a97af7a49534ec4ade228ea39e3801f94a25fe6fd872c698d811f14f7ae744e816a0ead9061 SHA512 1fd1aa81f3ff55ca2d71ca5384fdb2bf46c9cdf5bce89917089743a86b92caaf06ffc1e1cf844a10bd2259ebfb59417850eeabd75653cd613c3f64f85ce30c70
EBUILD virtualbox-additions-7.0.18.ebuild 555 BLAKE2B 2b0398d65ffbc61bb3a6f5833ae5f5fc3bf4582df3caa78007b3da03d840cd2e455cd5bbbe81cbe6b0652613dd7d75acb7d0e0e04312b419717ac7c473ae6163 SHA512 7f10e29a7ee72d988c92228b64a769e00ef42292b26ce61e62182af93938f63489615009f8224b4fef8bd927ee6d24c6301496be50cc3efaa817423b4ac54e84
+EBUILD virtualbox-additions-7.0.20.ebuild 556 BLAKE2B 73f1560fb266d485e972ddc631bdae9aa25b7153ebfe43a242ed2391fe00782fd63ba91559f3f484da3c75c746128b2248dc57a00fee90d6704faed507d6e90f SHA512 50ef140eaf64677cac9c29ffd51cb48cbbfcb22e5c6bcc0ff2a87fb16621d53accab5aa805b85be62e3d0da3ff6f5b5e05d299621ac57b5914ab31042dfbb67f
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild
new file mode 100644
index 000000000000..92124a9f779e
--- /dev/null
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=VBoxGuestAdditions
+MY_P=${MY_PN}_${PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
+S="${WORKDIR}"
+
+LICENSE="GPL-3 || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+src_unpack() {
+ return 0
+}
+
+src_install() {
+ insinto /usr/share/${PN/-additions}
+ newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
+}
diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest
index f7810cc28a75..2202798e974f 100644
--- a/app-emulation/virtualbox-extpack-oracle/Manifest
+++ b/app-emulation/virtualbox-extpack-oracle/Manifest
@@ -1,5 +1,7 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.50.tar.gz 11175855 BLAKE2B 898ef92a91dbfb39079f8dfa5f4c1e6d91df66e92deb00849ba1da8a2278e3adcfd5754bf70acc6d8b6d7d6273923999860b71c01de3eaabf4d487d718aa14ef SHA512 818f0564a8ee1266f2d03d6e0d5df44278746067ae86279f6e884f519ad3e923382c7b987b3a58fe95e2aa4f0a53b98d553106b0250923e88989e5fdaa9dc3ae
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.18.tar.gz 18264093 BLAKE2B 4cd3f87b02f0340e0b226a68a595fd947de490a0eae36471beedb7f154529bc8f095f7512486660c4373a612608f42cbf6764dc84407143a4db9b1b9e684f754 SHA512 c83bdb6de0c98d558b66eaacdcf07baf004559c436201105e97bbdf387743dcefad285528a7de15c75162b38cd3b13d95155304da744a205661adfb692c6d958
+DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.20.tar.gz 18263914 BLAKE2B ca31eccf361e7ce865e838d6e819f3b9ecc0852d07660f14aa9fae200a0d04777256e3cd933ffc02992ed7b596779280176916e9d9f030d7aaf2319433fc63f3 SHA512 b0ba22299a9bb81f47fb4c7f4117b1b5210a72973da723185c6d87fe192f7ab0ea0eb9fae6671b84332a234ead8539375976c87c483628449812e617c42598c7
EBUILD virtualbox-extpack-oracle-6.1.50.ebuild 742 BLAKE2B 687dfef72959968f610b73f55ad028e00e59fd9bf4ff7d9d60b77e704bf61395ff1680958455619c5afd2867be365e161e5845b03a53902a7a14f88b7887815a SHA512 00fd45d6068420328b559d7ab7ca491b8dde2b8b96e5bd8a7e46108cf980e38c660425020de6a58501d6b119443f80cbd64fc52ed223f5c9f3ecf8834cf52d02
EBUILD virtualbox-extpack-oracle-7.0.18.ebuild 797 BLAKE2B 04bab98e17dd3519b1de3a2644a1f150f07bb1b555fb0b65bd8022fd99b71e5631dae91862847feecebb99d7ddac5656fac69e17ab33bb63be5a9c9bbb9a8aa5 SHA512 f28316b58160fcb3e55c72c928974dd1db6239220cc9f61510b9a6408adea2de0cc13faee7e91dcdbe5240eb19f542c85a78c0fea2ac2a2efd37ab0779d05d38
+EBUILD virtualbox-extpack-oracle-7.0.20.ebuild 798 BLAKE2B 44a1206f56d92807da770168cd25cb915a9afa2dd5d771835bcbe63d9244685b2f660a7e1f77b4e24ba4ee35b7c012eecdf2fc3f67b5915e994a8cb34bcce957 SHA512 0f62e25ac4aaa983706863ba84f831fdc41238373df0c8c18bf7071d7646b2ed8cb431367831326a43a7f393b6e29fa20c2711767067ee8e1227dea32020faa0
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild
new file mode 100644
index 000000000000..8c44669215ab
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-3)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="PUEL extensions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="PUEL-11"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ || (
+ =app-emulation/virtualbox-${MY_PV}*
+ =app-emulation/virtualbox-kvm-${MY_PV}*
+ )
+"
+
+QA_PREBUILT="usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/*"
+
+src_install() {
+ insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+ doins -r linux.${ARCH}
+ doins ExtPack* PXE-Intel.rom
+}
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
index fe0efedff3e0..e4d3d9be80b5 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -7,9 +7,11 @@ AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9
AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9
DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4
+DIST VirtualBox-7.0.20.tar.bz2 173300021 BLAKE2B 23a1553578c8b89c3bea65fd9a451ef5abf419ce8a05524f2afc15b8d9a378a22ffb01c0c792d258320aeddb330b74f8f769180863041e333512d0eed2f4449c SHA512 7682e24d60c1896c661f2689af6820ae67b6bd8d9faaf18c58e8159bc7694ef80722f8e9611d6272da5b46eb2f3a44fc637b277e6801b7a8bf53aad045a81fe9
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
EBUILD virtualbox-guest-additions-6.1.50-r1.ebuild 7489 BLAKE2B 777c460693bb72400c5b287cee323b572fa4d0bbf758346e1059c7db0cd73f1520893e79df1698095fd05d662947630bda85266eef38b0f4e0f1eefafdb4305a SHA512 f7acd23993f08d31ff55d927d5a1576247e6894d517827f0b24cfee38cfc7d62c27fa8b18ca251a859656247e2dc2d595a2405747443f0ec45b25f9631705d49
EBUILD virtualbox-guest-additions-6.1.50.ebuild 7515 BLAKE2B c431547ddba5da48b1adf38c5586b0716f35bcef669584928e5d8e0611b47afedbf7e928f173d69b40891bd992e394630386587fcf05504bbc03d14251f42b75 SHA512 9c345dff47ab1aecede001e780f61cd51dbd0b4edd6a67491d410d964a387defdb282e13feaf14336291b58c9fb23532c5a438ffa26af7b60d63f75cbb931343
EBUILD virtualbox-guest-additions-7.0.18.ebuild 7680 BLAKE2B 8cc5ae244e163327285b9e3dea9387c84d19182237818c173ac031e879ae9ca77b7e9643ec04f396ca8553086cfbdb975f36307f9b847f7fe024729ccb16202c SHA512 272b689ded7bdeafb259e8139f8c932a40b1e0ee7211636a2fe565cbc88a49dc87cecfd5c060fc5e4f0d0c9063bf9fb85fb9b661b66419cbd19c43a630bef50c
+EBUILD virtualbox-guest-additions-7.0.20.ebuild 7546 BLAKE2B 9882dc2761761415a6a712696ae43602dbd54bfc190566d1e837ce84799d7e3cf1fe8e54829b01f9b4e8ea2c626cf2bee7824fc636a7808531d6d040d518bbc7 SHA512 d34317da19e8a5f8c2472ffc3511106acf118bdfd18b642cd1402b630541fc0dd80d179fc2d04956062b3ae2a4b64cd52cb9a22a6ab03b40da430b47f3ada1d7
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild
new file mode 100644
index 000000000000..d04a4c8b8c76
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild
@@ -0,0 +1,287 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus gui"
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -r kBuild/bin tools || die
+
+ # Provide kernel sources
+ pushd src/VBox/Additions &>/dev/null || die
+ ebegin "Extracting guest kernel module sources"
+ kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use gui; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-7.0.16/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_compile() {
+ source ./env.sh || die
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # Now creating the kernel modules. We must do this _after_
+ # we compiled the user-space tools as we need two of the
+ # automatically generated header files. (>=3.2.0)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use gui && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ insinto /usr/sbin/
+ newins VBoxService vboxguest-service
+ fperms 0755 /usr/sbin/vboxguest-service
+
+ insinto /usr/bin
+ doins VBoxControl
+ fperms 0755 /usr/bin/VBoxControl
+
+ # VBoxClient user service and xrandr wrapper
+ if use gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die
+ newins 98vboxadd-xclient VBoxClient-all
+ fperms 0755 /usr/bin/VBoxClient-all
+ popd &>/dev/null || die
+ fi
+
+ # udev rule for vboxdrv
+ local udev_rules_dir="/lib/udev/rules.d"
+ dodir ${udev_rules_dir}
+ echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
+ >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
+ || die
+ echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
+ >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
+ || die
+
+ # VBoxClient autostart file
+ insinto /etc/xdg/autostart
+ doins "${FILESDIR}"/vboxclient.desktop
+
+ # sample xorg.conf
+ dodoc "${FILESDIR}"/xorg.conf.vbox
+ docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if ! use gui ; then
+ elog "The use flag \"gui\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index 1ba7da681238..6702ab126094 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -2,6 +2,8 @@ AUX virtualbox-modules-7.0.14-kernel-6.6-warning.patch 1110 BLAKE2B c66ec49874e6
AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a
DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592
DIST vbox-kernel-module-src-7.0.18.tar.xz 719604 BLAKE2B 44e9d895791a7ff50681dd8860456a87078b41a4eb3005a6b249f9b34c37de709e190cbd6f352d21010ddcb9d8d1c35303bafd765e999664288df9e0ead94e6c SHA512 1cc17e302ef8251abd08a078abf11fede242154b0bb78d03f8d7c2821ba7cff410bd255802316a2f13100884b35a6f14fdf0b594304bd041521b66d264f51b77
+DIST vbox-kernel-module-src-7.0.20.tar.xz 720160 BLAKE2B 833aa87af13a6c3e9426bd00e32b14c8b3958ab14425e8c02141d8579e987255b170662e00abb92f17234d4f03462d6d5b9fc1279d9da5449d344a328c905c8f SHA512 650bb6cf16ae42774524bf2e7ad2ee125d7a8d57de1e58d24b8b49bb9cf2829ea01dd32d2c1e0b2df556eab4a458cb0d84715b92d4085d03891f62a46aaf2916
EBUILD virtualbox-modules-6.1.50-r1.ebuild 1007 BLAKE2B 35da91688a97c03ca0ac189e152e3e86d7ee2b17f48028da50e19b8ed755c6c555ebc32f2d86941a8da4409fde376a3b7db84c3b53bdb069e434502f27cce09e SHA512 0966575ad55dce2ffe6408504fe234d86d586b348ff5279655805a7ceda7af4b5ef9ec213f100c188216fb11c9f1ed2426d396054a02937900825de407a0ce4c
EBUILD virtualbox-modules-7.0.18.ebuild 941 BLAKE2B 23539d6f2c798b730f2f9afb007158672cabb6e199356b104c5e34b4f8e819e55f77ae1f303d655333cbc4351b67dc44735c131d59bb04031bc7c1b900d49c7b SHA512 379c3e216af76612970ca077c29a3c750de40c9a91dd288754cf55e7612e64227c261ffe2b0ccb8aef21f47ed1afac713295d6f7b063f27fa083715d311f7c75
+EBUILD virtualbox-modules-7.0.20.ebuild 942 BLAKE2B eefe2ce819d229a06584224a5f4ffe531e821df6dcc7b5f761d88605ab854880f9182a22d228953e2194d9a37191e6816fb5db4f87e3e10d324a42f71486ffce SHA512 181fece45985e074c73476473eba544a69151e6e2499e6162ca6019213aff95d6460d240890b01e24ff230eb87070d31f2ab9e595a21545a3020e9f4b1e7da34
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild
new file mode 100644
index 000000000000..08e22e5e0379
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+# package that comes from VirtualBox-*.run
+# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
+
+src_compile() {
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 34f2fcc53dc0..085ad50c9482 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -14,12 +14,15 @@ AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec
AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171
DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4
+DIST VirtualBox-7.0.20.tar.bz2 173300021 BLAKE2B 23a1553578c8b89c3bea65fd9a451ef5abf419ce8a05524f2afc15b8d9a378a22ffb01c0c792d258320aeddb330b74f8f769180863041e333512d0eed2f4449c SHA512 7682e24d60c1896c661f2689af6820ae67b6bd8d9faaf18c58e8159bc7694ef80722f8e9611d6272da5b46eb2f3a44fc637b277e6801b7a8bf53aad045a81fe9
DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
DIST virtualbox-help-7.0.18.tar.xz 3948116 BLAKE2B 5715a7e609297387b5fccce0951c62e5969fd68adeecb869712e69f5e90daef97384bd3ff3c39de40903a1fabe7ac6d2f8ecdbb40de16abe955d40e49b962eec SHA512 ec0f915b7221bc40d02f5f1675eb0defb5506b2f2bd96c063a96a9346e1c82428ccdda8b3adac43238c451ae185ac31af4a186da17ffe091469e14e696388b3a
+DIST virtualbox-help-7.0.20.tar.xz 3949292 BLAKE2B c56f736606fdedfb59bd1f4446a457587dcbe018d1be3162d94eca780cacfa45b49ba5a9c6b25970d28e5a428904bdfd34d2f229c1e24b567fd1b1959cbdc9ea SHA512 e73e448b8aa875d0f6ae1fb398082fa7183e198191a9b509b63592b5df3a19069b805dcdc11d98da3971a14fd6670d8b0a777e5a6d6b63358f7a4f263ca8d31e
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
DIST virtualbox-patches-7.1.0_pre20240419.tar.bz2 5316 BLAKE2B 1a890b7d19cb252c7801b68c299676e2cd7a209a57a03cb39025e1a969a1c73142eb96154dae8469405f93d61969154428ea0fe3950a00d8a0a69dc8aefb4fc9 SHA512 ce4f850ce87652ef4eab039332048333949c94f0627bec8eb00d9689d7f8edcce372e2185ef8bbda9aef97781a2008b7c6464468cc38f3454dee862efc0ecdc9
EBUILD virtualbox-6.1.50-r3.ebuild 18929 BLAKE2B 5361667320ccdc5534959f12f40665f7a8a19e8b09b0b172c3537bb0d93a7bb0117dc35114e27e7a6de35eefb0811aaf94c54568b32cd1dcc62524ec22d7b393 SHA512 54719ef39276acff779d399ed744d5aef88e6275dce7d06cec9fc611335d243b8dd1b817aea56fa5b93b96345f7b19dccdf8facdfc49e58d42524f9050ba7776
EBUILD virtualbox-7.0.18-r1.ebuild 20842 BLAKE2B ecbe8b10b4f87550cdd04b878009b5443d859f141b5b214cab7cb53c693ee00470e89140f6ee2c66a24435ceba7484ded028a9594b8a7a7594cd00cd59a4ca74 SHA512 9fc697f31fab0ffbea2ac94fe031400ce544d93069a720fc3871452d8074e97fd4a075603732ca1bb5441ddfccf95664f3b5f5ff44b2dd3be4554129121918ba
+EBUILD virtualbox-7.0.20.ebuild 20843 BLAKE2B 9f08caededc08435490435ac6c68612d760b0794c167fdba090304cf980e3847da1590ce8e9a45ad1edbe71414e4df2d4d6ca428f8f1d37b90693dee19878589 SHA512 55854fc05217d9ca1f3b0f1bff9d15175e75f79b76a16de8917ea0108b5b27b4937546199472893d64797fd780353216918a71e3b8344cc5f477bb55024a71af
EBUILD virtualbox-9999.ebuild 21626 BLAKE2B 001008613b2f24006cff0ddf9f5758d37d248541edb6a20c1d8942129987a82a3eafb4db19a2e7a32daae7b4de03d82b0a7a6b78b119f15201e64b783ea5531f SHA512 d42bed323f570e022f75c579e92fc220e8c5a344d9289d83a7b3f1a9a92cb8905935bd6e486e5bf29143fcdea13dc7b30adb74a5d4bf6759b193fea1523bfa4c
MISC metadata.xml 948 BLAKE2B c074e494d9affda91addd2355f8e71616602102b4cc151d2b45efd04754f1f92621ecd313dbe3baa44c3301f57b61e9cff780d445c2ea3d19ce3d9c8ae05213a SHA512 5338812da9334aedf08dd7a31a4a07c7bfa8232e8f0de6af9de9ac0f5585397cea16e66cb73d56632efa4cf21386782108182d803de6ff45c08082a13dc5fed9
diff --git a/app-emulation/virtualbox/virtualbox-7.0.20.ebuild b/app-emulation/virtualbox/virtualbox-7.0.20.ebuild
new file mode 100644
index 000000000000..ac0bf0cafce8
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-7.0.20.ebuild
@@ -0,0 +1,741 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="
+ https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde +vmmraw vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ acct-group/vboxusers
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+ python? ( ${PYTHON_DEPS} )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk ${PYTHON_REQUIRED_USE} )
+ vboxwebsrv? ( java )
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-7.0.16/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
+ fi
+
+ if ! use opengl; then
+ einfo "No USE=\"opengl\" selected, this build will lack"
+ einfo "the OpenGL feature."
+ fi
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # Respect LDFLAGS
+ sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
+ -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
+
+ # Do not use hard-coded ld (related to bug #488176)
+ sed -e '/QUIET)ld /s@ld @$(LD) @' \
+ -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+ # Use PAM only when pam USE flag is enbaled (bug #376531)
+ if ! use pam; then
+ einfo "Disabling PAM removes the possibility to use the VRDP features."
+ sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
+ sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
+ src/VBox/HostServices/Makefile.kmk || die
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
+ fi
+
+ # add correct java path
+ if use java; then
+ sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
+ -i "${S}"/Config.kmk || die
+ java-pkg-opt-2_src_prepare
+ fi
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev !vmmraw --disable-vmmraw)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ if use python; then
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ else
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON:=
+ EOF
+ fi
+}
+
+src_compile() {
+ source ./env.sh || die
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
+
+ vbox_inst() {
+ local binary="${1}"
+ local perms="${2:-0750}"
+ local path="${3:-${vbox_inst_path}}"
+
+ [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
+ [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
+
+ insinto ${path}
+ doins ${binary}
+ fowners root:vboxusers ${path}/${binary}
+ fperms ${perms} ${path}/${binary}
+ }
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-4-config" vbox.cfg
+
+ # Set the correct libdir
+ sed \
+ -e "s@MY_LIBDIR@$(get_libdir)@" \
+ -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Install the wrapper script
+ exeinto ${vbox_inst_path}
+ newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
+ fowners root:vboxusers ${vbox_inst_path}/VBox
+ fperms 0750 ${vbox_inst_path}/VBox
+
+ # Install binaries and libraries
+ insinto ${vbox_inst_path}
+ doins -r components
+
+ for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; do
+ vbox_inst ${each}
+ done
+
+ # These binaries need to be suid root.
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} 4750
+ done
+
+ # Install EFI Firmware files (bug #320757)
+ for each in VBoxEFI{32,64}.fd ; do
+ vbox_inst ${each} 0644
+ done
+
+ # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
+ # VBoxXPCOMIPCD (bug #524202)
+ for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ # Symlink binaries to the shipped wrapper
+ for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
+ VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ if use pam; then
+ # VRDPAuth only works with this (bug #351949)
+ dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 4750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 4750
+ for each in VirtualBox{,VM} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ if use opengl; then
+ vbox_inst VBoxTestOGL
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
+ fi
+
+ for each in virtualbox{,vm} VirtualBox{,VM} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+
+ insinto /usr/share/${PN}
+ doins -r nls
+ doins -r UnattendedTemplates
+
+ domenu ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${PN}-${size}px.png ${PN}.png
+ done
+ newicon ${PN}-48px.png ${PN}.png
+ doicon -s scalable ${PN}.svg
+ popd &>/dev/null || die
+ pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
+ for size in 16 24 32 48 64 72 96 128 256 512 ; do
+ for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+ icofile="${PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 4750
+ dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
+ fi
+
+ if use sdk; then
+ insinto ${vbox_inst_path}
+ doins -r sdk
+
+ if use java; then
+ java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+ java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
+ fi
+ fi
+
+ if use udev; then
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ fi
+
+ if use vboxwebsrv; then
+ vbox_inst vboxwebsrv
+ dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ # Remove dead symlinks (bug #715338)
+ find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
+
+ # Fix version string in extensions or else they don't get accepted
+ # by the virtualbox host process (see bug #438930)
+ find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
+
+ local extensions_dir="${vbox_inst_path}/ExtensionPacks"
+
+ if use vnc; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/VNC
+ fi
+
+ if use dtrace; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
+ fi
+
+ if use doc; then
+ dodoc UserManual.pdf UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ fi
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ sed -e "1 i\#! ${PYTHON}" -i vboxshell.py || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; then
+ elog "To launch VirtualBox just type: \"virtualbox\"."
+ fi
+
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest
index 2cf65c940a9c..0f42b8bbb87c 100644
--- a/app-emulation/wine-mono/Manifest
+++ b/app-emulation/wine-mono/Manifest
@@ -14,6 +14,6 @@ EBUILD wine-mono-7.0.0.ebuild 612 BLAKE2B 39b9a3190973e810ad32da319b29e8448de94e
EBUILD wine-mono-7.4.0.ebuild 662 BLAKE2B 1e4e33a1f0a9f6436d787091a0186b8f8d77a6678c5d86fac205720a02ae5fb21e6a40e3df33d8f1501af6974261ce23f3b47c0a558ea299b454fd439b19b7d3 SHA512 930cebc2ad75709cda8819b527c3bbd0c34c6e59fec7562197b8d1ad8fc3e0597b62a789e1e37951ce63fe8687158617f6d332cea585db4787b71de576ea0982
EBUILD wine-mono-8.1.0.ebuild 662 BLAKE2B ad6fe06250194bb1251c1fa223cf6b2e5716066c854c35f2481ff073b4735b4b9ab692931b28ac35ff225bde9af6362c611755cccaa09e7ac6273f9ecc17c433 SHA512 99bea65048ae2c3c449a9435780ba1a4204bdf889058780f5f60b678aab1a6f70ef20c6fbbd20308d6edc4cec35034d90fb6cd6093505318d606c90826607f9c
EBUILD wine-mono-9.0.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633
-EBUILD wine-mono-9.1.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633
+EBUILD wine-mono-9.1.0.ebuild 662 BLAKE2B ad6fe06250194bb1251c1fa223cf6b2e5716066c854c35f2481ff073b4735b4b9ab692931b28ac35ff225bde9af6362c611755cccaa09e7ac6273f9ecc17c433 SHA512 99bea65048ae2c3c449a9435780ba1a4204bdf889058780f5f60b678aab1a6f70ef20c6fbbd20308d6edc4cec35034d90fb6cd6093505318d606c90826607f9c
EBUILD wine-mono-9.2.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633
MISC metadata.xml 869 BLAKE2B fccb940bff530c2e7c311060ef585efc8f62c00480435fe62cdae5eaa5dd58fd6d41354f6656c166700114e356f7bd60c791a77e86a2cce2bf4421bb778d28dc SHA512 fba10cccd3d072a96332a065f3b08cca213b18820e14a0e0a8e135ad2a986b158766bed07bae7c468f445642145a25350f2cdee58d8a4ccb916fc6a0ea7b4a62
diff --git a/app-emulation/wine-mono/wine-mono-9.1.0.ebuild b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild
index f756896e7c2e..420d2e8387b2 100644
--- a/app-emulation/wine-mono/wine-mono-9.1.0.ebuild
+++ b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}"
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="+shared"
src_install() {
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index b350f387b8b7..31fcb7a70a45 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -17,5 +17,5 @@ EBUILD wine-proton-7.0.6.ebuild 12716 BLAKE2B 0a8ce5cf58303c15c04e559a48efc84875
EBUILD wine-proton-8.0.5c.ebuild 13331 BLAKE2B 3cef3d1c03720064f77fd2bbb7ff0d67b35f30fbd1685aeec3e2c1c2635bf7ae86d7cb1ec4a9005b3795b0a0f07168f2069dfef0ce31ed2c8ed739decb64e3db SHA512 3ae33940a06a9a345088bd93d0eb78ef0e62ae725ee1363babeeec5a37d5919973ab5bd52cf13c65148926b74f4a4986ba41f8da9aaa5cc04053de4426c2a2ca
EBUILD wine-proton-9.0.1.ebuild 14231 BLAKE2B 6c4200f7f0408ab482eb1b0f4bf0ade5504087004e025e7575f5f91dc33901f8ed533cfbe5f56a3b28be8332d02edd86aded16d42210e01074200f75a211053b SHA512 91b8ab885b16dcb90ab75ac5c594dc7e2e969cf73a4fa74c8c40c1419562054e9e020fbb675e2ce723c777382dfda677b691aa5e1a0f9efb925f0fc8d8c75357
EBUILD wine-proton-9.0.2.ebuild 14232 BLAKE2B 8877bb76f74481ee9810a0a974eb06abbd81a8fe8f1ae899e09b683199a200bd4a219b61ee571502e66b29d3519b604dc98ae4227a3d87c5f4b976e1ad714ac2 SHA512 99891635a6cf0595fb170df4d931b2f2c23d53e72d4ce3030e3e2ace635bd8d0d4d7ad5ee4499895c8dc21151fbc458126d79834649dbd214d84876bd3c20ad0
-EBUILD wine-proton-9.0.9999.ebuild 14292 BLAKE2B 7718fd22d3624f1df4f09e6daa84260910d58fbdd6ae62cb58fa11d3a3dd9b4841e6a28792e62db16d0cc9dc03a5a78a92fb08f4e1bad4ffb948985331408872 SHA512 e84554d6569153b02c23f89d0291d494f6458bfc6af834e93eac83048c98c63f925bc18b627bdf8deefaeea9be2a9fdd681573823dbd7cf553b3d5ac5d89b199
+EBUILD wine-proton-9.0.9999.ebuild 14292 BLAKE2B 3b49c8256862d493706aaa048d4b0159e1814464f1e62906dc3bcd8d2e1f3d36494edb071210d6ee409a73cd859b3f35507f6e7a91fddc4614eada145f8f1795 SHA512 d94484ead5fe180675ccb79fba3a25350ff7d8001a835ce88eb5d2eb7f736c928d76df7bb4005fb512e8c82451f2e350977a0c7d8fdd3161c36a0c07cfde42e5
MISC metadata.xml 1593 BLAKE2B 2e07980ce479dbb737394a5b74576925da936ca2ef5c0767b036cad7f56460ae0a6c73e8a416679f512a5195d037329ce9d3ace9808f68e024baf8640f462d94 SHA512 9f99896328a6337e7a2228977a3b7d853e78aef50a19ee40c43d18f657ead529553d7ea788bae1d408bd074f240cb555ba42558a54cd3ff8ab530b167e813d55
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 9c233aee5903..78a63d876e93 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.1.0
+WINE_MONO=9.2.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index 7e7998c13766..5daf0b0dd282 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -5,16 +5,19 @@ DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a
DIST wine-9.10.tar.xz 30289048 BLAKE2B 8c9001f2edac31636a82f0bd0a02d69b7fc0a20560a568bbff5f46c111ec3b623652a3ec4b9df48a153cf346e580979196496d9c8416794c4be70e7705dbb411 SHA512 f76e62b40e72af241c6f88dbcdb767720c36496b9deb9cc1246cea967573bbafd46b7000117d3c64f499d175ac1c7299ebba3f476574bf9b18f6d9744ba7a3e2
DIST wine-9.11.tar.xz 30301904 BLAKE2B 745cab93268f51a3d31562af6d392fec5ed0d18aeca3684d0d3ef68ef144e20ec2c0879853f67538db833ec89321e1b1e09533882802eb68452ad3fed87193cf SHA512 695170140372f169e78e90a66d938839c70f9647531ae8d782c58fb0450460174f2958f7656f8d516447a22ef6e792a8c89f2f18c25fac847adf46bc51184999
DIST wine-9.12.tar.xz 30339552 BLAKE2B e114b3a1db237345b9f86cb3a9f1e0040067275eb6c840e480f5fe6f4fa67ba9d4603b2006552ba2ef0ed45e53de9a25b67d4a50e24fad6a9b0e06d1e95763c7 SHA512 00c25cb11feed3625ebd8dc76fa35930d07d51182be4537c488ac4e713d6f9c61b974b19eafb57f54630376346dc1749c4d36a18d0f72748b34052cc7322df19
+DIST wine-9.13.tar.xz 30542188 BLAKE2B a832468142d68a21696d45d01ed8b9e464dc5f95e5a5205a08573024a2b0e7ccc4415388de4cef9581976b10a7e5723d9058e22cc56eed897b25b2a7fa369608 SHA512 f9c74beae87a02c4ae6176676bbc9de203224651ed4eeafbe6cfc05b8a455a9ce790d3211135fbeb6425719e4c0423e345dfee5ed2cefdb80706784f464f7225
DIST wine-9.9.tar.xz 30265476 BLAKE2B a2557044b10252c1b1ae023e10863c601e9159d64eda2ce1d8aab4dbb9efffa1b4b15ed27a9edbf6f2bba148c2bb07e729bd706bac9fe17f91c826c74b5980e6 SHA512 df016411933b5447bef9b48f67c58e12d6d33ef0c24045ab03c92821dcccbf84335d1a2d765e6d6cf3a743598317010b8ae6f69de3661733e4fa43febec873dd
DIST wine-staging-9.0.tar.gz 9577631 BLAKE2B 0012978f54c618e73d407dd49dccff02853912d0c015098889802518e8c51b280f5d60e11291335dafc68944ee01cbcb7fd6c5825ef10ae1520c7b82d9846718 SHA512 362209fcadcf029152b681c76beb231d0cc8de1609b994094f1dc88ab871fddda08b3d8c2fe36ceb38909a9d634c1ade864ca0f28a6a7715ec286a8b2884981f
DIST wine-staging-9.10.tar.gz 9436968 BLAKE2B 57f22873516647bc429088f02af0dab96408da7914a3fffa76acbffde73d9822ace9a900b58fe96b632da844b58c2759dcba3ad3dac64588b54cb0124b50828d SHA512 d052cf73ec9d365ea982cbbb896182b215fa841bd322167ab9e2212efb87441bb5477c40e3106e399a53b2c0952f0e6d1ce5e428e79e2fdc0bc5c5a8f937cdd9
DIST wine-staging-9.11.tar.gz 9460666 BLAKE2B 8b4193663c6f6f4e17f4dc6a2486f7b96be67f2034298709bc14971376d53b0d41e748b4ab991bb24430cc8eefd52ccd0ca4577f4612df80db8d72310110debb SHA512 3f60e43e39b0d78938e3765719bb0aa3f052e9dbbed71cc6990a8038c9dddcd62edacd85c75bf7383f62294f2b0b464adc1eb9e16fbac81d60f779e55addc65b
DIST wine-staging-9.12.tar.gz 9456608 BLAKE2B a9bdcc4fc855ce4382a688cb57232715d26917b6d9c6fbd43323bb943070cb3b11ebc1c3040cc51fd3b6d2af6e8a7c50907480f8c538ea12e3846529ed9da255 SHA512 85d135cc9bef9357ae0899f7b2b5ae61750f1d733dbae05c56e29e5b5705c6b2b9c3c95a83ceec35cf7b631f4157d6685317f8a1078fe1cf7f6c550f7db80009
+DIST wine-staging-9.13.tar.gz 9486868 BLAKE2B ef89e0c542689dfab7cc761ee210e434df9586f997da19868991752f6aa152494060ba39e9d70f8652749d77c0273b86b11fb06ff27efe3e4e1af9ef2795c969 SHA512 a43e1ac3be6e9563cf14b27bbfeb7b916b10322affacaf4fb1b648444ff6d43f8f15f7b31b01c692add884d45394acd21f0699ed25c52e1a021a821cf47d6168
DIST wine-staging-9.9.tar.gz 9593672 BLAKE2B 9f6fc7137bb447e52642caf7083ddd60a8d7a545f364dd1783b7adfbd2a80da8b89bc2199525b3c9d75f9f356f5548cf97ae1278361be1c6fb0f0e218c3cf336 SHA512 1b6b341a48a05f48587b7ecc0ead50058b2c1f8a47b6e52adbc7e4afff9bc633a6018e90b2e3ee6b720c59181095b793cd2bbfa7242aec6871f2f87f4db661c4
EBUILD wine-staging-9.0.ebuild 15677 BLAKE2B a60e2f72c3896f6de7b045ba51c41338531eb2dccd0b783725c1c793cddf4f17311c5941c99b0d29bc1b61607bb4e26c4114b3240b4c3b219927d26151406593 SHA512 affaba6aff52e930d8345a5b3c6ecf4df5479463f4bf8ad036b9215f7f802bc94efa5ac47897af11bdd9a12f5d93947fdda4407ddc75b937a489f783c9cf2389
EBUILD wine-staging-9.10.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416
EBUILD wine-staging-9.11.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416
EBUILD wine-staging-9.12.ebuild 15705 BLAKE2B d3c8ac0aaaf86efe36d726f348dff4e1de058c07d680545178a730c02d2deeaf7d4345329fb2fbbb9b89199e6ff672a4fd11c9261a629daa80a2251bb7665924 SHA512 8c1dd677ab942e6dd491634ecae98d433f10a6db087b7343208809a82401e544675b8495cc193ca936603a43cfc4cd76bf5de4242419c9c62b21ea3b483367c5
+EBUILD wine-staging-9.13.ebuild 15626 BLAKE2B fe79586585ba421d064a6faa036c74b8f46b4d5feff410f574e6e337bded0985c37b9db9d17668642f7336b0adeb08a3eeecf0fc66f15d7645cd3491baff12cb SHA512 7ba67b3cc50b090f783c11eca7d48c98ded782bcc1027851d4ce9c6b2aa040a811b70118295a19ce1ee48db51ddf8aa316674b53e14573d57da370607659e70e
EBUILD wine-staging-9.9.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416
-EBUILD wine-staging-9999.ebuild 15705 BLAKE2B d3c8ac0aaaf86efe36d726f348dff4e1de058c07d680545178a730c02d2deeaf7d4345329fb2fbbb9b89199e6ff672a4fd11c9261a629daa80a2251bb7665924 SHA512 8c1dd677ab942e6dd491634ecae98d433f10a6db087b7343208809a82401e544675b8495cc193ca936603a43cfc4cd76bf5de4242419c9c62b21ea3b483367c5
+EBUILD wine-staging-9999.ebuild 15626 BLAKE2B fe79586585ba421d064a6faa036c74b8f46b4d5feff410f574e6e337bded0985c37b9db9d17668642f7336b0adeb08a3eeecf0fc66f15d7645cd3491baff12cb SHA512 7ba67b3cc50b090f783c11eca7d48c98ded782bcc1027851d4ce9c6b2aa040a811b70118295a19ce1ee48db51ddf8aa316674b53e14573d57da370607659e70e
MISC metadata.xml 2659 BLAKE2B 8a80b12643e82b98b71bc408e2fd79736da01c8f7d914c7a592cb685893ea3896bc44fecf0160faec803b284d3f6bb38cf36fb4745d9d43e0e1ced8702fcaf9d SHA512 a271e537318a4e90236c195f1f8c24c3255b5465345246627797d37238e2b6292d0734a9ab19542ee34fc1e9312dc4418694992f5ce3c53310228cc6bf14ef90
diff --git a/app-emulation/wine-staging/wine-staging-9.13.ebuild b/app-emulation/wine-staging/wine-staging-9.13.ebuild
new file mode 100644
index 000000000000..701e686b693b
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.13.ebuild
@@ -0,0 +1,487 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.2.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with odbc)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; }; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index f37334b9fc3c..701e686b693b 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -171,7 +171,6 @@ QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
-QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index c65354f5c24c..d9955b6a5f57 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -8,6 +8,7 @@ DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a
DIST wine-9.10.tar.xz 30289048 BLAKE2B 8c9001f2edac31636a82f0bd0a02d69b7fc0a20560a568bbff5f46c111ec3b623652a3ec4b9df48a153cf346e580979196496d9c8416794c4be70e7705dbb411 SHA512 f76e62b40e72af241c6f88dbcdb767720c36496b9deb9cc1246cea967573bbafd46b7000117d3c64f499d175ac1c7299ebba3f476574bf9b18f6d9744ba7a3e2
DIST wine-9.11.tar.xz 30301904 BLAKE2B 745cab93268f51a3d31562af6d392fec5ed0d18aeca3684d0d3ef68ef144e20ec2c0879853f67538db833ec89321e1b1e09533882802eb68452ad3fed87193cf SHA512 695170140372f169e78e90a66d938839c70f9647531ae8d782c58fb0450460174f2958f7656f8d516447a22ef6e792a8c89f2f18c25fac847adf46bc51184999
DIST wine-9.12.tar.xz 30339552 BLAKE2B e114b3a1db237345b9f86cb3a9f1e0040067275eb6c840e480f5fe6f4fa67ba9d4603b2006552ba2ef0ed45e53de9a25b67d4a50e24fad6a9b0e06d1e95763c7 SHA512 00c25cb11feed3625ebd8dc76fa35930d07d51182be4537c488ac4e713d6f9c61b974b19eafb57f54630376346dc1749c4d36a18d0f72748b34052cc7322df19
+DIST wine-9.13.tar.xz 30542188 BLAKE2B a832468142d68a21696d45d01ed8b9e464dc5f95e5a5205a08573024a2b0e7ccc4415388de4cef9581976b10a7e5723d9058e22cc56eed897b25b2a7fa369608 SHA512 f9c74beae87a02c4ae6176676bbc9de203224651ed4eeafbe6cfc05b8a455a9ce790d3211135fbeb6425719e4c0423e345dfee5ed2cefdb80706784f464f7225
DIST wine-9.9.tar.xz 30265476 BLAKE2B a2557044b10252c1b1ae023e10863c601e9159d64eda2ce1d8aab4dbb9efffa1b4b15ed27a9edbf6f2bba148c2bb07e729bd706bac9fe17f91c826c74b5980e6 SHA512 df016411933b5447bef9b48f67c58e12d6d33ef0c24045ab03c92821dcccbf84335d1a2d765e6d6cf3a743598317010b8ae6f69de3661733e4fa43febec873dd
EBUILD wine-vanilla-7.0.2.ebuild 12796 BLAKE2B fd5a6973c5dbc591dc7b236f350e9ba6088e6cae206ddea99e8a2efbc0215cc589026c1f9c24c0c8232b02e7775113d33a211487724a81cab199a83d48634eb9 SHA512 b6807da97fb721e97231556d76e682f8a7c9ccbc7985f68b778e557816bb9201eab438e7419ece5a3b93db4c1c1416e65e65062c3d08fc4a743fc8e619e0b47f
EBUILD wine-vanilla-8.0.2.ebuild 12884 BLAKE2B c9eeea8f957ba52e5f984c66ad470e5f966cb65c868a11727e14308107dca6690158414f9d6761f880a2ea64a4ddbea4cd319a904904127f2f73f29081239e74 SHA512 f3646c01612250d1eec6b041ffdee8a9669111bbfbfd5e2bc31335e692e6491f59f934cdc69d1176e7e0fa4d36c56fafbaffe9acc28499d1754fa8fac6e6c49c
@@ -15,6 +16,7 @@ EBUILD wine-vanilla-9.0.ebuild 14161 BLAKE2B b37f13bf578900bda3eeffaf29d6fa03232
EBUILD wine-vanilla-9.10.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17
EBUILD wine-vanilla-9.11.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17
EBUILD wine-vanilla-9.12.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec
+EBUILD wine-vanilla-9.13.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec
EBUILD wine-vanilla-9.9.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17
EBUILD wine-vanilla-9999.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec
MISC metadata.xml 2726 BLAKE2B 7dc7490fabcda06a27061726225890ee203fe7d22209697c3997f0ccdb4699bfaa09f983c22c4919ce75d2eab6ebdb1add9d9af04f24aee63bae81116fc04094 SHA512 5cdbb062462ae791ff9727d184935af3af147c0bd1e49846731941513301b720313b3356f56a8295780ab822e3117146c9a669d2d96efba6f072d84adba770e6
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild
new file mode 100644
index 000000000000..27cb53b52387
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild
@@ -0,0 +1,439 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.2.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with odbc)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; }; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}