summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidia-x11/builder.sh
diff options
context:
space:
mode:
authorSvein Ove Aas <sveina@gmail.com>2016-01-31 13:06:14 +0000
committerVladimír Čunát <vcunat@gmail.com>2016-03-07 23:14:44 +0100
commite0fe8cf204216beb2485d6f56cde9aa25d56a977 (patch)
tree9819d65a7e1b41f47b4bcb7072c7c6b5c83d71e8 /pkgs/os-specific/linux/nvidia-x11/builder.sh
parent375226ffb976a24a5b57a62ccbb41e8561ad491d (diff)
downloadnixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.gz
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.bz2
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.lz
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.xz
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.zst
nixpkgs-e0fe8cf204216beb2485d6f56cde9aa25d56a977.zip
nvidia: major update 358.16 -> 361.28
Beta also gets updated, but even upstream it's older than stable.
vcunat generalized parallel make. Close #12719.
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11/builder.sh')
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh15
1 files changed, 10 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index c1f165c45dd..09c104f09e7 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -19,7 +19,7 @@ buildPhase() {
         sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
         sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        make SYSSRC=$sysSrc SYSOUT=$sysOut module
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module "-j${NIX_BUILD_CORES}" "-l${NIX_BUILD_CORES}"
 
         cd ..
     fi
@@ -34,6 +34,14 @@ installPhase() {
     cp -prd *.so.* tls "$out/lib/"
     rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
 
+    # According to nvidia, we're supposed to use GLVND.
+    # But so far I've failed to make any applications run using that stack.
+    #
+    # If you want to try it, swap the two lines below.
+
+    #rm "$out"/lib/libGL.so.${versionNumber} # Non-GLVND
+    rm $out/lib/libGL.so.1.* # GLVND
+
     if test -z "$libsOnly"; then
         # Install the X drivers.
         mkdir -p $out/lib/xorg/modules
@@ -61,7 +69,7 @@ installPhase() {
       libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
 
       # nvidia's EGL stack seems to expect libGLESv2.so.2 to be available
-      if [ $(basename "$libname_short") == "libGLESv2.so" ]; then
+      if [ $(basename "$libname_short") == "libGLESv2.so" -a "$libname" != "$libname_short.2" ]; then
           ln -srnf "$libname" "$libname_short.2"
       fi
 
@@ -119,9 +127,6 @@ installPhase() {
     # For simplicity and dependency reduction, don't support the gtk3 interface.
     rm $out/lib/libnvidia-gtk3.*
 
-    # We distribute these separately in `libvdpau`
-    rm "$out"/lib/libvdpau{.*,_trace.*}
-
     # Move VDPAU libraries to their place
     mkdir "$out"/lib/vdpau
     mv "$out"/lib/libvdpau* "$out"/lib/vdpau