diff options
-rw-r--r-- | pkgs/development/tools/analysis/sparse/default.nix | 38 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
2 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix new file mode 100644 index 00000000000..294c9872e8b --- /dev/null +++ b/pkgs/development/tools/analysis/sparse/default.nix @@ -0,0 +1,38 @@ +{ fetchurl, stdenv, pkgconfig }: + +stdenv.mkDerivation rec { + name = "sparse-0.4.1"; + + src = fetchurl { + url = "mirror://kernel/software/devel/sparse/dist/${name}.tar.gz"; + sha256 = "18nkgqkqhfp4gdjhdy8xgwxvla5vjccg1kzyz5ngpjw35q0hp5fb"; + }; + + preConfigure = '' + sed -i "Makefile" \ + -e "s|^PREFIX *=.*$|PREFIX = $out|g" + ''; + + buildInputs = [ pkgconfig ]; + + doCheck = true; + + meta = { + description = "Sparse, a semantic parser for C"; + + longDescription = '' + 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. + ''; + + homepage = http://www.kernel.org/pub/software/devel/sparse/; + + # See http://www.opensource.org/licenses/osl.php . + license = "Open Software License v1.1"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3849f357655..7ea8289be12 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2361,6 +2361,10 @@ let pkgs = rec { stdenv = overrideInStdenv stdenv [gnumake380]; }; + sparse = import ../development/tools/analysis/sparse { + inherit fetchurl stdenv pkgconfig; + }; + splint = import ../development/tools/analysis/splint { inherit fetchurl stdenv flex; }; |