48 lines
959 B
Nix
48 lines
959 B
Nix
{ lib
|
|
, rustPlatform
|
|
, stdenv
|
|
, pkg-config
|
|
, openssl
|
|
}:
|
|
|
|
let
|
|
# Keep the build input stable and small; avoid copying `target/`, `tmp/`, etc. into the Nix store.
|
|
src = lib.cleanSourceWith {
|
|
src = ../../.;
|
|
filter = path: type:
|
|
let
|
|
base = baseNameOf path;
|
|
in
|
|
# Skip typical build outputs and large scratch dirs.
|
|
!(base == "target" || base == ".git" || base == ".direnv" || base == "tmp" || base == "node_modules");
|
|
};
|
|
in
|
|
rustPlatform.buildRustPackage {
|
|
pname = "ec-node";
|
|
version = "0.0.0";
|
|
inherit src;
|
|
|
|
cargoLock = {
|
|
lockFile = ../../Cargo.lock;
|
|
};
|
|
|
|
cargoBuildFlags = [ "-p" "ec-node" ];
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
openssl
|
|
];
|
|
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "every.channel node runner (ingest + chunk + MoQ publish)";
|
|
mainProgram = "ec-node";
|
|
platforms = platforms.unix;
|
|
license = licenses.agpl3Only;
|
|
};
|
|
}
|