[package]
name = "nod"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
documentation = "https://docs.rs/nod"
readme = "../README.md"
description = """
Library for reading and writing GameCube and Wii disc images.
"""
keywords.workspace = true
categories = ["command-line-utilities", "parser-implementations"]

[features]
default = [
    "compress-bzip2-vendored",
    "compress-lzma-vendored",
    "compress-zlib-vendored",
    "compress-zstd-vendored",
    "threading",
]
compress-bzip2 = []
compress-bzip2-vendored = ["compress-bzip2", "dep:bzip2-sys"]
compress-bzip2-static = ["compress-bzip2-vendored", "bzip2-sys/static"]
compress-lzma = []
compress-lzma-vendored = ["compress-lzma", "dep:liblzma-sys"]
compress-lzma-static = ["compress-lzma-vendored", "liblzma-sys/static"]
compress-zlib = ["dep:adler2"]
compress-zlib-vendored = ["compress-zlib", "dep:libz-sys"]
compress-zlib-static = ["compress-zlib-vendored", "libz-sys/static"]
compress-zstd = []
compress-zstd-vendored = ["compress-zstd", "dep:zstd-sys"]
compress-zstd-static = ["compress-zstd-vendored"]
openssl = ["dep:openssl"]
openssl-vendored = ["openssl", "openssl/vendored"]
threading = ["dep:crossbeam-channel", "dep:crossbeam-utils"]

[dependencies]
adler2 = { version = "2.0", optional = true }
aes = "0.9.0-rc.4"
crypto-common = "0.2"
base16ct = "1.0"
block-padding = "0.4"
bytes = "1.11"
bzip2-sys = { version = "0.1.13", optional = true }
cbc = "0.2.0-rc.3"
crc32fast = "1.5"
crossbeam-channel = { version = "0.5", optional = true }
crossbeam-utils = { version = "0.8", optional = true }
digest = { workspace = true }
dyn-clone = "1.0"
encoding_rs = "0.8"
itertools = "0.14"
liblzma-sys = { version = "0.4", optional = true }
lru = "0.16"
md-5 = { workspace = true }
libz-sys = { version = "1.1", optional = true }
openssl = { version = "0.10", optional = true }
polonius-the-crab = "0.5"
sha1 = { workspace = true }
simple_moving_average = "1.0"
thiserror = "2.0"
tracing = { workspace = true }
xxhash-rust = { version = "0.8", features = ["xxh64"] }
zerocopy = { workspace = true }
zstd-sys = { version = "2.0", default-features = false, optional = true }
