Skip to content

Commit

Permalink
mono: update to v6.12.0.182
Browse files Browse the repository at this point in the history
- update mono
- fix BTLS library for aarch64 built with gcc 4 (SynoCommunity#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
  • Loading branch information
hgy59 committed Mar 26, 2023
1 parent 53126aa commit 3438169
Show file tree
Hide file tree
Showing 10 changed files with 63 additions and 249 deletions.
34 changes: 20 additions & 14 deletions 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
Expand All @@ -27,33 +29,37 @@ 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

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:
Expand Down
44 changes: 12 additions & 32 deletions 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
Expand All @@ -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
Expand All @@ -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
6 changes: 3 additions & 3 deletions 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
109 changes: 0 additions & 109 deletions cross/mono/patches/002-explicit-use-of-python2.patch

This file was deleted.

12 changes: 7 additions & 5 deletions 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

Expand Down
6 changes: 3 additions & 3 deletions 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
2 changes: 2 additions & 0 deletions 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 @@
Expand Down
69 changes: 0 additions & 69 deletions native/mono/patches/002-explicit-use-of-python2.patch

This file was deleted.

0 comments on commit 3438169

Please sign in to comment.