Add Sparse, a static analysis tool for C.

svn path=/nixpkgs/trunk/; revision=12696
This commit is contained in:
Ludovic Courtès 2008-08-22 18:33:52 +00:00
parent eebb241519
commit 3328fd9d3d
2 changed files with 42 additions and 0 deletions

View File

@ -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";
};
}

View File

@ -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;
};