|
1 | | -{ lib, callPackage, fetchFromGitHub, fetchgit, fetchpatch, stdenv, pkgsi686Linux }: |
| 1 | +{ |
| 2 | + lib, |
| 3 | + callPackage, |
| 4 | + fetchFromGitHub, |
| 5 | + fetchgit, |
| 6 | + fetchpatch, |
| 7 | + stdenv, |
| 8 | + pkgsi686Linux, |
| 9 | +}: |
2 | 10 |
|
3 | 11 | let |
4 | | - generic = args: let |
5 | | - imported = import ./generic.nix args; |
6 | | - in callPackage imported { |
7 | | - lib32 = (pkgsi686Linux.callPackage imported { |
8 | | - libsOnly = true; |
9 | | - kernel = null; |
10 | | - }).out; |
11 | | - }; |
| 12 | + generic = |
| 13 | + args: |
| 14 | + let |
| 15 | + imported = import ./generic.nix args; |
| 16 | + in |
| 17 | + callPackage imported { |
| 18 | + lib32 = |
| 19 | + (pkgsi686Linux.callPackage imported { |
| 20 | + libsOnly = true; |
| 21 | + kernel = null; |
| 22 | + }).out; |
| 23 | + }; |
12 | 24 |
|
13 | | - kernel = callPackage # a hacky way of extracting parameters from callPackage |
14 | | - ({ kernel, libsOnly ? false }: if libsOnly then { } else kernel) { }; |
| 25 | + kernel = |
| 26 | + # a hacky way of extracting parameters from callPackage |
| 27 | + callPackage ( |
| 28 | + { |
| 29 | + kernel, |
| 30 | + libsOnly ? false, |
| 31 | + }: |
| 32 | + if libsOnly then { } else kernel |
| 33 | + ) { }; |
15 | 34 |
|
16 | | - selectHighestVersion = a: b: if lib.versionOlder a.version b.version |
17 | | - then b |
18 | | - else a; |
| 35 | + selectHighestVersion = a: b: if lib.versionOlder a.version b.version then b else a; |
19 | 36 |
|
20 | 37 | # https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908/19 |
21 | 38 | rcu_patch = fetchpatch { |
|
25 | 42 |
|
26 | 43 | # Fixes drm device not working with linux 6.12 |
27 | 44 | # https://github.com/NVIDIA/open-gpu-kernel-modules/issues/712 |
28 | | - drm_fop_flags_linux_612_patch = fetchpatch { |
| 45 | + drm_fop_flags_linux_612_patch = fetchpatch { |
29 | 46 | url = "https://github.com/Binary-Eater/open-gpu-kernel-modules/commit/8ac26d3c66ea88b0f80504bdd1e907658b41609d.patch"; |
30 | 47 | hash = "sha256-+SfIu3uYNQCf/KXhv4PWvruTVKQSh4bgU1moePhe57U="; |
31 | 48 | }; |
@@ -136,85 +153,89 @@ rec { |
136 | 153 | }; |
137 | 154 |
|
138 | 155 | # Last one supporting x86 |
139 | | - legacy_390 = let |
140 | | - # Source corresponding to https://aur.archlinux.org/packages/nvidia-390xx-dkms |
141 | | - aurPatches = fetchgit { |
142 | | - url = "https://aur.archlinux.org/nvidia-390xx-utils.git"; |
143 | | - rev = "ebb48c240ce329e89ad3b59e78c8c708f46f27b3"; |
144 | | - hash = "sha256-AGx3/EQ81awBMs6rrXTGWJmyq+UjBCPp6/9z1BQBB9E="; |
| 156 | + legacy_390 = |
| 157 | + let |
| 158 | + # Source corresponding to https://aur.archlinux.org/packages/nvidia-390xx-dkms |
| 159 | + aurPatches = fetchgit { |
| 160 | + url = "https://aur.archlinux.org/nvidia-390xx-utils.git"; |
| 161 | + rev = "ebb48c240ce329e89ad3b59e78c8c708f46f27b3"; |
| 162 | + hash = "sha256-AGx3/EQ81awBMs6rrXTGWJmyq+UjBCPp6/9z1BQBB9E="; |
| 163 | + }; |
| 164 | + patchset = [ |
| 165 | + "kernel-4.16+-memory-encryption.patch" |
| 166 | + "kernel-6.2.patch" |
| 167 | + "kernel-6.3.patch" |
| 168 | + "kernel-6.4.patch" |
| 169 | + "kernel-6.5.patch" |
| 170 | + "kernel-6.6.patch" |
| 171 | + "kernel-6.8.patch" |
| 172 | + "gcc-14.patch" |
| 173 | + "kernel-6.10.patch" |
| 174 | + ]; |
| 175 | + in |
| 176 | + generic { |
| 177 | + version = "390.157"; |
| 178 | + sha256_32bit = "sha256-VdZeCkU5qct5YgDF8Qgv4mP7CVHeqvlqnP/rioD3B5k="; |
| 179 | + sha256_64bit = "sha256-W+u8puj+1da52BBw+541HxjtxTSVJVPL3HHo/QubMoo="; |
| 180 | + settingsSha256 = "sha256-uJZO4ak/w/yeTQ9QdXJSiaURDLkevlI81de0q4PpFpw="; |
| 181 | + persistencedSha256 = "sha256-NuqUQbVt80gYTXgIcu0crAORfsj9BCRooyH3Gp1y1ns="; |
| 182 | + |
| 183 | + patches = map (patch: "${aurPatches}/${patch}") patchset; |
| 184 | + broken = kernel.kernelAtLeast "6.11 "; |
| 185 | + |
| 186 | + # fixes the bug described in https://bbs.archlinux.org/viewtopic.php?pid=2083439#p2083439 |
| 187 | + # see https://bbs.archlinux.org/viewtopic.php?pid=2083651#p2083651 |
| 188 | + # and https://bbs.archlinux.org/viewtopic.php?pid=2083699#p2083699 |
| 189 | + postInstall = '' |
| 190 | + mv $out/lib/tls/* $out/lib |
| 191 | + rmdir $out/lib/tls |
| 192 | + ''; |
145 | 193 | }; |
146 | | - patchset = [ |
147 | | - "kernel-4.16+-memory-encryption.patch" |
148 | | - "kernel-6.2.patch" |
149 | | - "kernel-6.3.patch" |
150 | | - "kernel-6.4.patch" |
151 | | - "kernel-6.5.patch" |
152 | | - "kernel-6.6.patch" |
153 | | - "kernel-6.8.patch" |
154 | | - "gcc-14.patch" |
155 | | - "kernel-6.10.patch" |
156 | | - ]; |
157 | | - in generic { |
158 | | - version = "390.157"; |
159 | | - sha256_32bit = "sha256-VdZeCkU5qct5YgDF8Qgv4mP7CVHeqvlqnP/rioD3B5k="; |
160 | | - sha256_64bit = "sha256-W+u8puj+1da52BBw+541HxjtxTSVJVPL3HHo/QubMoo="; |
161 | | - settingsSha256 = "sha256-uJZO4ak/w/yeTQ9QdXJSiaURDLkevlI81de0q4PpFpw="; |
162 | | - persistencedSha256 = "sha256-NuqUQbVt80gYTXgIcu0crAORfsj9BCRooyH3Gp1y1ns="; |
163 | | - |
164 | | - patches = map (patch: "${aurPatches}/${patch}") patchset; |
165 | | - broken = kernel.kernelAtLeast "6.11 "; |
166 | | - |
167 | | - # fixes the bug described in https://bbs.archlinux.org/viewtopic.php?pid=2083439#p2083439 |
168 | | - # see https://bbs.archlinux.org/viewtopic.php?pid=2083651#p2083651 |
169 | | - # and https://bbs.archlinux.org/viewtopic.php?pid=2083699#p2083699 |
170 | | - postInstall = '' |
171 | | - mv $out/lib/tls/* $out/lib |
172 | | - rmdir $out/lib/tls |
173 | | - ''; |
174 | | - }; |
175 | 194 |
|
176 | | - legacy_340 = let |
177 | | - # Source corresponding to https://aur.archlinux.org/packages/nvidia-340xx-dkms |
178 | | - aurPatches = fetchFromGitHub { |
179 | | - owner = "archlinux-jerry"; |
180 | | - repo = "nvidia-340xx"; |
181 | | - rev = "7616dfed253aa93ca7d2e05caf6f7f332c439c90"; |
182 | | - hash = "sha256-1qlYc17aEbLD4W8XXn1qKryBk2ltT6cVIv5zAs0jXZo="; |
| 195 | + legacy_340 = |
| 196 | + let |
| 197 | + # Source corresponding to https://aur.archlinux.org/packages/nvidia-340xx-dkms |
| 198 | + aurPatches = fetchFromGitHub { |
| 199 | + owner = "archlinux-jerry"; |
| 200 | + repo = "nvidia-340xx"; |
| 201 | + rev = "7616dfed253aa93ca7d2e05caf6f7f332c439c90"; |
| 202 | + hash = "sha256-1qlYc17aEbLD4W8XXn1qKryBk2ltT6cVIv5zAs0jXZo="; |
| 203 | + }; |
| 204 | + patchset = [ |
| 205 | + "0001-kernel-5.7.patch" |
| 206 | + "0002-kernel-5.8.patch" |
| 207 | + "0003-kernel-5.9.patch" |
| 208 | + "0004-kernel-5.10.patch" |
| 209 | + "0005-kernel-5.11.patch" |
| 210 | + "0006-kernel-5.14.patch" |
| 211 | + "0007-kernel-5.15.patch" |
| 212 | + "0008-kernel-5.16.patch" |
| 213 | + "0009-kernel-5.17.patch" |
| 214 | + "0010-kernel-5.18.patch" |
| 215 | + "0011-kernel-6.0.patch" |
| 216 | + "0012-kernel-6.2.patch" |
| 217 | + "0013-kernel-6.3.patch" |
| 218 | + "0014-kernel-6.5.patch" |
| 219 | + "0015-kernel-6.6.patch" |
| 220 | + ]; |
| 221 | + in |
| 222 | + generic { |
| 223 | + version = "340.108"; |
| 224 | + sha256_32bit = "1jkwa1phf0x4sgw8pvr9d6krmmr3wkgwyygrxhdazwyr2bbalci0"; |
| 225 | + sha256_64bit = "06xp6c0sa7v1b82gf0pq0i5p0vdhmm3v964v0ypw36y0nzqx8wf6"; |
| 226 | + settingsSha256 = "0zm29jcf0mp1nykcravnzb5isypm8l8mg2gpsvwxipb7nk1ivy34"; |
| 227 | + persistencedSha256 = "1ax4xn3nmxg1y6immq933cqzw6cj04x93saiasdc0kjlv0pvvnkn"; |
| 228 | + useGLVND = false; |
| 229 | + |
| 230 | + broken = kernel.kernelAtLeast "6.7"; |
| 231 | + patches = map (patch: "${aurPatches}/${patch}") patchset; |
| 232 | + |
| 233 | + # fixes the bug described in https://bbs.archlinux.org/viewtopic.php?pid=2083439#p2083439 |
| 234 | + # see https://bbs.archlinux.org/viewtopic.php?pid=2083651#p2083651 |
| 235 | + # and https://bbs.archlinux.org/viewtopic.php?pid=2083699#p2083699 |
| 236 | + postInstall = '' |
| 237 | + mv $out/lib/tls/* $out/lib |
| 238 | + rmdir $out/lib/tls |
| 239 | + ''; |
183 | 240 | }; |
184 | | - patchset = [ |
185 | | - "0001-kernel-5.7.patch" |
186 | | - "0002-kernel-5.8.patch" |
187 | | - "0003-kernel-5.9.patch" |
188 | | - "0004-kernel-5.10.patch" |
189 | | - "0005-kernel-5.11.patch" |
190 | | - "0006-kernel-5.14.patch" |
191 | | - "0007-kernel-5.15.patch" |
192 | | - "0008-kernel-5.16.patch" |
193 | | - "0009-kernel-5.17.patch" |
194 | | - "0010-kernel-5.18.patch" |
195 | | - "0011-kernel-6.0.patch" |
196 | | - "0012-kernel-6.2.patch" |
197 | | - "0013-kernel-6.3.patch" |
198 | | - "0014-kernel-6.5.patch" |
199 | | - "0015-kernel-6.6.patch" |
200 | | - ]; |
201 | | - in generic { |
202 | | - version = "340.108"; |
203 | | - sha256_32bit = "1jkwa1phf0x4sgw8pvr9d6krmmr3wkgwyygrxhdazwyr2bbalci0"; |
204 | | - sha256_64bit = "06xp6c0sa7v1b82gf0pq0i5p0vdhmm3v964v0ypw36y0nzqx8wf6"; |
205 | | - settingsSha256 = "0zm29jcf0mp1nykcravnzb5isypm8l8mg2gpsvwxipb7nk1ivy34"; |
206 | | - persistencedSha256 = "1ax4xn3nmxg1y6immq933cqzw6cj04x93saiasdc0kjlv0pvvnkn"; |
207 | | - useGLVND = false; |
208 | | - |
209 | | - broken = kernel.kernelAtLeast "6.7"; |
210 | | - patches = map (patch: "${aurPatches}/${patch}") patchset; |
211 | | - |
212 | | - # fixes the bug described in https://bbs.archlinux.org/viewtopic.php?pid=2083439#p2083439 |
213 | | - # see https://bbs.archlinux.org/viewtopic.php?pid=2083651#p2083651 |
214 | | - # and https://bbs.archlinux.org/viewtopic.php?pid=2083699#p2083699 |
215 | | - postInstall = '' |
216 | | - mv $out/lib/tls/* $out/lib |
217 | | - rmdir $out/lib/tls |
218 | | - ''; |
219 | | - }; |
220 | 241 | } |
0 commit comments