mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-31 14:56:54 +01:00
gnu: Add mono-2.11.4.
* gnu/packages/dotnet.scm (mono-2.11.4-external-repo-specs, mono-2.11.4): New variables. (add-external-repos): New procedure. * gnu/packages/patches/mono-2.11.4-fixes.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: I0736a501d590309550574941b04db8337662dc30
This commit is contained in:
parent
ff9771114d
commit
60314dbf81
3 changed files with 130 additions and 0 deletions
|
@ -1832,6 +1832,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mono-1.9.1-fixes.patch \
|
||||
%D%/packages/patches/mono-2.4.2.3-fixes.patch \
|
||||
%D%/packages/patches/mono-2.6.4-fixes.patch \
|
||||
%D%/packages/patches/mono-2.11.4-fixes.patch \
|
||||
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||
|
|
|
@ -527,3 +527,96 @@ (define-public mono-2.6.4
|
|||
(patches (search-patches "mono-2.6.4-fixes.patch"))))
|
||||
(native-inputs (modify-inputs (package-native-inputs mono-2.4.2)
|
||||
(replace "mono" mono-2.4.2)))))
|
||||
|
||||
;; submodule checkouts use git://, which isn't supported by github anymore, so
|
||||
;; we need to manually provide them instead of being able to use (recursive?
|
||||
;; #t). Also try not to think too hard about the fact that some of these
|
||||
;; submodules in later versions contain binary compiler blobs which mono
|
||||
;; maintainers presumably used when creating the bootstrap binaries they
|
||||
;; published. All fetched and updated over unauthenticated git://.
|
||||
|
||||
(define mono-2.11.4-external-repo-specs
|
||||
;; format: ({reponame OR (reponame dir-name)} commit-hash origin-sha256) ...
|
||||
;; if reponame starts with https:// it is treated as the repository url,
|
||||
;; otherwise the name of a repository under https://github.com/mono/
|
||||
'(("aspnetwebstack" "1836deff6a2683b8a5b7dd78f2b591a10b47573e"
|
||||
"0vqq45i8k6jylljarr09hqqiwjs8wn0lgjrl6bz72vxqpp0j344k")
|
||||
("cecil" "54e0a50464edbc254b39ea3c885ee91ada730705"
|
||||
"007szbf5a14q838695lwdp7ap6rwzz3kzllgjfnibzlqipw3x2yk")
|
||||
("entityframework" "9baca562ee3a747a41870f45e749e4436b6aca26"
|
||||
"0l8k04bykbrbk5q2pz8hzh8xy8y4ayz7j97fw0kyk3lrai89v5da")
|
||||
("Newtonsoft.Json" "471c3e0803a9f40a0acc8aeceb31de6ff93a52c4"
|
||||
"0dgngd5hqk6yhlg40kabn6qdnknm32zcx9q6bm2w31csnsk5978s")))
|
||||
|
||||
(define (add-external-repos specs)
|
||||
(define (reponame->url reponame)
|
||||
(if (string-prefix? "https://" reponame)
|
||||
reponame
|
||||
(string-append "https://github.com/mono/" reponame)))
|
||||
|
||||
(define* (external-repo-gexp reponame commit hash
|
||||
#:key recursive? (patches '()))
|
||||
(let ((short-commit (string-take commit 6))
|
||||
(reponame (if (pair? reponame) (car reponame)
|
||||
reponame))
|
||||
(dir-name (if (pair? reponame) (cadr reponame)
|
||||
reponame)))
|
||||
#~(copy-recursively #+(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (reponame->url reponame))
|
||||
(commit commit)
|
||||
(recursive? recursive?)))
|
||||
(file-name
|
||||
(git-file-name dir-name
|
||||
short-commit))
|
||||
(sha256 (base32 hash))
|
||||
(patches (map search-patch patches)))
|
||||
#$(string-append "./external/" dir-name))))
|
||||
|
||||
(define (spec->gexp spec)
|
||||
(apply external-repo-gexp spec))
|
||||
|
||||
#~(begin
|
||||
#+@(map spec->gexp specs)))
|
||||
|
||||
(define-public mono-2.11.4
|
||||
(package
|
||||
(inherit mono-2.6.4)
|
||||
(version "2.11.4")
|
||||
(name "mono")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.winehq.org/mono/mono.git")
|
||||
(commit (string-append "mono-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y2bifi2avbjmfp80hjga2dyqip4b46zkvx6yfr9pa2hhm940rpx"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 string-fun)))
|
||||
(snippet #~(begin
|
||||
#$(add-external-repos
|
||||
mono-2.11.4-external-repo-specs)
|
||||
#$prepare-mono-source))
|
||||
(patches (search-patches "mono-2.11.4-fixes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (modify-inputs (package-native-inputs mono-2.6.4)
|
||||
(replace "mono" mono-2.6.4)))
|
||||
(license (list
|
||||
;; most of mcs/tools, mono/man, most of mcs/class, tests by
|
||||
;; default, mono/eglib, mono/metadata/sgen*,
|
||||
;; mono/arch/*/XXX-codegen.h
|
||||
;; mcs/mcs, mcs/gmcs (dual-licensed GPL)
|
||||
;; samples
|
||||
license:x11
|
||||
;; mcs/mcs, mcs/gmcs (dual-licensed X11)
|
||||
;; some of mcs/tools
|
||||
license:gpl1+ ;; note: ./mcs/LICENSE.GPL specifies no version
|
||||
;; mono/mono (the mono VM, I think they meant mono/mini)
|
||||
license:lgpl2.0+ ;; note: ./mcs/LICENSE.LGPL specifies no version
|
||||
;; mcs/jay
|
||||
license:bsd-4
|
||||
;; mcs/class/System.Core/System/TimeZoneInfo.Android.cs
|
||||
license:asl2.0))))
|
||||
|
|
36
gnu/packages/patches/mono-2.11.4-fixes.patch
Normal file
36
gnu/packages/patches/mono-2.11.4-fixes.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
diff --git a/configure.in b/configure.in
|
||||
index 38cc6dc2925..4c608eb150f 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -470,7 +470,7 @@ AC_CHECK_HEADERS(wchar.h)
|
||||
AC_CHECK_HEADERS(ieeefp.h)
|
||||
AC_MSG_CHECKING(for isinf)
|
||||
AC_TRY_LINK([#include <math.h>], [
|
||||
- int f = isinf (1);
|
||||
+ int f = isinf (1.0);
|
||||
], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_ISINF, 1, [isinf available])
|
||||
diff --git a/mono/io-layer/processes.c b/mono/io-layer/processes.c
|
||||
index 586b54715db..d27857aa092 100644
|
||||
--- a/mono/io-layer/processes.c
|
||||
+++ b/mono/io-layer/processes.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <sys/wait.h>
|
||||
diff --git a/runtime/Makefile.am b/runtime/Makefile.am
|
||||
index 6957a287d38..2d071230a84 100644
|
||||
--- a/runtime/Makefile.am
|
||||
+++ b/runtime/Makefile.am
|
||||
@@ -1,6 +1,3 @@
|
||||
-# hack to prevent 'check' from depending on 'all'
|
||||
-AUTOMAKE_OPTIONS = cygnus
|
||||
-
|
||||
tmpinst = _tmpinst
|
||||
|
||||
noinst_SCRIPTS = mono-wrapper monodis-wrapper
|
Loading…
Reference in a new issue