guix-commits
[Top][All Lists]
Advanced

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

branch master updated: gnu: Add sparse.


From: guix-commits
Subject: branch master updated: gnu: Add sparse.
Date: Thu, 14 May 2020 10:57:50 -0400

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

janneke pushed a commit to branch master
in repository guix.

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

commit 7adb529949b3c831af674dd32443fea93fb4915c
Author: Jan (janneke) Nieuwenhuizen <address@hidden>
AuthorDate: Thu May 14 16:34:52 2020 +0200

    gnu: Add sparse.
    
    * gnu/packages/c.scm (sparse): New variable.
---
 gnu/packages/c.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 160f456..5718ec6 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2019 Efraim Flashner <address@hidden>
 ;;; Copyright © 2019 Guillaume Le Vaillant <address@hidden>
 ;;; Copyright © 2019 Andreas Enge <address@hidden>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -252,3 +253,38 @@ structures and functions commonly needed, such as maps, 
deques, linked lists,
 string formatting and autoresizing, option and config file parsing, type
 checking casts and more.")
     (license license:lgpl2.1+)))
+
+(define-public sparse
+  (package
+    (name "sparse")
+    (version "0.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "mirror://kernel.org/software/devel/sparse/dist/"
+                              "sparse-"  version ".tar.xz"))
+              (sha256
+               (base32
+                "0qavyryxmhd1rf11akgn1nq3r15k11bqa3qajaq36a56r225rc7x"))))
+    (build-system gnu-build-system)
+    (inputs `(("perl" ,perl)))
+    (arguments
+     '(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (add-after 'unpack 'patch-cgcc
+                    (lambda _
+                      (substitute* "cgcc"
+                        (("'cc'") (string-append "'" (which "gcc") "'")))
+                      #t)))))
+    (synopsis "Semantic C parser for Linux development")
+    (description
+     "Sparse is a semantic parser for C and is required for Linux development.
+It provides a compiler frontend capable of parsing most of ANSI C as well as
+many GCC extensions, and a collection of sample compiler backends, including a
+static analyzer also called @file{sparse}.  Sparse provides a set of
+annotations designed to convey semantic information about types, such as what
+address space pointers point to, or what locks a function acquires or
+releases.")
+    (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page";)
+    (license license:expat)))



reply via email to

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