lol

cppcheck: 2.9.3 -> 2.10

Note, the "bug hunting" feature was removed from version 2.10. It is
now only available in the "premium" version of cppcheck. See

https://github.com/danmar/cppcheck/commit/8f386e15fdedff37486c683d933ccc9a1e307388

We also add a basic installation check to avoid issues in the future.

+21 -13
+21 -13
pkgs/development/tools/analysis/cppcheck/default.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchFromGitHub 4 + , installShellFiles 4 5 , pcre 5 6 , python3 6 7 , libxslt 7 8 , docbook_xsl 8 9 , docbook_xml_dtd_45 9 - , withZ3 ? true 10 - , z3 11 10 , which 12 11 }: 13 12 14 13 stdenv.mkDerivation rec { 15 14 pname = "cppcheck"; 16 - version = "2.9.3"; 15 + version = "2.10"; 17 16 18 17 src = fetchFromGitHub { 19 18 owner = "danmar"; 20 19 repo = "cppcheck"; 21 20 rev = version; 22 - hash = "sha256-AaZzr5r+tpG5M40HSx45KCUBPhN/nSpXxS5H3FuSx2c="; 21 + hash = "sha256-Ss35foFlh4sw6TxMp++0b9E5KDUjBpDPuWIHsak8OGY="; 23 22 }; 24 23 25 - buildInputs = [ pcre 26 - (python3.withPackages (ps: [ps.pygments])) 27 - ] ++ lib.optionals withZ3 [ z3 ]; 28 - nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 which ]; 24 + buildInputs = [ pcre (python3.withPackages (ps: [ps.pygments])) ]; 25 + nativeBuildInputs = [ installShellFiles libxslt docbook_xsl docbook_xml_dtd_45 which ]; 29 26 30 - makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ] 31 - ++ lib.optionals withZ3 [ "USE_Z3=yes" "CPPFLAGS=-DNEW_Z3=1" ]; 27 + makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ]; 32 28 33 29 outputs = [ "out" "man" ]; 34 30 35 31 enableParallelBuilding = true; 36 32 33 + postBuild = '' 34 + make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man 35 + ''; 36 + 37 37 doCheck = true; 38 38 39 39 postInstall = '' 40 - make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man 41 - mkdir -p $man/share/man/man1 42 - cp cppcheck.1 $man/share/man/man1/cppcheck.1 40 + installManPage cppcheck.1 41 + ''; 42 + 43 + doInstallCheck = true; 44 + installCheckPhase = '' 45 + runHook preInstallCheck 46 + 47 + echo 'int main() {}' > ./installcheck.cpp 48 + $out/bin/cppcheck ./installcheck.cpp > /dev/null 49 + 50 + runHook postInstallCheck 43 51 ''; 44 52 45 53 meta = with lib; {