[PATCH] [WIP] gnu: mono: Update to 6.8.0.105.

OpenSubmitted by Pierre Neidhardt.
Details
2 participants
  • Brett Gilio
  • Pierre Neidhardt
Owner
unassigned
Severity
normal
P
P
Pierre Neidhardt wrote on 20 Feb 2020 17:23
(address . guix-patches@gnu.org)
20200220162336.18848-1-mail@ambrevar.xyz
* gnu/packages/mono.scm (mono): Update to 6.8.0.105.
---
gnu/packages/mono.scm | 81 ++++++++++++++-----
.../patches/mono-mdoc-timestamping.patch | 4 +-
.../patches/mono-pkgconfig-before-gac.patch | 65 +++++++++++++++
3 files changed, 130 insertions(+), 20 deletions(-)
create mode 100644 gnu/packages/patches/mono-pkgconfig-before-gac.patch

Toggle diff (233 lines)
diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm
index 5447dd2300..e663140d5c 100644
--- a/gnu/packages/mono.scm
+++ b/gnu/packages/mono.scm
@@ -19,6 +19,9 @@
 
 (define-module (gnu packages mono)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -29,6 +32,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -38,32 +42,60 @@
 (define-public mono
   (package
     (name "mono")
-    (version "4.4.1.0")
+    (version "6.8.0.105")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://download.mono-project.com/sources/mono/"
-                    name "-" version
-                    ".tar.bz2"))
+                    "https://download.mono-project.com/sources/mono/"
+                    name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn"))
-              (patches (search-patches "mono-mdoc-timestamping.patch"))))
+                "0y11c7w6r96laqckfxnk1ya42hx2c1nfqvdgbpmsk1iw9k29k1sp"))
+              (patches (search-patches "mono-pkgconfig-before-gac.patch"
+                                       ;; TODO: Update this patch.
+                                       ;; "mono-mdoc-timestamping.patch"
+                                       ))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib" ,glib)
        ("libxslt" ,libxslt)
        ("perl" ,perl)
-       ("python" ,python-2)))
+       ("python" ,python-2)
+       ("cmake" ,cmake)
+       ("which" ,which)
+       ("libgdiplus" ,libgdiplus)
+       ("libx11" ,libx11)
+       ;; TODO: Test if these 2 are necessary.
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-reproducible
            (lambda _
              (substitute* "mono/mini/Makefile.in"
-              (("build_date = [^;]*;")
-               "build_date = (void*) 0;"))
+               (("build_date = [^;]*;")
+                "build_date = (void*) 0;"))
+             #t))
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (substitute* "mono/eglib/test/path.c"
+               (("const gchar \\*newdir = \"/bin\";")
+                (string-append "const gchar *newdir = \"/tmp\";")))
+             #t))
+         ;; TODO: Update Mono certs.  We need a certificate bundle, which nss-certs does not have.
+         ;; (add-after 'install 'update-mono-key-store
+         ;;   (lambda* (#:key outputs inputs #:allow-other-keys)
+         ;;     (let* ((out (assoc-ref outputs "out"))
+         ;;            (ca (assoc-ref inputs "nss-certs"))
+         ;;            (cert-sync (string-append out "/bin/cert-sync"))))
+         ;;     (invoke cert-sync (string-append ca "/etc/ssl/certs/ca-bundle.crt")
+         (add-after 'install 'install-gmcs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (symlink (string-append out "/bin/mcs")
+                        (string-append out "/bin/gmcs")))
              #t))
          (add-after 'unpack 'set-env
            (lambda _ ;;* (#:key inputs #:allow-other-keys)
@@ -72,13 +104,15 @@
              ;; ZIP files have "DOS time" which starts in Jan 1980.
              (setenv "SOURCE_DATE_EPOCH" "315532800")
              #t))
-         (add-after 'unpack 'fix-includes
-           (lambda _
-             ;; makedev is in <sys/sysmacros.h> now.  Include it.
-             (substitute* "mono/io-layer/processes.c"
-              (("#ifdef HAVE_SYS_MKDEV_H") "#if 1")
-              (("sys/mkdev.h") "sys/sysmacros.h"))
-             #t))
+         ;; TODO: This fix seems obsolete in Mono 6.
+         ;; (add-after 'unpack 'fix-includes
+         ;;   (lambda _
+         ;;     ;; makedev is in <sys/sysmacros.h> now.  Include it.
+         ;;     (substitute* "mono/io-layer/processes.c"
+         ;;      (("#ifdef HAVE_SYS_MKDEV_H") "#if 1")
+         ;;      (("sys/mkdev.h") "sys/sysmacros.h"))
+         ;;     #t))
+         ;; TODO: Those patches don't seem to be useful anymore.
          (add-after 'unpack 'patch-tests
            (lambda _  ;;* (#:key inputs #:allow-other-keys)
              (substitute* "mono/tests/Makefile.in"
@@ -116,19 +150,30 @@
                  "NO_TEST:=true\n"
                  all
                  "\nrun-test-lib:\n\t@echo skipping test\n"))))))
-       ;; these 4 tests fail
+       ;; TODO: Do these 4 tests still fail?
        #:make-flags `(,(string-append "PLATFORM_DISABLED_TESTS="
                                       " appdomain-unload.exe"
                                       " delegate2.exe"
                                       " finally_guard.exe"
                                       " remoting4.exe"))
-       ;; running tests in parallel fails
+       #:configure-flags (list
+                          (string-append "--x-includes="
+                                         (assoc-ref %build-inputs "libx11")
+                                         "/include")
+                          (string-append "--x-libraries="
+                                         (assoc-ref %build-inputs "libx11")
+                                         "/lib")
+                          (string-append "--with-libgdiplus="
+                                         (assoc-ref %build-inputs "libgdiplus")
+                                         "/lib/libgdiplus.so"))
+       ;; TODO: Does running tests in parallel fail?
        #:parallel-tests? #f))
     (synopsis "Compiler and libraries for the C# programming language")
     (description "Mono is a compiler, vm, debugger and set of libraries for
 C#, a C-style programming language from Microsoft that is very similar to
 Java.")
     (home-page "https://www.mono-project.com/")
+    ;; TODO: Still x11?
     (license license:x11)))
 
 (define-public libgdiplus
diff --git a/gnu/packages/patches/mono-mdoc-timestamping.patch b/gnu/packages/patches/mono-mdoc-timestamping.patch
index d5191a93eb..f7ae99a34f 100644
--- a/gnu/packages/patches/mono-mdoc-timestamping.patch
+++ b/gnu/packages/patches/mono-mdoc-timestamping.patch
@@ -1,5 +1,5 @@
---- mono-4.4.1/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs.orig	2018-11-26 22:16:25.008879747 +0100
-+++ mono-4.4.1/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs	2018-11-26 22:21:53.969770985 +0100
+--- mono-4.4.1/external/api-doc-tools/monodoc/Monodoc/storage/ZipStorage.cs.orig	2018-11-26 22:16:25.008879747 +0100
++++ mono-4.4.1/external/api-doc-tools/monodoc/Monodoc/storage/ZipStorage.cs	2018-11-26 22:21:53.969770985 +0100
 @@ -74,6 +74,12 @@
  				id = GetNewCode ();
  
diff --git a/gnu/packages/patches/mono-pkgconfig-before-gac.patch b/gnu/packages/patches/mono-pkgconfig-before-gac.patch
new file mode 100644
index 0000000000..7632d85039
--- /dev/null
+++ b/gnu/packages/patches/mono-pkgconfig-before-gac.patch
@@ -0,0 +1,65 @@
+diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets
+--- mono-4.0.1.old/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets	2015-04-24 02:26:18.000000000 +0100
++++ mono-4.0.1/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets	2015-05-26 00:52:33.997847464 +0100
+@@ -229,8 +229,8 @@
+ 			$(ReferencePath);
+ 			@(AdditionalReferencePath);
+ 			{HintPathFromItem};
+-			{TargetFrameworkDirectory};
+ 			{PkgConfig};
++			{TargetFrameworkDirectory};
+ 			{GAC};
+ 			{RawFileName};
+ 			$(OutDir)
+diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets
+--- mono-4.0.1.old/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets	2015-04-24 02:26:18.000000000 +0100
++++ mono-4.0.1/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets	2015-05-26 00:52:41.832612748 +0100
+@@ -214,8 +214,8 @@
+ 			$(ReferencePath);
+ 			@(AdditionalReferencePath);
+ 			{HintPathFromItem};
+-			{TargetFrameworkDirectory};
+ 			{PkgConfig};
++			{TargetFrameworkDirectory};
+ 			{GAC};
+ 			{RawFileName};
+ 			$(OutDir)
+diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets
+--- mono-4.0.1.old/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets	2015-04-24 02:26:18.000000000 +0100
++++ mono-4.0.1/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets	2015-05-26 00:52:46.298478961 +0100
+@@ -139,8 +139,8 @@
+ 			$(ReferencePath);
+ 			@(AdditionalReferencePath);
+ 			{HintPathFromItem};
+-			{TargetFrameworkDirectory};
+ 			{PkgConfig};
++			{TargetFrameworkDirectory};
+ 			{GAC};
+ 			{RawFileName};
+ 			$(OutDir)
+diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets
+--- mono-4.0.1.old/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets	2015-04-24 02:26:18.000000000 +0100
++++ mono-4.0.1/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets	2015-05-26 00:52:52.119304583 +0100
+@@ -167,8 +167,8 @@
+ 			$(ReferencePath);
+ 			@(AdditionalReferencePath);
+ 			{HintPathFromItem};
+-			{TargetFrameworkDirectory};
+ 			{PkgConfig};
++			{TargetFrameworkDirectory};
+ 			{GAC};
+ 			{RawFileName};
+ 			$(OutDir)
+diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets
+--- mono-4.0.1.old/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets	2015-04-24 02:26:18.000000000 +0100
++++ mono-4.0.1/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets	2015-05-26 00:52:56.519172776 +0100
+@@ -229,8 +229,8 @@
+ 			$(ReferencePath);
+ 			@(AdditionalReferencePath);
+ 			{HintPathFromItem};
+-			{TargetFrameworkDirectory};
+ 			{PkgConfig};
++			{TargetFrameworkDirectory};
+ 			{GAC};
+ 			{RawFileName};
+ 			$(OutDir)
-- 
2.25.0
P
P
Pierre Neidhardt wrote on 20 Feb 2020 17:46
Re: bug#39695: Acknowledgement ([PATCH] [WIP] gnu: mono: Update to 6.8.0.105.)
(address . 39695@debbugs.gnu.org)
87lfox5hqq.fsf@ambrevar.xyz
The tests don't pass at the moment, but I can't figure out why.

During the build phase, I see this:

Toggle snippet (19 lines)
...
cd /tmp/guix-build-mono-6.8.0.105.drv-0/mono-6.8.0.105/mcs && make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14 ' CC='gcc' all-profiles
mkdir -p -- build/deps
make[6]: mono: Command not found
make[6]: *** [build/profiles/build.make:134: build/deps/basic-profile-check.exe] Error 127
*** The runtime 'mono' doesn't appear to be usable.
*** Trying the 'monolite-linux/ABB721D6-116A-4555-B4FD-9248146D2051' directory.
Microsoft (R) Visual C# Compiler version 3.5.0-beta1-19606-04 (d2bd58c6)
Copyright (C) Microsoft Corporation. All rights reserved.

/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/sh: git: command not found
/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/sh: git: command not found
/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/sh: git: command not found
/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/sh: git: command not found
mkdir -p -- ../../class/lib/build-linux/tmp/
CSC [build-linux] gensources.exe
...

During the check phase, I see this:

Toggle snippet (46 lines)
...
MDOC [net_4_x-linux] Novell.tree
Warning: couldn't process directory `./../class/Commons.Xml.Relaxng/Documentation/en' as it has no index.xml file
Error reading namespace XML for global at ./../class/Novell.Directory.Ldap/Documentation/en/ns-global.xml
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/IThreadRunnable.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/Integer32.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+SingleThreadModel.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+Tokenizer.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+DateTimeFormatManager.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+DateTimeFormatManager+DateTimeFormatHashTable.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+ArrayListSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+ThreadClass.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+CollectionSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+ListCollectionSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+ArraysSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+SetSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+AbstractSetSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+MessageDigestSupport.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Novell.Directory.Ldap/Documentation/en/global/SupportClass+SecureRandomSupport.xml' as it doesn't exist
Error reading namespace XML for Novell.Directory.Ldap.Asn1 at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.Asn1.xml
Error reading namespace XML for Novell.Directory.Ldap.Rfc2251 at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.Rfc2251.xml
Error reading namespace XML for Novell.Directory.Ldap at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.xml
Error reading namespace XML for Novell.Directory.Ldap.Utilclass at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.Utilclass.xml
Error reading namespace XML for Novell.Directory.Ldap.Extensions at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.Extensions.xml
Warning: couldn't process type file `./../class/Mono.Debugger.Soft/Documentation/en/Mono.Debugger.Soft/AssemblyLoadEventRequest.xml' as it doesn't exist
Error reading namespace XML for Novell.Directory.Ldap.Controls at ./../class/Novell.Directory.Ldap/Documentation/en/ns-Novell.Directory.Ldap.Controls.xml
Warning: couldn't process type file `./../class/Mono.Posix/Documentation/en/Mono.Unix.Native/EpollEvent.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Posix/Documentation/en/Mono.Unix.Native/EpollEvents.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Posix/Documentation/en/Mono.Unix.Native/EpollFlags.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Posix/Documentation/en/Mono.Unix.Native/EpollOp.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Posix/Documentation/en/Mono.Unix.Native/RealTimeSignum.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Security.Win32/Documentation/en/Mono.Security.Cryptography/MD2.xml' as it doesn't exist
Warning: couldn't process type file `./../class/Mono.Security.Win32/Documentation/en/Mono.Security.Cryptography/MD4.xml' as it doesn't exist
Error reading namespace XML for Mono.Security.Cryptography at ./../class/System.Core/Documentation/en/ns-Mono.Security.Cryptography.xml
Warning: couldn't process type file `./../class/System.Design/Documentation/en/System.Web.UI.Design.WebControls/DataSourceIDConverter.xml' as it doesn't exist
Warning: couldn't process directory `./../class/System.DirectoryServices/Documentation/en' as it has no index.xml file
Error reading namespace XML for System.Resources at ./../class/System.Web/Documentation/en/ns-System.Resources.xml
Warning: couldn't process type file `./../class/System.Web/Documentation/en/System.Resources/ResXFileRef.xml' as it doesn't exist
Warning: couldn't process type file `./../class/System.Web/Documentation/en/System.Resources/ResXFileRef+Converter.xml' as it doesn't exist
Warning: couldn't process type file `./../class/System.Web/Documentation/en/System.Resources/ResXResourceReader.xml' as it doesn't exist
Warning: couldn't process type file `./../class/System.Web/Documentation/en/System.Resources/ResXResourceWriter.xml' as it doesn't exist
./../jay/jay: 7 shift/reduce conflicts.
...

Find the build log attached.

--
Pierre Neidhardt
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl5Ot+4ACgkQm9z0l6S7
zH/wCgf9FI2DiLdDbOh2XnZCtWoKdCeWuQvFwh7MskCRx/tI/cZ5E4hPCmPS956I
WZeqKcE/LDTlEIEU4tVLfwXjWwnbo06ZhoZBotWoKRdPMeHttRatT+KSz+C/5YF5
xJ7luemSe9LkICAku/B+cBURirKpTH897t2FOtp6LknMUFDHDdp0taVrrinJCOpm
f0hXBSp4LbKP7uOWMi8FYe2eLAIcCvpSlM7R1G9KhyeGuYFC3MzCNVqGYNXkHDLM
NGqnah193OnwaPb5Q+Z/zjD+W0Fq9wNPGGnDpMr4A0k1Im3KrL3Cm38nwhBTxLzk
ZvxSvuL11PmP4GkAf4CDwrENI8dz2g==
=7tEk
-----END PGP SIGNATURE-----

Attachment: mono.build.log
B
B
Brett Gilio wrote on 25 Jul 2020 03:56
Re: [bug#39695] [PATCH] [WIP] gnu: mono: Update to 6.8.0.105.
(name . Pierre Neidhardt)(address . mail@ambrevar.xyz)(address . 39695@debbugs.gnu.org)
87d04k4as4.fsf@gnu.org
Whew! Somebody finally got to it! I tried many times to get mono in a
better shape for Guix, but failed! :) As there are a considerable number
of changes here, would you mind giving a short synopsis of what still
needs to be made before we either reroll a revision or get a final
draft?

Thanks!
Brett Gilio
P
P
Pierre Neidhardt wrote on 25 Jul 2020 08:14
(name . Brett Gilio)(address . brettg@gnu.org)(address . 39695@debbugs.gnu.org)
871rl0nmss.fsf@ambrevar.xyz
Hi Brett!

Brett Gilio <brettg@gnu.org> writes:

Toggle quote (6 lines)
> Whew! Somebody finally got to it! I tried many times to get mono in a
> better shape for Guix, but failed! :) As there are a considerable number
> of changes here, would you mind giving a short synopsis of what still
> needs to be made before we either reroll a revision or get a final
> draft?

What still needs to be made? Beside fixing the tests, the patch I've
sent seems to have Mono 5 and 6 working.

Final draft of what? Sorry, I feel that I'm missing some context :)

If your question is about the Mono ecosystem, there is a lot of work
left to do. We need a bootstrapped msbuild (the build tool for Mono),
and then ideally we would have a mono-build-system. I can detail this
if you want to, let me know.

Cheers!

--
Pierre Neidhardt
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl8bzdMACgkQm9z0l6S7
zH+a/Qf/TP6slLn9mHcZM0n8w/8uQdjxoFwITnYK9RFCGoXLevVOHWMRWLeTSIt+
vFNxzI7wejt/JTE/UMUV4Q+4/9ld5pO7IGhTAUBIxBO7CiCK59OdgKb8PKkcxgqe
bYHouqmdp+XXt63wUz4ce8hfhfHqdOhGKDJuD9VJQdS5PLfujOBsE/cvmRInx0Zv
3LMxVl2SuOTnIn6Bpbobwa0l7/3aEdWzAw3mvs0qmGMLWZzQIQ7T2Ks+9d8l7XjV
st1hU9+YdUZEMECLdokvzptH8O824QTj1wQLkzMyXrE1dBgOvWRRYF1AZbpXf3DP
2p5Dk2NB924Zd8reSeiVBVhEgwcPpA==
=vniK
-----END PGP SIGNATURE-----

B
B
Brett Gilio wrote on 25 Jul 2020 22:11
(name . Pierre Neidhardt)(address . mail@ambrevar.xyz)(address . 39695@debbugs.gnu.org)
878sf7pd73.fsf@gnu.org
Pierre Neidhardt <mail@ambrevar.xyz> writes:

Toggle quote (22 lines)
> Hi Brett!
>
> Brett Gilio <brettg@gnu.org> writes:
>
>> Whew! Somebody finally got to it! I tried many times to get mono in a
>> better shape for Guix, but failed! :) As there are a considerable number
>> of changes here, would you mind giving a short synopsis of what still
>> needs to be made before we either reroll a revision or get a final
>> draft?
>
> What still needs to be made? Beside fixing the tests, the patch I've
> sent seems to have Mono 5 and 6 working.
>
> Final draft of what? Sorry, I feel that I'm missing some context :)
>
> If your question is about the Mono ecosystem, there is a lot of work
> left to do. We need a bootstrapped msbuild (the build tool for Mono),
> and then ideally we would have a mono-build-system. I can detail this
> if you want to, let me know.
>
> Cheers!

Sorry, I wrote this email last night when I was rather tired. I meant to
say what work still needs to be done on the patch before we commit it. I
think the work on msbuild will prove to be slightly tricky, as that is
now the default build tool for .NET Core as well, and if I recall
correctly .NET Core and Mono use two different instances and
configurations of msbuild.

If our ultimate goal is to get .NET Core (with .NET 5 approaching to
replace .NET Core and .NET Framework, and eventually Mono as well) we
should maybe invest time into a general .NET build system. I'm not sure.

Thoughts?

Brett
P
P
Pierre Neidhardt wrote on 26 Jul 2020 12:21
(name . Brett Gilio)(address . brettg@gnu.org)(address . 39695@debbugs.gnu.org)
875zaamv9e.fsf@ambrevar.xyz
Brett Gilio <brettg@gnu.org> writes:

Toggle quote (27 lines)
> Pierre Neidhardt <mail@ambrevar.xyz> writes:
>
>> Hi Brett!
>>
>> Brett Gilio <brettg@gnu.org> writes:
>>
>>> Whew! Somebody finally got to it! I tried many times to get mono in a
>>> better shape for Guix, but failed! :) As there are a considerable number
>>> of changes here, would you mind giving a short synopsis of what still
>>> needs to be made before we either reroll a revision or get a final
>>> draft?
>>
>> What still needs to be made? Beside fixing the tests, the patch I've
>> sent seems to have Mono 5 and 6 working.
>>
>> Final draft of what? Sorry, I feel that I'm missing some context :)
>>
>> If your question is about the Mono ecosystem, there is a lot of work
>> left to do. We need a bootstrapped msbuild (the build tool for Mono),
>> and then ideally we would have a mono-build-system. I can detail this
>> if you want to, let me know.
>>
>> Cheers!
>
> Sorry, I wrote this email last night when I was rather tired. I meant to
> say what work still needs to be done on the patch before we commit it.

Nothing essential, the patch can be merged as is, I believe.

Toggle quote (4 lines)
> If our ultimate goal is to get .NET Core (with .NET 5 approaching to
> replace .NET Core and .NET Framework, and eventually Mono as well) we
> should maybe invest time into a general .NET build system. I'm not sure.

Absolutely. The investment is significant ;) Maybe the first step
would be to gather a team of volunteers. This is very low priority for
me personally (I don't even know C#). Maybe posting about this on the
mailing list and other social media could be a good start.

Cheers!

--
Pierre Neidhardt
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl8dWT0ACgkQm9z0l6S7
zH9A8gf/XG3ccwnEFPKgtl7c/3DZ6CxLcPO80lbFfNwbWFIxCN7jH3nEbzcr3lXv
p3UgAQHVhWEpyb+abvFdE7sf1B9OlX8/QgQK0JtH8L2HQeblxpJkDEoYjeSKCXVt
2EMgvBUCYCcN+tXRsHYOfV8KNdZCwBbxBeWwxMlBXD+Vtw2BVvUdNM9zQB1K34/T
zB4rkc2GVt2AZOVZmvtT51xBZ1u8lwGAPON9aDvk3E0Q2BfmRLhDrK1c7nySXPHO
sO/Qxtir5JflwBd9/bnOLDro51J0OPkntQh1uarpUgJcSMtWXisH7HbohmpPRB8y
1+vLy2oQcqLe5TJV6LVM39KwW4sMnQ==
=KLuw
-----END PGP SIGNATURE-----

?