guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: Add cproc.


From: guix-commits
Subject: branch master updated: gnu: Add cproc.
Date: Thu, 07 Jul 2022 16:12:33 -0400

This is an automated email from the git hooks/post-receive script.

apteryx pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 96eb2337b5 gnu: Add cproc.
96eb2337b5 is described below

commit 96eb2337b5c3d43c99979222633987a8e45df4b9
Author: (unmatched-parenthesis <paren@disroot.org>
AuthorDate: Sun May 8 21:25:00 2022 +0100

    gnu: Add cproc.
    
    * gnu/packages/c.scm (cproc): New variable.
    
    Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
 gnu/packages/c.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 5265a15adc..b1f68c706b 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages guile)
@@ -64,6 +65,52 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
 
+(define-public cproc
+  (let ((commit "70fe9ef1810cc6c05bde9eb0970363c35fa7e802")
+        (revision "1"))
+    (package
+      (name "cproc")
+      (version (git-version "0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.sr.ht/~mcf/cproc";)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1qmgzll7z7mn587azkj4cizyyd8ii6iznfxpc66ja08140sbn9yx"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:make-flags
+        #~(list (string-append "CC=" #$(cc-for-target))
+                (string-append "PREFIX=" #$output))
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'configure
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((gcc-lib (assoc-ref inputs "gcc:lib"))
+                      (host-system #$(nix-system->gnu-triplet
+                                      (%current-system)))
+                      (target-system #$(nix-system->gnu-triplet
+                                        (or (%current-target-system)
+                                            (%current-system)))))
+                  (invoke "./configure"
+                          (string-append "--prefix=" #$output)
+                          (string-append "--host=" host-system)
+                          (string-append "--target=" target-system)
+                          (string-append "--with-ld=" #$(ld-for-target))
+                          (string-append "--with-gcc-libdir=" gcc-lib))))))))
+      (inputs `(("qbe" ,qbe)
+                ("gcc:lib" ,gcc "lib")))
+      (supported-systems (list "x86_64-linux" "aarch64-linux"))
+      (synopsis "Simple C11 compiler backed by QBE")
+      (description "@code{cproc} is a C compiler using QBE as a backend,
+ supporting most of C11 along with some GCC and C2x extensions.")
+      (home-page "https://sr.ht/~mcf/cproc";)
+      (license license:expat))))
+
 (define-public tcc
   (package
     (name "tcc")                                  ;aka. "tinycc"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]