aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2021-10-31 09:47:03 +0000
committerRene Ladan <rene@FreeBSD.org>2021-10-31 09:47:32 +0000
commit5cce2a3255cad85f5f9411abfc3967d53f7a17bf (patch)
tree5e4896e7dd526e600215ddcff83a9d201fa78473
parent75ddb35a300db04c51807c9da7fadcf387ff7e77 (diff)
downloadports-5cce2a3255cad85f5f9411abfc3967d53f7a17bf.tar.gz
ports-5cce2a3255cad85f5f9411abfc3967d53f7a17bf.zip
cleanup: Remove expired ports:
2021-10-31 emulators/advancemenu: Heavily outdated and unmaintained 2021-11-01 emulators/qemu31: Use emulators/qemu or emulators/qemu-devel
-rw-r--r--MOVED2
-rw-r--r--emulators/Makefile2
-rw-r--r--emulators/advancemenu/Makefile64
-rw-r--r--emulators/advancemenu/distinfo2
-rw-r--r--emulators/advancemenu/pkg-descr23
-rw-r--r--emulators/qemu31/Makefile157
-rw-r--r--emulators/qemu31/distinfo3
-rw-r--r--emulators/qemu31/files/patch-Makefile42
-rw-r--r--emulators/qemu31/files/patch-configure195
-rw-r--r--emulators/qemu31/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc11
-rw-r--r--emulators/qemu31/files/patch-egl-no-x1153
-rw-r--r--emulators/qemu31/files/patch-include_net_net.h13
-rw-r--r--emulators/qemu31/files/patch-include_qemu_atomic.h54
-rw-r--r--emulators/qemu31/files/patch-net_tap-bsd.c10
-rw-r--r--emulators/qemu31/files/patch-qemu-doc.texi21
-rw-r--r--emulators/qemu31/files/pcap-patch56
-rw-r--r--emulators/qemu31/files/pcap-patch-net_clients.h13
-rw-r--r--emulators/qemu31/files/pcap-patch-net_net.c250
-rw-r--r--emulators/qemu31/files/qemu-ifdown.sample2
-rw-r--r--emulators/qemu31/files/qemu-ifup.sample2
-rw-r--r--emulators/qemu31/pkg-descr15
-rw-r--r--emulators/qemu31/pkg-message188
-rw-r--r--emulators/qemu31/pkg-plist149
23 files changed, 2 insertions, 1325 deletions
diff --git a/MOVED b/MOVED
index 5deac1903b56..dc817b6a2998 100644
--- a/MOVED
+++ b/MOVED
@@ -16587,3 +16587,5 @@ mail/postfix-ldap-sasl|mail/postfix@ldap|2021-10-28|Converted to flavor
mail/postfix-sasl|mail/postfix@sasl|2021-10-28|Converted to flavor
mail/postfix-current-sasl|mail/postfix-current@sasl|2021-10-28|Converted to flavor
databases/mysqlsniffer||2021-10-30|Has expired: Development discontinued upstream, doesn't build on recent FreeBSD
+emulators/advancemenu||2021-10-31|Has expired: Heavily outdated and unmaintained
+emulators/qemu31|emulators/qemu|2021-10-31|Has expired: Use emulators/qemu or emulators/qemu-devel
diff --git a/emulators/Makefile b/emulators/Makefile
index e66efc8d0542..56d47390b55a 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -2,7 +2,6 @@
SUBDIR += adamem
SUBDIR += advancemame
- SUBDIR += advancemenu
SUBDIR += advancemess
SUBDIR += almostti
SUBDIR += anese
@@ -112,7 +111,6 @@
SUBDIR += qemu-user-static
SUBDIR += qemu-user-static-devel
SUBDIR += qemu-utils
- SUBDIR += qemu31
SUBDIR += qemu41
SUBDIR += qemu42
SUBDIR += qemu50
diff --git a/emulators/advancemenu/Makefile b/emulators/advancemenu/Makefile
deleted file mode 100644
index 5059a4546ffe..000000000000
--- a/emulators/advancemenu/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-# Created by: alepulver
-
-PORTNAME= advancemenu
-PORTVERSION= 2.8
-PORTREVISION= 3
-CATEGORIES= emulators
-MASTER_SITES= https://github.com/amadvance/advancemame/releases/download/${DISTNAME}/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Frontend for AdvanceMAME, MAME, MESS, RAINE
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libexpat.so:textproc/expat2
-
-USES= gmake localbase:ldflags sdl
-USE_SDL= sdl
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --disable-svgalib --disable-fb --disable-alsa --enable-oss \
- --disable-slang --disable-ncurses --disable-kevent
-
-MAKE_JOBS_UNSAFE= yes
-
-PORTDOCS= *
-PLIST_FILES= bin/advmenu man/man1/advmenu.1.gz
-
-OPTIONS_DEFINE= DOCS FREETYPE
-OPTIONS_DEFINE_i386= ASM
-OPTIONS_DEFAULT= FREETYPE
-OPTIONS_DEFAULT_i386= ASM
-
-ASM_BUILD_DEPENDS= nasm:devel/nasm
-ASM_USE= GCC=yes
-ASM_CONFIGURE_ENABLE= asm
-FREETYPE_USES= pkgconfig
-FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2
-FREETYPE_CONFIGURE_ENABLE= freetype
-
-DEPRECATED= Heavily outdated and unmaintained
-EXPIRATION_DATE= 2021-10-31
-
-BINARY_ALIAS= freetype-config=${WRKSRC}/freetype-config-dummy
-
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|-lpthread|-pthread|' ${WRKSRC}/configure
- @${REINPLACE_CMD} -e \
- 's|@@|@|' ${WRKSRC}/Makefile.in
- # Mock freetype-config script
- echo -e '#!/bin/sh\npkg-config freetype2 $$*' >> ${WRKSRC}/freetype-config-dummy
- chmod +x ${WRKSRC}/freetype-config-dummy
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/advmenu ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/doc/advmenu.1 ${STAGEDIR}${MANPREFIX}/man/man1
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} HISTORY README RELEASE \
- ${STAGEDIR}${DOCSDIR})
- ${INSTALL_DATA} ${WRKSRC}/doc/advmenu.[ht]* ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/emulators/advancemenu/distinfo b/emulators/advancemenu/distinfo
deleted file mode 100644
index eee666457d39..000000000000
--- a/emulators/advancemenu/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (advancemenu-2.8.tar.gz) = b591f85c9785997f113643f3b3e202ea849888f12553cd622ded83499301f5f5
-SIZE (advancemenu-2.8.tar.gz) = 2516361
diff --git a/emulators/advancemenu/pkg-descr b/emulators/advancemenu/pkg-descr
deleted file mode 100644
index c3c358ca0eb9..000000000000
--- a/emulators/advancemenu/pkg-descr
+++ /dev/null
@@ -1,23 +0,0 @@
-AdvanceMENU is a frontend for AdvanceMAME, MAME, MESS, RAINE and any
-other emulator.
-
-It runs in Linux, Mac OS X, DOS, Windows and in all the other platforms
-supported by the SDL library. The main features are:
-
-* Auto update of the rom info.
-* Vertical and horizontal orientation.
-* Support for any TV/Arcade Monitor like AdvanceMAME but it's good also
- for a normal PC monitor.
-* Static and Animated image and clip preview (PNG/PCX/ICO/MNG). Up to
- 192 images at the same time!
-* Sound preview. (MP3/WAV). You can select a special sound for every
- game played when the cursor move on it.
-* Sound backgrounds (MP3/WAV). Play your favourite songs or radio
- records in background.
-* Sound effects (MP3/WAV) for key press, program start, game start,
- program exit...
-* Support for zipped images and sounds archives.
-* Screensaver. A slide show of the game images.
-* Selectable background and help images with translucency.
-
-WWW: http://www.advancemame.it/
diff --git a/emulators/qemu31/Makefile b/emulators/qemu31/Makefile
deleted file mode 100644
index ef173179cf8f..000000000000
--- a/emulators/qemu31/Makefile
+++ /dev/null
@@ -1,157 +0,0 @@
-# Created by: Juergen Lock <nox@jelal.kn-bremen.de>
-
-PORTNAME= qemu
-PORTVERSION= 3.1.1.1
-PORTREVISION= 2
-CATEGORIES= emulators
-MASTER_SITES= https://download.qemu.org/
-PKGNAMESUFFIX= 31
-DIST_SUBDIR= qemu/${PORTVERSION}
-
-MAINTAINER?= bofh@FreeBSD.org
-COMMENT?= QEMU CPU Emulator - 3.1.X version
-
-LICENSE= GPLv2
-
-BROKEN_aarch64= fails to build: accel/tcg/user-exec.c:486:36: error: no member named 'pc' in 'struct __mcontext'
-DEPRECATED= Use emulators/qemu or emulators/qemu-devel
-EXPIRATION_DATE=2021-11-01
-
-LIB_DEPENDS?= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2 \
- libnettle.so:security/nettle
-
-USES?= compiler:c11 cpe gmake gnome pkgconfig bison perl5 \
- python:build tar:xz
-USE_GNOME+= libxml2
-USE_PERL5= build
-
-PORTSCOUT= limit:^3\.1\.
-
-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
-CDROM_DMA_DESC= IDE CDROM DMA
-GNUTLS_DESC= gnutls dependency (vnc encryption)
-JPEG_DESC= jpeg dependency (vnc lossy compression)
-PCAP_DESC= pcap dependency (networking with bpf)
-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)
-X86_TARGETS_DESC= Build only x86 system targets
-OPTIONS_DEFAULT=X11 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES VDE
-OPTIONS_SUB= yes
-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
-GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
-GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte
-GTK3_LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
- libpcre2-8.so:devel/pcre2 \
- libxkbcommon.so:x11/libxkbcommon
-GTK3_USE= GNOME=gtk30,vte3,gdkpixbuf2 XORG=x11,xext GL=gbm
-GTK3_USES= gettext gl xorg
-JPEG_CONFIGURE_OFF= --disable-vnc-jpeg
-JPEG_USES= jpeg
-NCURSES_USES= ncurses:base
-OPENGL_CONFIGURE_OFF= --disable-opengl
-OPENGL_USE= GL=glu
-OPENGL_USES= gl
-PCAP_CONFIGURE_ON= --enable-pcap
-PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch ${FILESDIR}/pcap-patch-net_net.c \
- ${FILESDIR}/pcap-patch-net_clients.h
-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
-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 xorg
-.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != "-utils"
-X86_TARGETS_USE_OFF= GNOME=cairo,gdkpixbuf2 XORG=pixman
-X86_TARGETS_USES_OFF= gnome xorg
-.endif
-
-PORTDOCS?= docs qemu-doc.html qemu-doc.txt qemu-ga-ref.html qemu-ga-ref.txt \
- qemu-qmp-ref.html qemu-qmp-ref.txt
-
-WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation
-CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//}
-CFLAGS_powerpc= -D_CALL_SYSV
-CONFIGURE_ARGS?=--localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \
- --extra-ldflags=-L\"${LOCALBASE}/lib\" --disable-libssh2 --enable-debug \
- --prefix=${PREFIX} --cc=${CC} --enable-netmap --enable-docs --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}\\\"\"
-
-.include <bsd.port.options.mk>
-
-.if !defined(STRIP) || ${STRIP} == ""
-CONFIGURE_ARGS+=--disable-strip
-.endif
-
-.if ${ARCH} == "amd64"
-MAKE_ARGS+= ARCH=x86_64
-.endif
-
-.if ${ARCH} == "powerpc"
-MAKE_ARGS+= ARCH=ppc
-.endif
-
-.if ${ARCH} == "powerpc64"
-MAKE_ARGS+= ARCH=ppc64
-.endif
-
-.if ${ARCH} == "sparc64"
-CONFIGURE_ARGS+= --sparc_cpu=v9
-.endif
-
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300000
-PLIST_SUB+= IVSHMEM=""
-.else
-PLIST_SUB+= IVSHMEM="@comment "
-.endif
-
-PLIST_SUB+= LINUXBOOT_DMA=""
-
-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
-
-.if !target(post-install)
-post-install:
- ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc
- ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-*
-
-post-install-DOCS-on:
- @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/)
-.endif
-
-.include <bsd.port.mk>
diff --git a/emulators/qemu31/distinfo b/emulators/qemu31/distinfo
deleted file mode 100644
index c7586973f5ce..000000000000
--- a/emulators/qemu31/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1570126454
-SHA256 (qemu/3.1.1.1/qemu-3.1.1.1.tar.xz) = b148fc3c7382c5addd915db433383160ca7b840bc6ea90bb0d35c6b253526d56
-SIZE (qemu/3.1.1.1/qemu-3.1.1.1.tar.xz) = 36077056
diff --git a/emulators/qemu31/files/patch-Makefile b/emulators/qemu31/files/patch-Makefile
deleted file mode 100644
index df517e09efcf..000000000000
--- a/emulators/qemu31/files/patch-Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
---- Makefile.orig 2019-04-12 03:28:28 UTC
-+++ Makefile
-@@ -353,9 +353,14 @@ LIBS+=-lz $(LIBS_TOOLS)
- HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = qemu-bridge-helper$(EXESUF)
-
- ifdef BUILD_DOCS
-+ifdef NOPORTDOCS
-+DOCS=qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
-+DOCS+=docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7
-+else
- DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
- DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7
- DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7
-+endif
- DOCS+=docs/qemu-block-drivers.7
- ifdef CONFIG_VIRTFS
- DOCS+=fsdev/virtfs-proxy-helper.1
-@@ -812,11 +817,13 @@ BLOBS=
- endif
-
- install-doc: $(DOCS)
-+ifndef NOPORTDOCS
- $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)"
-+endif
- ifdef CONFIG_POSIX
- $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
- $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
-@@ -830,8 +837,10 @@ ifneq ($(TOOLS),)
- endif
- ifneq (,$(findstring qemu-ga,$(TOOLS)))
- $(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
-+ifndef NOPORTDOCS
- $(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)"
-+endif
- $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
- endif
- endif
diff --git a/emulators/qemu31/files/patch-configure b/emulators/qemu31/files/patch-configure
deleted file mode 100644
index bbe37b0bf858..000000000000
--- a/emulators/qemu31/files/patch-configure
+++ /dev/null
@@ -1,195 +0,0 @@
---- configure.orig 2019-10-01 22:31:44 UTC
-+++ configure
-@@ -393,7 +393,7 @@ DSOSUF=".so"
- LDFLAGS_SHARED="-shared"
- modules="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"
-@@ -471,6 +471,9 @@ numa=""
- tcmalloc="no"
- jemalloc="no"
- replication="yes"
-+pcap="no"
-+pcap_create="no"
-+bpf="no"
- vxhs=""
- bochs="yes"
- cloop="yes"
-@@ -1099,6 +1102,10 @@ for opt do
- ;;
- --enable-vnc-png) vnc_png="yes"
- ;;
-+ --enable-pcap) pcap="yes"
-+ ;;
-+ --disable-pcap) pcap="no"
-+ ;;
- --disable-slirp) slirp="no"
- ;;
- --disable-vde) vde="no"
-@@ -2862,6 +2869,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
-@@ -4515,11 +4530,6 @@ fi
- if test "$docs" != "no" ; then
- if has makeinfo && has pod2man; then
- docs=yes
-- else
-- if test "$docs" = "yes" ; then
-- feature_not_found "docs" "Install texinfo and Perl/perl-podlators"
-- fi
-- docs=no
- fi
- fi
-
-@@ -5033,7 +5043,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
-
-@@ -5922,27 +5976,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ]
- cat > $TMPC <<EOF
- int main(void) { return 0; }
- EOF
-- textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
-+ textseg_ldflags="-Wl,--image-base=$textseg_addr"
- if ! compile_prog "" "$textseg_ldflags"; then
-- # In case ld does not support -Ttext-segment, edit the default linker
-- # script via sed to set the .text start addr. This is needed on FreeBSD
-- # at least.
-- if ! $ld --verbose >/dev/null 2>&1; then
-- error_exit \
-- "We need to link the QEMU user mode binaries at a" \
-- "specific text address. Unfortunately your linker" \
-- "doesn't support either the -Ttext-segment option or" \
-- "printing the default linker script with --verbose." \
-- "If you don't want the user mode binaries, pass the" \
-- "--disable-user option to configure."
-- fi
-+ textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
-+ if ! compile_prog "" "$textseg_ldflags"; then
-+ # In case ld does not support -Ttext-segment, edit the default linker
-+ # script via sed to set the .text start addr. This is needed on FreeBSD
-+ # at least.
-+ if ! $ld --verbose >/dev/null 2>&1; then
-+ error_exit \
-+ "We need to link the QEMU user mode binaries at a" \
-+ "specific text address. Unfortunately your linker" \
-+ "doesn't support either the -Ttext-segment option or" \
-+ "printing the default linker script with --verbose." \
-+ "If you don't want the user mode binaries, pass the" \
-+ "--disable-user option to configure."
-+ fi
-
-- $ld --verbose | sed \
-- -e '1,/==================================================/d' \
-- -e '/==================================================/,$d' \
-- -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
-- -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
-- textseg_ldflags="-Wl,-T../config-host.ld"
-+ $ld --verbose | sed \
-+ -e '1,/==================================================/d' \
-+ -e '/==================================================/,$d' \
-+ -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
-+ -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
-+ textseg_ldflags="-Wl,-T../config-host.ld"
-+ fi
- fi
- fi
- fi
-@@ -6054,6 +6111,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
-@@ -6289,6 +6347,15 @@ fi
- if test "$profiler" = "yes" ; then
- echo "CONFIG_PROFILER=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" = "yes" ; then
- echo "CONFIG_SLIRP=y" >> $config_host_mak
- echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
-@@ -6519,6 +6586,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/qemu31/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu31/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
deleted file mode 100644
index debacff9c250..000000000000
--- a/emulators/qemu31/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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::AppendPCRelativeOffsetToOutput(cons
- if (offset < 0) {
- abs_offset = -abs_offset;
- }
-- AppendToOutput("#%c0x%" PRIx64, sign, abs_offset);
-+ AppendToOutput("#%c0x%" PRIx64, sign, offset < 0 ? -offset : offset);
- }
-
-
diff --git a/emulators/qemu31/files/patch-egl-no-x11 b/emulators/qemu31/files/patch-egl-no-x11
deleted file mode 100644
index 103a50006120..000000000000
--- a/emulators/qemu31/files/patch-egl-no-x11
+++ /dev/null
@@ -1,53 +0,0 @@
-Regressed by https://github.com/KhronosGroup/EGL-Registry/commit/64aa561f1971
-Fixed by https://gitlab.com/qemu-project/qemu/-/commit/fbd57c754f32
-
-In file included from ui/egl-helpers.c:21:
-include/ui/egl-helpers.h:46:55: error: unknown type name 'Window'
-EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win);
- ^
-ui/egl-helpers.c:276:55: error: unknown type name 'Window'
-EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win)
- ^
-
---- include/ui/egl-helpers.h.orig 2019-10-01 22:31:45 UTC
-+++ include/ui/egl-helpers.h
-@@ -43,7 +43,7 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf);
-
- #endif
-
--EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win);
-+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win);
-
- int qemu_egl_init_dpy_x11(EGLNativeDisplayType dpy, DisplayGLMode mode);
- int qemu_egl_init_dpy_mesa(EGLNativeDisplayType dpy, DisplayGLMode mode);
---- ui/egl-helpers.c.orig 2019-10-01 22:31:46 UTC
-+++ ui/egl-helpers.c
-@@ -273,14 +273,14 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf)
-
- /* ---------------------------------------------------------------------- */
-
--EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win)
-+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win)
- {
- EGLSurface esurface;
- EGLBoolean b;
-
- esurface = eglCreateWindowSurface(qemu_egl_display,
- qemu_egl_config,
-- (EGLNativeWindowType)win, NULL);
-+ win, NULL);
- if (esurface == EGL_NO_SURFACE) {
- error_report("egl: eglCreateWindowSurface failed");
- return NULL;
---- ui/gtk-egl.c.orig 2019-10-01 22:31:46 UTC
-+++ ui/gtk-egl.c
-@@ -54,7 +54,8 @@ void gd_egl_init(VirtualConsole *vc)
- }
-
- vc->gfx.ectx = qemu_egl_init_ctx();
-- vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, x11_window);
-+ vc->gfx.esurface = qemu_egl_init_surface_x11
-+ (vc->gfx.ectx, (EGLNativeWindowType)x11_window);
-
- assert(vc->gfx.esurface);
- }
diff --git a/emulators/qemu31/files/patch-include_net_net.h b/emulators/qemu31/files/patch-include_net_net.h
deleted file mode 100644
index a909f8693029..000000000000
--- a/emulators/qemu31/files/patch-include_net_net.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/net/net.h.orig 2019-04-12 03:28:28 UTC
-+++ include/net/net.h
-@@ -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);
-
--#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/qemu31/files/patch-include_qemu_atomic.h b/emulators/qemu31/files/patch-include_qemu_atomic.h
deleted file mode 100644
index c57a273abfe5..000000000000
--- a/emulators/qemu31/files/patch-include_qemu_atomic.h
+++ /dev/null
@@ -1,54 +0,0 @@
---- include/qemu/atomic.h.orig 2019-04-12 03:28:28 UTC
-+++ include/qemu/atomic.h
-@@ -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)
-+#ifndef __cplusplus
- #define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)
- #define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST)
- #define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST)
- #define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST)
-+#endif
- #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)
-@@ -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))
-+#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 */
-@@ -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)
-+#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)
-@@ -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))
-+#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/qemu31/files/patch-net_tap-bsd.c b/emulators/qemu31/files/patch-net_tap-bsd.c
deleted file mode 100644
index bc2d0ec5b43f..000000000000
--- a/emulators/qemu31/files/patch-net_tap-bsd.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- net/tap-bsd.c.orig 2019-04-12 03:28:28 UTC
-+++ net/tap-bsd.c
-@@ -31,6 +31,7 @@
-
- #if defined(__NetBSD__) || defined(__FreeBSD__)
- #include <sys/ioctl.h>
-+#include <sys/socket.h>
- #include <net/if.h>
- #include <net/if_tap.h>
- #endif
diff --git a/emulators/qemu31/files/patch-qemu-doc.texi b/emulators/qemu31/files/patch-qemu-doc.texi
deleted file mode 100644
index a99fae61e45f..000000000000
--- a/emulators/qemu31/files/patch-qemu-doc.texi
+++ /dev/null
@@ -1,21 +0,0 @@
---- qemu-doc.texi.orig 2019-04-12 03:28:29 UTC
-+++ qemu-doc.texi
-@@ -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
--user mode emulator invocation.
-+user mode emulator invocation, as well as the FreeBSD host notes in
-+@file{pkg-message} in the relevant qemu port directory.
- @c man end
-
- @c man begin AUTHOR
diff --git a/emulators/qemu31/files/pcap-patch b/emulators/qemu31/files/pcap-patch
deleted file mode 100644
index 39114c65d591..000000000000
--- a/emulators/qemu31/files/pcap-patch
+++ /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',
diff --git a/emulators/qemu31/files/pcap-patch-net_clients.h b/emulators/qemu31/files/pcap-patch-net_clients.h
deleted file mode 100644
index 5b56f1b2f49a..000000000000
--- a/emulators/qemu31/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/qemu31/files/pcap-patch-net_net.c b/emulators/qemu31/files/pcap-patch-net_net.c
deleted file mode 100644
index 6fa5ca941f7d..000000000000
--- a/emulators/qemu31/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/qemu31/files/qemu-ifdown.sample b/emulators/qemu31/files/qemu-ifdown.sample
deleted file mode 100644
index 89d9a9bff436..000000000000
--- a/emulators/qemu31/files/qemu-ifdown.sample
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec true
diff --git a/emulators/qemu31/files/qemu-ifup.sample b/emulators/qemu31/files/qemu-ifup.sample
deleted file mode 100644
index 89d9a9bff436..000000000000
--- a/emulators/qemu31/files/qemu-ifup.sample
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec true
diff --git a/emulators/qemu31/pkg-descr b/emulators/qemu31/pkg-descr
deleted file mode 100644
index c43a6a43c80f..000000000000
--- a/emulators/qemu31/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-QEMU is a FAST! processor emulator using dynamic translation to achieve good
-emulation speed.
-QEMU has two operating modes:
-
- * Full system emulation. In this mode, QEMU emulates a full system (for
- example a PC), including a processor and various peripherials. It can be
- used to launch different Operating Systems without rebooting the PC or to
- debug system code.
- * User mode emulation (Linux host only). In this mode, QEMU can launch Linux
- processes compiled for one CPU on another CPU. It can be used to launch the
- Wine Windows API emulator or to ease cross-compilation and cross-debugging.
-
-As QEMU requires no host kernel patches to run, it is very safe and easy to use.
-
-WWW: http://wiki.qemu.org/Main_Page
diff --git a/emulators/qemu31/pkg-message b/emulators/qemu31/pkg-message
deleted file mode 100644
index 4ce5e9a61853..000000000000
--- a/emulators/qemu31/pkg-message
+++ /dev/null
@@ -1,188 +0,0 @@
-[
-{ type: install
- message: <<EOM
-FreeBSD host notes
-==================
-
-- Needs to set net.link.tap.user_open sysctl in order to use /dev/tap*
- networking as non-root. Don't forget to adjust device node permissions in
- /etc/devfs.rules.
-
-- slirp (usermode networking) is fixed now in cvs, on FreeSBIE 1.0 guests you
- still have to manually do: echo nameserver 10.0.2.3 >/etc/resolv.conf but
- i've been told that that's normal. (fixed on FreeSBIE 1.1.) And you have
- to wait a bit for dhclient to do its thing; traffic to address 10.0.2.2 is
- routed to 127.1 on the host.
-
-- Expect timer problems when guest kernel HZ is > hosts, for example time
- sleep 1 takes 49 seconds and booting sleeps for minutes at the acd0 probe
- with a FreeSBIE 1.0 guest, thats because its kernel is built with HZ=5000,
- and FreeBSD's default is 100... (no longer a problem with FreeSBIE 1.1.)
- The linux 2.6 kernel uses 1000 by default btw. (changed to 250 later, and
- recent linux kernels now no longer have a fixed HZ, aka `tickless
- kernel'...) Enabling /dev/rtc doesn't seem to help either (not included
- since it needs a patch to emulators/rtc.)
-
-- Update: the above problem has gotten worse with FreeBSD guests
- somewhere before 8.0, mainly since the kernel now usually wants
- double or even quadruple number of timer irqs compared to HZ if
- it detects an apic (and at least early versions of FreeBSD 8 had
- a bug that essentially halved qemu's clock rate too); the only
- reason you usually don't see symptoms of this with FreeBSD 8
- guests is they automatically reduce their HZ to 100 when running
- in a VM while the default for the host kernel is still HZ=1000.
- Workaround: you can disable the apic clock in the guest by setting
-
- hint.apic.0.clock="0"
-
- in loader.conf(5) (or manually at the loader prompt), if that
- doesn't work the only things you can do is either reduce the
- guest's HZ to, say, 100 by setting e.g.
-
- kern.hz="100"
-
- from the loader as above (which usually is a good idea in a VM
- anyway and FreeBSD 8 now does by itself as mentioned), or otherwise
- increase the host's HZ to 2000 or even 4000 from the loader in
- the same way.
-
-- The -smb option (smb-export local dir to guest using the default
- slirp networking) needs the samba port/package installed
- in addition to qemu. (SAMBA knob.)
-
-- If you want to use usb devices connected to the host in the guest
- yot need either recent 10-current (not tested yet much) or you can
- use usbredir over the network (see below); also unless you are
- running qemu as root you then need to fix permissions for /dev/ugen*
- device nodes: if you are on 5.x or later (devfs) put a rule in
- /etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs
- restart. Example devfs.rules:
-
- [ugen_ruleset=20]
- add path 'ugen*' mode 660 group operator
-
- corresponding rc.conf line:
-
- devfs_system_ruleset="ugen_ruleset"
-
-- If you want to test the new (in 0.15.0) usb network redirection (USBREDIR
- option) see this thread by Hans de Goede <hdegoede <at> redhat.com>:
-
- http://thread.gmane.org/gmane.comp.emulators.qemu/110176/focus=110183
-
- Quote:
-
- Example usage:
-
- 1) Start usbredirserver for a usb device:
- sudo usbredirserver 045e:0772
- 2) Start qemu with usb2 support + a chardev talking to usbredirserver +
- a usb-redir device using this chardev:
- qemu -usb \
- -readconfig docs/ich9-ehci-uhci.cfg \
- -chardev socket,id=usbredirchardev,host=localhost,port=4000 \
- -device usb-redir,chardev=usbredirchardev,id=usbredirdev ...
-
- [you would replace docs/ich9-ehci-uhci.cfg with e.g.
- /usr/local/share/doc/qemu/docs/ich9-ehci-uhci.cfg, but turns out
- ehci was broken for me here with FreeBSD guests and the previous
- qemu version at least, I got:
-
- FETCHENTRY: entry at 22C5484 is of type 2 which is not supported yet
-processing error - resetting ehci HC
- Assertion failed: (0), function ehci_advance_state, file /data/ports/emulators/qemu-devel/work/qemu-0.15.0/hw/usb-ehci.c, line 2045.
-
- The new qemu version works better tho.]
-
-- Still usb: since the hub is no longer attached to the uchi controller and
- the wakeup mechanism, resume interrupt is not implemented yet linux guests
- will suspend the bus, i.e. they wont see devices usb_add'ed after its
- (linux') uhci module got loaded. Workaround: either add devices before
- linux loads the module or rmmod and modprobe it afterwards. [Not sure
- if this still applies to the new libusb host code used on recent
- 10-current.]
-
-- If you get repeated `atapi_poll called!' console messages with FreeBSD
- guests or other weird cdrom problems then thats probably because the guest
- has atapicam loaded, which for reasons still to be determined has problems
- with qemu's now by default enabled cdrom dma. You can build the port with
- CDROM_DMA disabled to disable it. [Looks like this is fixed in recent
- FreeBSD guest versions.]
-
-- If you build qemu wihout SDL and then get crashes running it try passing it
- -nographic. This should probably be default in that case...
-
-- qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a
- multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot)
- you can do like
-
- cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu
-
- and then use pxeboot-qemu. Actually you need recent btx code
- (from after 7.0 was released) because of the real mode boot
- problem, so use at least pxeboot from there. And I just did that
- for the pxeboot extracted out of
-
- ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso
-
- and placed it here:
-
- http://people.freebsd.org/~nox/qemu/pxeboot-qemu
-
-- If you use slirp (usernet, the default) and want to mount nfs into the guest
- and you are not running qemu as root, then mountd(8) on the exporting box
- needs to be run with -n in order to accept requests from ports >= 1024.
-
-- (not FreeBSD-specific:) There have been reports of qcow2 corruption with (at
- least) win2k guests on recent kvm (which uses similar qcow2 code than qemu
- now, see this thread:
-
- http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html -
-
- the consensus on that thread seems to be that qcow(2) code has always been
- experimental and you should use raw images if you want reliability; raw is
- also usually faster.) You should be able to migrate existing images to raw
- using qemu-img(1)'s convert function; raw doesn't support advanced features
- like snapshots tho. [a few important qcow2 bugfixed have been committed in
- the meantime so this _might_ be less of an issue now; and meanwhile there
- also is the new qed format - I don't know how stable that one is.]
-
-- (also not FreeBSD-specific:) It is recommended to pass raw images using the
- new -drive syntax, specifying format=raw explicitly in order to avoid
- malicious guests being able to exploit the format autodetection thats
- otherwise getting used. (Not that you should run malicious guests anyway,
- but this eleminates at least a known attack vector.)
-
-- qemu now has improved physical cdrom support, but still there is at
- least one known problem: you need to have the guest eject the disc if you
- want to change it/take it out, or otherwise the guest may continue using
- state (like size) of the old disc. (You can also do like `change ide1-cd0
- /dev/acd0' in the monitor after taking out the disc if a guest cannot eject
- it itself.)
-
-- The default configuration location (qemu-ifup script etc.) has been changed
- from /etc to PREFIX/etc (usually /usr/local/etc). Move your files
- accordingly.
-
-- The pcap code (-net nic... -net pcap,ifname=...) should work properly now,
- with only one exception: Advanced features like TSO used on the host
- interface can cause oversize packets which now do get truncated to avoid
- confusing/panicing guests but of course still will cause retransmissions.
- So if you see slow throughput and `pcap_send: packet size > ..., truncating'
- messages on qemu's tty try disabling TSO etc on the host interface at least
- while using pcap.
-
-- kqemu is no longer supported in qemu upstream after the 0.11 branch
- was created, which means also not in this version. (Linux has moved
- on to kvm now for qemu(-like) virtualization needs, so if you want qemu
- to go faster and don't want to switch to virtualbox or stick to the older
- emulators/qemu port which is at 0.11.1 atm and as such still supports
- kqemu you should help getting the FreeBSD kvm port updated and
- completed:
-
- http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD
-
- )
-EOM
-}
-]
diff --git a/emulators/qemu31/pkg-plist b/emulators/qemu31/pkg-plist
deleted file mode 100644
index 4ee1d3075e11..000000000000
--- a/emulators/qemu31/pkg-plist
+++ /dev/null
@@ -1,149 +0,0 @@
-%%IVSHMEM%%bin/ivshmem-client
-%%IVSHMEM%%bin/ivshmem-server
-bin/qemu-edid
-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
-%%NO_X86_TARGETS%%bin/qemu-system-aarch64
-%%NO_X86_TARGETS%%bin/qemu-system-alpha
-%%NO_X86_TARGETS%%bin/qemu-system-arm
-%%NO_X86_TARGETS%%bin/qemu-system-cris
-%%NO_X86_TARGETS%%bin/qemu-system-hppa
-bin/qemu-system-i386
-%%NO_X86_TARGETS%%bin/qemu-system-lm32
-%%NO_X86_TARGETS%%bin/qemu-system-m68k
-%%NO_X86_TARGETS%%bin/qemu-system-microblaze
-%%NO_X86_TARGETS%%bin/qemu-system-microblazeel
-%%NO_X86_TARGETS%%bin/qemu-system-mips
-%%NO_X86_TARGETS%%bin/qemu-system-mips64
-%%NO_X86_TARGETS%%bin/qemu-system-mips64el
-%%NO_X86_TARGETS%%bin/qemu-system-mipsel
-%%NO_X86_TARGETS%%bin/qemu-system-moxie
-%%NO_X86_TARGETS%%bin/qemu-system-nios2
-%%NO_X86_TARGETS%%bin/qemu-system-or1k
-%%NO_X86_TARGETS%%bin/qemu-system-ppc
-%%NO_X86_TARGETS%%bin/qemu-system-ppc64
-%%NO_X86_TARGETS%%bin/qemu-system-riscv32
-%%NO_X86_TARGETS%%bin/qemu-system-riscv64
-%%NO_X86_TARGETS%%bin/qemu-system-s390x
-%%NO_X86_TARGETS%%bin/qemu-system-sh4
-%%NO_X86_TARGETS%%bin/qemu-system-sh4eb
-%%NO_X86_TARGETS%%bin/qemu-system-sparc
-%%NO_X86_TARGETS%%bin/qemu-system-sparc64
-%%NO_X86_TARGETS%%bin/qemu-system-tricore
-%%NO_X86_TARGETS%%bin/qemu-system-unicore32
-bin/qemu-system-x86_64
-%%NO_X86_TARGETS%%bin/qemu-system-xtensa
-%%NO_X86_TARGETS%%bin/qemu-system-xtensaeb
-bin/qemu-x86_64
-man/man1/qemu.1.gz
-man/man1/qemu-img.1.gz
-man/man7/qemu-block-drivers.7.gz
-man/man7/qemu-cpu-models.7.gz
-man/man7/qemu-ga-ref.7.gz
-man/man7/qemu-qmp-ref.7.gz
-man/man8/qemu-ga.8.gz
-man/man8/qemu-nbd.8.gz
-@sample etc/qemu-ifup.sample
-@sample etc/qemu-ifdown.sample
-%%DATADIR%%/QEMU,tcx.bin
-%%DATADIR%%/QEMU,cgthree.bin
-%%DATADIR%%/bios-256k.bin
-%%DATADIR%%/bios.bin
-%%DATADIR%%/canyonlands.dtb
-%%DATADIR%%/efi-e1000.rom
-%%DATADIR%%/efi-e1000e.rom
-%%DATADIR%%/efi-eepro100.rom
-%%DATADIR%%/efi-ne2k_pci.rom
-%%DATADIR%%/efi-pcnet.rom
-%%DATADIR%%/efi-rtl8139.rom
-%%DATADIR%%/efi-virtio.rom
-%%DATADIR%%/efi-vmxnet3.rom
-%%DATADIR%%/hppa-firmware.img
-%%DATADIR%%/openbios-ppc
-%%DATADIR%%/openbios-sparc32
-%%DATADIR%%/openbios-sparc64
-%%DATADIR%%/palcode-clipper
-%%DATADIR%%/petalogix-ml605.dtb
-%%DATADIR%%/ppc_rom.bin
-%%DATADIR%%/pxe-e1000.rom
-%%DATADIR%%/pxe-eepro100.rom
-%%DATADIR%%/pxe-ne2k_pci.rom
-%%DATADIR%%/pxe-rtl8139.rom
-%%DATADIR%%/pxe-pcnet.rom
-%%DATADIR%%/pxe-virtio.rom
-%%DATADIR%%/qemu_vga.ndrv
-%%DATADIR%%/s390-netboot.img
-%%DATADIR%%/u-boot-sam460-20100605.bin
-%%DATADIR%%/vgabios.bin
-%%DATADIR%%/vgabios-bochs-display.bin
-%%DATADIR%%/vgabios-cirrus.bin
-%%DATADIR%%/vgabios-qxl.bin
-%%DATADIR%%/vgabios-ramfb.bin
-%%DATADIR%%/vgabios-stdvga.bin
-%%DATADIR%%/vgabios-virtio.bin
-%%DATADIR%%/vgabios-vmware.bin
-%%DATADIR%%/spapr-rtas.bin
-%%DATADIR%%/slof.bin
-%%DATADIR%%/s390-ccw.img
-%%DATADIR%%/linuxboot.bin
-%%LINUXBOOT_DMA%%%%DATADIR%%/linuxboot_dma.bin
-%%DATADIR%%/multiboot.bin
-%%DATADIR%%/sgabios.bin
-%%DATADIR%%/skiboot.lid
-%%DATADIR%%/trace-events-all
-%%DATADIR%%/petalogix-s3adsp1800.dtb
-%%DATADIR%%/bamboo.dtb
-%%DATADIR%%/kvmvapic.bin
-%%DATADIR%%/qemu-icon.bmp
-%%DATADIR%%/qemu_logo_no_text.svg
-%%DATADIR%%/u-boot.e500
-%%DATADIR%%/keymaps/ar
-%%DATADIR%%/keymaps/bepo
-%%DATADIR%%/keymaps/common
-%%DATADIR%%/keymaps/cz
-%%DATADIR%%/keymaps/da
-%%DATADIR%%/keymaps/de
-%%DATADIR%%/keymaps/de-ch
-%%DATADIR%%/keymaps/en-gb
-%%DATADIR%%/keymaps/en-us
-%%DATADIR%%/keymaps/es
-%%DATADIR%%/keymaps/et
-%%DATADIR%%/keymaps/fi
-%%DATADIR%%/keymaps/fo
-%%DATADIR%%/keymaps/fr
-%%DATADIR%%/keymaps/fr-be
-%%DATADIR%%/keymaps/fr-ca
-%%DATADIR%%/keymaps/fr-ch
-%%DATADIR%%/keymaps/hr
-%%DATADIR%%/keymaps/hu
-%%DATADIR%%/keymaps/is
-%%DATADIR%%/keymaps/it
-%%DATADIR%%/keymaps/ja
-%%DATADIR%%/keymaps/lt
-%%DATADIR%%/keymaps/lv
-%%DATADIR%%/keymaps/mk
-%%DATADIR%%/keymaps/modifiers
-%%DATADIR%%/keymaps/nl
-%%DATADIR%%/keymaps/nl-be
-%%DATADIR%%/keymaps/no
-%%DATADIR%%/keymaps/pl
-%%DATADIR%%/keymaps/pt
-%%DATADIR%%/keymaps/pt-br
-%%DATADIR%%/keymaps/ru
-%%DATADIR%%/keymaps/sl
-%%DATADIR%%/keymaps/sv
-%%DATADIR%%/keymaps/th
-%%DATADIR%%/keymaps/tr
-%%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