From 0c4b91505ed6f5ec6475468cb07c3ef8018eed34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 31 May 2017 10:45:44 +0200 Subject: [PATCH] nvidia_x11_legacy304: apply patches from Debian The drivers would build but probably wouldn't work without them. See #26250. --- pkgs/os-specific/linux/nvidia-x11/generic.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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