- added vxhs patch and bcond to enable Veritas HyperScale vDisk support
- enabled virgl by default
--- /dev/null
+--- qemu-4.2.0/block/vxhs.c.orig 2019-12-12 19:20:47.000000000 +0100
++++ qemu-4.2.0/block/vxhs.c 2020-05-23 22:56:39.361009319 +0200
+@@ -18,6 +18,7 @@
+ #include "qapi/qmp/qstring.h"
+ #include "trace.h"
+ #include "qemu/module.h"
++#include "qemu/option.h"
+ #include "qemu/uri.h"
+ #include "qapi/error.h"
+ #include "qemu/uuid.h"
-# libvxhs/libqnio (Veritas HyperScale block driver VxHS)
-# capstone=system
# libpmem (x86_64 only?)
# plugins?
#
# libpmem (x86_64 only?)
# plugins?
#
%bcond_without user_static # build linux-user static packages
%bcond_with lttng # lttng-ust trace backend support
%bcond_with systemtap # SystemTap/dtrace trace backend support
%bcond_without user_static # build linux-user static packages
%bcond_with lttng # lttng-ust trace backend support
%bcond_with systemtap # SystemTap/dtrace trace backend support
-%bcond_with virgl # build virgl support
+%bcond_without virgl # build virgl support
+%bcond_with vxhs # Veritas HyperScale vDisk backend support (builtin; module not supported)
%bcond_without xkbcommon # xkbcommon support
%if %{without gtk}
%bcond_without xkbcommon # xkbcommon support
%if %{without gtk}
Patch3: %{name}-xattr.patch
Patch4: libjpeg-boolean.patch
Patch5: x32.patch
Patch3: %{name}-xattr.patch
Patch4: libjpeg-boolean.patch
Patch5: x32.patch
+Patch6: %{name}-vxhs.patch
URL: http://www.qemu-project.org/
%{?with_opengl:BuildRequires: Mesa-libgbm-devel}
%{?with_opengl:BuildRequires: OpenGL-GLX-devel}
URL: http://www.qemu-project.org/
%{?with_opengl:BuildRequires: Mesa-libgbm-devel}
%{?with_opengl:BuildRequires: OpenGL-GLX-devel}
%{?with_bluetooth:BuildRequires: bluez-libs-devel}
%{?with_brlapi:BuildRequires: brlapi-devel}
BuildRequires: bzip2-devel
%{?with_bluetooth:BuildRequires: bluez-libs-devel}
%{?with_brlapi:BuildRequires: brlapi-devel}
BuildRequires: bzip2-devel
+BuildRequires: capstone-devel >= 3.0.5
%{?with_ceph:BuildRequires: ceph-devel}
BuildRequires: curl-devel
BuildRequires: cyrus-sasl-devel >= 2
%{?with_ceph:BuildRequires: ceph-devel}
BuildRequires: curl-devel
BuildRequires: cyrus-sasl-devel >= 2
#BuildRequires: libtasn1-devel
BuildRequires: libusb-devel >= 1.0.22
BuildRequires: libuuid-devel
#BuildRequires: libtasn1-devel
BuildRequires: libusb-devel >= 1.0.22
BuildRequires: libuuid-devel
+%{?with_vxhs:BuildRequires: libvxhs-devel}
BuildRequires: libxml2-devel >= 2.0
%{?with_lttng:BuildRequires: lttng-ust-devel}
BuildRequires: lzfse-devel
BuildRequires: libxml2-devel >= 2.0
%{?with_lttng:BuildRequires: lttng-ust-devel}
BuildRequires: lzfse-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define systempkg_req \
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define systempkg_req \
+Requires: capstone >= 3.0.5 \
%{?with_smartcard:Requires: libcacard >= 2.5.1} \
Requires: libfdt >= 1.4.2 \
%if %{with seccomp} \
%{?with_smartcard:Requires: libcacard >= 2.5.1} \
Requires: libfdt >= 1.4.2 \
%if %{with seccomp} \
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
# workaround for conflict with alsa/error.h
ln -s ../error.h qapi/error.h
# workaround for conflict with alsa/error.h
ln -s ../error.h qapi/error.h
--localstatedir=%{_localstatedir} \
--interp-prefix=%{_libdir}/qemu/lib-%%M \
--cc="%{__cc}" \
--localstatedir=%{_localstatedir} \
--interp-prefix=%{_libdir}/qemu/lib-%%M \
--cc="%{__cc}" \
--host-cc="%{__cc}" \
--disable-strip \
--enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \
--host-cc="%{__cc}" \
--disable-strip \
--enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \
%{__enable_disable bluetooth bluez} \
%{__enable_disable brlapi} \
--enable-cap-ng \
%{__enable_disable bluetooth bluez} \
%{__enable_disable brlapi} \
--enable-cap-ng \
+ --enable-capstone=system \
--enable-curl \
--enable-curses \
--enable-docs \
--enable-curl \
--enable-curses \
--enable-docs \
--enable-vnc-jpeg \
--enable-vnc-png \
--enable-vnc-sasl \
--enable-vnc-jpeg \
--enable-vnc-png \
--enable-vnc-sasl \
+ %{__enable_disable vxhs} \
%{!?with_vte:--disable-vte} \
%{__enable_disable xen} \
%{__enable_disable xkbcommon}
%{!?with_vte:--disable-vte} \
%{__enable_disable xen} \
%{__enable_disable xkbcommon}
build static \
--disable-brlapi \
--disable-cap-ng \
build static \
--disable-brlapi \
--disable-cap-ng \
--disable-curl \
--disable-curses \
--disable-gcrypt \
--disable-curl \
--disable-curses \
--disable-gcrypt \
--disable-system \
--disable-tcmalloc \
--disable-tools \
--disable-system \
--disable-tcmalloc \
--disable-tools \
--enable-user \
--disable-xkbcommon \
--static
--enable-user \
--disable-xkbcommon \
--static
%attr(755,root,root) %{_sbindir}/ksmctl
%attr(755,root,root) %{_sbindir}/ksmtuned
%attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
%attr(755,root,root) %{_sbindir}/ksmctl
%attr(755,root,root) %{_sbindir}/ksmtuned
%attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
+%if %{with virgl}
+%attr(755,root,root) %{_libexecdir}/vhost-user-gpu
+%endif
%{_mandir}/man1/qemu.1*
%{_mandir}/man1/virtfs-proxy-helper.1*
%{_mandir}/man7/qemu-block-drivers.7*
%{_mandir}/man1/qemu.1*
%{_mandir}/man1/virtfs-proxy-helper.1*
%{_mandir}/man7/qemu-block-drivers.7*
%dir %{_datadir}/%{name}/firmware
%{_datadir}/%{name}/keymaps
%{_datadir}/%{name}/trace-events-all
%dir %{_datadir}/%{name}/firmware
%{_datadir}/%{name}/keymaps
%{_datadir}/%{name}/trace-events-all
+%if %{with virgl}
+%dir %{_datadir}/%{name}/vhost-user
+%{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
+%endif
%{_desktopdir}/qemu.desktop
%{_iconsdir}/hicolor/*x*/apps/qemu.png
%{_iconsdir}/hicolor/32x32/apps/qemu.bmp
%{_desktopdir}/qemu.desktop
%{_iconsdir}/hicolor/*x*/apps/qemu.png
%{_iconsdir}/hicolor/32x32/apps/qemu.bmp