[package] name = "tvix-eval" version = "0.1.0" edition = "2021" [lib] name = "tvix_eval" [dependencies] builtin-macros = { path = "./builtin-macros", package = "tvix-eval-builtin-macros" } bytes.workspace = true bstr = { workspace = true, features = ["serde"] } codemap.workspace = true codemap-diagnostic.workspace = true dirs.workspace = true genawaiter.workspace = true itertools.workspace = true lexical-core = { workspace = true, features = ["format", "parse-floats"] } os_str_bytes = { workspace = true, features = ["conversions"] } path-clean.workspace = true proptest = { workspace = true, features = ["std", "alloc", "tempfile"], optional = true } regex.workspace = true rnix.workspace = true rowan.workspace = true # pinned by rnix serde = { workspace = true, features = ["rc", "derive"] } serde_json.workspace = true smol_str.workspace = true tabwriter.workspace = true test-strategy = { workspace = true, optional = true } toml = "0.6.0" sha2.workspace = true sha1.workspace = true md-5.workspace = true data-encoding.workspace = true rustc-hash.workspace = true nohash-hasher.workspace = true vu128.workspace = true thiserror.workspace = true [dev-dependencies] criterion.workspace = true itertools.workspace = true mimalloc.workspace = true pretty_assertions.workspace = true rstest.workspace = true tempfile.workspace = true [features] default = ["impure", "arbitrary", "nix_tests"] # Enables running the Nix language test suite from the original C++ # Nix implementation (at version 2.3) against Tvix. nix_tests = [] # 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"] # Don't leak strings (enable this if you care about peak memory usage of eval) # # This is intended as a stop-gap until we have a garbage collector no_leak = [] [[bench]] name = "eval" harness = false