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.
This commit is contained in:
maya 2019-10-09 22:46:04 +00:00
parent 2badde2aff
commit 06119dc00a
12 changed files with 81 additions and 101 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.6 2019/09/11 11:53:39 nia Exp $
# $NetBSD: Makefile,v 1.7 2019/10/09 22:46:04 maya Exp $
DISTNAME= mono-6.0.0.313
DISTNAME= mono-6.4.0.198
CATEGORIES= lang
MASTER_SITES= https://download.mono-project.com/sources/mono/
EXTRACT_SUFX= .tar.xz
@ -148,6 +148,8 @@ pre-configure:
.if ${OPSYS} == "SunOS"
CFLAGS+= -D_XOPEN_SOURCE=600
# Conflicts with the above settings
CONFIGURE_ENV+= ac_cv_func_madvise=no
CONFIGURE_ARGS+= --with-mcs-docs=no
CONFIGURE_ARGS+= --with-sgen=no
CONFIGURE_ARGS+= --with-sigaltstack=no
@ -188,6 +190,7 @@ post-install:
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../textproc/libxslt/buildlink3.mk"

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.1 2019/08/25 16:37:01 maya Exp $
@comment $NetBSD: PLIST,v 1.2 2019/10/09 22:46:04 maya Exp $
bin/al
bin/al2
bin/caspol
@ -2667,8 +2667,8 @@ lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.dll
lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.pdb
lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.dll
lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.pdb
lib/mono/gac/Mono.Cecil/0.10.3.0__0738eb9f132ed756/Mono.Cecil.dll
lib/mono/gac/Mono.Cecil/0.10.3.0__0738eb9f132ed756/Mono.Cecil.pdb
lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.dll
lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.pdb
lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll
lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.pdb
lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.dll
@ -2922,6 +2922,7 @@ lib/mono/msbuild/Current/bin/Roslyn/Microsoft.CodeAnalysis.Scripting.dll
lib/mono/msbuild/Current/bin/Roslyn/Microsoft.CodeAnalysis.VisualBasic.dll
lib/mono/msbuild/Current/bin/Roslyn/Microsoft.CodeAnalysis.dll
lib/mono/msbuild/Current/bin/Roslyn/Microsoft.Managed.Core.targets
lib/mono/msbuild/Current/bin/Roslyn/Microsoft.Managed.EditorConfig.targets
lib/mono/msbuild/Current/bin/Roslyn/Microsoft.VisualBasic.Core.targets
lib/mono/msbuild/Current/bin/Roslyn/System.Collections.Immutable.dll
lib/mono/msbuild/Current/bin/Roslyn/System.Memory.dll

View file

@ -1,10 +1,10 @@
$NetBSD: distinfo,v 1.2 2019/09/02 16:41:01 nia Exp $
$NetBSD: distinfo,v 1.3 2019/10/09 22:46:04 maya Exp $
SHA1 (mono-6.0.0.313.tar.xz) = c5cccad2cb5be936f23e46b95df7628013e29e3c
RMD160 (mono-6.0.0.313.tar.xz) = 801e5128561d2e95a6736cdfce040d8850be4e2f
SHA512 (mono-6.0.0.313.tar.xz) = a1de452eb1c6edba503723217a4b5839563d154ff0c01852b551a41b3c98b5b617637e4e435de87bf275cfdce4066e70bfc763b607882f0b42e14196d7d5c156
Size (mono-6.0.0.313.tar.xz) = 218124872 bytes
SHA1 (patch-configure.ac) = f932add14f5b54af5cc183cfd30f482f11f7d504
SHA1 (mono-6.4.0.198.tar.xz) = ad1beb048e34f5b4a958b25cd339d54ac837e480
RMD160 (mono-6.4.0.198.tar.xz) = 8045bcbe15ee51f3c12b2b99844ad697927d22fc
SHA512 (mono-6.4.0.198.tar.xz) = 2804f1a2e10de683230fc77684b9f795259e4d494e819afd3c9cf247bed20cac2b7f80612eccc8af619158d077447989784e9f2e56fc741bf601894b1969600d
Size (mono-6.4.0.198.tar.xz) = 230056560 bytes
SHA1 (patch-configure.ac) = 380f05b07018bb7b04ae5ebf7628b53f320adde8
SHA1 (patch-data_Makefile.am) = 535480855e413750d5b6cab6351b1683ac911246
SHA1 (patch-data_net__2__0_Browsers_Makefile.am) = 847fa7f5a54e7583a87c40749efe5a99e513c3c9
SHA1 (patch-data_net__2__0_Makefile.am) = dffb23423381a9031587536ee5de2b34610329ee
@ -12,15 +12,12 @@ SHA1 (patch-data_net__4__0_Browsers_Makefile.am) = 0ada5af132816efb41dfbd7ce2ba2
SHA1 (patch-data_net__4__0_Makefile.am) = 7c0fa175047f01a556f61503b2fcfabdedd2c606
SHA1 (patch-data_net__4__5_Browsers_Makefile.am) = 80bd57a2ac3fc95adef18acd9cfd7744ca112b01
SHA1 (patch-data_net__4__5_Makefile.am) = d7591e835bfdd27fa0fba4b669b778924c811be4
SHA1 (patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs) = 3368edee232b184879091df3d68daf4900f744c2
SHA1 (patch-mono_metadata_icall.c) = 292c7bc4c959a3a5c1a982ccf2bc26a5300a0730
SHA1 (patch-mono_metadata_mono-config.c) = ba690e4790c94e085214d303a9ac71a2a1d08fee
SHA1 (patch-mcs_class_corlib_Test_Mono_MonoNativePlatformType.cs) = 1cc7df8238439e9c641b27dd94172bdb25185df7
SHA1 (patch-mono_metadata_icall.c) = b326c16e9aa8f9ee154d937128e5e09fd31b235a
SHA1 (patch-mono_metadata_mono-config.c) = c80a489bc00e3b5f368f95bd5f63ed2e93552c07
SHA1 (patch-mono_metadata_threads.c) = e1432cced0dafce1a2712869ce79e12a2ab35973
SHA1 (patch-mono_mini_Makefile.am.in) = 697b0b56d9b7ddb5f61cd105c2c9c5dfac53ed9b
SHA1 (patch-mono_native_Makefile.am) = 47e57623ebfce32f13a5fc1c19a0dbcb31dad8d4
SHA1 (patch-mono_native_mono-native-platform.h) = 845c921b4a84146b78f4f94c9380890892f5ff29
SHA1 (patch-mono_tests_Makefile.am) = a5bf145619a50c8c256c32ffdb5b51f9e04f874c
SHA1 (patch-mono_native_Makefile.am) = 5cb2caa4b00327459864eecbe0ea26d9ed4b03e1
SHA1 (patch-mono_native_mono-native-platform.h) = 9247cf9429d829242ea7dfede8e3b39f89a92850
SHA1 (patch-mono_utils_mono-os-semaphore.h) = b850911945c95be804e9462263d558ef702831ca
SHA1 (patch-mono_utils_mono-state.c) = 6a6d83e1779a5167e8f22ba1dedce9b3203705c4
SHA1 (patch-mono_utils_mono-utils-debug.c) = 30b0ab55c9227705026a8edd1e4bb693ae4f9953
SHA1 (patch-runtime_mono-wrapper.in) = ea40d2f2e8b67de0ae42c6e608e3c085dc2b040e

View file

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

View file

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

View file

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

View file

@ -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);
}

View file

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

View file

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

View file

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

View file

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

View file

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