expose patch list

This commit is contained in:
Robin Appelman 2024-12-09 19:19:49 +01:00
commit 4067b499f6
4 changed files with 10 additions and 7 deletions

View file

@ -18,7 +18,7 @@
}; };
in rec { in rec {
packages = rec { packages = rec {
inherit (pkgs) nvidia-patch-extractor nvidia-patch; inherit (pkgs) nvidia-patch-extractor nvidia-patch nvidia-patch-list;
}; };
devShell = pkgs.mkShell { devShell = pkgs.mkShell {
nativeBuildInputs = with pkgs; [jq patch]; nativeBuildInputs = with pkgs; [jq patch];

View file

@ -1,4 +1,8 @@
final: prev: { final: prev: {
nvidia-patch-extractor = final.callPackage ./extractor.nix {}; nvidia-patch-extractor = final.callPackage ./extractor.nix {};
nvidia-patch = final.callPackage ./patch.nix {}; nvidia-patch = final.callPackage ./patch.nix {};
nvidia-patch-list = {
nvenc = final.callPackage ./patchlist.nix { json = ./patch.json; };
fbc = final.callPackage ./patchlist.nix { json = ./patch-fbc.json; };
};
} }

View file

@ -1,12 +1,10 @@
{lib}: let {nvidia-patch-list}: let
inherit (lib) importJSON; createPatch = patchList: object: driverPackage:
createPatch = json: object: driverPackage:
driverPackage.overrideAttrs ({ driverPackage.overrideAttrs ({
version, version,
preFixup ? "", preFixup ? "",
... ...
}: let }: let
patchList = importJSON json;
patch = patchList.${version}; patch = patchList.${version};
in { in {
preFixup = preFixup =
@ -16,6 +14,6 @@
''; '';
}); });
in { in {
patch-nvenc = createPatch ./patch.json "libnvidia-encode.so"; patch-nvenc = createPatch nvidia-patch-list.nvenc "libnvidia-encode.so";
patch-fbc = createPatch ./patch-fbc.json "libnvidia-fbc.so"; patch-fbc = createPatch nvidia-patch-list.fbc "libnvidia-fbc.so";
} }

1
patchlist.nix Normal file
View file

@ -0,0 +1 @@
{lib, json}: lib.importJSON json