This commit is contained in:
Robin Appelman 2023-01-22 15:10:48 +01:00
commit 8488b1da4b
2 changed files with 21 additions and 19 deletions

View file

@ -4,8 +4,8 @@
jq,
fetchFromGitHub,
patch,
}:
rev: sha256: stdenv.mkDerivation rec {
}: rev: sha256:
stdenv.mkDerivation rec {
pname = "nvidia-patch";
version = rev;

View file

@ -20,28 +20,30 @@
devShell = pkgs.mkShell {
nativeBuildInputs = with pkgs; [jq patch];
};
}) // {
})
// {
overlay = final: prev: {
nvidia-patch = rev: hash: let
inherit (nixpkgs.lib) importJSON;
extract = final.callPackage ./extract.nix {};
jsons = extract rev hash;
createPatch = prefix: rev: hash: driverPackage: driverPackage.overrideAttrs ({
version,
preFixup ? "",
...
}: let
patchList = importJSON "${jsons}/${prefix}patch-list.json";
objectList = importJSON "${jsons}/${prefix}object-list.json";
patch = patchList.${version};
object = objectList.${version};
in {
preFixup =
preFixup
+ ''
sed -i '${patch}' $out/lib/${object}.${version}
'';
});
createPatch = prefix: rev: hash: driverPackage:
driverPackage.overrideAttrs ({
version,
preFixup ? "",
...
}: let
patchList = importJSON "${jsons}/${prefix}patch-list.json";
objectList = importJSON "${jsons}/${prefix}object-list.json";
patch = patchList.${version};
object = objectList.${version};
in {
preFixup =
preFixup
+ ''
sed -i '${patch}' $out/lib/${object}.${version}
'';
});
in {
patch-nvenc = createPatch "" rev hash;
patch-fbc = createPatch "fbc-" rev hash;