app-emulation/qemu: Sync with Gentoo

It's from Gentoo commit 1ae3a55a4d4abc079f578153804bc677461b0700.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-01-12 07:10:53 +00:00 committed by Krzesimir Nowak
parent 5b440b5b9e
commit baf0330ef5
22 changed files with 98 additions and 4281 deletions

View File

@ -1,17 +1,15 @@
DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094 BLAKE2B 396f9df2e6ad559545054e89916915c3a3c8ff80e5e409498fec497b564d8b3ac9dd3cb966e26dce232ddff82af18a0e84e864ca18a80c2a2f4fe47e320249c2 SHA512 93c20d50a356c90f4293d8c7593611b2e0a9bc7567b6d946319f8ae06962ae1e297c8788f66fd38a1d3a0d44661bff9a07a63eaa84c8bb40ae01a45476be446c
DIST berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab.tar.bz2 90020 BLAKE2B 3dda1ba90c4a5ad5cbce2acf35e93f7adbd387ae0e0f929b2cd4cbdf263f95183103118f32be38e8c80de49d7df44c26319ee2f465061d004ae7e64e43eeeb3e SHA512 65f41f42ea563b2cdceb6c71633f41e6694a79ffd02afed4540353a8e73668ae40118dfc108163aae751acbaa7c49630ed99f423465089503c03aee76b07f221
DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2
DIST qemu-10-termios2-patches.tar.xz 6376 BLAKE2B f45fcf463f441e081b5e063423604fd5d2bcb529175f748aef7324d33bc6f5ba15b4ee7b88e95d1108071a53b83d22a6993ee4a6d08a4d66594e514c553bd401 SHA512 bb88bcf4d2dcf00473fa5dd61803b5fbe49bbaa6bd2e7a48d523292a752b4c3e51d8c9406606ae8bf0cbcf109d123802538f7a26b5a9c4eb702ff8c82ff51dd0
DIST qemu-10.0.0-docs.tar.xz 2651472 BLAKE2B 38be083c0c046e975a829df28089428425904cf66a3ea99cebc99b6f51eebdedf10a60be0c4f6bfb9e6f6cbc5dff1724dcd3b8d0982b5c421158258d869db4f3 SHA512 5f9332340bf68b3c0da4b48174330674f5235b98c3e275792fcbeec4bacca2faa84865c01c0cdd1e95388d9656a5dbf1d6baca2d1c8b2996c42511c966d9edd7
DIST qemu-10.0.0.tar.xz 135618260 BLAKE2B 3408c7b2a38ace7f0b2e0912411a26cab96cb23bcb03d7095f7b081cb88db55f36b004ff6458281d73190b9cc9006da85dde2a0b4b068c80662a8de205c29fda SHA512 2215458ed8be3ab0b0032fe2a96e79183f5fc2da323d927018412ea3d980b022a07ba87d4f446229eaaa7d1b19a577d438dbcaa3af3bd537c7720b56734a2d8b
DIST qemu-10.0.2.tar.xz 135678180 BLAKE2B be4ddf050d2102cefded5b4967222df749ee8af92c2427c31a9b29b3800fac8bb328daf2c38d11aa307b51eb7d7243f9b064b3bf24d446a001e5520359ee83c3 SHA512 7fda582c3845ea663aa5eda21bb38ebcfb6c25bccf8944ea6cdf8b5be6946b5a874b36674a7f5db3e325abb9cca0dd9bc0727837fdceb71a8c947d96169a9b20
DIST qemu-10.0.3.tar.xz 135736600 BLAKE2B 382800d9a9f5241123ebeb43d8eaa6a4aaf9acae0df7a25f2c7831aa7eeb97014cff29886c53f03ea0a1ac98729b85bad1e4d5634e592a373af84f79a9219adc SHA512 7f37c2df5ac7048fb32f1d89a7c2da0929be9d2f5767bc209ca1e99167f196fb5867fc8b69f915c8c349c58089ce3d7e08c9a3f35a73223abff258b9a5bf3466
DIST qemu-10.0.4.tar.xz 141652160 BLAKE2B 987b69f2d9f2e98a1447c321a00a5c8df7114285c2bfabe7e127d57afb8b1d0b56dc34967be9e161652fd07dc25a0b09135a01758a82973ef819d71a2d5c6748 SHA512 1737124306b293401362ce33b5ce226df237cc577466afdff510b7f8e851e16708c7ec8d282e86dce3d66b54d1ff14876ac448061faf43d59de375b817155a1e
DIST qemu-10.0.5.tar.xz 141642600 BLAKE2B bd7abfd5a977cf47862f0a7b26ce4e36c857dd858e0d0def652c00e9186fe476f461005b673bac6031162b5de47d412c1b7faebdbf4456487501f6d4a37f69b7 SHA512 c87948868910f458aeb724ebfe71db10f0ca1e9e0e6b4c4f082c2776d1c8f64c36f65bc5714d4625f6919d4064452f4378a7578273b69db6d4295d90b75fc86f
DIST qemu-10.0.6.tar.xz 141762220 BLAKE2B 89ee1fd339b2ca047023b738415f839d2042cfbdb9305901fecc70142f2d8d208a34562d81e803ddd2438964adb36b7965ca92538f91f98291e97c43b61baa12 SHA512 7d5c2c28c74517909a1dcbf517cf88631241afc24e25e5a5bc8ead2af3c818360e1ce8241cb477deeae528aab3e198ba40a5bb78c6205b28430600c0f2f5294b
DIST qemu-10.0.7.tar.xz 141766020 BLAKE2B 13016dfe09da81417f3359f980b2b62a857a28e6acce2b01eba3f397b985c422e52f3c68724bfad73ce6fbeec65cabb02d2df09f08340f9dad68578d5e3f801e SHA512 6def50d5ed08fde787e982a5ae668f97323d40f1996bc299c4c79fbd2944eb14c3f4d1ceab977a0fe6f80298825a5285decc20afca1966a738900932fbfeb31d
DIST qemu-10.1.0-docs.tar.xz 2788092 BLAKE2B c9f1138e6eb19966da05b5be6e28640cabf698cb7c4247e0a69b29ed71d462423ba356efc8c0f26a727a58b4adc84edc3eefbff12a35e0c93e475f0ab51e6ff7 SHA512 96d9133d83991014c3ce9a57273a017f45bf29ae3f7029c5b926c8c5fbfd0e8da80dbbecca038b981312cec68b931a0471837a0aebd3e5dbc1648eb49e28ecc9
DIST qemu-10.1.0.tar.xz 141999456 BLAKE2B 025012e73cdd2468b1b0fdef9b34aae41893780cfcad0d52c05e7f67ff7a9969c8c596f006b8a7e6f1b59e39da8fdec07d6f241911c604502755acd26bb750b6 SHA512 20552a524b6b298181df1af7084b470ded3fe8d1505f05011dda3c33cbc3d91f518ce026b44ba1a8b7f34c64ae81afddceda383066f4772a3a2a6333a2638caf
DIST qemu-10.1.1.tar.xz 142046220 BLAKE2B 3617898fb4275e1e18f9567e9a9137ad0f3e3e3bc6a1b77301fd59614047757d77a9b810ece2e504ff47c1b98e2b9881a1ff551a4bc356c87c0d5d85f471a59b SHA512 72ca08894fb63c734163a53c6a836a6237de0f9f4ece4570e871bf80bcfba43fb5d4f11715564e0aef7244b7b3c4fe1890d5f10bbb05528b592d25cd95a57dfa
DIST qemu-10.1.2.tar.xz 142050300 BLAKE2B 6e6e27c5de4f70f928a19ef64c00adbcb9723882db3eabd6acd7543f6b3d886db2862cf75ddcec86012c103d6927be464f03e2a3e91873b87cbbcafa0be95671 SHA512 4defbcb78f65ba3d8079466bdb3ab29e26f10129723e045d34901e7d524656e5ff729dc97fb33537febe2596eb0b21a02aadd88007eb5b226e599bd236213263
DIST qemu-10.1.3.tar.xz 142006316 BLAKE2B d0e3781a7fe84190eb96e9dd34860222b74fd73da182684f289c359c2555e8b02c0f3e77d3342837fe2ff5c5ce3ad81dac642fae9eab1d9e52f2bcac28ffe6c0 SHA512 67608a5a422c93c494159d649a0afb296231ec2d96a6fc03b119375da4180162ba25a74bb6204a8cb36375709c1f682ef56c42961816dc2107f4d67bb8e10db4
DIST qemu-10.2.0-docs.tar.xz 2858324 BLAKE2B 0c7a66f401ace63568cb9bb09fbfa4a456037f2d9712576211c57674d3aa6dacf9c22e92f1b92bc92794b61f0bc674fa4e1c415fd4873330df4befc492395382 SHA512 f078f0a219a52a3bcb18d046b3b0b297cfba5dc1181ee67db45919fede46db2c0d83288ab430bff1673fca8ae39cb99d10d9b770b52970e324f4b6d94374c937
DIST qemu-10.2.0.tar.xz 141093360 BLAKE2B f0522a35221fbb4b2b2703c3a75be663e13a10357816ea60562323481c41bb18a93bf7202697df8a8b8f44e7685299ab3ffdc6bb791d785d8e4146658134d600 SHA512 cd910090cf8146fdd30151bded8bebe43d9e7fce8b84d9f87130a99d0bd908f310f4bef5484b53a56c29dd7a08410890d02d0a7ab90ce6af73522ff8ba5b364e
DIST qemu-9.1.0-docs.tar.xz 2376072 BLAKE2B 31d13133b3a2e21a7d9b5af028407610ae8f2fa61dd296fc35e57fc12eb66cfd1a39ec5e3b5a3852095d10a388f424f8a38417b3ab58ca30d0817ece779328cf SHA512 5b705b577daad6aa010d5c713db9dc314114334b89901840ebcecc9032595a969f5ad9054e42b36b2be5ef9f5d6dc1159841ff46dbb08314b5c48491aa631040
DIST qemu-9.1.3.tar.xz 132492084 BLAKE2B 268c8fb91dd5fc4e393a46a578537338861e5d2a92c381517447c6c2fe67604ed9aacc96371c864dc7f4a800cc9b9f94118d17c5dcc24f3fac5be0a18ca553e5 SHA512 e7b938e72eb4a8a4a6680ce3b282a4e5cbd1ad30003bed959e51ea2621acea7434b4366ef6559e3622fac8865ad212702f393ba7698be38cf2fc8f264b951318
DIST qemu-9.2.0-docs.tar.xz 2431076 BLAKE2B 420148b9d7cafbdc9aea21b0d0a84a53ca0d17fb99fc34ae4c0786fa7d4ce40838f4b3173508b90742d6dfbfd4b58dda25b2e5cd1394241b0b56a64fe5705d9b SHA512 88816e326e9eac9acf0a1c73e677552845d6885e220b55e795241c40d2c1bd1b1994a22e56f95046e420225e0b7dc839d459f1c1e5318c8c36392727a86b3008

View File

@ -1,25 +0,0 @@
Do not use system's 'qemu-keymap' in native case.
--- a/meson.build
+++ b/meson.build
@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host
endif
if get_option('xkbcommon').auto() and not have_system and not have_tools
xkbcommon = not_found
+elif get_option('xkbcommon').disabled()
+ xkbcommon = not_found
else
xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
method: 'pkg-config', static: enable_static)
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -33,7 +33,9 @@ keymaps = {
'tr': '-l tr',
}
-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
+if meson.is_cross_build()
native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
+elif get_option('xkbcommon').disabled()
+ native_qemu_keymap = not_found
else
native_qemu_keymap = qemu_keymap

View File

@ -1,14 +0,0 @@
Allow MAKE='make V=1' and similar.
https://bugs.gentoo.org/795678
--- a/configure
+++ b/configure
@@ -1953,7 +1953,7 @@ if test -z "$python"
then
error_exit "Python not found. Use --python=/path/to/python"
fi
-if ! has "$make"
+if ! has $make
then
error_exit "GNU make ($make) not found"
fi

View File

@ -1,32 +0,0 @@
From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001
From: Matthias Maier <tamiko@43-1.org>
Date: Mon, 4 Apr 2022 12:56:59 +0200
Subject: [PATCH] also build virtfs-proxy-helper
The Gentoo ebuild splits the qemu build into a softmmu, user and tool
phase in order to be able to build and link some of the qemu emulators
statically. This unfortunately has the consequence that we never
configure with "have_virtfs" and "have_tools" at the same time.
As a workaround, simply build the virtfs userland unconditionally. After
all, it is a tiny executable
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 65a885ea69..29ce7a5a8e 100644
--- a/meson.build
+++ b/meson.build
@@ -1684,7 +1684,7 @@ have_virtfs = get_option('virtfs') \
.disable_auto_if(not have_tools and not have_system) \
.allowed()
-have_virtfs_proxy_helper = targetos != 'darwin' and have_virtfs and have_tools
+have_virtfs_proxy_helper = have_tools and libattr.found() and libcap_ng.found()
if get_option('block_drv_ro_whitelist') == ''
config_host_data.set('CONFIG_BDRV_RO_WHITELIST', '')
--
2.35.1

View File

@ -1,31 +0,0 @@
Forward ported from qemu-2.11.1-capstone_include_path.patch.
This time also fix the capstone.h header check to use the path we're
already patching in.
Bug: https://bugs.gentoo.org/873157
diff --git a/include/disas/capstone.h b/include/disas/capstone.h
index e29068dd97..d8fdc5d537 100644
--- a/include/disas/capstone.h
+++ b/include/disas/capstone.h
@@ -3,7 +3,7 @@
#ifdef CONFIG_CAPSTONE
-#include <capstone.h>
+#include <capstone/capstone.h>
#else
diff --git a/meson.build b/meson.build
index 20fddbd707..50ce96bbd1 100644
--- a/meson.build
+++ b/meson.build
@@ -2605,7 +2605,7 @@ if not get_option('capstone').auto() or have_system or have_user
# that reports a wrong -I path, causing the #include to
# fail later. If the system has such a broken version
# do not use it.
- if capstone.found() and not cc.compiles('#include <capstone.h>',
+ if capstone.found() and not cc.compiles('#include <capstone/capstone.h>',
dependencies: [capstone])
capstone = not_found
if get_option('capstone').enabled()

View File

@ -1,45 +0,0 @@
commit 433c2acd1b9c3f7f5903273e85fed9a7f9157b23
Author: John Helmert III <ajak@gentoo.org>
Date: Wed Jan 4 12:25:08 2023 -0600
meson.build: disable gmp
gmp isn't required, and we want to avoid linking to it automatigcally
in Gentoo.
Bug: https://bugs.gentoo.org/886207
Signed-off-by: John Helmert III <ajak@gentoo.org>
diff --git a/meson.build b/meson.build
index 5c6b5a1c75..2f9550362d 100644
--- a/meson.build
+++ b/meson.build
@@ -1234,15 +1234,6 @@ if not gnutls_crypto.found()
endif
endif
-gmp = dependency('gmp', required: false, method: 'pkg-config', kwargs: static_kwargs)
-if nettle.found() and gmp.found()
- hogweed = dependency('hogweed', version: '>=3.4',
- method: 'pkg-config',
- required: get_option('nettle'),
- kwargs: static_kwargs)
-endif
-
-
gtk = not_found
gtkx11 = not_found
vte = not_found
diff --git a/meson_options.txt b/meson_options.txt
index 4b749ca549..e06b274960 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -277,6 +277,8 @@ option('vduse_blk_export', type: 'feature', value: 'auto',
option('capstone', type: 'feature', value: 'auto',
description: 'Whether and how to find the capstone library')
+option('gmp', type: 'feature', value: 'auto',
+ description: 'Whether or not to find the gmp library')
option('fdt', type: 'combo', value: 'auto',
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
description: 'Whether and how to find the libfdt library')

View File

@ -1,29 +0,0 @@
diff --git a/meson.build b/meson.build
index c44d05a13..5c5c09894 100644
--- a/meson.build
+++ b/meson.build
@@ -671,6 +671,8 @@ endif
if get_option('xkbcommon').auto() and not have_system and not have_tools
xkbcommon = not_found
+elif get_option('xkbcommon').disabled()
+ xkbcommon = not_found
else
xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
method: 'pkg-config', kwargs: static_kwargs)
diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
index 158a3b410..3bb318a23 100644
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -33,8 +33,10 @@ keymaps = {
'tr': '-l tr',
}
-if meson.is_cross_build() or not xkbcommon.found()
+if meson.is_cross_build()
native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
+elif get_option('xkbcommon').disabled()
+ native_qemu_keymap = not_found
else
native_qemu_keymap = qemu_keymap
endif

View File

@ -1,32 +0,0 @@
From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001
From: Matthias Maier <tamiko@43-1.org>
Date: Mon, 4 Apr 2022 12:56:59 +0200
Subject: [PATCH] also build virtfs-proxy-helper
The Gentoo ebuild splits the qemu build into a softmmu, user and tool
phase in order to be able to build and link some of the qemu emulators
statically. This unfortunately has the consequence that we never
configure with "have_virtfs" and "have_tools" at the same time.
As a workaround, simply build the virtfs userland unconditionally. After
all, it is a tiny executable
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 063c736aee..fda8639293 100644
--- a/meson.build
+++ b/meson.build
@@ -2008,8 +2008,6 @@ have_virtfs = get_option('virtfs') \
.allowed()
have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \
- .require(targetos != 'darwin', error_message: 'the virtfs proxy helper is incompatible with macOS') \
- .require(have_virtfs, error_message: 'the virtfs proxy helper requires that virtfs is enabled') \
.disable_auto_if(not have_tools) \
.require(libcap_ng.found(), error_message: 'the virtfs proxy helper requires libcap-ng') \
.allowed()
--
2.35.1

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -44,7 +44,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"
@ -421,7 +421,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -420,7 +420,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -423,7 +423,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
@ -900,6 +900,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -963,7 +966,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -332,6 +332,7 @@ RDEPEND="
"
PATCHES=(
"${FILESDIR}"/${PN}-10.1.2-fix_passt.patch
"${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
@ -422,7 +423,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
@ -665,6 +666,10 @@ qemu_src_configure() {
)
if [[ ! ${buildtype} == "user" ]] ; then
# used by passt and spice, enable it because glib is required anyway
conf_opts+=(
--enable-gio
)
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
@ -898,6 +903,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -961,7 +969,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..14} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -47,6 +47,11 @@ else
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
# this is still required to support glibc-2.42 in qemu-user, bug 961307
# source: https://gitlab.com/qemu-project/qemu/-/issues/3065#note_2969046870
#
SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/qemu-10-termios2-patches.tar.xz"
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
@ -59,11 +64,11 @@ 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
ncurses nfs nls numa opengl +oss pam passt +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 wayland X xattr xdp xen
usbredir valgrind vde +vhost-net virgl virtfs +vnc vte wayland X xattr xdp xen
zstd"
COMMON_TARGETS="
@ -177,8 +182,8 @@ SOFTMMU_TOOLS_DEPEND="
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(+)]
>=net-libs/gnutls-3.7.5:=[static-libs(+)]
>=dev-libs/nettle-3.7.3:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3[wayland?,X?]
@ -207,6 +212,7 @@ SOFTMMU_TOOLS_DEPEND="
media-libs/mesa[egl(+),gbm(+)]
)
pam? ( sys-libs/pam )
passt? ( net-misc/passt )
pipewire? ( >=media-video/pipewire-0.3.60 )
png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
pulseaudio? ( media-libs/libpulse )
@ -319,6 +325,7 @@ DEPEND="
${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static-user? ( ${ALL_DEPEND} )
valgrind? ( dev-debug/valgrind )
"
RDEPEND="
${CDEPEND}
@ -330,6 +337,7 @@ RDEPEND="
"
PATCHES=(
"${FILESDIR}"/${PN}-10.1.2-fix_passt.patch
"${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
@ -420,7 +428,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
@ -488,6 +496,9 @@ src_prepare() {
default
# this is still required to support glibc-2.42 in qemu-user
eapply "${WORKDIR}/termios2-patches"/*.patch
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
@ -570,6 +581,7 @@ qemu_src_configure() {
$(use_enable pulseaudio pa)
$(use_enable selinux)
$(use_enable xattr attr)
$(use_enable valgrind)
)
# Disable options not used by user targets. This simplifies building
@ -632,6 +644,7 @@ qemu_src_configure() {
$(conf_notuser numa)
$(conf_notuser opengl)
$(conf_notuser pam auth-pam)
$(conf_notuser passt)
$(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
@ -661,6 +674,10 @@ qemu_src_configure() {
)
if [[ ! ${buildtype} == "user" ]] ; then
# used by passt and spice, enable it because glib is required anyway
conf_opts+=(
--enable-gio
)
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
@ -894,6 +911,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -957,7 +977,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..14} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -177,8 +177,8 @@ SOFTMMU_TOOLS_DEPEND="
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(+)]
>=net-libs/gnutls-3.7.5:=[static-libs(+)]
>=dev-libs/nettle-3.7.3:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3[wayland?,X?]
@ -332,12 +332,12 @@ RDEPEND="
"
PATCHES=(
"${FILESDIR}"/${PN}-10.1.2-fix_passt.patch
"${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
"${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
"${FILESDIR}"/${PN}-7.2.16-optionrom-pass-Wl-no-error-rwx-segments.patch
"${FILESDIR}"/${PN}-10.0.5-hppa1.1.patch
)
QA_PREBUILT="
@ -423,7 +423,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
@ -666,6 +666,10 @@ qemu_src_configure() {
)
if [[ ! ${buildtype} == "user" ]] ; then
# used by passt and spice, enable it because glib is required anyway
conf_opts+=(
--enable-gio
)
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
@ -899,6 +903,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -962,7 +969,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
FIRMWARE_ABI_VERSION="7.2.0"
@ -408,7 +408,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
FIRMWARE_ABI_VERSION="7.2.0"
@ -407,7 +407,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then

View File

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
FIRMWARE_ABI_VERSION="7.2.0"
@ -406,7 +406,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,12 +8,12 @@ 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"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{12..14} )
PYTHON_REQ_USE="ensurepip(-),ncurses,readline"
inherit eapi9-ver flag-o-matic linux-info toolchain-funcs python-r1 udev fcaps \
@ -47,6 +47,11 @@ else
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
# this is still required to support glibc-2.42 in qemu-user, bug 961307
# source: https://gitlab.com/qemu-project/qemu/-/issues/3065#note_2969046870
#
SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/qemu-10-termios2-patches.tar.xz"
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
@ -177,8 +182,8 @@ SOFTMMU_TOOLS_DEPEND="
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(+)]
>=net-libs/gnutls-3.7.5:=[static-libs(+)]
>=dev-libs/nettle-3.7.3:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3[wayland?,X?]
@ -332,6 +337,7 @@ RDEPEND="
"
PATCHES=(
"${FILESDIR}"/${PN}-10.1.2-fix_passt.patch
"${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
@ -422,7 +428,7 @@ pkg_pretend() {
use test && CONFIG_CHECK+=" IP_MULTICAST"
ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if use amd64 || use x86; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
@ -490,6 +496,9 @@ src_prepare() {
default
# this is still required to support glibc-2.42 in qemu-user
eapply "${WORKDIR}/termios2-patches"/*.patch
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
@ -636,7 +645,6 @@ qemu_src_configure() {
$(conf_notuser opengl)
$(conf_notuser pam auth-pam)
$(conf_notuser passt)
$(conf_notuser passt gio)
$(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
@ -666,6 +674,10 @@ qemu_src_configure() {
)
if [[ ! ${buildtype} == "user" ]] ; then
# used by passt and spice, enable it because glib is required anyway
conf_opts+=(
--enable-gio
)
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
@ -899,6 +911,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -962,7 +977,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog