commit:     a1cc6f0bdfeb26400cbfac4fb86031c1bab3b6ef
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 30 23:23:54 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 23:47:26 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1cc6f0b

app-emulation/qemu: bump up to 5.0.0, bug #720138

Two new USE flags:
- io-uring for fast async io_uring I/O
- zstd for libzstd compression of migration traffic

Reported-by: Thomas Stein
Closes: https://bugs.gentoo.org/720138
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 app-emulation/qemu/Manifest                        |  1 +
 .../qemu/files/qemu-5.0.0-epoll-strace.patch       | 50 ++++++++++++++++++++++
 app-emulation/qemu/metadata.xml                    |  1 +
 .../qemu/{qemu-9999.ebuild => qemu-5.0.0.ebuild}   | 15 +++++--
 app-emulation/qemu/qemu-9999.ebuild                | 15 +++++--
 5 files changed, 74 insertions(+), 8 deletions(-)

diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index 7aa3b70b1a9..333933242cf 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -1,2 +1,3 @@
 DIST qemu-4.2.0-patches-r2.tar.xz 17868 BLAKE2B 
3783d0f923ded66cce1195248981c83bbaf8b7ad2a270207e92e60b4d05d4787cd9324649c113a4616c2a9ddcef99841264f19915615b7a0a24dac9febed48ba
 SHA512 
556f1c595a35ee4279b2d0890d90e48cd43d9d641ccca495e2494f62ab48dfc000dbe23718276271ced3d4b7680c814f8f8846195089ff56186f618063a83b48
 DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 
27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef
 SHA512 
2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56
+DIST qemu-5.0.0.tar.xz 62426192 BLAKE2B 
785d02ef79c95b5c4f0556186054885f9893d4e8a9f4b4f2d6199a4e1ae9c31d7c79dd900305469217f85d61bbe74134b601d5c6c1b0eee2b74792d010f1fd63
 SHA512 
21ef0cbe107c468a40f0fa2635db2a40048c8790b629dfffca5cd62bb1b502ea8eb133bfc40df5ecf1489e2bffe87f6829aee041cb8a380ff04a8afa23b39fcf

diff --git a/app-emulation/qemu/files/qemu-5.0.0-epoll-strace.patch 
b/app-emulation/qemu/files/qemu-5.0.0-epoll-strace.patch
new file mode 100644
index 00000000000..c0f9a2e008d
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-5.0.0-epoll-strace.patch
@@ -0,0 +1,50 @@
+https://lists.nongnu.org/archive/html/qemu-devel/2020-04/msg02643.html
+
+From 6bce23d8daf96a7faa9288e7414948cda31ddaa2 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <[email protected]>
+Date: Thu, 16 Apr 2020 18:55:49 +0100
+Subject: [PATCH] linux-user/strace.list: fix epoll_create{,1} -strace output
+
+Fix syscall name and parameters priinter.
+
+Before the change:
+
+```
+$ alpha-linux-user/qemu-alpha -strace -L /usr/alpha-unknown-linux-gnu/ /tmp/a
+...
+1274697 
%s(%d)(2097152,274903156744,274903156760,274905840712,274877908880,274903235616)
 = 3
+1274697 exit_group(0)
+```
+
+After the change:
+
+```
+$ alpha-linux-user/qemu-alpha -strace -L /usr/alpha-unknown-linux-gnu/ /tmp/a
+...
+1273719 epoll_create1(2097152) = 3
+1273719 exit_group(0)
+```
+
+Signed-off-by: Sergei Trofimovich <[email protected]>
+---
+ linux-user/strace.list | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/linux-user/strace.list
++++ b/linux-user/strace.list
+@@ -125,10 +125,10 @@
+ { TARGET_NR_dup3, "dup3" , "%s(%d,%d,%d)", NULL, NULL },
+ #endif
+ #ifdef TARGET_NR_epoll_create
+-{ TARGET_NR_epoll_create, "%s(%d)", NULL, NULL, NULL },
++{ TARGET_NR_epoll_create, "epoll_create", "%s(%d)", NULL, NULL },
+ #endif
+ #ifdef TARGET_NR_epoll_create1
+-{ TARGET_NR_epoll_create1, "%s(%d)", NULL, NULL, NULL },
++{ TARGET_NR_epoll_create1, "epoll_create1", "%s(%d)", NULL, NULL },
+ #endif
+ #ifdef TARGET_NR_epoll_ctl
+ { TARGET_NR_epoll_ctl, "epoll_ctl" , NULL, NULL, NULL },
+-- 
+2.26.2
+

diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml
index 07244b5deff..0c30c458264 100644
--- a/app-emulation/qemu/metadata.xml
+++ b/app-emulation/qemu/metadata.xml
@@ -28,6 +28,7 @@
                <flag name="iscsi">Enable direct iSCSI support via
                <pkg>net-libs/libiscsi</pkg> instead of indirectly via the Linux
                block layer that <pkg>sys-block/open-iscsi</pkg> does.</flag>
+               <flag name="io-uring">Enable efficient I/O via 
<pkg>sys-libs/liburing</pkg>.</flag>
                <flag name="ncurses">Enable the ncurses-based console</flag>
                <flag name="nfs">Enable NFS support</flag>
                <flag name="numa">Enable NUMA support</flag>

diff --git a/app-emulation/qemu/qemu-9999.ebuild 
b/app-emulation/qemu/qemu-5.0.0.ebuild
similarity index 98%
copy from app-emulation/qemu/qemu-9999.ebuild
copy to app-emulation/qemu/qemu-5.0.0.ebuild
index b189a315909..ae78e0ad179 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-5.0.0.ebuild
@@ -24,7 +24,7 @@ if [[ ${PV} = *9999* ]]; then
        SRC_URI=""
 else
        SRC_URI="https://download.qemu.org/${P}.tar.xz";
-       KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+       KEYWORDS="~amd64 ~x86"
 fi
 
 DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
@@ -34,12 +34,13 @@ LICENSE="GPL-2 LGPL-2 BSD-2"
 SLOT="0"
 
 IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
-       +fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
+       +fdt glusterfs gnutls gtk infiniband iscsi io-uring
+       jemalloc +jpeg kernel_linux
        kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
        plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
        smartcard snappy spice ssh static static-user systemtap tci test usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
-       xfs +xkb"
+       xfs +xkb zstd"
 
 COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
        mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -119,6 +120,7 @@ SOFTMMU_TOOLS_DEPEND="
                sys-fabric/librdmacm:=[static-libs(+)]
        )
        iscsi? ( net-libs/libiscsi )
+       io-uring? ( sys-libs/liburing[static-libs(+)] )
        jemalloc? ( dev-libs/jemalloc )
        jpeg? ( virtual/jpeg:0=[static-libs(+)] )
        lzo? ( dev-libs/lzo:2[static-libs(+)] )
@@ -157,7 +159,9 @@ SOFTMMU_TOOLS_DEPEND="
        virgl? ( media-libs/virglrenderer[static-libs(+)] )
        virtfs? ( sys-libs/libcap )
        xen? ( app-emulation/xen-tools:= )
-       xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
+       xfs? ( sys-fs/xfsprogs[static-libs(+)] )
+       zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
 
 X86_FIRMWARE_DEPEND="
        pin-upstream-blobs? (
@@ -217,6 +221,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
        "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
        "${FILESDIR}"/${PN}-4.2.0-cflags.patch
+       "${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch
 )
 
 QA_PREBUILT="
@@ -449,6 +454,7 @@ qemu_src_configure() {
                $(conf_notuser gtk)
                $(conf_notuser infiniband rdma)
                $(conf_notuser iscsi libiscsi)
+               $(conf_notuser io-uring linux-io-uring)
                $(conf_notuser jemalloc jemalloc)
                $(conf_notuser jpeg vnc-jpeg)
                $(conf_notuser kernel_linux kvm)
@@ -480,6 +486,7 @@ qemu_src_configure() {
                $(conf_notuser xen xen-pci-passthrough)
                $(conf_notuser xfs xfsctl)
                $(conf_notuser xkb xkbcommon)
+               $(conf_notuser zstd)
        )
 
        if [[ ${buildtype} == "user" ]] ; then

diff --git a/app-emulation/qemu/qemu-9999.ebuild 
b/app-emulation/qemu/qemu-9999.ebuild
index b189a315909..ae78e0ad179 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -24,7 +24,7 @@ if [[ ${PV} = *9999* ]]; then
        SRC_URI=""
 else
        SRC_URI="https://download.qemu.org/${P}.tar.xz";
-       KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+       KEYWORDS="~amd64 ~x86"
 fi
 
 DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
@@ -34,12 +34,13 @@ LICENSE="GPL-2 LGPL-2 BSD-2"
 SLOT="0"
 
 IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
-       +fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
+       +fdt glusterfs gnutls gtk infiniband iscsi io-uring
+       jemalloc +jpeg kernel_linux
        kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
        plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
        smartcard snappy spice ssh static static-user systemtap tci test usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
-       xfs +xkb"
+       xfs +xkb zstd"
 
 COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
        mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -119,6 +120,7 @@ SOFTMMU_TOOLS_DEPEND="
                sys-fabric/librdmacm:=[static-libs(+)]
        )
        iscsi? ( net-libs/libiscsi )
+       io-uring? ( sys-libs/liburing[static-libs(+)] )
        jemalloc? ( dev-libs/jemalloc )
        jpeg? ( virtual/jpeg:0=[static-libs(+)] )
        lzo? ( dev-libs/lzo:2[static-libs(+)] )
@@ -157,7 +159,9 @@ SOFTMMU_TOOLS_DEPEND="
        virgl? ( media-libs/virglrenderer[static-libs(+)] )
        virtfs? ( sys-libs/libcap )
        xen? ( app-emulation/xen-tools:= )
-       xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
+       xfs? ( sys-fs/xfsprogs[static-libs(+)] )
+       zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
 
 X86_FIRMWARE_DEPEND="
        pin-upstream-blobs? (
@@ -217,6 +221,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
        "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
        "${FILESDIR}"/${PN}-4.2.0-cflags.patch
+       "${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch
 )
 
 QA_PREBUILT="
@@ -449,6 +454,7 @@ qemu_src_configure() {
                $(conf_notuser gtk)
                $(conf_notuser infiniband rdma)
                $(conf_notuser iscsi libiscsi)
+               $(conf_notuser io-uring linux-io-uring)
                $(conf_notuser jemalloc jemalloc)
                $(conf_notuser jpeg vnc-jpeg)
                $(conf_notuser kernel_linux kvm)
@@ -480,6 +486,7 @@ qemu_src_configure() {
                $(conf_notuser xen xen-pci-passthrough)
                $(conf_notuser xfs xfsctl)
                $(conf_notuser xkb xkbcommon)
+               $(conf_notuser zstd)
        )
 
        if [[ ${buildtype} == "user" ]] ; then

Reply via email to