Opened 4 years ago

Closed 4 years ago

#60838 closed update (fixed)

Update mono from 6.8.0.123 to 6.10.0.104 stable

Reported by: breiter (Brian Reiter) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc:
Port: mono

Description

From the Mono website, the 6.10.0.104 release is primarily about bug fixes and replacing some of their implementation with dotnet core classes.

All I did in the Portfile was change the version number and checksums. It built without any problems and seems to be working.

--- Portfile.bak	2020-07-15 09:01:15.000000000 +0200
+++ Portfile	2020-07-15 09:01:40.000000000 +0200
@@ -5,7 +5,7 @@
 
 name                    mono
 # please update msbuild when updating mono
-version                 6.8.0.123
+version                 6.10.0.104
 revision                0
 epoch                   1
 categories              devel lang mono
@@ -21,9 +21,9 @@
 use_xz                  yes
 universal_variant       no
 
-checksums               rmd160  27770536a239d6a194566b35004fba1501ccc0af \
-                        sha256  e2e42d36e19f083fc0d82f6c02f7db80611d69767112af353df2f279744a2ac5 \
-                        size    243827664
+checksums               rmd160  8285b273ddcc00840bba17df4da11b8b668ed804 \
+                        sha256  b8d6eb70a252d2efad8384d66b529883dc59e581565d617fa57f8e79317e332c \
+                        size    292616252
 
 patchfiles-append       patch-aot-compiler.c.diff
 if {!${configure.ccache}} {

Change History (6)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: mcalhoun removed
Keywords: haspatch added
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 4 years ago by breiter (Brian Reiter)

Is there anything else that I can do to help update this port?

comment:3 Changed 4 years ago by breiter (Brian Reiter)

It's been 3 weeks waiting to have a port updated. I even provided the patch, so the burden to implement the change should be minimal. It's kind of becoming a problem that MacPorts is unresponsive and unreliable for this purpose.

Is there something that can be done to unstick this? Perhaps the maintainer is unavailable for a good reason and someone else can take this on?

comment:4 Changed 4 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am very sorry about this.
I am the maintainer, and I have been completely disengaged for MacPorts for the last few weeks.
I will likely be out of commission for several more weeks.

When I return to MacPorts, I will be happy to look at this.
If you would not like to wait (which I completely understand), please feel free to open a pull request.
You may need to ask someone on the mailing list to go ahead and commit it if I am still unavailable to look at it (which is likely).

Again, my apologies.

comment:5 Changed 4 years ago by breiter (Brian Reiter)

OK. Thanks.

I have created a pull request. I did not actually realize that this worked by having all the portfiles in a big repo.

In the meantime, I have a workaround script that finds and installs the current stable pkg from mono-project.com. You can automate installs and upgrades with the script. For example:

sudo port deactivate mono
$ sudo port deactivate mono
Password:
--->  Deactivating mono @6.10.0.104_0
--->  Cleaning mono
$ sudo sh ./update-mono.sh 
Downloading mono 6.10.0.104 pkg installer.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  346M  100  346M    0     0  11.2M      0  0:00:30  0:00:30 --:--:-- 11.6M
Installing mono 6.10.0.104
installer: Package name is Mono Framework
installer: Installing at base path /
installer: The install was successful.
$ mono --version
Mono JIT compiler version 6.10.0.104 (2019-12/5d03a6fe116 Wed Apr 29 20:51:09 EDT 2020)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	Interpreter:   yes
	LLVM:          yes(610)
	Suspend:       hybrid
	GC:            sgen (concurrent by default)
$ sudo sh ./update-mono.sh 
mono 6.10.0.104 is up to date.

https://gist.github.com/breiter/1c01ae6ee49a4f245ffb49ef31fdff97

#!/bin/sh

current_userid=$(id -u)
if [ $current_userid -ne 0 ]; then
    echo "$(basename "$0") requires superuser privileges to run" >&2
    exit 1
fi

INSTALLED_VERSION=$(mono --version 2> /dev/null  | grep -o -E 'version [0-9\.]+'| grep -o -E [0-9\.]+)
STABLE_VERSION=$(curl -s https://www.mono-project.com/download/stable/ | grep -o -E 'Stable \(.+\)' | grep -E -o '[0-9\.]+')

do_install() {
    MAJOR_VERSION=$(echo $STABLE_VERSION | grep -o -E '([0-9\]+\.){,3}' | cut -d'.' -f1-3)
    URL="https://download.mono-project.com/archive/${MAJOR_VERSION}/macos-10-universal/"
    FILE="MonoFramework-MDK-${STABLE_VERSION}.macos10.xamarin.universal.pkg"

    echo "Downloading mono ${STABLE_VERSION} pkg installer."
    curl "${URL}${FILE}" > "/tmp/${FILE}"
    echo "Installing mono ${STABLE_VERSION}"
    installer -pkg "/tmp/${FILE}" -target /
    rm "/tmp/${FILE}"

    eval $(/usr/libexec/path_helper -s)
}

if [ "$INSTALLED_VERSION" = "$STABLE_VERSION" ]; then
    echo "mono $INSTALLED_VERSION is up to date."
else
    do_install
fi

comment:6 Changed 4 years ago by breiter (Brian Reiter)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.