summaryrefslogtreecommitdiff
path: root/lang/mono6/patches
diff options
context:
space:
mode:
authormaya <maya@pkgsrc.org>2019-10-09 22:46:04 +0000
committermaya <maya@pkgsrc.org>2019-10-09 22:46:04 +0000
commit4e73550116850ef23477bf35697c5b1978dc2e07 (patch)
tree273858e6519f05dacd860e4c33628ff3d2962c49 /lang/mono6/patches
parent61b833addc4dd4bc647035e88a646acf863f9d41 (diff)
downloadpkgsrc-4e73550116850ef23477bf35697c5b1978dc2e07.tar.gz
mono6: update to mono 6.4.0.198
- Use python tool.mk instead of searching more files to patch @PYTHONBIN@ in. - Add some preliminary ideas for how to get netbsd/aarch64 and solaris working. it shouldn't be enough to complete a build. (They can't use Mono's outdated libgc) notable for us, this release re-adds FreeBSD supports. Mono 6.4.0 release notes: Highlights C# compiler support for C# 8 language version .NET Standard 2.1 support Updated libgdiplus to 6.0.2 Notarized macOS installer package In Depth Runtime Hardened Runtime and Notarization support on macOS The Mono binary installed by the .pkg for macOS is now using the Hardened Runtime capabilities and the package was notarized to comply with Appleā€™s new restrictions: https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution. This allows the package to work on the upcoming macOS 10.15 Catalina without showing warning dialogs. Interpreter improvements The Mono interpreter was updated to support the Windows operating system. We also completed a lot of groundwork for upcoming future optimizations in the interpreter, like constant folding. Bitness independent AOT cross compiler The Ahead-Of-Time (AOT) cross compiler was updated to no longer require being executed with the same bitness that it should generate code for. This means a 64bit Mono can now emit AOT code for 32bit targets. This work was mainly done to support executing the AOT cross compiler on macOS 10.15 Catalina (which is 64bit only) as we still need to generate code for 32bit targets like older iPhone and Apple Watch devices. WebAssembly We continue to work on making our WebAssembly support better. Various sets of issues with the debugger have been resolved in this release and general performance and feature work is happening as well. LLVM improvements We now leave it up to the LLVM framework to insert safepoints. Later optimizations can understand safepoints then which leads to better generated code. See https://github.com/mono/mono/pull/11789 The LLVM backend is also supported on the Windows operating system now. PPC JIT optimizations The PowerPC JIT received a bunch of optimization from community contributor Calvin Buckley (@NattyNarwhal). Experimental build support for Fuchsia A very minimal and experimental support for building Mono targeting the Fuchsia OS landed in the build system. Class Libraries .NET Standard 2.1 support We updated our class libraries to support the latest additions to .NET Standard. You can now run a library compiled against the .NET Standard 2.1 specification on Mono. CoreFX integration We continued to replace some of our classes with the implementation from CoreFX to improve performance and compatibility with .NET. libgdiplus update to 6.0.2 The libgdiplus native library is used for implementing System.Drawing on Unix platforms. This release contains many important improvements from our community members. Special thanks go to Hugh Bellamy (@hughbe), Frederik Carlier (@qmfrederik) and Filip Navara (@filipnavara) for their awesome contributions! System.Windows.Forms More fixes and layout improvements for different controls made by external contributors have landed in this release . Tools C# 8 language version support in csc and msbuild The C# compiler and msbuild tooling were updated to versions that support the final C# 8 language specification. The Default Interface Methods (DIM) feature also received a few runtime enhancements. NuGet Bundled NuGet version has been upgraded to 5.2 RTM.
Diffstat (limited to 'lang/mono6/patches')
-rw-r--r--lang/mono6/patches/patch-configure.ac38
-rw-r--r--lang/mono6/patches/patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs10
-rw-r--r--lang/mono6/patches/patch-mono_metadata_icall.c8
-rw-r--r--lang/mono6/patches/patch-mono_metadata_mono-config.c14
-rw-r--r--lang/mono6/patches/patch-mono_mini_Makefile.am.in15
-rw-r--r--lang/mono6/patches/patch-mono_native_Makefile.am20
-rw-r--r--lang/mono6/patches/patch-mono_native_mono-native-platform.h9
-rw-r--r--lang/mono6/patches/patch-mono_tests_Makefile.am15
-rw-r--r--lang/mono6/patches/patch-mono_utils_mono-state.c14
9 files changed, 61 insertions, 82 deletions
diff --git a/lang/mono6/patches/patch-configure.ac b/lang/mono6/patches/patch-configure.ac
index 35db6e116fa..3283b072ff5 100644
--- a/lang/mono6/patches/patch-configure.ac
+++ b/lang/mono6/patches/patch-configure.ac
@@ -1,11 +1,35 @@
-$NetBSD: patch-configure.ac,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-configure.ac,v 1.2 2019/10/09 22:46:04 maya Exp $
Add netbsd support
https://github.com/mono/mono/pull/15938
---- configure.ac.orig 2019-07-18 07:52:31.000000000 +0000
+Disable libgc in cases it has build issues (netbsd/aarch64, solaris)
+
+--- configure.ac.orig 2019-09-19 07:53:55.000000000 +0000
+++ configure.ac
-@@ -4066,10 +4066,10 @@ LIBC="libc.so.6"
+@@ -202,6 +202,12 @@ case "$host" in
+ libgc_threads=pthreads
+ with_sigaltstack=no
+ use_sigposix=yes
++ case "$host" in
++ aarch64-*)
++ support_boehm=no
++ with_gc=sgen
++ ;;
++ esac
+ with_sgen_default_concurrent=yes
+ ;;
+ *-*-kfreebsd*-gnu)
+@@ -394,6 +400,8 @@ case "$host" in
+ has_dtrace=yes
+ use_sigposix=yes
+ enable_solaris_tar_check=yes
++ support_boehm=no
++ with_gc=sgen
+ ;;
+ *-*-darwin*)
+ parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
+@@ -4155,10 +4163,10 @@ LIBC="libc.so.6"
INTL="libc.so.6"
SQLITE="libsqlite.so.0"
SQLITE3="libsqlite3.so.0"
@@ -19,8 +43,8 @@ https://github.com/mono/mono/pull/15938
+XINERAMA="@X11BASE@/lib/libXinerama.so"
sizeof_register="SIZEOF_VOID_P"
-
-@@ -6177,6 +6177,22 @@ elif test x$platform_android = xyes; the
+
+@@ -6309,6 +6317,22 @@ elif test x$platform_android = xyes; the
MONO_NATIVE_PLATFORM=android
MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_ANDROID"
@@ -43,10 +67,10 @@ https://github.com/mono/mono/pull/15938
else
mono_native=no
mono_native_text="no"
-@@ -6218,6 +6234,7 @@ AM_CONDITIONAL(MONO_NATIVE_PLATFORM_IOS,
- AM_CONDITIONAL(MONO_NATIVE_PLATFORM_LINUX, test x$MONO_NATIVE_PLATFORM = xlinux)
+@@ -6351,6 +6375,7 @@ AM_CONDITIONAL(MONO_NATIVE_PLATFORM_LINU
AM_CONDITIONAL(MONO_NATIVE_PLATFORM_AIX, test x$MONO_NATIVE_PLATFORM = xaix)
AM_CONDITIONAL(MONO_NATIVE_PLATFORM_ANDROID, test x$MONO_NATIVE_PLATFORM = xandroid)
+ AM_CONDITIONAL(MONO_NATIVE_PLATFORM_FREEBSD, test x$MONO_NATIVE_PLATFORM = xfreebsd)
+AM_CONDITIONAL(MONO_NATIVE_PLATFORM_NETBSD, test x$MONO_NATIVE_PLATFORM = xnetbsd)
MONO_NATIVE_PLATFORM_TYPE_COMPAT="$MONO_NATIVE_PLATFORM_TYPE | MONO_NATIVE_PLATFORM_TYPE_COMPAT"
diff --git a/lang/mono6/patches/patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs b/lang/mono6/patches/patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs
index ede16f62e41..20b2fbbe4c0 100644
--- a/lang/mono6/patches/patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs
+++ b/lang/mono6/patches/patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs
@@ -1,14 +1,14 @@
-$NetBSD: patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs,v 1.2 2019/10/09 22:46:04 maya Exp $
Add netbsd support
https://github.com/mono/mono/pull/15938
---- mcs/class/corlib/Test/Mono/MonoNativePlatformType.cs.orig 2019-07-18 07:46:07.000000000 +0000
+--- mcs/class/corlib/Test/Mono/MonoNativePlatformType.cs.orig 2019-09-19 07:46:06.000000000 +0000
+++ mcs/class/corlib/Test/Mono/MonoNativePlatformType.cs
-@@ -36,6 +36,7 @@ namespace Mono
- MONO_NATIVE_PLATFORM_TYPE_IOS = 2,
- MONO_NATIVE_PLATFORM_TYPE_LINUX = 3,
+@@ -38,6 +38,7 @@ namespace Mono
MONO_NATIVE_PLATFORM_TYPE_AIX = 4,
+ MONO_NATIVE_PLATFORM_TYPE_ANDROID = 5,
+ MONO_NATIVE_PLATFORM_TYPE_FREEBSD = 6,
+ MONO_NATIVE_PLATFORM_TYPE_NETBSD = 8,
MONO_NATIVE_PLATFORM_TYPE_IPHONE = 0x100,
diff --git a/lang/mono6/patches/patch-mono_metadata_icall.c b/lang/mono6/patches/patch-mono_metadata_icall.c
index 94b8dbf5d66..b609d1cf562 100644
--- a/lang/mono6/patches/patch-mono_metadata_icall.c
+++ b/lang/mono6/patches/patch-mono_metadata_icall.c
@@ -1,13 +1,13 @@
-$NetBSD: patch-mono_metadata_icall.c,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-mono_metadata_icall.c,v 1.2 2019/10/09 22:46:04 maya Exp $
NetBSD will side-load <stdbool.h> which must have #define bool _Bool.
This causes some problems with the C preprocessor usage here. undef it.
---- mono/metadata/icall.c.orig 2019-07-18 07:46:08.000000000 +0000
+--- mono/metadata/icall.c.orig 2019-09-19 07:46:07.000000000 +0000
+++ mono/metadata/icall.c
-@@ -117,6 +117,8 @@
- #include "icall-decl.h"
+@@ -120,6 +120,8 @@
#include "mono/utils/mono-threads-coop.h"
+ #include "mono/metadata/icall-signatures.h"
+#undef bool
+
diff --git a/lang/mono6/patches/patch-mono_metadata_mono-config.c b/lang/mono6/patches/patch-mono_metadata_mono-config.c
index f2d2fdfb4ed..851a113f617 100644
--- a/lang/mono6/patches/patch-mono_metadata_mono-config.c
+++ b/lang/mono6/patches/patch-mono_metadata_mono-config.c
@@ -1,16 +1,16 @@
-$NetBSD: patch-mono_metadata_mono-config.c,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-mono_metadata_mono-config.c,v 1.2 2019/10/09 22:46:04 maya Exp $
Look for our dllmap in /usr/pkg/etc/mono/config
as opposed to /usr/pkg/etc/mono/mono/config
---- mono/metadata/mono-config.c.orig 2019-07-18 07:46:08.000000000 +0000
+--- mono/metadata/mono-config.c.orig 2019-09-19 07:46:07.000000000 +0000
+++ mono/metadata/mono-config.c
-@@ -694,7 +694,7 @@ mono_config_parse (const char *filename)
+@@ -682,7 +682,7 @@ mono_config_parse (const char *filename)
- const char *mono_cfg_dir = mono_get_config_dir ();
- if (mono_cfg_dir) {
-- mono_cfg = g_build_filename (mono_cfg_dir, "mono", "config", NULL);
-+ mono_cfg = g_build_filename (mono_cfg_dir, "config", NULL);
+ const char *cfg_dir = mono_get_config_dir ();
+ if (cfg_dir) {
+- mono_cfg = g_build_filename (cfg_dir, "mono", "config", NULL);
++ mono_cfg = g_build_filename (cfg_dir, "config", NULL);
mono_config_parse_file (mono_cfg);
g_free (mono_cfg);
}
diff --git a/lang/mono6/patches/patch-mono_mini_Makefile.am.in b/lang/mono6/patches/patch-mono_mini_Makefile.am.in
deleted file mode 100644
index b904db63f87..00000000000
--- a/lang/mono6/patches/patch-mono_mini_Makefile.am.in
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mono_mini_Makefile.am.in,v 1.1 2019/08/25 16:37:01 maya Exp $
-
-Replace python executable name.
-
---- mono/mini/Makefile.am.in.orig 2019-07-18 07:46:08.000000000 +0000
-+++ mono/mini/Makefile.am.in
-@@ -779,7 +779,7 @@ MemoryIntrinsics.dll: MemoryIntrinsics.i
-
- GENMDESC_OPTS=
-
--GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir)
-+GENMDESC_PRG=@PYTHONBIN@ $(srcdir)/genmdesc.py $(target_define) $(srcdir)
-
- cpu-wasm.h: mini-ops.h cpu-wasm.md
- $(GENMDESC_PRG) cpu-wasm.h wasm_desc $(srcdir)/cpu-wasm.md
diff --git a/lang/mono6/patches/patch-mono_native_Makefile.am b/lang/mono6/patches/patch-mono_native_Makefile.am
index 8d75177927c..e19272bcad4 100644
--- a/lang/mono6/patches/patch-mono_native_Makefile.am
+++ b/lang/mono6/patches/patch-mono_native_Makefile.am
@@ -1,32 +1,32 @@
-$NetBSD: patch-mono_native_Makefile.am,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-mono_native_Makefile.am,v 1.2 2019/10/09 22:46:04 maya Exp $
Add netbsd support
https://github.com/mono/mono/pull/15938
---- mono/native/Makefile.am.orig 2019-07-18 07:46:08.000000000 +0000
+--- mono/native/Makefile.am.orig 2019-09-19 07:46:07.000000000 +0000
+++ mono/native/Makefile.am
-@@ -49,6 +49,8 @@ linux_sources = $(unix_sources)
+@@ -73,6 +73,8 @@ aix_sources = $(unix_sources)
- aix_sources = $(unix_sources)
+ freebsd_sources = $(unix_sources)
+netbsd_sources = $(unix_sources)
+
android_sources = \
pal-android.h \
pal-android.c \
-@@ -86,7 +88,7 @@ macos_sources += $(gss_sources)
+@@ -110,7 +112,7 @@ macos_sources += $(gss_sources)
ios_sources += $(gss_sources)
endif
--EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(unix_sources) $(gss_sources)
-+EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(netbsd_sources) $(unix_sources) $(gss_sources)
+-EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(freebsd) $(unix_sources) $(gss_sources)
++EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(freebsd) $(netbsd_sources) $(unix_sources) $(gss_sources)
if MONO_NATIVE_PLATFORM_MACOS
platform_sources = $(macos_sources)
-@@ -102,6 +104,10 @@ platform_sources = $(aix_sources)
+@@ -129,6 +131,10 @@ platform_sources = $(android_sources)
else
- if MONO_NATIVE_PLATFORM_ANDROID
- platform_sources = $(android_sources)
+ if MONO_NATIVE_PLATFORM_FREEBSD
+ platform_sources = $(freebsd_sources)
+else
+if MONO_NATIVE_PLATFORM_NETBSD
+platform_sources = $(netbsd_sources)
diff --git a/lang/mono6/patches/patch-mono_native_mono-native-platform.h b/lang/mono6/patches/patch-mono_native_mono-native-platform.h
index 77ad2b6701f..a13c64e255a 100644
--- a/lang/mono6/patches/patch-mono_native_mono-native-platform.h
+++ b/lang/mono6/patches/patch-mono_native_mono-native-platform.h
@@ -1,15 +1,14 @@
-$NetBSD: patch-mono_native_mono-native-platform.h,v 1.1 2019/08/25 16:37:01 maya Exp $
+$NetBSD: patch-mono_native_mono-native-platform.h,v 1.2 2019/10/09 22:46:05 maya Exp $
Add netbsd support
https://github.com/mono/mono/pull/15938
---- mono/native/mono-native-platform.h.orig 2019-07-18 07:46:08.000000000 +0000
+--- mono/native/mono-native-platform.h.orig 2019-09-19 07:46:07.000000000 +0000
+++ mono/native/mono-native-platform.h
-@@ -11,6 +11,8 @@ typedef enum {
- MONO_NATIVE_PLATFORM_TYPE_LINUX = 3,
+@@ -12,6 +12,7 @@ typedef enum {
MONO_NATIVE_PLATFORM_TYPE_AIX = 4,
MONO_NATIVE_PLATFORM_TYPE_ANDROID = 5,
-+ MONO_NATIVE_PLATFORM_TYPE_FREEBSD = 6,
+ MONO_NATIVE_PLATFORM_TYPE_FREEBSD = 6,
+ MONO_NATIVE_PLATFORM_TYPE_NETBSD = 8,
MONO_NATIVE_PLATFORM_TYPE_IPHONE = 0x100,
diff --git a/lang/mono6/patches/patch-mono_tests_Makefile.am b/lang/mono6/patches/patch-mono_tests_Makefile.am
deleted file mode 100644
index 45b278dc117..00000000000
--- a/lang/mono6/patches/patch-mono_tests_Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mono_tests_Makefile.am,v 1.1 2019/08/25 16:37:01 maya Exp $
-
-Replace python executable name.
-
---- mono/tests/Makefile.am.orig 2019-07-18 07:46:08.000000000 +0000
-+++ mono/tests/Makefile.am
-@@ -3151,7 +3151,7 @@ coreclr-gcstress:
- # Tests for the Mono lldb plugin
- EXTRA_DIST += test_lldb.py test-lldb.cs
- test-lldb: test-lldb.exe
-- python test_lldb.py $(JITTEST_PROG)
-+ @PYTHONBIN@ test_lldb.py $(JITTEST_PROG)
-
- noinst_LTLIBRARIES = libtest.la
-
diff --git a/lang/mono6/patches/patch-mono_utils_mono-state.c b/lang/mono6/patches/patch-mono_utils_mono-state.c
deleted file mode 100644
index bf200d64e94..00000000000
--- a/lang/mono6/patches/patch-mono_utils_mono-state.c
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-mono_utils_mono-state.c,v 1.1 2019/08/25 16:37:01 maya Exp $
-
-sys/stat.h for S_IRUSR etc.
-
---- mono/utils/mono-state.c.orig 2019-07-18 07:46:08.000000000 +0000
-+++ mono/utils/mono-state.c
-@@ -17,6 +17,7 @@
- #include <mono/metadata/object-internals.h>
-
- #include <sys/param.h>
-+#include <sys/stat.h>
- #include <fcntl.h>
- #include <utils/mono-threads-debug.h>
-