freebsd-ports/lang/mono/Makefile
David Naylor d442f875f5 Update mono and related ports
USES=mono: minor fixes
 - save a copy of the nuget package in the packages directory
 - force linking of directories, allowing nuget-extract to be rerun
   without `make clean`
 - fix makenuget: nuget requires an equals to identify the version, not a dash

devel/monodevelop: update to 6.2.1.3
 - update nuget packages:
   - link older System.Collection.Immutable 1.1.37 to newer 1.3.1 (used
     by C# and F# respectively)
 - update external github repositories
 - allow post-extract target to be run multiple times
 - change MonoDevelop.Packaging to use a newer version of
   NuGet.Build.Packaging (the older version is no longer fetchable)
 - remove patch integrated upstream
 - moved `nuget restore` patching from post-patch into a patch file (the
   former broke silently)
 - ChangeLog:
   - https://developer.xamarin.com/releases/studio/xamarin.studio_6.2/xamarin.studio_6.2/

irc/smartirc4net: update to 1.1
 - add LICENSE

lang/fsharp: update to 4.1.18
 - add test dependency on libgdiplus
 - update nuget packages
 - update test paths for fsharp assemblies
 - update patches to prevent `nuget restore` from running
 - ChangeLog:
   - Set executable bit correctly on output
   - Integrate visualfsharp
   - Fix regression on binding redirects for System.Collections.Immutable
   - Fix regression in Microsoft.Build.FSharp.targets
   - Fix binding redirects for System.Collections.Immutable
   - Fix version of library going in %PREFIX/lib/mono/fsharp
   - Align fsc task and target file
   - Use install layout that includes mono/fsharp
   - Fix F# Intereactive on Mono 4.9+
   - Update compiler tools
   - Updates to FSharp.Core nuget package for F# 4.1
   - Fix #656: error FS0193: internal error: No access to the given key

lang/mono: various fixes
 - fix linking with lld [1]
 - double maximum handle size [2]
 - add option to run acceptance tests
 - allow for optional bootstrapping of mono via either installed mcs (if
   available) or via downloaded "monolite" (default)
 - add python and py-pillow as dependencies for bin/mono-heapviz
 - add armv6 as a supported architecture (untested)
 - switch to github for source code:
   - official tarball does not include tests
 - patches:
   - recognise FreeBSD for AOT suffix
   - change mono-heapviz to use pillow instead of PIL

multimedia/banshee: tell portscout to ignore this port
 - Portscout was not skipping the 2.9.1 version, and upstream appears to be
   quiet for the last few years.

x11-toolkits/gtk-sharp20: update to 2.12.43
 - ChangeLog:
   - fix compilation on mono-4.8.0 (incorrect use of sizeof())
   - correctly set owned=true on custom constructors

PR:		218885 [1]
PR:		200937 [2]
2017-05-13 07:48:27 +00:00

103 lines
3.6 KiB
Makefile

# Created by: Yukihiro Nakai <nakai@FreeBSD.org>
# $FreeBSD$
PORTNAME= mono
PORTVERSION= 4.8.1.0
PORTREVISION= 1
CATEGORIES= lang
MAINTAINER= mono@FreeBSD.org
COMMENT= Open source implementation of .NET Development Framework
LICENSE= MIT
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
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
SHEBANG_FILES= scripts/mono-heapviz
CONFIGURE_ARGS= --disable-dtrace
CONFIGURE_ENV= ac_cv_header_sys_inotify_h=no
MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \
INSTALL_STRIP_FLAG="${STRIP}" \
TZ=UTC
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' \
${WRKSRC}/scripts/mono-find-provides.in \
${WRKSRC}/scripts/mono-find-requires.in \
${WRKSRC}/scripts/mono-test-install
${FIND} ${WRKSRC} -name '*.sh' | ${XARGS} ${REINPLACE_CMD} \
-e 's|^#!/bin/bash|#!/bin/sh|g'
${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' \
${WRKSRC}/mcs/jay/Makefile
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>