1{ stdenv, fetchurl, libxslt, docbook_xsl, docbook_xml_dtd_45, pcre }:
2
3stdenv.mkDerivation rec {
4 pname = "cppcheck";
5 version = "1.80";
6 name = "${pname}-${version}";
7
8 src = fetchurl {
9 url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
10 sha256 = "1yx06yhkqlv9849ns7p97mj09gm9j7xc51q7yvzkk8ldvx4d4h88";
11 };
12
13 buildInputs = [ pcre ];
14 nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ];
15
16 makeFlags = ''PREFIX=$(out) CFGDIR=$(out)/cfg HAVE_RULES=yes'';
17
18 outputs = [ "out" "man" ];
19
20 enableParallelBuilding = true;
21
22 postInstall = ''
23 make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man
24 mkdir -p $man/share/man/man1
25 cp cppcheck.1 $man/share/man/man1/cppcheck.1
26 '';
27
28 meta = with stdenv.lib; {
29 description = "A static analysis tool for C/C++ code";
30 longDescription = ''
31 Check C/C++ code for memory leaks, mismatching allocation-deallocation,
32 buffer overruns and more.
33 '';
34 homepage = http://cppcheck.sourceforge.net/;
35 license = licenses.gpl3Plus;
36 platforms = platforms.unix;
37 maintainers = with maintainers; [ joachifm ];
38 };
39}