summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/virtualization/nvidia-docker
diff options
context:
space:
mode:
authorPhillip Cloud <cloud@standard.ai>2021-01-07 18:56:56 -0500
committerPhillip Cloud <cloud@standard.ai>2021-01-08 09:29:56 -0500
commit890a298409c49d6004422a74931a99ca9591897c (patch)
treec4edb210f509c7f2ec3ff3c0514dc533385f7f2d /pkgs/applications/virtualization/nvidia-docker
parentdf43c0f9da1ab1e2cbf55f467f1c47306b6d16ff (diff)
nvidia-docker: wrapProgram to pickup needed runc executable
Diffstat (limited to 'pkgs/applications/virtualization/nvidia-docker')
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/default.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix
index f46e2341c831..f8098097c75a 100644
--- a/pkgs/applications/virtualization/nvidia-docker/default.nix
+++ b/pkgs/applications/virtualization/nvidia-docker/default.nix
@@ -6,12 +6,20 @@
, makeWrapper
, buildGoModule
, buildGoPackage
-, git
, glibc
+, docker
+, linkFarm
+, containerRuntimePath ? "${docker}/libexec/docker/runc"
}:
with lib; let
libnvidia-container = callPackage ./libnvc.nix { };
+ isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [
+ {
+ name = "runc";
+ path = containerRuntimePath;
+ }
+ ];
nvidia-container-runtime = buildGoPackage rec {
pname = "nvidia-container-toolkit";
@@ -74,8 +82,13 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/{bin,etc}
cp -r bin $out
+
wrapProgram $out/bin/nvidia-container-cli \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib
+
+ # nvidia-container-runtime invokes docker-runc or runc if that isn't available on PATH
+ wrapProgram $out/bin/nvidia-container-runtime --prefix PATH : ${isolatedContainerRuntimePath}
+
cp ${./config.toml} $out/etc/config.toml
substituteInPlace $out/etc/config.toml --subst-var-by glibcbin ${lib.getBin glibc}