about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix
blob: d18673ecb3db4be8824867127dd1f583fe1611c5 (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
37
38
39
40
41
42
{ stdenv
, callPackage
, rocmUpdateScript
, llvm
, clang-unwrapped
, gtest
}:

callPackage ../base.nix rec {
  inherit stdenv rocmUpdateScript;
  buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')`
  targetName = "clang-tools-extra";

  targetProjects = [
    "clang"
    "clang-tools-extra"
  ];

  extraBuildInputs = [ gtest ];

  extraCMakeFlags = [
    "-DLLVM_INCLUDE_DOCS=OFF"
    "-DLLVM_INCLUDE_TESTS=OFF"
    "-DCLANG_INCLUDE_DOCS=OFF"
    "-DCLANG_INCLUDE_TESTS=ON"
    "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON"
  ];

  extraPostInstall = ''
    # Remove LLVM and Clang
    for path in `find ${llvm} ${clang-unwrapped}`; do
      if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then
        rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true
      fi
    done

    # Cleanup empty directories
    find $out -type d -empty -delete
  '';

  requiredSystemFeatures = [ "big-parallel" ];
}