mirror of
https://github.com/icewind1991/nvidia-patch-nixos.git
synced 2026-06-03 19:14:06 +02:00
flake: modify object accordingly to file to patch
This commit is contained in:
parent
f8c827b253
commit
021ad79e03
1 changed files with 42 additions and 41 deletions
39
flake.nix
39
flake.nix
|
|
@ -4,18 +4,17 @@
|
||||||
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
|
||||||
}:
|
|
||||||
utils.lib.eachDefaultSystem (system: let
|
|
||||||
pkgs = (import nixpkgs) {
|
pkgs = (import nixpkgs) {
|
||||||
inherit system;
|
inherit system;
|
||||||
};
|
};
|
||||||
rev = "af2616a252c990a8435bf86cf4788ce435474e24";
|
rev = "af2616a252c990a8435bf86cf4788ce435474e24";
|
||||||
hash = "sha256-yocxfo7YvBCpHVV/ZhNQssyd3L9jvMFP7tz0cQucLr4=";
|
hash = "sha256-yocxfo7YvBCpHVV/ZhNQssyd3L9jvMFP7tz0cQucLr4=";
|
||||||
in rec {
|
in
|
||||||
|
rec {
|
||||||
# `nix develop`
|
# `nix develop`
|
||||||
devShell = pkgs.mkShell {
|
devShell = pkgs.mkShell {
|
||||||
nativeBuildInputs = with pkgs; [ jq patch ];
|
nativeBuildInputs = with pkgs; [ jq patch ];
|
||||||
|
|
@ -23,29 +22,31 @@
|
||||||
})
|
})
|
||||||
// {
|
// {
|
||||||
overlay = final: prev: {
|
overlay = final: prev: {
|
||||||
nvidia-patch = rev: hash: let
|
nvidia-patch = rev: hash:
|
||||||
|
let
|
||||||
inherit (nixpkgs.lib) importJSON;
|
inherit (nixpkgs.lib) importJSON;
|
||||||
extract = final.callPackage ./extract.nix { };
|
extract = final.callPackage ./extract.nix { };
|
||||||
jsons = extract rev hash;
|
jsons = extract rev hash;
|
||||||
createPatch = prefix: rev: hash: driverPackage:
|
createPatch = prefix: object: rev: hash: driverPackage:
|
||||||
driverPackage.overrideAttrs ({
|
driverPackage.overrideAttrs ({ version
|
||||||
version,
|
, preFixup ? ""
|
||||||
preFixup ? "",
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
patchList = importJSON "${jsons}/${prefix}patch-list.json";
|
patchList = importJSON "${jsons}/${prefix}patch-list.json";
|
||||||
patch = patchList.${version};
|
patch = patchList.${version};
|
||||||
object = "libnvidia-encode.so";
|
in
|
||||||
in {
|
{
|
||||||
preFixup =
|
preFixup =
|
||||||
preFixup
|
preFixup
|
||||||
+ ''
|
+ ''
|
||||||
sed -i '${patch}' $out/lib/${object}.${version}
|
sed -i '${patch}' $out/lib/${object}.${version}
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
in {
|
in
|
||||||
patch-nvenc = createPatch "" rev hash;
|
{
|
||||||
patch-fbc = createPatch "fbc-" rev hash;
|
patch-nvenc = createPatch "" "libnvidia-encode.so" rev hash;
|
||||||
|
patch-fbc = createPatch "fbc-" "libnvidia-fbc.so" rev hash;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue