From de42429040d1754301fe76e5de53deda3e973027 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 26 Nov 2018 19:31:15 +0100 Subject: gnu: mono: Fix build with glibc 2.28. * gnu/packages/mono.scm (mono)[arguments]<#:phases>[fix-includes]: New phase. --- gnu/packages/mono.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu/packages/mono.scm') diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 16c4f71dde..71d7aeac65 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -56,6 +56,13 @@ (lambda _ ;;* (#:key inputs #:allow-other-keys) ;; all tests under mcs/class fail trying to access $HOME (setenv "HOME" "/tmp"))) + (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)) (add-after 'unpack 'patch-tests (lambda _ ;;* (#:key inputs #:allow-other-keys) (substitute* "mono/tests/Makefile.in" -- cgit v1.2.3 From 8160baf8b755cc6217ac263a61724c789fcf49e8 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 26 Nov 2018 21:48:03 +0100 Subject: gnu: mono: End phase with #t. * gnu/packages/mono.scm (mono)[arguments]<#:phases>[set-env]: End with #t. --- gnu/packages/mono.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/mono.scm') diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 71d7aeac65..8ab449dd8e 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -55,7 +55,8 @@ (add-after 'unpack 'set-env (lambda _ ;;* (#:key inputs #:allow-other-keys) ;; all tests under mcs/class fail trying to access $HOME - (setenv "HOME" "/tmp"))) + (setenv "HOME" "/tmp") + #t)) (add-after 'unpack 'fix-includes (lambda _ ;; makedev is in now. Include it. -- cgit v1.2.3 From bc0d24292d776826b8ce9c9aa9d620e33160d1ed Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 27 Nov 2018 00:23:03 +0100 Subject: gnu: mono: Make build reproducible. * gnu/packages/patches/mono-mdoc-timestamping.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/mono.scm (mono)[source]: Use patch. [arguments]<#:phases>[make-reproducible]: New phase. <#:phases>[set-env]: Set SOURCE_DATE_EPOCH. --- gnu/local.mk | 1 + gnu/packages/mono.scm | 11 ++++++++++- gnu/packages/patches/mono-mdoc-timestamping.patch | 15 +++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mono-mdoc-timestamping.patch (limited to 'gnu/packages/mono.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 23af3f67d7..250c773992 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -972,6 +972,7 @@ dist_patch_DATA = \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ + %D%/packages/patches/mono-mdoc-timestamping.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ %D%/packages/patches/mozjs38-pkg-config-version.patch \ diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 8ab449dd8e..17f90fe30a 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -41,7 +41,8 @@ ".tar.bz2")) (sha256 (base32 - "0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn")))) + "0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn")) + (patches (search-patches "mono-mdoc-timestamping.patch")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -52,10 +53,18 @@ (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + (substitute* "mono/mini/Makefile.in" + (("build_date = [^;]*;") + "build_date = (void*) 0;")) + #t)) (add-after 'unpack 'set-env (lambda _ ;;* (#:key inputs #:allow-other-keys) ;; all tests under mcs/class fail trying to access $HOME (setenv "HOME" "/tmp") + ;; ZIP files have "DOS time" which starts in Jan 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") #t)) (add-after 'unpack 'fix-includes (lambda _ diff --git a/gnu/packages/patches/mono-mdoc-timestamping.patch b/gnu/packages/patches/mono-mdoc-timestamping.patch new file mode 100644 index 0000000000..d5191a93eb --- /dev/null +++ b/gnu/packages/patches/mono-mdoc-timestamping.patch @@ -0,0 +1,15 @@ +--- 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 +@@ -74,6 +74,12 @@ + id = GetNewCode (); + + ZipEntry entry = new ZipEntry (id); ++ var SOURCE_DATE_EPOCH_string = Environment.GetEnvironmentVariable("SOURCE_DATE_EPOCH"); ++ if (SOURCE_DATE_EPOCH_string != null) ++ { ++ var SOURCE_DATE_EPOCH = Convert.ToInt64(SOURCE_DATE_EPOCH_string); ++ entry.DateTime = new DateTime(SOURCE_DATE_EPOCH, DateTimeKind.Utc); ++ } + zipOutput.PutNextEntry (entry); + } + -- cgit v1.2.3