[package]
name = "oma-refresh"
version = "0.52.0"
edition = "2024"
description = "APT repository refresh handler library"
license = "GPL-3.0-or-later"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
oma-fetch = { version = "^0.34.0", path = "../oma-fetch", default-features = false }
thiserror = "2"
url = "2.3"
tokio = { version = "1.28", default-features = false, features = ["fs", "process", "macros"] }
futures = "0.3"
oma-apt-sources-lists = "0.9"
chrono = { version = "0.4", features = ["unstable-locales"] }
oma-topics = { version = "^0.25.0", path = "../oma-topics", optional = true, default-features = false }
tracing ="0.1"
oma-repo-verify = { version = "^0.9.0", path = "../oma-repo-verify", default-features = false }
ahash = "0.8.11"
oma-apt = { version = "0.12", optional = true }
aho-corasick = "1.1.3"
# https://github.com/bytecodealliance/rustix/pull/1077
# rustix = { version = "0.38", features = ["fs"] }
nix = { version = "0.30", features = ["fs"] }
sysinfo = "0.37"
bon = "3"
once_cell = "1.19"
apt-auth-config = { version = "0.4.0", path = "../apt-auth-config" }
deb822-fast = { version = "0.2", features = ["derive"] }
sys-locale = "0.3"
fancy-regex = "0.16"
oma-utils = { version = "0.12", path = "../oma-utils", default-features = false }

[features]
aosc = ["dep:oma-topics"]
sequoia-openssl-backend = ["oma-repo-verify/sequoia-openssl-backend"]
sequoia-nettle-backend = ["oma-repo-verify/sequoia-nettle-backend"]
rustls = ["oma-fetch/rustls", "oma-topics/rustls"]
native-tls = ["oma-fetch/native-tls", "oma-topics/native-tls"]
apt = ["dep:oma-apt"]
blocking = ["tokio/rt", "tokio/rt-multi-thread"]
default = ["aosc", "sequoia-nettle-backend", "rustls", "apt"]

[dev-dependencies]
tokio = { version = "1.28", default-features = false, features = ["rt-multi-thread"] }
flume = "0.11.1"
oma-utils = { version = "^0.12.0", path = "../oma-utils", features = ["dpkg"] }

[[example]]
name = "update"
required-features = ["apt"]
