forked from mirrors/nixpkgs
77986803a6
The GUI would no longer find libs it needed. Now it's gtk3 by default, so we don't support gtk2 version for simplicity. ldd finds no missing libs after this commit.
63 lines
2 KiB
Nix
63 lines
2 KiB
Nix
{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
|
|
, gtk3, atk, pango, glib, gdk_pixbuf, cairo
|
|
, # 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 = "346.35";
|
|
# Policy: use the highest stable version as the default (on our master).
|
|
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 = "09fz8nydi8ip3yv7dmbwnpwvjql5wp582z57022ppb9hqwq3r9mv";
|
|
}
|
|
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 = "1z9a69a9xbcrz925mj02l2qaqcnhxzh2msbq4hf73p7x4h94ibkx";
|
|
}
|
|
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.cc.cc];
|
|
openclPath = makeLibraryPath [zlib];
|
|
allLibPath = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.cc.cc];
|
|
|
|
# we don't support the gtk2 version
|
|
gtk3Path = optionalString (!libsOnly) (makeLibraryPath
|
|
[ gtk3 atk pango glib gdk_pixbuf cairo ] );
|
|
|
|
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 ];
|
|
};
|
|
}
|