[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", "impure", "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 operations in the VM which depend on the ability to perform I/O impure = [] # 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