[package]
name = "pkgcraft"
version = "0.0.14"
description = "library of Gentoo functionality"
homepage = "https://github.com/pkgcraft/pkgcraft/tree/main/crates/pkgcraft"
repository = "https://github.com/pkgcraft/pkgcraft/tree/main/crates/pkgcraft"
readme = "README.md"
license = "MIT"
autotests = false
authors.workspace = true
edition.workspace = true
rust-version.workspace = true

[lib]
name = "pkgcraft"
path = "src/lib.rs"

[features]
default = []
# enable git repo syncing support
git = ["dep:git2"]
# enable repo syncing over https, e.g. tar+https
https = ["dep:flate2", "dep:reqwest", "dep:tar", "dep:tokio"]

[dependencies]
async-trait = "0.1.77"
blake2 = "0.10.6"
blake3 = { version = "1.5.0", features = ["traits-preview"] }
cached = "0.48.1"
camino = { version = "1.1.6", features = ["serde1"] }
chic = "1.2.2"
clap = { version = "4.4.18", features = ["derive"] }
crossbeam-channel = "0.5.11"
digest = "0.10.7"
enum-as-inner = "0.6.0"
filetime = "0.2.23"
flate2 = { version = "1.0.28", optional = true }
futures = "0.3.30"
git2 = { version = "0.18.1", optional = true }
glob = "0.3.1"
hex = "0.4.3"
indexmap = { version = "2.2.2", features = ["rayon", "serde"] }
indicatif = "0.17.7"
indoc = "2.0.4"
is_executable = "1.0.1"
itertools = "0.12.1"
md-5 = "0.10.6"
nix = { version = "0.27.1", features = ["user"] }
num_cpus = "1.16.0"
once_cell = "1.19.0"
peg = "0.8.2"
rayon = "1.8.1"
regex = "1.10.3"
reqwest = { version = "0.11.24", default-features = false, features = ["rustls-tls", "stream"], optional = true }
roxmltree = "0.19.0"
rust-ini = "0.20.0"
scallop = { path = "../scallop", version = "0.0.13" }
serde = { version = "1.0.196", features = ["derive"] }
serde_with = { version = "3.6.0", default-features = false, features = ["macros"] }
sha2 = "0.10.8"
strum = { version = "0.26.1", features = ["derive"] }
tar = { version = "0.4.40", optional = true }
tempfile = "3.9.0"
thiserror = "1.0.56"
tokio = { version = "1.35.1", features = ["full"], optional = true }
toml = "0.8.9"
tracing = "0.1.40"
walkdir = "2.4.0"

# exported test support deps
assert_cmd = "2.0.13"

[dev-dependencies]
criterion = "0.5"
ctor = "0.2.6"
tracing-test = "0.2.4"

[[bench]]
name = "bench"
harness = false
