llvmPackages.tblgen: only install the tools we use (#430770)

authored by Emily and committed by GitHub ec67b432 48a82c85

+24 -18
+24 -18
pkgs/development/compilers/llvm/common/tblgen.nix
··· 56 56 else 57 57 src; 58 58 59 + # List of tablegen targets. 60 + targets = [ 61 + "clang-tblgen" 62 + "llvm-tblgen" 63 + ] 64 + ++ lib.optionals (lib.versionAtLeast release_version "15") [ 65 + "clang-tidy-confusable-chars-gen" 66 + ] 67 + ++ lib.optionals (lib.versionAtLeast release_version "16") [ 68 + "mlir-tblgen" 69 + ] 70 + ++ 71 + lib.optionals ((lib.versionAtLeast release_version "15") && (lib.versionOlder release_version "20")) 72 + [ 73 + "clang-pseudo-gen" # Removed in LLVM 20 @ ed8f78827895050442f544edef2933a60d4a7935. 74 + ]; 75 + 59 76 self = stdenv.mkDerivation (finalAttrs: { 60 77 inherit pname version patches; 61 78 62 79 src = src'; 63 80 sourceRoot = "${finalAttrs.src.name}/llvm"; 81 + 82 + __structuredAttrs = true; 64 83 65 84 postPatch = '' 66 85 ( ··· 100 119 ] 101 120 ++ devExtraCmakeFlags; 102 121 103 - # List of tablegen targets. 104 - ninjaFlags = [ 105 - "clang-tblgen" 106 - "llvm-tblgen" 107 - ] 108 - ++ lib.optionals (lib.versionAtLeast release_version "15") [ 109 - "clang-tidy-confusable-chars-gen" 110 - ] 111 - ++ lib.optionals (lib.versionAtLeast release_version "16") [ 112 - "mlir-tblgen" 113 - ] 114 - ++ 115 - lib.optionals ((lib.versionAtLeast release_version "15") && (lib.versionOlder release_version "20")) 116 - [ 117 - "clang-pseudo-gen" # Removed in LLVM 20 @ ed8f78827895050442f544edef2933a60d4a7935. 118 - ]; 122 + ninjaFlags = targets; 123 + 124 + inherit targets; 119 125 120 126 installPhase = '' 121 - mkdir -p $out 122 - cp -ar bin $out/bin 127 + mkdir -p $out/bin 128 + cp "''${targets[@]/#/bin/}" $out/bin 123 129 ''; 124 130 }); 125 131 in