summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc12
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch45
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc1
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb2
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb4
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb2
6 files changed, 60 insertions, 6 deletions
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc
index a6920fec..5154e247 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc
@@ -6,6 +6,8 @@ a variety of guest operating systems"
6HOMEPAGE = "http://qemu.org" 6HOMEPAGE = "http://qemu.org"
7LICENSE = "GPL-2.0-only & LGPL-2.1-only" 7LICENSE = "GPL-2.0-only & LGPL-2.1-only"
8 8
9DEPENDS += "bison-native meson-native ninja-native"
10
9RDEPENDS:${PN}-ptest = "bash" 11RDEPENDS:${PN}-ptest = "bash"
10 12
11require qemu-targets-8.1.inc 13require qemu-targets-8.1.inc
@@ -31,6 +33,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
31 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ 33 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
32 file://fixedmeson.patch \ 34 file://fixedmeson.patch \
33 file://fixmips.patch \ 35 file://fixmips.patch \
36 file://no-pip.patch \
34 file://qemu-guest-agent.init \ 37 file://qemu-guest-agent.init \
35 file://qemu-guest-agent.udev \ 38 file://qemu-guest-agent.udev \
36 " 39 "
@@ -113,9 +116,13 @@ EXTRA_OECONF = " \
113 --extra-ldflags='${LDFLAGS}' \ 116 --extra-ldflags='${LDFLAGS}' \
114 --disable-download \ 117 --disable-download \
115 --disable-docs \ 118 --disable-docs \
119 --host-cc='${BUILD_CC}' \
116 ${PACKAGECONFIG_CONFARGS} \ 120 ${PACKAGECONFIG_CONFARGS} \
117 " 121 "
118 122
123EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}"
124EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}"
125
119B = "${WORKDIR}/build" 126B = "${WORKDIR}/build"
120 127
121#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3" 128#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3"
@@ -129,6 +136,7 @@ do_configure:prepend:class-native() {
129} 136}
130 137
131do_configure() { 138do_configure() {
139 export PKG_CONFIG=pkg-config
132 ${S}/configure ${EXTRA_OECONF} 140 ${S}/configure ${EXTRA_OECONF}
133} 141}
134do_configure[cleandirs] += "${B}" 142do_configure[cleandirs] += "${B}"
@@ -172,7 +180,7 @@ do_install:append() {
172 180
173# Disable kvm/virgl/mesa on targets that do not support it 181# Disable kvm/virgl/mesa on targets that do not support it
174PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" 182PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+"
175PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" 183PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie"
176 184
177PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" 185PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
178PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" 186PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
@@ -232,6 +240,8 @@ PACKAGECONFIG[slirp] = "--enable-slirp,--disable-slirp,libslirp"
232PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" 240PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi"
233PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," 241PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack,"
234PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" 242PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils"
243PACKAGECONFIG[pipewire] = "--enable-pipewire,--disable-pipewire,pipewire"
244PACKAGECONFIG[sndio] = "--enable-sndio,--disable-sndio,sndio"
235 245
236INSANE_SKIP:${PN}-common = "arch" 246INSANE_SKIP:${PN}-common = "arch"
237 247
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch
new file mode 100644
index 00000000..09e13e8b
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch
@@ -0,0 +1,45 @@
1qemu: Ensure pip and the python venv aren't used for meson
2
3Qemu wants to use a supported python version and a specific meson version
4to "help" users and uses pip and creates a venv to do this. This is a nightmare
5for us. Our versions stay up to date and should be supported so we don't
6really need/want this wrapping. Tweak things to disable it.
7
8There was breakage from the wrapper shown by:
9
10bitbake qemu-system-native
11<add DISTRO_FEATURES:remove = "opengl" to local.conf>
12bitbake qemu-system-native -c configure
13
14which would crash. The issue is the change in configuration removes pieces
15from the sysroot but pyc files remainm as do pieces of pip which causes
16problems.
17
18Ideally we'd convince upstream to allow some way to disable the venv on
19the understanding that if/when it breaks, we keep the pieces. The patch
20as it stands is a workaround.
21
22Upstream-Status: Inappropriate [oe specific]
23Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
24
25Index: qemu-8.1.2/configure
26===================================================================
27--- qemu-8.1.2.orig/configure
28+++ qemu-8.1.2/configure
29@@ -1009,7 +1009,7 @@ python="$(command -v "$python")"
30 echo "python determined to be '$python'"
31 echo "python version: $($python --version)"
32
33-python="$($python -B "${source_path}/python/scripts/mkvenv.py" create pyvenv)"
34+python=python3
35 if test "$?" -ne 0 ; then
36 error_exit "python venv creation failed"
37 fi
38@@ -1017,6 +1017,7 @@ fi
39 # Suppress writing compiled files
40 python="$python -B"
41 mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
42+mkvenv=true
43
44 mkvenv_flags=""
45 if test "$download" = "enabled" ; then
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc
index e27409c5..ad2af244 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc
@@ -61,6 +61,7 @@ SRC_URI += "\
61 file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ 61 file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
62 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ 62 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
63 file://fixedmeson.patch \ 63 file://fixedmeson.patch \
64 file://no-pip.patch \
64 file://qemu-guest-agent.init \ 65 file://qemu-guest-agent.init \
65 file://qemu-guest-agent.udev \ 66 file://qemu-guest-agent.udev \
66 " 67 "
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb
index ffcf064b..5ffdeb98 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb
@@ -1,6 +1,6 @@
1BPN = "qemu-xilinx" 1BPN = "qemu-xilinx"
2 2
3DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" 3DEPENDS += "glib-2.0-native zlib-native"
4 4
5require qemu-xilinx-2024.1.inc 5require qemu-xilinx-2024.1.inc
6require qemu-xilinx-native-8.1.inc 6require qemu-xilinx-native-8.1.inc
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb
index eafa2c36..7e985088 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb
@@ -1,7 +1,5 @@
1BPN = "qemu-xilinx" 1BPN = "qemu-xilinx"
2 2
3inherit python3-dir
4
5require qemu-system-native-alt.inc 3require qemu-system-native-alt.inc
6require qemu-xilinx-2024.1.inc 4require qemu-xilinx-2024.1.inc
7require qemu-xilinx-native-8.1.inc 5require qemu-xilinx-native-8.1.inc
@@ -9,7 +7,7 @@ require qemu-xilinx-native-8.1.inc
9# As some of the files installed by qemu-native and qemu-system-native 7# As some of the files installed by qemu-native and qemu-system-native
10# are the same, we depend on qemu-native to get the full installation set 8# are the same, we depend on qemu-native to get the full installation set
11# and avoid file clashes 9# and avoid file clashes
12DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native meson-native ninja-native" 10DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native"
13 11
14DEPENDS += "qemu-xilinx-multiarch-helper-native" 12DEPENDS += "qemu-xilinx-multiarch-helper-native"
15 13
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb
index 2f9305e1..4722e1f5 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb
@@ -4,7 +4,7 @@ FILESEXTRAPATHS:append := ":${THISDIR}/qemu-8.1"
4 4
5require qemu-8.1.inc 5require qemu-8.1.inc
6 6
7DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" 7DEPENDS += "glib-2.0 zlib pixman"
8 8
9DEPENDS:append:libc-musl = " libucontext" 9DEPENDS:append:libc-musl = " libucontext"
10 10