aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--UPDATING12
-rw-r--r--emulators/qemu/Makefile107
-rw-r--r--emulators/qemu/distinfo6
-rw-r--r--emulators/qemu/files/patch-Makefile11
-rw-r--r--emulators/qemu/files/patch-configure146
-rw-r--r--emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc4
-rw-r--r--emulators/qemu/files/patch-hw_rdma_Makefile.objs8
-rw-r--r--emulators/qemu/files/patch-hw_rdma_vmw_pvrdma__cmd.c10
-rw-r--r--emulators/qemu/files/patch-include_net_net.h4
-rw-r--r--emulators/qemu/files/patch-include_qemu_atomic.h10
-rw-r--r--emulators/qemu/files/patch-net_tap-bsd.c4
-rw-r--r--emulators/qemu/files/patch-qemu-doc.texi13
-rw-r--r--emulators/qemu/files/patch-rdma-pvrdma-split123
-rw-r--r--emulators/qemu/pkg-plist15
14 files changed, 242 insertions, 231 deletions
diff --git a/UPDATING b/UPDATING
index 62e5bf32972e..46f08bdb93cf 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,18 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20190419
+ AFFECTS: users of emulators/qemu
+ AUTHOR: bofh@FreeBSD.org
+
+ qemu 2.X version has been moved to qemu2. If you would like to use
+ 2.X you should use qeemu2. Otherwise you can use the new stable
+ upstream branch of 3.0.X.
+
+ Portmaster users will need to run this command:
+
+ portmaster -o emulators/qemu2 emulators/qemu
+
20190410:
AFFECTS: users of python
AUTHOR: antoine@FreeBSD.org
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 6cea52ab7897..00704b2553fb 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= qemu
-PORTVERSION= 2.12.1
-PORTREVISION= 2
+PORTVERSION= 3.0.1
CATEGORIES= emulators
MASTER_SITES= https://download.qemu.org/
DIST_SUBDIR= qemu/${PORTVERSION}
@@ -25,63 +24,69 @@ USE_XORG= pixman
USE_GNOME+= cairo glib20 libxml2
.endif
-USES?= cpe gl gmake gnome pkgconfig bison perl5 python:2.7,build tar:xz
+USES?= cpe gl gmake gnome pkgconfig bison perl5 python:build tar:xz
USE_PERL5= build
+PORTSCOUT= limit:^3\.0\.
+
HAS_CONFIGURE= yes
MAKE_ENV+= BSD_MAKE="${MAKE}" V=1
-OPTIONS_DEFINE= SAMBA X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CURL \
- VDE CDROM_DMA PCAP USBREDIR GNS3 X86_TARGETS \
+OPTIONS_DEFINE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL \
+ VDE CDROM_DMA PCAP USBREDIR X86_TARGETS \
STATIC_LINK DOCS NCURSES
-SAMBA_DESC= samba dependency (for -smb)
+CDROM_DMA_DESC= IDE CDROM DMA
GNUTLS_DESC= gnutls dependency (vnc encryption)
-SASL_DESC= cyrus-sasl dependency (vnc encryption)
JPEG_DESC= jpeg dependency (vnc lossy compression)
-PNG_DESC= png dependency (vnc compression)
-CDROM_DMA_DESC= IDE CDROM DMA
PCAP_DESC= pcap dependency (networking with bpf)
-USBREDIR_DESC= usb device network redirection (experimental!)
-GNS3_DESC= gns3 patches (promiscuous multicast)
-X86_TARGETS_DESC= Build only x86 system targets
+PNG_DESC= png dependency (vnc compression)
+SAMBA_DESC= samba dependency (for -smb)
+SASL_DESC= cyrus-sasl dependency (vnc encryption)
STATIC_LINK_DESC= Statically link the executables
+USBREDIR_DESC= usb device network redirection (experimental!)
VDE_DESC= vde dependency (for vde networking)
-OPTIONS_DEFAULT=X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP GNS3 NCURSES VDE
+X86_TARGETS_DESC= Build only x86 system targets
+OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES VDE
OPTIONS_SUB= yes
-X11_USE= SDL=sdl XORG=x11,xext GNOME=gdkpixbuf2
-X11_CONFIGURE_ENABLE= sdl
-GTK2_USE= GNOME=gtk20,vte,gdkpixbuf2 XORG=x11,xext
-GTK2_USES= gettext
-GTK2_CONFIGURE_OFF= --disable-gtk --disable-vte
-GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
+CURL_CONFIGURE_OFF= --disable-curl
+CURL_LIB_DEPENDS= libcurl.so:ftp/curl
+DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html
+DOCS_MAKE_ARGS_OFF= NOPORTDOCS=1
+DOCS_USES= makeinfo
GNUTLS_CONFIGURE_OFF= --disable-gnutls
-SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
-SASL_CONFIGURE_OFF= --disable-vnc-sasl
-JPEG_USES= jpeg
+GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
+GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte
+GTK3_LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon \
+ libepoxy.so:graphics/libepoxy \
+ libpcre2-8.so:devel/pcre2
+GTK3_USE= GNOME=gtk30,vte3,gdkpixbuf2 XORG=x11,xext GL=gbm
+GTK3_USES= gettext
JPEG_CONFIGURE_OFF= --disable-vnc-jpeg
-PNG_LIB_DEPENDS= libpng.so:graphics/png
-PNG_CONFIGURE_OFF= --disable-vnc-png
-CURL_LIB_DEPENDS= libcurl.so:ftp/curl
-CURL_CONFIGURE_OFF= --disable-curl
-OPENGL_USE= GL=glu
+JPEG_USES= jpeg
+NCURSES_USES= ncurses:base
OPENGL_CONFIGURE_OFF= --disable-opengl
-USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir
-USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir
-USBREDIR_CONFIGURE_OFF= --disable-usb-redir
+OPENGL_USE= GL=glu
PCAP_CONFIGURE_ON= --enable-pcap
PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch ${FILESDIR}/pcap-patch-net_net.c \
${FILESDIR}/pcap-patch-net_clients.h
-VDE_LIB_DEPENDS= libvdeplug.so:net/vde2
-VDE_CONFIGURE_OFF= --disable-vde
+PNG_CONFIGURE_OFF= --disable-vnc-png
+PNG_LIB_DEPENDS= libpng.so:graphics/png
+SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd
+SAMBA_USES= samba:run # smbd
+SASL_CONFIGURE_OFF= --disable-vnc-sasl
+SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
STATIC_LINK_CONFIGURE_ON= --static
STATIC_LINK_PREVENTS= GTK2 X11
STATIC_LINK_PREVENTS_MSG= X11 ui cannot be built static
-NCURSES_USES= ncurses:base
-SAMBA_USES= samba:run # smbd
-SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd
-DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html
-DOCS_USES= makeinfo
-DOCS_MAKE_ARGS_OFF= NOPORTDOCS=1
+USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir
+USBREDIR_CONFIGURE_OFF= --disable-usb-redir
+USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir
+VDE_CONFIGURE_OFF= --disable-vde
+VDE_LIB_DEPENDS= libvdeplug.so:net/vde2
+X11_CONFIGURE_ENABLE= sdl
+X11_USE= SDL=sdl2 XORG=x11,xext
+X11_USES= sdl
+X86_TARGETS_USE_OFF= GNOME=cairo,gdkpixbuf2
PORTDOCS?= docs qemu-doc.html qemu-doc.txt qemu-ga-ref.html qemu-ga-ref.txt \
qemu-qmp-ref.html qemu-qmp-ref.txt
@@ -119,35 +124,9 @@ CONFIGURE_ARGS+= --sparc_cpu=v9
PLIST_SUB+= LINUXBOOT_DMA=""
-# -lprocstat actually only _needs_ -lelf after r249666 or r250870 (MFC)
-# but it shouldn't matter much
-post-patch:
- @${REINPLACE_CMD} -e '/LIBS/s|-lprocstat|-lprocstat -lelf|' \
- -e '/libusb/s/ --atleast-version=1\.0\.[0-9]*//' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} -e '/libs_qga=/s|glib_libs|glib_libs -lintl|' ${WRKSRC}/configure
- @${REINPLACE_CMD} -E \
- -e "/^by Tibor .TS. S/s|Sch.*z.$$|Schuetz.|" \
- ${WRKSRC}/qemu-doc.texi
- @${REINPLACE_CMD} -E \
- -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing|" \
- -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \
- ${WRKSRC}/Makefile.target
- @${REINPLACE_CMD} -E \
- -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \
- -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \
- ${WRKSRC}/Makefile
- @${REINPLACE_CMD} -E \
- -e "1s|^(#! )/usr/bin/perl|\1${PERL}|" \
- ${WRKSRC}/scripts/texi2pod.pl
-
post-patch-CDROM_DMA-off:
@${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h
-post-patch-GNS3-on:
- @${REINPLACE_CMD} -e 's|(buf\[0\] & 1) && (rctl & E1000_RCTL_MPE)|buf[0] \& 1|' \
- ${WRKSRC}/hw/net/e1000.c
-
# XXX need to disable usb host code on head while it's not ported to the
# new usb stack yet
post-configure:
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 82db0c93d08f..d3eb1271d098 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1535379498
-SHA256 (qemu/2.12.1/qemu-2.12.1.tar.xz) = 33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f
-SIZE (qemu/2.12.1/qemu-2.12.1.tar.xz) = 35416404
+TIMESTAMP = 1555276984
+SHA256 (qemu/3.0.1/qemu-3.0.1.tar.xz) = cf5747aa3bf0e7ec6cb166f48be4680097c333ce320e8e58140980b0d99512f3
+SIZE (qemu/3.0.1/qemu-3.0.1.tar.xz) = 35626524
diff --git a/emulators/qemu/files/patch-Makefile b/emulators/qemu/files/patch-Makefile
index d855e8919ab6..df517e09efcf 100644
--- a/emulators/qemu/files/patch-Makefile
+++ b/emulators/qemu/files/patch-Makefile
@@ -1,7 +1,7 @@
---- Makefile.orig 2018-04-24 16:30:46 UTC
+--- Makefile.orig 2019-04-12 03:28:28 UTC
+++ Makefile
-@@ -350,10 +350,15 @@ LIBS+=-lz $(LIBS_TOOLS)
- HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
+@@ -353,9 +353,14 @@ LIBS+=-lz $(LIBS_TOOLS)
+ HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = qemu-bridge-helper$(EXESUF)
ifdef BUILD_DOCS
+ifdef NOPORTDOCS
@@ -15,8 +15,7 @@
DOCS+=docs/qemu-block-drivers.7
ifdef CONFIG_VIRTFS
DOCS+=fsdev/virtfs-proxy-helper.1
- endif
-@@ -797,11 +802,13 @@ BLOBS=
+@@ -812,11 +817,13 @@ BLOBS=
endif
install-doc: $(DOCS)
@@ -30,7 +29,7 @@
ifdef CONFIG_POSIX
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
$(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
-@@ -815,8 +822,10 @@ ifneq ($(TOOLS),)
+@@ -830,8 +837,10 @@ ifneq ($(TOOLS),)
endif
ifneq (,$(findstring qemu-ga,$(TOOLS)))
$(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
diff --git a/emulators/qemu/files/patch-configure b/emulators/qemu/files/patch-configure
index 7395e5d2f134..73b581bc594b 100644
--- a/emulators/qemu/files/patch-configure
+++ b/emulators/qemu/files/patch-configure
@@ -1,6 +1,14 @@
---- configure.orig 2018-04-24 16:30:46 UTC
+--- configure.orig 2019-04-14 21:25:18 UTC
+++ configure
-@@ -369,7 +369,7 @@ DSOSUF=".so"
+@@ -375,6 +375,7 @@ hax="no"
+ hvf="no"
+ whpx="no"
+ rdma=""
++pvrdma=""
+ gprof="no"
+ debug_tcg="no"
+ debug="no"
+@@ -391,7 +392,7 @@ DSOSUF=".so"
LDFLAGS_SHARED="-shared"
modules="no"
prefix="/usr/local"
@@ -9,7 +17,7 @@
datadir="\${prefix}/share"
firmwarepath="\${prefix}/share/qemu-firmware"
qemu_docdir="\${prefix}/share/doc/qemu"
-@@ -449,6 +449,9 @@ numa=""
+@@ -471,6 +472,9 @@ numa=""
tcmalloc="no"
jemalloc="no"
replication="yes"
@@ -18,8 +26,8 @@
+bpf="no"
vxhs=""
libxml2=""
-
-@@ -1030,6 +1033,10 @@ for opt do
+ docker="no"
+@@ -1087,6 +1091,10 @@ for opt do
;;
--enable-vnc-png) vnc_png="yes"
;;
@@ -30,7 +38,78 @@
--disable-slirp) slirp="no"
;;
--disable-vde) vde="no"
-@@ -2799,6 +2806,14 @@ if ! check_include "ifaddrs.h" ; then
+@@ -1363,6 +1371,10 @@ for opt do
+ ;;
+ --disable-rdma) rdma="no"
+ ;;
++ --enable-pvrdma) pvrdma="yes"
++ ;;
++ --disable-pvrdma) pvrdma="no"
++ ;;
+ --with-gtkabi=*) gtkabi="$optarg"
+ ;;
+ --disable-vte) vte="no"
+@@ -1669,7 +1681,8 @@ disabled with --disable-FEATURE, default is enabled if
+ hax HAX acceleration support
+ hvf Hypervisor.framework acceleration support
+ whpx Windows Hypervisor Platform acceleration support
+- rdma Enable RDMA-based migration and PVRDMA support
++ rdma Enable RDMA-based migration
++ pvrdma Enable PVRDMA support
+ vde support for vde network
+ netmap support for netmap network
+ linux-aio Linux AIO support
+@@ -2881,7 +2894,49 @@ else
+ tasn1=no
+ fi
+
++##########################################
++# PVRDMA detection
+
++cat > $TMPC <<EOF &&
++#include <sys/mman.h>
++
++int
++main(void)
++{
++ char buf = 0;
++ void *addr = &buf;
++ addr = mremap(addr, 0, 1, MREMAP_MAYMOVE | MREMAP_FIXED);
++
++ return 0;
++}
++EOF
++
++if test "$rdma" = "yes" ; then
++ case "$pvrdma" in
++ "")
++ if compile_prog "" ""; then
++ pvrdma="yes"
++ else
++ pvrdma="no"
++ fi
++ ;;
++ "yes")
++ if ! compile_prog "" ""; then
++ error_exit "PVRDMA is not supported since mremap is not implemented"
++ fi
++ pvrdma="yes"
++ ;;
++ "no")
++ pvrdma="no"
++ ;;
++ esac
++else
++ if test "$pvrdma" = "yes" ; then
++ error_exit "PVRDMA requires rdma suppport"
++ fi
++ pvrdma="no"
++fi
++
+ ##########################################
+ # getifaddrs (for tests/test-io-channel-socket )
+
+@@ -2891,6 +2946,14 @@ if ! check_include "ifaddrs.h" ; then
fi
##########################################
@@ -45,7 +124,7 @@
# VTE probe
if test "$vte" != "no"; then
-@@ -2969,7 +2984,51 @@ EOF
+@@ -3061,7 +3124,51 @@ EOF
fi
fi
@@ -97,7 +176,16 @@
##########################################
# VNC SASL detection
if test "$vnc" = "yes" -a "$vnc_sasl" != "no" ; then
-@@ -4331,14 +4390,7 @@ fi
+@@ -3474,7 +3581,7 @@ for i in $glib_modules; do
+ glib_libs=$($pkg_config --libs $i)
+ QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
+ LIBS="$glib_libs $LIBS"
+- libs_qga="$glib_libs $libs_qga"
++ libs_qga="$glib_libs -lintl $libs_qga"
+ else
+ error_exit "glib-$glib_req_ver $i is required to compile QEMU"
+ fi
+@@ -4419,14 +4526,7 @@ fi
# Check if tools are available to build documentation.
if test "$docs" != "no" ; then
@@ -112,7 +200,16 @@
fi
# Search for bswap_32 function
-@@ -5783,6 +5835,7 @@ echo "Audio drivers $audio_drv_list"
+@@ -4551,7 +4651,7 @@ fi
+
+ # check for libusb
+ if test "$libusb" != "no" ; then
+- if $pkg_config --atleast-version=1.0.13 libusb-1.0; then
++ if $pkg_config libusb-1.0; then
+ libusb="yes"
+ libusb_cflags=$($pkg_config --cflags libusb-1.0)
+ libusb_libs=$($pkg_config --libs libusb-1.0)
+@@ -5914,6 +6014,7 @@ echo "Audio drivers $audio_drv_list"
echo "Block whitelist (rw) $block_drv_rw_whitelist"
echo "Block whitelist (ro) $block_drv_ro_whitelist"
echo "VirtFS support $virtfs"
@@ -120,7 +217,15 @@
echo "Multipath support $mpath"
echo "VNC support $vnc"
if test "$vnc" = "yes" ; then
-@@ -6010,6 +6063,15 @@ fi
+@@ -5949,6 +6050,7 @@ if test "$tcg" = "yes" ; then
+ fi
+ echo "malloc trim support $malloc_trim"
+ echo "RDMA support $rdma"
++echo "PVRDMA support $pvrdma"
+ echo "fdt support $fdt"
+ echo "membarrier $membarrier"
+ echo "preadv support $preadv"
+@@ -6143,6 +6245,15 @@ fi
if test "$profiler" = "yes" ; then
echo "CONFIG_PROFILER=y" >> $config_host_mak
fi
@@ -136,13 +241,24 @@
if test "$slirp" = "yes" ; then
echo "CONFIG_SLIRP=y" >> $config_host_mak
echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
-@@ -6247,6 +6309,9 @@ fi
- # if this macro is set.
+@@ -6384,6 +6495,9 @@ fi
if test "$have_fsxattr" = "yes" ; then
echo "HAVE_FSXATTR=y" >> $config_host_mak
-+fi
+ fi
+if test "$have_ifaddrs_h" = "yes" ; then
+ echo "HAVE_IFADDRS_H=y" >> $config_host_mak
++fi
+ if test "$have_copy_file_range" = "yes" ; then
+ echo "HAVE_COPY_FILE_RANGE=y" >> $config_host_mak
fi
- if test "$vte" = "yes" ; then
- echo "CONFIG_VTE=y" >> $config_host_mak
+@@ -6703,6 +6817,10 @@ echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_m
+ if test "$rdma" = "yes" ; then
+ echo "CONFIG_RDMA=y" >> $config_host_mak
+ echo "RDMA_LIBS=$rdma_libs" >> $config_host_mak
++fi
++
++if test "$pvrdma" = "yes" ; then
++ echo "CONFIG_PVRDMA=y" >> $config_host_mak
+ fi
+
+ if test "$have_rtnetlink" = "yes" ; then
diff --git a/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
index 4e88b6b4a362..debacff9c250 100644
--- a/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
+++ b/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
@@ -1,6 +1,6 @@
---- disas/libvixl/vixl/a64/disasm-a64.cc.orig 2016-04-14 20:19:53 UTC
+--- disas/libvixl/vixl/a64/disasm-a64.cc.orig 2019-04-12 03:28:28 UTC
+++ disas/libvixl/vixl/a64/disasm-a64.cc
-@@ -2693,7 +2693,7 @@ void Disassembler::AppendPCRelativeOffse
+@@ -2693,7 +2693,7 @@ void Disassembler::AppendPCRelativeOffsetToOutput(cons
if (offset < 0) {
abs_offset = -abs_offset;
}
diff --git a/emulators/qemu/files/patch-hw_rdma_Makefile.objs b/emulators/qemu/files/patch-hw_rdma_Makefile.objs
new file mode 100644
index 000000000000..8be728796d98
--- /dev/null
+++ b/emulators/qemu/files/patch-hw_rdma_Makefile.objs
@@ -0,0 +1,8 @@
+--- hw/rdma/Makefile.objs.orig 2019-04-12 03:28:28 UTC
++++ hw/rdma/Makefile.objs
+@@ -1,4 +1,4 @@
+-ifeq ($(CONFIG_RDMA),y)
++ifeq ($(CONFIG_PVRDMA),y)
+ obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
+ obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
+ vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
diff --git a/emulators/qemu/files/patch-hw_rdma_vmw_pvrdma__cmd.c b/emulators/qemu/files/patch-hw_rdma_vmw_pvrdma__cmd.c
new file mode 100644
index 000000000000..1da747376deb
--- /dev/null
+++ b/emulators/qemu/files/patch-hw_rdma_vmw_pvrdma__cmd.c
@@ -0,0 +1,10 @@
+--- hw/rdma/vmw/pvrdma_cmd.c.orig 2019-04-12 03:28:28 UTC
++++ hw/rdma/vmw/pvrdma_cmd.c
+@@ -16,7 +16,6 @@
+ #include "qemu/osdep.h"
+ #include "qemu/error-report.h"
+ #include "cpu.h"
+-#include <linux/types.h>
+ #include "hw/hw.h"
+ #include "hw/pci/pci.h"
+ #include "hw/pci/pci_ids.h"
diff --git a/emulators/qemu/files/patch-include_net_net.h b/emulators/qemu/files/patch-include_net_net.h
index 95d3b5e33654..a909f8693029 100644
--- a/emulators/qemu/files/patch-include_net_net.h
+++ b/emulators/qemu/files/patch-include_net_net.h
@@ -1,6 +1,6 @@
---- include/net/net.h.orig 2015-11-03 20:01:34 UTC
+--- include/net/net.h.orig 2019-04-12 03:28:28 UTC
+++ include/net/net.h
-@@ -202,8 +202,8 @@ void qmp_netdev_add(QDict *qdict, QObjec
+@@ -210,8 +210,8 @@ void qmp_netdev_add(QDict *qdict, QObject **ret, Error
int net_hub_id_for_client(NetClientState *nc, int *id);
NetClientState *net_hub_port_find(int hub_id);
diff --git a/emulators/qemu/files/patch-include_qemu_atomic.h b/emulators/qemu/files/patch-include_qemu_atomic.h
index c1f3819a413a..c57a273abfe5 100644
--- a/emulators/qemu/files/patch-include_qemu_atomic.h
+++ b/emulators/qemu/files/patch-include_qemu_atomic.h
@@ -1,6 +1,6 @@
---- include/qemu/atomic.h.orig 2017-04-20 14:57:00 UTC
+--- include/qemu/atomic.h.orig 2019-04-12 03:28:28 UTC
+++ include/qemu/atomic.h
-@@ -182,10 +182,12 @@
+@@ -200,10 +200,12 @@
/* Provide shorter names for GCC atomic builtins, return old value */
#define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)
#define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)
@@ -13,7 +13,7 @@
#define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST)
#define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST)
-@@ -199,10 +201,12 @@
+@@ -217,10 +219,12 @@
/* And even shorter names that return void. */
#define atomic_inc(ptr) ((void) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST))
#define atomic_dec(ptr) ((void) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST))
@@ -26,7 +26,7 @@
#define atomic_xor(ptr, n) ((void) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST))
#else /* __ATOMIC_RELAXED */
-@@ -370,10 +374,12 @@
+@@ -388,10 +392,12 @@
#define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1)
#define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1)
@@ -39,7 +39,7 @@
#define atomic_xor_fetch(ptr, n) __sync_xor_and_fetch(ptr, n)
#define atomic_cmpxchg(ptr, old, new) __sync_val_compare_and_swap(ptr, old, new)
-@@ -382,10 +388,12 @@
+@@ -400,10 +406,12 @@
/* And even shorter names that return void. */
#define atomic_inc(ptr) ((void) __sync_fetch_and_add(ptr, 1))
#define atomic_dec(ptr) ((void) __sync_fetch_and_add(ptr, -1))
diff --git a/emulators/qemu/files/patch-net_tap-bsd.c b/emulators/qemu/files/patch-net_tap-bsd.c
index 8e027eda9e61..bc2d0ec5b43f 100644
--- a/emulators/qemu/files/patch-net_tap-bsd.c
+++ b/emulators/qemu/files/patch-net_tap-bsd.c
@@ -1,6 +1,6 @@
---- net/tap-bsd.c.orig 2015-11-03 20:01:34 UTC
+--- net/tap-bsd.c.orig 2019-04-12 03:28:28 UTC
+++ net/tap-bsd.c
-@@ -29,6 +29,7 @@
+@@ -31,6 +31,7 @@
#if defined(__NetBSD__) || defined(__FreeBSD__)
#include <sys/ioctl.h>
diff --git a/emulators/qemu/files/patch-qemu-doc.texi b/emulators/qemu/files/patch-qemu-doc.texi
index 4bcda8581c01..a99fae61e45f 100644
--- a/emulators/qemu/files/patch-qemu-doc.texi
+++ b/emulators/qemu/files/patch-qemu-doc.texi
@@ -1,6 +1,15 @@
---- qemu-doc.texi.orig 2015-11-03 20:01:35 UTC
+--- qemu-doc.texi.orig 2019-04-12 03:28:29 UTC
+++ qemu-doc.texi
-@@ -355,7 +355,8 @@ Send Ctrl-a
+@@ -198,7 +198,7 @@ VGA BIOS.
+ QEMU uses YM3812 emulation by Tatsuyuki Satoh.
+
+ QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/})
+-by Tibor "TS" Schütz.
++by Tibor "TS" Schuetz.
+
+ Note that, by default, GUS shares IRQ(7) with parallel ports and so
+ QEMU must be told to not have parallel ports to have working GUS.
+@@ -558,7 +558,8 @@ Send the escape character to the frontend
@c man begin SEEALSO
The HTML documentation of QEMU for more precise information and Linux
diff --git a/emulators/qemu/files/patch-rdma-pvrdma-split b/emulators/qemu/files/patch-rdma-pvrdma-split
deleted file mode 100644
index d196a4c62594..000000000000
--- a/emulators/qemu/files/patch-rdma-pvrdma-split
+++ /dev/null
@@ -1,123 +0,0 @@
-diff --git configure configure
-index 457684a7e6..3da60d8436 100755
---- configure
-+++ configure
-@@ -353,6 +353,7 @@ hax="no"
- hvf="no"
- whpx="no"
- rdma=""
-+pvrdma=""
- gprof="no"
- debug_tcg="no"
- debug="no"
-@@ -1308,6 +1309,10 @@ for opt do
- ;;
- --disable-rdma) rdma="no"
- ;;
-+ --enable-pvrdma) pvrdma="yes"
-+ ;;
-+ --disable-pvrdma) pvrdma="no"
-+ ;;
- --with-gtkabi=*) gtkabi="$optarg"
- ;;
- --disable-vte) vte="no"
-@@ -1593,7 +1598,8 @@ disabled with --disable-FEATURE, default is enabled if available:
- hax HAX acceleration support
- hvf Hypervisor.framework acceleration support
- whpx Windows Hypervisor Platform acceleration support
-- rdma Enable RDMA-based migration and PVRDMA support
-+ rdma Enable RDMA-based migration
-+ pvrdma Enable PVRDMA support
- vde support for vde network
- netmap support for netmap network
- linux-aio Linux AIO support
-@@ -2971,6 +2977,48 @@ EOF
- fi
- fi
-
-+##########################################
-+# PVRDMA detection
-+
-+cat > $TMPC <<EOF &&
-+#include <sys/mman.h>
-+
-+int
-+main(void)
-+{
-+ char buf = 0;
-+ void *addr = &buf;
-+ addr = mremap(addr, 0, 1, MREMAP_MAYMOVE | MREMAP_FIXED);
-+
-+ return 0;
-+}
-+EOF
-+
-+if test "$rdma" = "yes" ; then
-+ case "$pvrdma" in
-+ "")
-+ if compile_prog "" ""; then
-+ pvrdma="yes"
-+ else
-+ pvrdma="no"
-+ fi
-+ ;;
-+ "yes")
-+ if ! compile_prog "" ""; then
-+ error_exit "PVRDMA is not supported since mremap is not implemented"
-+ fi
-+ pvrdma="yes"
-+ ;;
-+ "no")
-+ pvrdma="no"
-+ ;;
-+ esac
-+else
-+ if test "$pvrdma" = "yes" ; then
-+ error_exit "PVRDMA requires rdma suppport"
-+ fi
-+ pvrdma="no"
-+fi
-
- ##########################################
- # VNC SASL detection
-@@ -5820,6 +5868,7 @@ if test "$tcg" = "yes" ; then
- fi
- echo "malloc trim support $malloc_trim"
- echo "RDMA support $rdma"
-+echo "PVRDMA support $pvrdma"
- echo "fdt support $fdt"
- echo "membarrier $membarrier"
- echo "preadv support $preadv"
-@@ -6568,6 +6617,10 @@ if test "$rdma" = "yes" ; then
- echo "RDMA_LIBS=$rdma_libs" >> $config_host_mak
- fi
-
-+if test "$pvrdma" = "yes" ; then
-+ echo "CONFIG_PVRDMA=y" >> $config_host_mak
-+fi
-+
- if test "$have_rtnetlink" = "yes" ; then
- echo "CONFIG_RTNETLINK=y" >> $config_host_mak
- fi
-diff --git hw/rdma/Makefile.objs hw/rdma/Makefile.objs
-index 3504c39d21..bd36cbf51c 100644
---- hw/rdma/Makefile.objs
-+++ hw/rdma/Makefile.objs
-@@ -1,4 +1,4 @@
--ifeq ($(CONFIG_RDMA),y)
-+ifeq ($(CONFIG_PVRDMA),y)
- obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
- obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
- vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
-diff --git hw/rdma/vmw/pvrdma_cmd.c hw/rdma/vmw/pvrdma_cmd.c
-index 99019d8741..bd14b4bc47 100644
---- hw/rdma/vmw/pvrdma_cmd.c
-+++ hw/rdma/vmw/pvrdma_cmd.c
-@@ -16,7 +16,6 @@
- #include "qemu/osdep.h"
- #include "qemu/error-report.h"
- #include "cpu.h"
--#include <linux/types.h>
- #include "hw/hw.h"
- #include "hw/pci/pci.h"
- #include "hw/pci/pci_ids.h"
diff --git a/emulators/qemu/pkg-plist b/emulators/qemu/pkg-plist
index 8bf272f89e2b..2a1f7b1d44ee 100644
--- a/emulators/qemu/pkg-plist
+++ b/emulators/qemu/pkg-plist
@@ -2,6 +2,7 @@ bin/qemu-ga
bin/qemu-i386
bin/qemu-img
bin/qemu-io
+%%GTK3%%bin/qemu-keymap
bin/qemu-nbd
%%NO_X86_TARGETS%%bin/qemu-sparc
%%NO_X86_TARGETS%%bin/qemu-sparc64
@@ -134,10 +135,10 @@ man/man8/qemu-nbd.8.gz
%%DATADIR%%/keymaps/sv
%%DATADIR%%/keymaps/th
%%DATADIR%%/keymaps/tr
-%%GTK2%%share/locale/bg/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/de_DE/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/fr_FR/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/it/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/hu/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/tr/LC_MESSAGES/qemu.mo
-%%GTK2%%share/locale/zh_CN/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/bg/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/de_DE/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/fr_FR/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/it/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/hu/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/tr/LC_MESSAGES/qemu.mo
+%%GTK3%%share/locale/zh_CN/LC_MESSAGES/qemu.mo