Merge pull request #5 from peperunas/main

fix: fix NvFBC patching
This commit is contained in:
Robin Appelman 2024-03-13 22:59:22 +01:00 committed by GitHub
commit 17dd5c8e24
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4,49 +4,50 @@
nixpkgs.url = "nixpkgs/release-23.05"; nixpkgs.url = "nixpkgs/release-23.05";
}; };
outputs = { outputs = { self, nixpkgs, utils, }:
self, utils.lib.eachDefaultSystem
nixpkgs, (system:
utils, let
}: pkgs = (import nixpkgs) {
utils.lib.eachDefaultSystem (system: let inherit system;
pkgs = (import nixpkgs) { };
inherit system; rev = "af2616a252c990a8435bf86cf4788ce435474e24";
}; hash = "sha256-yocxfo7YvBCpHVV/ZhNQssyd3L9jvMFP7tz0cQucLr4=";
rev = "af2616a252c990a8435bf86cf4788ce435474e24"; in
hash = "sha256-yocxfo7YvBCpHVV/ZhNQssyd3L9jvMFP7tz0cQucLr4="; rec {
in rec { # `nix develop`
# `nix develop` devShell = pkgs.mkShell {
devShell = pkgs.mkShell { nativeBuildInputs = with pkgs; [ jq patch ];
nativeBuildInputs = with pkgs; [jq patch]; };
}; })
})
// { // {
overlay = final: prev: { overlay = final: prev: {
nvidia-patch = rev: hash: let nvidia-patch = rev: hash:
inherit (nixpkgs.lib) importJSON; let
extract = final.callPackage ./extract.nix {}; inherit (nixpkgs.lib) importJSON;
jsons = extract rev hash; extract = final.callPackage ./extract.nix { };
createPatch = prefix: rev: hash: driverPackage: jsons = extract rev hash;
driverPackage.overrideAttrs ({ createPatch = prefix: object: rev: hash: driverPackage:
version, driverPackage.overrideAttrs ({ version
preFixup ? "", , preFixup ? ""
... , ...
}: let }:
patchList = importJSON "${jsons}/${prefix}patch-list.json"; let
patch = patchList.${version}; patchList = importJSON "${jsons}/${prefix}patch-list.json";
object = "libnvidia-encode.so"; patch = patchList.${version};
in { in
preFixup = {
preFixup preFixup =
+ '' preFixup
sed -i '${patch}' $out/lib/${object}.${version} + ''
''; sed -i '${patch}' $out/lib/${object}.${version}
}); '';
in { });
patch-nvenc = createPatch "" rev hash; in
patch-fbc = createPatch "fbc-" rev hash; {
}; patch-nvenc = createPatch "" "libnvidia-encode.so" rev hash;
patch-fbc = createPatch "fbc-" "libnvidia-fbc.so" rev hash;
};
}; };
}; };
} }