diff --git a/aja-ntv2/default.nix b/aja-ntv2/default.nix index 76c3ed2..f4e2316 100644 --- a/aja-ntv2/default.nix +++ b/aja-ntv2/default.nix @@ -1,14 +1,14 @@ { stdenv, - callPackage, lib, cmake, + aja-src, buildApps ? true, }: stdenv.mkDerivation { name = "ajantv2-dev"; - src = callPackage ./src.nix {}; - nativeBuildInputs = [ cmake ]; + src = aja-src; + nativeBuildInputs = [cmake]; cmakeFlags = [ diff --git a/aja-ntv2/driver.nix b/aja-ntv2/driver.nix index 071de4b..0c6239c 100644 --- a/aja-ntv2/driver.nix +++ b/aja-ntv2/driver.nix @@ -1,12 +1,12 @@ { - callPackage, stdenv, nukeReferences, kernel, + aja-src, }: stdenv.mkDerivation { name = "ajantv2-driver-${kernel.version}"; - src = callPackage ./src.nix {}; + src = aja-src; patches = [./lol.patch ./newkernels.patch]; nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [nukeReferences]; diff --git a/aja-ntv2/src.nix b/aja-ntv2/src.nix deleted file mode 100644 index be8a7de..0000000 --- a/aja-ntv2/src.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ fetchFromGitHub }: - -fetchFromGitHub { - owner = "aja-video"; - repo = "ntv2"; - rev = "refs/heads/main"; - hash = "sha256-rXjKDhQcZwAxsMjCoL21gpWeLWyIXyK/1y+78mhKgeo="; -} diff --git a/flake.lock b/flake.lock index 8a5b4ad..9f32145 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "aja-ntv2": { + "flake": false, + "locked": { + "lastModified": 1662565853, + "narHash": "sha256-rXjKDhQcZwAxsMjCoL21gpWeLWyIXyK/1y+78mhKgeo=", + "owner": "aja-video", + "repo": "ntv2", + "rev": "3a1e91f740e36e43a1ec74ff446a097330e87220", + "type": "github" + }, + "original": { + "owner": "aja-video", + "repo": "ntv2", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -32,6 +48,7 @@ }, "root": { "inputs": { + "aja-ntv2": "aja-ntv2", "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index cc9dd51..a4e0257 100644 --- a/flake.nix +++ b/flake.nix @@ -1,25 +1,41 @@ { description = "AJA video card software"; + inputs.aja-ntv2 = { + url = "github:aja-video/ntv2"; + flake = false; + }; outputs = { self, nixpkgs, flake-utils, - }: ( - flake-utils.lib.eachSystem ["x86_64-linux"] (system: let + aja-ntv2, + }: + ( + flake-utils.lib.eachSystem ["x86_64-linux"] (system: let + pkgs = import nixpkgs { + inherit system; + }; + in { + packages.aja-ntv2-gst = pkgs.callPackage ./ntv2-gst.nix { + ajantv2 = pkgs.callPackage ./aja-ntv2/default.nix { + aja-src = aja-ntv2; + buildApps = false; + }; + }; + }) + ) + // flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { - packages.aja-ntv2-gst = pkgs.callPackage ./ntv2-gst.nix { - ajantv2 = pkgs.callPackage ./aja-ntv2/default.nix { buildApps = false; }; - }; formatter = pkgs.alejandra; }) - ) // { + // { overlays.default = final: prev: { - ajantv-utils = final.callPackage ./aja-ntv2/default.nix {}; - ajantv-driver = final.linuxPackages.callPackage ./aja-ntv2/driver.nix {}; + ajantv-utils = final.callPackage ./aja-ntv2/default.nix {aja-src = aja-ntv2;}; + ajantv-driver = final.linuxPackages.callPackage ./aja-ntv2/driver.nix {aja-src = aja-ntv2;}; aja-ntv2-gst = self.packages.${prev.system}.aja-ntv2-gst; }; };