commit:     d6f20b2493dd5a01308582403e31050b33037508
Author:     Michal Privoznik <michal.privoznik <AT> gmail <DOT> com>
AuthorDate: Sun Apr 28 14:48:08 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 01:26:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6f20b24

app-emulation/qemu: Update live ebuild

Because we want to download all dependencies in fetch phase
(fixed in [1]), we keep a list of subprojects among with their
latest commit hash. Well, in commit [2] qemu bumped
'berkeley-testfloat-3'. Reflect that in our live ebuild.
Unfortunately, I've missed this in qemu-8.2.0 timeframe (in which
the qemu commit was merged), but there's no real harm as these
subprojects are part of dist tar. IOW, it's only live ebuild that
needs to fetch subprojects explicitly.

Also, some patches don't apply cleanly anymore. Rebase them.

Oh, and 'nios2' target was removed [3].

1: https://github.com/gentoo/gentoo/pull/32684
2: 
https://gitlab.com/qemu-project/qemu/-/commit/c01196bdddc280ae3710912e98e78f3103155eaf
3: 
https://gitlab.com/qemu-project/qemu/-/commit/6c3014858c4c0024dd0560f08a6eda0f92f658d6

Signed-off-by: Michal Privoznik <michal.privoznik <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/qemu/Manifest                        |  2 +-
 ...qemu-9.0.0-also-build-virtfs-proxy-helper.patch | 35 +++++++++++++++++
 .../files/qemu-9.0.0-capstone-include-path.patch   | 42 +++++++++++++++++++++
 .../qemu/files/qemu-9.0.0-disable-keymap.patch     | 44 ++++++++++++++++++++++
 app-emulation/qemu/qemu-9999.ebuild                | 10 ++---
 5 files changed, 127 insertions(+), 6 deletions(-)

diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index a6d749083741..a77588838fe3 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -1,5 +1,5 @@
 DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 
84094 BLAKE2B 
396f9df2e6ad559545054e89916915c3a3c8ff80e5e409498fec497b564d8b3ac9dd3cb966e26dce232ddff82af18a0e84e864ca18a80c2a2f4fe47e320249c2
 SHA512 
93c20d50a356c90f4293d8c7593611b2e0a9bc7567b6d946319f8ae06962ae1e297c8788f66fd38a1d3a0d44661bff9a07a63eaa84c8bb40ae01a45476be446c
-DIST berkeley-testfloat-3-40619cbb3bf32872df8c53cc457039229428a263.tar.bz2 
90086 BLAKE2B 
ab2070622453a7a0a1fbcf234df68cc7316474c04482b2ac13c700edbb5624968c5274f337dc84f06c4ab6c3e82698cd7b0b30fe206d004b0715f15a2cc7cfd1
 SHA512 
969892af9fdf16d45660753ed02bbd8d6159928e5e6ef2f87aed8a08d995bb19d2115fb6b559522074492b2595716d314c5c059bfa69c7fbb5aab9275582c22e
+DIST berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab.tar.bz2 
90020 BLAKE2B 
3dda1ba90c4a5ad5cbce2acf35e93f7adbd387ae0e0f929b2cd4cbdf263f95183103118f32be38e8c80de49d7df44c26319ee2f465061d004ae7e64e43eeeb3e
 SHA512 
65f41f42ea563b2cdceb6c71633f41e6694a79ffd02afed4540353a8e73668ae40118dfc108163aae751acbaa7c49630ed99f423465089503c03aee76b07f221
 DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 
BLAKE2B 
0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7
 SHA512 
8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2
 DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 
103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06
 SHA512 
a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
 DIST qemu-7.2.10.tar.xz 121311584 BLAKE2B 
e3b5156302cc699c38ad966340f68b1c72d00a2c420732368a22a9671a27d87ccd64e06c97b2e47d1dddf2d1d202b5103a6fc51221502b1c812d1c63a082d976
 SHA512 
d402dc49b9ed5da773785ce9c8ed75b66985286ab8a2f0956cb88277b9da88a5a86cf02226c6b24fe63635405f2fe89ebac9288cf2d4b59df22b4d05c2a8fe30

diff --git 
a/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch 
b/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch
new file mode 100644
index 000000000000..603d20c42fc8
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch
@@ -0,0 +1,35 @@
+From 951325a0c9519d4910d80cc6c7a5728c0dbc4946 Mon Sep 17 00:00:00 2001
+Message-ID: 
<951325a0c9519d4910d80cc6c7a5728c0dbc4946.1714317553.git.mpriv...@redhat.com>
+From: Matthias Maier <[email protected]>
+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.
+
+Signed-off-by: Michal Privoznik <[email protected]>
+---
+ meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index c3a2be7b2d..50a5cfcf4e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2116,8 +2116,6 @@ have_virtfs = get_option('virtfs') \
+     .allowed()
+ 
+ have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \
+-    .require(host_os != '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.43.2
+

diff --git a/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch 
b/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch
new file mode 100644
index 000000000000..3e0408d6b213
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch
@@ -0,0 +1,42 @@
+From 67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c Mon Sep 17 00:00:00 2001
+Message-ID: 
<67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c.1714317553.git.mpriv...@redhat.com>
+From: Michal Privoznik <[email protected]>
+Date: Sun, 28 Apr 2024 17:10:46 +0200
+Subject: [PATCH] Forward ported from qemu-7.1.0-capstone-include-path.patch.
+
+Bug: https://bugs.gentoo.org/873157
+Signed-off-by: Michal Privoznik <[email protected]>
+---
+ include/disas/capstone.h | 2 +-
+ meson.build              | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+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 ea3ccff968..c3a2be7b2d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1712,7 +1712,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()
+-- 
+2.43.2
+

diff --git a/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch 
b/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch
new file mode 100644
index 000000000000..c85d213626e2
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch
@@ -0,0 +1,44 @@
+From 8cca781563e89facd312d622a69af124eb2757c6 Mon Sep 17 00:00:00 2001
+Message-ID: 
<8cca781563e89facd312d622a69af124eb2757c6.1714317553.git.mpriv...@redhat.com>
+From: Michal Privoznik <[email protected]>
+Date: Sun, 28 Apr 2024 17:10:13 +0200
+Subject: [PATCH] 8.0.0-disable-keymap.patch
+
+Signed-off-by: Michal Privoznik <[email protected]>
+---
+ meson.build                 | 2 ++
+ pc-bios/keymaps/meson.build | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 5db2dbc12e..ea3ccff968 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1098,6 +1098,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')
+diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
+index 0bd8ce0077..3888f4c64f 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
+-- 
+2.43.2
+

diff --git a/app-emulation/qemu/qemu-9999.ebuild 
b/app-emulation/qemu/qemu-9999.ebuild
index 381a891e0191..12e510eb4cc0 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -31,7 +31,7 @@ if [[ ${PV} == *9999* ]]; then
        declare -A SUBPROJECTS=(
                [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6"
                
[berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037"
-               
[berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263"
+               
[berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab"
        )
 
        for proj in "${!SUBPROJECTS[@]}"; do
@@ -84,7 +84,6 @@ COMMON_TARGETS="
        mips64
        mips64el
        mipsel
-       nios2
        or1k
        ppc
        ppc64
@@ -316,11 +315,12 @@ RDEPEND="
 "
 
 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}-9.0.0-disable-keymap.patch
+       "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch
+       "${FILESDIR}"/${PN}-9.0.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="

Reply via email to