{ lib , fetchurl , stdenv , autoPatchelfHook , rocmPackages , zlib , libffi , elfutils }: let # in newer nixpkgs the runtime is hsakmt rocmRuntime = if rocmPackages ? hsakmt then rocmPackages.hsakmt else rocmPackages.rocm-runtime; in stdenv.mkDerivation { pname = "aocc-compiler"; version = "5.0.0"; src = fetchurl { url = "https://download.amd.com/developer/eula/aocc/aocc-5-0/aocc-compiler-5.0.0.tar"; sha256 = "sha256-lm+sLSx1np3m6WnBCtp6ezBsET9/HgfqN2gp7IY4Dao="; }; nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ elfutils zlib rocmRuntime stdenv.cc.cc.lib ]; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; dontStrip = true; installPhase = '' mkdir -p $out cp -a . $out/ ln -s ${lib.getLib libffi}/lib/libffi.so $out/lib/libffi.so.6 ''; passthru = { inherit rocmRuntime; isClang = true; # Needed for wrapCCWith }; meta.mainProgram = "clang"; }