* gnu/packages/sparse.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages/licenses.scm: Add the Open Software License. --- Hey!
This patch adds sparse. I had to add the Open Software License to guix/licenses.scm. Debian does not think of it as a Free Software license, but I think it's OK with GNU. May I push ? Cyril. Makefile.am | 1 + gnu/packages/sparse.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++ guix/licenses.scm | 6 +++++ 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/sparse.scm diff --git a/Makefile.am b/Makefile.am index bed4d06..a22d54c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -145,6 +145,7 @@ MODULES = \ gnu/packages/screen.scm \ gnu/packages/shishi.scm \ gnu/packages/smalltalk.scm \ + gnu/packages/sparse.scm \ gnu/packages/sqlite.scm \ gnu/packages/ssh.scm \ gnu/packages/subversion.scm \ diff --git a/gnu/packages/sparse.scm b/gnu/packages/sparse.scm new file mode 100644 index 0000000..f38c639 --- /dev/null +++ b/gnu/packages/sparse.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt <[email protected]> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages sparse) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl)) + +(define-public sparse + (package + (name "sparse") + (version "0.4.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.kernel.org/pub/software/devel/sparse/dist/" + "sparse-" version ".tar.bz2")) + (sha256 + (base32 + "1bv50z84blz3qdh22jk6ay1aga30zwm18x2w1gf6fzjn6dz3pkjp")))) + (build-system gnu-build-system) + (arguments + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "make" "install" + (string-append "PREFIX=" out))))) + (alist-delete 'configure %standard-phases)))) + (inputs + `(("perl" ,perl))) + (home-page "https://sparse.wiki.kernel.org/") + (synopsis "A semantic parser") + (description + "Sparse, the semantic parser, 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 \"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. + +Linus Torvalds started writing Sparse in 2003, initially targeting issues such +as mixing pointers to user address space and pointers to kernel address space. + +Josh Triplett maintained Sparse 2006~2009. As of 2009, Christopher Li is the +current maintainer of Sparse.") + (license osl))) diff --git a/guix/licenses.scm b/guix/licenses.scm index 4e4aee2..4424e67 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -36,6 +36,7 @@ lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ mpl2.0 openldap2.8 openssl + osl psfl public-domain qpl vim @@ -211,6 +212,11 @@ which may be a file:// URI pointing the package's tree." "https://www.gnu.org/licenses/license-list#newOpenLDAP")) ;; lists OpenLDAPv2.7, which is virtually identical +(define osl + (license "Open Software License" + "http://directory.fsf.org/wiki/License:OSLv3.0" + "https://www.gnu.org/licenses/license-list.html#OSL")) + (define psfl (license "Python Software Foundation License" "http://docs.python.org/license.html" -- 1.7.10.4
