diff options
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" | |||
6 | HOMEPAGE = "http://qemu.org" | 6 | HOMEPAGE = "http://qemu.org" |
7 | LICENSE = "GPL-2.0-only & LGPL-2.1-only" | 7 | LICENSE = "GPL-2.0-only & LGPL-2.1-only" |
8 | 8 | ||
9 | DEPENDS += "bison-native meson-native ninja-native" | ||
10 | |||
9 | RDEPENDS:${PN}-ptest = "bash" | 11 | RDEPENDS:${PN}-ptest = "bash" |
10 | 12 | ||
11 | require qemu-targets-8.1.inc | 13 | require 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 | ||
123 | EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}" | ||
124 | EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}" | ||
125 | |||
119 | B = "${WORKDIR}/build" | 126 | B = "${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 | ||
131 | do_configure() { | 138 | do_configure() { |
139 | export PKG_CONFIG=pkg-config | ||
132 | ${S}/configure ${EXTRA_OECONF} | 140 | ${S}/configure ${EXTRA_OECONF} |
133 | } | 141 | } |
134 | do_configure[cleandirs] += "${B}" | 142 | do_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 |
174 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" | 182 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" |
175 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" | 183 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" |
176 | 184 | ||
177 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" | 185 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" |
178 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | 186 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" |
@@ -232,6 +240,8 @@ PACKAGECONFIG[slirp] = "--enable-slirp,--disable-slirp,libslirp" | |||
232 | PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" | 240 | PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" |
233 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," | 241 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," |
234 | PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" | 242 | PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" |
243 | PACKAGECONFIG[pipewire] = "--enable-pipewire,--disable-pipewire,pipewire" | ||
244 | PACKAGECONFIG[sndio] = "--enable-sndio,--disable-sndio,sndio" | ||
235 | 245 | ||
236 | INSANE_SKIP:${PN}-common = "arch" | 246 | INSANE_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 @@ | |||
1 | qemu: Ensure pip and the python venv aren't used for meson | ||
2 | |||
3 | Qemu wants to use a supported python version and a specific meson version | ||
4 | to "help" users and uses pip and creates a venv to do this. This is a nightmare | ||
5 | for us. Our versions stay up to date and should be supported so we don't | ||
6 | really need/want this wrapping. Tweak things to disable it. | ||
7 | |||
8 | There was breakage from the wrapper shown by: | ||
9 | |||
10 | bitbake qemu-system-native | ||
11 | <add DISTRO_FEATURES:remove = "opengl" to local.conf> | ||
12 | bitbake qemu-system-native -c configure | ||
13 | |||
14 | which would crash. The issue is the change in configuration removes pieces | ||
15 | from the sysroot but pyc files remainm as do pieces of pip which causes | ||
16 | problems. | ||
17 | |||
18 | Ideally we'd convince upstream to allow some way to disable the venv on | ||
19 | the understanding that if/when it breaks, we keep the pieces. The patch | ||
20 | as it stands is a workaround. | ||
21 | |||
22 | Upstream-Status: Inappropriate [oe specific] | ||
23 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
24 | |||
25 | Index: 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 @@ | |||
1 | BPN = "qemu-xilinx" | 1 | BPN = "qemu-xilinx" |
2 | 2 | ||
3 | DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" | 3 | DEPENDS += "glib-2.0-native zlib-native" |
4 | 4 | ||
5 | require qemu-xilinx-2024.1.inc | 5 | require qemu-xilinx-2024.1.inc |
6 | require qemu-xilinx-native-8.1.inc | 6 | require 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 @@ | |||
1 | BPN = "qemu-xilinx" | 1 | BPN = "qemu-xilinx" |
2 | 2 | ||
3 | inherit python3-dir | ||
4 | |||
5 | require qemu-system-native-alt.inc | 3 | require qemu-system-native-alt.inc |
6 | require qemu-xilinx-2024.1.inc | 4 | require qemu-xilinx-2024.1.inc |
7 | require qemu-xilinx-native-8.1.inc | 5 | require 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 |
12 | DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native meson-native ninja-native" | 10 | DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native" |
13 | 11 | ||
14 | DEPENDS += "qemu-xilinx-multiarch-helper-native" | 12 | DEPENDS += "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 | ||
5 | require qemu-8.1.inc | 5 | require qemu-8.1.inc |
6 | 6 | ||
7 | DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" | 7 | DEPENDS += "glib-2.0 zlib pixman" |
8 | 8 | ||
9 | DEPENDS:append:libc-musl = " libucontext" | 9 | DEPENDS:append:libc-musl = " libucontext" |
10 | 10 | ||