GNU bug report logs - #57625
gnu: Add pnet.

Previous Next

Package: guix-patches;

Reported by: Adam Faiz <adam.faiz <at> disroot.org>

Date: Tue, 6 Sep 2022 14:55:02 UTC

Severity: normal

Tags: patch

Merged with 74609

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 57625 <at> debbugs.gnu.org (full text, mbox):

From: Adam Faiz <adam.faiz <at> disroot.org>
To: 57625 <at> debbugs.gnu.org
Subject: WIP: gnu: Add pnet.
Date: Tue, 6 Sep 2022 23:53:44 +0800
From c1283813b73f0fd076f4007851d25db99ee2fe7a Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz <at> disroot.org>
Date: Tue, 6 Sep 2022 16:04:09 +0800
Subject: [PATCH 3/3] WIP: gnu: Add pnet.

* gnu/packages/dotgnu.scm (pnet): New variable.
---
 gnu/packages/dotgnu.scm | 66 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/dotgnu.scm b/gnu/packages/dotgnu.scm
index 14e11b3653..976c4f1f15 100644
--- a/gnu/packages/dotgnu.scm
+++ b/gnu/packages/dotgnu.scm
@@ -50,3 +50,69 @@ (define-public treecc
 and other language-based tools.  It manages the generation of code to 
handle
 abstract syntax trees and operations upon the trees.")
     (license license:gpl2+)))
+
+(define-public pnet
+  (package
+    (name "pnet")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+ 
"https://download.savannah.gnu.org/releases/dotgnu-pnet/pnet-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1fsi8nkgvawjib2n4kyygfhfr31637bin84xkmr0apvsavihld7i"))))
+    (build-system gnu-build-system)
+    (native-inputs (list automake autoconf libatomic-ops))
+    (inputs (list treecc libffi libgc libgc-private-headers-for-pnet))
+    (arguments
+     (list #:configure-flags
+           #~(list
+              (string-append "CPPFLAGS=-I" #$libffi "/include/ffi"
+                             " -I" #$libgc "/include/gc"
+                             " -I" #$libgc-private-headers-for-pnet 
"/include/private"))
+           #:make-flags
+           #~(list (string-append "GCLIBS=")) ; libgc is already in the 
linker path
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'unbundle-dependencies
+                 (lambda _
+                   (for-each delete-file-recursively '("libffi" "libgc"))))
+               (add-before 'configure 'fix-makefile
+                 (lambda _
+                   (substitute* "configure.in" ; Fix missing reference 
to RANLIB
+                     (("AC_PROG_MAKE_SET")
+                      "AC_PROG_MAKE_SET\nAC_PROG_RANLIB"))
+                   (substitute* "Makefile.am" ; Fix to not require 
bundled dependencies
+                     (("OPT_SUBDIRS \\+= lib.*") ""))
+                   ; Fix bug where codegen/*.c files aren't compiled in 
install
+                   (substitute* "codegen/Makefile.in"
+                     (("$(MAKE) $(AM_MAKEFLAGS) install-am")
+                      "$(MAKE) $(AM_MAKEFLAGS) install-am\n\t.c.o 
$(TREECC_SRCOUT)"))
+                   (invoke "autoconf")
+                   (invoke "aclocal")
+                   (invoke "automake" "--add-missing")
+                   (invoke "automake")))
+               (add-before 'build 'fix-headers
+                 (lambda _
+                   (substitute* "support/hb_gc.c"
+                     (("#include .*/libgc/include/gc.h.") "#include 
<gc.h>")
+                     (("#include .*/libgc/include/gc_typed.h.") 
"#include <gc_typed.h>"))
+                   (substitute* "support/pt_defs.c"
+                     (("#include <errno.h>")
+                      "#include <errno.h>\n#include 
<gc_pthread_redirects.h>"))))
+               (add-after 'fix-headers 'replace-removed-libgc-function
+                 (lambda _
+                   (substitute* "support/thread.c"
+                     ; Maybe GC_CreateThread can be used as replacement?
+                     (("result = GC_run_thread.*;")
+                      "result = thread_func(arg);")))))))
+    (home-page "http://www.gnu.org/software/dotgnu/html2.0/pnet.html")
+    (synopsis "Bootstrap compiler and libraries for the C# programming 
language")
+    (description
+     "The goal of this project is to build a suite of Free Software tools
+to build and execute .NET applications, including a C# compiler,
+assembler, disassembler, and runtime engine.  The initial target
+platform is GNU/Linux, with other platforms to follow in the future.")
+    (license license:gpl2+)))
-- 
2.37.2



I also could use help with the (substitute* "codegen/Makefile.in" ...) 
part, since I don't know how what the proper regexp is to make it match.




This bug report was last modified 154 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.