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 created this revision.Jan 3 2018, 7:23 PM
dbn edited the summary of this revision. (Show Details)Jan 3 2018, 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.Jan 4 2018, 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.

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

This is probably missing @${PY_FLAVOR}.

dbn updated this revision to Diff 37588.Jan 6 2018, 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: russ.haley_gmail.com.
  • add ${PY_FLAVOR} to python dependency
  • fix distinfo
romain added a subscriber: romain.Jan 7 2018, 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:

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

pi added a subscriber: pi.Jan 11 2018, 7:34 PM
russ.haley_gmail.com added a comment.EditedJan 14 2018, 4:27 AM

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 updated this revision to Diff 38180.Jan 18 2018, 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.Jan 19 2018, 3:59 AM

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

dbn updated this revision to Diff 38270.Jan 21 2018, 7:35 AM
dbn edited the summary of this revision. (Show Details)
dbn edited the summary of this revision. (Show Details)Jan 21 2018, 11:03 AM
dbn edited the test plan for this revision. (Show Details)
dbn edited the summary of this revision. (Show Details)Jan 21 2018, 2:48 PM

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.

dbn updated this revision to Diff 38637.Jan 29 2018, 6:51 PM

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

dbn added a comment.Jan 30 2018, 4:25 AM
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 updated this revision to Diff 38658.Jan 30 2018, 4:41 AM
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.