summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorRickard Nilsson <rickynils@gmail.com>2012-12-09 23:36:14 +0100
committerRickard Nilsson <rickynils@gmail.com>2012-12-11 11:33:40 +0100
commit6d8109555e7f8756f6107f3304a81debcb74cdd8 (patch)
treeb27822afc99ef89fe05a5d5ee1426ded26d20660 /pkgs
parenteee3a373cf1b364e293231c6672f1cc1b2b9d0d3 (diff)
downloadnixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar.gz
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar.bz2
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar.lz
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar.xz
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.tar.zst
nixlib-6d8109555e7f8756f6107f3304a81debcb74cdd8.zip
Add legacy version 304.64 of the Nvidia driver
The current 310.x version of the Nivida driver has dropped support
for some cards (for example 6200LE).
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy304.nix51
-rw-r--r--pkgs/top-level/all-packages.nix1
2 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
new file mode 100644
index 000000000000..ad419610df7e
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -0,0 +1,51 @@
+{ 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;
+
+let versionNumber = "304.64"; 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 = "0li27nlhx9bbln9424xpxw46sarjdch2fxpn4kvh0npaywll2ii3";
+      }
+    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 = "1x33f6b9zcsnpjcxlv38l1w0blimsv1y3bbrrzg48wwwb5wvynxl";
+      }
+    else throw "nvidia-x11 does not support platform ${stdenv.system}";
+
+  inherit versionNumber libsOnly;
+
+  kernel = if libsOnly then null else kernel;
+
+  dontStrip = true;
+
+  glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
+
+  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
+
+  programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath
+    [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
+
+  buildInputs = [ perl ];
+
+  meta = {
+    homepage = http://www.nvidia.com/object/unix.html;
+    description = "X.org driver and kernel module for NVIDIA graphics cards";
+    license = "unfree";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9bec14c5d9a..25c7740ac022 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5960,6 +5960,7 @@ let
 
     nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
     nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
+    nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
 
     openafsClient = callPackage ../servers/openafs-client { };