{ stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper }: stdenv.mkDerivation rec { name = "clang-analyzer-${version}"; version = "3.4"; src = fetchurl { url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; }; patches = [ ./0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch ]; buildInputs = [ clang llvmPackages.clang perl makeWrapper ]; buildPhase = "true"; installPhase = '' mkdir -p $out/bin $out/libexec cp -R tools/scan-view $out/libexec cp -R tools/scan-build $out/libexec makeWrapper $out/libexec/scan-view/scan-view $out/bin/scan-view makeWrapper $out/libexec/scan-build/scan-build $out/bin/scan-build \ --add-flags "--use-cc=${clang}/bin/clang" \ --add-flags "--use-c++=${clang}/bin/clang++" \ --add-flags "--use-analyzer='${llvmPackages.clang}/bin/clang'" ''; meta = { description = "Clang Static Analyzer"; homepage = "http://clang-analyzer.llvm.org"; license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; }