[package]
edition = "2024"
rust-version = "1.93"
name = "archmeld"
version = "0.1.3"
authors = ["ndaal GmbH"]
build = false
include = [
"src/**/*.rs",
"tests/**/*.rs",
"Cargo.toml",
"Cargo.lock",
"LICENSE*",
"README.md",
"CHANGELOG.md",
"clippy.toml",
"rustfmt.toml",
"deny.toml",
"rust-doctor.toml",
".shellcheckrc",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Secure, memory-safe, type-safe CLI for multi-format archive extraction, inspection and decompression"
readme = "README.md"
keywords = [
"archive",
"compression",
"security",
"lz4",
"gzip",
]
categories = [
"command-line-utilities",
"compression",
"filesystem",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ndaal/archmeld"
[package.metadata.deb]
maintainer = "ndaal GmbH <security@ndaal.eu>"
copyright = "2025-2026, ndaal GmbH"
extended-description = "Secure, memory-safe, type-safe CLI for multi-format archive extraction, inspection and decompression. Supports ZIP, TAR (gz/bz2/xz/zst/lz4), 7-Zip, Gzip, Bzip2, XZ, LZ4, Zstandard, Brotli, Snappy, LZMA, StuffIt, Compact Pro, AR, DEB, CAB, and RAR."
section = "utils"
priority = "optional"
assets = [[
"target/release/archmeld",
"usr/bin/",
"755",
]]
[[package.metadata.generate-rpm.assets]]
source = "target/release/archmeld"
dest = "/usr/bin/archmeld"
mode = "0755"
[package.metadata.generate-rpm.requires]
[features]
default = ["rar"]
rar = ["dep:unrar"]
[lib]
name = "archmeld"
path = "src/lib.rs"
[[bin]]
name = "archmeld"
path = "src/main.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.anyhow]
version = "1"
[dependencies.ar]
version = "0.9"
[dependencies.brotli]
version = "8"
[dependencies.bytesize]
version = "2"
[dependencies.bzip2]
version = "0.5"
[dependencies.bzip3]
version = "0.12"
features = ["bundled"]
[dependencies.cab]
version = "0.6"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"std",
]
default-features = false
[dependencies.clap]
version = "4"
features = [
"derive",
"color",
"env",
]
[dependencies.comfy-table]
version = "7"
[dependencies.crc32fast]
version = "1"
[dependencies.flate2]
version = "1"
[dependencies.hex]
version = "0.4"
[dependencies.lz4_flex]
version = "0.11.6"
[dependencies.lzma-rs]
version = "0.3"
[dependencies.safe_unzip]
version = "0.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sevenz-rust]
version = "0.6"
[dependencies.sha2]
version = "0.10"
[dependencies.snap]
version = "1"
[dependencies.tar]
version = "0.4.45"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.unrar]
version = "0.5"
optional = true
[dependencies.zip]
version = "2"
features = [
"deflate",
"bzip2",
"zstd",
]
default-features = false
[dependencies.zopfli]
version = "0.8"
[dependencies.zstd]
version = "0.13"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
all = "warn"
cargo = "warn"
expect_used = "warn"
nursery = "warn"
panic = "warn"
pedantic = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_code = "forbid"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true