Subject: [PATCH 03/21] gnu: Add pnetlib-git.

From: Efraim Flashner <[email-masked]>
Date: Mon, 16 Dec 2024 19:26:26 +0200

From: unmush <[email-masked]>

* gnu/packages/dotnet.scm (pnetlib-git): New variable.

Change-Id: I3a041de181d96bfe9e447d72ddd9578e12db8014
---
 gnu/packages/dotnet.scm | 57 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm
index cd8886c8398..1a027854ced 100644
--- a/gnu/packages/dotnet.scm
+++ b/gnu/packages/dotnet.scm
@@ -159,3 +159,60 @@ (define-public pnet-git
 to build and execute .NET applications, including a C# compiler,
 assembler, disassembler, and runtime engine.")
       (license license:gpl2+))))
+
+(define-public pnetlib-git
+  (let ((version "0.8.0")
+        (commit "c3c12b8b0c65f5482d03d6a4865f7670e98baf4c")
+        (revision "0"))
+    (package
+      (name "pnetlib-git")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url
+                       "https://git.savannah.gnu.org/git/dotgnu-pnet/pnetlib.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04dikki3lr3m1cacirld90rpi95656b2y2mc5rkycb7s0yfdz1nk"))
+                (modules '((guix build utils)))
+                (snippet
+                 #~(begin
+                     (for-each delete-file (filter file-exists?
+                                                   '("configure"
+                                                     "config.guess"
+                                                     "config.sub"
+                                                     "install-sh"
+                                                     "ltmain.sh")))
+                     (for-each delete-file (find-files "." "Makefile(\\.in)?$"))
+                     (substitute* (find-files "tests" "^Makefile\\.am$")
+                       (("TESTS_ENVIRONMENT.*")
+                        (string-append
+                         "LOG_COMPILER = $(SHELL)\n"
+                         "AM_LOG_FLAGS = $(top_builddir)/tools/run_test.sh"
+                         " $(top_builddir)")))
+                     (substitute* "tools/run_test.sh.in"
+                       (("en_US") "en_US.utf8"))
+                     (substitute* "tools/wrapper.sh.in"
+                       (("exec .LN_S clrwrap ..1." all)
+                        (string-append
+                         "echo '#!@SHELL@' >> $1\n"
+                         "echo exec $CLRWRAP"
+                         " $(dirname $(dirname $1))"
+                         "/lib/cscc/lib/$(basename $1).exe >> $1\n"
+                         "chmod +x $1")))))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:make-flags #~(list "CFLAGS+=-Wno-pointer-to-int-cast")))
+      (native-inputs
+       (list autoconf automake libtool treecc))
+      (inputs
+       (list pnet-git))
+      (home-page "http://www.gnu.org/software/dotgnu/html2.0/pnet.html")
+      (synopsis "Libraries for the C# programming language")
+      (description
+       "DotGNU Portable.NET Library contains an implementation of the C# library,
+for use with .NET-capable runtime engines and applications.")
+      (license license:gpl2+))))
-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted