diff --git a/flake.nix b/flake.nix index 430150f..9f0f395 100644 --- a/flake.nix +++ b/flake.nix @@ -105,6 +105,32 @@ commitizen.enable = true; }; }; + + mkMuslCraneLib = + system: + let + pkgs = mkPkgs system; + toolchain = pkgs.rust-bin.stable.latest.default.override { + targets = [ "x86_64-unknown-linux-musl" ]; + }; + in + (crane.mkLib pkgs).overrideToolchain toolchain; + + mkStreamdMusl = + system: + let + craneLib = mkMuslCraneLib system; + commonArgs = { + src = craneLib.path ./.; + pname = "streamd"; + inherit version; + strictDeps = true; + CARGO_BUILD_TARGET = "x86_64-unknown-linux-musl"; + CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static"; + }; + cargoArtifacts = craneLib.buildDepsOnly commonArgs; + in + craneLib.buildPackage (commonArgs // { inherit cargoArtifacts; }); in { packages = forAllSystems (