···1213let
1415- versionNumber = "349.12";
1617 # Policy: use the highest stable version as the default (on our master).
18 inherit (stdenv.lib) makeLibraryPath;
···27 src =
28 if stdenv.system == "i686-linux" then
29 fetchurl {
30- url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
31- sha256 = "0x9zfw66nxv98zpkdkymlyqzspksk850bhfmza7g7pba4yba085h";
32 }
33 else if stdenv.system == "x86_64-linux" then
34 fetchurl {
35- url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
36- sha256 = "19mfkigzffxsik3h4bsjsl481q410h804fz3rdc7chs86q4bg9h3";
37 }
38 else throw "nvidia-x11 does not support platform ${stdenv.system}";
39
···1213let
1415+ versionNumber = "361.18";
1617 # Policy: use the highest stable version as the default (on our master).
18 inherit (stdenv.lib) makeLibraryPath;
···27 src =
28 if stdenv.system == "i686-linux" then
29 fetchurl {
30+ url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
31+ sha256 = "1n6nrz59r3dgcpkcpr4yw997fygkpsdbv1x45c30w781w0j1q5s5";
32 }
33 else if stdenv.system == "x86_64-linux" then
34 fetchurl {
35+ url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
36+ sha256 = "12fi7vb697h38qh0f2j40q76yx9fqk6vwx20zfxhac3fvdhw2sj0";
37 }
38 else throw "nvidia-x11 does not support platform ${stdenv.system}";
39
+10-5
pkgs/os-specific/linux/nvidia-x11/builder.sh
···19 sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
20 sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
21 unset src # used by the nv makefile
22- make SYSSRC=$sysSrc SYSOUT=$sysOut module
2324 cd ..
25 fi
···3334 cp -prd *.so.* tls "$out/lib/"
35 rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
000000003637 if test -z "$libsOnly"; then
38 # Install the X drivers.
···61 libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
6263 # nvidia's EGL stack seems to expect libGLESv2.so.2 to be available
64- if [ $(basename "$libname_short") == "libGLESv2.so" ]; then
65 ln -srnf "$libname" "$libname_short.2"
66 fi
67···118119 # For simplicity and dependency reduction, don't support the gtk3 interface.
120 rm $out/lib/libnvidia-gtk3.*
121-122- # We distribute these separately in `libvdpau`
123- rm "$out"/lib/libvdpau{.*,_trace.*}
124125 # Move VDPAU libraries to their place
126 mkdir "$out"/lib/vdpau
···19 sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
20 sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
21 unset src # used by the nv makefile
22+ make SYSSRC=$sysSrc SYSOUT=$sysOut module "-j${NIX_BUILD_CORES}" "-l${NIX_BUILD_CORES}"
2324 cd ..
25 fi
···3334 cp -prd *.so.* tls "$out/lib/"
35 rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
36+37+ # According to nvidia, we're supposed to use GLVND.
38+ # But so far I've failed to make any applications run using that stack.
39+ #
40+ # If you want to try it, swap the two lines below.
41+42+ #rm "$out"/lib/libGL.so.${versionNumber} # Non-GLVND
43+ rm $out/lib/libGL.so.1.* # GLVND
4445 if test -z "$libsOnly"; then
46 # Install the X drivers.
···69 libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
7071 # nvidia's EGL stack seems to expect libGLESv2.so.2 to be available
72+ if [ $(basename "$libname_short") == "libGLESv2.so" -a "$libname" != "$libname_short.2" ]; then
73 ln -srnf "$libname" "$libname_short.2"
74 fi
75···126127 # For simplicity and dependency reduction, don't support the gtk3 interface.
128 rm $out/lib/libnvidia-gtk3.*
000129130 # Move VDPAU libraries to their place
131 mkdir "$out"/lib/vdpau
+3-3
pkgs/os-specific/linux/nvidia-x11/default.nix
···1213let
1415- versionNumber = "358.16";
1617 # Policy: use the highest stable version as the default (on our master).
18 inherit (stdenv.lib) makeLibraryPath;
···28 if stdenv.system == "i686-linux" then
29 fetchurl {
30 url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
31- sha256 = "1cc0zsri92nz2mznabfd6pqckm9mlbszmysqqqh3w5mipwn898nk";
32 }
33 else if stdenv.system == "x86_64-linux" then
34 fetchurl {
35 url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
36- sha256 = "1xr16faam2zsx8ajwm9g9302m6qjzyjh1zd56g8jhc8jxg8h43sg";
37 }
38 else throw "nvidia-x11 does not support platform ${stdenv.system}";
39
···1213let
1415+ versionNumber = "361.28";
1617 # Policy: use the highest stable version as the default (on our master).
18 inherit (stdenv.lib) makeLibraryPath;
···28 if stdenv.system == "i686-linux" then
29 fetchurl {
30 url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
31+ sha256 = "013l9hfjc7gyk5g2v2h71lwjmx4dqlkczsb17cz833fnadcrn4hs";
32 }
33 else if stdenv.system == "x86_64-linux" then
34 fetchurl {
35 url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
36+ sha256 = "1kq335mdmwlgp0lp9z8wrwyh48p2xv2nwdlgfj7b83vsh6ib17a4";
37 }
38 else throw "nvidia-x11 does not support platform ${stdenv.system}";
39