Page MenuHomeFreeBSD

lang/mono: update to 5.2.0.215
ClosedPublic

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

Details

Summary

TODO:

  • Patch certificates to update mono on update (PR 225357)
  • Bump PORTREVISION on all dependent ports of mono
  • Change mono certificate location to ${PREFIX}/share/mono from /usr/share/.mono

Related bug reports:

  • 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 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'

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

lang/mono:
 - update to version 5.2.0.215
 - automate certificate initialisation [2]
 - 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

devel/google-gdata:
 - use nunit.framework nuget package as the Mono shipped version is no longer suppport.
 - switch to using csc(1) for compiling (mcs(1) is depreciated).
 - use delayed signing (and then sign with sn(1)) as csc(1) does not support signing.
 - fix reference to system assemblies (the '.dll' suffix is required).
 - fix reference to HttpUtility: csc(1) is more strict about scoping

lang/fsharp:
 - reroll distinfo (no changes to content)

security/gnome-keyring-sharp:
 - delay sign (then sign with sn(1)) as csc(1) does not support direct signing.

PR: 223188 [1]
PR: 209670 [2]
Test Plan

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

dbn edited the test plan for this revision. (Show Details)
dbn edited the summary of this revision. (Show Details)

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.

lang/mono/Makefile
18 ↗(On Diff #37474)

This is probably missing @${PY_FLAVOR}.

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: russ.haley_gmail.com.
  • add ${PY_FLAVOR} to python dependency
  • fix distinfo

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:

https://pastebin.com/vyUfAir8

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 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
russellh@g1 ~/f/p/l/mono> mono --version
Mono JIT compiler version 5.2.0 (5.2.0.215 Thu Jan 11 06:48:20 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
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>

lang/mono/distinfo
45 ↗(On Diff #37588)

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

Hi,
Ran make test.

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

Runtime Environment -

  OS Version: Unix 11.1.4.0
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 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.Jan 19 2018, 3:59 AM

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

dbn edited the summary of this revision. (Show Details)
dbn edited the test plan for this revision. (Show Details)

If the exp-run is a success I would like to commit this patch - unless there are objections. All other items I would like to defer to https://reviews.freebsd.org/D14006.

The patch is yet to pass an exp-run. The last run had two issues:

  1. monodevelop had a bad plist due to the change from '.dll.mdb' to '.pdb' debug files (except for one file :-/).
  2. nant is crashing on -CURRENT

Hopefully (1) is fixed with the latest patch. I'm inclined to ignore (2) until Mono 5.4 or 5.8.

In D13752#293261, @dbn wrote:

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

Sorry, this portion of porting is new to me. Can you point me towards the failure information (exp-run output)?

In D13752#296219, @dbn wrote:

The patch is yet to pass an exp-run. The last run had two issues:

  1. monodevelop had a bad plist due to the change from '.dll.mdb' to '.pdb' debug files (except for one file :-/).
  2. nant is crashing on -CURRENT

Hopefully (1) is fixed with the latest patch. I'm inclined to ignore (2) until Mono 5.4 or 5.8.

+1

In D13752#293261, @dbn wrote:

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

Sorry, this portion of porting is new to me. Can you point me towards the failure information (exp-run output)?

See this log: http://dbn.westeurope.cloudapp.azure.com/10_3-i386-default-mono/2018-01-21_21h45m59s/logs/errors/monodevelop-6.2.1.3_1.log

In D13752#296219, @dbn wrote:

The patch is yet to pass an exp-run. The last run had two issues:

  1. monodevelop had a bad plist due to the change from '.dll.mdb' to '.pdb' debug files (except for one file :-/).
  2. nant is crashing on -CURRENT

Hopefully (1) is fixed with the latest patch. I'm inclined to ignore (2) until Mono 5.4 or 5.8.

+1

  1. http://dbn.westeurope.cloudapp.azure.com/10_3-i386-default-mono/2018-01-24_23h20m25s/logs/errors/monodevelop-6.2.1.3_1.log
  2. http://dbn.westeurope.cloudapp.azure.com/12-i386-default-mono/latest/logs/errors/nant-0.92_2.log
dbn edited the test plan for this revision. (Show Details)

We have a winner. Commit tonight unless there are objections/reviews raised.

We have a winner. Commit tonight unless there are objections/reviews raised.

\o/

This revision was not accepted when it landed; it landed in state Needs Review.Jan 30 2018, 7:00 PM
This revision was automatically updated to reflect the committed changes.