summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidia-x11
diff options
context:
space:
mode:
authorAverell Dalton <averell+nixpkgs@rxd4.com>2019-02-27 09:44:05 +0100
committerAverell Dalton <averell+nixpkgs@rxd4.com>2019-02-27 09:56:03 +0100
commitd6c2fe76ed75449865ccfd7878ab4a8b559d20ef (patch)
treed9bc95ee9539a6469c4403759fe40181f5e75914 /pkgs/os-specific/linux/nvidia-x11
parent8913ba2a8dd8521d1bbce2d7ae29ba3420a3782b (diff)
downloadnixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar
nixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.gz
nixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.bz2
nixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.lz
nixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.xz
nixpkgs-d6c2fe76ed75449865ccfd7878ab4a8b559d20ef.tar.zst
nixpkgs-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/nvidia-x11')
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/persistenced.nix5
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 46ea5a55aa5..c0ebb768eea 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 474d3a69119..c6993d146f1 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
   '';