Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273{ lib, stdenv, fetchFromGitHub, installShellFiles, pcre, python3, libxslt, docbook_xsl, docbook_xml_dtd_45, which, pkg-config}:
stdenv.mkDerivation rec { pname = "cppcheck"; version = "2.10.3";
src = fetchFromGitHub { owner = "danmar"; repo = "cppcheck"; rev = version; hash = "sha256-M63uHhyEDmuWrEu7Y3Zks1Eq5WgenSlqWln2DMBj3fU="; };
strictDeps = true; nativeBuildInputs = [ pkg-config installShellFiles libxslt docbook_xsl docbook_xml_dtd_45 which python3 ]; buildInputs = [ pcre (python3.withPackages (ps: [ps.pygments])) ];
makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ];
outputs = [ "out" "man" ];
enableParallelBuilding = true;
postPatch = '' substituteInPlace Makefile \ --replace 'PCRE_CONFIG = $(shell which pcre-config)' 'PCRE_CONFIG = $(PKG_CONFIG) libpcre' '';
postBuild = '' make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man '';
postInstall = '' installManPage cppcheck.1 '';
# test/testcondition.cpp:4949(TestCondition::alwaysTrueContainer): Assertion failed. doCheck = !(stdenv.isLinux && stdenv.isAarch64);
doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck
echo 'int main() {}' > ./installcheck.cpp $out/bin/cppcheck ./installcheck.cpp > /dev/null
runHook postInstallCheck '';
meta = with lib; { description = "A static analysis tool for C/C++ code"; longDescription = '' Check C/C++ code for memory leaks, mismatching allocation-deallocation, buffer overruns and more. ''; homepage = "http://cppcheck.sourceforge.net/"; license = licenses.gpl3Plus; platforms = platforms.unix; maintainers = with maintainers; [ joachifm ]; };}