tvl-depot/users/picnoir/tvix-daemon/default.nix

44 lines
1 KiB
Nix
Raw Normal View History

{ depot, pkgs, ... }:
let
crate2nix = pkgs.callPackage ./Cargo.nix {
defaultCrateOverrides = {
tvix-castore = prev: {
PROTO_ROOT = depot.tvix.castore.protos.protos;
nativeBuildInputs = protobufDep prev;
};
tvix-store = prev: {
PROTO_ROOT = depot.tvix.store.protos.protos;
nativeBuildInputs = protobufDep prev;
};
};
};
protobufDep = prev: (prev.nativeBuildInputs or [ ]) ++ [ pkgs.buildPackages.protobuf ];
in
{
shell = (import ./shell.nix { inherit pkgs; });
tvix-daemon = crate2nix.rootCrate.build;
clippy = pkgs.stdenv.mkDerivation {
name = "tvix-daemon-clippy";
# The cleaned sources.
src = depot.third_party.gitignoreSource ./.;
cargoDeps = crate2nix.allWorkspaceMembers;
nativeBuildInputs = with pkgs; [
cargo
clippy
pkg-config
protobuf
rustc
rustPlatform.cargoSetupHook
];
buildPhase = "cargo clippy --tests --all-features --benches --examples | tee $out";
};
meta.ci.targets = [
"tvix-daemon"
"shell"
];
}