aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordbn <dbn@FreeBSD.org>2016-10-14 23:35:51 +0800
committerdbn <dbn@FreeBSD.org>2016-10-14 23:35:51 +0800
commitf8e5ce0c7befe8c17a6c34333059d19dc5cbf48e (patch)
tree5e6958575f101378be873ac593ce04c3ab884baf
parent0faf102047abc1a224423fd973fec943192f4580 (diff)
downloadfreebsd-ports-gnome-f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e.tar.gz
freebsd-ports-gnome-f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e.tar.zst
freebsd-ports-gnome-f8e5ce0c7befe8c17a6c34333059d19dc5cbf48e.zip
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/Makefile53
-rw-r--r--lang/fsharp/distinfo18
2 files changed, 68 insertions, 3 deletions
diff --git a/lang/fsharp/Makefile b/lang/fsharp/Makefile
index 834fc999cd47..088baef33b82 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 a7d8f68e0370..004836ed7cb1 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