# spell-checker:ignore (features) bigdecimal zerocopy

[package]
name = "uucore"
version = "0.0.30"
authors = ["uutils developers"]
license = "MIT"
description = "uutils ~ 'core' uutils code library (cross-platform)"

homepage = "https://github.com/uutils/coreutils"
repository = "https://github.com/uutils/coreutils/tree/main/src/uucore"
# readme = "README.md"
keywords = ["coreutils", "uutils", "cross-platform", "cli", "utility"]
categories = ["command-line-utilities"]
edition = "2024"

[package.metadata.docs.rs]
all-features = true

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

[dependencies]
chrono = { workspace = true }
chrono-tz = { workspace = true }
clap = { workspace = true }
uucore_procs = { workspace = true }
number_prefix = { workspace = true }
dns-lookup = { workspace = true, optional = true }
dunce = { version = "1.0.4", optional = true }
wild = "2.2.1"
glob = { workspace = true }
iana-time-zone = { workspace = true }
# * optional
itertools = { workspace = true, optional = true }
thiserror = { workspace = true, optional = true }
time = { workspace = true, optional = true, features = [
  "formatting",
  "local-offset",
  "macros",
] }
# * "problem" dependencies (pinned)
data-encoding = { version = "2.6", optional = true }
data-encoding-macro = { version = "0.1.15", optional = true }
z85 = { version = "3.0.5", optional = true }
libc = { workspace = true, optional = true }
os_display = "0.1.3"

digest = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
memchr = { workspace = true, optional = true }
md-5 = { workspace = true, optional = true }
sha1 = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true }
sha3 = { workspace = true, optional = true }
blake2b_simd = { workspace = true, optional = true }
blake3 = { workspace = true, optional = true }
sm3 = { workspace = true, optional = true }
crc32fast = { workspace = true, optional = true }
regex = { workspace = true, optional = true }
bigdecimal = { workspace = true, optional = true }
num-traits = { workspace = true, optional = true }

[target.'cfg(unix)'.dependencies]
walkdir = { workspace = true, optional = true }
nix = { workspace = true, features = ["fs", "uio", "zerocopy", "signal"] }
xattr = { workspace = true, optional = true }

[dev-dependencies]
clap = { workspace = true }
tempfile = { workspace = true }

[target.'cfg(target_os = "windows")'.dependencies]
winapi-util = { workspace = true, optional = true }
windows-sys = { workspace = true, optional = true, default-features = false, features = [
  "Wdk_System_SystemInformation",
  "Win32_Storage_FileSystem",
  "Win32_Foundation",
  "Win32_System_RemoteDesktop",
  "Win32_System_SystemInformation",
  "Win32_System_WindowsProgramming",
] }

[target.'cfg(target_os = "openbsd")'.dependencies]
utmp-classic = { workspace = true, optional = true }

[features]
default = []
# * non-default features
backup-control = []
colors = []
checksum = ["data-encoding", "thiserror", "sum"]
encoding = ["data-encoding", "data-encoding-macro", "z85"]
entries = ["libc"]
fs = ["dunce", "libc", "winapi-util", "windows-sys"]
fsext = ["libc", "windows-sys"]
fsxattr = ["xattr"]
lines = []
format = ["bigdecimal", "itertools", "num-traits", "quoting-style"]
mode = ["libc"]
perms = ["entries", "libc", "walkdir"]
buf-copy = []
pipes = []
process = ["libc"]
proc-info = ["tty", "walkdir"]
quoting-style = []
ranges = []
ringbuffer = []
signals = []
sum = [
  "digest",
  "hex",
  "memchr",
  "md-5",
  "sha1",
  "sha2",
  "sha3",
  "blake2b_simd",
  "blake3",
  "sm3",
  "crc32fast",
]
update-control = []
utf8 = []
utmpx = ["time", "time/macros", "libc", "dns-lookup"]
version-cmp = []
wide = []
custom-tz-fmt = []
tty = []
uptime = ["libc", "windows-sys", "utmpx", "utmp-classic", "thiserror"]
