diff --git a/agent/default.nix b/agent/default.nix index 81d8e3b..31690d6 100644 --- a/agent/default.nix +++ b/agent/default.nix @@ -1,28 +1,32 @@ { pkgs, - naersk', + rustPlatform, version, gitRevision, buildInputs, nativeBuildInputs, }: rec { - satori-agent = naersk'.buildPackage { - name = "satori-agent"; + satori-agent = rustPlatform.buildRustPackage { + pname = "satori-agent"; version = version; src = ./..; - cargoBuildOptions = x: x ++ ["--package" "satori-agent"]; + cargoLock.lockFile = ../Cargo.lock; nativeBuildInputs = nativeBuildInputs ++ [pkgs.makeWrapper]; buildInputs = buildInputs; + cargoBuildFlags = ["--package satori-agent"]; + + GIT_REVISION = gitRevision; + # Ensure ffmpeg binary is available postInstall = '' wrapProgram $out/bin/satori-agent --prefix PATH : ${pkgs.lib.makeBinPath [pkgs.ffmpeg]} ''; - overrideMain = p: { - GIT_REVISION = gitRevision; - }; + + # No need to do tests here, testing should have already been done earlier in CI pipeline + doCheck = false; }; satori-agent-container-image = let diff --git a/archiver/default.nix b/archiver/default.nix index 338b26b..e2459dc 100644 --- a/archiver/default.nix +++ b/archiver/default.nix @@ -1,24 +1,27 @@ { pkgs, - naersk', + rustPlatform, version, gitRevision, buildInputs, nativeBuildInputs, }: rec { - satori-archiver = naersk'.buildPackage { - name = "satori-archiver"; + satori-archiver = rustPlatform.buildRustPackage { + pname = "satori-archiver"; version = version; src = ./..; - cargoBuildOptions = x: x ++ ["--package" "satori-archiver"]; + cargoLock.lockFile = ../Cargo.lock; nativeBuildInputs = nativeBuildInputs; buildInputs = buildInputs; - overrideMain = p: { - GIT_REVISION = gitRevision; - }; + cargoBuildFlags = ["--package satori-archiver"]; + + GIT_REVISION = gitRevision; + + # No need to do tests here, testing should have already been done earlier in CI pipeline + doCheck = false; }; satori-archiver-container-image = pkgs.dockerTools.buildImage { diff --git a/ctl/default.nix b/ctl/default.nix index ba20a6f..b326eec 100644 --- a/ctl/default.nix +++ b/ctl/default.nix @@ -1,24 +1,27 @@ { pkgs, - naersk', + rustPlatform, version, gitRevision, buildInputs, nativeBuildInputs, }: rec { - satorictl = naersk'.buildPackage { - name = "satorictl"; + satorictl = rustPlatform.buildRustPackage { + pname = "satorictl"; version = version; src = ./..; - cargoBuildOptions = x: x ++ ["--package" "satorictl"]; + cargoLock.lockFile = ../Cargo.lock; nativeBuildInputs = nativeBuildInputs; buildInputs = buildInputs; - overrideMain = p: { - GIT_REVISION = gitRevision; - }; + cargoBuildFlags = ["--package satorictl"]; + + GIT_REVISION = gitRevision; + + # No need to do tests here, testing should have already been done earlier in CI pipeline + doCheck = false; }; satorictl-container-image = pkgs.dockerTools.buildImage { diff --git a/event-processor/default.nix b/event-processor/default.nix index 3908bf4..ee0d38b 100644 --- a/event-processor/default.nix +++ b/event-processor/default.nix @@ -1,24 +1,27 @@ { pkgs, - naersk', + rustPlatform, version, gitRevision, buildInputs, nativeBuildInputs, }: rec { - satori-event-processor = naersk'.buildPackage { - name = "satori-event-processor"; + satori-event-processor = rustPlatform.buildRustPackage { + pname = "satori-event-processor"; version = version; src = ./..; - cargoBuildOptions = x: x ++ ["--package" "satori-event-processor"]; + cargoLock.lockFile = ../Cargo.lock; nativeBuildInputs = nativeBuildInputs; buildInputs = buildInputs; - overrideMain = p: { - GIT_REVISION = gitRevision; - }; + cargoBuildFlags = ["--package satori-event-processor"]; + + GIT_REVISION = gitRevision; + + # No need to do tests here, testing should have already been done earlier in CI pipeline + doCheck = false; }; satori-event-processor-container-image = pkgs.dockerTools.buildImage { diff --git a/flake.lock b/flake.lock index e5d13dc..d661a8e 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -18,37 +18,18 @@ "type": "github" } }, - "naersk": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1694081375, - "narHash": "sha256-vzJXOUnmkMCm3xw8yfPP5m8kypQ3BhAIRe4RRCWpzy8=", - "owner": "nix-community", - "repo": "naersk", - "rev": "3f976d822b7b37fc6fb8e6f157c2dd05e7e94e89", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1695586155, - "narHash": "sha256-faeCVAYca+TtQsDeBBdWeTCqH+kfy/nKm8yur6OmmkQ=", + "lastModified": 1723400035, + "narHash": "sha256-WoKZDlBEdMhP+hjquBAh0BhUJbcH2+U8g2mHOr1mv8I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1af9be60b2ebed1396dd6e5ae2afe3328f9d175b", + "rev": "a731b45590a5169542990c36ffcde6cebd9a3356", "type": "github" }, "original": { "owner": "nixos", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -56,7 +37,6 @@ "root": { "inputs": { "flake-utils": "flake-utils", - "naersk": "naersk", "nixpkgs": "nixpkgs" } }, diff --git a/flake.nix b/flake.nix index c7a9e07..d6ba1fd 100644 --- a/flake.nix +++ b/flake.nix @@ -1,20 +1,13 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs"; - + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; flake-utils.url = "github:numtide/flake-utils"; - - naersk = { - url = "github:nix-community/naersk"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, flake-utils, - naersk, }: flake-utils.lib.eachDefaultSystem ( system: let @@ -22,7 +15,7 @@ inherit system; }; - naersk' = pkgs.callPackage naersk { + rustPlatform = pkgs.makeRustPlatform { cargo = pkgs.cargo; rustc = pkgs.rustc; }; @@ -36,7 +29,7 @@ buildInputs = with pkgs; [openssl]; lintingRustFlags = "-D unused-crate-dependencies"; - in rec { + in { devShell = pkgs.mkShell { nativeBuildInputs = nativeBuildInputs; buildInputs = buildInputs; @@ -67,10 +60,10 @@ }; packages = - import ./agent {inherit pkgs naersk' version gitRevision nativeBuildInputs buildInputs;} - // import ./archiver {inherit pkgs naersk' version gitRevision nativeBuildInputs buildInputs;} - // import ./ctl {inherit pkgs naersk' version gitRevision nativeBuildInputs buildInputs;} - // import ./event-processor {inherit pkgs naersk' version gitRevision nativeBuildInputs buildInputs;}; + import ./agent {inherit pkgs rustPlatform version gitRevision nativeBuildInputs buildInputs;} + // import ./archiver {inherit pkgs rustPlatform version gitRevision nativeBuildInputs buildInputs;} + // import ./ctl {inherit pkgs rustPlatform version gitRevision nativeBuildInputs buildInputs;} + // import ./event-processor {inherit pkgs rustPlatform version gitRevision nativeBuildInputs buildInputs;}; } ); }