[package]
name                   = "hydra-builder"
version.workspace      = true
edition                = "2024"
license                = "GPL-3.0"
rust-version.workspace = true

[dependencies]
sd-notify.workspace = true
tracing.workspace   = true

clap                  = { workspace = true, features = [ "derive" ] }
color-eyre.workspace  = true
fs-err                = { workspace = true, features = [ "tokio" ] }
hashbrown.workspace   = true
parking_lot.workspace = true
thiserror.workspace   = true
uuid                  = { workspace = true, features = [ "v4" ] }

async-compression      = { workspace = true, features = [ "tokio", "zstd" ] }
async-stream.workspace = true
backon.workspace       = true
bytes.workspace        = true
futures.workspace      = true
http.workspace         = true
hyper-util.workspace   = true
prost.workspace        = true
tokio                  = { workspace = true, features = [ "full" ] }
tokio-stream.workspace = true
tokio-util             = { workspace = true, features = [ "io", "io-util" ] }
tonic                  = { workspace = true, features = [ "tls-webpki-roots" ] }
tonic-prost.workspace  = true
tower.workspace        = true
url.workspace          = true

serde.workspace      = true
serde_json.workspace = true
toml.workspace       = true

harmonia-protocol.workspace         = true
harmonia-store-derivation.workspace = true
harmonia-store-path.workspace       = true
harmonia-store-remote.workspace     = true
harmonia-utils-hash.workspace       = true

gethostname.workspace = true
nix                   = { workspace = true, features = [ "fs" ] }
procfs-core.workspace = true

binary-cache.workspace             = true
daemon-client-utils.workspace      = true
harmonia-store-path-info.workspace = true
hydra-proto                        = { workspace = true, features = [ "client" ] }
hydra-tracing                      = { workspace = true, features = [ "tonic" ] }
nix-support.workspace              = true
store-path-utils.workspace         = true
store-transfer.workspace           = true

[target.'cfg(target_os = "macos")'.dependencies]
sysinfo.workspace = true

[target.'cfg(not(target_env = "msvc"))'.dependencies]
tikv-jemallocator.workspace = true

[features]
otel = [ "hydra-tracing/otel" ]
