Bug 238089 - lang/mono: Update to 5.20 (5.10.0 dates to 2018-02)
Summary: lang/mono: Update to 5.20 (5.10.0 dates to 2018-02)
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-mono mailing list
Keywords: patch
Depends on:
Reported: 2019-05-24 01:42 UTC by Conrad Meyer
Modified: 2019-09-10 07:24 UTC (History)
9 users (show)

See Also:
bugzilla: maintainer-feedback? (mono)

Patch for port of lang/mono (31.91 KB, patch)
2019-05-25 03:50 UTC, Dave Curylo
no flags Details | Diff
patch (32.98 KB, patch)
2019-07-22 23:37 UTC, Igor Zabelin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad Meyer freebsd_committer 2019-05-24 01:42:14 UTC

Comment 1 Dave Curylo 2019-05-25 03:50:20 UTC
Created attachment 204600 [details]
Patch for port of lang/mono

Many of the changes needed for mono 5.10 were rolled into upstream by time this was released, so this removes those patches. Also changes were made in mono/tests/Makefile.am and mono/utils/mono-state.c for FreeBSD support in upstream, but they didn't make it in time for the cut, so this patch accounts for those as well.
Comment 2 Dave Curylo 2019-05-25 03:52:21 UTC
Coincidentally I was working on this earlier this week, so I completed and tested a patch, and attached to this issue.  Please review and let me know if anything else is needed, otherwise it will be nice to bump up to this newer mono release.
Comment 3 Conrad Meyer freebsd_committer 2019-05-25 21:40:40 UTC
Hey Dave,

It's a happy coincidence! :-)  Your patch looks good to me, although I am not a ports committer and cannot approve it.
Comment 4 Daniel Porsch 2019-05-29 15:36:45 UTC
I tried this patch but I got this error:
===>  Building package for mono-
pkg-static: Unable to access file /wrkdirs/usr/ports/lang/mono/work/stage/usr/local/share/locale/de/LC_MESSAGES/mcs.mo:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/lang/mono/work/stage/usr/local/share/locale/es/LC_MESSAGES/mcs.mo:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/lang/mono/work/stage/usr/local/share/locale/ja/LC_MESSAGES/mcs.mo:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/lang/mono/work/stage/usr/local/share/locale/pt_BR/LC_MESSAGES/mcs.mo:No such file or directory
*** Error code 1

make: stopped in /usr/ports/lang/mono
=>> Cleaning up wrkdir
===>  Cleaning for mono-
build of lang/mono | mono- ended at Wed May 29 17:34:24 CEST 2019
build time: 00:57:23
!!! build failure encountered !!!

Full log here: 

Not sure whats wrong? It seem to build, but the packaging fails. :-(
Comment 5 Daniel Porsch 2019-05-30 01:18:25 UTC
It worked after removing NLS from options_unset in make.conf 
(In reply to Daniel Porsch from comment #4)
Comment 6 Thibault Payet 2019-06-09 17:28:25 UTC
(In reply to Daniel Porsch from comment #4)
For this the fix is to append %%NLS%% the corresponding files in the pkg-plist, so that the patch should be more ok
Comment 7 Igor Zabelin 2019-07-21 13:47:22 UTC
I have a question, for what is py-pillow needed here? As RUN_DEPENDS?
Don't see any references to use this.
Py-pillow requires by default a lot of dependencies. 

also not actual (bug 223188)
Comment 8 Igor Zabelin 2019-07-22 23:37:34 UTC
Created attachment 205999 [details]

Py-pillow is needed only for mono-heapviz tool which is not used in all cases.
Here's my version of the patch for mono-heapviz optional and disabled by default. 
Fixed postexec cert-sync in pkg-plist. Mono certificate store must be synchronized with ca_root_nss after install.
Comment 9 Justin Kyryliuk 2019-08-30 12:10:51 UTC
I know me too posts are in general frowned upon and should be avoided, but I'd like to chime in that the importance of this is raising, as many mono-reliant packages have moved off of 5.10 and will only support them for a short-while longer (such as the Sonarr project).
Comment 10 kralizeck 2019-09-09 15:32:36 UTC
(In reply to Igor Zabelin from comment #8)
I'm trying to apply your patch with no luck... I'm newby in this matters..

On a copy of /usr/ports/lang/mono I run:
patch -C < /tmp/mono-patch-

with no errors, so I apply the patch:

patch < /tmp/mono-patch-

All seems ok.

Now I run:
make install clean

This is the output:

===>  License MIT accepted by the user
===>   mono- depends on file: /usr/local/sbin/pkg - found
=> mono- doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://download.mono-project.com/sources/mono/mono-
mono-                                 235 MB   65 MBps    04s
=> monolite-linux-1051000004-latest.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://download.mono-project.com/monolite/monolite-linux-1051000004-latest.tar.gz
monolite-linux-1051000004-latest.tar.gz               4707 kB   16 MBps    00s
===> Fetching all distfiles required by mono- for building
===>  Extracting for mono-
=> SHA256 Checksum OK for mono-
=> SHA256 Checksum OK for monolite-linux-1051000004-latest.tar.gz.
/bin/mkdir -p /hdd3/root/downgrades/mono/work/mono-
/bin/mv /hdd3/root/downgrades/mono/work/monolite-linux-1051000004-latest /hdd3/root/downgrades/mono/work/mono-
===>  Patching for mono-
===>  Applying FreeBSD patches for mono-
  I can't seem to find a patch in there anywhere.
=> FreeBSD patch patch-configure.ac failed to apply cleanly.
*** Error code 1

make[1]: stopped in /hdd3/root/downgrades/mono
*** Error code 1

make: stopped in /hdd3/root/downgrades/mono

The file files/patch-configure.ac is empty.

Am I missing any step to apply the patch?
Comment 11 Henno Schooljan 2019-09-09 19:34:32 UTC
Apparently these zero-length files should be removed, patch -E should do that.
Comment 12 kralizeck 2019-09-10 07:24:28 UTC
(In reply to Henno Schooljan from comment #11)
It works.

On a clean copy of the mono 5.10 port I ran:

patch -E < /tmp/mono-patch-
make install clean

It point finally to run make deinstall and make reinstall.

Sonarr, radarr and jackett are working without problems.