nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at netboot-syslinux-multiplatform 603 lines 18 kB view raw
1{ lib 2, stdenv 3, callPackage 4, overrideCC 5, wrapCCWith 6, wrapBintoolsWith 7, runCommand 8, lit 9, glibc 10, spirv-llvm-translator 11, xz 12, swig 13, lua5_3 14, gtest 15, hip 16, rocm-comgr 17, vulkan-loader 18, vulkan-headers 19, glslang 20, shaderc 21, perl 22, rocm-device-libs 23, rocm-runtime 24, elfutils 25, python3Packages 26}: 27 28let 29 # Stage 1 30 # Base 31 llvm = callPackage ./llvm.nix { 32 requiredSystemFeatures = [ "big-parallel" ]; 33 isBroken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344 34 }; 35 36 # Projects 37 clang-unwrapped = callPackage ./llvm.nix rec { 38 targetName = "clang"; 39 targetDir = targetName; 40 extraBuildInputs = [ llvm ]; 41 42 extraCMakeFlags = [ 43 "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 44 "-DCLANG_INCLUDE_DOCS=ON" 45 "-DCLANG_INCLUDE_TESTS=ON" 46 ]; 47 48 extraPostPatch = '' 49 # Looks like they forgot to add finding libedit to the standalone build 50 ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules 51 52 substituteInPlace CMakeLists.txt \ 53 --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" 54 55 # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'` 56 rm test/Analysis/scan-build/*.test 57 rm test/Analysis/scan-build/rebuild_index/rebuild_index.test 58 59 # `does not depend on a module exporting 'baz.h'` 60 rm test/Modules/header-attribs.cpp 61 62 # `fatal error: 'stdio.h' file not found` 63 rm test/OpenMP/amdgcn_emit_llvm.c 64 ''; 65 66 extraPostInstall = '' 67 mv bin/clang-tblgen $out/bin 68 ''; 69 }; 70 71 lld = callPackage ./llvm.nix rec { 72 buildMan = false; # No man pages to build 73 targetName = "lld"; 74 targetDir = targetName; 75 extraBuildInputs = [ llvm ]; 76 extraCMakeFlags = [ "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" ]; 77 checkTargets = [ "check-lld" ]; 78 }; 79 80 # Runtimes 81 runtimes = callPackage ./llvm.nix { 82 buildDocs = false; 83 buildMan = false; 84 buildTests = false; 85 targetDir = "runtimes"; 86 87 targetRuntimes = [ 88 # "libc" https://github.com/llvm/llvm-project/issues/57719 89 "libunwind" 90 "libcxxabi" 91 "libcxx" 92 "compiler-rt" 93 ]; 94 95 extraBuildInputs = [ llvm ]; 96 97 extraCMakeFlags = [ 98 "-DCMAKE_POLICY_DEFAULT_CMP0114=NEW" 99 "-DLIBCXX_INCLUDE_BENCHMARKS=OFF" 100 "-DLIBCXX_CXX_ABI=libcxxabi" 101 ]; 102 103 extraLicenses = [ lib.licenses.mit ]; 104 }; 105 106 # Stage 2 107 # Helpers 108 rStdenv = overrideCC stdenv (wrapCCWith rec { 109 inherit bintools; 110 libcxx = runtimes; 111 cc = clang-unwrapped; 112 113 extraPackages = [ 114 llvm 115 lld 116 ]; 117 118 nixSupport.cc-cflags = [ 119 "-resource-dir=$out/resource-root" 120 "-fuse-ld=lld" 121 "-rtlib=compiler-rt" 122 "-unwindlib=libunwind" 123 "-Wno-unused-command-line-argument" 124 ]; 125 126 extraBuildCommands = '' 127 clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 128 mkdir -p $out/resource-root 129 ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root 130 ln -s ${runtimes}/lib $out/resource-root 131 ''; 132 }); 133 134 bintools = wrapBintoolsWith { bintools = bintools-unwrapped; }; 135 136 bintools-unwrapped = runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' 137 mkdir -p $out/bin 138 139 for prog in ${lld}/bin/*; do 140 ln -s $prog $out/bin/$(basename $prog) 141 done 142 143 for prog in ${llvm}/bin/*; do 144 ln -sf $prog $out/bin/$(basename $prog) 145 done 146 147 ln -s ${llvm}/bin/llvm-ar $out/bin/ar 148 ln -s ${llvm}/bin/llvm-as $out/bin/as 149 ln -s ${llvm}/bin/llvm-dwp $out/bin/dwp 150 ln -s ${llvm}/bin/llvm-nm $out/bin/nm 151 ln -s ${llvm}/bin/llvm-objcopy $out/bin/objcopy 152 ln -s ${llvm}/bin/llvm-objdump $out/bin/objdump 153 ln -s ${llvm}/bin/llvm-ranlib $out/bin/ranlib 154 ln -s ${llvm}/bin/llvm-readelf $out/bin/readelf 155 ln -s ${llvm}/bin/llvm-size $out/bin/size 156 ln -s ${llvm}/bin/llvm-strip $out/bin/strip 157 ln -s ${lld}/bin/lld $out/bin/ld 158 ''; 159in rec { 160 inherit 161 llvm 162 clang-unwrapped 163 lld 164 bintools 165 bintools-unwrapped; 166 167 # Runtimes 168 libc = callPackage ./llvm.nix rec { 169 stdenv = rStdenv; 170 targetName = "libc"; 171 targetDir = "runtimes"; 172 targetRuntimes = [ targetName ]; 173 isBroken = true; # https://github.com/llvm/llvm-project/issues/57719 174 }; 175 176 libunwind = callPackage ./llvm.nix rec { 177 stdenv = rStdenv; 178 buildMan = false; # No man pages to build 179 targetName = "libunwind"; 180 targetDir = "runtimes"; 181 targetRuntimes = [ targetName ]; 182 183 extraCMakeFlags = [ 184 "-DLIBUNWIND_INCLUDE_DOCS=ON" 185 "-DLIBUNWIND_INCLUDE_TESTS=ON" 186 "-DLIBUNWIND_USE_COMPILER_RT=ON" 187 ]; 188 }; 189 190 libcxxabi = callPackage ./llvm.nix rec { 191 stdenv = rStdenv; 192 buildDocs = false; # No documentation to build 193 buildMan = false; # No man pages to build 194 targetName = "libcxxabi"; 195 targetDir = "runtimes"; 196 197 targetRuntimes = [ 198 "libunwind" 199 targetName 200 "libcxx" 201 ]; 202 203 extraCMakeFlags = [ 204 "-DLIBCXXABI_INCLUDE_TESTS=ON" 205 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 206 "-DLIBCXXABI_USE_COMPILER_RT=ON" 207 208 # Workaround having to build combined 209 "-DLIBUNWIND_INCLUDE_DOCS=OFF" 210 "-DLIBUNWIND_INCLUDE_TESTS=OFF" 211 "-DLIBUNWIND_USE_COMPILER_RT=ON" 212 "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 213 "-DLIBUNWIND_INSTALL_HEADERS=OFF" 214 "-DLIBCXX_INCLUDE_DOCS=OFF" 215 "-DLIBCXX_INCLUDE_TESTS=OFF" 216 "-DLIBCXX_USE_COMPILER_RT=ON" 217 "-DLIBCXX_CXX_ABI=libcxxabi" 218 "-DLIBCXX_INSTALL_LIBRARY=OFF" 219 "-DLIBCXX_INSTALL_HEADERS=OFF" 220 ]; 221 }; 222 223 libcxx = callPackage ./llvm.nix rec { 224 stdenv = rStdenv; 225 buildMan = false; # No man pages to build 226 targetName = "libcxx"; 227 targetDir = "runtimes"; 228 229 targetRuntimes = [ 230 "libunwind" 231 "libcxxabi" 232 targetName 233 ]; 234 235 extraCMakeFlags = [ 236 "-DLIBCXX_INCLUDE_DOCS=ON" 237 "-DLIBCXX_INCLUDE_TESTS=ON" 238 "-DLIBCXX_USE_COMPILER_RT=ON" 239 "-DLIBCXX_CXX_ABI=libcxxabi" 240 241 # Workaround having to build combined 242 "-DLIBUNWIND_INCLUDE_DOCS=OFF" 243 "-DLIBUNWIND_INCLUDE_TESTS=OFF" 244 "-DLIBUNWIND_USE_COMPILER_RT=ON" 245 "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 246 "-DLIBUNWIND_INSTALL_HEADERS=OFF" 247 "-DLIBCXXABI_INCLUDE_TESTS=OFF" 248 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 249 "-DLIBCXXABI_USE_COMPILER_RT=ON" 250 "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 251 "-DLIBCXXABI_INSTALL_HEADERS=OFF" 252 ]; 253 254 # Most of these can't find `bash` or `mkdir`, might just be hard-coded paths, or PATH is altered 255 extraPostPatch = '' 256 chmod +w -R ../libcxx/test/{libcxx,std} 257 rm -rf ../libcxx/test/libcxx/input.output/filesystems 258 rm ../libcxx/test/libcxx/selftest/remote-substitutions.sh.cpp 259 rm ../libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp 260 rm ../libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp 261 rm ../libcxx/test/std/utilities/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp 262 rm ../libcxx/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp 263 rm -rf ../libcxx/test/std/utilities/optional/optional.object/optional.object.ctor 264 rm -rf ../libcxx/test/std/input.output/filesystems/{class.directory_entry,class.directory_iterator,class.rec.dir.itr,fs.op.funcs} 265 ''; 266 }; 267 268 compiler-rt = callPackage ./llvm.nix rec { 269 stdenv = rStdenv; 270 buildDocs = false; # No documentation to build 271 buildMan = false; # No man pages to build 272 targetName = "compiler-rt"; 273 targetDir = "runtimes"; 274 275 targetRuntimes = [ 276 "libunwind" 277 "libcxxabi" 278 "libcxx" 279 targetName 280 ]; 281 282 extraCMakeFlags = [ 283 "-DCMAKE_POLICY_DEFAULT_CMP0114=NEW" 284 "-DCOMPILER_RT_INCLUDE_TESTS=ON" 285 "-DCOMPILER_RT_USE_LLVM_UNWINDER=ON" 286 "-DCOMPILER_RT_CXX_LIBRARY=libcxx" 287 "-DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF" # We can't run most of these 288 289 # Workaround having to build combined 290 "-DLIBUNWIND_INCLUDE_DOCS=OFF" 291 "-DLIBUNWIND_INCLUDE_TESTS=OFF" 292 "-DLIBUNWIND_USE_COMPILER_RT=ON" 293 "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 294 "-DLIBUNWIND_INSTALL_HEADERS=OFF" 295 "-DLIBCXXABI_INCLUDE_TESTS=OFF" 296 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 297 "-DLIBCXXABI_USE_COMPILER_RT=ON" 298 "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 299 "-DLIBCXXABI_INSTALL_HEADERS=OFF" 300 "-DLIBCXX_INCLUDE_DOCS=OFF" 301 "-DLIBCXX_INCLUDE_TESTS=OFF" 302 "-DLIBCXX_USE_COMPILER_RT=ON" 303 "-DLIBCXX_CXX_ABI=libcxxabi" 304 "-DLIBCXX_INSTALL_LIBRARY=OFF" 305 "-DLIBCXX_INSTALL_HEADERS=OFF" 306 ]; 307 308 extraPostPatch = '' 309 # `No such file or directory: 'ldd'` 310 substituteInPlace ../compiler-rt/test/lit.common.cfg.py \ 311 --replace "'ldd'," "'${glibc.bin}/bin/ldd'," 312 313 # We can run these 314 substituteInPlace ../compiler-rt/test/CMakeLists.txt \ 315 --replace "endfunction()" "endfunction()''\nadd_subdirectory(builtins)''\nadd_subdirectory(shadowcallstack)" 316 ''; 317 318 extraLicenses = [ lib.licenses.mit ]; 319 }; 320 321 # Stage 3 322 # Helpers 323 rocmClangStdenv = overrideCC stdenv clang; 324 325 clang = wrapCCWith rec { 326 # inherit libc libcxx bintools; 327 inherit libcxx bintools; 328 329 # We do this to avoid HIP pathing problems, and mimic a monolithic install 330 cc = stdenv.mkDerivation (finalAttrs: { 331 inherit (clang-unwrapped) pname version; 332 dontUnpack = true; 333 334 installPhase = '' 335 runHook preInstall 336 337 clang_version=`${clang-unwrapped}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 338 mkdir -p $out/{bin,include/c++/v1,lib/{cmake,clang/$clang_version/{include,lib}},libexec,share} 339 340 for path in ${llvm} ${clang-unwrapped} ${lld} ${libunwind} ${libcxxabi} ${libcxx} ${compiler-rt}; do 341 cp -as $path/* $out 342 chmod +w $out/{*,include/c++/v1,lib/{clang/$clang_version/include,cmake}} 343 rm -f $out/lib/libc++.so 344 done 345 346 ln -s $out/lib/* $out/lib/clang/$clang_version/lib 347 ln -s $out/include/* $out/lib/clang/$clang_version/include 348 349 runHook postInstall 350 ''; 351 352 passthru.isClang = true; 353 }); 354 355 extraPackages = [ 356 llvm 357 lld 358 libunwind 359 libcxxabi 360 compiler-rt 361 ]; 362 363 nixSupport.cc-cflags = [ 364 "-resource-dir=$out/resource-root" 365 "-fuse-ld=lld" 366 "-rtlib=compiler-rt" 367 "-unwindlib=libunwind" 368 "-Wno-unused-command-line-argument" 369 ]; 370 371 extraBuildCommands = '' 372 clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 373 mkdir -p $out/resource-root 374 ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root 375 376 # Not sure why, but hardening seems to make things break 377 rm $out/nix-support/add-hardening.sh 378 touch $out/nix-support/add-hardening.sh 379 380 # GPU compilation uses builtin `lld` 381 substituteInPlace $out/bin/{clang,clang++} \ 382 --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" 383 ''; 384 }; 385 386 # Base 387 # Unfortunately, we cannot build `clang-tools-extra` separately. 388 clang-tools-extra = callPackage ./llvm.nix { 389 stdenv = rocmClangStdenv; 390 buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')` 391 targetName = "clang-tools-extra"; 392 393 targetProjects = [ 394 "clang" 395 "clang-tools-extra" 396 ]; 397 398 extraBuildInputs = [ gtest ]; 399 400 extraCMakeFlags = [ 401 "-DLLVM_INCLUDE_DOCS=OFF" 402 "-DLLVM_INCLUDE_TESTS=OFF" 403 "-DCLANG_INCLUDE_DOCS=OFF" 404 "-DCLANG_INCLUDE_TESTS=ON" 405 "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON" 406 ]; 407 408 extraPostInstall = '' 409 # Remove LLVM and Clang 410 for path in `find ${llvm} ${clang-unwrapped}`; do 411 if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then 412 rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true 413 fi 414 done 415 416 # Cleanup empty directories 417 find $out -type d -empty -delete 418 ''; 419 }; 420 421 # Projects 422 libclc = let 423 spirv = (spirv-llvm-translator.override { inherit llvm; }); 424 in callPackage ./llvm.nix rec { 425 stdenv = rocmClangStdenv; 426 buildDocs = false; # No documentation to build 427 buildMan = false; # No man pages to build 428 targetName = "libclc"; 429 targetDir = targetName; 430 extraBuildInputs = [ spirv ]; 431 432 # `spirv-mesa3d` isn't compiling with LLVM 15.0.0, it does with LLVM 14.0.0 433 # Try removing the `spirv-mesa3d` and `clspv` patches next update 434 # `clspv` tests fail, unresolved calls 435 extraPostPatch = '' 436 substituteInPlace CMakeLists.txt \ 437 --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 438 "find_program( LLVM_CLANG clang PATHS \"${clang}/bin\" NO_DEFAULT_PATH )" \ 439 --replace "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 440 "find_program( LLVM_SPIRV llvm-spirv PATHS \"${spirv}/bin\" NO_DEFAULT_PATH )" \ 441 --replace " spirv-mesa3d-" "" \ 442 --replace " spirv64-mesa3d-" "" \ 443 --replace "NOT \''${t} MATCHES" \ 444 "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES" 445 ''; 446 447 checkTargets = [ ]; 448 }; 449 450 lldb = callPackage ./llvm.nix rec { 451 stdenv = rocmClangStdenv; 452 buildTests = false; # ld.lld: error: unable to find library -lllvm_gtest_main 453 targetName = "lldb"; 454 targetDir = targetName; 455 extraNativeBuildInputs = [ python3Packages.sphinx-automodapi ]; 456 457 extraBuildInputs = [ 458 xz 459 swig 460 lua5_3 461 gtest 462 ]; 463 464 extraCMakeFlags = [ 465 "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" 466 "-DLLDB_INCLUDE_TESTS=ON" 467 "-DLLDB_INCLUDE_UNITTESTS=ON" 468 ]; 469 }; 470 471 mlir = callPackage ./llvm.nix rec { 472 stdenv = rocmClangStdenv; 473 buildDocs = false; # No decent way to hack this to work 474 buildMan = false; # No man pages to build 475 targetName = "mlir"; 476 targetDir = targetName; 477 extraNativeBuildInputs = [ hip ]; 478 479 extraBuildInputs = [ 480 rocm-comgr 481 vulkan-headers 482 vulkan-loader 483 glslang 484 shaderc 485 ]; 486 487 extraCMakeFlags = [ 488 "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 489 "-DMLIR_INCLUDE_DOCS=ON" 490 "-DMLIR_INCLUDE_TESTS=ON" 491 "-DMLIR_ENABLE_ROCM_RUNNER=ON" 492 "-DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON" 493 "-DMLIR_ENABLE_VULKAN_RUNNER=ON" 494 "-DROCM_TEST_CHIPSET=gfx000" # CPU runner 495 ]; 496 497 extraPostPatch = '' 498 chmod +w ../llvm 499 mkdir -p ../llvm/build/bin 500 ln -s ${lit}/bin/lit ../llvm/build/bin/llvm-lit 501 502 substituteInPlace test/CMakeLists.txt \ 503 --replace "FileCheck count not" "" \ 504 --replace "list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)" "" 505 506 substituteInPlace lib/ExecutionEngine/CMakeLists.txt \ 507 --replace "return()" "" 508 509 # Remove problematic tests 510 rm test/CAPI/execution_engine.c 511 rm test/Target/LLVMIR/llvmir-intrinsics.mlir 512 rm test/Target/LLVMIR/llvmir.mlir 513 rm test/Target/LLVMIR/openmp-llvm.mlir 514 rm test/mlir-cpu-runner/*.mlir 515 rm test/mlir-vulkan-runner/*.mlir 516 ''; 517 518 extraPostInstall = '' 519 mkdir -p $out/bin 520 mv bin/mlir-tblgen $out/bin 521 ''; 522 523 checkTargets = [ "check-${targetName}" ]; 524 }; 525 526 polly = callPackage ./llvm.nix rec { 527 stdenv = rocmClangStdenv; 528 targetName = "polly"; 529 targetDir = targetName; 530 checkTargets = [ "check-${targetName}" ]; 531 }; 532 533 flang = callPackage ./llvm.nix rec { 534 stdenv = rocmClangStdenv; 535 buildTests = false; # `Executable "flang1" doesn't exist!` 536 targetName = "flang"; 537 targetDir = targetName; 538 extraNativeBuildInputs = [ python3Packages.sphinx-markdown-tables ]; 539 extraBuildInputs = [ mlir ]; 540 541 extraCMakeFlags = [ 542 "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 543 "-DCLANG_DIR=${clang-unwrapped}/lib/cmake/clang" 544 "-DFLANG_INCLUDE_TESTS=OFF" 545 "-DMLIR_TABLEGEN_EXE=${mlir}/bin/mlir-tblgen" 546 ]; 547 548 extraPostPatch = '' 549 substituteInPlace test/CMakeLists.txt \ 550 --replace "FileCheck" "" \ 551 --replace "count" "" \ 552 --replace "not" "" 553 554 substituteInPlace docs/CMakeLists.txt \ 555 --replace "CLANG_TABLEGEN_EXE clang-tblgen" "CLANG_TABLEGEN_EXE ${clang-unwrapped}/bin/clang-tblgen" 556 ''; 557 }; 558 559 openmp = callPackage ./llvm.nix rec { 560 stdenv = rocmClangStdenv; 561 buildTests = false; # Too many failures, most pass 562 targetName = "openmp"; 563 targetDir = targetName; 564 extraPatches = [ ./0000-fix-openmp.patch ]; 565 extraNativeBuildInputs = [ perl ]; 566 567 extraBuildInputs = [ 568 rocm-device-libs 569 rocm-runtime 570 elfutils 571 ]; 572 573 extraCMakeFlags = [ 574 "-DCMAKE_MODULE_PATH=/build/source/llvm/cmake/modules" # For docs 575 "-DCLANG_TOOL=${clang}/bin/clang" 576 "-DCLANG_OFFLOAD_BUNDLER_TOOL=${clang-unwrapped}/bin/clang-offload-bundler" 577 "-DOPENMP_LLVM_TOOLS_DIR=${llvm}/bin" 578 "-DOPENMP_LLVM_LIT_EXECUTABLE=${lit}/bin/.lit-wrapped" 579 "-DDEVICELIBS_ROOT=${rocm-device-libs.src}" 580 ]; 581 582 extraPostPatch = '' 583 # We can't build this target at the moment 584 substituteInPlace libomptarget/DeviceRTL/CMakeLists.txt \ 585 --replace "gfx1010" "" 586 ''; 587 588 checkTargets = [ "check-${targetName}" ]; 589 extraLicenses = [ lib.licenses.mit ]; 590 }; 591 592 # Runtimes 593 pstl = callPackage ./llvm.nix rec { 594 stdenv = rocmClangStdenv; 595 buildDocs = false; # No documentation to build 596 buildMan = false; # No man pages to build 597 buildTests = false; # Too many errors 598 targetName = "pstl"; 599 targetDir = "runtimes"; 600 targetRuntimes = [ targetName ]; 601 checkTargets = [ "check-${targetName}" ]; 602 }; 603}