Path to this page:
Subject: CVS commit: pkgsrc/lang/mono6
From: Maya Rashish
Date: 2019-10-10 00:46:05
Message id: 20191009224605.38F31FBF4@cvs.NetBSD.org
Log Message:
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.
Files: