aboutsummaryrefslogtreecommitdiff
path: root/lang/mono
diff options
context:
space:
mode:
authorDavid Naylor <dbn@FreeBSD.org>2017-05-13 07:48:27 +0000
committerDavid Naylor <dbn@FreeBSD.org>2017-05-13 07:48:27 +0000
commitd442f875f5958586b9710b3836d0e562ec343895 (patch)
tree49cb02a5345106972d552c46d0d56e85303bd298 /lang/mono
parentf179ad870cbb40a6c4de7cd2564605f96b566057 (diff)
downloadports-d442f875f5958586b9710b3836d0e562ec343895.tar.gz
ports-d442f875f5958586b9710b3836d0e562ec343895.zip
Notes
Diffstat (limited to 'lang/mono')
-rw-r--r--lang/mono/Makefile77
-rw-r--r--lang/mono/distinfo38
-rw-r--r--lang/mono/files/patch-configure.ac19
-rw-r--r--lang/mono/files/patch-mono_utils_mono-compiler.h18
-rw-r--r--lang/mono/files/patch-mono_utils_w32handle.c11
-rw-r--r--lang/mono/files/patch-scripts_mono-heapviz11
-rw-r--r--lang/mono/pkg-plist4
7 files changed, 157 insertions, 21 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index d7e0b0c6b526..8978ea6ec749 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -3,8 +3,8 @@
PORTNAME= mono
PORTVERSION= 4.8.1.0
+PORTREVISION= 1
CATEGORIES= lang
-MASTER_SITES= http://download.mono-project.com/sources/${PORTNAME}/
MAINTAINER= mono@FreeBSD.org
COMMENT= Open source implementation of .NET Development Framework
@@ -15,44 +15,89 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= p5-XML-Parser>=0:textproc/p5-XML-Parser \
bash:shells/bash
LIB_DEPENDS= libinotify.so:devel/libinotify
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow
-USES= bison compiler:c11 cpe gettext gmake iconv libtool pathfix \
- perl5 python:run shebangfix tar:bzip2
+OPTIONS_DEFINE= ACCEPTANCE_TESTS MONOLITE
+OPTIONS_DEFAULT= MONOLITE
+ACCEPTANCE_TESTS_DESC= Download and run the .Net acceptance tests
+ACCEPTANCE_TESTS_DISTFILES=nuget.31.zip:nuget31
+ACCEPTANCE_TESTS_GH_TUPLE=xamarin:benchmarker:97f618c:12/acceptance-tests/external/benchmarker \
+ dotnet:coreclr:c7da48a:13/acceptance-tests/external/coreclr \
+ dotnet:roslyn:322bd5b:14/acceptance-tests/external/roslyn
+ACCEPTANCE_TESTS_MASTER_SITES=https://dotnetci.blob.core.windows.net/roslyn/:nuget31
+ACCEPTANCE_TESTS_TEST_DEPENDS=bash:shells/bash \
+ referenceassemblies-pcl>=4.6:lang/referenceassemblies-pcl
+ACCEPTANCE_TESTS_VARS= SHEBANG_FILES+=${WRKSRC}/acceptance-tests/external/roslyn/cibuild.sh
+MONOLITE_DESC= Use monolite to bootstrap mcs (otherwise use installed mcs)
+MONOLITE_DISTFILES= monolite-${MONOLITE_VERSION}-latest.tar.gz:monolite
+MONOLITE_MASTER_SITES= http://download.mono-project.com/monolite/:monolite
+
+MONOLITE_VERSION= 156
+USE_GITHUB= yes
+GH_TAGNAME= ${PORTNAME}-${PORTVERSION}
+GH_TUPLE= mono:Lucene.Net.Light:85978b7:1/external/Lucene.Net.Light \
+ mono:Newtonsoft.Json:471c3e0:2/external/Newtonsoft.Json \
+ mono:NuGet.BuildTasks:04bdab5:3/external/nuget-buildtasks \
+ mono:aspnetwebstack:e77b12e:4/external/aspnetwebstack \
+ mono:buildtools:9b6ee86:5/external/buildtools \
+ mono:cecil:2b39856:6/external/cecil \
+ mono:cecil:33d50b8:7/external/cecil-legacy \
+ mono:ikdasm:e4deabf:8/external/ikdasm \
+ mono:ikvm-fork:367864e:9/external/ikvm \
+ mono:reference-assemblies:6c77197:10/external/binary-reference-assemblies \
+ mono:rx:b29a4b0:11/external/rx
+
+USES= autoreconf bison compiler:c11 cpe gettext gmake iconv libtool pathfix \
+ perl5 python shebangfix tar:bzip2
USE_GNOME= glib20
USE_PERL5= build
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
-WRKSRC= ${WRKDIR}/mono-${PORTVERSION:R}
SHEBANG_FILES= scripts/mono-heapviz
CONFIGURE_ARGS= --disable-dtrace
CONFIGURE_ENV= ac_cv_header_sys_inotify_h=no
-# Set location for .wapi creation.
-MONO_SHARED_DIR=${WRKDIR}
-
-MAKE_ENV= MONO_SHARED_DIR="${MONO_SHARED_DIR}" \
+MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \
INSTALL_STRIP_FLAG="${STRIP}" \
TZ=UTC
-ONLY_FOR_ARCHS= i386 amd64 powerpc
+TEST_TARGET= check
+TEST_WRKSRC= ${WRKSRC}/mono/tests
+
+ONLY_FOR_ARCHS= i386 amd64 armv6 powerpc
PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d*
+LOCALBASE?= /usr/local
+.if !exists(${LOCALBASE}/bin/mcs)
+OPTIONS_SLAVE= MONOLITE
+.endif
+
+post-extract-MONOLITE-on:
+ ${MKDIR} ${WRKSRC}/mcs/class/lib
+ ${MV} ${WRKDIR}/monolite-${MONOLITE_VERSION}-latest ${WRKSRC}/mcs/class/lib/monolite
+
post-patch:
- @${REINPLACE_CMD} -e 's|^#!/bin/bash|#!/usr/bin/env bash|g' \
+ ${REINPLACE_CMD} -e 's|^#!/bin/bash|#!/usr/bin/env bash|g' \
${WRKSRC}/scripts/mono-find-provides.in \
${WRKSRC}/scripts/mono-find-requires.in \
${WRKSRC}/scripts/mono-test-install
- @${FIND} ${WRKSRC} -name '*.sh' | ${XARGS} ${REINPLACE_CMD} \
+ ${FIND} ${WRKSRC} -name '*.sh' | ${XARGS} ${REINPLACE_CMD} \
-e 's|^#!/bin/bash|#!/bin/sh|g'
- @${REINPLACE_CMD} 's/isinf (1)/isinf (1.0)/g' ${WRKSRC}/configure
+ ${SED} 's/tarball/${PORTVERSION}/' ${WRKSRC}/mono/mini/Makefile.am.in \
+ > ${WRKSRC}/mono/mini/Makefile.am
+
+post-patch-ACCEPTANCE_TESTS-on:
+ ${REINPLACE_CMD} -E -e 's!(~/|/tmp/)!${WRKDIR}/!g' -e '/git clean/d' \
+ ${WRKSRC}/acceptance-tests/external/roslyn/cibuild.sh
+ ${TOUCH} ${WRKDIR}/nuget.31.zip
post-configure:
- @${REINPLACE_CMD} -e 's|share\/man|man|g' \
+ ${REINPLACE_CMD} -e 's|share\/man|man|g' \
${WRKSRC}/mcs/jay/Makefile
-do-test:
- @(cd ${WRKSRC}/mono/tests && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
- ${MAKE_FLAGS} Makefile ${MAKE_ARGS} check)
+do-test-ACCEPTANCE_TESTS-on:
+ @(cd ${WRKSRC}/acceptance-tests; \
+ ${DO_MAKE_TEST} check-full IGNORE_BENCHMARKER_VERSION=1 IGNORE_CORECLR_VERSION=1 IGNORE_ROSLYN_VERSION=1)
.include <bsd.port.mk>
diff --git a/lang/mono/distinfo b/lang/mono/distinfo
index 70b7aec8fac8..60808c2181da 100644
--- a/lang/mono/distinfo
+++ b/lang/mono/distinfo
@@ -1,3 +1,35 @@
-TIMESTAMP = 1493409545
-SHA256 (mono-4.8.1.0.tar.bz2) = 18cb38a670e51609c36c687ed90ad42cfedabeffd0a2dc5f7f0c46249eb8dbef
-SIZE (mono-4.8.1.0.tar.bz2) = 87375499
+TIMESTAMP = 1493632048
+SHA256 (nuget.31.zip) = 727148dcfffdbb13f237e9b99ca4fee56443c7c0e0552c8f7b162e9f484f1e4b
+SIZE (nuget.31.zip) = 315117674
+SHA256 (monolite-156-latest.tar.gz) = 2cdf6cff1d82d76412461a4c8a3616bb2aa1e835fb55479941662dec3799c924
+SIZE (monolite-156-latest.tar.gz) = 4569148
+SHA256 (mono-mono-4.8.1.0-mono-4.8.1.0_GH0.tar.gz) = da32f26922adb29b2cc3341d11e20f754b95f87178578188fd6902c5cfc188e4
+SIZE (mono-mono-4.8.1.0-mono-4.8.1.0_GH0.tar.gz) = 72422583
+SHA256 (mono-Lucene.Net.Light-85978b7_GH0.tar.gz) = 6f9cbad4083c8acf214d86a61fd39585f7d82eeec80c96fc696e07c7006e3a4d
+SIZE (mono-Lucene.Net.Light-85978b7_GH0.tar.gz) = 640188
+SHA256 (mono-Newtonsoft.Json-471c3e0_GH0.tar.gz) = 38b2bc9f2290f780e58fdf1504c0bbdb25a67d7d998c4ec631ecbbf9ddcb3e13
+SIZE (mono-Newtonsoft.Json-471c3e0_GH0.tar.gz) = 1528933
+SHA256 (mono-NuGet.BuildTasks-04bdab5_GH0.tar.gz) = c9d74f01d34689c7235c0c576946de9042d218308c6e93ef59e7079d5605ada0
+SIZE (mono-NuGet.BuildTasks-04bdab5_GH0.tar.gz) = 222548
+SHA256 (mono-aspnetwebstack-e77b12e_GH0.tar.gz) = ae6995a299e815a1165b2011228f7c06e27af41aadddcbf55f51a94dfca38e66
+SIZE (mono-aspnetwebstack-e77b12e_GH0.tar.gz) = 2334980
+SHA256 (mono-buildtools-9b6ee86_GH0.tar.gz) = e4bfcf743fdd4bee05ece298d021d39033d2efde8bc4cd249e6dd37f8f785c3b
+SIZE (mono-buildtools-9b6ee86_GH0.tar.gz) = 475597
+SHA256 (mono-cecil-2b39856_GH0.tar.gz) = e88a1639db3ec8d960708c3996362c96ab573910cb270cee70a810f1c7f53b6c
+SIZE (mono-cecil-2b39856_GH0.tar.gz) = 3247853
+SHA256 (mono-cecil-33d50b8_GH0.tar.gz) = 8c6fc2c915d197df88a0f0bdbf9588b7c8c4d3a695f34053672853d85fcd3b29
+SIZE (mono-cecil-33d50b8_GH0.tar.gz) = 440059
+SHA256 (mono-ikdasm-e4deabf_GH0.tar.gz) = e137cb91cd56433f630cb598e13f185b639bd6399209636a3a0356f270dc9910
+SIZE (mono-ikdasm-e4deabf_GH0.tar.gz) = 227944
+SHA256 (mono-ikvm-fork-367864e_GH0.tar.gz) = 5c4f1a6525846f7eb193d352031d185f1bba9bd7040708625db95f3bb0002bd7
+SIZE (mono-ikvm-fork-367864e_GH0.tar.gz) = 250849
+SHA256 (mono-reference-assemblies-6c77197_GH0.tar.gz) = 4fa51050d8455e5724322efc570b191056a4f54ed8afa72c0e25f9e9d06d5dee
+SIZE (mono-reference-assemblies-6c77197_GH0.tar.gz) = 15899149
+SHA256 (mono-rx-b29a4b0_GH0.tar.gz) = f7022926bcd0bb2e7d7991a0693720aff00c89d8fdf4439d6785a612195f42a6
+SIZE (mono-rx-b29a4b0_GH0.tar.gz) = 13703602
+SHA256 (xamarin-benchmarker-97f618c_GH0.tar.gz) = b55e76e14768b62b1d7dd306a22ae58361ddd640fed1534d2b99235fdcbb5fc6
+SIZE (xamarin-benchmarker-97f618c_GH0.tar.gz) = 95511421
+SHA256 (dotnet-coreclr-c7da48a_GH0.tar.gz) = 8529ce9e9dcc524046205487ca8a8e584d8180c3fecb59bc27944326525d8c83
+SIZE (dotnet-coreclr-c7da48a_GH0.tar.gz) = 31762122
+SHA256 (dotnet-roslyn-322bd5b_GH0.tar.gz) = 9740a0922f2fafa0251f462e7f27cfd6891dc078c22b008c49e11db6637edeea
+SIZE (dotnet-roslyn-322bd5b_GH0.tar.gz) = 22058493
diff --git a/lang/mono/files/patch-configure.ac b/lang/mono/files/patch-configure.ac
new file mode 100644
index 000000000000..ffb9e0557048
--- /dev/null
+++ b/lang/mono/files/patch-configure.ac
@@ -0,0 +1,19 @@
+--- configure.ac.orig 2017-04-12 10:51:18 UTC
++++ configure.ac
+@@ -355,6 +355,7 @@ AC_SUBST(extra_runtime_ldflags)
+ AM_CONDITIONAL(HOST_WIN32, test x$host_win32 = xyes)
+ AM_CONDITIONAL(TARGET_WIN32, test x$target_win32 = xyes)
+ AM_CONDITIONAL(PLATFORM_LINUX, echo x$target_os | grep -q linux)
++AM_CONDITIONAL(PLATFORM_FREEBSD, echo x$target_os | grep -q freebsd)
+ AM_CONDITIONAL(PLATFORM_DARWIN, test x$host_darwin = xyes)
+ AM_CONDITIONAL(PLATFORM_SIGPOSIX, test x$use_sigposix = xyes)
+ AM_CONDITIONAL(PLATFORM_ANDROID, test x$platform_android = xyes)
+@@ -363,7 +364,7 @@ if test -z "$PLATFORM_DARWIN_TRUE"; then
+ PLATFORM_AOT_SUFFIX=.dylib
+ fi
+
+-if test -z "$PLATFORM_LINUX_TRUE"; then :
++if test -z "$PLATFORM_LINUX_TRUE" -o -z "$PLATFORM_FREEBSD_TRUE"; then :
+ PLATFORM_AOT_SUFFIX=.so
+ fi
+
diff --git a/lang/mono/files/patch-mono_utils_mono-compiler.h b/lang/mono/files/patch-mono_utils_mono-compiler.h
new file mode 100644
index 000000000000..a51519c7fd8d
--- /dev/null
+++ b/lang/mono/files/patch-mono_utils_mono-compiler.h
@@ -0,0 +1,18 @@
+--- mono/utils/mono-compiler.h.orig 2017-05-01 17:08:15 UTC
++++ mono/utils/mono-compiler.h
+@@ -54,13 +54,13 @@
+ For now we will disable this. */
+ #define MONO_TLS_FAST
+ #else
+-#define MONO_TLS_FAST __attribute__((tls_model("local-dynamic")))
++#define MONO_TLS_FAST __attribute__((tls_model("local-dynamic"))) __attribute__((visability("hidden")))
+ #endif
+ #endif
+
+ #else
+
+-#define MONO_TLS_FAST __attribute__((tls_model("local-exec")))
++#define MONO_TLS_FAST __attribute__((tls_model("local-exec"))) __attribute__((visability("hidden")))
+
+ #endif
+
diff --git a/lang/mono/files/patch-mono_utils_w32handle.c b/lang/mono/files/patch-mono_utils_w32handle.c
new file mode 100644
index 000000000000..383e5ca8d1b7
--- /dev/null
+++ b/lang/mono/files/patch-mono_utils_w32handle.c
@@ -0,0 +1,11 @@
+--- mono/utils/w32handle.c.orig 2017-05-01 16:30:13 UTC
++++ mono/utils/w32handle.c
+@@ -51,7 +51,7 @@
+
+ #undef DEBUG_REFS
+
+-#define SLOT_MAX (1024 * 16)
++#define SLOT_MAX (1024 * 32)
+
+ /* must be a power of 2 */
+ #define HANDLE_PER_SLOT (256)
diff --git a/lang/mono/files/patch-scripts_mono-heapviz b/lang/mono/files/patch-scripts_mono-heapviz
new file mode 100644
index 000000000000..a204c31721aa
--- /dev/null
+++ b/lang/mono/files/patch-scripts_mono-heapviz
@@ -0,0 +1,11 @@
+--- scripts/mono-heapviz.orig 2017-04-23 06:26:21 UTC
++++ scripts/mono-heapviz
+@@ -7,7 +7,7 @@
+
+ from __future__ import print_function
+ import sys, os
+-import Image, ImageDraw
++from PIL import Image, ImageDraw
+ from xml.sax import ContentHandler, make_parser
+ from xml.sax.handler import feature_namespaces
+ from optparse import OptionParser
diff --git a/lang/mono/pkg-plist b/lang/mono/pkg-plist
index 1b40e05f4bb1..f3a6c507a1ff 100644
--- a/lang/mono/pkg-plist
+++ b/lang/mono/pkg-plist
@@ -1026,10 +1026,10 @@ lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.dll
lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.dll.mdb
lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.dll
lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.dll.mdb
-lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll
-lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll.mdb
lib/mono/gac/Mono.Cecil/0.10.0.0__0738eb9f132ed756/Mono.Cecil.dll
lib/mono/gac/Mono.Cecil/0.10.0.0__0738eb9f132ed756/Mono.Cecil.dll.mdb
+lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll
+lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll.mdb
lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.dll
lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.dll.mdb
lib/mono/gac/Mono.CompilerServices.SymbolWriter/4.0.0.0__0738eb9f132ed756/Mono.CompilerServices.SymbolWriter.dll