<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/82d45b48d7d394d69664aefd72fddf20d5e68297">https://github.com/macports/macports-ports/commit/82d45b48d7d394d69664aefd72fddf20d5e68297</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 82d45b48d7d qemu: build fixes for pre-10.12.4
</span>82d45b48d7d is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 82d45b48d7d394d69664aefd72fddf20d5e68297
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Tue Nov 30 18:30:50 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> qemu: build fixes for pre-10.12.4
</span>---
emulators/qemu/Portfile | 30 +++++++++++++++++++---
.../qemu/files/patch-qemu-include-qemu-osdep.diff | 14 ++++++++++
emulators/qemu/files/patch-qemu-net-colo.diff | 23 +++++++++++++++++
emulators/qemu/files/patch-qemu-punchhole.diff | 13 ++++++++++
.../files/patch-qemu-scripts-entitlements.diff | 11 ++++++++
emulators/qemu/files/patch-qemu-tcg-region.diff | 11 ++++++++
6 files changed, 98 insertions(+), 4 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/Portfile b/emulators/qemu/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 72f4a7a8a9a..a8d9f4b309a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/qemu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,9 +2,10 @@
</span>
PortSystem 1.0
PortGroup compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup legacysupport 1.1
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/58700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup legacysupport 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# fdopendir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 13
</span>
name qemu
version 6.1.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,11 +47,26 @@ depends_lib path:lib/pkgconfig/glib-2.0.pc:glib2 \
</span> path:lib/pkgconfig/pixman-1.pc:libpixman
# This patch sets the python interpreter from meson's shebang line
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-qemu-configure.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-configure.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# "error: unknown type name 'fpunchhole_t'" pre-10.12.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-punchhole.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# "cp: illegal option -- a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-scripts-entitlements.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# IPPROTO workarounds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-net-colo.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MADV_DONTNEED workaround
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-include-qemu-osdep.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MAP_JIT workaround
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-qemu-tcg-region.diff
</span>
# "ERROR: You need at least GCC v7.5 or Clang v6.0 (or XCode Clang v10.0)"
compiler.blacklist {clang < 1000} {macports-clang-[3-5].*} {macports-gcc-[56]} {*gcc-[34].*}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 11 && [string match *clang* ${configure.compiler}]} {
</span> # Emulated TLS needed, which was added in LLVM 3.8
configure.cflags-append -femulated-tls
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,6 +97,7 @@ configure.args-append --disable-cocoa \
</span> --disable-gtk \
--disable-opengl \
--enable-bzip2 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-hvf \
</span> --disable-curl \
--disable-attr \
--disable-vde \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -108,6 +125,11 @@ configure.args-append --disable-cocoa \
</span> --disable-lzfse \
--disable-zstd
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Hypervisor.framework introduced in 10.10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace --enable-hvf --disable-hvf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # libtool: unknown option character `-' in: --mode=compile
configure.env-append LIBTOOL=${prefix}/bin/glibtool
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/files/patch-qemu-include-qemu-osdep.diff b/emulators/qemu/files/patch-qemu-include-qemu-osdep.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c81cb4f43bd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/files/patch-qemu-include-qemu-osdep.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- include/qemu/osdep.h.orig 2021-11-28 17:26:47.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ include/qemu/osdep.h 2021-11-28 17:27:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -430,7 +430,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(CONFIG_MADVISE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define QEMU_MADV_WILLNEED MADV_WILLNEED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef MADV_DONTNEED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define QEMU_MADV_DONTNEED MADV_DONTNEED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define QEMU_MADV_DONTNEED QEMU_MADV_INVALID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef MADV_DONTFORK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define QEMU_MADV_DONTFORK MADV_DONTFORK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/files/patch-qemu-net-colo.diff b/emulators/qemu/files/patch-qemu-net-colo.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3a917e96054
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/files/patch-qemu-net-colo.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- net/colo.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ net/colo.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -102,16 +102,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_TCP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_UDP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_DCCP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef IPPROTO_ESP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_ESP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_SCTP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_UDPLITE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp_ports = *(uint32_t *)(pkt->transport_header);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract_ip_and_port(tmp_ports, key, pkt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef IPPROTO_AH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case IPPROTO_AH:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp_ports = *(uint32_t *)(pkt->transport_header + 4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract_ip_and_port(tmp_ports, key, pkt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/files/patch-qemu-punchhole.diff b/emulators/qemu/files/patch-qemu-punchhole.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..15c7891ca53
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/files/patch-qemu-punchhole.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- block/file-posix.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ block/file-posix.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1830,7 +1830,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ret = do_fallocate(s->fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aiocb->aio_offset, aiocb->aio_nbytes);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ret = translate_err(-errno);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(__APPLE__) && (__MACH__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__APPLE__) && (__MACH__) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __MAC_OS_X_VERSION_MAX_ALLOWED >= 101204
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fpunchhole_t fpunchhole;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fpunchhole.fp_flags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fpunchhole.reserved = 0;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/files/patch-qemu-scripts-entitlements.diff b/emulators/qemu/files/patch-qemu-scripts-entitlements.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..38af47d7166
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/files/patch-qemu-scripts-entitlements.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scripts/entitlement.sh.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scripts/entitlement.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if $in_place; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trap 'rm "$DST.tmp"' exit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cp -af "$SRC" "$DST.tmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cp -pPRf "$SRC" "$DST.tmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SRC="$DST.tmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cd "$MESON_INSTALL_DESTDIR_PREFIX"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/qemu/files/patch-qemu-tcg-region.diff b/emulators/qemu/files/patch-qemu-tcg-region.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..406d9affae0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/qemu/files/patch-qemu-tcg-region.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tcg/region.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tcg/region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -775,7 +775,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ prot = PROT_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags = MAP_PRIVATE | MAP_ANONYMOUS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef CONFIG_DARWIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(CONFIG_DARWIN) && defined(MAP_JIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Applicable to both iOS and macOS (Apple Silicon). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!splitwx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags |= MAP_JIT;
</span></pre><pre style='margin:0'>
</pre>