Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qemu 7.1.X has been released and in preperation of updating emulators/qemu to latest version emulators/qemu has been moved to a new port.
- Loading branch information
Showing
15 changed files
with
725 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,246 @@ | ||
PORTNAME= qemu | ||
PORTVERSION= 7.0.0 | ||
CATEGORIES= emulators | ||
MASTER_SITES= https://download.qemu.org/ | ||
DIST_SUBDIR= qemu/${PORTVERSION} | ||
|
||
MAINTAINER= bofh@FreeBSD.org | ||
COMMENT= QEMU CPU Emulator ${${FLAVOR}_COMMENT} - 7.0.x | ||
WWW= https://wiki.qemu.org/Main_Page | ||
|
||
LICENSE= GPLv2 | ||
|
||
.if ${FLAVOR:U} != tools | ||
ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le | ||
# We need to check if it build with other ARCHS | ||
# For i386 we have unknown type name 'vm_page_t' | ||
.endif | ||
|
||
BUILD_DEPENDS= bash:shells/bash | ||
.if ${FLAVOR:U} != tools | ||
LIB_DEPENDS+= libfdt.so:sysutils/dtc \ | ||
libzstd.so:archivers/zstd | ||
.endif | ||
.if (${FLAVOR:U} != nox11 && ${FLAVOR:U} != tools) | ||
LIB_DEPENDS+= libepoxy.so:graphics/libepoxy | ||
.endif | ||
|
||
FLAVORS= default nox11 tools | ||
FLAVOR?= ${FLAVORS:[1]} | ||
default_PKGNAMESUFFIX= 70 | ||
default_CONFLICTS_INSTALL= qemu-devel qemu-nox11 qemu-tools qemu-utils \ | ||
qemu6* | ||
nox11_PKGNAMESUFFIX= 70-nox11 | ||
nox11_CONFLICTS_INSTALL= qemu qemu-devel qemu6* | ||
nox11_COMMENT= (without X11) | ||
tools_PKGNAMESUFFIX= 70-tools | ||
tools_COMMENT= (tools only) | ||
tools_CONFLICTS_INSTALL= qemu qemu-devel qemu-nox11 qemu-utils qemu6* | ||
tools_DESCR= ${.CURDIR}/pkg-descr-tools | ||
tools_PLIST= ${.CURDIR}/pkg-plist-tools | ||
|
||
USES= cpe gmake gnome ninja perl5 pkgconfig python:build tar:xz | ||
USE_GNOME= glib20 | ||
USE_PERL5= build | ||
.if ${FLAVOR:U} != tools | ||
USES+= iconv:wchar_t | ||
.endif | ||
.if (${FLAVOR:U} != nox11 && ${FLAVOR:U} != tools) | ||
USE_GNOME+= cairo | ||
.endif | ||
|
||
HAS_CONFIGURE= yes | ||
CONFIGURE_ARGS+= --cc=${CC} \ | ||
--disable-kvm \ | ||
--disable-linux-aio \ | ||
--disable-linux-user \ | ||
--disable-xen \ | ||
--extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" \ | ||
--extra-ldflags=-L${LOCALBASE}/lib \ | ||
--extra-ldflags=-L/usr/lib \ | ||
--localstatedir=/var \ | ||
--mandir=${PREFIX}/man \ | ||
--prefix=${PREFIX} \ | ||
--python=${PYTHON_CMD} | ||
.if ${FLAVOR:U} != tools | ||
CONFIGURE_ARGS+= --enable-fdt=system \ | ||
--enable-netmap | ||
.endif | ||
.if ${FLAVOR:U} == tools | ||
CONFIGURE_ARGS+= --disable-attr \ | ||
--disable-blobs \ | ||
--disable-brlapi \ | ||
--disable-bzip2 \ | ||
--disable-cap-ng \ | ||
--disable-coroutine-pool \ | ||
--disable-curses \ | ||
--disable-fdt \ | ||
--disable-gcrypt \ | ||
--disable-glusterfs \ | ||
--disable-guest-agent \ | ||
--disable-libnfs \ | ||
--disable-libusb \ | ||
--disable-lzo \ | ||
--disable-netmap \ | ||
--disable-nettle \ | ||
--disable-numa \ | ||
--disable-rbd \ | ||
--disable-rdma \ | ||
--disable-seccomp \ | ||
--disable-smartcard \ | ||
--disable-snappy \ | ||
--disable-spice \ | ||
--disable-system \ | ||
--disable-tpm \ | ||
--disable-user \ | ||
--disable-vhost-net \ | ||
--disable-virtfs \ | ||
--disable-vnc \ | ||
--enable-tools | ||
.endif | ||
|
||
CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} | ||
WITHOUT_CPU_CFLAGS= yes #to avoid problems with register allocation | ||
|
||
PORTDOCS= .buildinfo _static/* about/* dbus-dbusindex.html devel/* docs \ | ||
genindex.html index.html interop/* objects.inv search.html \ | ||
searchindex.js specs/* system/* tools/* user/* | ||
|
||
OPTIONS_DEFINE= CAPSTONE CDROM_DMA CURL DEBUG DOCS GNUTLS GTK3 \ | ||
ISCSI JPEG OPENGL PNG SAMBA SASL STATIC_LINK \ | ||
STRIP USBREDIR VDE X11 X86_TARGETS | ||
OPTIONS_DEFAULT= CDROM_DMA CURL GNUTLS GTK3 JPEG NCURSES_DEFAULT \ | ||
OPENGL PNG SASL VDE X11 | ||
OPTIONS_SINGLE= NCURSES | ||
OPTIONS_SINGLE_NCURSES= NCURSES_BASE NCURSES_DEFAULT NCURSES_PORT | ||
.if ${FLAVOR:U} == nox11 | ||
OPTIONS_EXCLUDE:= GTK3 X11 | ||
.endif | ||
.if ${FLAVOR:U} == tools | ||
OPTIONS_EXCLUDE:= CAPSTONE CDROM_DMA CURL DEBUG GNUTLS GTK3 ISCSI \ | ||
JPEG NCURSES NCURSES_BASE NCURSES_DEFAULT \ | ||
NCURSES_PORT OPENGL PNG SAMBA SASL STATIC_LINK \ | ||
USBREDIR VDE X11 X86_TARGETS | ||
.endif | ||
OPTIONS_SUB= yes | ||
CAPSTONE_DESC= Disassembly framework support | ||
CDROM_DMA_DESC= IDE CDROM DMA | ||
GNUTLS_DESC= gnutls dependency (vnc encryption) | ||
ISCSI_DESC= libiscsi dependency (iSCSI client for emulated drives) | ||
JPEG_DESC= jpeg dependency (vnc lossy compression) | ||
NCURSES_BASE_DESC= Depend on ncurses in base | ||
NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base) | ||
NCURSES_PORT_DESC= Depend on devel/ncurses in ports | ||
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 | ||
CAPSTONE_LIB_DEPENDS= libcapstone.so:devel/capstone4 | ||
CAPSTONE_CONFIGURE_ON= --enable-capstone=system \ | ||
--extra-cflags=-I${LOCALBASE}/include/capstone | ||
CAPSTONE_CONFIGURE_OFF= --disable-capstone | ||
CURL_LIB_DEPENDS= libcurl.so:ftp/curl | ||
CURL_CONFIGURE_OFF= --disable-curl | ||
DEBUG_CONFIGURE_ON= --enable-debug | ||
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \ | ||
sphinx-build:textproc/py-sphinx@${PY_FLAVOR} | ||
DOCS_CONFIGURE_ENABLE= docs | ||
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls | ||
GNUTLS_CONFIGURE_OFF= --disable-gnutls | ||
GTK3_LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon | ||
GTK3_USES= gettext gl | ||
GTK3_USE= GNOME=gdkpixbuf2,gtk30,vte3 \ | ||
XORG=x11,xext | ||
GTK3_CONFIGURE_OFF= --disable-gtk \ | ||
--disable-vte | ||
ISCSI_LIB_DEPENDS= libiscsi.so:net/libiscsi | ||
ISCSI_CONFIGURE_OFF= --disable-libiscsi | ||
JPEG_USES= jpeg | ||
JPEG_CONFIGURE_OFF= --disable-vnc-jpeg | ||
NCURSES_BASE_USES= ncurses:base | ||
NCURSES_DEFAULT_USES= ncurses | ||
NCURSES_PORT_USES= ncurses:port | ||
OPENGL_USES= gl | ||
OPENGL_USE= GL=gbm,gl | ||
OPENGL_CONFIGURE_OFF= --disable-opengl | ||
PNG_LIB_DEPENDS= libpng.so:graphics/png | ||
PNG_CONFIGURE_OFF= --disable-vnc-png | ||
SAMBA_USES= samba:run # smbd | ||
SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd | ||
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 | ||
SASL_CONFIGURE_OFF= --disable-vnc-sasl | ||
STATIC_LINK_PREVENTS= GTK3 X11 | ||
STATIC_LINK_PREVENTS_MSG= X11 ui cannot be built static | ||
STATIC_LINK_CONFIGURE_ON= --static | ||
STRIP_CONFIGURE_OFF= --disable-strip | ||
USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir | ||
USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir | ||
USBREDIR_CONFIGURE_OFF= --disable-usb-redir | ||
VDE_LIB_DEPENDS= libvdeplug.so:net/vde2 | ||
VDE_CONFIGURE_OFF= --disable-vde | ||
X11_USES= sdl | ||
X11_USE= GNOME=gdkpixbuf2 \ | ||
SDL=sdl2 \ | ||
XORG=x11,xext | ||
X11_CONFIGURE_ENABLE= sdl | ||
.if (empty(FLAVOR) || ${FLAVOR:U} == default || ${FLAVOR:U} == nox11) && \ | ||
(${FLAVOR:U} != tools || ${PKGNAMESUFFIX} != "-guest-agent") | ||
X86_TARGETS_USES_OFF= xorg | ||
X86_TARGETS_USE_OFF= XORG=pixman,x11 | ||
X86_TARGETS_CONFIGURE_ON= --target-list='i386-softmmu i386-bsd-user x86_64-softmmu x86_64-bsd-user' | ||
.endif | ||
|
||
.include <bsd.port.options.mk> | ||
|
||
.if (empty(FLAVOR) || ${FLAVOR:U} == default || ${FLAVOR:U} == nox11) && \ | ||
(${FLAVOR:U} != tools || ${PKGNAMESUFFIX} != "-guest-agent") | ||
.if ${ARCH} == "amd64" | ||
MAKE_ARGS+= ARCH=x86_64 | ||
.endif | ||
|
||
.if ${ARCH} == "powerpc" | ||
CFLAGS+= -D_CALL_SYSV | ||
MAKE_ARGS+= ARCH=ppc | ||
USE_GCC= yes | ||
.endif | ||
|
||
.if ${ARCH:Mpowerpc64*} | ||
CONFIGURE_ARGS+= --disable-bsd-user | ||
MAKE_ARGS+= ARCH=ppc64 | ||
PLIST_SUB+= BSDUSER="@comment " | ||
.else | ||
PLIST_SUB+= BSDUSER="" | ||
.endif | ||
|
||
.if ${ARCH} == "sparc64" | ||
CONFIGURE_ARGS+= --sparc_cpu=v9 | ||
.endif | ||
|
||
PLIST_SUB+= LINUXBOOT_DMA="" | ||
.endif | ||
|
||
post-patch-CDROM_DMA-off: | ||
@${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h | ||
|
||
do-build: | ||
cd ${WRKSRC} && ${GMAKE} | ||
|
||
do-install: | ||
cd ${WRKSRC} && ${SETENV} DESTDIR=${STAGEDIR} ${GMAKE} install | ||
|
||
.if !target(post-install) | ||
post-install: | ||
.if ${FLAVOR:U} != tools | ||
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc | ||
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc | ||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* | ||
.endif | ||
|
||
post-install-DOCS-on: | ||
@(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/) | ||
.endif | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1650583782 | ||
SHA256 (qemu/7.0.0/qemu-7.0.0.tar.xz) = f6b375c7951f728402798b0baabb2d86478ca53d44cedbefabbe1c46bf46f839 | ||
SIZE (qemu/7.0.0/qemu-7.0.0.tar.xz) = 125117636 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- block/export/fuse.c.orig 2022-04-22 18:57:58 UTC | ||
+++ block/export/fuse.c | ||
@@ -637,12 +637,6 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t | ||
return; | ||
} | ||
|
||
-#ifdef CONFIG_FALLOCATE_PUNCH_HOLE | ||
- if (mode & FALLOC_FL_KEEP_SIZE) { | ||
- length = MIN(length, blk_len - offset); | ||
- } | ||
-#endif /* CONFIG_FALLOCATE_PUNCH_HOLE */ | ||
- | ||
if (!mode) { | ||
/* We can only fallocate at the EOF with a truncate */ | ||
if (offset < blk_len) { | ||
@@ -662,44 +656,6 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t | ||
ret = fuse_do_truncate(exp, offset + length, true, | ||
PREALLOC_MODE_FALLOC); | ||
} | ||
-#ifdef CONFIG_FALLOCATE_PUNCH_HOLE | ||
- else if (mode & FALLOC_FL_PUNCH_HOLE) { | ||
- if (!(mode & FALLOC_FL_KEEP_SIZE)) { | ||
- fuse_reply_err(req, EINVAL); | ||
- return; | ||
- } | ||
- | ||
- do { | ||
- int size = MIN(length, BDRV_REQUEST_MAX_BYTES); | ||
- | ||
- ret = blk_pdiscard(exp->common.blk, offset, size); | ||
- offset += size; | ||
- length -= size; | ||
- } while (ret == 0 && length > 0); | ||
- } | ||
-#endif /* CONFIG_FALLOCATE_PUNCH_HOLE */ | ||
-#ifdef CONFIG_FALLOCATE_ZERO_RANGE | ||
- else if (mode & FALLOC_FL_ZERO_RANGE) { | ||
- if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + length > blk_len) { | ||
- /* No need for zeroes, we are going to write them ourselves */ | ||
- ret = fuse_do_truncate(exp, offset + length, false, | ||
- PREALLOC_MODE_OFF); | ||
- if (ret < 0) { | ||
- fuse_reply_err(req, -ret); | ||
- return; | ||
- } | ||
- } | ||
- | ||
- do { | ||
- int size = MIN(length, BDRV_REQUEST_MAX_BYTES); | ||
- | ||
- ret = blk_pwrite_zeroes(exp->common.blk, | ||
- offset, size, 0); | ||
- offset += size; | ||
- length -= size; | ||
- } while (ret == 0 && length > 0); | ||
- } | ||
-#endif /* CONFIG_FALLOCATE_ZERO_RANGE */ | ||
else { | ||
ret = -EOPNOTSUPP; | ||
} |
12 changes: 12 additions & 0 deletions
12
emulators/qemu70/files/patch-bsd-user_host_i386_host-signal.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- bsd-user/host/i386/host-signal.h.orig 2022-09-08 16:00:45 UTC | ||
+++ bsd-user/host/i386/host-signal.h | ||
@@ -9,6 +9,9 @@ | ||
#ifndef I386_HOST_SIGNAL_H | ||
#define I386_HOST_SIGNAL_H | ||
|
||
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) | ||
+#include <sys/param.h> | ||
+#endif | ||
#include <sys/ucontext.h> | ||
#include <machine/trap.h> | ||
#include <vm/pmap.h> |
12 changes: 12 additions & 0 deletions
12
emulators/qemu70/files/patch-bsd-user_host_x86__64_host-signal.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- bsd-user/host/x86_64/host-signal.h.orig 2022-04-19 19:10:27 UTC | ||
+++ bsd-user/host/x86_64/host-signal.h | ||
@@ -9,6 +9,9 @@ | ||
#ifndef X86_64_HOST_SIGNAL_H | ||
#define X86_64_HOST_SIGNAL_H | ||
|
||
+#if defined(__FreeBSD__) | ||
+#include <sys/param.h> | ||
+#endif | ||
#include <sys/ucontext.h> | ||
#include <machine/trap.h> | ||
#include <vm/pmap.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- meson.build.orig 2022-04-19 19:10:27 UTC | ||
+++ meson.build | ||
@@ -2505,14 +2505,10 @@ if have_system | ||
fdt_opt = get_option('fdt') | ||
if fdt_opt in ['enabled', 'auto', 'system'] | ||
have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt') | ||
- fdt = cc.find_library('fdt', kwargs: static_kwargs, | ||
+ fdt = cc.find_library('fdt', kwargs: static_kwargs, dirs: '/usr/local/lib/', | ||
required: fdt_opt == 'system' or | ||
- fdt_opt == 'enabled' and not have_internal) | ||
- if fdt.found() and cc.links(''' | ||
- #include <libfdt.h> | ||
- #include <libfdt_env.h> | ||
- int main(void) { fdt_find_max_phandle(NULL, NULL); return 0; }''', | ||
- dependencies: fdt) | ||
+ fdt_opt == 'enabled') | ||
+ if fdt.found() | ||
fdt_opt = 'system' | ||
elif fdt_opt == 'system' | ||
error('system libfdt requested, but it is too old (1.5.1 or newer required)') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- util/meson.build.orig 2022-04-23 11:59:28 UTC | ||
+++ util/meson.build | ||
@@ -87,10 +87,6 @@ if have_block | ||
util_ss.add(files('readline.c')) | ||
util_ss.add(files('throttle.c')) | ||
util_ss.add(files('timed-average.c')) | ||
- if config_host_data.get('CONFIG_INOTIFY1') | ||
- util_ss.add(files('filemonitor-inotify.c')) | ||
- else | ||
- util_ss.add(files('filemonitor-stub.c')) | ||
- endif | ||
+ util_ss.add(files('filemonitor-stub.c')) | ||
util_ss.add(when: 'CONFIG_LINUX', if_true: files('vfio-helpers.c')) | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/sh | ||
exec true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/sh | ||
exec true |
Oops, something went wrong.