e720545e5b
Refactor the environment variable and argument parsing for the tvix repl to use Clap instead of doing things ad-hoc, and thread through options obtained from environment variables via explicit arguments rather than obtaining them from the environment as they're needed. This makes adding more flags more sustainable, and also makes the binary fully self-documenting, including supported env vars, via `--help`. Change-Id: Ib1f6a0cd20056e8c9196760ff755fa5729667760 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6653 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
60 lines
1.5 KiB
TOML
60 lines
1.5 KiB
TOML
[package]
|
|
name = "tvix-eval"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "tvix_eval"
|
|
|
|
[[bin]]
|
|
name = "tvix-eval"
|
|
required-features = [ "repl" ]
|
|
|
|
[dependencies]
|
|
smol_str = "0.1"
|
|
rustyline = { version = "10.0.0", optional = true }
|
|
dirs = "4.0.0"
|
|
path-clean = "0.1"
|
|
tabwriter = "1.2"
|
|
rowan = "*" # pinned by rnix
|
|
codemap = "0.1.3"
|
|
codemap-diagnostic = "0.1.1"
|
|
proptest = { version = "1.0.0", default_features = false, features = ["std", "alloc", "break-dead-code", "tempfile"], optional = true }
|
|
test-strategy = { version = "0.2.1", optional = true }
|
|
clap = { version = "3.2.22", optional = true, features = ["derive", "env"] }
|
|
|
|
# rnix has not been released in a while (as of 2022-09-18), we will
|
|
# use it from git.
|
|
[dependencies.rnix]
|
|
git = "https://github.com/nix-community/rnix-parser.git"
|
|
rev = "7d0d929c22ad27bdcc0779afe445b541d3ce9631"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.3.6"
|
|
test-generator = "0.3.0"
|
|
pretty_assertions = "1.2.1"
|
|
itertools = "0.10.3"
|
|
tempdir = "0.3.7"
|
|
|
|
[features]
|
|
default = [ "repl", "arbitrary" ]
|
|
|
|
# Enables running the Nix language test suite from the original C++
|
|
# Nix implementation (at version 2.3) against Tvix.
|
|
nix_tests = []
|
|
|
|
# Enables building the binary (tvix-eval REPL)
|
|
repl = [ "dep:rustyline", "dep:clap" ]
|
|
|
|
# Enables Arbitrary impls for internal types (required to run tests)
|
|
arbitrary = [ "proptest", "test-strategy" ]
|
|
|
|
[[bench]]
|
|
name = "eval"
|
|
harness = false
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|