package/qemu: bump to version 5.2.0
authorRomain Naour <romain.naour@gmail.com>
Fri, 11 Dec 2020 22:47:10 +0000 (23:47 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 13 Dec 2020 09:36:41 +0000 (10:36 +0100)
From [1]:
"The build system is now partly based on Meson. However, building is
still done with configure and make as in previous versions of QEMU."

Qemu requires meson >= 0.55.3, Buildroot use the latest version 0.56.0.
In order to add host-meson dependency we have to remove --python option
since it requires to use the meson bundled into Qemu sources [2].

Even without --python, python3 is used. See config-host.mak:
PYTHON=output/host/bin/python3 -B

See config-host.mak to check if meson and ninja from HOST_DIR are used:
MESON=output/host/bin/meson
NINJA=output/host/bin/ninja

Since the switch to meson is partial and still requires using the
configure script, keep using generic-package infra.

Disable new options introduced in Qemu 5.2.0:
--disable-virtiofsd
--disable-vhost-user-blk-server

Runtime tested on gitlab [3]

[1] https://wiki.qemu.org/ChangeLog/5.2#Build_Information
[2] https://git.qemu.org/?p=qemu.git;a=blob;f=configure;h=18c26e0389741643748c70ac7788a996ef006834;hb=553032db17440f8de011390e5a1cfddd13751b0b#l1895
[3] https://gitlab.com/kubu93/buildroot/-/pipelines/228214205

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch
package/qemu/qemu.hash
package/qemu/qemu.mk

index 548ec3e76506973cb5469cab3e5131b0d1f080ee..841708995e935b55c7c237ceacbc697c465e5e2e 100644 (file)
@@ -18,10 +18,10 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
-index 4be78eb9b3..0a690bec55 100644
+index 4ebe25461a..0496674fbd 100644
 --- a/accel/tcg/user-exec.c
 +++ b/accel/tcg/user-exec.c
-@@ -508,7 +508,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+@@ -536,7 +536,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
  
  #if defined(__NetBSD__)
      pc = uc->uc_mcontext.__gregs[_REG_R15];
index 317c0b1a4e97bec9f092f28ab8a0c6e70db938f0..7d9936adb43c562df67031a88d16f0b443984dbd 100644 (file)
@@ -1,4 +1,4 @@
 # Locally computed, tarball verified with GPG signature
-sha256 c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5  qemu-5.1.0.tar.xz
-sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100  COPYING
-sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
+sha256  cb18d889b628fbe637672b0326789d9b0e3b8027e0445b936537c78549df17bc  qemu-5.2.0.tar.xz
+sha256  6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100  COPYING
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
index 2bac96bd66a128decb71256ec90505549a8cb02f..ecb02e7f484f55395c80ebc26d20e3d38849cb7c 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-QEMU_VERSION = 5.1.0
+QEMU_VERSION = 5.2.0
 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
 QEMU_SITE = http://download.qemu.org
 QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
@@ -14,8 +14,12 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB
 #       individual source files.
 
 #-------------------------------------------------------------
+
+# The build system is now partly based on Meson.
+# However, building is still done with configure and make as in previous versions of QEMU.
+
 # Target-qemu
-QEMU_DEPENDENCIES = host-pkgconf libglib2 zlib pixman host-python3
+QEMU_DEPENDENCIES = host-meson host-pkgconf libglib2 zlib pixman host-python3
 
 # Need the LIBS variable because librt and libm are
 # not automatically pulled. :-(
@@ -163,7 +167,8 @@ define QEMU_CONFIGURE_CMDS
                        --prefix=/usr \
                        --cross-prefix=$(TARGET_CROSS) \
                        --audio-drv-list= \
-                       --python=$(HOST_DIR)/bin/python3 \
+                       --meson=$(HOST_DIR)/bin/meson \
+                       --ninja=$(HOST_DIR)/bin/ninja \
                        --enable-kvm \
                        --enable-attr \
                        --enable-vhost-net \
@@ -194,6 +199,8 @@ define QEMU_CONFIGURE_CMDS
                        --disable-capstone \
                        --disable-git-update \
                        --disable-opengl \
+                       --disable-vhost-user-blk-server \
+                       --disable-virtiofsd \
                        $(QEMU_OPTS)
 endef
 
@@ -212,7 +219,7 @@ $(eval $(generic-package))
 #-------------------------------------------------------------
 # Host-qemu
 
-HOST_QEMU_DEPENDENCIES = host-pkgconf host-zlib host-libglib2 host-pixman host-python3
+HOST_QEMU_DEPENDENCIES = host-meson host-pkgconf host-zlib host-libglib2 host-pixman host-python3
 
 #       BR ARCH         qemu
 #       -------         ----
@@ -327,13 +334,16 @@ define HOST_QEMU_CONFIGURE_CMDS
                --host-cc="$(HOSTCC)" \
                --extra-cflags="$(HOST_QEMU_CFLAGS)" \
                --extra-ldflags="$(HOST_LDFLAGS)" \
-               --python=$(HOST_DIR)/bin/python3 \
+               --meson=$(HOST_DIR)/bin/meson \
+               --ninja=$(HOST_DIR)/bin/ninja \
                --disable-bzip2 \
                --disable-containers \
                --disable-curl \
                --disable-libssh \
                --disable-linux-io-uring \
                --disable-sdl \
+               --disable-vhost-user-blk-server \
+               --disable-virtiofsd \
                --disable-vnc-jpeg \
                --disable-vnc-png \
                --disable-vnc-sasl \