aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/dotnet.scm
diff options
context:
space:
mode:
authorunmush <unmush@hashbang.sh>2024-11-26 13:36:46 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-12-22 15:37:35 +0200
commite87bd7473ad41049240ebe354f30e310363cb4db (patch)
tree4e0c50190267fd872c589b847a4264db235b9a84 /gnu/packages/dotnet.scm
parent959ab3571861989e5462125a4d4c81056f9d9582 (diff)
downloadguix-e87bd7473ad41049240ebe354f30e310363cb4db.tar.gz
guix-e87bd7473ad41049240ebe354f30e310363cb4db.zip
gnu: Add mono-5.4.0.
* gnu/packages/dotnet.scm (mono-5.4.0-external-repo-specs, mono-5.4.0): New variables. * gnu/packages/patches/corefx-mono-5.4.0-patches.patch, gnu/packages/patches/mono-5.4.0-patches.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register new patches. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: I07cc0057390210d9e081298fa113a144e1d3c974
Diffstat (limited to 'gnu/packages/dotnet.scm')
-rw-r--r--gnu/packages/dotnet.scm90
1 files changed, 90 insertions, 0 deletions
diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm
index 46c5113f2f..fa67b6d385 100644
--- a/gnu/packages/dotnet.scm
+++ b/gnu/packages/dotnet.scm
@@ -1133,3 +1133,93 @@ unused0:")))))
#$@prepare-mono-source-0))))
(native-inputs (modify-inputs (package-native-inputs mono-5.1.0)
(replace "mono" mono-5.1.0)))))
+
+(define mono-5.4.0-external-repo-specs
+ '(("aspnetwebstack" "e77b12e6cc5ed260a98447f609e887337e44e299"
+ "0rks344qr4fmp3fs1264d2qkmm348m8d1kjd7z4l94iiirwn1fq1")
+ ("api-doc-tools" "d03e819838c6241f92f90655cb448cc47c9e8791"
+ "1riki79f3ig3cxigviss81dz601hn92a1gifglm0mzjbs76sf3fj"
+ #:recursive? #t)
+ ("api-snapshot" "b09033be33ab25113743151c644c831158c54042"
+ "0z67iqd1brib6ni36pklrp7rlxyhri5nk3px37fm1aacgrnsk7ck")
+ (("reference-assemblies" "binary-reference-assemblies")
+ "142cbeb62ffabf1dd9c1414d8dd76f93bcbed0c2"
+ "1wkd589hgb16m5zvmp9yb57agyyryaa1jj8vhl4w20i2hp22wad9")
+ ("bockbuild" "0efdb371e6d79abc54c0e3bb3689fa1646f4394e"
+ "10qr1m2wa3zb2i3j16i0cq49higjm451bhlqhqd4rlisqn0w8nrv")
+ ("boringssl" "3e0770e18835714708860ba9fe1af04a932971ff"
+ "139a0gl91a52k2r6na6ialzkqykaj1rk88zjrkaz3sdxx7nmmg6y")
+ ("cecil" "c0eb983dac62519d3ae93a689312076aacecb723"
+ "02i3pwpaf6q00pklfmwxhz0lgp83854dyqnvf4c1ys07cs8y1pdk")
+ (("cecil" "cecil-legacy") "33d50b874fd527118bc361d83de3d494e8bb55e1"
+ "1p4hl1796ib26ykyf5snl6cj0lx0v7mjh0xqhjw6qdh753nsjyhb")
+ ("corefx" "9ad53d674e31327abcc60f35c14387700f50cc68"
+ "0ap4g2fj8wsar4xvbc6dkd2l67qalxlcw5laplq3an5nvj2ld65w"
+ #:patches ("corefx-mono-5.4.0-patches.patch"))
+ ("corert" "48dba73801e804e89f00311da99d873f9c550278"
+ "1zw47jf4cwqmaixylisxi73xf6cap41bwf9vlmpxanzxaqklzsvk")
+ ("ikdasm" "1d7d43603791e0236b56d076578657bee44fef6b"
+ "1kw8ykkad55qhapg6jbvqim7vainqlpz8469flm083lpz7pks3sg")
+ (("ikvm-fork" "ikvm") "847e05fced5c9a41ff0f24f1f9d40d5a8a5772c1"
+ "1fl9bm3lmzf8iqv3x4iqkz9fc54mwdvrxisxg2nvwwcsi4saffpi")
+ ("linker" "99354bf5c13b8055209cb082cddc50c8047ab088"
+ "05zlajnqf83xfvn2whh9nql6j85sq12aw26sqmyqz7zcpml171mj")
+ ("Newtonsoft.Json" "471c3e0803a9f40a0acc8aeceb31de6ff93a52c4"
+ "0dgngd5hqk6yhlg40kabn6qdnknm32zcx9q6bm2w31csnsk5978s")
+ (("NuGet.BuildTasks" "nuget-buildtasks")
+ "b58ba4282377bcefd48abdc2d62ce6330e079abe"
+ "1say03fnqkjsx97zacany3sa5j4mhfk827hkwp23ib02q18f7lvp")
+ (("NUnitLite" "nunit-lite") "690603bea98aae69fca9a65130d88591bc6cabee"
+ "1f845ysjzs3yd9gcyww66dnkx484z5fknb8l0xz74sjmxk2mngwc")
+ ;; ("roslyn-binaries" "1904c7d0682a878e2d25b4d49f3475d12fbb9cc6"
+ ;; "")
+ ("rx" "b29a4b0fda609e0af33ff54ed13652b6ccf0e05e"
+ "1n1jwhmsbkcv2d806immcpzkb72rz04xy98myw355a8w5ah25yiv")
+ ;; ("xunit-binaries" "d4433b0972f40cb3efaa3fbba52869bde5df8fa8"
+ ;; "")
+ ))
+
+(define-public mono-5.4.0
+ (package
+ (inherit mono-5.2.0)
+ (version "5.4.0.212")
+ (name "mono")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.winehq.org/mono/mono.git")
+ (commit
+ ;; 5.4.0.135 and before have a bug that makes mono not
+ ;; self-hosting (fails to compile self, example error:
+ ;; System.Data.SqlClient/SqlTransaction.cs(39,22): error
+ ;; CS0738: `System.Data.SqlClient.SqlTransaction' does not
+ ;; implement interface member
+ ;; `System.Data.IDbTransaction.Connection.get' and the best
+ ;; implementing candidate
+ ;; `System.Data.SqlClient.SqlTransaction.Connection.get'
+ ;; return type `System.Data.SqlClient.SqlConnection' does not
+ ;; match interface member return type
+ ;; `System.Data.IDbConnection'
+
+ ;; Note: in above example, SqlConnection implements
+ ;; IDbConnection. My understanding is that for this to
+ ;; compile properly, we need covariant return types, which is
+ ;; a C# 9.0 feature, but somehow the same code has been
+ ;; compiled just fine by previous versions of mono, and is
+ ;; compiled fine by this version, but not specific 5.4.0.XXX
+ ;; versions.
+ "mono-5.4.0.212")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gx3fxz1wlq5fkj7iphv32vg9m78ia74m9pgn9rab4fyq2k9an2y"))
+ (modules '((guix build utils)
+ (ice-9 string-fun)))
+ (snippet #~(begin
+ #$(add-external-repos
+ mono-5.4.0-external-repo-specs)
+ #$@prepare-mono-source-0))
+ (patches (search-patches "mono-5.4.0-patches.patch"))))
+ (native-inputs (modify-inputs (package-native-inputs mono-5.2.0)
+ (replace "mono" mono-5.2.0)))))