`sylpheed-formats` declared `tokio` as a normal dependency and never used it as one. All four references in its `src/` are inside a `mod tests` -- three runtime builders in ship.rs (539, 566, 690; `mod tests` at 498) and one `#[tokio::test]` in xiso.rs (182; `mod tests` at 179) -- and tokio was ALREADY present in `[dev-dependencies]`, so the tests keep compiling unchanged. The unused normal dependency pulled `tokio/full`, whose `net` feature drags in `mio`, which does not build for wasm32: error: This wasm target is unsupported by mio. Removing it is right on its own terms; the WASM job is merely what exposed it. Native is unaffected -- `cargo check --workspace` exits 0 on x86_64. This is separated from the CI configuration it was found through because it is the one change here that touches another crate, and #11 is `state/proposed` around the getrandom error alone. It is ordered first so that every commit builds: the reverse order would leave an intermediate commit still failing the wasm check on `mio`. WARNING: this does NOT reach `sylpheed-export`, which builds `sylpheed-formats` from the git pin `formats-pin-2026-09-01` (`1cd5b8b1`, contained in `auto/frame-blend-draw-path` only) rather than the workspace path crate. The dependency is not gone tree-wide until that pin resolves, so anyone later adding `-p sylpheed-export` to the WASM job will hit `mio` with this fix apparently already applied. Refs #11 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
35 lines
1.5 KiB
TOML
35 lines
1.5 KiB
TOML
[package]
|
|
name = "sylpheed-formats"
|
|
description = "Xbox 360 game asset format parsers for Project Sylpheed: Arc of Deception"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
|
|
[dependencies]
|
|
xdvdfs = { workspace = true }
|
|
binrw = { workspace = true }
|
|
flate2 = "1" # zlib/DEFLATE for IPFB "Z1" entries (miniz_oxide backend, WASM-safe)
|
|
ttf-parser = { version = "0.24", default-features = false, features = ["std", "opentype-layout"] } # font metadata (OTF/TTF/ttcf), WASM-safe
|
|
# tokio is a DEV dependency only (see [dev-dependencies] below). Every use in
|
|
# this crate is inside a `mod tests`: three runtime builders in ship.rs and one
|
|
# `#[tokio::test]` in xiso.rs. As a normal dependency it pulled `tokio/full`,
|
|
# whose `net` feature drags in `mio`, which does not build for wasm32 —
|
|
# error: This wasm target is unsupported by mio.
|
|
# so the unused dependency was breaking the WASM job.
|
|
futures = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
tracing = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# Native-only: parallelise the per-resource XBG7 stage anchoring (hundreds of
|
|
# independent sub-models per container). rayon needs OS threads, so it is not
|
|
# pulled in for the wasm32 build, which falls back to a sequential decode.
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
rayon = "1"
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|