From patchwork Thu Feb 20 16:23:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 20327 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2EE4627BBEA; Thu, 20 Feb 2020 16:24:21 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 8249327BBE4 for ; Thu, 20 Feb 2020 16:24:20 +0000 (GMT) Received: from localhost ([::1]:45484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4ocd-0004Fg-Rr for patchwork@mira.cbaines.net; Thu, 20 Feb 2020 11:24:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56787) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4ocQ-00046H-1Y for guix-patches@gnu.org; Thu, 20 Feb 2020 11:24:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4ocM-0001R8-Ij for guix-patches@gnu.org; Thu, 20 Feb 2020 11:24:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39723) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j4ocM-0001R1-FE for guix-patches@gnu.org; Thu, 20 Feb 2020 11:24:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j4ocM-0004LJ-CG for guix-patches@gnu.org; Thu, 20 Feb 2020 11:24:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39695] [PATCH] [WIP] gnu: mono: Update to 6.8.0.105. Resent-From: Pierre Neidhardt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Feb 2020 16:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 39695 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 39695@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.158221582716665 (code B ref -1); Thu, 20 Feb 2020 16:24:02 +0000 Received: (at submit) by debbugs.gnu.org; 20 Feb 2020 16:23:47 +0000 Received: from localhost ([127.0.0.1]:45696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4oc7-0004Kj-0P for submit@debbugs.gnu.org; Thu, 20 Feb 2020 11:23:47 -0500 Received: from lists.gnu.org ([209.51.188.17]:60107) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4oc4-0004Kb-Td for submit@debbugs.gnu.org; Thu, 20 Feb 2020 11:23:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56724) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4oc2-0003QY-Oi for guix-patches@gnu.org; Thu, 20 Feb 2020 11:23:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4oc0-0001Ll-Fh for guix-patches@gnu.org; Thu, 20 Feb 2020 11:23:42 -0500 Received: from relay10.mail.gandi.net ([217.70.178.230]:46173) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j4oc0-0001KJ-4d for guix-patches@gnu.org; Thu, 20 Feb 2020 11:23:40 -0500 Received: from bababa.home (lfbn-idf2-1-1315-147.w92-169.abo.wanadoo.fr [92.169.129.147]) (Authenticated sender: mail@ambrevar.xyz) by relay10.mail.gandi.net (Postfix) with ESMTPSA id 5187C240006 for ; Thu, 20 Feb 2020 16:23:37 +0000 (UTC) From: Pierre Neidhardt Date: Thu, 20 Feb 2020 17:23:36 +0100 Message-Id: <20200220162336.18848-1-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 X-GND-Spam-Score: 185 X-GND-Status: SPAM X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * 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 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 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 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)