<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>