nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
Eelco Dolstra 49d141ed01 * Work around a bizarre bug that causes nvidia-settings to be able to
find libXrandr when invoked as "nvidia-settings", but not when
  invoked by absolute path
  (e.g. "/var/run/current-system/sw/bin/nvidia-settings").  Adding it
  to libGL's RUNPATH fixes this.  Strangely, libGL doesn't even
  contain a reference to libXrandr.

svn path=/nixpkgs/trunk/; revision=15971
2009-06-16 12:51:35 +00:00

45 lines
1.3 KiB
Nix

{stdenv, fetchurl, kernel, xlibs, gtkLibs, zlib}:
let
versionNumber = "185.18.14";
in
stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}-${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}-pkg0.run";
sha256 = "0q7p7329r8ivsri0ldzrwi08976iqjvz34ximkzksyh60q6xlsf5";
}
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}-pkg0.run";
sha256 = "1bz854bhqxdjmhsa3agrgmpddql1xkc5frip1z6pdwmy1sh0754q";
}
else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit versionNumber kernel;
dontStrip = true;
glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
programPath = stdenv.lib.makeLibraryPath [
gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib
xlibs.libXv
];
meta = {
homepage = http://www.nvidia.com/object/unix.html;
description = "X.org driver and kernel module for NVIDIA graphics cards";
license = "unfree";
};
}