pkgsrc/lang/mono6/Makefile
ryoon 0244a25e3c mono6: Update to 6.8.0.105
Changelog:
Highlights

    Various Bugfixes

In Depth
Runtime
WebAssembly

We continue to work on making our WebAssembly support better. Various sets of issues have been resolved in this release and general performance and feature work is happening as well.
Community improvements for AIX/PASE and Haiku

The ports for these systems received a bunch of improvements from community contributor Calvin Buckley (@NattyNarwhal).
Class Libraries
CoreFX integration

We continued to replace some of our classes with the implementation from CoreFX to improve performance and compatibility with .NET.

In this release we tightened up our networking with a few bug fixes.
Tools
Resolved Issues

    7377 [Mono.Debugger.Soft] Connections are not properly closed
    10641 New arm64_32 architecture (watchOS 5) [arm64_32] make “Debug Mode” work on Watch series 4 with –interpreter
    12421 Task calls SynchronizationContext.Post on cancelling
    12586 DataContractSerializer is not available
    12917 [Blazor] IL Linker not working correctly with IQueryable extensions
    14080 condition ‘ji’ not met, with ‘dynamic’ and multithreading
    14725 mono 5.20 hangs when called from native thread
    14772 Null Pointer Exception after debugger pauses and then continues
    15261 [iOS][Tests] There are a number of System.Numeric tests that fail on iOS 32b devices
    15262 [iOS][Tests] A number of linq tests fail on iOS 32b devices
    15263 [iOS][Tests] A number of tests from Microsoft.CSharp fail on iOS 32b devices.
    15307 [iOS][Tests] Several corelib tests crash on iOS32b devices.
    15308 [netcore] Make OverlappedTests.PackNegTest Pass
    15310 [netcore] Make OverlappedTests.UnPackTest Pass
    15646 MERP indefinitely hangs on application quit
    15687 [debugger] Update client thread frames after SetIP.
    15805 Mono.Net.Security.MonoTlsStream: Crash when stream appears to have already been disposed
    15931 1024 hard limit of open file descriptors
    15992 Mono crashes during precompiling dll in fullaot mode
    15994 Coverity: derefenrecing null in profiler (CID: 1307043) Skip degenerate qsort: num < 2, size == 0, base == 0
    15999 [mini] run regression tests with fullaot+llvm
    16010 typeof(object).GetMember(“”) does not return an empty array
    16024 Native crash in ves_icall_System_Net_Sockets_Socket_Connect_internal
    16032 IOException: Sharing violation on path …
    16046 [netcore] AOT with unresolved dependencies hits asserts
    16122 VS 16.2.0 regression: CopyToAsync from DeflateStream to GzipStream throws NotImplementedException
    16172 Interpreter stack size is too large
    16192 Embedded Mono hangs when using native threads
    16308 Change netcore package to be using release builds
    16310 LLVM: ““.AsSpan()[0] doesn’t throw IndexOutOfRangeException
    16319 [wasm] Timers do not fire when run inside WebWorkers.
    16369 Relocations in .text on arm
    16380 [netcore] Regession with AOTed System.Private.CoreLib
    16381 [llvm] Assertion: should not be reached at mini-llvm.c:7104
    16395 [Mobile] DateTime.Now returns incorrect local time for one hour after entering DST in 39 locales.
    16411 JitTests.Float fails on iOS devices in release mode on 2019-08
    16415 Timezone data not handled correctly on FreeBSD
    16460 System.IO.Path.GetFullPath(“\\.\pipe\pipename”): different results on Mono and .NET
    16486 FileSystemEventArgs.FullPath throws ArgumentNullException
    16605 make distclean fails after build w/ embedded zlib
    16616 [netcore] Vector.CopyTo w/ LLVM emits wrong exception
    16626 [WinForms] ControlBox property didn`t hide Close button and icon
    16689 [merp] missing data in crashing reporting json native frames
    16701 C# REPL Unusable on Mono 6 / Ubuntu 19
    16709 Disposing the FileSystemWatcher does not close associated file descriptors
    16712 SIGSEGV in mono_class_setup_vtable_general
    16742 Date.Time parse issue (year 1948) Avoid creating un-representable DateTime for transition point
    16759 Stream.ReadAsync continues on different thread
    16803 mono_gc_finalize_notify spinning after process exit
    16808 LLVM failed for String.GetHashCode
    16819 [coop][interp] mono_threads_enter_gc_safe_region Cannot transition thread 0x1952b000 from STATE_BLOCKING with DO_BLOCKING
    16824 Crash when debugging iOS application that throws on DispatchQueue
    16864 [arm64_32] fix remaining regression tests
    16876 [Wasm] Switch to PNSE FileWatcher & Exclude Tests
    16879 [Wasm] Determine if System.Net.Http.UnitTests Failures are Relevant
    16918 XmlSerializer Deserializing Property with same name as its enum type no longer works
    16943 LLVM: recursive calls have overhead in JIT mode
    16950 Starting in Mono 6.0 (2019-02), NotImplementedException prevents using StreamWriter with GZipStream for encodings that use a preamble
    16974 File.GetCreationTimeUtc() returns the time last modified, not time created
    17004 [merp] crash reports have Darwin kernel version in OSVersion field
    17017 Out of bounds unhandled exception
    17038 [wasm][xunit tests] RemoteExecutorTests.RemoteInvokeWritesToFile fails
    17040 [wasm][xunit tests] System.Net.Security.Tests.SslStreamAlpnTests - MissingMethodException: Default constructor not found
    17083 Regression: when debugger encounters a not-unhandled exception Marshalling managed exception contains cut off stacktraces
    17133 SystemNative_CopyFile() call to fchmod() introduced in Mono 6.0 is not compatible with the external storage location on some Android OS versions and devices
    17139 mono_aot_register_n_debug_info
    17278 System.BadImageFormatException when reflecting on BCL shipped with Mono
    17334 mono_magic_trampoline being called more than expected
    17335 Investigate heavy stack from System_Threading_Interlocked_Exchange_T_REF_T_REF__T_REF
tem.Reflection.Emit + ConstructorInfo doesn’t work as expected
    17687 [Regression] Profiler’s calls log SIGABRTs when using GDI+ loader
    17718 Delegate does not invoke target virtually
    17737 Q: is using loader lock for domain seq_points access correct? (mono runtime) [runtime] Fix locking in mono_get_seq_points ().
    17790 [merp] SendMicrosoftTelemetry icall doesn’t do any MERP logging when inducing a Managed Crash
    17833 threadpool hang due to unlimited hill climbing
    17878 Deadlock in GC during bridge callback from native thread on Android
    17924 Mtouch argument interpreter crashes EntityFrameworkCore 3.0 iOS app
    17926 [Bug] Segmentation Fault receiving message on WatchOS with debugger attached
    17931 Native linking fails for armv7s
    18011 [embedding] Chaining Mach exceptions to Mono signals using utility threads
2020-02-12 15:25:15 +00:00

197 lines
6.9 KiB
Makefile

# $NetBSD: Makefile,v 1.10 2020/02/12 15:25:15 ryoon Exp $
DISTNAME= mono-6.8.0.105
CATEGORIES= lang
MASTER_SITES= https://download.mono-project.com/sources/mono/
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.mono-project.com/
COMMENT= Open source implementation of the .NET Development Framework
LICENSE= mit AND gnu-gpl-v2 AND gnu-lgpl-v2 AND apache-2.0
WRKSRC= ${WRKDIR}/${DISTNAME}
TOOL_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser
CONFLICTS= pnet-[0-9]* mcsim-[0-9]* lc-[0-9]*
ALL_ENV+= MONO_SHARED_DIR=${WRKDIR} PLATFORM=
ALL_ENV+= PAXCTL=${PAXCTL}
USE_TOOLS+= bash:run cmake gmake gtar msgfmt perl:run pkg-config
USE_TOOLS+= bison autoconf automake
USE_LIBTOOL= yes
USE_LANGUAGES+= c c99 c++
EXTRACT_USING= gtar
GNU_CONFIGURE= yes
PKG_SYSCONFSUBDIR= mono
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --disable-btls
CONFIGURE_ARGS+= --disable-btls-lib
# Requires a cwrappers change: http://mail-index.netbsd.org/tech-pkg/2019/08/16/msg021791.html
USE_CWRAPPERS= no
MAKE_FLAGS+= PERL=${PERL5:Q} mandir=${PREFIX}/${PKGMANDIR}
UNLIMIT_RESOURCES= datasize stacksize memorysize
PKGCONFIG_OVERRIDE+= mono-uninstalled.pc.in data/cecil.pc.in
PKGCONFIG_OVERRIDE+= data/dotnet.pc.in data/dotnet35.pc.in data/mint.pc.in
PKGCONFIG_OVERRIDE+= data/monodoc.pc.in
PKGCONFIG_OVERRIDE+= data/mono-cairo.pc.in data/mono-lineeditor.pc.in
PKGCONFIG_OVERRIDE+= data/mono-nunit.pc.in data/mono-options.pc.in
PKGCONFIG_OVERRIDE+= data/mono.pc.in
PKGCONFIG_OVERRIDE+= data/reactive.pc.in
PKGCONFIG_OVERRIDE+= data/system.web.extensions_1.0.pc.in
PKGCONFIG_OVERRIDE+= data/system.web.extensions.design_1.0.pc.in
PKGCONFIG_OVERRIDE+= data/system.web.mvc.pc.in data/wcf.pc.in
REPLACE_PERL+= mono/benchmark/test-driver
REPLACE_PERL+= mono/cil/make-opcodes-def.pl
REPLACE_PERL+= mono/tests/stress-runner.pl
REPLACE_PYTHON+= scripts/mono-heapviz
REPLACE_BASH+= mono/arch/arm/dpiops.sh
REPLACE_BASH+= mono/arch/arm/vfpops.sh
REPLACE_BASH+= scripts/mono-package-runtime
REPLACE_BASH+= scripts/mono-find-provides.in scripts/mono-find-requires.in
REPLACE_BASH+= scripts/mono-test-install web/mono-build-w32.sh
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/gtk/compile.sh
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/png/compile.sh
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/win32/compile.sh
REPLACE_BASH+= mcs/class/Mono.Cairo/Samples/x11/compile.sh
REPLACE_BASH+= libgc/mkinstalldirs
REPLACE_BASH+= mcs/mkinstalldirs mkinstalldirs
EGDIR= ${PREFIX}/share/examples/mono
CONF_FILES+= ${EGDIR}/2.0/Browsers/Compat.browser \
${PKG_SYSCONFDIR}/2.0/Browsers/Compat.browser
CONF_FILES+= ${EGDIR}/2.0/DefaultWsdlHelpGenerator.aspx \
${PKG_SYSCONFDIR}/2.0/DefaultWsdlHelpGenerator.aspx
CONF_FILES+= ${EGDIR}/2.0/machine.config \
${PKG_SYSCONFDIR}/2.0/machine.config
CONF_FILES+= ${EGDIR}/2.0/settings.map \
${PKG_SYSCONFDIR}/2.0/settings.map
CONF_FILES+= ${EGDIR}/2.0/web.config \
${PKG_SYSCONFDIR}/2.0/web.config
CONF_FILES+= ${EGDIR}/4.0/Browsers/Compat.browser \
${PKG_SYSCONFDIR}/4.0/Browsers/Compat.browser
CONF_FILES+= ${EGDIR}/4.0/DefaultWsdlHelpGenerator.aspx \
${PKG_SYSCONFDIR}/4.0/DefaultWsdlHelpGenerator.aspx
CONF_FILES+= ${EGDIR}/4.0/machine.config \
${PKG_SYSCONFDIR}/4.0/machine.config
CONF_FILES+= ${EGDIR}/4.0/settings.map \
${PKG_SYSCONFDIR}/4.0/settings.map
CONF_FILES+= ${EGDIR}/4.0/web.config \
${PKG_SYSCONFDIR}/4.0/web.config
CONF_FILES+= ${EGDIR}/4.5/Browsers/Compat.browser \
${PKG_SYSCONFDIR}/4.5/Browsers/Compat.browser
CONF_FILES+= ${EGDIR}/4.5/DefaultWsdlHelpGenerator.aspx \
${PKG_SYSCONFDIR}/4.5/DefaultWsdlHelpGenerator.aspx
CONF_FILES+= ${EGDIR}/4.5/machine.config \
${PKG_SYSCONFDIR}/4.5/machine.config
CONF_FILES+= ${EGDIR}/4.5/settings.map \
${PKG_SYSCONFDIR}/4.5/settings.map
CONF_FILES+= ${EGDIR}/4.5/web.config \
${PKG_SYSCONFDIR}/4.5/web.config
CONF_FILES+= ${EGDIR}/browscap.ini \
${PKG_SYSCONFDIR}/browscap.ini
CONF_FILES+= ${EGDIR}/config \
${PKG_SYSCONFDIR}/config
MAKE_DIRS+= ${PKG_SYSCONFDIR}/2.0
MAKE_DIRS+= ${PKG_SYSCONFDIR}/2.0/Browsers
MAKE_DIRS+= ${PKG_SYSCONFDIR}/4.0
MAKE_DIRS+= ${PKG_SYSCONFDIR}/4.0/Browsers
MAKE_DIRS+= ${PKG_SYSCONFDIR}/4.5
MAKE_DIRS+= ${PKG_SYSCONFDIR}/4.5/Browsers
MAKE_DIRS+= ${PKG_SYSCONFDIR}/mconfig
TEST_TARGET= check
SUBST_CLASSES+= fix-prefix
SUBST_STAGE.fix-prefix= pre-configure
SUBST_MESSAGE.fix-prefix= Fixing relative prefix
SUBST_FILES.fix-prefix= ${PKGCONFIG_OVERRIDE}
SUBST_SED.fix-prefix= -e 's,$${pcfiledir}/../..,\@prefix\@,g'
SUBST_CLASSES+= fix-cfgdir
SUBST_STAGE.fix-cfgdir= pre-configure
SUBST_MESSAGE.fix-cfgdir= Fixing configuration files install dir
SUBST_FILES.fix-cfgdir= mcs/tools/mconfig/Makefile
SUBST_SED.fix-cfgdir= -e 's,$$(sysconfdir)/mono,${EGDIR},g'
SUBST_CLASSES+= fix-libs
SUBST_STAGE.fix-libs= pre-configure
SUBST_MESSAGE.fix-libs= Fixing library search path configuration
SUBST_FILES.fix-libs= configure.ac
SUBST_VARS.fix-libs+= X11BASE
SUBST_VARS.fix-libs+= PREFIX
SUBST_CLASSES+= fix-python
SUBST_STAGE.fix-python= pre-configure
SUBST_MESSAGE.fix-python= Fixing python binary name
SUBST_FILES.fix-python+= mono/mini/Makefile.am.in
SUBST_FILES.fix-python+= mono/tests/Makefile.am
SUBST_VARS.fix-python= PYTHONBIN
.include "../../mk/bsd.prefs.mk"
# XXX remove
MAKE_ENV+= V=1
# We patched makefiles, regen
pre-configure:
${RUN} cd ${WRKSRC} && ${SH} ./autogen.sh
.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+= --enable-dtrace=no
CONFIGURE_ARGS+= --with-sigaltstack=no
CONFIGURE_ENV+= ac_cv_func_getdomainname=no
CONFIGURE_ENV+= ac_cv_func_setdomainname=no
ULIMIT_CMD_datasize= ulimit -d 524288
ULIMIT_CMD_stacksize= ulimit -s 10240
.elif ${OPSYS} == "NetBSD"
# Available as a libc symbol, but no declaration.
# XXX learn about getvfsstat
CONFIGURE_ENV+= ac_cv_func_getfsstat=no
.endif
.if ${MACHINE_ARCH:M*i[34]86*}
# for gcc byte atomic builtins
GNU_ARCH.i386= i586
CFLAGS+= -march=i586
.endif
# Unsafe JIT, possibly problematic boehm-gc
NOT_PAX_MPROTECT_SAFE+= bin/mono-sgen
post-install:
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/DefaultWsdlHelpGenerator.aspx \
${DESTDIR}${EGDIR}/4.5/DefaultWsdlHelpGenerator.aspx
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/machine.config \
${DESTDIR}${EGDIR}/4.5/machine.config
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/settings.map \
${DESTDIR}${EGDIR}/4.5/settings.map
${INSTALL_DATA} ${WRKSRC}/data/net_4_5/web.config \
${DESTDIR}${EGDIR}/4.5/web.config
.if ${OPSYS} == "Darwin"
for lib in mcs.exe.dylib mscorlib.dll.dylib; do \
install_name_tool -id ${PREFIX}/lib/mono/4.5/$$lib \
${DESTDIR}${PREFIX}/lib/mono/4.5/$$lib; \
done
.endif
.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"
.include "../../mk/bsd.pkg.mk"