From f13ff502f887d3167c2f482c2b851881c17547e4 Mon Sep 17 00:00:00 2001 From: unmush Date: Tue, 26 Nov 2024 13:04:13 Subject: [PATCH v2 07/21] gnu: Add mono-2.6.4. * gnu/dotnet.scm (mono-2.6.4): New variable. * gnu/packages/patches/mono-2.6.4-fixes.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/dotnet.scm | 23 ++++++++++ gnu/packages/patches/mono-2.6.4-fixes.patch | 49 +++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 gnu/packages/patches/mono-2.6.4-fixes.patch diff --git a/gnu/local.mk b/gnu/local.mk index fa99696e338..99e106df8fc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1827,6 +1827,7 @@ dist_patch_DATA = \ %D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \ %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/mosaicatcher-unbundle-htslib.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \ diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm index ac4dfb67c4c..82bee55aa90 100644 --- a/gnu/packages/dotnet.scm +++ b/gnu/packages/dotnet.scm @@ -522,3 +522,26 @@ (define-public mono-2.4.2 license:lgpl2.0+ ;; note: ./mcs/LICENSE.LGPL specifies no version ;; mcs/jay license:bsd-4)))) + +(define-public mono-2.6.4 + (package + (inherit mono-2.4.2) + (version "2.6.4") + (name "mono") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.winehq.org/mono/mono.git") + (commit (string-append "mono-" "2.6.4")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17977w45qh8jmfsl4bhi83si4fxd8s3x8b0pxnwdzjv3bqr54c85")) + (modules '((guix build utils) + (ice-9 string-fun))) + (snippet prepare-mono-source) + (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))))) diff --git a/gnu/packages/patches/mono-2.6.4-fixes.patch b/gnu/packages/patches/mono-2.6.4-fixes.patch new file mode 100644 index 00000000000..e802c8bb7e4 --- /dev/null +++ b/gnu/packages/patches/mono-2.6.4-fixes.patch @@ -0,0 +1,49 @@ +diff --git a/data/mono.pc.in b/data/mono.pc.in +index 01e0a9e5d41..d43bb187218 100644 +--- a/data/mono.pc.in ++++ b/data/mono.pc.in +@@ -7,8 +7,6 @@ sysconfdir=@sysconfdir@ + Name: Mono + Description: Mono Runtime + Version: @VERSION@ +-## Commented out because SLE hides devel files in the SLE SDK, +-## which not all customers will have. +-#Requires: glib-2.0 gthread-2.0 ++Requires: glib-2.0 gthread-2.0 bdw-gc + Libs: -L${libdir} @export_ldflags@ -lmono @libmono_ldflags@ + Cflags: -I${includedir} @libmono_cflags@ +diff --git a/mono-uninstalled.pc.in b/mono-uninstalled.pc.in +index 7fa3f12dc91..2a0734362fd 100644 +--- a/mono-uninstalled.pc.in ++++ b/mono-uninstalled.pc.in +@@ -1,6 +1,6 @@ + Name: Mono + Description: Mono Runtime + Version: @VERSION@ +-Requires: glib-2.0 gthread-2.0 ++Requires: glib-2.0 gthread-2.0 bdw-gc + Libs: -L@mono_build_root@/mono/mini/.libs @export_ldflags@ -lmono @libmono_ldflags@ + Cflags: -I@abs_top_srcdir@ -I@abs_top_srcdir@/mono @libmono_cflags@ +diff --git a/mono/mini/driver.c b/mono/mini/driver.c +index c4e7f4ccdb3..bb705c0d1fc 100644 +--- a/mono/mini/driver.c ++++ b/mono/mini/driver.c +@@ -1302,6 +1302,7 @@ mono_main (int argc, char* argv[]) + #endif + if (!g_thread_supported ()) + g_thread_init (NULL); ++ GC_allow_register_threads(); + + if (mono_running_on_valgrind () && getenv ("MONO_VALGRIND_LEAK_CHECK")) { + GMemVTable mem_vtable; +diff --git a/runtime/Makefile.am b/runtime/Makefile.am +index da0c0e8671d..9d0deaf182f 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 -- 2.45.2