nvidia-docker: split out libnvidia-container into separate drv

wip/yesman
Phillip Cloud 3 years ago
parent f3c1e795bb
commit b578c28217
  1. 0
      pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch
  2. 12
      pkgs/applications/virtualization/libnvidia-container/default.nix
  3. 0
      pkgs/applications/virtualization/libnvidia-container/libnvc-ldconfig-and-path-fixes.patch
  4. 0
      pkgs/applications/virtualization/libnvidia-container/modprobe.patch
  5. 5
      pkgs/applications/virtualization/nvidia-docker/default.nix

@ -7,6 +7,8 @@
, libseccomp
, rpcsvc-proto
, libtirpc
, makeWrapper
}:
let
modp-ver = "450.57";
@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "libnvidia-container";
repo = pname;
rev = "v${version}";
sha256 = "0j6b8z9x9hrrs4xp11zyjjd7kyl7fzcicpiis8k1qb1q2afnqsrq";
};
@ -64,10 +66,15 @@ stdenv.mkDerivation rec {
popd
'';
postInstall = ''
wrapProgram $out/bin/nvidia-container-cli \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib
'';
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-L${libtirpc.dev}/lib" "-ltirpc" ];
nativeBuildInputs = [ pkgconfig rpcsvc-proto ];
nativeBuildInputs = [ pkgconfig rpcsvc-proto makeWrapper ];
buildInputs = [ libelf libcap libseccomp libtirpc ];
@ -76,5 +83,6 @@ stdenv.mkDerivation rec {
description = "NVIDIA container runtime library";
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ cpcloud ];
};
}

@ -13,7 +13,6 @@
}:
with lib; let
libnvidia-container = callPackage ./libnvc.nix { };
isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [
{
name = "runc";
@ -74,7 +73,6 @@ stdenv.mkDerivation rec {
cp nvidia-docker bin
substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version}
cp ${libnvidia-container}/bin/nvidia-container-cli bin
cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
'';
@ -83,9 +81,6 @@ stdenv.mkDerivation rec {
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}

Loading…
Cancel
Save