summary refs log tree commit diff
path: root/pkgs/os-specific/linux
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
parent375226ffb976a24a5b57a62ccbb41e8561ad491d (diff)
downloadnixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar
nixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.gz
nixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.bz2
nixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.lz
nixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.xz
nixlib-e0fe8cf204216beb2485d6f56cde9aa25d56a977.tar.zst
nixlib-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')
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/beta.nix10
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh15
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
3 files changed, 18 insertions, 13 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/beta.nix b/pkgs/os-specific/linux/nvidia-x11/beta.nix
index d3111a4f75a1..d53d5e19d400 100644
--- a/pkgs/os-specific/linux/nvidia-x11/beta.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/beta.nix
@@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "349.12";
+  versionNumber = "361.18";
 
   # Policy: use the highest stable version as the default (on our master).
   inherit (stdenv.lib) makeLibraryPath;
@@ -27,13 +27,13 @@ stdenv.mkDerivation {
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0x9zfw66nxv98zpkdkymlyqzspksk850bhfmza7g7pba4yba085h";
+        url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
+        sha256 = "1n6nrz59r3dgcpkcpr4yw997fygkpsdbv1x45c30w781w0j1q5s5";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "19mfkigzffxsik3h4bsjsl481q410h804fz3rdc7chs86q4bg9h3";
+        url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
+        sha256 = "12fi7vb697h38qh0f2j40q76yx9fqk6vwx20zfxhac3fvdhw2sj0";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index c1f165c45dd5..09c104f09e73 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
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index fff1135d3118..86abeeaa8242 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "358.16";
+  versionNumber = "361.28";
 
   # Policy: use the highest stable version as the default (on our master).
   inherit (stdenv.lib) makeLibraryPath;
@@ -28,12 +28,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "1cc0zsri92nz2mznabfd6pqckm9mlbszmysqqqh3w5mipwn898nk";
+        sha256 = "013l9hfjc7gyk5g2v2h71lwjmx4dqlkczsb17cz833fnadcrn4hs";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "1xr16faam2zsx8ajwm9g9302m6qjzyjh1zd56g8jhc8jxg8h43sg";
+        sha256 = "1kq335mdmwlgp0lp9z8wrwyh48p2xv2nwdlgfj7b83vsh6ib17a4";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";