summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorunmush <unmush@hashbang.sh>2024-11-26 13:25:00 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-12-22 15:37:34 +0200
commit011759c1cd2f52d6543d30561bc6815693918032 (patch)
tree367355381bf519e014b386abab796efc8981d0e3 /gnu
parent5989da223e65ce2fcea1c5f46ad5256208beb0e4 (diff)
gnu: Add mono-4.9.0.
* gnu/packages/dotnet.scm (mono-4.9.0): New variable. * gnu/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: If805f64b97d27db4457503617081700d9b4f642b
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/dotnet.scm128
-rw-r--r--gnu/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch13
3 files changed, 142 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8c702f0e273..607e6c734da 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1833,6 +1833,7 @@ dist_patch_DATA = \
1833 %D%/packages/patches/mono-2.4.2.3-fixes.patch \ 1833 %D%/packages/patches/mono-2.4.2.3-fixes.patch \
1834 %D%/packages/patches/mono-2.6.4-fixes.patch \ 1834 %D%/packages/patches/mono-2.6.4-fixes.patch \
1835 %D%/packages/patches/mono-2.11.4-fixes.patch \ 1835 %D%/packages/patches/mono-2.11.4-fixes.patch \
1836 %D%/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch \
1836 %D%/packages/patches/mosaicatcher-unbundle-htslib.patch \ 1837 %D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
1837 %D%/packages/patches/mrrescue-support-love-11.patch \ 1838 %D%/packages/patches/mrrescue-support-love-11.patch \
1838 %D%/packages/patches/mtools-mformat-uninitialized.patch \ 1839 %D%/packages/patches/mtools-mformat-uninitialized.patch \
diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm
index 1ff824cbb21..5ab53eef0b4 100644
--- a/gnu/packages/dotnet.scm
+++ b/gnu/packages/dotnet.scm
@@ -733,3 +733,131 @@ a C-style programming language from Microsoft that is very similar to Java.")
733 ;; for some reason a default is only used if this is empty, not 733 ;; for some reason a default is only used if this is empty, not
734 ;; if it is unset. 734 ;; if it is unset.
735 (setenv "TZ" ""))))))))) 735 (setenv "TZ" "")))))))))
736
737(define mono-4.9.0-external-repo-specs
738 ;; format: ({reponame OR (reponame dir-name)} commit sha256) ...
739 '(("aspnetwebstack" "e77b12e6cc5ed260a98447f609e887337e44e299"
740 "0rks344qr4fmp3fs1264d2qkmm348m8d1kjd7z4l94iiirwn1fq1")
741 ;; (("reference-assemblies" "binary-reference-assemblies")
742 ;; "6c77197318fe85dfddf75a1b344b9bf8d0007b0b"
743 ;; "11hbs952srjlsiyin76y2llm5rfjkwjc67ya1i3p0pw193zw14jk")
744 ;; According to github description this is a "custom" fork of boringssl
745 ("boringssl" "c06ac6b33d3e7442ad878488b9d1100127eff998"
746 "187zpi1rvh9i6jfccwzqq337rxxi1rgny6mjq79r08dlrh0lydzc")
747 ("buildtools" "9b6ee8686be55a983d886938165b6206cda50772"
748 "0sjw3swavcmijynmaxh647qpkjsbgihdr8lhkyzf8dsprhlq4fxd")
749 ("cecil" "2b39856e80d8513f70bc3241ed05325b0de679ae"
750 "0vvax32r6bnhvrcvis83gdrdqcgyxb704hz28g9q0wnay4knqxdm")
751 (("cecil" "cecil-legacy") "33d50b874fd527118bc361d83de3d494e8bb55e1"
752 "1p4hl1796ib26ykyf5snl6cj0lx0v7mjh0xqhjw6qdh753nsjyhb")
753 ;; ("debian-snapshot" "9342f8f052f81deaba789f030db23a88b4369724"
754 ;; "")
755 ("ikdasm" "e4deabf61c11999f200dcea6f6d6b42474cc2131"
756 "1frbf70y7n7l72j393avdiwk6153cvfwwpighkf2m46clqmq4han")
757 (("ikvm-fork" "ikvm") "367864ef810859ae3ce652864233b35f2dd5fdbe"
758 "0ig99kbma4s0mzb13nzsk1vm200ygfr11q6mzgh6jj46s2fc35px")
759 ("Lucene.Net.Light" "85978b7eb94738f516824341213d5e94060f5284"
760 "0d118i52m3a0vfjhfci81a2kc4qvnj23gs02hrvdrfpd1q92fyii")
761 ("Newtonsoft.Json" "471c3e0803a9f40a0acc8aeceb31de6ff93a52c4"
762 "0dgngd5hqk6yhlg40kabn6qdnknm32zcx9q6bm2w31csnsk5978s")
763 ("nuget-buildtasks" "04bdab55d8de9edcf628694cfd2001561e8f8e60"
764 "1nklxayxkdskg5wlfl44cndzqkl18v561rz03hwx7wbn5w89q775")
765 ("nunit-lite" "4bc79a6da1f0ee538560b7e4d0caff46d3c86e4f"
766 "085fpabjw47rn8hb5zw6wizsg2jrgdbj9rnlar9lrls40wig272q")
767 ("rx" "b29a4b0fda609e0af33ff54ed13652b6ccf0e05e"
768 "1n1jwhmsbkcv2d806immcpzkb72rz04xy98myw355a8w5ah25yiv")))
769
770(define-public mono-4.9.0
771 (package
772 (inherit mono-3.12.1)
773 (version "4.9.0")
774 (name "mono")
775 (source (origin
776 (method git-fetch)
777 (uri
778 (git-reference
779 (url "https://gitlab.winehq.org/mono/mono.git")
780 ;; some commit chosen after configure.ac was updated to make
781 ;; the version >= 4.9.0
782 (commit "5a3736606e6243d2c84d4df2cf35c284214b8cc4")))
783 (file-name (git-file-name name version))
784 (sha256
785 (base32
786 "0vqkkqkaqwbii4hdzg0vffyy31fz1kmmsa67jyqwxdsvgpjszih3"))
787 (modules '((guix build utils)
788 (ice-9 string-fun)))
789 (snippet #~(begin
790 #$(add-external-repos
791 mono-4.9.0-external-repo-specs)
792 #$prepare-mono-source))
793 (patches (search-patches
794 ;; Saves us an extra intermediate step
795 "mono-4.9.0-fix-runtimemetadataversion.patch"))))
796 (native-inputs (modify-inputs (package-native-inputs mono-3.12.1)
797 (replace "mono" mono-3.12.1)
798 (append tzdata-for-tests)))
799 (arguments
800 (substitute-keyword-arguments (package-arguments mono-3.12.1)
801 ((#:configure-flags _ #f)
802 ;; "External Boehm is no longer supported" - I VILL NOT use the
803 ;; bundled software!
804 #~(list "--with-sgen=yes"
805 "--disable-boehm"
806 "--with-csc=mcs"))
807 ((#:phases phases #~%standard-phases)
808 #~(modify-phases #$phases
809 (add-before 'configure 'set-TZDIR
810 (lambda* (#:key native-inputs inputs #:allow-other-keys)
811 (search-input-directory (or native-inputs inputs)
812 "share/zoneinfo")))
813 (add-after 'unpack 'use-old-mono-libraries
814 ;; At this point in history mono had not, to my knowledge,
815 ;; deigned to grace us with the actual sources to the binaries
816 ;; shipped in external/binary-reference-assemblies, so just copy
817 ;; the libraries from an older mono for now I guess.
818 (lambda _
819 (substitute* "mcs/class/reference-assemblies/Makefile"
820 (("\\.\\./\\.\\./\\.\\./external/binary-reference-assemblies/v")
821 (string-append #$(this-package-native-input "mono")
822 "/lib/mono/")))))
823 (add-after 'unpack 'disable-Microsoft.Build.Tasks-tests
824 (lambda _
825 ;; These fail for unknown reasons
826 (substitute* "mcs/class/Microsoft.Build.Tasks/Makefile"
827 (("^include ../../build/library.make" all)
828 (string-append
829 all "\nrun-test-recursive:\n\t@echo skipping tests\n")))))))))
830 (license (list
831 ;; most of mcs/tools, mono/man, most of mcs/class, tests by
832 ;; default, mono/eglib, mono/metadata/sgen*,
833 ;; mono/arch/*/XXX-codegen.h
834 ;; mcs/mcs, mcs/gmcs (dual-licensed GPL)
835 ;; samples
836 license:x11
837 ;; mcs/mcs, mcs/gmcs (dual-licensed X11)
838 ;; some of mcs/tools
839 license:gpl1+ ;; note: ./mcs/LICENSE.GPL specifies no version
840 ;; mono/mono (the mono VM, I think they meant mono/mini)
841 ;; mono/support (note: directory doesn't exist, probably meant
842 ;; ./support, but that contains a copy of zlib?)
843 license:lgpl2.0+ ;; note: ./mcs/LICENSE.LGPL specifies no version
844 ;; mcs/jay, mono/utils/memcheck.h
845 license:bsd-4
846 ;; mono/utils/bsearch.c, mono/io-layer/wapi_glob.{h,c}
847 license:bsd-3
848 ;; mono/utils/freebsd-{dwarf,elf_common,elf64,elf32}.h
849 license:bsd-2
850 ;; mcs/class/System.Core/System/TimeZoneInfo.Android.cs
851 ;; mcs/class/RabbitMQ.Client (dual licensed mpl1.1)
852 license:asl2.0
853 ;; ./support, contains a copy of zlib, incl. ./support/minizip
854 license:zlib
855 ;; mono/docs/HtmlAgilityPack, mcs/unit24
856 license:ms-pl
857 ;; mcs/class/I18N/mklist.sh, mono/benchmark/{zipmark,logic}.cs
858 ;; mcs/class/{,Compat.}ICSharpCode.SharpZipLib
859 license:gpl2+
860 ;; mcs/class/RabbitMQ.Client (dual licensed asl2.0)
861 license:mpl1.1
862 ;; API Documentation
863 license:cc-by4.0))))
diff --git a/gnu/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch b/gnu/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch
new file mode 100644
index 00000000000..ec5bad9ae12
--- /dev/null
+++ b/gnu/packages/patches/mono-4.9.0-fix-runtimemetadataversion.patch
@@ -0,0 +1,13 @@
1diff --git a/mcs/mcs/settings.cs b/mcs/mcs/settings.cs
2index 1393bcd58f3..af5febe7cf6 100644
3--- a/mcs/mcs/settings.cs
4+++ b/mcs/mcs/settings.cs
5@@ -1197,7 +1197,7 @@ namespace Mono.CSharp {
6 }
7 return ParseResult.Success;
8
9- case "runtimemetadataversion":
10+ case "/runtimemetadataversion":
11 if (value.Length == 0) {
12 Error_RequiresArgument (option);
13 return ParseResult.Error;