diff options
Diffstat (limited to 'tvix/Cargo.toml')
-rw-r--r-- | tvix/Cargo.toml | 51 |
1 files changed, 40 insertions, 11 deletions
diff --git a/tvix/Cargo.toml b/tvix/Cargo.toml index 8b0fbd846a..847d9aceec 100644 --- a/tvix/Cargo.toml +++ b/tvix/Cargo.toml @@ -1,14 +1,43 @@ -[package] -name = "tvix" -version = "0.1.0" -edition = "2021" +# 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. -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[workspace] +resolver = "2" -[dependencies.clap] -version = "3.0.5" -[dependencies.tempfile] -version = "3.2.0" +members = [ + "build", + "castore", + "cli", + "eval", + "eval/builtin-macros", + "glue", + "nix-compat", + "serde", + "store", +] -[[bin]] -name = "nix-store" +[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" + +# 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 |