2022-12-14 08:04:14 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchFromGitHub
|
|
|
|
, rocmUpdateScript
|
|
|
|
, substituteAll
|
|
|
|
, cmake
|
|
|
|
, llvm
|
|
|
|
, rocm-runtime
|
|
|
|
, rocminfo
|
|
|
|
, lsb-release
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
|
|
pname = "hipcc";
|
2023-01-15 16:04:53 +00:00
|
|
|
version = "5.4.2";
|
2022-12-14 08:04:14 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ROCm-Developer-Tools";
|
|
|
|
repo = "HIPCC";
|
|
|
|
rev = "rocm-${finalAttrs.version}";
|
|
|
|
hash = "sha256-PEwue4O43MiMkF8UmTeHsmlikBG2V3/nFQLKmtHrRWQ=";
|
|
|
|
};
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
(substituteAll {
|
|
|
|
src = ./0000-fixup-paths.patch;
|
|
|
|
inherit llvm rocminfo;
|
|
|
|
version_major = lib.versions.major finalAttrs.version;
|
|
|
|
version_minor = lib.versions.minor finalAttrs.version;
|
|
|
|
version_patch = lib.versions.patch finalAttrs.version;
|
|
|
|
clang = stdenv.cc;
|
|
|
|
rocm_runtime = rocm-runtime;
|
|
|
|
lsb_release = lsb-release;
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
|
|
|
|
mkdir -p $out/bin
|
|
|
|
mv *.bin $out/bin
|
|
|
|
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
|
|
|
|
|
|
|
passthru.updateScript = rocmUpdateScript {
|
|
|
|
name = finalAttrs.pname;
|
|
|
|
owner = finalAttrs.src.owner;
|
|
|
|
repo = finalAttrs.src.repo;
|
|
|
|
};
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Compiler driver utility that calls clang or nvcc";
|
|
|
|
homepage = "https://github.com/ROCm-Developer-Tools/HIPCC";
|
|
|
|
license = with licenses; [ mit ];
|
|
|
|
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
|
|
|
|
platforms = platforms.linux;
|
2023-01-15 15:59:25 +00:00
|
|
|
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
|
2022-12-14 08:04:14 +00:00
|
|
|
};
|
|
|
|
})
|