Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123{ lib, stdenv, fetchFromGitHub,
# nativeBuildInputs docbook_xml_dtd_45, docbook_xsl, installShellFiles, libxslt, pkg-config, python3, which,
# buildInputs pcre,
versionCheckHook, gitUpdater,}:
stdenv.mkDerivation (finalAttrs: { pname = "cppcheck"; version = "2.17.1";
outputs = [ "out" "man" ];
src = fetchFromGitHub { owner = "danmar"; repo = "cppcheck"; tag = finalAttrs.version; hash = "sha256-jsLhVKNr/4RWw2SVNkycm/xbcy1BKIf983oTnaJKV6U="; };
nativeBuildInputs = [ docbook_xml_dtd_45 docbook_xsl installShellFiles libxslt pkg-config python3 which ];
buildInputs = [ pcre (python3.withPackages (ps: [ ps.pygments ])) ];
makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ];
enableParallelBuilding = true; strictDeps = true;
# test/testcondition.cpp:4949(TestCondition::alwaysTrueContainer): Assertion failed. doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); doInstallCheck = true;
postPatch = '' substituteInPlace Makefile \ --replace-fail 'PCRE_CONFIG = $(shell which pcre-config)' 'PCRE_CONFIG = $(PKG_CONFIG) libpcre' '' # Expected: # Internal Error. MathLib::toDoubleNumber: conversion failed: 1invalid # # Actual: # Internal Error. MathLib::toDoubleNumber: input was not completely consumed: 1invalid + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace test/testmathlib.cpp \ --replace-fail \ 'ASSERT_THROW_INTERNAL_EQUALS(MathLib::toDoubleNumber("1invalid"), INTERNAL, "Internal Error. MathLib::toDoubleNumber: conversion failed: 1invalid");' \ "" \ --replace-fail \ 'ASSERT_THROW_INTERNAL_EQUALS(MathLib::toDoubleNumber("1.1invalid"), INTERNAL, "Internal Error. MathLib::toDoubleNumber: conversion failed: 1.1invalid");' \ "" '';
postBuild = '' make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man '';
postInstall = '' installManPage cppcheck.1 '';
nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; installCheckPhase = '' runHook preInstallCheck
echo 'int main() {}' > ./installcheck.cpp $out/bin/cppcheck ./installcheck.cpp > /dev/null
runHook postInstallCheck '';
passthru = { updateScript = gitUpdater { }; };
meta = { description = "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 = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ joachifm ]; platforms = lib.platforms.unix; };})