@@ -95,37 +95,28 @@ stdenv.mkDerivation (
9595 ( lib . cmakeFeature "CLANG_INSTALL_PACKAGE_DIR" "${ placeholder "dev" } /lib/cmake/clang" )
9696 ( lib . cmakeBool "CLANGD_BUILD_XPC" false )
9797 ( lib . cmakeBool "LLVM_ENABLE_RTTI" true )
98+ ( lib . cmakeBool "LLVM_INCLUDE_TESTS" false )
9899 ( lib . cmakeFeature "LLVM_TABLEGEN_EXE" "${ buildLlvmTools . tblgen } /bin/llvm-tblgen" )
99100 ( lib . cmakeFeature "CLANG_TABLEGEN" "${ buildLlvmTools . tblgen } /bin/clang-tblgen" )
101+ ( lib . cmakeFeature "CLANG_TIDY_CONFUSABLE_CHARS_GEN" "${ buildLlvmTools . tblgen } /bin/clang-tidy-confusable-chars-gen" )
100102 ]
103+ ++ lib . optional ( lib . versionAtLeast release_version "20" ) (
104+ lib . cmakeFeature "LLVM_DIR" "${ libllvm . dev } /lib/cmake/llvm"
105+ )
101106 ++ lib . optionals ( lib . versionAtLeast release_version "21" ) [
102107 ( lib . cmakeFeature "CLANG_RESOURCE_DIR" "${ placeholder "lib" } /lib/clang/${ lib . versions . major release_version } " )
103108 ]
104- # TODO: Clean up on `staging`.
105- ++ [
106- ( lib . cmakeBool "LLVM_INCLUDE_TESTS" false )
107- ]
108109 ++ lib . optionals enableManpages [
109110 ( lib . cmakeBool "CLANG_INCLUDE_DOCS" true )
110111 ( lib . cmakeBool "LLVM_ENABLE_SPHINX" true )
111112 ( lib . cmakeBool "SPHINX_OUTPUT_MAN" true )
112113 ( lib . cmakeBool "SPHINX_OUTPUT_HTML" false )
113114 ( lib . cmakeBool "SPHINX_WARNINGS_AS_ERRORS" false )
114115 ]
115- # TODO: Clean up on `staging`.
116- ++ [
117- # Added in LLVM15:
118- # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb
119- # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7
120- ( lib . cmakeFeature "CLANG_TIDY_CONFUSABLE_CHARS_GEN" "${ buildLlvmTools . tblgen } /bin/clang-tidy-confusable-chars-gen" )
121- ]
122116 ++ lib . optionals ( lib . versionOlder release_version "20" ) [
123117 # clang-pseudo removed in LLVM20: https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935
124118 ( lib . cmakeFeature "CLANG_PSEUDO_GEN" "${ buildLlvmTools . tblgen } /bin/clang-pseudo-gen" )
125119 ]
126- ++ lib . optional ( lib . versionAtLeast release_version "20" ) (
127- lib . cmakeFeature "LLVM_DIR" "${ libllvm . dev } /lib/cmake/llvm"
128- )
129120 ++ devExtraCmakeFlags ;
130121
131122 postPatch = ''
@@ -173,20 +164,13 @@ stdenv.mkDerivation (
173164 patchShebangs $python/bin
174165
175166 mkdir -p $dev/bin
176- ''
177- # TODO(@LunNova): Clean up this rebuild avoidance in staging
178- + lib . optionalString enableClangToolsExtra (
179- if lib . versionOlder release_version "20" then
180- ''
181- cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin
182- ''
183- else
184- ''
185- cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen} $dev/bin
186- ''
187- )
188- + lib . optionalString ( ! enableClangToolsExtra ) ''
189167 cp bin/clang-tblgen $dev/bin
168+ ''
169+ + lib . optionalString enableClangToolsExtra ''
170+ cp bin/clang-tidy-confusable-chars-gen $dev/bin
171+ ''
172+ + lib . optionalString ( enableClangToolsExtra && lib . versionOlder release_version "20" ) ''
173+ cp bin/clang-pseudo-gen $dev/bin
190174 '' ;
191175
192176 env =
0 commit comments