From 246b7a7eabcb2a154f94e166bbdafdc5d0130c62 Mon Sep 17 00:00:00 2001 From: Lee Smet Date: Tue, 28 May 2024 11:27:55 +0200 Subject: [PATCH] Try to build binaries in flake Signed-off-by: Lee Smet --- flake.nix | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index d8663f3..f275983 100644 --- a/flake.nix +++ b/flake.nix @@ -19,13 +19,15 @@ }@inputs: { overlays.default = final: prev: { - mycelium = + myceliumd = let craneLib = crane.lib.${final.system}; inherit (final) lib stdenv darwin; - manifest = builtins.fromTOML (lib.readFile ./mycelium/Cargo.toml); + manifest = builtins.fromTOML (lib.readFile ./myceliumd/Cargo.toml); + + sourceRoot = "./myceliumd"; in lib.makeOverridable craneLib.buildPackage { src = nix-filter { @@ -46,8 +48,6 @@ doCheck = false; - cargoExtraArgs = "--bin mycelium"; - nativeBuildInputs = [ final.pkg-config # openssl base library @@ -66,6 +66,52 @@ mainProgram = "mycelium"; }; }; + mycelium-private = + let + craneLib = crane.lib.${final.system}; + + inherit (final) lib stdenv darwin; + + manifest = builtins.fromTOML (lib.readFile ./myceliumd-private/Cargo.toml); + + sourceRoot = "./myceliumd-private"; + in + lib.makeOverridable craneLib.buildPackage { + src = nix-filter { + root = ./.; + + include = [ + ./Cargo.toml + ./Cargo.lock + ./mycelium + ./myceliumd + ./myceliumd-private + ./mobile + ]; + }; + pname = manifest.package.name; + inherit (manifest.package) version; + + doCheck = false; + + nativeBuildInputs = [ + final.pkg-config + # openssl base library + final.openssl + # required by openssl-sys + final.perl + ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + final.libiconv + ]; + + meta = { + mainProgram = "mycelium-private"; + }; + }; }; } // flake-utils.lib.eachSystem