{ lib, stdenv, fetchFromGitHub, rocmUpdateScript, cmake, pkg-config, amdsmi, rocm-smi, rocm-runtime, libcap, libdrm, grpc, protobuf, openssl, doxygen, graphviz, texliveSmall, gtest, buildDocs ? true, buildTests ? false, }: let latex = lib.optionalAttrs buildDocs ( texliveSmall.withPackages ( ps: with ps; [ changepage latexmk varwidth multirow hanging adjustbox collectbox stackengine enumitem alphalph wasysym sectsty tocloft newunicodechar etoc helvetic wasy courier ] ) ); in stdenv.mkDerivation (finalAttrs: { pname = "rdc"; version = "7.1.1"; outputs = [ "out" ] ++ lib.optionals buildDocs [ "doc" ] ++ lib.optionals buildTests [ "test" ]; src = fetchFromGitHub { owner = "ROCm"; repo = "rdc"; rev = "rocm-${finalAttrs.version}"; hash = "sha256-oJS0fBeISpgjZkaMfFl/Yq7mPOsdaZDqiRjSPv7kT1Q="; }; patches = [ # https://github.com/ROCm/rocm-systems/pull/2423 ./fix-cmake-cxxflags.patch # https://github.com/ROCm/rocm-systems/pull/2424 ./fix-libcap-pkgconfig.patch ]; nativeBuildInputs = [ cmake pkg-config protobuf ] ++ lib.optionals buildDocs [ doxygen graphviz latex ]; buildInputs = [ amdsmi rocm-smi rocm-runtime libcap libdrm grpc openssl ] ++ lib.optionals buildTests [ gtest ]; cmakeFlags = [ "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DRDC_INSTALL_PREFIX=${placeholder "out"}" "-DBUILD_RVS=OFF" # TODO: Needs RVS package "-DBUILD_ROCRTEST=ON" "-DRSMI_INC_DIR=${rocm-smi}/include" "-DRSMI_LIB_DIR=${rocm-smi}/lib" "-DGRPC_ROOT=${grpc}" # Manually define CMAKE_INSTALL_