[package]
edition = "2024"
rust-version = "1.88"
name = "libpna"
version = "0.33.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PNA(Portable-Network-Archive) decoding and encoding library"
readme = "README.md"
keywords = [
"pna",
"archive",
"crypto",
"data",
]
categories = [
"data-structures",
"filesystem",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/ChanTsune/Portable-Network-Archive.git"
resolver = "2"
[[package.metadata.release.pre-release-replacements]]
file = "README.md"
search = 'libpna = "[0-9]+\.[0-9]+"'
replace = 'libpna = "{{version}}"'
[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
search = 'https://docs.rs/libpna/[0-9]+\.[0-9]+\.[0-9]+'
replace = "https://docs.rs/libpna/{{version}}"
[features]
unstable-async = [
"dep:futures-io",
"dep:futures-util",
]
zlib-ng = ["flate2/zlib-ng"]
[lib]
name = "libpna"
path = "src/lib.rs"
[[example]]
name = "async_io"
path = "examples/async_io.rs"
required-features = ["unstable-async"]
[[example]]
name = "change_compression_method"
path = "examples/change_compression_method.rs"
[[test]]
name = "copy_entries"
path = "tests/copy_entries.rs"
[[test]]
name = "extract_compatibility"
path = "tests/extract_compatibility.rs"
[[test]]
name = "extract_multipart_compatibility"
path = "tests/extract_multipart_compatibility.rs"
[[test]]
name = "extract_solid_compatibility"
path = "tests/extract_solid_compatibility.rs"
[[bench]]
name = "create_extract"
path = "benches/create_extract.rs"
harness = false
[dependencies.aes]
version = "0.9.0"
[dependencies.argon2]
version = "0.5.3"
features = ["std"]
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.block-buffer]
version = "0.12.0"
[dependencies.camellia]
version = "0.2.0"
[dependencies.camino]
version = "1.2.2"
[dependencies.cbc]
version = "0.2.0"
features = ["alloc"]
[dependencies.cipher]
version = "0.5.1"
features = [
"alloc",
"block-padding",
"stream-wrapper",
]
[dependencies.crc32fast]
version = "1.5.0"
[dependencies.crypto-common]
version = "0.2.1"
default-features = false
[dependencies.ctr]
version = "0.10.0"
[dependencies.flate2]
version = "1.1.9"
[dependencies.futures-io]
version = "0.3.32"
optional = true
[dependencies.futures-util]
version = "0.3.32"
features = ["io"]
optional = true
[dependencies.liblzma]
version = "0.4.6"
features = ["static"]
[dependencies.password-hash]
version = "0.5.0"
default-features = false
[dependencies.pbkdf2]
version = "0.12.2"
features = ["simple"]
[dependencies.rand]
version = "0.8.6"
[dependencies.rand_chacha]
version = "0.3.1"
[dependencies.time]
version = "0.3.47"
[dependencies.zstd]
version = "0.13.3"
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
features = [
"cargo_bench_support",
"plotters",
]
default-features = false
[dev-dependencies.version-sync]
version = "0.9.5"
[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dev-dependencies.wasm-bindgen-test]
version = "0.3.67"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio]
version = "1.52.1"
features = [
"macros",
"rt-multi-thread",
"fs",
"io-util",
]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio-util]
version = "0.7.18"
features = ["compat"]
[target.'cfg(not(target_os = "emscripten"))'.dependencies.pbkdf2]
version = "0.12.2"
features = [
"simple",
"parallel",
]
[target.'cfg(target_family = "wasm")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_family = "wasm")'.dependencies.liblzma]
version = "0.4.6"
features = ["wasm"]
[target.'cfg(target_family = "wasm")'.dependencies.zstd]
version = "0.13.2"
features = ["wasm"]