swactor/Cargo.toml

87 lines
2.4 KiB
TOML
Raw Normal View History

[workspace]
members = [
".",
"crates/bindings/python",
"crates/bindings/wasm-runtime",
"crates/simulation",
"crates/dashboard",
"crates/process",
"crates/transport",
2026-05-21 19:48:02 +00:00
"crates/distribution",
"crates/datastore",
"crates/node",
"tests/docker",
"tests/integration",
"xtask",
]
2026-05-21 19:48:02 +00:00
# Stage 6 iteration 8: all production crates and integration
# tests are back in the workspace. The vendored
# `ed25519-dalek 3.0.0-pre.1` patch below unblocks the iroh
# umbrella crate, which datastore/node/tests-integration pull
# in via `iroh = "0.96"` (datastore/node) and
# `distribution/iroh,relay` (tests-integration).
exclude = ["crates/bindings/wasm-crypto", "examples"]
[package]
name = "swactor"
version = "0.1.0"
edition = "2024"
autobenches = false
[profile.bench]
debug = true
strip = false
[lib]
crate-type = ["rlib"]
[features]
default = ["getrandom", "std"]
std = [] # OTP patterns: supervisors, registries, timers, routers
getrandom = ["dep:getrandom"]
serde = ["dep:serde"]
tracing = ["dep:tracing"]
no_random = [] # compile without access to a source of randomness
transport = [
] # transport-agnostic messaging (no mandatory deps; codec is user-provided)
wasm = ["no_random", "dep:web-time"] # browser/wasm32 target support
[dependencies]
getrandom = { version = "0.2", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
tracing = { version = "0.1", optional = true }
web-time = { version = "0.2", optional = true }
crossbeam-queue = "0.3.12"
crossbeam-utils = "0.8.21"
[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(kani)'] }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1"
proptest-state-machine = "0.3"
[[bench]]
name = "runtime_benchmarks"
harness = false
2026-02-09 14:02:40 +00:00
[[bench]]
name = "mt_benchmarks"
harness = false
[[bench]]
name = "hasher_benchmarks"
harness = false
2026-05-21 19:48:02 +00:00
# Vendored `ed25519-dalek 3.0.0-pre.1` to fix two upstream
# compile errors (E0277, E0308) at `src/signing.rs:714,717`.
# Upstream encodes `pkcs8::Error::KeyMalformed` as a unit
# variant, but the resolved `pkcs8 0.11.0` re-exports it as
# `KeyMalformed(KeyError)`. The strict `=3.0.0-pre.1` pin
# from `iroh-base 0.96.1` forbids using a newer prerelease,
# so we vendor the published 3.0.0-pre.1 and apply a 2-line
# tuple-variant fix. See `.loop/notes.md` (Stage 6 iteration 8).
[patch.crates-io]
ed25519-dalek = { path = "vendor/ed25519-dalek" }