Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2013 21:13:05 GMT
From:      Jack Pappas <jack.pappas@tidepowerd.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/176018: [patch] Update lang/fsharp to F# 3.0.25
Message-ID:  <201302102113.r1ALD5Za014651@red.freebsd.org>
Resent-Message-ID: <201302102120.r1ALK1ks020443@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         176018
>Category:       ports
>Synopsis:       [patch] Update lang/fsharp to F# 3.0.25
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 10 21:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Jack Pappas
>Release:        9.1-STABLE
>Organization:
>Environment:
FreeBSD jack-bsd 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r245748M: Mon Jan 21 20:56:47 EST 2013     root@jack-bsd:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
I've updated the lang/fsharp port to the most recent version of F#. This version of F# is licensed under Apache 2.0, and it's now built from sources (pulled automatically from GitHub) instead of using pre-compiled binaries.
>How-To-Repeat:

>Fix:
The supplied patch updates the port files for lang/fsharp to F# 3.0.25.

NOTE: This patch contains one new file (files/patch-configure.ac) which will need to be created with 'svn add'.

Patch attached with submission follows:

Index: Makefile
===================================================================
--- Makefile	(revision 312035)
+++ Makefile	(working copy)
@@ -6,65 +6,24 @@
 #
 
 PORTNAME=	fsharp
-PORTVERSION=	1.9.6.16
-PORTREVISION=	4
+PORTVERSION=	3.0.25
 CATEGORIES=	lang
-MASTER_SITES=	http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/
-DISTNAME=	fsharp
+MASTER_SITES=	https://nodeload.github.com/fsharp/fsharp/tar.gz/ \
+		CRITICAL
+DISTFILES=	${PORTVERSION}
 
-MAINTAINER=	pgj@FreeBSD.org
+MAINTAINER=	mono@FreeBSD.org
 COMMENT=	Functional and object-oriented language for the .NET platform
+LICENSE=	AL2
 
-BUILD_DEPENDS=	mono>=2:${PORTSDIR}/lang/mono\
-		${LOCALBASE}/lib/libgdiplus.a:${PORTSDIR}/x11-toolkits/libgdiplus
-RUN_DEPENDS=	mono>=2:${PORTSDIR}/lang/mono\
-		${LOCALBASE}/lib/libgdiplus.a:${PORTSDIR}/x11-toolkits/libgdiplus
+BUILD_DEPENDS=	mono>=3.0:${PORTSDIR}/lang/mono
+RUN_DEPENDS=	mono>=3.0:${PORTSDIR}/lang/mono
 
-PORTDIR=	lib/${PORTNAME}-${PORTVERSION}
-PORTDOCS=	LICENSE-fsharp.txt README-fsharp.html doc manual
-PORTDATA=	lib source
+USE_GMAKE= yes
+USE_AUTOTOOLS= autoconf
+USE_PKGCONFIG= build
 
-PLIST_SUB=	SUBDIR=${PORTDIR}
-.if !defined(NOPORTDOCS)
-PLIST_SUB+=	RMLIC="@comment "
-.else
-PLIST_SUB+=	RMLIC=""
-.endif
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
 
-WRKSRC=	${WRKDIR}/FSharp-${PORTVERSION}
-USE_ZIP=	yes
-RESTRICTED=	Microsoft Research Shared Source License Agreement
-
-AOT=		Core Compiler PowerPack
-WRAPPERS=	fsc fsi fslex fsyacc
-
-post-extract:
-.for wrapper in ${WRAPPERS}
-	@(${ECHO} '#!${SH}' > ${WRKDIR}/${wrapper})
-	@(${ECHO} '${LOCALBASE}/bin/mono ${PREFIX}/${PORTDIR}/bin/${wrapper}.exe $$*' >> ${WRKDIR}/${wrapper})
-.endfor
-
-do-build:
-
-do-install:
-.for asm in ${AOT}
-	@ ${GACUTIL_INSTALL} ${WRKSRC}/bin/FSharp.${asm}.dll
-.endfor
-	@ ${MKDIR} ${PREFIX}/${PORTDIR} ${PREFIX}/${PORTDIR}/bin ${DOCSDIR}
-	@ (cd ${WRKSRC} && ${COPYTREE_SHARE} "bin" ${PREFIX}/${PORTDIR}/)
-	@ ${INSTALL_DATA} ${WRKSRC}/LICENSE-fsharp.txt ${DOCSDIR}/
-.if !defined(NOPORTDOCS)
-	@ ${MKDIR} ${DOCSDIR}/doc ${DOCSDIR}/manual
-	@ (cd ${WRKSRC} && ${COPYTREE_SHARE} "doc manual" ${DOCSDIR}/)
-	@ ${INSTALL_DATA} ${WRKSRC}/README-fsharp.html ${DOCSDIR}/
-.endif
-.if !defined(NOPORTDATA)
-	@ ${MKDIR} ${DATADIR} ${DATADIR}/lib ${DATADIR}/source
-	@ (cd ${WRKSRC} && ${COPYTREE_SHARE} "lib source" ${DATADIR}/)
-.endif
-.for wrapper in ${WRAPPERS}
-	@ ${INSTALL_SCRIPT} ${WRKDIR}/${wrapper} ${PREFIX}/bin/
-.endfor
-
 .include "${.CURDIR}/../../lang/mono/bsd.mono.mk"
 .include <bsd.port.mk>
Index: distinfo
===================================================================
--- distinfo	(revision 312035)
+++ distinfo	(working copy)
@@ -1,2 +1,2 @@
-SHA256 (fsharp.zip) = 29c0691879a79ac84059d8a615508da4c7da27908e6bdbf5e3d85b53635b20a4
-SIZE (fsharp.zip) = 21226155
+SHA256 (3.0.25) = 1252ada65996f80d31e1bcc5c6718015ec5172c40288429d7dd2d2656ed4b7f0
+SIZE (3.0.25) = 10693900
Index: files/patch-configure.ac
===================================================================
--- files/patch-configure.ac	(revision 0)
+++ files/patch-configure.ac	(working copy)
@@ -0,0 +1,20 @@
+--- ./configure.ac.orig	2013-01-22 19:39:23.000000000 -0500
++++ ./configure.ac	2013-01-22 19:40:23.000000000 -0500
+@@ -12,17 +12,6 @@
+         AC_MSG_ERROR([You need to install pkg-config])
+ fi
+ 
+-MONO_REQUIRED_VERSION=2.9
+-MONO_RECOMMENDED_VERSION=3.0
+-
+-if ! pkg-config --atleast-version=$MONO_REQUIRED_VERSION mono; then
+-	AC_MSG_ERROR("You need mono $MONO_REQUIRED_VERSION")
+-fi
+-
+-if ! pkg-config --atleast-version=$MONO_RECOMMENDED_VERSION mono; then
+-	AC_MSG_WARN([Mono $MONO_RECOMMENDED_VERSION or higher is recommended, for better MSBuild (xbuild) compatibility])
+-fi
+-
+ AC_PATH_PROG(MONO_SGEN, mono-sgen, no)
+ 
+ # Checks for libraries.
Index: pkg-descr
===================================================================
--- pkg-descr	(revision 312035)
+++ pkg-descr	(working copy)
@@ -1,18 +1,15 @@
-F# developed as a research programming language to provide the much
-sought-after combination of type safety, succinctness, performance,
-expressivity and scripting, with all the advantages of running on a
-high-quality, well-supported modern runtime system.  This combination
-has been so successful that the language is now being transitioned
-towards a fully supported language on the .NET platform.
+F# is an open-source, strongly typed, multi-paradigm programming language
+encompassing functional, imperative and object-oriented programming techniques.
+F# is most often used as a cross-platform CLI language, but can also be used
+to generate JavaScript and GPU code.
 
-F# was developed as a pragmatically-oriented variant of ML that shares a
-core language with OCaml.  Unlike other scripting languages it executes
-at or near the speed of C# and C++, making use of the performance that
-comes through strong typing.  Unlike many type-inferred,
-statically-typed languages it also supports many dynamic language
-techniques, such as property discovery and reflection where needed.  F#
-includes extensions for working across languages and for object-oriented
-programming, and it works seamlessly with other .NET programming
-languages and tools.
+F# is developed by The F# Software Foundation and Microsoft. An open source,
+cross-platform edition of F# is available from the F#  Software Foundation.
+F# is also a fully supported language in Visual Studio. Other tools supporting
+F# development include Mono, MonoDevelop, SharpDevelop and the WebSharper
+tools for JavaScript and HTML5 web programming.
 
-WWW: http://research.microsoft.com/fsharp/fsharp.aspx
+F# originated as a variant of ML and has been influenced by OCaml, C#, Python,
+Haskell, Scala and Erlang.
+
+WWW: http://fsharp.org
Index: pkg-plist
===================================================================
--- pkg-plist	(revision 312035)
+++ pkg-plist	(working copy)
@@ -1,89 +1,37 @@
 @comment $FreeBSD$
-@unexec gacutil -u FSharp.Compiler
-@unexec gacutil -u FSharp.Core
-@unexec gacutil -u FSharp.PowerPack
-bin/fsi
-bin/fsc
-bin/fslex
-bin/fsyacc
-%%RMLIC%%%%DOCSDIR%%/LICENSE-fsharp.txt
-%%RMLIC%%@dirrm %%DOCSDIR%%
-%%SUBDIR%%/bin/FSharp.Build.dll
-%%SUBDIR%%/bin/FSharp.Compiler.CodeDom.dll
-%%SUBDIR%%/bin/FSharp.Compiler.CodeDom.xml
-%%SUBDIR%%/bin/FSharp.Compiler.Interactive.Settings.dll
-%%SUBDIR%%/bin/FSharp.Compiler.Server.Shared.dll
-%%SUBDIR%%/bin/FSharp.Compiler.dll
-%%SUBDIR%%/bin/FSharp.Core.dll
-%%SUBDIR%%/bin/FSharp.Core.pdb
-%%SUBDIR%%/bin/FSharp.Core.xml
-%%SUBDIR%%/bin/FSharp.LanguageService.dll
-%%SUBDIR%%/bin/FSharp.LanguageService.Base.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Build.Tasks.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Build.Tasks.pdb
-%%SUBDIR%%/bin/FSharp.PowerPack.Build.Tasks.xml
-%%SUBDIR%%/bin/FSharp.PowerPack.Linq.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Linq.pdb
-%%SUBDIR%%/bin/FSharp.PowerPack.Linq.xml
-%%SUBDIR%%/bin/FSharp.PowerPack.Math.Providers.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Metadata.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Metadata.pdb
-%%SUBDIR%%/bin/FSharp.PowerPack.Metadata.xml
-%%SUBDIR%%/bin/FSharp.PowerPack.Plot.Excel.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Plot.Neutral.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Plot.XCeed.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.Plot.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.dll
-%%SUBDIR%%/bin/FSharp.PowerPack.pdb
-%%SUBDIR%%/bin/FSharp.PowerPack.targets
-%%SUBDIR%%/bin/FSharp.PowerPack.xml
-%%SUBDIR%%/bin/FSharp.ProjectSystem.Base.dll
-%%SUBDIR%%/bin/FSharp.ProjectSystem.FSharp.dll
-%%SUBDIR%%/bin/FSharp.ProjectSystem.PropertyPages.dll
-%%SUBDIR%%/bin/FSharp.VS.FSI.dll
-%%SUBDIR%%/bin/Microsoft.FSharp.targets
-%%SUBDIR%%/bin/fsc.exe
-%%SUBDIR%%/bin/fsi.exe
-%%SUBDIR%%/bin/fslex.exe
-%%SUBDIR%%/bin/fsyacc.exe
-%%SUBDIR%%/bin/gac/FSharp.Compiler.CodeDom.dll
-%%SUBDIR%%/bin/gac/FSharp.Compiler.CodeDom.pdb
-%%SUBDIR%%/bin/gac/FSharp.Compiler.CodeDom.xml
-%%SUBDIR%%/bin/gac/FSharp.Compiler.Server.Shared.dll
-%%SUBDIR%%/bin/gac/FSharp.Compiler.dll
-%%SUBDIR%%/bin/gac/FSharp.Core.dll
-%%SUBDIR%%/bin/gac/FSharp.Core.pdb
-%%SUBDIR%%/bin/gac/FSharp.Core.xml
-%%SUBDIR%%/bin/gac/FSharp.LanguageService.dll
-%%SUBDIR%%/bin/gac/FSharp.LanguageService.Base.dll
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Build.Tasks.dll
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Build.Tasks.pdb
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Build.Tasks.xml
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Linq.dll
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Linq.pdb
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Linq.xml
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Metadata.dll
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Metadata.pdb
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.Metadata.xml
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.dll
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.pdb
-%%SUBDIR%%/bin/gac/FSharp.PowerPack.xml
-%%SUBDIR%%/bin/gac/FSharp.ProjectSystem.Base.dll
-%%SUBDIR%%/bin/gac/FSharp.ProjectSystem.FSharp.dll
-%%SUBDIR%%/bin/gac/FSharp.ProjectSystem.PropertyPages.dll
-%%SUBDIR%%/bin/gac/FSharp.VS.FSI.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.Compiler.CodeDom.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.Compiler.CodeDom.dll.config
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.Core.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.Core.dll.config
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Build.Tasks.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Build.Tasks.dll.config
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Linq.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Linq.dll.config
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Metadata.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.Metadata.dll.config
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.dll
-%%SUBDIR%%/bin/gac/policy.1.9.FSharp.PowerPack.dll.config
-@dirrm %%SUBDIR%%/bin/gac
-@dirrm %%SUBDIR%%/bin
-@dirrm %%SUBDIR%%
+@comment The gacutil included in Mono 3.0.3 has a bug which causes it to crash when uninstalling .exe assemblies from the GAC.
+@comment So for now, we just delete those assemblies and directories "manually".
+@unexec gacutil -u policy.4.3.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@unexec gacutil -u policy.2.3.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@unexec gacutil -u policy.4.0.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@unexec gacutil -u policy.2.0.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@ignore
+@unexec gacutil -u fsiAnyCpu,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@ignore
+@unexec gacutil -u fsi,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Compiler.Server.Shared,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Compiler.Interactive.Settings,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@ignore
+@unexec gacutil -u fsc,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Compiler,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Build,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Build,Version=2.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+@unexec gacutil -u FSharp.Core,Version=4.3.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@unexec gacutil -u FSharp.Core,Version=2.3.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+@unexec gacutil -u FSharp.Core,Version=2.3.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+bin/fsharpc
+bin/fsharpi
+bin/fsharpiAnyCpu
+lib/mono/4.0/fsc.exe 
+lib/mono/4.0/fsi.exe
+lib/mono/4.0/fsiAnyCpu.exe
+@comment Remove the lines below this once gacutil is fixed. 
+lib/mono/gac/fsc/4.3.0.0__f536804aa0eb945b/fsc.exe
+@rmdir lib/mono/gac/fsc/4.3.0.0__f536804aa0eb945b
+@rmdir lib/mono/gac/fsc 
+lib/mono/gac/fsi/4.3.0.0__f536804aa0eb945b/fsi.exe
+@rmdir lib/mono/gac/fsi/4.3.0.0__f536804aa0eb945b
+@rmdir lib/mono/gac/fsi 
+lib/mono/gac/fsiAnyCpu/4.3.0.0__f536804aa0eb945b/fsiAnyCpu.exe
+@rmdir lib/mono/gac/fsiAnyCpu/4.3.0.0__f536804aa0eb945b
+@rmdir lib/mono/gac/fsiAnyCpu


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302102113.r1ALD5Za014651>