aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2021-11-16 20:03:37 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2021-11-16 20:03:37 +0000
commit05ef481d145c4be469d358851134768deb8c75a7 (patch)
tree422e501134984a3b66625fb294e80449ab841be2
parent1606be25e295db22adc8e331ffec6f25774feca7 (diff)
downloadports-05ef481d145c4be469d358851134768deb8c75a7.tar.gz
ports-05ef481d145c4be469d358851134768deb8c75a7.zip
emulators/qemu52: Moved to emulators/qemu5
- Has been updated to 5.2.0. - This is the last version of 5.X.X branch of qemu and part of updating emulators/qemu to latest 6.X.X branch. - Added a stripped down version of qemu5-nox11 with FLAVORS - Removed some reference to oszoo.org which no longer hosts qemu images and is totally an irrelevent site
-rw-r--r--MOVED1
-rw-r--r--UPDATING19
-rw-r--r--emulators/Makefile2
-rw-r--r--emulators/qemu5/Makefile (renamed from emulators/qemu50/Makefile)164
-rw-r--r--emulators/qemu5/distinfo3
-rw-r--r--emulators/qemu5/files/patch-Makefile (renamed from emulators/qemu50/files/patch-Makefile)0
-rw-r--r--emulators/qemu5/files/patch-configure45
-rw-r--r--emulators/qemu5/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc (renamed from emulators/qemu50/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc)0
-rw-r--r--emulators/qemu5/files/patch-net_tap-bsd.c (renamed from emulators/qemu50/files/patch-net_tap-bsd.c)0
-rw-r--r--emulators/qemu5/files/qemu-ifdown.sample (renamed from emulators/qemu50/files/qemu-ifdown.sample)0
-rw-r--r--emulators/qemu5/files/qemu-ifup.sample (renamed from emulators/qemu50/files/qemu-ifup.sample)0
-rw-r--r--emulators/qemu5/pkg-descr (renamed from emulators/qemu50/pkg-descr)0
-rw-r--r--emulators/qemu5/pkg-message (renamed from emulators/qemu50/pkg-message)0
-rw-r--r--emulators/qemu5/pkg-plist (renamed from emulators/qemu50/pkg-plist)0
-rw-r--r--emulators/qemu50/distinfo7
-rw-r--r--emulators/qemu50/files/patch-configure166
-rw-r--r--emulators/qemu50/files/patch-include_net_net.h13
-rw-r--r--emulators/qemu50/files/patch-include_qemu_atomic.h41
-rw-r--r--emulators/qemu50/files/pcap-patch-net_clients.h13
-rw-r--r--emulators/qemu50/files/pcap-patch-net_net.c250
-rw-r--r--emulators/qemu50/files/pcap-patch-qapi_net.json56
21 files changed, 146 insertions, 634 deletions
diff --git a/MOVED b/MOVED
index 1870e1151dc7..d3ab2c5e2fac 100644
--- a/MOVED
+++ b/MOVED
@@ -16598,3 +16598,4 @@ astro/boinc-astropulse||2021-11-04|boinc-setiathome removed, no longer needed
multimedia/celluloid-devel|multimedia/celluloid|2021-11-05|Out of date: use multimedia/celluloid for now
devel/zmusic|audio/zmusic|2021-11-10|Category change
emulators/i386-wine-devel||2021-11-16|Removed: obsolete, emulators/wine-devel provides i386 support
+emulators/qemu52|emulators/qemu5|2021-11-16|Has expired
diff --git a/UPDATING b/UPDATING
index 1c8a64201820..fc64800ab0ae 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,25 @@ 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.
+20201116:
+ AFFECTS: users of emulators/qemu50
+ AUTHOR: bofh@FreeBSD.org
+
+ emulators/qemu50 has been moved to emulators/qemu5 and updated to 5.2.0
+ which is the last version from 5.X.X branch. This is done in preparation
+ of updating emulators/qemu into latest 6.X bgranch. If someone wants to
+ stick with 5.X.X branch please use one of the following command:
+
+ # pkg install qemu5
+ or
+ # portmaster -o emulators/qemu50 emulators/qemu5
+
+ This version also introduces a stripped nox11 version which can be
+ installed with:
+ # pkg install qemu5-nox11
+ or
+ # portmaster emulators/qemu5@nox11
+
20211115:
AFFECTS: AFFECTS: users of *-emacs2x-* packages
AUTHOR: jrm@FreeBSD.org
diff --git a/emulators/Makefile b/emulators/Makefile
index d52db5a1ad8a..57589162e84b 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -110,7 +110,7 @@
SUBDIR += qemu-utils
SUBDIR += qemu41
SUBDIR += qemu42
- SUBDIR += qemu50
+ SUBDIR += qemu5
SUBDIR += qmc2
SUBDIR += quasi88
SUBDIR += riscv-isa-sim
diff --git a/emulators/qemu50/Makefile b/emulators/qemu5/Makefile
index ef3f07f28f71..b8153fe58729 100644
--- a/emulators/qemu50/Makefile
+++ b/emulators/qemu5/Makefile
@@ -1,114 +1,119 @@
-# Created by: Juergen Lock <nox@jelal.kn-bremen.de>
-
PORTNAME= qemu
-PORTVERSION= 5.0.0
-PORTREVISION= 1
+DISTVERSION= 5.2.0
CATEGORIES= emulators
+PKGNAMESUFFIX= 5
MASTER_SITES= https://download.qemu.org/
-PKGNAMESUFFIX= 50
DIST_SUBDIR= qemu/${PORTVERSION}
-PATCH_SITES= https://github.com/${PORTNAME}/${PORTNAME}/commit/
-
MAINTAINER= bofh@FreeBSD.org
-COMMENT= QEMU CPU Emulator - 5.0.X branch
+COMMENT= QEMU CPU Emulator - 5.X.X branch
LICENSE= GPLv2
-ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le
+ONLY_FOR_ARCHS= i386 amd64 powerpc powerpc64 powerpc64 powerpc64le
+BUILD_DEPENDS= sphinx-build:textproc/py-sphinx \
+ bash:shells/bash
LIB_DEPENDS= libnettle.so:security/nettle \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libepoxy.so:graphics/libepoxy \
- libpcre2-8.so:devel/pcre2
+ libpcre2-8.so:devel/pcre2 \
+ libzstd.so:archivers/zstd
+
+FLAVORS= default nox11
+default_CONFLICTS_INSTALL= qemu*
+nox11_PKGNAMESUFFIX= 5-nox11
+nox11_CONFLICTS_INSTALL= qemu*
+nox11_COMMENT= (without X11)
-USES= bison compiler:c11 cpe gmake gnome iconv:wchar_t perl5 \
+USES= bison compiler:c11 cpe gmake gnome iconv:wchar_t ninja perl5 \
pkgconfig python:build tar:xz xorg
USE_GNOME= cairo glib20 libxml2
USE_PERL5= build
+USE_PYTHON= distutils noflavors
USE_XORG= pixman
-PATCHFILES+= 55765822804f.patch:-p1
-PATCHFILES+= aa4d30f6618d.patch:-p1
-
-#BROKEN_powerpc64= fails to compile: In function aio_bh_poll: internal compiler error: Segmentation fault
-
-#.if !defined(PKGNAMESUFFIX) || (${PKGNAMESUFFIX} != "-utils" && ${PKGNAMESUFFIX} != "-guest-agent")
-#.endif
-
HAS_CONFIGURE= yes
-MAKE_ENV+= BSD_MAKE="${MAKE}" V=1
-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)
+PORTSCOUT= limit:^5\.
+
+OPTIONS_SINGLE= NCURSES
+OPTIONS_SINGLE_NCURSES= NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT
+OPTIONS_DEFINE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL VDE \
+ CDROM_DMA USBREDIR X86_TARGETS STATIC_LINK DOCS CAPSTONE
+OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL NCURSES_DEFAULT VDE \
+ CAPSTONE
+.if ${FLAVOR:U} == nox11
+OPTIONS_EXCLUDE:= GTK3 X11
+.endif
+OPTIONS_SUB= yes
+CAPSTONE_DESC= Disassembly framework support
+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)
+NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base)
+NCURSES_BASE_DESC= Depend on ncurses in base
+NCURSES_PORT_DESC= Depend on devel/ncurses in ports
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!)
-X86_TARGETS_DESC= Build only x86 system targets
+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 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES VDE
-OPTIONS_SUB= yes
-X11_USE= SDL=sdl2 XORG=x11,xext GNOME=gdkpixbuf2
-X11_USES= sdl
-X11_CONFIGURE_ENABLE= sdl
+X86_TARGETS_DESC= Build only x86 system targets
+CAPSTONE_CONFIGURE_ON= --enable-capstone=system --extra-cflags=-I${LOCALBASE}/include/capstone
+CAPSTONE_CONFIGURE_OFF= --disable-capstone
+CAPSTONE_LIB_DEPENDS= libcapstone.so:devel/capstone4
+CURL_CONFIGURE_OFF= --disable-curl
+CURL_LIB_DEPENDS= libcurl.so:ftp/curl
+DOCS_CONFIGURE_ENABLE= docs
+DOCS_USES= makeinfo
+GNUTLS_CONFIGURE_OFF= --disable-gnutls
+GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
+GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte
GTK3_LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon
GTK3_USE= GNOME=gdkpixbuf2,gtk30,vte3 XORG=x11,xext
GTK3_USES= gettext gl
-GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte
-GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
-GNUTLS_CONFIGURE_OFF= --disable-gnutls
-SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
-SASL_CONFIGURE_OFF= --disable-vnc-sasl
-JPEG_USES= jpeg
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
+JPEG_USES= jpeg
+NCURSES_DEFAULT_USES= ncurses
+NCURSES_BASE_USES= ncurses:base
+NCURSES_PORT_USES= ncurses:port
+OPENGL_CONFIGURE_OFF= --disable-opengl
OPENGL_USE= GL=gl
OPENGL_USES= gl
-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
-PCAP_CONFIGURE_ON= --enable-pcap
-#PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch-qapi_net.json ${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
+SASL_CONFIGURE_OFF= --disable-vnc-sasl
+SAMBA_USES= samba:run # smbd
+SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
STATIC_LINK_CONFIGURE_ON= --static
STATIC_LINK_PREVENTS= GTK3 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 \
- sphinx-build:textproc/py-sphinx
-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 GNOME=gdkpixbuf2
+X11_USES= sdl
-PORTDOCS= docs index.html interop/.buildinfo interop/* qemu-ga-ref.html qemu-ga-ref.txt \
- qemu-qmp-ref.html qemu-qmp-ref.txt specs/.buildinfo specs/* system/.buildinfo \
- system/* tools/.buildinfo tools/* user/.buildinfo user/*
+PORTDOCS= docs index.html interop/.buildinfo interop/* \
+ specs/.buildinfo specs/* system/.buildinfo system/* \
+ tools/.buildinfo tools/* user/.buildinfo user/*
WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation
CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//}
-CFLAGS_amd64= -fPIC
-CFLAGS_powerpc= -D_CALL_SYSV
-CONFIGURE_ARGS= --localstatedir=/var \
+CONFIGURE_ARGS= --localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \
--extra-ldflags=-L\"${LOCALBASE}/lib\" --enable-debug \
- --prefix=${PREFIX} --cc=${CC} --enable-netmap --enable-docs --disable-kvm \
+ --prefix=${PREFIX} --cc=${CC} --enable-netmap --disable-kvm \
--disable-linux-user --disable-linux-aio --disable-xen \
--enable-debug-info --python=${PYTHON_CMD} \
--extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\"
+INSTALLS_ICONS= yes
.include <bsd.port.options.mk>
@@ -122,7 +127,6 @@ MAKE_ARGS+= ARCH=x86_64
.if ${ARCH} == "powerpc"
MAKE_ARGS+= ARCH=ppc
-USE_GCC= yes
.endif
.if ${ARCH} == "powerpc64"
@@ -135,28 +139,15 @@ 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 \
-# -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \
-# -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \
-# ${WRKSRC}/Makefile
-
post-patch-CDROM_DMA-off:
@${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h
-# XXX need to disable usb host code on head while it's not ported to the
-# new usb stack yet
-post-configure:
- @${REINPLACE_CMD} -E \
- -e "s|^(HOST_USB=)bsd|\1stub|" \
- ${WRKSRC}/config-host.mak
+do-build:
+ cd ${WRKSRC} && ${GMAKE}
+
+do-install:
+ cd ${WRKSRC} && ${SETENV} DESTDIR=${STAGEDIR} ${GMAKE} install
-.if !target(post-install)
post-install:
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc
@@ -164,6 +155,5 @@ post-install:
post-install-DOCS-on:
@(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/)
-.endif
.include <bsd.port.mk>
diff --git a/emulators/qemu5/distinfo b/emulators/qemu5/distinfo
new file mode 100644
index 000000000000..21a1c14bdd2e
--- /dev/null
+++ b/emulators/qemu5/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1621458334
+SHA256 (qemu/5.2.0/qemu-5.2.0.tar.xz) = cb18d889b628fbe637672b0326789d9b0e3b8027e0445b936537c78549df17bc
+SIZE (qemu/5.2.0/qemu-5.2.0.tar.xz) = 106902800
diff --git a/emulators/qemu50/files/patch-Makefile b/emulators/qemu5/files/patch-Makefile
index abddaa8e630f..abddaa8e630f 100644
--- a/emulators/qemu50/files/patch-Makefile
+++ b/emulators/qemu5/files/patch-Makefile
diff --git a/emulators/qemu5/files/patch-configure b/emulators/qemu5/files/patch-configure
new file mode 100644
index 000000000000..73578713a9ab
--- /dev/null
+++ b/emulators/qemu5/files/patch-configure
@@ -0,0 +1,45 @@
+--- configure.orig 2020-12-08 16:59:44 UTC
++++ configure
+@@ -1545,7 +1545,7 @@ if test "$mingw32" = "yes" ; then
+ sysconfdir="$prefix"
+ local_statedir="$prefix"
+ else
+- mandir="${mandir:-$prefix/share/man}"
++ mandir="${mandir:-$prefix/man}"
+ datadir="${datadir:-$prefix/share}"
+ docdir="${docdir:-$prefix/share/doc}"
+ bindir="${bindir:-$prefix/bin}"
+@@ -3114,6 +3114,14 @@ if check_include "sys/signal.h" ; then
+ fi
+
+ ##########################################
++# getifaddrs (for tests/test-io-channel-socket )
++
++have_ifaddrs_h=yes
++if ! check_include "ifaddrs.h" ; then
++ have_ifaddrs_h=no
++fi
++
++##########################################
+ # VTE probe
+
+ if test "$vte" != "no"; then
+@@ -4538,7 +4546,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)
+@@ -6225,6 +6233,9 @@ fi
+ # if this macro is set.
+ if test "$have_fsxattr" = "yes" ; then
+ echo "HAVE_FSXATTR=y" >> $config_host_mak
++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
diff --git a/emulators/qemu50/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu5/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
index 546595845c62..546595845c62 100644
--- a/emulators/qemu50/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
+++ b/emulators/qemu5/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
diff --git a/emulators/qemu50/files/patch-net_tap-bsd.c b/emulators/qemu5/files/patch-net_tap-bsd.c
index 6d94c1bde1ca..6d94c1bde1ca 100644
--- a/emulators/qemu50/files/patch-net_tap-bsd.c
+++ b/emulators/qemu5/files/patch-net_tap-bsd.c
diff --git a/emulators/qemu50/files/qemu-ifdown.sample b/emulators/qemu5/files/qemu-ifdown.sample
index 89d9a9bff436..89d9a9bff436 100644
--- a/emulators/qemu50/files/qemu-ifdown.sample
+++ b/emulators/qemu5/files/qemu-ifdown.sample
diff --git a/emulators/qemu50/files/qemu-ifup.sample b/emulators/qemu5/files/qemu-ifup.sample
index 89d9a9bff436..89d9a9bff436 100644
--- a/emulators/qemu50/files/qemu-ifup.sample
+++ b/emulators/qemu5/files/qemu-ifup.sample
diff --git a/emulators/qemu50/pkg-descr b/emulators/qemu5/pkg-descr
index 018952f53cf1..018952f53cf1 100644
--- a/emulators/qemu50/pkg-descr
+++ b/emulators/qemu5/pkg-descr
diff --git a/emulators/qemu50/pkg-message b/emulators/qemu5/pkg-message
index 4ce5e9a61853..4ce5e9a61853 100644
--- a/emulators/qemu50/pkg-message
+++ b/emulators/qemu5/pkg-message
diff --git a/emulators/qemu50/pkg-plist b/emulators/qemu5/pkg-plist
index 0cf1dffe2c39..0cf1dffe2c39 100644
--- a/emulators/qemu50/pkg-plist
+++ b/emulators/qemu5/pkg-plist
diff --git a/emulators/qemu50/distinfo b/emulators/qemu50/distinfo
deleted file mode 100644
index 6cf79392fdc1..000000000000
--- a/emulators/qemu50/distinfo
+++ /dev/null
@@ -1,7 +0,0 @@
-TIMESTAMP = 1595103965
-SHA256 (qemu/5.0.0/qemu-5.0.0.tar.xz) = 2f13a92a0fa5c8b69ff0796b59b86b080bbb92ebad5d301a7724dd06b5e78cb6
-SIZE (qemu/5.0.0/qemu-5.0.0.tar.xz) = 62426192
-SHA256 (qemu/5.0.0/55765822804f.patch) = 10c2cc93ad01b02d854e26a9e445ba22bb5434dda1ef25baeb979be6292fa8ef
-SIZE (qemu/5.0.0/55765822804f.patch) = 2271
-SHA256 (qemu/5.0.0/aa4d30f6618d.patch) = eeddc5f5e08a460d2c133b4193d115fa1f00f206e0833f33ec66379981473efe
-SIZE (qemu/5.0.0/aa4d30f6618d.patch) = 2211
diff --git a/emulators/qemu50/files/patch-configure b/emulators/qemu50/files/patch-configure
deleted file mode 100644
index 9e6b9cf678c6..000000000000
--- a/emulators/qemu50/files/patch-configure
+++ /dev/null
@@ -1,166 +0,0 @@
---- configure.orig 2020-04-28 16:49:25 UTC
-+++ configure
-@@ -408,7 +408,7 @@ LDFLAGS_SHARED="-shared"
- modules="no"
- module_upgrades="no"
- prefix="/usr/local"
--mandir="\${prefix}/share/man"
-+mandir="\${prefix}/man"
- datadir="\${prefix}/share"
- firmwarepath="\${prefix}/share/qemu-firmware"
- qemu_docdir="\${prefix}/share/doc/qemu"
-@@ -493,6 +493,9 @@ numa=""
- tcmalloc="no"
- jemalloc="no"
- replication="yes"
-+pcap="no"
-+pcap_create="no"
-+bpf="no"
- vxhs=""
- bochs="yes"
- cloop="yes"
-@@ -1168,6 +1171,10 @@ for opt do
- ;;
- --enable-vnc-png) vnc_png="yes"
- ;;
-+ --enable-pcap) pcap="yes"
-+ ;;
-+ --disable-pcap) pcap="no"
-+ ;;
- --disable-slirp) slirp="no"
- ;;
- --enable-slirp=git) slirp="git"
-@@ -3137,6 +3144,14 @@ if ! check_include "ifaddrs.h" ; then
- fi
-
- ##########################################
-+# getifaddrs (for tests/test-io-channel-socket )
-+
-+have_ifaddrs_h=yes
-+if ! check_include "ifaddrs.h" ; then
-+ have_ifaddrs_h=no
-+fi
-+
-+##########################################
- # VTE probe
-
- if test "$vte" != "no"; then
-@@ -3806,7 +3821,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
-@@ -4957,14 +4972,6 @@ if test "$docs" != "no" ; then
- fi
- if has makeinfo && has pod2man && test "$sphinx_ok" = "yes"; then
- docs=yes
-- else
-- if test "$docs" = "yes" ; then
-- if has $sphinx_build && test "$sphinx_ok" != "yes"; then
-- echo "Warning: $sphinx_build exists but it is either too old or uses too old a Python version" >&2
-- fi
-- feature_not_found "docs" "Install texinfo, Perl/perl-podlators and a Python 3 version of python-sphinx"
-- fi
-- docs=no
- fi
- fi
-
-@@ -5098,7 +5105,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)
-@@ -5501,7 +5508,51 @@ if test "$debug_stack_usage" = "yes"; then
- fi
- fi
-
-+##########################################
-+# pcap probe
-
-+if test "$pcap" = "yes" -a "$pcap" != "no"; then
-+ cat > $TMPC << EOF
-+#include <pcap.h>
-+int main(void) { return (pcap_lib_version() == (char *)0 ? 1 : 0); }
-+EOF
-+ if test "$mingw32" = "no" ; then
-+ libpcap=-lpcap
-+ else
-+ libpcap=-lwpcap
-+ fi
-+ if compile_prog "" "$libpcap" ; then
-+ :
-+ else
-+ echo
-+ echo "Error: Could not find pcap"
-+ echo "Make sure to have the pcap libs and headers installed."
-+ echo
-+ exit 1
-+ fi
-+ cat > $TMPC << EOF
-+#include <pcap.h>
-+int main(void)
-+{
-+ char errbuf[PCAP_ERRBUF_SIZE];
-+ return (pcap_create("foo", errbuf) == (pcap_t *)0 ? 1 : 0);
-+}
-+EOF
-+ if compile_prog "" "$libpcap" ; then
-+ pcap_create="yes"
-+ fi
-+ cat > $TMPC << EOF
-+#define PCAP_DONT_INCLUDE_PCAP_BPF_H
-+#include <pcap.h>
-+#include <net/bpf.h>
-+int main(void) { return (BPF_MAJOR_VERSION); }
-+EOF
-+ if compile_prog ; then
-+ bpf="yes"
-+ fi
-+ libs_softmmu="$libpcap $libs_softmmu"
-+fi # test "$pcap"
-+
- ##########################################
- # check if we have open_by_handle_at
-
-@@ -6627,6 +6678,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"
-+echo "pcap support $pcap"
- echo "Multipath support $mpath"
- echo "VNC support $vnc"
- if test "$vnc" = "yes" ; then
-@@ -6864,6 +6916,15 @@ fi
- if test "$want_tools" = "yes" ; then
- echo "CONFIG_TOOLS=y" >> $config_host_mak
- fi
-+if test "$pcap" = "yes" ; then
-+ echo "CONFIG_PCAP=y" >> $config_host_mak
-+ if test "$pcap_create" = "yes" ; then
-+ echo "CONFIG_PCAP_CREATE=y" >> $config_host_mak
-+ fi
-+ if test "$bpf" = "yes" ; then
-+ echo "CONFIG_BPF=y" >> $config_host_mak
-+ fi
-+fi
- if test "$slirp" != "no"; then
- echo "CONFIG_SLIRP=y" >> $config_host_mak
- echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
-@@ -7120,6 +7181,9 @@ fi
- # if this macro is set.
- if test "$have_fsxattr" = "yes" ; then
- echo "HAVE_FSXATTR=y" >> $config_host_mak
-+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
diff --git a/emulators/qemu50/files/patch-include_net_net.h b/emulators/qemu50/files/patch-include_net_net.h
deleted file mode 100644
index 876aee40a62e..000000000000
--- a/emulators/qemu50/files/patch-include_net_net.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/net/net.h.orig 2020-04-28 16:49:24 UTC
-+++ include/net/net.h
-@@ -208,8 +208,8 @@ void netdev_add(QemuOpts *opts, Error **errp);
- int net_hub_id_for_client(NetClientState *nc, int *id);
- NetClientState *net_hub_port_find(int hub_id);
-
--#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
--#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
-+#define DEFAULT_NETWORK_SCRIPT PREFIX "/etc/qemu-ifup"
-+#define DEFAULT_NETWORK_DOWN_SCRIPT PREFIX "/etc/qemu-ifdown"
- #define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper"
- #define DEFAULT_BRIDGE_INTERFACE "br0"
-
diff --git a/emulators/qemu50/files/patch-include_qemu_atomic.h b/emulators/qemu50/files/patch-include_qemu_atomic.h
deleted file mode 100644
index 384ef52bfd3c..000000000000
--- a/emulators/qemu50/files/patch-include_qemu_atomic.h
+++ /dev/null
@@ -1,41 +0,0 @@
---- include/qemu/atomic.h.orig 2020-04-28 16:49:24 UTC
-+++ include/qemu/atomic.h
-@@ -228,10 +228,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))
-+#ifndef __cplusplus
- #define atomic_add(ptr, n) ((void) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_sub(ptr, n) ((void) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_and(ptr, n) ((void) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_or(ptr, n) ((void) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST))
-+#endif
- #define atomic_xor(ptr, n) ((void) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST))
-
- #else /* __ATOMIC_RELAXED */
-@@ -406,10 +408,12 @@
-
- #define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1)
- #define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1)
-+#ifndef __cplusplus
- #define atomic_add_fetch(ptr, n) __sync_add_and_fetch(ptr, n)
- #define atomic_sub_fetch(ptr, n) __sync_sub_and_fetch(ptr, n)
- #define atomic_and_fetch(ptr, n) __sync_and_and_fetch(ptr, n)
- #define atomic_or_fetch(ptr, n) __sync_or_and_fetch(ptr, n)
-+#endif
- #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)
-@@ -418,10 +422,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))
-+#ifndef __cplusplus
- #define atomic_add(ptr, n) ((void) __sync_fetch_and_add(ptr, n))
- #define atomic_sub(ptr, n) ((void) __sync_fetch_and_sub(ptr, n))
- #define atomic_and(ptr, n) ((void) __sync_fetch_and_and(ptr, n))
- #define atomic_or(ptr, n) ((void) __sync_fetch_and_or(ptr, n))
-+#endif
- #define atomic_xor(ptr, n) ((void) __sync_fetch_and_xor(ptr, n))
-
- #endif /* __ATOMIC_RELAXED */
diff --git a/emulators/qemu50/files/pcap-patch-net_clients.h b/emulators/qemu50/files/pcap-patch-net_clients.h
deleted file mode 100644
index 5b56f1b2f49a..000000000000
--- a/emulators/qemu50/files/pcap-patch-net_clients.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- net/clients.h.orig 2018-04-24 16:30:47 UTC
-+++ net/clients.h
-@@ -61,4 +61,10 @@ int net_init_netmap(const Netdev *netdev, const char *
- int net_init_vhost_user(const Netdev *netdev, const char *name,
- NetClientState *peer, Error **errp);
-
-+#ifdef CONFIG_PCAP
-+int net_init_pcap(const Netdev *netdev, const char *name,
-+ NetClientState *peer, Error **errp);
-+#endif
-+
-+
- #endif /* QEMU_NET_CLIENTS_H */
diff --git a/emulators/qemu50/files/pcap-patch-net_net.c b/emulators/qemu50/files/pcap-patch-net_net.c
deleted file mode 100644
index 6fa5ca941f7d..000000000000
--- a/emulators/qemu50/files/pcap-patch-net_net.c
+++ /dev/null
@@ -1,250 +0,0 @@
---- net/net.c.orig 2018-04-24 16:30:47 UTC
-+++ net/net.c
-@@ -52,6 +52,11 @@
- #include "net/filter.h"
- #include "qapi/string-output-visitor.h"
-
-+#include <sys/ioctl.h>
-+#ifdef __FreeBSD__
-+#include <net/if.h>
-+#endif
-+
- /* Net bridge is currently not supported for W32. */
- #if !defined(_WIN32)
- # define CONFIG_NET_BRIDGE
-@@ -929,7 +934,225 @@ static int net_init_nic(const Netdev *netdev, const ch
- return idx;
- }
-
-+#if defined(CONFIG_PCAP)
-+#if defined(CONFIG_BPF)
-+#define PCAP_DONT_INCLUDE_PCAP_BPF_H
-+#include <net/bpf.h>
-+#endif
-+#include <pcap.h>
-
-+struct PCAPState {
-+ NetClientState nc;
-+ pcap_t *handle;
-+ int max_eth_frame_size;
-+};
-+
-+static ssize_t pcap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
-+{
-+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+ return pcap_inject(s->handle, (u_char*)buf, size);
-+}
-+
-+static void pcap_callback(u_char *user, struct pcap_pkthdr *phdr, u_char *pdata
-+ )
-+{
-+ NetClientState *nc = (NetClientState *)user;
-+
-+ int len = phdr->len;
-+#ifdef __FreeBSD__
-+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+ int max_eth_frame_size = s->max_eth_frame_size;
-+
-+ if (len > max_eth_frame_size) {
-+ fprintf(stderr,
-+ "pcap_send: packet size > %d (%d), truncating\n",
-+ max_eth_frame_size, len);
-+ len = max_eth_frame_size;
-+ }
-+#endif
-+ qemu_send_packet(nc, pdata, len);
-+}
-+
-+static void pcap_send(void *opaque)
-+{
-+ struct PCAPState *s = (struct PCAPState *)opaque;
-+
-+ for (;;) {
-+ if (pcap_dispatch(s->handle, 0, (pcap_handler)&pcap_callback, (u_char *)&s->nc) >= 0)
-+ break;
-+ }
-+}
-+
-+static void pcap_cleanup(NetClientState *nc)
-+{
-+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+ qemu_purge_queued_packets(nc);
-+ pcap_close(s->handle);
-+}
-+
-+static NetClientInfo net_pcap_info = {
-+ .type = NET_CLIENT_DRIVER_PCAP,
-+ .size = sizeof(struct PCAPState),
-+ .receive = pcap_receive,
-+// .receive_raw = pcap_receive_raw,
-+// .receive_iov = pcap_receive_iov,
-+// .poll = pcap_poll,
-+ .cleanup = pcap_cleanup,
-+};
-+/*
-+ * ... -net pcap,ifname="..."
-+ */
-+
-+int net_init_pcap(const Netdev *netdev,
-+ const char *name, NetClientState *peer, Error **errp)
-+{
-+ const NetdevPcapOptions *pcap_opts;
-+ NetClientState *nc;
-+ struct PCAPState *s;
-+ const char *ifname;
-+ char errbuf[PCAP_ERRBUF_SIZE];
-+#if defined(_WIN32)
-+ HANDLE h;
-+#endif
-+ int i;
-+
-+ assert(netdev->type == NET_CLIENT_DRIVER_PCAP);
-+ pcap_opts = &netdev->u.pcap;
-+ if (!pcap_opts->has_ifname)
-+ return -1;
-+
-+ ifname = pcap_opts->ifname;
-+
-+ /* create the object */
-+ nc = qemu_new_net_client(&net_pcap_info, peer, "pcap", ifname);
-+ s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+ if (ifname == NULL && (ifname = pcap_lookupdev(errbuf)) == NULL) {
-+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf);
-+ goto fail;
-+ }
-+
-+#ifdef __FreeBSD__
-+ /*
-+ * We want to avoid passing oversize packets to the guest, which
-+ * at least on FreeBSD can happen if the host interface uses tso
-+ * (seen with an em(4) in this case) - so find out the host
-+ * interface's mtu and assume the guest is configured the same.
-+ */
-+ s->max_eth_frame_size = 1514;
-+ i = socket(AF_INET, SOCK_DGRAM, 0);
-+ if (i >= 0) {
-+ struct ifreq ifr;
-+
-+ (void) memset(&ifr, 0, sizeof(ifr));
-+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-+ if (ioctl(i, SIOCGIFMTU, &ifr) != -1)
-+ s->max_eth_frame_size = ifr.ifr_mtu + 14;
-+ close(i);
-+ }
-+#endif
-+
-+#if defined(CONFIG_PCAP_CREATE) || defined(_WIN32)
-+ /*
-+ * Create pcap handle for the device, set promiscuous mode and activate.
-+ */
-+ s->handle = (void *)pcap_create(ifname, errbuf);
-+ if (!s->handle) {
-+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf);
-+ goto fail;
-+ }
-+ if (pcap_set_promisc(s->handle, 1) != 0) {
-+ pcap_perror(s->handle, (char *)"qemu: pcap_set_promisc:");
-+ goto fail;
-+ }
-+ if (pcap_activate(s->handle) != 0) {
-+ pcap_perror(s->handle, (char *)"qemu: pcap_activate:");
-+ goto fail;
-+ }
-+#else
-+ /* Attempt to connect device. */
-+ s->handle = (void *)pcap_open_live(ifname, 65535, 1, 0, errbuf);
-+ if (!s->handle) {
-+ fprintf(stderr, "qemu: pcap_open_live: %s\n", errbuf);
-+ goto fail;
-+ }
-+#endif
-+
-+ /* Set non-blocking mode. */
-+ if (pcap_setnonblock(s->handle, 1, errbuf) < 0) {
-+ fprintf(stderr, "qemu: pcap_setnonblock: %s\n", errbuf);
-+ goto fail;
-+ }
-+
-+#if defined(_WIN32)
-+ /*
-+ * Tell the kernel that the packet has to be seen immediately.
-+ */
-+ if (pcap_setmintocopy(s->handle, 0) < 0) {
-+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n");
-+ goto fail;
-+ }
-+#else /* !_WIN32 */
-+#if defined(CONFIG_BPF)
-+#if defined(BIOCIMMEDIATE)
-+ /*
-+ * Tell the kernel that the packet has to be seen immediately.
-+ */
-+ {
-+ unsigned int one = 1;
-+ if (ioctl(pcap_fileno(s->handle), BIOCIMMEDIATE, &one) < 0) {
-+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n");
-+ goto fail;
-+ }
-+ }
-+#endif /* BIOCIMMEDIATE */
-+#if defined(BIOCFEEDBACK)
-+ /*
-+ * Tell the kernel that the sent packet has to be fed back.
-+ * This is necessary to connect host and guest.
-+ */
-+ {
-+ unsigned int one = 1;
-+ if (ioctl(pcap_fileno(s->handle), BIOCFEEDBACK, &one) < 0) {
-+ fprintf(stderr, "qemu: pcap failed to set feedback mode\n");
-+ goto fail;
-+ }
-+ }
-+#endif /* BIOCFEEDBACK */
-+#endif /* CONFIG_BPF */
-+#endif /* _WIN32 */
-+
-+ snprintf(s->nc.info_str, sizeof(s->nc.info_str), "pcap redirector");
-+
-+#if defined(_WIN32)
-+ if ((h = pcap_getevent(s->handle)) == NULL) {
-+ fprintf(stderr, "qemu: pcap_getevent failed\n");
-+ goto fail;
-+ }
-+ qemu_add_wait_object(h, pcap_send, s);
-+#else /* !_WIN32 */
-+ if ((i = pcap_get_selectable_fd(s->handle)) < 0) {
-+ fprintf(stderr, "qemu: pcap_get_selectable_fd failed\n");
-+ goto fail;
-+ }
-+ qemu_set_fd_handler(i, pcap_send, NULL, s);
-+#endif /* _WIN32 */
-+
-+ return 0;
-+
-+fail:
-+ if (s) {
-+ if (s->handle)
-+ pcap_close(s->handle);
-+ }
-+
-+ return -1;
-+}
-+
-+#endif
-+
- static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
- const Netdev *netdev,
- const char *name,
-@@ -955,6 +1178,9 @@ static int (* const net_client_init_fun[NET_CLIENT_DRI
- #endif
- #ifdef CONFIG_L2TPV3
- [NET_CLIENT_DRIVER_L2TPV3] = net_init_l2tpv3,
-+#endif
-+#ifdef CONFIG_PCAP
-+ [NET_CLIENT_DRIVER_PCAP] = net_init_pcap,
- #endif
- };
-
diff --git a/emulators/qemu50/files/pcap-patch-qapi_net.json b/emulators/qemu50/files/pcap-patch-qapi_net.json
deleted file mode 100644
index 39114c65d591..000000000000
--- a/emulators/qemu50/files/pcap-patch-qapi_net.json
+++ /dev/null
@@ -1,56 +0,0 @@
---- qapi/net.json.orig 2018-04-24 16:30:47 UTC
-+++ qapi/net.json
-@@ -388,6 +388,19 @@
- '*helper': 'str' } }
-
- ##
-+# @NetdevPcapOptions:
-+#
-+# Use ifname as a source to capture
-+#
-+# @ifname: #required to determine which interface to capture
-+#
-+# Since: 1.2
-+##
-+{ 'struct': 'NetdevPcapOptions',
-+ 'data': {
-+ '*ifname': 'str' } }
-+
-+##
- # @NetdevHubPortOptions:
- #
- # Connect two or more net clients through a software hub.
-@@ -454,7 +467,7 @@
- ##
- { 'enum': 'NetClientDriver',
- 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
-- 'bridge', 'hubport', 'netmap', 'vhost-user' ] }
-+ 'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] }
-
- ##
- # @Netdev:
-@@ -478,6 +491,7 @@
- 'user': 'NetdevUserOptions',
- 'tap': 'NetdevTapOptions',
- 'l2tpv3': 'NetdevL2TPv3Options',
-+ 'pcap': 'NetdevPcapOptions',
- 'socket': 'NetdevSocketOptions',
- 'vde': 'NetdevVdeOptions',
- 'bridge': 'NetdevBridgeOptions',
-@@ -514,7 +528,7 @@
- ##
- { 'enum': 'NetLegacyOptionsType',
- 'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
-- 'bridge', 'netmap', 'vhost-user'] }
-+ 'bridge', 'netmap', 'vhost-user', 'pcap'] }
-
- ##
- # @NetLegacyOptions:
-@@ -532,6 +546,7 @@
- 'user': 'NetdevUserOptions',
- 'tap': 'NetdevTapOptions',
- 'l2tpv3': 'NetdevL2TPv3Options',
-+ 'pcap': 'NetdevPcapOptions',
- 'socket': 'NetdevSocketOptions',
- 'vde': 'NetdevVdeOptions',
- 'bridge': 'NetdevBridgeOptions',