From b3d5e25bd118623030ee1f8a6025aaca9e0598b0 Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Sat, 10 May 2025 17:14:56 +0200 Subject: [PATCH 1/5] nvidia-container-toolkit: switch to --replace-fail Signed-off-by: Christoph Heiss --- pkgs/by-name/nv/nvidia-container-toolkit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index fbe48ffd735d..eff44b5c0b06 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -52,11 +52,11 @@ buildGoModule rec { postPatch = '' substituteInPlace internal/config/config.go \ - --replace '/usr/bin/nvidia-container-runtime-hook' "$tools/bin/nvidia-container-runtime-hook" \ - --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' + --replace-fail '/usr/bin/nvidia-container-runtime-hook' "$tools/bin/nvidia-container-runtime-hook" \ + --replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' substituteInPlace tools/container/toolkit/toolkit.go \ - --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' + --replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' ''; subPackages = [ From a43cd49e2d6aad459c94f39b706ac80db7b9adb1 Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Sat, 10 May 2025 17:15:22 +0200 Subject: [PATCH 2/5] nvidia-container-toolkit: fix up another /sbin/ldconfig reference Signed-off-by: Christoph Heiss --- pkgs/by-name/nv/nvidia-container-toolkit/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index eff44b5c0b06..c4f24974c53e 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -57,6 +57,9 @@ buildGoModule rec { substituteInPlace tools/container/toolkit/toolkit.go \ --replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' + + substituteInPlace cmd/nvidia-cdi-hook/update-ldcache/update-ldcache.go \ + --replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig' ''; subPackages = [ From 0475750bfaa3f89f2563e81991aba6c4029916bd Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Sat, 10 May 2025 17:15:41 +0200 Subject: [PATCH 3/5] nvidia-container-toolkit: set gitCommit version variable Signed-off-by: Christoph Heiss --- pkgs/by-name/nv/nvidia-container-toolkit/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index c4f24974c53e..5d3bfa962b42 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -80,6 +80,8 @@ buildGoModule rec { # "-X name=value" "-X" "${cliVersionPackage}.version=${version}" + "-X" + "github.com/NVIDIA/nvidia-container-toolkit/internal/info.gitCommit=${src.rev}" ]; nativeBuildInputs = [ From 8b3b3b07ce610032ac6f0476fdea4e86c24ff2b9 Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Sat, 10 May 2025 17:31:23 +0200 Subject: [PATCH 4/5] nvidia-container-toolkit: build nvidia-container-runtime binary too Signed-off-by: Christoph Heiss --- pkgs/by-name/nv/nvidia-container-toolkit/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index 5d3bfa962b42..dc545f0a76a9 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -64,6 +64,7 @@ buildGoModule rec { subPackages = [ "cmd/nvidia-cdi-hook" + "cmd/nvidia-container-runtime" "cmd/nvidia-container-runtime.cdi" "cmd/nvidia-container-runtime-hook" "cmd/nvidia-container-runtime.legacy" @@ -104,11 +105,13 @@ buildGoModule rec { postInstall = '' - wrapProgram $out/bin/nvidia-container-runtime-hook \ - --prefix PATH : ${libnvidia-container}/bin - mkdir -p $tools/bin - mv $out/bin/{nvidia-cdi-hook,nvidia-container-runtime.cdi,nvidia-container-runtime-hook,nvidia-container-runtime.legacy} $tools/bin + mv $out/bin/{nvidia-cdi-hook,nvidia-container-runtime,nvidia-container-runtime.cdi,nvidia-container-runtime-hook,nvidia-container-runtime.legacy} $tools/bin + + for bin in nvidia-container-runtime-hook nvidia-container-runtime; do + wrapProgram $tools/bin/$bin \ + --prefix PATH : ${libnvidia-container}/bin:$out/bin + done '' + lib.optionalString (configTemplate != null || configTemplatePath != null) '' mkdir -p $out/etc/nvidia-container-runtime From 0a8bcd4699c6c4e54b5b816b15cdc211835bc434 Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Mon, 12 May 2025 20:41:31 +0200 Subject: [PATCH 5/5] nvidia-container-toolkit: add myself as maintainer Signed-off-by: Christoph Heiss --- nixos/tests/nvidia-container-toolkit.nix | 5 ++++- pkgs/by-name/nv/nvidia-container-toolkit/package.nix | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nixos/tests/nvidia-container-toolkit.nix b/nixos/tests/nvidia-container-toolkit.nix index b22b989c0814..1b894a1cddd9 100644 --- a/nixos/tests/nvidia-container-toolkit.nix +++ b/nixos/tests/nvidia-container-toolkit.nix @@ -90,7 +90,10 @@ in { name = "nvidia-container-toolkit"; meta = with lib.maintainers; { - maintainers = [ ereslibre ]; + maintainers = [ + ereslibre + christoph-heiss + ]; }; defaults = { config, ... }: diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index dc545f0a76a9..7543a52d4634 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -127,6 +127,9 @@ buildGoModule rec { description = "NVIDIA Container Toolkit"; license = licenses.asl20; platforms = platforms.linux; - maintainers = with maintainers; [ cpcloud ]; + maintainers = with maintainers; [ + cpcloud + christoph-heiss + ]; }; }