blob: 2e01e4d8f28e926c4b165984c29967f4215d7138 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
{ 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 ];
dontBuild = 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 ];
};
}
|