diff options
author | dbn <dbn@FreeBSD.org> | 2016-10-14 15:35:51 +0000 |
---|---|---|
committer | dbn <dbn@FreeBSD.org> | 2016-10-14 15:35:51 +0000 |
commit | f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e (patch) | |
tree | 5e6958575f101378be873ac593ce04c3ab884baf | |
parent | 0faf102047abc1a224423fd973fec943192f4580 (diff) | |
download | FreeBSD-ports-f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e.zip FreeBSD-ports-f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e.tar.gz |
lang/fsharp: fix build, add test support.
- Use license file from source
- Depend on PCL reference assemblies
- Download and extract nuget packages
- Mark the port as MAKE_JOBS_UNSAFE (it always run -j1)
- Mark the port as architecture agnostic (intepreted by mono)
- Add test support
PR: 213405
-rw-r--r-- | lang/fsharp/Makefile | 53 | ||||
-rw-r--r-- | lang/fsharp/distinfo | 18 |
2 files changed, 68 insertions, 3 deletions
diff --git a/lang/fsharp/Makefile b/lang/fsharp/Makefile index 834fc99..088baef 100644 --- a/lang/fsharp/Makefile +++ b/lang/fsharp/Makefile @@ -4,20 +4,69 @@ PORTNAME= fsharp PORTVERSION= 4.0.1.10 CATEGORIES= lang +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= mono@FreeBSD.org COMMENT= Functional and object-oriented language for the .NET platform LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= mono>=3.0:lang/mono +BUILD_DEPENDS= mono>=3.0:lang/mono \ + referenceassemblies-pcl>=4.6-1:lang/referenceassemblies-pcl RUN_DEPENDS= mono>=3.0:lang/mono -NO_PACKAGE= The build process downloads external dependencies we cannot provide through ports +NUGET_DEPENDS= FSharp.Compiler.Tools-4.0.1.3 \ + FSharp.Data-2.2.5 \ + FSharp.SRGen.Build.Tasks-3.0.0 \ + fssrgen-3.0.0 \ + Microsoft.DiaSymReader-1.0.8 \ + Microsoft.DiaSymReader.PortablePdb-1.1.0 \ + System.Collections.Immutable-1.2.0 \ + System.Reflection.Metadata-1.4.1-beta-24227-04 USE_GITHUB= yes USES= autoreconf gmake mono pkgconfig GNU_CONFIGURE= yes +MAKE_JOBS_UNSAFE= Build not parallelizable +NO_ARCH= yes + +NUGET_PACKAGEDIR= ${WRKSRC}/packages + +.for depend in ${NUGET_DEPENDS} +id= ${depend:C/-.*$//} +version= ${depend:S/${id}-//} +group= nuget_${id:S/.//g} +nupkg= ${id:tl}.${version}.nupkg +DISTFILES_${group}:= ${nupkg}:${group} +MASTER_SITES_${group}:= https://www.nuget.org/api/v2/package/${id}/${version}?dummy=/:${group} +NUGET_NUPKGS_${group}:= ${nupkg}:${id}-${version} + +DISTFILES+= ${DISTFILES_nuget_${depend:C/-.*$//:S/.//g}} +MASTER_SITES+= ${MASTER_SITES_nuget_${depend:C/-.*$//:S/.//g}} +NUGET_NUPKGS+= ${NUGET_NUPKGS_nuget_${depend:C/-.*$//:S/.//g}} +.endfor + +post-extract: +.for nupkg in ${NUGET_NUPKGS} + @${MKDIR} ${NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S/-/./} + @tar -xf ${DISTDIR}/${nupkg:C/:.*$//} -C ${NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S/-/./} \ + -s/%2B/\+/g \ + --exclude '\[Content_Types\].xml' \ + --exclude package/ \ + --exclude _rels/ +.endfor + +do-test: + ${MKDIR} ${WRKDIR}/bin + echo "#!/bin/sh" > ${WRKDIR}/bin/fsharpc + echo 'exec ${LOCALBASE}/bin/mono ${WRKSRC}/lib/release/fsc.exe "$$@"' >> ${WRKDIR}/bin/fsharpc + ${CHMOD} 0755 ${WRKDIR}/bin/fsharpc + (cd ${WRKSRC}/tests/fsharp/core; \ + ${ENV} \ + PATH=${WRKDIR}/bin:${PATH} \ + MONO_PATH=${WRKSRC}/lib/release \ + ./run-all.sh) .include <bsd.port.mk> diff --git a/lang/fsharp/distinfo b/lang/fsharp/distinfo index a7d8f68..004836e 100644 --- a/lang/fsharp/distinfo +++ b/lang/fsharp/distinfo @@ -1,3 +1,19 @@ -TIMESTAMP = 1470483636 +TIMESTAMP = 1476128531 +SHA256 (fsharp.compiler.tools.4.0.1.3.nupkg) = 98a8792f59f4c9aa7ea02ab96644b71cf5dfe06d51fde0db1b0fe8373bee1ee4 +SIZE (fsharp.compiler.tools.4.0.1.3.nupkg) = 6323760 +SHA256 (fsharp.data.2.2.5.nupkg) = 449cba49c2567b0b1f27d39c0aaaab73607893072809a81563598b06e63234b1 +SIZE (fsharp.data.2.2.5.nupkg) = 2542684 +SHA256 (fsharp.srgen.build.tasks.3.0.0.nupkg) = dc368423704dbfd02659452535e1a270e75c75fb066a4b47b7e0c2442ea77c00 +SIZE (fsharp.srgen.build.tasks.3.0.0.nupkg) = 457178 +SHA256 (fssrgen.3.0.0.nupkg) = 81c6ef8556fada34f184195903200977c3174329be5caa472bcf0c1ef2d6a7e4 +SIZE (fssrgen.3.0.0.nupkg) = 465727 +SHA256 (microsoft.diasymreader.1.0.8.nupkg) = 9cb62775ad29c64f904c11d5d133356e9bebc3bd572de6be45a75d8d283f661c +SIZE (microsoft.diasymreader.1.0.8.nupkg) = 54176 +SHA256 (microsoft.diasymreader.portablepdb.1.1.0.nupkg) = a080613ea0dc09436e843de1189601df55fc7339b460d8697a4bdbbe219e0b6c +SIZE (microsoft.diasymreader.portablepdb.1.1.0.nupkg) = 140778 +SHA256 (system.collections.immutable.1.2.0.nupkg) = 7c9eec8208414eebce34f3af5c946f2911e74fd906738f058114d341f0df91fb +SIZE (system.collections.immutable.1.2.0.nupkg) = 300738 +SHA256 (system.reflection.metadata.1.4.1-beta-24227-04.nupkg) = 0f077b4184d04f7db02e41169b9471e7c630c7dc873398f12eaf70b7a00a7993 +SIZE (system.reflection.metadata.1.4.1-beta-24227-04.nupkg) = 435719 SHA256 (fsharp-fsharp-4.0.1.10_GH0.tar.gz) = 04659c8b89fc414fd6b5a8bf7842e187a3484abd4d858710339ee122219aa91b SIZE (fsharp-fsharp-4.0.1.10_GH0.tar.gz) = 37296094 |