]> TLD Linux GIT Repositories - packages/qemu.git/blobdiff - qemu.spec
- updated to 8.2.2
[packages/qemu.git] / qemu.spec
index 825d575659ac4bf19a9c0d624176b739dd500809..a5109914bbced2d10e338d0242c679e8f23f745b 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -4,7 +4,7 @@
 # Conditional build:
 %bcond_without sdl             # SDL UI and audio support
 %bcond_without opengl          # Don't require GL deps
-%bcond_without ceph            # Ceph/RBD support
+%bcond_with    ceph            # Ceph/RBD support
 %bcond_without glusterfs       # GlusterFS backend
 %bcond_without rdma            # RDMA-based migration support
 %bcond_without gtk3            # Do not build GTK+ UI
@@ -29,7 +29,7 @@
 %bcond_without virgl           # build virgl support
 %bcond_without xkbcommon       # xkbcommon support
 
-%if %{without gtk}
+%if %{without gtk3}
 %undefine      with_vte
 %endif
 %ifarch x32
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
-Version:       6.0.0
+Version:       8.2.2
 Release:       1
 License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
 Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: cce185dc0119546e395909e8a71a75bb
+# Source0-md5: e43091262671c1728b09522932b75b1d
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
 # Creates /dev/kvm
@@ -61,11 +61,10 @@ Source10:   ksmtuned.conf
 Source12:      99-%{name}-guest-agent.rules
 Source13:      %{name}-guest-agent.init
 Source14:      %{name}-guest-agent.logrotate
-Patch0:                %{name}-cflags.patch
-Patch2:                %{name}-user-execve.patch
 Patch3:                %{name}-xattr.patch
 Patch4:                libjpeg-boolean.patch
-Patch5:                x32.patch
+Patch5:                %{name}-u2f-emu.patch
+Patch6:                %{name}-linux-mount.patch
 URL:           https://www.qemu.org/
 %{?with_opengl:BuildRequires:  Mesa-libgbm-devel}
 %{?with_opengl:BuildRequires:  OpenGL-GLX-devel}
@@ -73,46 +72,57 @@ URL:                https://www.qemu.org/
 %{?with_sdl:BuildRequires:     SDL2-devel >= 2.0}
 %{?with_sdl:BuildRequires:     SDL2_image-devel >= 2.0}
 BuildRequires: alsa-lib-devel
-BuildRequires: bcc >= 0.16.21-2
 %{?with_brlapi:BuildRequires:  brlapi-devel}
 BuildRequires: bzip2-devel
-BuildRequires: capstone-devel >= 3.0.5
-%{?with_ceph:BuildRequires:    ceph-devel}
-BuildRequires: curl-devel
+BuildRequires: capstone-devel >= 4.0
+%{?with_ceph:BuildRequires:    ceph-devel >= 12}
+BuildRequires: curl-devel >= 7.29.0
 BuildRequires: cyrus-sasl-devel >= 2
-BuildRequires: glib2-devel >= 1:2.48
+BuildRequires: daxctl-devel >= 57
+BuildRequires: gcc >= 6:7.4
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.64
 # minimal is 3.4 but new features are used up to 6
 %{?with_glusterfs:BuildRequires:       glusterfs-devel >= 6}
-BuildRequires: gnutls-devel >= 3.1.18
-%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.16}
+BuildRequires: gnutls-devel >= 3.6.14
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.22.0}
+BuildRequires: jack-audio-connection-kit-devel
+# for tests
+#BuildRequires:        keyutils-devel
 BuildRequires: libaio-devel
+BuildRequires: libbpf-devel
 %{?with_smartcard:BuildRequires:       libcacard-devel >= 2.5.1}
 BuildRequires: libcap-ng-devel
+BuildRequires: libdrm-devel
 %{?with_opengl:BuildRequires:  libepoxy-devel}
-BuildRequires: libfdt-devel >= 1.4.2
+BuildRequires: libfdt-devel >= 1.5.1
+BuildRequires: libfuse3-devel >= 3.8
 %{?with_rdma:BuildRequires:    libibverbs-devel}
 %{?with_iscsi:BuildRequires:   libiscsi-devel >= 1.9.0}
 %{?with_rdma:BuildRequires:    libibumad-devel}
 BuildRequires: libjpeg-devel
 %{?with_libnfs:BuildRequires:  libnfs-devel >= 1.9.3}
-BuildRequires: libpng-devel
+BuildRequires: libpng-devel >= 2:1.6.34
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
-BuildRequires: libssh-devel >= 0.8
-BuildRequires: libslirp-devel >= 4.0.0
+BuildRequires: libselinux-devel
+BuildRequires: libssh-devel >= 0.8.7
 # for tests only
 #BuildRequires:        libtasn1-devel
+BuildRequires: libu2f-emu-devel
 BuildRequires: libusb-devel >= 1.0.22
-BuildRequires: liburing-devel
+BuildRequires: liburing-devel >= 0.3
 BuildRequires: libuuid-devel
 BuildRequires: libxml2-devel >= 2.0
-%{?with_lttng:BuildRequires:   lttng-ust-devel}
+%{?with_lttng:BuildRequires:   lttng-ust-devel >= 2.1}
 BuildRequires: lzfse-devel
 BuildRequires: lzo-devel >= 2
+BuildRequires: meson >= 0.59.3
 %{?with_multipath:BuildRequires:       multipath-tools-devel}
 BuildRequires: ncurses-devel
-# also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle
-BuildRequires: nettle-devel >= 2.7.1
+# also libgcrypt-devel >= 1.8 possible, but gnutls already pulls nettle
+BuildRequires: nettle-devel >= 3.4
+BuildRequires: ninja
 %{?with_smartcard:BuildRequires:       nss-devel >= 1:3.12.8}
 BuildRequires: numactl-devel
 BuildRequires: pam-devel
@@ -122,7 +132,9 @@ BuildRequires:      pixman-devel >= 0.21.8
 BuildRequires: pkgconfig
 %{?with_pmem:BuildRequires:    pmdk-devel}
 %{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
-BuildRequires: python3 >= 1:3.5
+BuildRequires: python3 >= 1:3.6
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.644
 %{?with_system_seabios:BuildRequires:  seabios}
 BuildRequires: sed >= 4.0
@@ -133,6 +145,7 @@ BuildRequires:      spice-protocol >= 0.12.3
 BuildRequires: spice-server-devel >= 0.12.5
 %endif
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
 BuildRequires: texi2html
 BuildRequires: texinfo
 %{?with_multipath:BuildRequires:       udev-devel}
@@ -143,17 +156,21 @@ BuildRequires:    which
 %{?with_virgl:BuildRequires:   virglrenderer-devel}
 %{?with_vte:BuildRequires:     vte-devel >= 0.32.0}
 # xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel; xentoolcore for xen 4.10+
-# min version is 4.2, more features up to 4.10
-%{?with_xen:BuildRequires:     xen-devel >= 4.10}
+# min version is 4.2, more features up to 4.11
+%{?with_xen:BuildRequires:     xen-devel >= 4.11}
 BuildRequires: xfsprogs-devel
-%{?with_xkbcommon:BuildRequires:       xorg-lib-libxkbcommon-devel}
+%if %{with xkbcommon}
+BuildRequires: xkeyboard-config
+BuildRequires: xorg-lib-libxkbcommon-devel
+%endif
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xz
 BuildRequires: zlib-devel
 BuildRequires: zstd-devel >= 1.4.0
 %if %{with user_static}
-BuildRequires: glib2-static >= 1:2.48
+BuildRequires: glib2-static >= 1:2.74
 BuildRequires: glibc-static
-BuildRequires: pcre-static
+BuildRequires: pcre2-8-static >= 10.32
 BuildRequires: zlib-static
 %endif
 Requires:      %{name}-img = %{version}-%{release}
@@ -166,7 +183,6 @@ Requires:   %{name}-system-hppa = %{version}-%{release}
 Requires:      %{name}-system-m68k = %{version}-%{release}
 Requires:      %{name}-system-microblaze = %{version}-%{release}
 Requires:      %{name}-system-mips = %{version}-%{release}
-Requires:      %{name}-system-moxie = %{version}-%{release}
 Requires:      %{name}-system-nios2 = %{version}-%{release}
 Requires:      %{name}-system-or1k = %{version}-%{release}
 Requires:      %{name}-system-ppc = %{version}-%{release}
@@ -180,18 +196,22 @@ Requires: %{name}-system-tricore = %{version}-%{release}
 Requires:      %{name}-system-x86 = %{version}-%{release}
 Requires:      %{name}-system-xtensa = %{version}-%{release}
 Requires:      %{name}-user = %{version}-%{release}
-Obsoletes:     qemu-kvm
+Obsoletes:     qemu-kvm < 2
 ExcludeArch:   i386
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define        systempkg_req \
-Requires:      capstone >= 3.0.5 \
+Requires:      capstone >= 4.0 \
+Requires:      daxctl-libs >= 57 \
 %{?with_smartcard:Requires:    libcacard >= 2.5.1} \
-Requires:      libfdt >= 1.4.2 \
+Requires:      libfdt >= 1.5.1 \
+Requires:      libfuse3 >= 3.8 \
+%{?with_iscsi:Requires:        libiscsi >= 1.9.0} \
+Requires:      libpng >= 2:1.6.34 \
 %if %{with seccomp} \
 Requires:      libseccomp >= 2.3.0 \
 %endif \
-Requires:      libslirp >= 4.0.0 \
+Requires:      liburing >= 0.3 \
 Requires:      libusb >= 1.0.22 \
 Requires:      pixman >= 0.21.8 \
 %if %{with spice} \
@@ -199,8 +219,7 @@ Requires:   spice-server-libs >= 0.12.5 \
 %endif \
 %if %{with usbredir} \
 Requires:      usbredir >= 0.6 \
-%endif \
-Requires:      zstd >= 1.4.0
+%endif
 
 # don't strip/chrpath anything in there; these are boot images, roms etc
 %define                _noautostrip    .*%{_datadir}/qemu/.*
@@ -247,17 +266,19 @@ Requires(pre):    /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires:      glib2 >= 1:2.48
-Requires:      gnutls-libs >= 3.1.18
-%{?with_gtk3:Requires: gtk+3 >= 3.16}
-Requires:      nettle >= 2.7.1
+Requires:      glib2 >= 1:2.64
+Requires:      gnutls-libs >= 3.6.14
+%{?with_gtk3:Requires: gtk+3 >= 3.22.0}
+Requires:      nettle >= 3.4
 %{?with_vte:Requires:  vte >= 0.32.0}
+Requires:      zstd >= 1.4.0
 Provides:      group(qemu)
 Provides:      user(qemu)
-Obsoletes:     qemu-kvm-common
+Obsoletes:     qemu-kvm-common < 2
 Obsoletes:     qemu-module-block-archipelago < 2.9.0
-Obsoletes:     qemu-system-lm32
-Obsoletes:     qemu-system-unicore32
+Obsoletes:     qemu-system-lm32 < 5.2
+Obsoletes:     qemu-system-moxie < 6.1
+Obsoletes:     qemu-system-unicore32 < 5.2
 Conflicts:     qemu < 1.0-2
 
 %description common
@@ -273,11 +294,23 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie
 środowiska QEMU.
 
+%package devel
+Summary:       Header file for QEMU plugins development
+Summary(pl.UTF-8):     Plik nagłówkowy do tworzenia wtyczek QEMU
+Group:         Development/Libraries
+BuildArch:     noarch
+
+%description devel
+Header file for QEMU plugins development.
+
+%description devel -l pl.UTF-8
+Plik nagłówkowy do tworzenia wtyczek QEMU.
+
 %package img
 Summary:       QEMU command line tool for manipulating disk images
 Summary(pl.UTF-8):     Narzędzie QEMU do operacji na obrazach dysków
 Group:         Applications/Emulators
-Obsoletes:     qemu-kvm-img
+Obsoletes:     qemu-kvm-img < 2
 Conflicts:     qemu < 1.0-2
 
 %description img
@@ -288,12 +321,25 @@ images.
 Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji
 na obrazach dysków.
 
+%package ivshmem
+Summary:       Client and server for QEMU ivshmem device
+Summary(pl.UTF-8):     Klient i serwer dla urzÄ\85dzeia ivshmem QEMU
+Group:         Development/Tools
+
+%description ivshmem
+This package provides client and server tools for QEMU's ivshmem
+device.
+
+%description ivshmem -l pl.UTF-8
+Ten pakiet udostępnia działające z linii poleceń narzędzia dla
+urządzenia ivshmem QEMU.
+
 %package user
 Summary:       QEMU user mode emulation of qemu targets
 Summary(pl.UTF-8):     QEMU - emulacja trybu użytkownika środowisk qemu
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-Obsoletes:     qemu-kvm-user
+Obsoletes:     qemu-kvm-user < 2
 
 %description user
 QEMU is a generic and open source processor emulator which achieves a
@@ -332,7 +378,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem AArch64
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-aarch64
+Obsoletes:     qemu-kvm-system-aarch64 < 2
 
 %description system-aarch64
 QEMU is a generic and open source processor emulator which achieves a
@@ -352,7 +398,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem Alpha
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-alpha
+Obsoletes:     qemu-kvm-system-alpha < 2
 
 %description system-alpha
 QEMU is a generic and open source processor emulator which achieves a
@@ -372,7 +418,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z 32-bitowym procesorem ARM
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-arm
+Obsoletes:     qemu-kvm-system-arm < 2
 
 %description system-arm
 QEMU is a generic and open source processor emulator which achieves a
@@ -392,7 +438,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem AVR
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-avr
+Obsoletes:     qemu-kvm-system-avr < 2
 
 %description system-avr
 QEMU is a generic and open source processor emulator which achieves a
@@ -412,7 +458,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem CRIS
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-cris
+Obsoletes:     qemu-kvm-system-cris < 2
 
 %description system-cris
 QEMU is a generic and open source processor emulator which achieves a
@@ -445,13 +491,32 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC).
 
+%package system-loongarch
+Summary:       QEMU system emulator for Loongson
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Loongson
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
+
+%description system-loongarch
+QEMU is a generic and open source processor emulator which achieves a
+good emulation speed by using dynamic translation.
+
+This package provides the system emulator with Loongson CPU.
+
+%description system-loongarch -l pl.UTF-8
+QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
+dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
+
+Ten pakiet zawiera emulator systemu z procesorem Loongson.
+
 %package system-m68k
 Summary:       QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-m68k
+Obsoletes:     qemu-kvm-system-m68k < 2
 
 %description system-m68k
 QEMU is a generic and open source processor emulator which achieves a
@@ -473,7 +538,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem MicroBlaze
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-microblaze
+Obsoletes:     qemu-kvm-system-microblaze < 2
 
 %description system-microblaze
 QEMU is a generic and open source processor emulator which achieves a
@@ -493,7 +558,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem MIPS
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-mips
+Obsoletes:     qemu-kvm-system-mips < 2
 
 %description system-mips
 QEMU is a generic and open source processor emulator which achieves a
@@ -507,25 +572,6 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z procesorem MIPS.
 
-%package system-moxie
-Summary:       QEMU system emulator for Moxie
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Moxie
-Group:         Applications/Emulators
-Requires:      %{name}-common = %{version}-%{release}
-%systempkg_req
-
-%description system-moxie
-QEMU is a generic and open source processor emulator which achieves a
-good emulation speed by using dynamic translation.
-
-This package provides the system emulator with Moxie CPU.
-
-%description system-moxie -l pl.UTF-8
-QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
-dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
-
-Ten pakiet zawiera emulator systemu z procesorem Moxie.
-
 %package system-nios2
 Summary:       QEMU system emulator for Nios II
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Nios II
@@ -551,8 +597,8 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem OpenRISC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-or1k
-Obsoletes:     qemu-system-or32
+Obsoletes:     qemu-kvm-system-or1k < 2
+Obsoletes:     qemu-system-or32 < 2.9.0
 
 %description system-or1k
 QEMU is a generic and open source processor emulator which achieves a
@@ -572,7 +618,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem PowerPC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-ppc
+Obsoletes:     qemu-kvm-system-ppc < 2
 
 %description system-ppc
 QEMU is a generic and open source processor emulator which achieves a
@@ -649,7 +695,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem S390x (IBM Z)
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-s390x
+Obsoletes:     qemu-kvm-system-s390x < 2
 
 %description system-s390x
 QEMU is a generic and open source processor emulator which achieves a
@@ -669,7 +715,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem SH4
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-sh4
+Obsoletes:     qemu-kvm-system-sh4 < 2
 
 %description system-sh4
 QEMU is a generic and open source processor emulator which achieves a
@@ -689,7 +735,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem SPARC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-sparc
+Obsoletes:     qemu-kvm-system-sparc < 2
 
 %description system-sparc
 QEMU is a generic and open source processor emulator which achieves a
@@ -716,7 +762,7 @@ good emulation speed by using dynamic translation.
 
 This package provides the system emulator with TriCore CPU.
 
-%description system-sparc -l pl.UTF-8
+%description system-tricore -l pl.UTF-8
 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
@@ -729,8 +775,8 @@ Group:              Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %{?with_system_seabios:Requires:       seabios}
 %systempkg_req
-Obsoletes:     kvm
-Obsoletes:     qemu-kvm-system-x86
+Obsoletes:     kvm < 89
+Obsoletes:     qemu-kvm-system-x86 < 2
 
 %description system-x86
 QEMU is a generic and open source processor emulator which achieves a
@@ -750,7 +796,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem Xtensa
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-xtensa
+Obsoletes:     qemu-kvm-system-xtensa < 2
 
 %description system-xtensa
 QEMU is a generic and open source processor emulator which achieves a
@@ -768,8 +814,9 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa.
 Summary:       QEMU guest agent
 Summary(pl.UTF-8):     Agent gościa QEMU
 Group:         Daemons
-Requires:      glib2 >= 1:2.48
-Obsoletes:     qemu-kvm-guest-agent
+Requires:      glib2 >= 1:2.64
+Requires:      liburing >= 0.3
+Obsoletes:     qemu-kvm-guest-agent < 2
 Conflicts:     SysVinit < 2.96-2
 
 %description guest-agent
@@ -792,11 +839,24 @@ systemach-gościach, komunikującego się kanałem virtio-serial o nazwie
 
 Ten pakiet nie musi być zainstalowany w systemie hosta.
 
+%package module-audio-jack
+Summary:       QEMU module for JACK audio output
+Summary(pl.UTF-8):     Moduł QEMU z wyjściem dźwięku JACK
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-audio-jack
+QEMU module for JACK audio output.
+
+%description module-audio-jack -l pl.UTF-8
+Moduł QEMU z wyjściem dźwięku JACK.
+
 %package module-block-curl
 Summary:       QEMU module for 'curl' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'curl'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      curl-libs >= 7.29.0
 
 %description module-block-curl
 QEMU block device support for CURL. It allows to access remote disks
@@ -854,6 +914,7 @@ Summary:    QEMU module for 'rbd' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'rbd'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      ceph-libs >= 12
 
 %description module-block-rbd
 QEMU block device support for Ceph/RBD volumes.
@@ -866,7 +927,7 @@ Summary:    QEMU module for 'ssh' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'ssh'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-Requires:      libssh >= 0.8
+Requires:      libssh >= 0.8.7
 
 %description module-block-ssh
 QEMU block device support for accessing remote disks using the Secure
@@ -876,6 +937,18 @@ Shell (SSH) protocol.
 Moduł urządzeń blokowych QEMU do dostępu do zdalnych dysków poprzez
 protokół SSH (Secure Shell).
 
+%package module-ui-dbus
+Summary:       QEMU DBus UI driver
+Summary(pl.UTF-8):     Sterownik interfejsu użytkownika DBus dla QEMU
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-ui-dbus
+QEMU DBus UI driver.
+
+%description module-ui-dbus -l pl.UTF-8
+Sterownik interfejsu użytkownika DBus dla QEMU.
+
 %package module-ui-gtk
 Summary:       QEMU GTK UI driver
 Summary(pl.UTF-8):     Sterownik interfejsu użytkownika GTK dla QEMU
@@ -915,17 +988,16 @@ Sondy systemtap/dtrace dla QEMU.
 
 %prep
 %setup -q
-%patch0 -p1
-%patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
 
 %if %{with systemtap}
 # don't require stap binary during build
-%{__sed} -i -e "s/has 'stap'/true/" configure
+%{__sed} -i -e "s/stap.found()/true/" meson.build docs/meson.build scripts/meson.build
 %endif
 %build
 
@@ -961,11 +1033,11 @@ build() {
 build dynamic \
        --extra-cflags="%{rpmcflags} %{rpmcppflags}" \
        --extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \
-       --audio-drv-list="alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_pulseaudio:,pa}" \
+       --audio-drv-list="alsa,jack%{?with_oss:,oss}%{?with_pulseaudio:,pa}%{?with_sdl:,sdl}" \
        --enable-attr \
        %{__enable_disable brlapi} \
        --enable-cap-ng \
-       --enable-capstone=system \
+       --enable-capstone \
        --enable-curl \
        --enable-curses \
        --enable-docs \
@@ -984,7 +1056,6 @@ build dynamic \
        %{__enable_disable rdma} \
        %{__enable_disable sdl} \
        %{__enable_disable seccomp} \
-       --enable-slirp=system \
        %{__enable_disable spice} \
        %{__enable_disable smartcard} \
        %{__enable_disable snappy} \
@@ -994,7 +1065,6 @@ build dynamic \
        %{__enable_disable virgl virglrenderer} \
        --enable-virtfs \
        --enable-vnc-jpeg \
-       --enable-vnc-png \
        --enable-vnc-sasl \
        %{!?with_vte:--disable-vte} \
        %{__enable_disable xen} \
@@ -1021,7 +1091,6 @@ build static \
        --disable-slirp \
        --disable-spice \
        --disable-system \
-       --disable-tcmalloc \
        --disable-tools \
        --enable-user \
        --disable-xkbcommon \
@@ -1086,12 +1155,6 @@ install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
 %if %{with system_seabios}
 ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
 # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it
-for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do
-       bn="$(basename $f)"
-       if [ -e "/usr/share/seabios/$bn" ] ; then
-               ln -sf "/usr/share/seabios/$bn" "$f"
-       fi
-done
 %endif
 
 %if %{with gtk3}
@@ -1102,11 +1165,20 @@ done
 : > qemu.lang
 %endif
 
+for t in client server; do
+       cp -p build-dynamic/contrib/ivshmem-$t/ivshmem-$t $RPM_BUILD_ROOT%{_bindir}
+done
+
+# test modules
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/accel-qtest-*.so
 # Windows installer icon, not used
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
 # packaged as %doc
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/edk2-licenses.txt
 
+# cleanup Sphinx files
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{.buildinfo,objects.inv}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -1159,7 +1231,6 @@ fi
 %attr(755,root,root) %{_libexecdir}/vhost-user-gpu
 %endif
 %attr(755,root,root) %{_libexecdir}/virtfs-proxy-helper
-%attr(755,root,root) %{_libexecdir}/virtiofsd
 %dir %{_libdir}/%{name}
 # modules without too many external dependencies
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
@@ -1176,10 +1247,14 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/chardev-spice.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so
 %endif
-%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-gl.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga-gl.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-host.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so
 %attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
@@ -1199,7 +1274,6 @@ fi
 %if %{with virgl}
 %{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
 %endif
-%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
 %{_desktopdir}/qemu.desktop
 %{_iconsdir}/hicolor/*x*/apps/qemu.png
 %{_iconsdir}/hicolor/32x32/apps/qemu.bmp
@@ -1207,7 +1281,6 @@ fi
 %{_mandir}/man1/qemu.1*
 %{_mandir}/man1/qemu-storage-daemon.1*
 %{_mandir}/man1/virtfs-proxy-helper.1*
-%{_mandir}/man1/virtiofsd.1*
 %{_mandir}/man7/qemu-block-drivers.7*
 %{_mandir}/man7/qemu-cpu-models.7*
 %{_mandir}/man7/qemu-qmp-ref.7*
@@ -1216,11 +1289,20 @@ fi
 %{_mandir}/man8/qemu-pr-helper.8*
 %{_docdir}/qemu
 
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/qemu-plugin.h
+
 %files img
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-img
 %{_mandir}/man1/qemu-img.1*
 
+%files ivshmem
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ivshmem-client
+%attr(755,root,root) %{_bindir}/ivshmem-server
+
 %files user
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-aarch64
@@ -1233,6 +1315,7 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-hppa
 %attr(755,root,root) %{_bindir}/qemu-i386
 %attr(755,root,root) %{_bindir}/qemu-io
+%attr(755,root,root) %{_bindir}/qemu-loongarch64
 %attr(755,root,root) %{_bindir}/qemu-m68k
 %attr(755,root,root) %{_bindir}/qemu-microblaze
 %attr(755,root,root) %{_bindir}/qemu-microblazeel
@@ -1271,6 +1354,7 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-hexagon-static
 %attr(755,root,root) %{_bindir}/qemu-hppa-static
 %attr(755,root,root) %{_bindir}/qemu-i386-static
+%attr(755,root,root) %{_bindir}/qemu-loongarch64-static
 %attr(755,root,root) %{_bindir}/qemu-m68k-static
 %attr(755,root,root) %{_bindir}/qemu-microblaze-static
 %attr(755,root,root) %{_bindir}/qemu-microblazeel-static
@@ -1296,8 +1380,10 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-x86_64-static
 %attr(755,root,root) %{_bindir}/qemu-xtensa-static
 %attr(755,root,root) %{_bindir}/qemu-xtensaeb-static
+%if %{with systemtap}
 %attr(755,root,root) %{_bindir}/qemu-trace-stap-static
 %endif
+%endif
 
 %files system-aarch64
 %defattr(644,root,root,755)
@@ -1321,7 +1407,6 @@ fi
 %files system-avr
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-avr
-
 %files system-cris
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-cris
@@ -1331,6 +1416,10 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-system-hppa
 %{_datadir}/%{name}/hppa-firmware.img
 
+%files system-loongarch
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qemu-system-loongarch64
+
 %files system-m68k
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-m68k
@@ -1347,10 +1436,6 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-system-mips64
 %attr(755,root,root) %{_bindir}/qemu-system-mips64el
 
-%files system-moxie
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qemu-system-moxie
-
 %files system-nios2
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-nios2
@@ -1378,13 +1463,11 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
 %{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.bin
-%{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.elf
 
 %files system-riscv64
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv64
 %{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.bin
-%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.elf
 
 %files system-rx
 %defattr(644,root,root,755)
@@ -1418,6 +1501,8 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-i386
 %attr(755,root,root) %{_bindir}/qemu-system-x86_64
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-i386.so
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-x86_64.so
 %ifarch %{ix86} %{x8664} x32
 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/kvm.conf
 /lib/udev/rules.d/80-kvm.rules
@@ -1442,6 +1527,7 @@ fi
 %{_datadir}/%{name}/linuxboot.bin
 %{_datadir}/%{name}/linuxboot_dma.bin
 %{_datadir}/%{name}/multiboot.bin
+%{_datadir}/%{name}/multiboot_dma.bin
 %{_datadir}/%{name}/pvh.bin
 %{_datadir}/%{name}/pxe-e1000.rom
 %{_datadir}/%{name}/pxe-eepro100.rom
@@ -1450,7 +1536,6 @@ fi
 %{_datadir}/%{name}/pxe-rtl8139.rom
 %{_datadir}/%{name}/pxe-virtio.rom
 %{_datadir}/%{name}/qboot.rom
-%{_datadir}/%{name}/sgabios.bin
 %{_datadir}/%{name}/vgabios.bin
 %{_datadir}/%{name}/vgabios-ati.bin
 %{_datadir}/%{name}/vgabios-bochs-display.bin
@@ -1460,6 +1545,8 @@ fi
 %{_datadir}/%{name}/vgabios-stdvga.bin
 %{_datadir}/%{name}/vgabios-virtio.bin
 %{_datadir}/%{name}/vgabios-vmware.bin
+%{_datadir}/%{name}/vof.bin
+%{_datadir}/%{name}/vof-nvram.bin
 %{_datadir}/%{name}/firmware/50-edk2-i386-secure.json
 %{_datadir}/%{name}/firmware/50-edk2-x86_64-secure.json
 %{_datadir}/%{name}/firmware/60-edk2-i386.json
@@ -1479,6 +1566,10 @@ fi
 %{_mandir}/man7/qemu-ga-ref.7*
 %{_mandir}/man8/qemu-ga.8*
 
+%files module-audio-jack
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-jack.so
+
 %files module-block-curl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-curl.so
@@ -1511,6 +1602,11 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-ssh.so
 
+%files module-ui-dbus
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-dbus.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-dbus.so
+
 %if %{with gtk3}
 %files module-ui-gtk
 %defattr(644,root,root,755)