# This Cargo file is a workspace configuration as per # https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html # # We add this file to get a coherent set of dependencies across Tvix # crates by sharing a Cargo.lock. This is necessary because of the # currently limited support for Rust builds in Nix. # # Note that this explicitly does *not* mean that //tvix should be # considered "one project": This is simply a workaround for a # technical limitation and it should be our aim to remove this # workspace file and make the subprojects independent. # # Note also that CI targets for actual projects should *not* be tied # to //tvix, but to its subprojects. A potential file at # //tvix/default.nix should likely *not* expose anything other than # extra steps or other auxiliary targets. [workspace] resolver = "2" members = [ "build", "castore", "cli", "eval", "eval/builtin-macros", "glue", "nar-bridge", "nix-compat", "nix-compat-derive", "nix-compat-derive-tests", "nix-daemon", "serde", "store", "tracing", ] [workspace.lints.clippy] # Allow blocks_in_conditions due to false positives with #[tracing::instrument(…)]: # https://github.com/rust-lang/rust-clippy/issues/12281 blocks_in_conditions = "allow" [workspace.dependencies] anyhow = "1.0.86" async-compression = "0.4.12" async-process = "2.2.4" async-stream = "0.3.5" async-tempfile = "0.4.0" axum = "0.7.5" axum-extra = "0.9.3" axum-range = "0.4.0" # https://github.com/liufuyang/bigtable_rs/pull/86 bigtable_rs = { git = "https://github.com/liufuyang/bigtable_rs", rev = "1818355a5373a5bc2c84287e3a4e3807154ac8ef" } bitflags = "2.6.0" blake3 = "1.5.4" bstr = "1.10.0" bytes = "1.7.1" clap = "4.5.16" codemap = "0.1.3" codemap-diagnostic = "0.1.2" count-write = "0.1.0" criterion = "0.5" data-encoding = "2.6.0" digest = "0.10.7" dirs = "4.0.0" ed25519 = "2.2.3" ed25519-dalek = "2.1.1" enum-primitive-derive = "0.3.0" erased-serde = "0.4.5" expect-test = "1.5.0" fastcdc = "3.1.0" fuse-backend-rs = "0.12.0" futures = "0.3.30" genawaiter = { version = "0.99.1", default-features = false } glob = "0.3.1" hex-literal = "0.4.1" http = "1.1.0" hyper-util = "0.1.7" indicatif = "0.17.8" itertools = "0.12.1" lexical-core = "0.8.5" libc = "0.2.158" lru = "0.12.4" magic = "0.16.2" md-5 = "0.10.6" mimalloc = "0.1.43" nix = "0.27.1" nohash-hasher = "0.2.0" nom = "7.1.3" num-traits = "0.2.19" object_store = "0.10.2" opentelemetry = "0.27.0" opentelemetry-http = "0.27.0" opentelemetry-otlp = "0.27.0" opentelemetry-semantic-conventions = "0.27.0" opentelemetry_sdk = "0.27.0" os_str_bytes = "6.6" parking_lot = "0.12.3" path-clean = "0.1" petgraph = "0.6.5" pin-project = "1.1" pin-project-lite = "0.2.14" pretty_assertions = "1.4.0" proc-macro2 = "1.0.86" proptest = { version = "1.5.0", default-features = false } prost = "0.13.1" prost-build = "0.13.1" quote = "1.0.37" redb = "2.1.2" regex = "1.10.6" reqwest = { version = "0.12.7", default-features = false } # https://github.com/TrueLayer/reqwest-middleware/pull/201#issuecomment-2493960010 reqwest-middleware = { git = "https://github.com/TrueLayer/reqwest-middleware", rev = "8a494c165734e24c62823714843e1c9347027e8a", default-features = false } reqwest-tracing = { git = "https://github.com/TrueLayer/reqwest-middleware", rev = "8a494c165734e24c62823714843e1c9347027e8a", default-features = false } rnix = "0.11.0" rowan = "*" rstest = "0.19.0" rstest_reuse = "0.6.0" rustc-hash = "2.0.0" rustyline = "10.1.1" serde = "1.0.209" serde_json = "1.0" serde_qs = "0.12.0" serde_tagged = "0.3.0" serde_with = "3.9.0" sha1 = "0.10.6" sha2 = "0.10.8" smol_str = "0.2.2" tabwriter = "1.4" tempfile = "3.12.0" test-strategy = "0.2.1" thiserror = "1.0.63" threadpool = "1.8.1" tokio = "1.39.3" tokio-listener = "0.4.3" tokio-retry = "0.3.0" tokio-stream = "0.1.15" tokio-tar = "0.3.1" tokio-test = "0.4.4" tokio-util = "0.7.11" tonic = "0.12.2" tonic-build = "0.12.2" tonic-health = { version = "0.12.2", default-features = false } tonic-reflection = "0.12.2" tower = "0.4.13" tower-http = "0.5.2" # https://github.com/francoposa/tower-otel-http-metrics/pull/13 tower-otel-http-metrics = { git = "https://github.com/francoposa/tower-otel-http-metrics", rev = "2023a58e7287a691872f8e75f433179d29d1b439"} tracing = "0.1.40" tracing-indicatif = "0.3.6" tracing-opentelemetry = "0.28.0" tracing-subscriber = "0.3.18" tracing-tracy = "0.11.2" trybuild = "1.0.99" url = "2.5.2" vhost = "0.6" vhost-user-backend = "0.8" virtio-bindings = "0.2.2" virtio-queue = "0.7" vm-memory = "0.10" vmm-sys-util = "0.11" vu128 = "1.1.0" walkdir = "2.5.0" # https://github.com/jneem/wu-manber/pull/1 wu-manber = { git = "https://github.com/tvlfyi/wu-manber.git" } xattr = "1.3.1" zstd = "0.13.2" # Add a profile to all targets that enables release optimisations, but # retains debug symbols. This is great for use with # benchmarking/profiling tools. [profile.release-with-debug] inherits = "release" debug = true