From 3438169d7cc83a106ecb72fbf5c8e92625cdd5cc Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 26 Mar 2023 18:42:02 +0200 Subject: [PATCH] mono: update to v6.12.0.182 - update mono - fix BTLS library for aarch64 built with gcc 4 (#3666) - remove some features to keep the package as small as possible - remove aot, profiling and debugging - remove boehm gc - remove ikvm library - disable packages for ARMv5 by removing ARMv5 from UNSUPPORTED_ARCHS it is still possible to create such a package, but without a TLS library most use cases will not work - add a script to update mono ca certificates after installation --- cross/mono/Makefile | 34 +++--- cross/mono/PLIST | 44 ++----- cross/mono/digests | 6 +- .../patches/002-explicit-use-of-python2.patch | 109 ------------------ native/mono/Makefile | 12 +- native/mono/digests | 6 +- .../patches/001-relocate-specialfolders.patch | 2 + .../patches/002-explicit-use-of-python2.patch | 69 ----------- spk/mono/Makefile | 26 ++--- spk/mono/src/update_ca_certificates.sh | 4 + 10 files changed, 63 insertions(+), 249 deletions(-) delete mode 100644 cross/mono/patches/002-explicit-use-of-python2.patch delete mode 100644 native/mono/patches/002-explicit-use-of-python2.patch create mode 100644 spk/mono/src/update_ca_certificates.sh diff --git a/cross/mono/Makefile b/cross/mono/Makefile index 36f08351e79..83b8329192f 100644 --- a/cross/mono/Makefile +++ b/cross/mono/Makefile @@ -1,21 +1,23 @@ PKG_NAME = mono -PKG_VERS = 5.20.1.34 -PKG_EXT = tar.bz2 +PKG_VERS = 6.12.0.182 +PKG_EXT = tar.xz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://download.mono-project.com/sources/mono PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -BUILD_DEPENDS = native/$(PKG_NAME) +# native/mono must be of the same version +BUILD_DEPENDS = native/mono HOMEPAGE = https://www.mono-project.com COMMENT = Cross platform, open source .NET development framework. LICENSE = https://www.mono-project.com/docs/faq/licensing -# Although qoriq can be compiled successfully it won't run as classic floating point unit not available +# Although qoriq can be compiled successfully it won't run as a classic floating point unit is not available # For details see: https://github.com/SynoCommunity/spksrc/issues/3470#issuecomment-469391052 UNSUPPORTED_ARCHS = $(PPC_ARCHS) -# Mono versions newer than 5.8.0 have an incompatibility with aarch64 on DSM 6.x (issue #3666) -UNSUPPORTED_ARCHS_TCVERSION = aarch64-6.1 +# BTLS is not built for armv5 anymore (and mono without TLS support is rather useless) +# https://github.com/mono/mono/issues/11422 +UNSUPPORTED_ARCHS += $(ARMv5_ARCHS) PRE_CONFIGURE_TARGET = mono_pre_configure GNU_CONFIGURE = 1 @@ -27,8 +29,12 @@ CONFIGURE_ARGS = --disable-mcs-build CONFIGURE_ARGS += --enable-btls CONFIGURE_ARGS += --disable-dependency-tracking CONFIGURE_ARGS += --without-mcs-docs +CONFIGURE_ARGS += --disable-boehm +CONFIGURE_ARGS += --without-ikvm-native +# disable some features +CONFIGURE_ARGS += --enable-minimal=aot,profiler,debug -# Optimize compilation for size +# Optimize compilation for minimal size ADDITIONAL_CFLAGS = -Os include ../../mk/spksrc.cross-cc.mk @@ -36,24 +42,24 @@ include ../../mk/spksrc.cross-cc.mk PLIST_TRANSFORM = cat ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) AG_ARGS = --host=arm-linux + # ARMv5 does not support BTLS (kept for the case someone wants to build for ARMv5 - marked as unsupported) PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' endif ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) AG_ARGS = --host=arm-linux - ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION)) - PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' - endif endif ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) AG_ARGS = --host=aarch64-linux - PLIST_TRANSFORM = sed -e '/:bin\/mono-boehm/d' -e '/:lib\/libmonoboehm/d' +ifeq ($(call version_lt, ${TCVERSION}, 7.0),1) + # fix for https://github.com/SynoCommunity/spksrc/issues/3666 + ADDITIONAL_CFLAGS += -fno-split-wide-types +endif endif ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) - ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION)) - PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' - endif endif AG_ARGS += --disable-mcs-build +AG_ARGS += --disable-boehm +AG_ARGS += --without-ikvm-native .PHONY: mono_pre_configure mono_pre_configure: diff --git a/cross/mono/PLIST b/cross/mono/PLIST index c8702c8e799..076a263d008 100644 --- a/cross/mono/PLIST +++ b/cross/mono/PLIST @@ -1,7 +1,6 @@ rsc:bin/al rsc:bin/al2 rsc:bin/csc -rsc:bin/csc-dim rsc:bin/csi rsc:bin/gacutil rsc:bin/gacutil2 @@ -16,29 +15,24 @@ rsc:bin/mdoc-update rsc:bin/mdoc-validate rsc:bin/mdvalidater rsc:bin/mkbundle -bin:bin/mono -bin:bin/mono-boehm +lnk:bin/mono rsc:bin/mono-configuration-crypto -bin:bin/monodis -rsc:bin/monodocer -rsc:bin/monodocs2html -rsc:bin/monodocs2slashdoc rsc:bin/mono-find-provides rsc:bin/mono-find-requires rsc:bin/mono-gdb.py rsc:bin/mono-heapviz -rsc:bin/monop -rsc:bin/monop2 rsc:bin/mono-package-runtime rsc:bin/mono-service rsc:bin/mono-service2 bin:bin/mono-sgen rsc:bin/mono-sgen-gdb.py rsc:bin/mono-test-install -bin:bin/mprof-report -rsc:bin/nunit-console -rsc:bin/nunit-console2 -rsc:bin/nunit-console4 +bin:bin/monodis +rsc:bin/monodocer +rsc:bin/monodocs2html +rsc:bin/monodocs2slashdoc +rsc:bin/monop +rsc:bin/monop2 rsc:bin/peverify rsc:bin/resgen rsc:bin/resgen2 @@ -63,32 +57,18 @@ rsc:etc/mono/4.5/settings.map rsc:etc/mono/4.5/web.config rsc:etc/mono/browscap.ini rsc:etc/mono/config -lib:lib/libikvm-native.so +lib:lib/libMonoPosixHelper.so +lib:lib/libMonoSupportW.so lnk:lib/libmono-2.0.so lnk:lib/libmono-2.0.so.1 lib:lib/libmono-2.0.so.1.0.0 -lnk:lib/libmonoboehm-2.0.so -lnk:lib/libmonoboehm-2.0.so.1 -lib:lib/libmonoboehm-2.0.so.1.0.0 lib:lib/libmono-btls-shared.so -lib:lib/libMonoPosixHelper.so -lnk:lib/libmono-profiler-aot.so -lnk:lib/libmono-profiler-aot.so.0 -lib:lib/libmono-profiler-aot.so.0.0.0 -lnk:lib/libmono-profiler-coverage.so -lnk:lib/libmono-profiler-coverage.so.0 -lib:lib/libmono-profiler-coverage.so.0.0.0 -lnk:lib/libmono-profiler-log.so -lnk:lib/libmono-profiler-log.so.0 -lib:lib/libmono-profiler-log.so.0.0.0 -lnk:lib/libmonosgen-2.0.so -lnk:lib/libmonosgen-2.0.so.1 -lib:lib/libmonosgen-2.0.so.1.0.0 -lib:lib/libMonoSupportW.so lnk:lib/libmono-native.so lnk:lib/libmono-native.so.0 lib:lib/libmono-native.so.0.0.0 +lnk:lib/libmonosgen-2.0.so +lnk:lib/libmonosgen-2.0.so.1 +lib:lib/libmonosgen-2.0.so.1.0.0 rsc:lib/mono/lldb/mono.py rsc:share/mono-2.0/mono/cil/cil-opcodes.xml rsc:share/mono-2.0/mono/eglib/eglib-config.h -rsc:share/mono-2.0/mono/profiler/mono-profiler-coverage.suppression diff --git a/cross/mono/digests b/cross/mono/digests index 435ddd4c071..a854d26c9be 100644 --- a/cross/mono/digests +++ b/cross/mono/digests @@ -1,3 +1,3 @@ -mono-5.20.1.34.tar.bz2 SHA1 06f6bce0644c87ed132f3f2155a940c3b6fcf8e6 -mono-5.20.1.34.tar.bz2 SHA256 cd91d44cf62515796ba90dfdc274bb33471c25a2f1a262689a3bdc0a672b7c8b -mono-5.20.1.34.tar.bz2 MD5 b4af6c8d1f23f19809a5c18d43bac613 +mono-6.12.0.182.tar.xz SHA1 c55424b3e2f3a89915941fba1920f1db6a44f7b2 +mono-6.12.0.182.tar.xz SHA256 57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424 +mono-6.12.0.182.tar.xz MD5 3e7d4c67a03f4edc542c57d2684c9819 diff --git a/cross/mono/patches/002-explicit-use-of-python2.patch b/cross/mono/patches/002-explicit-use-of-python2.patch deleted file mode 100644 index 23e4c4abc7e..00000000000 --- a/cross/mono/patches/002-explicit-use-of-python2.patch +++ /dev/null @@ -1,109 +0,0 @@ -# To use python 2.x we must call python2 nowadays. -# ---- scripts/submodules/versions.mk.orig 2019-07-16 18:16:12.000000000 +0000 -+++ scripts/submodules/versions.mk 2022-12-14 00:04:43.894608574 +0000 -@@ -10,11 +10,11 @@ - - define ValidateVersionTemplate - #$(eval REPOSITORY_$(2):=$(shell test -z $(3) && echo $(1) || echo "$(3)")) --#$(eval DIRECTORY_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) -+#$(eval DIRECTORY_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) - #$(eval DIRECTORY_$(2):=$(shell test -z $(DIRECTORY_$(2)) && echo $(1) || echo $(DIRECTORY_$(2)))) --#$(eval MODULE_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) --#$(eval NEEDED_$(2)_VERSION:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) --#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) -+#$(eval MODULE_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) -+#$(eval NEEDED_$(2)_VERSION:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) -+#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) - - #$(eval $(2)_VERSION:=$$$$(shell cd $($(2)_PATH) 2>/dev/null && git rev-parse HEAD )) - -@@ -106,17 +106,17 @@ - - __bump-version-%: - @if [ "$(REV)" = "" ]; then echo "Usage: make bump-version-$* REV="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $(REV)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-branch-%: - @if [ "$(BRANCH)" = "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi - @if [ "$(REMOTE_BRANCH)" == "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to switch to $(BRANCH) $(REMOTE BRANCH)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-current-version-%: - REV=$(shell cd $(ACCEPTANCE_TESTS_PATH)/$* && git log -1 --pretty=format:%H); \ -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ - if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $$REV:" | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - ---- mono/mini/Makefile.am.in.orig 2019-07-16 18:16:12.000000000 +0000 -+++ mono/mini/Makefile.am.in 2022-12-13 22:27:01.084182200 +0000 -@@ -742,7 +742,7 @@ - - GENMDESC_OPTS= - --GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir) -+GENMDESC_PRG=python2 $(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 - ---- llvm/Makefile.in.orig 2019-07-16 18:21:48.000000000 +0000 -+++ llvm/Makefile.in 2022-12-13 19:58:07.662592776 +0000 -@@ -644,11 +644,11 @@ - - define ValidateVersionTemplate - #$(eval REPOSITORY_$(2):=$(shell test -z $(3) && echo $(1) || echo "$(3)")) --#$(eval DIRECTORY_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) -+#$(eval DIRECTORY_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) - #$(eval DIRECTORY_$(2):=$(shell test -z $(DIRECTORY_$(2)) && echo $(1) || echo $(DIRECTORY_$(2)))) --#$(eval MODULE_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) --#$(eval NEEDED_$(2)_VERSION:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) --#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) -+#$(eval MODULE_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) -+#$(eval NEEDED_$(2)_VERSION:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) -+#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) - - #$(eval $(2)_VERSION:=$$$$(shell cd $($(2)_PATH) 2>/dev/null && git rev-parse HEAD )) - -@@ -740,19 +740,19 @@ - - __bump-version-%: - @if [ "$(REV)" = "" ]; then echo "Usage: make bump-version-$* REV="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $(REV)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-branch-%: - @if [ "$(BRANCH)" = "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi - @if [ "$(REMOTE_BRANCH)" == "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to switch to $(BRANCH) $(REMOTE BRANCH)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-current-version-%: - REV=$(shell cd $(ACCEPTANCE_TESTS_PATH)/$* && git log -1 --pretty=format:%H); \ -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ - if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $$REV:" | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - $(eval $(call ValidateVersionTemplate,llvm,LLVM)) - ---- mono/tests/Makefile.am.orig 2019-07-16 18:16:12.000000000 +0000 -+++ mono/tests/Makefile.am 2022-12-13 23:44:43.920549297 +0000 -@@ -2979,7 +2979,7 @@ - # 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) -+ python2 test_lldb.py $(JITTEST_PROG) - - noinst_LTLIBRARIES = libtest.la - \ No newline at end of file diff --git a/native/mono/Makefile b/native/mono/Makefile index 512d4de6cb9..81f69ab202f 100644 --- a/native/mono/Makefile +++ b/native/mono/Makefile @@ -1,22 +1,24 @@ PKG_NAME = mono -PKG_VERS = 5.20.1.34 -PKG_EXT = tar.bz2 +PKG_VERS = 6.12.0.182 +PKG_EXT = tar.xz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://download.mono-project.com/sources/$(PKG_NAME) +PKG_DIST_SITE = https://download.mono-project.com/sources/mono PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = HOMEPAGE = https://www.mono-project.com COMMENT = Cross platform, open source .NET development framework. -LICENSE = https://github.com/mono/mono/blob/master/LICENSE +LICENSE = https://www.mono-project.com/docs/faq/licensing/ GNU_CONFIGURE = 1 CONFIGURE_ARGS = --disable-dependency-tracking # disable-static does not work without disable-libraries -CONFIGURE_ARGS += --disable-static --disable-libraries +CONFIGURE_ARGS += --disable-static --disable-libraries CONFIGURE_ARGS += --without-mcs-docs +CONFIGURE_ARGS += --disable-boehm +CONFIGURE_ARGS += --without-ikvm-native POST_INSTALL_TARGET = mono_native_post_install diff --git a/native/mono/digests b/native/mono/digests index 435ddd4c071..a854d26c9be 100644 --- a/native/mono/digests +++ b/native/mono/digests @@ -1,3 +1,3 @@ -mono-5.20.1.34.tar.bz2 SHA1 06f6bce0644c87ed132f3f2155a940c3b6fcf8e6 -mono-5.20.1.34.tar.bz2 SHA256 cd91d44cf62515796ba90dfdc274bb33471c25a2f1a262689a3bdc0a672b7c8b -mono-5.20.1.34.tar.bz2 MD5 b4af6c8d1f23f19809a5c18d43bac613 +mono-6.12.0.182.tar.xz SHA1 c55424b3e2f3a89915941fba1920f1db6a44f7b2 +mono-6.12.0.182.tar.xz SHA256 57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424 +mono-6.12.0.182.tar.xz MD5 3e7d4c67a03f4edc542c57d2684c9819 diff --git a/native/mono/patches/001-relocate-specialfolders.patch b/native/mono/patches/001-relocate-specialfolders.patch index 03553fdfc5a..940f56eb7ed 100644 --- a/native/mono/patches/001-relocate-specialfolders.patch +++ b/native/mono/patches/001-relocate-specialfolders.patch @@ -1,3 +1,5 @@ +# adjust location of special folders to match package installed on DSM +# --- ./mcs/class/corlib/System/Environment.cs.orig 2018-02-17 20:23:18.195842002 +0100 +++ ./mcs/class/corlib/System/Environment.cs 2018-02-17 20:27:50.300067318 +0100 @@ -676,7 +676,7 @@ diff --git a/native/mono/patches/002-explicit-use-of-python2.patch b/native/mono/patches/002-explicit-use-of-python2.patch deleted file mode 100644 index 95ede4ba2a0..00000000000 --- a/native/mono/patches/002-explicit-use-of-python2.patch +++ /dev/null @@ -1,69 +0,0 @@ -# To use python 2.x we must call python2 nowadays. -# - ---- mono/mini/Makefile.in.orig 2019-07-16 18:21:49.000000000 +0000 -+++ mono/mini/Makefile.in 2022-12-13 22:37:15.491317361 +0000 -@@ -1225,7 +1225,7 @@ - libmonoinclude_HEADERS = jit.h - CSFLAGS = -unsafe -nowarn:0219,0169,0414,0649,0618 - GENMDESC_OPTS = --GENMDESC_PRG = python $(srcdir)/genmdesc.py $(target_define) $(srcdir) -+GENMDESC_PRG = python2 $(srcdir)/genmdesc.py $(target_define) $(srcdir) - LLVM_AOT_RUNTIME_OPTS = $(if $(LLVM),--llvm,) - GSHAREDVT_RUNTIME_OPTS = $(if $(GSHAREDVT),-O=gsharedvt,) - fullaot_regtests = $(regtests) - ---- llvm/Makefile.in.orig 2019-07-16 18:21:48.000000000 +0000 -+++ llvm/Makefile.in 2022-12-13 19:58:07.662592776 +0000 -@@ -644,11 +644,11 @@ - - define ValidateVersionTemplate - #$(eval REPOSITORY_$(2):=$(shell test -z $(3) && echo $(1) || echo "$(3)")) --#$(eval DIRECTORY_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) -+#$(eval DIRECTORY_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-dir $(1))) - #$(eval DIRECTORY_$(2):=$(shell test -z $(DIRECTORY_$(2)) && echo $(1) || echo $(DIRECTORY_$(2)))) --#$(eval MODULE_$(2):=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) --#$(eval NEEDED_$(2)_VERSION:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) --#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) -+#$(eval MODULE_$(2):=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-url $(1))) -+#$(eval NEEDED_$(2)_VERSION:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-rev $(1))) -+#$(eval $(2)_BRANCH_AND_REMOTE:=$(shell python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) get-remote-branch $(1))) - - #$(eval $(2)_VERSION:=$$$$(shell cd $($(2)_PATH) 2>/dev/null && git rev-parse HEAD )) - -@@ -740,19 +740,19 @@ - - __bump-version-%: - @if [ "$(REV)" = "" ]; then echo "Usage: make bump-version-$* REV="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $(REV) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $(REV)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-branch-%: - @if [ "$(BRANCH)" = "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi - @if [ "$(REMOTE_BRANCH)" == "" ]; then echo "Usage: make bump-branch-$* BRANCH= REMOTE_BRANCH="; exit 1; fi -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-branch $* $(BRANCH) -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-remote-branch $* $(REMOTE_BRANCH) - @if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to switch to $(BRANCH) $(REMOTE BRANCH)." | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - __bump-current-version-%: - REV=$(shell cd $(ACCEPTANCE_TESTS_PATH)/$* && git log -1 --pretty=format:%H); \ -- python $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ -+ python2 $(SCRIPT) $(SUBMODULES_CONFIG_FILE) set-rev $* $$REV; \ - if [ "$(COMMIT)" = "1" ]; then echo "[submodules] Bump $* to pick up $$REV:" | git commit -F - $(SUBMODULES_CONFIG_FILE); fi - - $(eval $(call ValidateVersionTemplate,llvm,LLVM)) - ---- mono/tests/Makefile.in.orig 2019-07-16 18:21:49.000000000 +0000 -+++ mono/tests/Makefile.in 2022-12-13 20:01:33.560590161 +0000 -@@ -3356,7 +3356,7 @@ - coreclr-gcstress: - $(MAKE) -C $(mono_build_root)/acceptance-tests coreclr-gcstress - test-lldb: test-lldb.exe -- python test_lldb.py $(JITTEST_PROG) -+ python2 test_lldb.py $(JITTEST_PROG) - - test-internalsvisibleto: test-runner.exe $(INTERNALSVISIBLETO_TEST) $(INTERNALSVISIBLETO_TESTAOT) $(INTERNALSVISIBLETO_TESTAOT_LIBS) - $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ $(INTERNALSVISIBLETO_TEST) diff --git a/spk/mono/Makefile b/spk/mono/Makefile index a882dfbb1e2..635dffab88c 100644 --- a/spk/mono/Makefile +++ b/spk/mono/Makefile @@ -1,23 +1,20 @@ SPK_NAME = mono -SPK_VERS = 5.20.1.34 -SPK_REV = 19 +SPK_VERS = 6.12.0.182 +SPK_REV = 20 SPK_ICON = src/mono.png -DEPENDS = cross/$(SPK_NAME) - -REQUIRED_MIN_DSM = 5.0 +DEPENDS = cross/mono # Although qoriq can be compiled successfully it won't run as classic floating point unit not available # For details see: https://github.com/SynoCommunity/spksrc/issues/3470#issuecomment-469391052 -UNSUPPORTED_ARCHS = $(PPC_ARCHS) -# Mono versions newer than 5.8.0 have an incompatibility with aarch64 on DSM 6.x (issue #3666) -UNSUPPORTED_ARCHS_TCVERSION = aarch64-6.1 +# ARMv5 does not support the build of BTLS library. +UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) MAINTAINER = hgy59 DESCRIPTION = Cross platform, open source .NET development framework. DISPLAY_NAME = Mono STARTABLE = no -CHANGELOG = "Fix DSM 7 compatibility." +CHANGELOG = "1. Update mono to version 6.12.0.182.
2. Fix BTLS for aarch64 on DSM 6
4. Remove support for ARMv5 (88f628x CPU).
3. Add script to update ca certificates." HOMEPAGE = https://mono-project.com LICENSE = https://www.mono-project.com/docs/faq/licensing @@ -26,7 +23,7 @@ SERVICE_SETUP = src/service-setup.sh POST_STRIP_TARGET = mono_extra_install -MONO_NATIVE_INSTALL = $(realpath $(WORK_DIR)/../../../native/$(SPK_NAME)/work-native/install) +MONO_NATIVE_INSTALL = $(realpath $(WORK_DIR)/../../../native/mono/work-native/install) SPK_COMMANDS = bin/mono bin/mcs bin/gacutil bin/gacutil2 bin/makecert @@ -34,7 +31,8 @@ include ../../mk/spksrc.spk.mk .PHONY: mono_extra_install mono_extra_install: - install -m 755 -d $(STAGING_DIR)/lib $(STAGING_DIR)/etc/mono $(STAGING_DIR)/bin - cp -nR $(MONO_NATIVE_INSTALL)/usr/local/lib $(STAGING_DIR)/ - cp -nR $(MONO_NATIVE_INSTALL)/usr/local/etc/mono $(STAGING_DIR)/etc/ - cp -nR $(MONO_NATIVE_INSTALL)/usr/local/bin $(STAGING_DIR)/ + @install -m 755 -d $(STAGING_DIR)/lib $(STAGING_DIR)/etc/mono $(STAGING_DIR)/bin $(STAGING_DIR)/var + @install -m 755 src/update_ca_certificates.sh $(STAGING_DIR)/var/ + @cp -nR $(MONO_NATIVE_INSTALL)/usr/local/lib $(STAGING_DIR)/ + @cp -nR $(MONO_NATIVE_INSTALL)/usr/local/etc/mono $(STAGING_DIR)/etc/ + @cp -nR $(MONO_NATIVE_INSTALL)/usr/local/bin $(STAGING_DIR)/ diff --git a/spk/mono/src/update_ca_certificates.sh b/spk/mono/src/update_ca_certificates.sh new file mode 100644 index 00000000000..6cdf357ecc5 --- /dev/null +++ b/spk/mono/src/update_ca_certificates.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Sync ca certificates +/var/packages/mono/target/bin/cert-sync /etc/ssl/certs/ca-certificates.crt