<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/130723145483be0c3e351dff987af2965f73822d">https://github.com/macports/macports-ports/commit/130723145483be0c3e351dff987af2965f73822d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 130723145483be0c3e351dff987af2965f73822d
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Thu Jan 26 11:44:42 2023 -0700
<span style='display:block; white-space:pre;color:#404040;'> mono: add upstream fix for Xcode 14.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes https://trac.macports.org/ticket/66768
</span><span style='display:block; white-space:pre;color:#404040;'> No revbump since port either builds correctly or not at all.
</span>---
devel/mono/Portfile | 3 +-
devel/mono/files/patch-xcode_14.diff | 76 ++++++++++++++++++++++++++++++++++++
2 files changed, 78 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mono/Portfile b/devel/mono/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c2ac05fca67..076ae60ebfb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mono/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mono/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +26,8 @@ checksums rmd160 917021fc3fd08cad611d46aa7a9c19a19a64d094 \
</span> size 303230932
patchfiles-append patch-aot-compiler.c.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- dynamic_lookup-11.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dynamic_lookup-11.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-xcode_14.diff
</span>
# autoreconf is needed just for the arm64 until upstream fixes the tooling
use_autoreconf yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mono/files/patch-xcode_14.diff b/devel/mono/files/patch-xcode_14.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..de8f2415c54
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mono/files/patch-xcode_14.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,76 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 2f7d584ad2be62684cb1d93327b89107a212e041 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= <alex.koeplinger@outlook.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Dec 2022 14:44:27 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Fix build on macOS 13 / Xcode 14 (#21597)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes https://github.com/mono/mono/issues/21567
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit fc185eeeb780f273f517eb8c8ec56f82af84ca3f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mono/metadata/w32process-unix-osx.c | 10 ++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mono/utils/mono-threads-mach-helper.c | 6 +++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 19 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/configure.ac b/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 088128e5e74ec..19b20127ca279 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3308,6 +3308,12 @@ if test x$host_win32 = xno; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl ******************************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_CHECK_HEADERS(CommonCrypto/CommonDigest.h)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_CHECK_MEMBER(struct objc_super.super_class,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [AC_DEFINE(HAVE_OBJC_SUPER_SUPER_CLASS, 1, [struct objc_super.super_class])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [#include <objc/runtime.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #include <objc/message.h>])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl *********************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl *** Check for Console 2.0 I/O ***
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl *********************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/mono/metadata/w32process-unix-osx.c b/mono/metadata/w32process-unix-osx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2568a44223e33..15065d79e095d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mono/metadata/w32process-unix-osx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mono/metadata/w32process-unix-osx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -183,12 +183,22 @@ mono_dyld_image_info_free (void *info)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ image_added (const struct mach_header *hdr32, intptr_t vmaddr_slide)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && defined(__clang__) // getsectbynamefromheader functions are deprecated as of macOS 13.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma clang diagnostic push
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma clang diagnostic ignored "-Wdeprecated-declarations"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if SIZEOF_VOID_P == 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const struct mach_header_64 *hdr64 = (const struct mach_header_64 *)hdr32;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const struct section_64 *sec = getsectbynamefromheader_64 (hdr64, SEG_DATA, SECT_DATA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const struct section *sec = getsectbynamefromheader (hdr32, SEG_DATA, SECT_DATA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && defined(__clang__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma clang diagnostic pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Dl_info dlinfo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!dladdr (hdr32, &dlinfo)) return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (sec == NULL) return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/mono/utils/mono-threads-mach-helper.c b/mono/utils/mono-threads-mach-helper.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7b4f140b619ef..0a2ff341fc43e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mono/utils/mono-threads-mach-helper.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mono/utils/mono-threads-mach-helper.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -59,10 +59,10 @@ mono_dead_letter_dealloc (id self, SEL _cmd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct objc_super super;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ super.receiver = self;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !defined(__cplusplus) && !__OBJC2__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- super.class = nsobject;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__cplusplus) || defined(HAVE_OBJC_SUPER_SUPER_CLASS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ super.super_class = nsobject;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ super.class = nsobject;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void (*objc_msgSendSuper_op)(struct objc_super *, SEL) = (void (*)(struct objc_super *, SEL)) objc_msgSendSuper;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ objc_msgSendSuper_op (&super, dealloc);
</span></pre><pre style='margin:0'>
</pre>