From 572069a83cb90b00b066fbc366e8226f7ef7b845 Mon Sep 17 00:00:00 2001 From: m4tt075 Date: Wed, 1 Nov 2017 20:53:01 +0100 Subject: [PATCH] [Mono] Update to latest stable release 5.4.1.6 --- cross/mono/Makefile | 13 +++++++++---- cross/mono/PLIST | 5 ++++- cross/mono/digests | 6 +++--- .../001-add-boringssl-alignas-support.patch | 14 ++++++++++++++ native/mono/Makefile | 6 +++--- spk/mono/Makefile | 13 ++++++++++--- spk/mono/src/installer.sh | 6 ++++++ 7 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 cross/mono/patches/001-add-boringssl-alignas-support.patch diff --git a/cross/mono/Makefile b/cross/mono/Makefile index 778c971eec7..7aed979dfbb 100644 --- a/cross/mono/Makefile +++ b/cross/mono/Makefile @@ -1,11 +1,11 @@ PKG_NAME = mono -PKG_VERS_MAJOR = 4.6.2 -PKG_VERS_MINOR = 7 +PKG_VERS_MAJOR = 5.4.1 +PKG_VERS_MINOR = 6 PKG_VERS = $(PKG_VERS_MAJOR).$(PKG_VERS_MINOR) PKG_EXT = tar.bz2 PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = http://download.mono-project.com/sources/$(PKG_NAME) -PKG_DIR = $(PKG_NAME)-$(PKG_VERS_MAJOR) +PKG_DIST_SITE = https://download.mono-project.com/sources/mono +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = native/$(PKG_NAME) @@ -17,4 +17,9 @@ REQUIRED_DSM = 5.0 UNSUPPORTED_ARCHS = $(PPC_ARCHES) GNU_CONFIGURE = 1 +# force building with BTLS +# needed for platforms compiling with gcc < 4.8 +# patches/001-add-boringssl-alignas-support.patch adds the necessary compatibility +CONFIGURE_ARGS = --enable-btls + include ../../mk/spksrc.cross-cc.mk diff --git a/cross/mono/PLIST b/cross/mono/PLIST index 24deb1a834d..7c67ff8676a 100644 --- a/cross/mono/PLIST +++ b/cross/mono/PLIST @@ -1,5 +1,7 @@ bin:bin/al bin:bin/al2 +bin:bin/csc +bin:bin/csi bin:bin/gacutil bin:bin/gacutil2 bin:bin/ilasm @@ -26,6 +28,7 @@ bin:bin/mono-gdb.py bin:bin/mono-heapviz bin:bin/monop bin:bin/monop2 +bin:bin/mono-package-runtime bin:bin/mono-service bin:bin/mono-service2 bin:bin/mono-sgen @@ -35,7 +38,6 @@ bin:bin/mprof-report bin:bin/nunit-console bin:bin/nunit-console2 bin:bin/nunit-console4 -bin:bin/pedump bin:bin/peverify bin:bin/resgen bin:bin/resgen2 @@ -66,6 +68,7 @@ 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 diff --git a/cross/mono/digests b/cross/mono/digests index 772628ce745..7075003cceb 100644 --- a/cross/mono/digests +++ b/cross/mono/digests @@ -1,3 +1,3 @@ -mono-4.6.2.7.tar.bz2 SHA1 9a1b8852c90fa193db13fb21132659b50e8f2c58 -mono-4.6.2.7.tar.bz2 SHA256 b69ead7db7590277630685f3fcad84a5ac2f83e40563f0dc8cf139b10cbe6b31 -mono-4.6.2.7.tar.bz2 MD5 37ab9cfeaf0ef9e1d44ab0d6f3461511 +mono-5.4.1.6.tar.bz2 SHA1 c55f52e377c6057346bddcf37879862645f6fdc3 +mono-5.4.1.6.tar.bz2 SHA256 bdfda0fe9ad5ce20bb2cf9e9bf28fed40f324141297479824e1f65d97da565df +mono-5.4.1.6.tar.bz2 MD5 05114ed0a2cff26565e4d03de4966034 diff --git a/cross/mono/patches/001-add-boringssl-alignas-support.patch b/cross/mono/patches/001-add-boringssl-alignas-support.patch new file mode 100644 index 00000000000..ecb56cc0978 --- /dev/null +++ b/cross/mono/patches/001-add-boringssl-alignas-support.patch @@ -0,0 +1,14 @@ +--- external/boringssl/crypto/internal.h.orig 2017-11-30 12:17:41.844390358 +0000 ++++ external/boringssl/crypto/internal.h 2017-11-30 12:17:48.627723651 +0000 +@@ -117,7 +117,11 @@ + #define alignas(x) __declspec(align(x)) + #define alignof __alignof + #endif ++#elif defined __GNUC__ && __STDC_VERSION <= 199901L ++// add support for alignas() for GCC versions below 4.8 (no C11 support) ++#define alignas(x) __attribute__ ((aligned (x))) + #else ++// available with the C11 standard + #include + #endif + diff --git a/native/mono/Makefile b/native/mono/Makefile index 6ddad99397c..05cd3edf1ad 100644 --- a/native/mono/Makefile +++ b/native/mono/Makefile @@ -1,11 +1,11 @@ PKG_NAME = mono -PKG_VERS_MAJOR = 4.6.2 -PKG_VERS_MINOR = 7 +PKG_VERS_MAJOR = 5.4.1 +PKG_VERS_MINOR = 6 PKG_VERS = $(PKG_VERS_MAJOR).$(PKG_VERS_MINOR) PKG_EXT = tar.bz2 PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = http://download.mono-project.com/sources/$(PKG_NAME) -PKG_DIR = $(PKG_NAME)-$(PKG_VERS_MAJOR) +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = diff --git a/spk/mono/Makefile b/spk/mono/Makefile index b2ed2581cb4..2371d100761 100644 --- a/spk/mono/Makefile +++ b/spk/mono/Makefile @@ -1,6 +1,6 @@ SPK_NAME = mono -SPK_VERS = 4.6.2.7 -SPK_REV = 8 +SPK_VERS = 5.4.1.6 +SPK_REV = 9 SPK_ICON = src/mono.png BETA = 1 @@ -10,7 +10,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Cross platform, open source .NET development framework DISPLAY_NAME = Mono STARTABLE = no -CHANGELOG = "Update to 4.6.2.7" +CHANGELOG = "Update to 5.4.1.6 (Release)" HOMEPAGE = http://mono-project.com LICENSE = http://www.mono-project.com/docs/faq/licensing @@ -21,6 +21,7 @@ SSS_SCRIPT = src/dsm-control.sh INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = mono_extra_install +PRE_COPY_TARGET = mono_pre_copy BUSYBOX_CONFIG = usrmng ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" @@ -37,3 +38,9 @@ mono_extra_install: cp -nR $(MONO_NATIVE_INSTALL)/usr/local/etc/mono $(STAGING_DIR)/etc/ install -m 755 -d $(STAGING_DIR)/bin cp -nR $(MONO_NATIVE_INSTALL)/usr/local/bin $(STAGING_DIR)/ + +.PHONY: mono_pre_copy +mono_pre_copy: $(INSTALL_PLIST) + # remove boehm GC references from PLIST if it isn't available on the platform (e.g. rtd1296) + test -f $(INSTALL_DIR)$(INSTALL_PREFIX)/bin/mono-boehm || sed -i -e '/:bin\/mono-boehm/d' -e '/:lib\/libmonoboehm/d' $(INSTALL_PLIST) + diff --git a/spk/mono/src/installer.sh b/spk/mono/src/installer.sh index 67d4cde9802..7a2915e593c 100755 --- a/spk/mono/src/installer.sh +++ b/spk/mono/src/installer.sh @@ -22,6 +22,9 @@ postinst () # Correct the files ownership chown -R ${USER}:root ${SYNOPKG_PKGDEST} + # Sync certificate + /var/packages/mono/target/bin/cert-sync /etc/ssl/certs/ca-certificates.crt > /dev/null + exit 0 } @@ -45,5 +48,8 @@ preupgrade () postupgrade () { + # Sync certificate + /var/packages/mono/target/bin/cert-sync /etc/ssl/certs/ca-certificates.crt > /dev/null + exit 0 }