wgpu/naga/Cargo.toml
bjorn3 fa48562229
Avoid introducing spurious features for optional dependencies (#5691)
* Avoid introducing spurious features for optional dependencies

If a feature depends on an optional dependency without using the dep:
prefix, a feature with the same name as the optional dependency is
introduced. This feature almost certainly won't have any effect when
enabled other than increasing compile times and polutes the feature list
shown by cargo add. Consistently use dep: for all optional dependencies
to avoid this problem.

* Add changelog entry
2024-05-12 08:45:35 +02:00

81 lines
2.7 KiB
TOML

[package]
name = "naga"
version = "0.20.0"
authors = ["gfx-rs developers"]
edition = "2021"
description = "Shader translation infrastructure"
repository = "https://github.com/gfx-rs/wgpu/tree/trunk/naga"
keywords = ["shader", "SPIR-V", "GLSL", "MSL"]
license = "MIT OR Apache-2.0"
exclude = ["bin/**/*", "tests/**/*", "Cargo.lock", "target/**/*"]
resolver = "2"
rust-version = "1.74"
autotests = false
[[test]]
name = "naga-test"
path = "tests/root.rs"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
dot-out = []
glsl-in = ["dep:pp-rs"]
glsl-out = []
msl-out = []
serialize = ["dep:serde", "bitflags/serde", "indexmap/serde"]
deserialize = ["dep:serde", "bitflags/serde", "indexmap/serde"]
arbitrary = ["dep:arbitrary", "bitflags/arbitrary", "indexmap/arbitrary"]
spv-in = ["dep:petgraph", "dep:spirv"]
spv-out = ["dep:spirv"]
wgsl-in = ["dep:hexf-parse", "dep:unicode-xid", "compact"]
wgsl-out = []
hlsl-out = []
compact = []
[[bench]]
name = "criterion"
harness = false
[dependencies]
arbitrary = { version = "1.3", features = ["derive"], optional = true }
bitflags = "2.5"
bit-set = "0.5"
termcolor = { version = "1.4.1" }
# remove termcolor dep when updating to the next version of codespan-reporting
# termcolor minimum version was wrong and was fixed in
# https://github.com/brendanzab/codespan/commit/e99c867339a877731437e7ee6a903a3d03b5439e
codespan-reporting = { version = "0.11.0" }
rustc-hash = "1.1.0"
indexmap = { version = "2", features = ["std"] }
log = "0.4"
spirv = { version = "0.3", optional = true }
thiserror = "1.0.59"
serde = { version = "1.0.200", features = ["derive"], optional = true }
petgraph = { version = "0.6", optional = true }
pp-rs = { version = "0.2.1", optional = true }
hexf-parse = { version = "0.2.1", optional = true }
unicode-xid = { version = "0.2.3", optional = true }
arrayvec.workspace = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
criterion = { version = "0.5", features = [] }
[dev-dependencies]
bincode = "1"
diff = "0.1"
env_logger = "0.11"
# This _cannot_ have a version specified. If it does, crates.io will look
# for a version of the package on crates when we publish naga. Path dependencies
# are allowed through though.
hlsl-snapshots = { path = "./hlsl-snapshots" }
# Require at least version 0.7.1 of ron, this version changed how floating points are
# serialized by forcing them to always have the decimal part, this makes it backwards
# incompatible with our tests because we do a syntactic diff and not a semantic one.
ron = "0.8.0"
rspirv = { version = "0.11", git = "https://github.com/gfx-rs/rspirv", rev = "b969f175d5663258b4891e44b76c1544da9661ab" }
serde = { version = "1.0", features = ["derive"] }
spirv = { version = "0.3", features = ["deserialize"] }