diff options
Diffstat (limited to 'pkgs/development/tools/analysis/clang-analyzer/default.nix')
-rw-r--r-- | pkgs/development/tools/analysis/clang-analyzer/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix new file mode 100644 index 00000000000..50583f65f60 --- /dev/null +++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix @@ -0,0 +1,35 @@ +{ 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 ]; + }; +} |