Mono is an open source implementation of .NET Development Framework. Its
objective is to enable UNIX developers to build and deploy cross-platform
.NET Applications. The project implements various technologies developed by
Microsoft that have now been submitted to the ECMA for standardization.
Mono provides the necessary software to develop and run .NET client and
server applications on BSD, Linux, Solaris, Mac OS X, Windows, and Unix.
lang/mono: convert to a meta port after 6c225bcc570e
- Removing everything in favor of RUN_DEPENDS
- Add QA check to prevent future consumers
PR: 251795
*/*: 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)
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
lang/mono: fix build on powerpc* with LLVM 15
exceptions-ppc.c:812:23: error: incompatible pointer to integer conversion
assigning to 'unsigned long' from 'gpointer' (aka 'void *') [-Wint-conversion]
lang/mono: fix build with clang 15
During an exp-run for llvm 15 (see bug 265425), it turned out that
lang/mono failed to build with clang 15, on i386:
mini-runtime.c:806:24: error: incompatible pointer to integer conversion
assigning to 'guint32' (aka 'unsigned int') from 'MonoLMF *' (aka 'struct
MonoLMF *') [-Wint-conversion]
ext->lmf.previous_lmf = *lmf_addr;
^ ~~~~~~~~~
mini-runtime.c:808:24: error: incompatible pointer to integer conversion
assigning to 'guint32' (aka 'unsigned int') from 'gpointer' (aka 'void *')
[-Wint-conversion]
ext->lmf.previous_lmf = (gpointer)(((gssize)ext->lmf.previous_lmf) |
2);
^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As noted, this is because on i386 the previous_lmf field is declared as
guint32, while other architectures use gpointer.
Upstream changed the field to gpointer in
<https://github.com/mono/mono/pull/8308/commits/1c43a8476b5>, which got
merged into main in <https://github.com/mono/mono/commit/384c4a4e2ea>.
PR: 268321
Approved by: portmgr (tcberner)
MFH: 2022Q4
*/*: Update path set in BUILD_DEPENDS for CMake in more ports
Commit b23ea4e2d2f51b53d8915fe9fd7b4efbdd575e38 changed its location to
devel/cmake-core
Approved by: portmgr (blanket)
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 )
lang: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Adam Weinberger <adamw@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Alex Dupre <ale@FreeBSD.org>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Alonso Cardenas Marquez <acm@FreeBSD.org>
* Andreas Klemm <andreas@klemm.gtn.com>
* Andrew Pantyukhin <infofarmer@FreeBSD.org>
* Andrey Zakhvatov
* Anton Berezin <tobez@FreeBSD.org>
* Anton Berezin <tobez@tobez.org>
(Only the first 15 lines of the commit message are shown above )
lang/mono5.10,lang/mono: Attempt to fix build on aarch64
The Roslyn C# compiler has a concurrency problem on aarch64:
https://github.com/mono/mono/issues/7017 (not FreeBSD specific)
so the workaround is to disable parallelism… so the .NET libraries are built
very very slowly
PR: 229710
Approved by: portmgr (build fix blanket)
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
(Only the first 15 lines of the commit message are shown above )
lang/mono: Invoke CPU_COUNT properly
83c19a7238e9f5f46a9186e3ce58d03585691e5d did not include a patch to
configure.ac that allowed it to properly detect CPU_COUNT.
Fixes: 83c19a7238e9f5f46a9186e3ce58d03585691e5d
MFH: 2021Q4
lang/mono: Fix build on current with _WITH_CPU_SET_T
mono-proclib.c:776:3: error: unknown type name 'cpu_set_t'; did you mean
'cpuset_t'?
cpu_set_t set;
^~~~~~~~~
cpuset_t
/usr/include/sys/_cpuset.h:50:24: note: 'cpuset_t' declared here
typedef struct _cpuset cpuset_t;
^
mono-proclib.c:777:7: error: implicit declaration of function
'sched_getaffinity' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (sched_getaffinity (mono_process_current_pid (), sizeof
(set), &set) == 0)
^
mono-proclib.c:778:11: error: implicit declaration of function 'CPU_COUNT' is
invalid in C99 [-Werror,-Wimplicit-function-declaration]
return CPU_COUNT (&set);
^
3 errors generated.
MFH after: 3 days
lang/mono: fix build on powerpc
- BTLS doesn't work on powerpc,
- same pkg-plist fix as for lang/mono6.8,
- cast ctx (which is void) to ucontext_t - NetBSD does the same.
Follow up on graphics/py-pillow6 port removal in r559976
The graphics/py-pillow6 port was removed in r559976 as it was for
Python 2.7 only and no longer referenced in the default cases.
However it was still defined in Mk/Uses/python.mk in PY_PILLOW,
leaving a dangling reference.
Remove it from Mk/Uses/python.mk, leaving only the Python 3
version of that port, graphics/py-pillow, defined and bump the
minimal verion of Python to 3.6 for affected ports.
graphics/py-pillow: Update to 7.0.0
* Repo-Copy the Pillow 6.2.2 release to graphics/py-pillow6 to retain
backwards compatibility for Python 2 consumers as the Pillow 7.0.0 release
dropped the support for Python 2.
* Apply conditional statements to use either Pillow 7.x or Pillow 6.x for
consumers that can be built for Python 2 or newer.
* Exceptions are ports that can be built only for either Python 2 or
Python 3. For the first case, consumers are just assigned to the
repo-copied graphics/py-pillow6.
* Also remove Pillow from BUILD_DEPENDS of math/py-PyWavelets as it is not
listed in setup.py as a build dependency [1] and relax the version
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Remove redundant DOCS, NLS, EXAMPLES, and IPV6 from OPTIONS_DEFAULT as they
are put there by the framework (see line 200 of Mk/bsd.options.mk), except
for `finance/quantlib' which makes very unorthodoxal usage of port options.
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Update Mono to 5.10.1.47
This brings a more modern Mono release to the ports tree. After
discussions with others in the Mono community I targeted the mono
5.10.1.47 release which is the latest release in the "Visual Studio"
release channel. This is considered to be the most stable and widely
tested, which makes it a good candidate for us. We may upgrade to 5.12
after additional testing or introduce another Mono package for users who
require testing against a newer release; this has yet to be determined.
- Build from official release tarballs
- Now include BoringSSL per upstream guidelines [1]
- Remove ACCEPTANCE_TESTS, not being updated by upstream
- No long require glib; Mono includes their own replacement
- USES=display:tests required for some tests
(Only the first 15 lines of the commit message are shown above )
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 )
lang/mono: set LLD_UNSAFE to avoid linking with lld
mono fails to link with lld because lld defaults to -ztext and does not
allow relocations in readonly segments (such as the one containing
.text). For now just fall back to linking with ld.bfd if the system ld
is lld.
PR: 214864
Approved by: portmgr (LLD_UNSAFE blanket)
Sponsored by: The FreeBSD Foundation
For ports that are explicitly enabled on armv6, also enable them
on armv7. This has not been tested with an -exp run but should
"do no harm".
PR: 221894 (partial)
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
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 )
- Fix shebangs
- Fix bin/rc in lang/go since we dont have it in base or a port to support it
- While in lang/go remove WRKSRC for SHEBANG_FILES
- Bump PORTREVISION for package change
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user. Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables. LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well. The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.
Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).
PR: 215882
Exp-run by: antoine
Approved by: portmgr (antoine)
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 )
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
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 )
Fix sysctl(3) call in mono_process_list() where the MIB length argument was
incorrectly passed to sysctl(3)
PR: 174216
Submitted by: tj
Approved by: maintainer timeout
lang/mono: Remove $FreeBSD$ from patches
Patches aren't supposed to have $FreeBSD$ tags anymore. The
fbsd:nokeywords property was properly set, so the $FreeBSD$ tag was not
even expanded, so these tags were removed. Note that the mini-exceptions
patch is no longer needed. According to the comments, it's is for
FreeBSD 8 support only.
Approved by: portmgr (mat)
lang/mono: allow overriding Environment.SpecialFolder.Personal
Any port that writes to Environment.SpecialFolder.Personal during build
or when running tests may end up with files outside of the stage area that
aren't cleaned up by the ports framework. The issue lies with Mono
looking in /etc/passwd first and only if no entry found there in $HOME.
This PR was an unnoticed prerequisite for the new port games/openra.
Patch based on discussion in https://github.com/mono/mono/pull/371
PR: 193426
Submitted by: Jan Beich
Approved by: maintainer timeout (8 weeks)
Convert GMAKE to MAKE_CMD
Please note that lots of invocation of MAKE_CMD here are wrong as they do not
properly respect MAKE_ENV and friends
With hat: portmgr
Convert to USES=libtool
Use USES=compiler:c11 to enforce modern compiler (and clang version > 3.3)
Drop printing pkg-message it is done automatically by stage
Sharpen the sed on configure to fix in case of isinf it was making __thread
testing hanging
Remove useless include of bsd.mono.mk
lang/mono: Unbreak configure/runaway
Mono was set to build via clang unconditionally. Other than have
a large, unnecessary dependency on clang33, this didn't bother
DragonFly until recently. The 3.2.8 version has a conftest to test
for a working __thread implementation (which DragonFly has), but for
some reason the test locks up when built by clang. I built the conftest
manually with gcc and it returned fine.
In any case, DragonFly's gcc47 base compiler builds mono fine, so to
unbreak the port on DragonFly, only specify clang on FreeBSD.