From 2e20719ce05ccce6bbf3b0be1d12d89c09876a6e Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 19 Oct 2026 10:50:29 +0200 Subject: [PATCH 1/3] cp2k: fix cuda runtime --- pkgs/by-name/cp/cp2k/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/cp/cp2k/package.nix b/pkgs/by-name/cp/cp2k/package.nix index 0f4533499cb4..2c9c2d1415ed 100644 --- a/pkgs/by-name/cp/cp2k/package.nix +++ b/pkgs/by-name/cp/cp2k/package.nix @@ -36,6 +36,7 @@ toml-f, greenx, gmp, + addDriverRunpath, enableElpa ? false, elpa, cudaPackages, @@ -168,6 +169,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals (gpuBackend == "cuda") [ cudaPackages.cuda_nvcc + addDriverRunpath ]; buildInputs = [ @@ -267,6 +269,14 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/share/cp2k cp -r ../data/* $out/share/cp2k + # Patch RPATH so libcuda.so.1 (NVIDIA driver) is found at runtime. + # Must run before wrapProgram, which renames the original ELF binary. + ${lib.optionalString (gpuBackend == "cuda") '' + for i in $out/bin/* $out/lib/*.so*; do + addDriverRunpath "$i" || true + done + ''} + for i in $out/bin/*; do wrapProgram $i \ --set-default CP2K_DATA_DIR $out/share/cp2k \ From e29b5cb8944a8580bdffddc64837f9d8a4569829 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Tue, 20 Oct 2026 12:15:30 +0200 Subject: [PATCH 2/3] umpire: fix cuda build --- pkgs/by-name/um/umpire/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/um/umpire/package.nix b/pkgs/by-name/um/umpire/package.nix index 4f12dd9f9fa9..ccf1cc71c2bb 100644 --- a/pkgs/by-name/um/umpire/package.nix +++ b/pkgs/by-name/um/umpire/package.nix @@ -61,6 +61,9 @@ stdenv.mkDerivation (finalAttrs: { lib.optionals cudaSupport [ "-DENABLE_CUDA=ON" (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) + # The bundled camp test resource_aware_pool_tests.cpp uses brace- + # initialization syntax that nvcc cannot compile. + "-DENABLE_TESTS=OFF" ] ++ lib.optionals rocmSupport [ "-DENABLE_HIP=ON" From 6c94290ccafc08b62d3de25c1d9af352fdd35a42 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Thu, 22 Oct 2026 13:56:53 +0200 Subject: [PATCH 3/3] sirius: fix cuda build --- pkgs/by-name/si/sirius/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/si/sirius/package.nix b/pkgs/by-name/si/sirius/package.nix index 6481ed441105..89fefa1c3ac8 100644 --- a/pkgs/by-name/si/sirius/package.nix +++ b/pkgs/by-name/si/sirius/package.nix @@ -80,6 +80,12 @@ stdenv.mkDerivation (finalAttrs: { # can be found across outputs. substituteInPlace cmake/siriusConfig.cmake.in \ --replace-fail "NO_DEFAULT_PATH" "" + + # src/CMakeLists.txt uses ''${CMAKE_CUDA_ARCHITECTURES} unquoted in + # set_target_properties, which breaks when multiple architectures are + # set (semicolon-separated list splits into separate arguments). + substituteInPlace src/CMakeLists.txt \ + --replace-fail 'CUDA_ARCHITECTURES ''${CMAKE_CUDA_ARCHITECTURES}' 'CUDA_ARCHITECTURES "''${CMAKE_CUDA_ARCHITECTURES}"' ''; outputs = [