Change:
The build for a lot of ROCm components broke with , which updated CMake from 3.29.0 to 3.29.1, basically breaking all of ROCm. This commit was merged via and recently made its way from staging into unstable in the last few days. Steps to reproduce the behavior: The builds for a number of ROCm components now fail with error messages like the following: This is possible related to how ROCm uses of CMake incorrectly. See , , and I have posted about this issue on the CMake discourse to verify if this is considered a bug in CMake, as suggested by <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The first recommendation we got from CMake was updating to 3.29.2, which has already been merged to staging:
I was able to confirm that with that commit that updates CMake to 3.29.2 builds again. I will leave this issue open until the relevant changes make it into unstable.
is there an easy way to temporarily use the cmake version from staging in my configuration for a specific package, without using staging for every dependency of that package?
A workaround could be to apply this as patch:
One possible fix would be overriding the CMake version that is used inside of ROCm to update to the newer version, and merging that with a PR to master. The advantage of this compared to would be that we do not need to worry about the fix actually breaking the build once the version update lands (I have not tested that this happens, but I could imagine it does). It might be a good idea to do this by making the overridden version of a part of , and removing extra dependency on elsewhere in ROCm. Also ROCm 5.7 and 6.0 are both broken, so if we want to merge a fix before the CMake version update lands in unstable, we should fix both. I am not working on a fix for this, and I couldn't merge one, but I'm happy to review PRs.

Discussion:
, stdenv , callPackage , fetchFromGitHub <ins> , fetchurl </ins> , rocmUpdateScript , makeWrapper , cmake

"--set HSA_PATH ${rocm-runtime}" "--set ROCM_PATH $out" ]; <ins> # https://github.com/NixOS/nixpkgs/issues/305641 # Not needed when 3.29.2 is in unstable cmake' = cmake.overrideAttrs(old: rec { version = "3.29.2"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4="; }; }); </ins> in stdenv.mkDerivation (finalAttrs: { pname = "clr"; version = "5.7.1";

, callPackage , fetchFromGitHub , fetchpatch <ins> , fetchurl </ins> , rocmUpdateScript , makeWrapper , cmake

"--set HSA_PATH ${rocm-runtime}" "--set ROCM_PATH $out" ]; <ins> # https://github.com/NixOS/nixpkgs/issues/305641 # Not needed when 3.29.2 is in unstable cmake' = cmake.overrideAttrs(old: rec { version = "3.29.2"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4="; }; }); </ins> in stdenv.mkDerivation (finalAttrs: { pname = "clr"; version = "6.0.2";

nativeBuildInputs = [ makeWrapper <del> cmake </del> <ins> cmake' </ins> perl python3Packages.python python3Packages.cppheaderparser