diff options
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/default.nix | 101 |
1 files changed, 35 insertions, 66 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 967a98d95663..204ef62138a1 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -1,74 +1,43 @@ -{ stdenv, fetchurl, kernel ? null, xorg, zlib, perl -, gtk2, atk, pango, glib, gdk_pixbuf, cairo, nukeReferences -, # 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; +{ callPackage }: let - - versionNumber = "375.26"; - - # Policy: use the highest stable version as the default (on our master). - inherit (stdenv.lib) makeLibraryPath; - - nameSuffix = optionalString (!libsOnly) "-${kernel.version}"; - + generic = args: callPackage (import ./generic.nix args) { }; in +{ + # Policy: use the highest stable version as the default (on our master). + stable = generic { + version = "375.26"; + sha256_32bit = "0yv19rkz2wzzj0fygfjb1mh21iy769kff3yg2kzk8bsiwnmcyybw"; + sha256_64bit = "1kqy9ayja3g5znj2hzx8pklz8qi0b0l9da7c3ldg3hlxf31v4hjg"; + settingsSha256 = "1s8zf5cfhx8m05fvws0gh1q0wy5zyyg2j510zlwp4hk35y7dic5y"; + persistencedSha256 = "15r6rbzyk4yaqkpkqs8j00zc7jbhgp8naskv93dwjyw0lnj0wgky"; + }; -stdenv.mkDerivation { - name = "nvidia-x11-${versionNumber}${nameSuffix}"; - - builder = ./builder.sh; - - src = - if stdenv.system == "i686-linux" then - fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "0yv19rkz2wzzj0fygfjb1mh21iy769kff3yg2kzk8bsiwnmcyybw"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}.run"; - sha256 = "1kqy9ayja3g5znj2hzx8pklz8qi0b0l9da7c3ldg3hlxf31v4hjg"; - } - else throw "nvidia-x11 does not support platform ${stdenv.system}"; - - inherit versionNumber libsOnly; - inherit (stdenv) system; - - kernel = if libsOnly then null else kernel.dev; - - hardeningDisable = [ "pic" "format" ]; - - dontStrip = true; - - glPath = makeLibraryPath [xorg.libXext xorg.libX11 xorg.libXrandr]; - cudaPath = makeLibraryPath [zlib stdenv.cc.cc]; - openclPath = makeLibraryPath [zlib]; - allLibPath = makeLibraryPath [xorg.libXext xorg.libX11 xorg.libXrandr zlib stdenv.cc.cc]; - - gtkPath = optionalString (!libsOnly) (makeLibraryPath - [ gtk2 atk pango glib gdk_pixbuf cairo ] ); - programPath = makeLibraryPath [ xorg.libXv ]; - - - - buildInputs = [ perl nukeReferences ]; + beta = generic { + version = "378.09"; + sha256_32bit = "0a1vwvsqi89pn29c9aii53xq8292dxf68sr8lxzx4bpqjqmsbapy"; + sha256_64bit = "018qqg9zlpwd2cad99vbn18rnrrkrqybs7q65h8dmxirkx4pcvh8"; + settingsSha256 = "1fjkpqmzdzk46p1chzxqvbj3cpqcwwx4qmv33yjq7z2a5zab9z8v"; + persistencedSha256 = "1svaa5a0zz0r8qy6pg9lnhy5zmffvw0h120h46qqd01pkb4yv5lc"; + }; - disallowedReferences = if libsOnly then [] else [ kernel.dev ]; + legacy_340 = generic { + version = "340.101"; + sha256_32bit = "0qmhkvxj6h63sayys9gldpafw5skpv8nsm2gxxb3pxcv7nfdlpjz"; + sha256_64bit = "02k8j0xzxp2y4vay0kf982q382ny1i4g1kai93f2h5sak6sq3kyj"; + settingsSha256 = "1mavbhff24n0jn154af152fp04njd505scdlxdm850h1ycb2i3g9"; + persistencedSha256 = "1396bmmg9b1z805dzljgi2f219ji84wfnnifdbk32dpd5mrywjk0"; + useGLVND = false; + }; - 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 ]; - priority = 4; # resolves collision with xorg-server's "lib/xorg/modules/extensions/libglx.so" + legacy_304 = generic { + version = "304.134"; + sha256_32bit = "178wx0a2pmdnaypa9pq6jh0ii0i8ykz1sh1liad9zfriy4d8kxw4"; + sha256_64bit = "0pydw7nr4d2dply38kwvjbghsbilbp2q0mas4nfq5ad050d2c550"; + settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf"; + persistencedSha256 = null; + useGLVND = false; }; + + legacy_173 = callPackage ./legacy173.nix { }; } |