tvl-depot/tvix/cli/src
Florian Klink 3c340b28bd refactor(tvix/{cli,store}): move TvixStoreIO to tvix-cli crate
This trait is eval-specific, there's no point in dealing with these
things in tvix-store.

This implements the EvalIO interface for a Tvix store.
The proper place for this glue code (for now) is tvix-cli, which knows
about both tvix-store and tvix-eval.

There's one annoyance with this move: The `tvix-store import` subcommand
previously also used the TvixStoreIO implementation (because it
conveniently did what we wanted).
Some of this code had to be duplicated, mostly logic to calculate the
NAR-based output path and create the PathInfo object.

Some, but potentially more of this can be extracted into helper
functions in a shared crate, and then be used from both TvixStoreIO in
tvix-cli as well as the tvix-store CLI entrypoint.

Change-Id: Ia7515e83c1b54f95baf810fbd8414c5521382d40
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9212
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
2023-09-04 16:02:12 +00:00
..
.skip-subtree feat(tvix/cli): implement builtins.derivation 2023-01-27 12:21:41 +00:00
derivation.nix feat(tvix/cli): implement builtins.derivation 2023-01-27 12:21:41 +00:00
derivation.rs refactor(tvix/cli): cargo clippy 2023-08-20 21:43:02 +00:00
errors.rs fix(tvix/eval): emit only warnings on shadowed outputs 2023-06-11 20:59:34 +00:00
fetchurl.nix feat(tvix/cli): bundle corepkgs/fetchurl.nix with tvix-cli 2023-03-13 20:30:59 +00:00
known_paths.rs refactor(tvix/nix-compat): replace calculate_drv_replacement_str 2023-03-14 18:26:19 +00:00
main.rs refactor(tvix/{cli,store}): move TvixStoreIO to tvix-cli crate 2023-09-04 16:02:12 +00:00
refscan.rs refactor(tvix/cli): cargo clippy 2023-08-20 21:43:02 +00:00
tvix_io.rs refactor(tvix/{cli,store}): move TvixStoreIO to tvix-cli crate 2023-09-04 16:02:12 +00:00
tvix_store_io.rs refactor(tvix/{cli,store}): move TvixStoreIO to tvix-cli crate 2023-09-04 16:02:12 +00:00