mirror of
https://github.com/icewind1991/nvidia-patch-nixos.git
synced 2026-06-03 19:14:06 +02:00
Merge pull request #10 from karaolidis/auto-patch
feat: auto-patch function
This commit is contained in:
commit
a387675f53
1 changed files with 40 additions and 14 deletions
54
patch.nix
54
patch.nix
|
|
@ -1,19 +1,45 @@
|
||||||
{nvidia-patch-list}: let
|
{ nvidia-patch-list }:
|
||||||
createPatch = patchList: object: driverPackage:
|
let
|
||||||
driverPackage.overrideAttrs ({
|
createPatch =
|
||||||
version,
|
patchList: object: driverPackage:
|
||||||
preFixup ? "",
|
driverPackage.overrideAttrs (
|
||||||
...
|
{
|
||||||
}: let
|
version,
|
||||||
patch = patchList.${version};
|
preFixup ? "",
|
||||||
in {
|
...
|
||||||
preFixup =
|
}:
|
||||||
preFixup
|
let
|
||||||
+ ''
|
patch = patchList.${version};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
preFixup = preFixup + ''
|
||||||
sed -i '${patch}' $out/lib/${object}.${version}
|
sed -i '${patch}' $out/lib/${object}.${version}
|
||||||
'';
|
'';
|
||||||
});
|
}
|
||||||
in {
|
);
|
||||||
|
|
||||||
patch-nvenc = createPatch nvidia-patch-list.nvenc "libnvidia-encode.so";
|
patch-nvenc = createPatch nvidia-patch-list.nvenc "libnvidia-encode.so";
|
||||||
patch-fbc = createPatch nvidia-patch-list.fbc "libnvidia-fbc.so";
|
patch-fbc = createPatch nvidia-patch-list.fbc "libnvidia-fbc.so";
|
||||||
|
|
||||||
|
auto-patch =
|
||||||
|
nvidiaPackage:
|
||||||
|
let
|
||||||
|
maybeFbc =
|
||||||
|
if builtins.hasAttr nvidiaPackage.version nvidia-patch-list.fbc then
|
||||||
|
patch-fbc nvidiaPackage
|
||||||
|
else
|
||||||
|
nvidiaPackage;
|
||||||
|
|
||||||
|
maybeNvenc =
|
||||||
|
if builtins.hasAttr maybeFbc.version nvidia-patch-list.nvenc then
|
||||||
|
patch-nvenc maybeFbc
|
||||||
|
else
|
||||||
|
maybeFbc;
|
||||||
|
|
||||||
|
nvidiaPackageFinal = maybeNvenc;
|
||||||
|
in
|
||||||
|
nvidiaPackageFinal;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
inherit patch-nvenc patch-fbc auto-patch;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue