lang/mono: update to
Needs ReviewPublic

Authored by dbn on Wed, Jan 3, 7:23 PM.


Group Reviewers


  • Patch certificates to update mono on update
  • Bump PORTREVISION on all dependent ports of mono
  • Upstream patches
  • Change mono certificate location to ${PREFIX}/share/mono from /usr/share/.mono
  • fix tests (seems like all are false negatives)

Related bug reports:

  • Mk/Uses/ modernize gac macros (PR 196871)
  • lang/mono: Update certificates store at install/update time (PR 209670)
  • lang/mono and net/czmq conflicts with each other due to the same file /usr/local/bin/makecert (PR 223188)

Commit message:

lang/mono: update to version (and enhance USES=mono)

 - New Roslyn compiler for C# available
 - Improved support for nuget packages in 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

 - update to version
 - automate certificate initialisation
 - increase test coverage
 - mark as conflicting with net/czmq (conflicting on makecert) [1]
 - patch mono to use $PREFIX/share/mono instead of /usr/share/.mono

PR: 223188 [1]
Test Plan

Diff Detail

rP FreeBSD ports repository
Lint Skipped
Unit Tests Skipped
dbn created this revision.Wed, Jan 3, 7:23 PM
dbn edited the summary of this revision. (Show Details)Wed, Jan 3, 7:24 PM
dbn edited the test plan for this revision. (Show Details)
dbn edited the summary of this revision. (Show Details)
mat added a comment.Thu, Jan 4, 8:17 AM

Could you use devel/arcanist, or at least generate a diff with full context like it does, with svn diff -x -U9999 or git diff -U9999.


This is probably missing @${PY_FLAVOR}.

dbn updated this revision to Diff 37588.Sat, Jan 6, 2:24 PM
dbn marked an inline comment as done.
dbn edited the summary of this revision. (Show Details)
dbn edited the test plan for this revision. (Show Details)
dbn added a reviewer:
  • add ${PY_FLAVOR} to python dependency
  • fix distinfo
romain added a subscriber: romain.Sun, Jan 7, 12:34 PM

Thanks for separating this out from that monster work you did. There was one issue that I noted in a comment (on distinfo). Much of the delay was me not knowing how to use patch (-E). I regenerated the entire patch here:

My test method was:

  • Apply your patch to a clean svn of ports head
  • Fixed issues with distinfo file
  • Fight with *.orig and ghost files of 0 bytes for a while. I believe "patch -E -p0 <../patches/D13752.diff" would have solved my problem.
  • Regenerated the patch with svn and applied it to a second clean ports tree (tick tock).
  • Completed a clean build of mono 5.2

russellh@g1 ~/f/p/l/mono> uname -a
FreeBSD g1.highfell.home 11.1-RELEASE-p4 FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:12:40 UTC 2017 amd64
russellh@g1 ~/f/p/l/mono> mono --version
Mono JIT compiler version 5.2.0 ( Thu Jan 11 06:48:20 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors.
TLS: __thread
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen (concurrent by default)
russellh@g1 ~/f/p/l/mono>


Hi David,

The only error in the patch is here. This files is a different size:

+SHA256 (dotnet-roslyn-322bd5b_GH0.tar.gz) = 52df2e1ebd6d9d5ce881ca2839fa0970498d7b8782225f3ad738487899cbdb05
+SIZE (dotnet-roslyn-322bd5b_GH0.tar.gz) = 22058637

pi added a subscriber: pi.Thu, Jan 11, 7:34 PM added a comment.EditedSun, Jan 14, 4:27 AM

Ran make test.

NUnitLite 1.0.0 (.NET 4.5 Debug)
Copyright 2013, Charlie Poole

Runtime Environment -

  OS Version: Unix
Mono Version: 4.0.30319.42000

Tests run: 120, Passed: 120, Errors: 0, Failures: 0, Inconclusive: 0

Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0

Elapsed time: 00:00:14.3060000

dbn updated this revision to Diff 38180.Thu, Jan 18, 7:16 PM
dbn edited the summary of this revision. (Show Details)
dbn edited the test plan for this revision. (Show Details)
  • distinfo has been fixed
  • all dependent ports have been bumped
  • I've moved the '/usr/share/.mono' directory to '$PREFIX/share/mono'
dbn marked an inline comment as done.Fri, Jan 19, 3:59 AM

We have failing ports. Another github distinfo issue, and other isses with ports.