diff options
author | Averell Dalton <averell+nixpkgs@rxd4.com> | 2019-02-27 09:44:05 +0100 |
---|---|---|
committer | Averell Dalton <averell+nixpkgs@rxd4.com> | 2019-02-27 09:56:03 +0100 |
commit | d6c2fe76ed75449865ccfd7878ab4a8b559d20ef (patch) | |
tree | d9bc95ee9539a6469c4403759fe40181f5e75914 /pkgs/os-specific/linux | |
parent | 8913ba2a8dd8521d1bbce2d7ae29ba3420a3782b (diff) | |
download | nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.gz nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.bz2 nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.lz nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.xz nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.zst nixlib-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.zip |
nvidia-docker: init at 2.0.3
nvidia_x11 and persistenced were modified to provide binaries which can be mounted inside a docker-container to be executed there. most ldconfig-based discovery of bundled nvidia libraries is patched out ldconfig itself is patched to be able to deal with patchelf'ed libraries See https://sourceware.org/bugzilla/show_bug.cgi?id=23964
Diffstat (limited to 'pkgs/os-specific/linux')
-rwxr-xr-x | pkgs/os-specific/linux/nvidia-x11/builder.sh | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/persistenced.nix | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 46ea5a55aa5b..c0ebb768eea9 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -129,6 +129,8 @@ installPhase() { for i in nvidia-cuda-mps-control nvidia-cuda-mps-server nvidia-smi nvidia-debugdump; do if [ -e "$i" ]; then install -Dm755 $i $bin/bin/$i + # unmodified binary backup for mounting in containers + install -Dm755 $i $bin/origBin/$i patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath $out/lib:$libPath $bin/bin/$i fi diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index 474d3a69119c..c6993d146f19 100644 --- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -16,6 +16,11 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; postFixup = '' + # Save a copy of persistenced for mounting in containers + mkdir $out/origBin + cp $out/{bin,origBin}/nvidia-persistenced + patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 $out/origBin/nvidia-persistenced + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/nvidia-persistenced):${nvidia_x11}/lib" \ $out/bin/nvidia-persistenced ''; |