diff options
author | Nikolay Amiantov <ab@fmap.me> | 2017-05-31 16:31:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-31 16:31:51 +0300 |
commit | 3b4ef34fa0e8963db3df4ae58271d1298a5d87a9 (patch) | |
tree | a362907bccc42466debbdbe66e33db89e136e9fc /pkgs/os-specific | |
parent | d09e3535f5263add321ef0607be8a75d76b2376c (diff) | |
parent | 0c4b91505ed6f5ec6475468cb07c3ef8018eed34 (diff) | |
download | nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar.gz nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar.bz2 nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar.lz nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar.xz nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.tar.zst nixlib-3b4ef34fa0e8963db3df4ae58271d1298a5d87a9.zip |
Merge pull request #26272 from vcunat/p/nvidia-304
nvidia 304 fixes
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/default.nix | 8 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/generic.nix | 19 |
2 files changed, 23 insertions, 4 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index c117f8f29fae..3157273c5d3a 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -31,10 +31,10 @@ in }; legacy_304 = generic { - version = "304.134"; - sha256_32bit = "178wx0a2pmdnaypa9pq6jh0ii0i8ykz1sh1liad9zfriy4d8kxw4"; - sha256_64bit = "0pydw7nr4d2dply38kwvjbghsbilbp2q0mas4nfq5ad050d2c550"; - settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf"; + version = "304.135"; + sha256_32bit = "14qdl39wird04sqba94dcb77i63igmxxav62ndr4qyyavn8s3c2w"; + sha256_64bit = "125mianhvq591np7y5jjrv9vmpbvixnkicr49ni48mcr0yjnjqkh"; + settingsSha256 = "1y7swikdngq4nlwzkrq20yfah9zr31n1a5i6nw37awnp8xjilhzm"; persistencedSha256 = null; useGLVND = false; useProfiles = false; diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index a21e6ecfc312..4c983227d6a5 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -42,6 +42,25 @@ let } else throw "nvidia-x11 does not support platform ${stdenv.system}"; + prePatch = let + debPatches = fetchurl { + url = "mirror://debian/pool/non-free/n/nvidia-graphics-drivers-legacy-304xx/" + + "nvidia-graphics-drivers-legacy-304xx_304.135-2.debian.tar.xz"; + sha256 = "0mhji0ssn7075q5a650idigs48kzf11pzj2ca2n07rwxg3vj6pdr"; + }; + prefix = "debian/module/debian/patches"; + applyPatches = pnames: if pnames == [] then null else + '' + tar xf '${debPatches}' + sed 's|^\([+-]\{3\} [ab]\)/|\1/kernel/|' -i ${prefix}/*.patch + patches="$patches ${concatMapStringsSep " " (pname: "${prefix}/${pname}.patch") pnames}" + ''; + in + # TODO: perhaps other branches also need patching? + if (versionOlder version "340") then applyPatches + [ "fix-typos" "drm-driver-legacy" "deprecated-cpu-events" "disable-mtrr" ] + else null; + # patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10 patches = if libsOnly then null |