fsharpFunctional and object-oriented language for the .NET platform
10.2.1_2langΣ=1 10.2.1_2Version of this port present on the latest quarterly branch.upstream: 10.2.3A newer version was found upstream by portscout, first on 2026-06-20.
There is no maintainer for this port.
Any concerns regarding this port should be directed to the FreeBSD Ports mailing list via ports@FreeBSD.org
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# 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.
F# originated as a variant of ML and has been influenced by OCaml, C#,
Python, Haskell, Scala and Erlang.
lang/mono*: add compat symlink for devel/msbuild < 16
/usr/local/lib/mono/msbuild/15.0/bin/Microsoft.CSharp.CurrentVersion.targets(331,5):
error MSB4019: The imported project
"/usr/local/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.CSharp.Core.targets" was
not found. Confirm that the path in the <Import> declaration is correct, and
that the file exists on disk.
PR: 256342
Suggested by: Marcin Cieślak
Regressed by: https://github.com/mono/mono/commit/1717687e16dd
*/*: return mono@ ports to the pool
The team previously known as mono has no active members.
I will send an email to ports@ in case anyone wants to pick up these
ports.
Approved by: portmgr (bofh)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Mark various ports as BROKEN with Mono 5.20, and, in some other cases,
Mono 6.8.
PR: 238089
Submitted by: cem
Obtained from: lonesome.com build regression testing
lang/fsharp: update to 10.0.2
- add msbuild as build dependency (xbuild is no longer used)
- remove redundant mono dependency (now provided via USES)
- move nuget dependencies out to `nupkg-nuget` due to length
Differential Revision: https://reviews.freebsd.org/D16069
lang/mono: update to version 5.2.0.215 (and enhance USES=mono)
Highlights:
- New Roslyn compiler for C# available
- Improved support for nuget packages in USES=mono
General:
- fix pkg-plist: mono now produces '.pdb' debug files instead of '.mdb'
- bump all dependant ports
USES=mono:
- properly handle caching of nuget packages
- add support for multiple feeds for nuget packages
- add support for nuget dependencies in a separate file
- add support for paket packages
(Only the first 15 lines of the commit message are shown above )
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
(Only the first 15 lines of the commit message are shown above )
USES=mono: simplify EXTRACT_ONLY, fix nuget-extract [1]
- Instead of excluding the specific packages added to DISTFILES (but only for
FreeBSD 9+), exclude all files with a '.nupkg' extension.
- Move the nuget-extract command to be before post-extract, to allow the port's
post-extract command to move packages around
audio/libgpod-sharp: add port for mono bindings for libgpod
- audio/libgpod: [2]
- USE_GNOME: add missing dependency
- Remove mono files from pkg-plist (now in audio/libgpod-sharp)
- Allow relevant variables to be overridden
- Fix MONO options
- Patch source to allow building with modern mono
- Avoid post-install target for slave ports.
(Only the first 15 lines of the commit message are shown above )
lang/mono: update to 4.6.1.5.
USES=mono: add nuget argument
The nuget argument adds support for nuget packages. The nuget
packages must be specified in the NUGET_DEPENDS variable.
devel/monodevelop: update to 6.1.1.15
- Switch to github. The other official source is quite a few versions
behind.
- Add missing dependencies (fsharp, ssl2, curl)
- Add required nuget packages
- Add required external repositories
- Drop options. Although ./configure offers these flags, there is no
functional change (i.e. no-op)
- All patches have been upstreamed (and the one we need is from
(Only the first 15 lines of the commit message are shown above )
lang/fsharp: fix build on FreeBSD < 11.
- change substitution since make(1) on FreeBSD 9 does not like variables
within a substitution.
- repeat tar substitution command since tar(1) on FreeBSD 9/10 does not
obay the 'g' substitution command.
Reported by: pkg-fallout
PR: 213584
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
Stop trying to build a package
The build process starts by trying to to download nuget and some dependencies
required for building. It expects them to be downloaded this way, and because
the network is down during build, it fails. So stop trying to build pakages
for f-sharp: hoping that users interested in f-sharp have networking while
building.
Reported by: pkg-fallout, poudriere
Update devel/fsharp 3.1.2.5.
This unbreaks the port with Mono 4.0.
Reviewed by: bapt
Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D3224
- Update to 3.0.25
- Change license to AL2, not restricted any more
- Transfer maintainership to mono
- Trim header
PR: ports/176018
Submitted by: Jack Pappas <jack.pappas@tidepowerd.com>
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# 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.
WWW: http://research.microsoft.com/fsharp/fsharp.aspx
Approved by: gabor (mentor)