ports/176018: [patch] Update lang/fsharp to F# 3.0.25
Jack Pappas
jack.pappas at tidepowerd.com
Sun Feb 10 21:20:01 UTC 2013
>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 at 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 at FreeBSD.org
+MAINTAINER= mono at 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$
- at unexec gacutil -u FSharp.Compiler
- at unexec gacutil -u FSharp.Core
- at 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
- at dirrm %%SUBDIR%%/bin/gac
- at dirrm %%SUBDIR%%/bin
- at dirrm %%SUBDIR%%
+ at comment The gacutil included in Mono 3.0.3 has a bug which causes it to crash when uninstalling .exe assemblies from the GAC.
+ at comment So for now, we just delete those assemblies and directories "manually".
+ at unexec gacutil -u policy.4.3.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at unexec gacutil -u policy.2.3.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at unexec gacutil -u policy.4.0.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at unexec gacutil -u policy.2.0.FSharp.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at ignore
+ at unexec gacutil -u fsiAnyCpu,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at ignore
+ at unexec gacutil -u fsi,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Compiler.Server.Shared,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Compiler.Interactive.Settings,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at ignore
+ at unexec gacutil -u fsc,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Compiler,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Build,Version=4.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Build,Version=2.3.0.0,Culture=neutral,PublicKeyToken=f536804aa0eb945b
+ at unexec gacutil -u FSharp.Core,Version=4.3.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at unexec gacutil -u FSharp.Core,Version=2.3.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
+ at 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
+ at comment Remove the lines below this once gacutil is fixed.
+lib/mono/gac/fsc/4.3.0.0__f536804aa0eb945b/fsc.exe
+ at rmdir lib/mono/gac/fsc/4.3.0.0__f536804aa0eb945b
+ at rmdir lib/mono/gac/fsc
+lib/mono/gac/fsi/4.3.0.0__f536804aa0eb945b/fsi.exe
+ at rmdir lib/mono/gac/fsi/4.3.0.0__f536804aa0eb945b
+ at rmdir lib/mono/gac/fsi
+lib/mono/gac/fsiAnyCpu/4.3.0.0__f536804aa0eb945b/fsiAnyCpu.exe
+ at rmdir lib/mono/gac/fsiAnyCpu/4.3.0.0__f536804aa0eb945b
+ at rmdir lib/mono/gac/fsiAnyCpu
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list