nvidia-docker: wrapProgram to pickup needed runc executable

This commit is contained in:
Phillip Cloud
2021-01-08 09:29:56 -05:00
parent df43c0f9da
commit 890a298409
2 changed files with 18 additions and 4 deletions
@@ -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}