pkgs/rocm-packages/llvm.nix (33 lines of code) (raw):

{ gcc12Stdenv, wrapBintoolsWith, wrapCCWith, glibc, }: final: prev: let llvm = final.rocm-llvm; bintools-unwrapped = final.callPackage ./bintools-unwrapped.nix { inherit llvm; }; bintools = wrapBintoolsWith { bintools = bintools-unwrapped; libc = glibc; # TODO: move to unwrapped bintools isLLVM = true; extraBuildCommands = '' wrap ld.lld ${./ld-wrapper.sh} ${bintools-unwrapped}/bin/ld.lld ''; }; clang = final.callPackage ./clang.nix { inherit bintools llvm; stdenv = gcc12Stdenv; }; in { llvm = { inherit bintools-unwrapped; inherit bintools; inherit clang; }; }