diff options
| author | unmush <unmush@hashbang.sh> | 2024-11-26 12:59:49 +0200 |
|---|---|---|
| committer | Efraim Flashner <efraim@flashner.co.il> | 2024-12-22 15:37:34 +0200 |
| commit | 893bd4a8ef39f33ba5c2cf74a750370ee43c9735 (patch) | |
| tree | f5dd66a33867969a27a18689bbb6c689678305ed /gnu/packages/dotnet.scm | |
| parent | 7d96fa640a6b71af444493f745a93837a7ea3e70 (diff) | |
gnu: Add mono-1.9.1.
* gnu/packages/dotnet.scm (mono-1.9.1): New variable.
* gnu/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch:
New patch.
* gnu/packages/patches/mono-1.9.1-fixes.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register new patches.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I013646625b9e5dbc1cd68ecaf8cf4b591dc016a0
Diffstat (limited to 'gnu/packages/dotnet.scm')
| -rw-r--r-- | gnu/packages/dotnet.scm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm index 427ae286764..1eaa89dfd9c 100644 --- a/gnu/packages/dotnet.scm +++ b/gnu/packages/dotnet.scm @@ -397,3 +397,61 @@ a C-style programming language from Microsoft that is very similar to Java.") license:lgpl2.0+ ;; note: ./mcs/LICENSE.LGPL specifies no version ;; mcs/jay license:bsd-4)))) + +(define-public mono-1.9.1 + (package + (inherit mono-1.2.6) + (version "1.9.1") + (name "mono") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.winehq.org/mono/mono.git") + (commit "mono-1.9.1.1"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0s1n3zdhc2alk9smxfdl1kjz7lz2p19gs0ks4hgr864jlmf13bws")) + (modules '((guix build utils) + (ice-9 string-fun))) + (snippet prepare-mono-source) + (patches (search-patches + "mono-1.9.1-fixes.patch" + "mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch")))) + (native-inputs + (modify-inputs (package-native-inputs mono-1.2.6) + (delete "pnet-git") + (delete "pnetlib-git") + (prepend mono-1.2.6) + (append which) + ;; needed for tests + (append perl))) + (arguments + (substitute-keyword-arguments (package-arguments mono-1.2.6) + ((#:make-flags _ #f) + #~(list #$(string-append "CC=" (cc-for-target)) "V=1")) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'configure 'set-cflags + (lambda _ + ;; apparently can't be set via make flags in this version + (let ((original (getenv "CFLAGS"))) + (setenv "CFLAGS" (string-append (or original "") + (if original " " "") + "-DARG_MAX=500"))))) + (add-before 'configure 'set-create-image-version + (lambda _ + ;; pnet produces v2.x assemblies. Mono does this weird thing + ;; where it always produces assemblies of the same version as + ;; the runtime that is running it, which is based on the + ;; version of the assembly that it loaded, which is based on + ;; what it decided for the previous compiler... on and on all + ;; the way back to pnet. This breaks that chain, because + ;; otherwise it ends up compiling the initial mcs against .NET + ;; 2.0 libraries and then running with .NET 1.0 libraries. + (setenv "MONO_CREATE_IMAGE_VERSION" "v1.1.4322"))) + (add-after 'unpack 'patch-test-driver-shebang + (lambda _ + (patch-shebang "mono/tests/test-driver"))))) + ((#:tests? _ #f) #f) + ((#:parallel-tests? _ #f) #f))))) |
