git: 47a148ae6aa0 - main - lang/mono5.10: sync with lang/mono

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 08 Aug 2023 11:22:37 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=47a148ae6aa0a0940df0e3308560b1b5dc428eae

commit 47a148ae6aa0a0940df0e3308560b1b5dc428eae
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-08-08 10:50:35 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-08-08 11:16:44 +0000

    lang/mono5.10: sync with lang/mono
---
 lang/mono5.10/Makefile                               |  5 ++++-
 lang/mono5.10/files/patch-mono_mini_exceptions-ppc.c | 11 +++++++++++
 lang/mono5.10/files/patch-mono_mini_mini-x86.h       | 11 +++++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/lang/mono5.10/Makefile b/lang/mono5.10/Makefile
index d3939c92ac63..a06d91cff523 100644
--- a/lang/mono5.10/Makefile
+++ b/lang/mono5.10/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	mono
 PORTVERSION=	5.10.1.57
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang
 MASTER_SITES=	https://download.mono-project.com/sources/mono/
 PKGNAMESUFFIX=	5.10
@@ -14,6 +14,9 @@ LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 ONLY_FOR_ARCHS=	aarch64 amd64 armv6 armv7 i386 powerpc powerpc64 powerpc64le
+.ifdef QEMU_EMULATING
+BROKEN=		fails to build
+.endif
 
 BUILD_DEPENDS=	p5-XML-Parser>=0:textproc/p5-XML-Parser \
 		bash:shells/bash \
diff --git a/lang/mono5.10/files/patch-mono_mini_exceptions-ppc.c b/lang/mono5.10/files/patch-mono_mini_exceptions-ppc.c
new file mode 100644
index 000000000000..477ff908793e
--- /dev/null
+++ b/lang/mono5.10/files/patch-mono_mini_exceptions-ppc.c
@@ -0,0 +1,11 @@
+--- mono/mini/exceptions-ppc.c.orig	2023-03-18 12:46:51 UTC
++++ mono/mini/exceptions-ppc.c
+@@ -809,7 +809,7 @@ mono_arch_setup_async_callback (MonoContext *ctx, void
+ {
+ 	uintptr_t sp = (uintptr_t) MONO_CONTEXT_GET_SP(ctx);
+ 	sp -= PPC_MINIMAL_STACK_SIZE;
+-	*(unsigned long *)sp = MONO_CONTEXT_GET_SP(ctx);
++	*(unsigned long *)sp = (unsigned long)MONO_CONTEXT_GET_SP(ctx);
+ 	MONO_CONTEXT_SET_BP(ctx, sp);
+ 	MONO_CONTEXT_SET_IP(ctx, (unsigned long) async_cb);
+ }
diff --git a/lang/mono5.10/files/patch-mono_mini_mini-x86.h b/lang/mono5.10/files/patch-mono_mini_mini-x86.h
new file mode 100644
index 000000000000..d804a58edb74
--- /dev/null
+++ b/lang/mono5.10/files/patch-mono_mini_mini-x86.h
@@ -0,0 +1,11 @@
+--- mono/mini/mini-x86.h.orig	2018-08-24 15:17:13 UTC
++++ mono/mini/mini-x86.h
+@@ -139,7 +139,7 @@ struct MonoLMF {
+ 	 * If the second lowest bit is set to 1, then this is a MonoLMFExt structure, and
+ 	 * the other fields are not valid.
+ 	 */
+-	guint32    previous_lmf;
++	gpointer    previous_lmf;
+ 	gpointer    lmf_addr;
+ 	/* Only set in trampoline LMF frames */
+ 	MonoMethod *method;