summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidia-x11/default.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-12-24 00:01:04 +0100
committerVladimír Čunát <vcunat@gmail.com>2014-12-24 00:06:46 +0100
commitfd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9 (patch)
treef1911d64f592c2770c7073b4c125f89d4064bf9f /pkgs/os-specific/linux/nvidia-x11/default.nix
parentd5ab3fb887d5ac405ed17afb15d27f1c07fb7b7b (diff)
downloadnixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar.gz
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar.bz2
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar.lz
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar.xz
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.tar.zst
nixpkgs-fd9d8edc51258a59a9444f7cd32f6ec7b8a8f2a9.zip
nvidia_x11: add 343 branch as the default (close #5070)
It's just a plain copy of the 340 expressions (only hash and version changed).
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11/default.nix')
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
new file mode 100644
index 00000000000..59b17db7662
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
+, gtk, atk, pango, glib, gdk_pixbuf
+, # Whether to build the libraries only (i.e. not the kernel module or
+  # nvidia-settings).  Used to support 32-bit binaries on 64-bit
+  # Linux.
+  libsOnly ? false
+}:
+
+with stdenv.lib;
+
+assert (!libsOnly) -> kernel != null;
+
+let
+
+  versionNumber = "343.36";
+  /* This branch is needed for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them.
+    Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs,
+    will be included in 340.* legacy releases through the end of 2019.
+  */
+  inherit (stdenv.lib) makeLibraryPath;
+in
+
+stdenv.mkDerivation {
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
+
+  builder = ./builder.sh;
+
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
+        sha256 = "17l23dp725883xcyy1n178pcl6lj27psrgbxymc356x2pngwkhcc";
+      }
+    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 = "0djvh9wmazrfvpgyiqrz81kjk2war20xyjjr2kncxyplzk28mw97";
+      }
+    else throw "nvidia-x11 does not support platform ${stdenv.system}";
+
+  inherit versionNumber libsOnly;
+
+  kernel = if libsOnly then null else kernel.dev;
+
+  dontStrip = true;
+
+  glPath      = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
+  cudaPath    = makeLibraryPath [zlib stdenv.gcc.gcc];
+  openclPath  = makeLibraryPath [zlib];
+  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.gcc.gcc];
+
+  programPath = optionalString (!libsOnly) (makeLibraryPath
+    [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib.meta; {
+    homepage = http://www.nvidia.com/object/unix.html;
+    description = "X.org driver and kernel module for NVIDIA graphics cards";
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
+  };
+}