nvidia-docker: split out libnvidia-container into separate drv
This commit is contained in:
parent
f3c1e795bb
commit
b578c28217
@ -7,6 +7,8 @@
|
|||||||
, libseccomp
|
, libseccomp
|
||||||
, rpcsvc-proto
|
, rpcsvc-proto
|
||||||
, libtirpc
|
, libtirpc
|
||||||
|
, makeWrapper
|
||||||
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
modp-ver = "450.57";
|
modp-ver = "450.57";
|
||||||
@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "NVIDIA";
|
owner = "NVIDIA";
|
||||||
repo = "libnvidia-container";
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0j6b8z9x9hrrs4xp11zyjjd7kyl7fzcicpiis8k1qb1q2afnqsrq";
|
sha256 = "0j6b8z9x9hrrs4xp11zyjjd7kyl7fzcicpiis8k1qb1q2afnqsrq";
|
||||||
};
|
};
|
||||||
@ -64,10 +66,15 @@ stdenv.mkDerivation rec {
|
|||||||
popd
|
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_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
|
||||||
NIX_LDFLAGS = [ "-L${libtirpc.dev}/lib" "-ltirpc" ];
|
NIX_LDFLAGS = [ "-L${libtirpc.dev}/lib" "-ltirpc" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig rpcsvc-proto ];
|
nativeBuildInputs = [ pkgconfig rpcsvc-proto makeWrapper ];
|
||||||
|
|
||||||
buildInputs = [ libelf libcap libseccomp libtirpc ];
|
buildInputs = [ libelf libcap libseccomp libtirpc ];
|
||||||
|
|
||||||
@ -76,5 +83,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "NVIDIA container runtime library";
|
description = "NVIDIA container runtime library";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ cpcloud ];
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -13,7 +13,6 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
with lib; let
|
with lib; let
|
||||||
libnvidia-container = callPackage ./libnvc.nix { };
|
|
||||||
isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [
|
isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [
|
||||||
{
|
{
|
||||||
name = "runc";
|
name = "runc";
|
||||||
@ -74,7 +73,6 @@ stdenv.mkDerivation rec {
|
|||||||
cp nvidia-docker bin
|
cp nvidia-docker bin
|
||||||
substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version}
|
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-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
|
||||||
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
|
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
|
||||||
'';
|
'';
|
||||||
@ -83,9 +81,6 @@ stdenv.mkDerivation rec {
|
|||||||
mkdir -p $out/{bin,etc}
|
mkdir -p $out/{bin,etc}
|
||||||
cp -r bin $out
|
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
|
# nvidia-container-runtime invokes docker-runc or runc if that isn't available on PATH
|
||||||
wrapProgram $out/bin/nvidia-container-runtime --prefix PATH : ${isolatedContainerRuntimePath}
|
wrapProgram $out/bin/nvidia-container-runtime --prefix PATH : ${isolatedContainerRuntimePath}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user