Skip to content

Commit 183aabf

Browse files
authored
mono: update to v6.12.0.182 (SynoCommunity#5677)
* mono: update to v6.12.0.182 - 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 boehm gc - remove ikvm library - add a script to update mono ca certificates after installation * fix build for ARMv5 - enforce build of BTLS library for ARMv5 archs - fixes mono/mono#11422 * fix ffmpeg dependency evaluation in prepare build
1 parent e92794b commit 183aabf

11 files changed

+73
-257
lines changed

.github/actions/prepare.sh

+10-6
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,16 @@ packages=$(printf %s "${SPK_TO_BUILD}" | tr ' ' '\n' | sort -u | tr '\n' ' ')
5757
for i in {4..6}; do
5858
ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_VERSION = ${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')
5959

60-
# If packages are found in the list then ensure
61-
# relevant ffmpeg|ffmpeg5|ffmpeg6 is first in list
62-
# then remove any duplicates from the list
63-
if [ "${ffmpeg_dependent_packages}" != "" ]; then
64-
packages=$(echo "ffmpeg${i} ${packages}" | sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts;s/ */ /g')
65-
fi
60+
# If packages contain a package that depends on ffmpeg (or is ffmpeg), then ensure
61+
# relevant ffmpeg4|ffmpeg5|ffmpeg6 is first in list
62+
for package in ${packages}
63+
do
64+
if [ "$(echo ffmpeg${i} ${ffmpeg_dependent_packages} | grep -ow ${package})" != "" ]; then
65+
packages_without_ffmpeg=$(echo "${packages}" | tr ' ' '\n' | grep -v "ffmpeg${i}" | tr '\n' ' ')
66+
packages="ffmpeg${i} ${packages_without_ffmpeg}"
67+
break
68+
fi
69+
done
6670
done
6771

6872
# find all noarch packages

cross/mono/Makefile

+22-17
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
PKG_NAME = mono
2-
PKG_VERS = 5.20.1.34
3-
PKG_EXT = tar.bz2
2+
PKG_VERS = 6.12.0.182
3+
PKG_EXT = tar.xz
44
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
55
PKG_DIST_SITE = https://download.mono-project.com/sources/mono
66
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
77

8-
BUILD_DEPENDS = native/$(PKG_NAME)
8+
# native/mono must be of the same version
9+
BUILD_DEPENDS = native/mono
910

1011
HOMEPAGE = https://www.mono-project.com
1112
COMMENT = Cross platform, open source .NET development framework.
1213
LICENSE = https://www.mono-project.com/docs/faq/licensing
1314

14-
# Although qoriq can be compiled successfully it won't run as classic floating point unit not available
15+
# Although qoriq can be compiled successfully it won't run as a classic floating point unit is not available
1516
# For details see: https://github.com/SynoCommunity/spksrc/issues/3470#issuecomment-469391052
1617
UNSUPPORTED_ARCHS = $(PPC_ARCHS)
17-
# Mono versions newer than 5.8.0 have an incompatibility with aarch64 on DSM 6.x (issue #3666)
18-
UNSUPPORTED_ARCHS_TCVERSION = aarch64-6.1
1918

2019
PRE_CONFIGURE_TARGET = mono_pre_configure
2120
GNU_CONFIGURE = 1
@@ -27,33 +26,39 @@ CONFIGURE_ARGS = --disable-mcs-build
2726
CONFIGURE_ARGS += --enable-btls
2827
CONFIGURE_ARGS += --disable-dependency-tracking
2928
CONFIGURE_ARGS += --without-mcs-docs
29+
CONFIGURE_ARGS += --disable-boehm
30+
CONFIGURE_ARGS += --without-ikvm-native
31+
# disable some features
32+
CONFIGURE_ARGS += --enable-minimal=profiler
3033

31-
# Optimize compilation for size
32-
ADDITIONAL_CFLAGS = -Os
34+
# Optimize compilation for minimal size
35+
ADDITIONAL_CFLAGS = -Os
3336

34-
include ../../mk/spksrc.cross-cc.mk
37+
include ../../mk/spksrc.common.mk
3538

3639
PLIST_TRANSFORM = cat
3740
ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH))
3841
AG_ARGS = --host=arm-linux
39-
PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d'
42+
# enforce build of BTLS library
43+
CONFIGURE_ARGS += ac_cv_header_stdalign_h=yes
4044
endif
4145
ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH))
4246
AG_ARGS = --host=arm-linux
43-
ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION))
44-
PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d'
45-
endif
4647
endif
4748
ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH))
4849
AG_ARGS = --host=aarch64-linux
49-
PLIST_TRANSFORM = sed -e '/:bin\/mono-boehm/d' -e '/:lib\/libmonoboehm/d'
50+
ifeq ($(call version_lt, ${TCVERSION}, 7.0),1)
51+
# fix for https://github.com/SynoCommunity/spksrc/issues/3666
52+
ADDITIONAL_CFLAGS += -fno-split-wide-types
53+
endif
5054
endif
5155
ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH))
52-
ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION))
53-
PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d'
54-
endif
5556
endif
5657
AG_ARGS += --disable-mcs-build
58+
AG_ARGS += --disable-boehm
59+
AG_ARGS += --without-ikvm-native
60+
61+
include ../../mk/spksrc.cross-cc.mk
5762

5863
.PHONY: mono_pre_configure
5964
mono_pre_configure:

cross/mono/PLIST

+12-32
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
rsc:bin/al
22
rsc:bin/al2
33
rsc:bin/csc
4-
rsc:bin/csc-dim
54
rsc:bin/csi
65
rsc:bin/gacutil
76
rsc:bin/gacutil2
@@ -16,29 +15,24 @@ rsc:bin/mdoc-update
1615
rsc:bin/mdoc-validate
1716
rsc:bin/mdvalidater
1817
rsc:bin/mkbundle
19-
bin:bin/mono
20-
bin:bin/mono-boehm
18+
lnk:bin/mono
2119
rsc:bin/mono-configuration-crypto
22-
bin:bin/monodis
23-
rsc:bin/monodocer
24-
rsc:bin/monodocs2html
25-
rsc:bin/monodocs2slashdoc
2620
rsc:bin/mono-find-provides
2721
rsc:bin/mono-find-requires
2822
rsc:bin/mono-gdb.py
2923
rsc:bin/mono-heapviz
30-
rsc:bin/monop
31-
rsc:bin/monop2
3224
rsc:bin/mono-package-runtime
3325
rsc:bin/mono-service
3426
rsc:bin/mono-service2
3527
bin:bin/mono-sgen
3628
rsc:bin/mono-sgen-gdb.py
3729
rsc:bin/mono-test-install
38-
bin:bin/mprof-report
39-
rsc:bin/nunit-console
40-
rsc:bin/nunit-console2
41-
rsc:bin/nunit-console4
30+
bin:bin/monodis
31+
rsc:bin/monodocer
32+
rsc:bin/monodocs2html
33+
rsc:bin/monodocs2slashdoc
34+
rsc:bin/monop
35+
rsc:bin/monop2
4236
rsc:bin/peverify
4337
rsc:bin/resgen
4438
rsc:bin/resgen2
@@ -63,32 +57,18 @@ rsc:etc/mono/4.5/settings.map
6357
rsc:etc/mono/4.5/web.config
6458
rsc:etc/mono/browscap.ini
6559
rsc:etc/mono/config
66-
lib:lib/libikvm-native.so
60+
lib:lib/libMonoPosixHelper.so
61+
lib:lib/libMonoSupportW.so
6762
lnk:lib/libmono-2.0.so
6863
lnk:lib/libmono-2.0.so.1
6964
lib:lib/libmono-2.0.so.1.0.0
70-
lnk:lib/libmonoboehm-2.0.so
71-
lnk:lib/libmonoboehm-2.0.so.1
72-
lib:lib/libmonoboehm-2.0.so.1.0.0
7365
lib:lib/libmono-btls-shared.so
74-
lib:lib/libMonoPosixHelper.so
75-
lnk:lib/libmono-profiler-aot.so
76-
lnk:lib/libmono-profiler-aot.so.0
77-
lib:lib/libmono-profiler-aot.so.0.0.0
78-
lnk:lib/libmono-profiler-coverage.so
79-
lnk:lib/libmono-profiler-coverage.so.0
80-
lib:lib/libmono-profiler-coverage.so.0.0.0
81-
lnk:lib/libmono-profiler-log.so
82-
lnk:lib/libmono-profiler-log.so.0
83-
lib:lib/libmono-profiler-log.so.0.0.0
84-
lnk:lib/libmonosgen-2.0.so
85-
lnk:lib/libmonosgen-2.0.so.1
86-
lib:lib/libmonosgen-2.0.so.1.0.0
87-
lib:lib/libMonoSupportW.so
8866
lnk:lib/libmono-native.so
8967
lnk:lib/libmono-native.so.0
9068
lib:lib/libmono-native.so.0.0.0
69+
lnk:lib/libmonosgen-2.0.so
70+
lnk:lib/libmonosgen-2.0.so.1
71+
lib:lib/libmonosgen-2.0.so.1.0.0
9172
rsc:lib/mono/lldb/mono.py
9273
rsc:share/mono-2.0/mono/cil/cil-opcodes.xml
9374
rsc:share/mono-2.0/mono/eglib/eglib-config.h
94-
rsc:share/mono-2.0/mono/profiler/mono-profiler-coverage.suppression

cross/mono/digests

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
mono-5.20.1.34.tar.bz2 SHA1 06f6bce0644c87ed132f3f2155a940c3b6fcf8e6
2-
mono-5.20.1.34.tar.bz2 SHA256 cd91d44cf62515796ba90dfdc274bb33471c25a2f1a262689a3bdc0a672b7c8b
3-
mono-5.20.1.34.tar.bz2 MD5 b4af6c8d1f23f19809a5c18d43bac613
1+
mono-6.12.0.182.tar.xz SHA1 c55424b3e2f3a89915941fba1920f1db6a44f7b2
2+
mono-6.12.0.182.tar.xz SHA256 57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424
3+
mono-6.12.0.182.tar.xz MD5 3e7d4c67a03f4edc542c57d2684c9819

cross/mono/patches/002-explicit-use-of-python2.patch

-109
This file was deleted.

native/mono/Makefile

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
PKG_NAME = mono
2-
PKG_VERS = 5.20.1.34
3-
PKG_EXT = tar.bz2
2+
PKG_VERS = 6.12.0.182
3+
PKG_EXT = tar.xz
44
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
5-
PKG_DIST_SITE = https://download.mono-project.com/sources/$(PKG_NAME)
5+
PKG_DIST_SITE = https://download.mono-project.com/sources/mono
66
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
77

88
DEPENDS =
99

1010
HOMEPAGE = https://www.mono-project.com
1111
COMMENT = Cross platform, open source .NET development framework.
12-
LICENSE = https://github.com/mono/mono/blob/master/LICENSE
12+
LICENSE = https://www.mono-project.com/docs/faq/licensing/
1313

1414
GNU_CONFIGURE = 1
1515

1616
CONFIGURE_ARGS = --disable-dependency-tracking
1717
# disable-static does not work without disable-libraries
18-
CONFIGURE_ARGS += --disable-static --disable-libraries
18+
CONFIGURE_ARGS += --disable-static --disable-libraries
1919
CONFIGURE_ARGS += --without-mcs-docs
20+
CONFIGURE_ARGS += --disable-boehm
21+
CONFIGURE_ARGS += --without-ikvm-native
2022

2123
POST_INSTALL_TARGET = mono_native_post_install
2224

native/mono/digests

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
mono-5.20.1.34.tar.bz2 SHA1 06f6bce0644c87ed132f3f2155a940c3b6fcf8e6
2-
mono-5.20.1.34.tar.bz2 SHA256 cd91d44cf62515796ba90dfdc274bb33471c25a2f1a262689a3bdc0a672b7c8b
3-
mono-5.20.1.34.tar.bz2 MD5 b4af6c8d1f23f19809a5c18d43bac613
1+
mono-6.12.0.182.tar.xz SHA1 c55424b3e2f3a89915941fba1920f1db6a44f7b2
2+
mono-6.12.0.182.tar.xz SHA256 57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424
3+
mono-6.12.0.182.tar.xz MD5 3e7d4c67a03f4edc542c57d2684c9819

native/mono/patches/001-relocate-specialfolders.patch

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# adjust location of special folders to match package installed on DSM
2+
#
13
--- ./mcs/class/corlib/System/Environment.cs.orig 2018-02-17 20:23:18.195842002 +0100
24
+++ ./mcs/class/corlib/System/Environment.cs 2018-02-17 20:27:50.300067318 +0100
35
@@ -676,7 +676,7 @@

0 commit comments

Comments
 (0)