[workspace] members = ["src/uu/hugetop"] # procps (uutils) # * see the repository LICENSE, README, and CONTRIBUTING files for more information # spell-checker:ignore (libs) mangen [workspace.package] authors = ["uutils developers"] categories = ["command-line-utilities"] edition = "2021" homepage = "https://github.com/uutils/procps" keywords = ["procps", "uutils", "cross-platform", "cli", "utility"] license = "MIT" version = "0.0.1" [package] name = "procps" description = "procps ~ implemented as universal (cross-platform) utils, written in Rust" default-run = "procps" repository = "https://github.com/uutils/procps" readme = "README.md" build = "build.rs" authors.workspace = true categories.workspace = true edition.workspace = true homepage.workspace = true keywords.workspace = true license.workspace = true version.workspace = true [features] default = ["feat_common_core"] uudoc = [] feat_common_core = [ "free", "hugetop", "pgrep", "pidof", "pidwait", "pkill", "pmap", "ps", "pwdx", "skill", "slabtop", "snice", "sysctl", "tload", "top", "vmstat", "w", "watch", ] [workspace.dependencies] bytesize = "2.0.0" chrono = { version = "0.4.38", default-features = false, features = ["clock"] } clap = { version = "4.5.4", features = ["wrap_help", "cargo", "env"] } clap_complete = "4.5.2" clap_mangen = "0.3.0" crossterm = "0.29.0" ctor = "1.0.0" dirs = "6.0.0" jiff = "0.2.15" nix = { version = "0.30", default-features = false, features = ["process"] } phf = "0.13.1" phf_codegen = "0.13.0" prettytable-rs = "0.10.0" rand = { version = "0.10.0" } ratatui = "0.30.0" regex = "1.10.4" rustix = { version = "1.1.2", features = ["fs", "process", "param"] } sysinfo = "0.39.0" tempfile = "3.10.1" terminal_size = "0.4.2" textwrap = { version = "0.16.1", features = ["terminal_size"] } thiserror = "2.0.4" uucore = "0.7.0" uutests = "0.9.0" walkdir = "2.5.0" windows = { version = "0.62.0" } windows-sys = { version = "0.61.0", default-features = false } xattr = "1.3.1" [dependencies] clap = { workspace = true } clap_complete = { workspace = true } clap_mangen = { workspace = true } jiff = { workspace = true } phf = { workspace = true } regex = { workspace = true } sysinfo = { workspace = true } textwrap = { workspace = true } uucore = { workspace = true } # free = { optional = true, version = "0.0.1", package = "uu_free", path = "src/uu/free" } hugetop = { optional = true, version = "0.0.1", package = "uu_hugetop", path = "src/uu/hugetop" } pgrep = { optional = true, version = "0.0.1", package = "uu_pgrep", path = "src/uu/pgrep" } pidof = { optional = true, version = "0.0.1", package = "uu_pidof", path = "src/uu/pidof" } pidwait = { optional = true, version = "0.0.1", package = "uu_pidwait", path = "src/uu/pidwait" } pkill = { optional = true, version = "0.0.1", package = "uu_pkill", path = "src/uu/pkill" } pmap = { optional = true, version = "0.0.1", package = "uu_pmap", path = "src/uu/pmap" } ps = { optional = true, version = "0.0.1", package = "uu_ps", path = "src/uu/ps" } pwdx = { optional = true, version = "0.0.1", package = "uu_pwdx", path = "src/uu/pwdx" } skill = { optional = true, version = "0.0.1", package = "uu_skill", path = "src/uu/skill" } slabtop = { optional = true, version = "0.0.1", package = "uu_slabtop", path = "src/uu/slabtop" } snice = { optional = true, version = "0.0.1", package = "uu_snice", path = "src/uu/snice" } sysctl = { optional = true, version = "0.0.1", package = "uu_sysctl", path = "src/uu/sysctl" } tload = { optional = true, version = "0.0.1", package = "uu_tload", path = "src/uu/tload" } top = { optional = true, version = "0.0.1", package = "uu_top", path = "src/uu/top" } vmstat = { optional = true, version = "0.0.1", package = "uu_vmstat", path = "src/uu/vmstat" } w = { optional = true, version = "0.0.1", package = "uu_w", path = "src/uu/w" } watch = { optional = true, version = "0.0.1", package = "uu_watch", path = "src/uu/watch" } [dev-dependencies] chrono = { workspace = true } ctor = { workspace = true } pretty_assertions = "1.4.0" rand = { workspace = true } regex = { workspace = true } tempfile = { workspace = true } uucore = { workspace = true, features = [ "entries", "libc", "process", "signals", ] } uutests = { workspace = true } [target.'cfg(unix)'.dev-dependencies] xattr = { workspace = true } [target.'cfg(any(target_os = "linux", target_os = "android"))'.dev-dependencies] rlimit = "0.11.0" [build-dependencies] phf_codegen = { workspace = true } [[bin]] name = "procps" path = "src/bin/procps.rs" [[bin]] name = "uudoc" path = "src/bin/uudoc.rs" required-features = ["uudoc"] # The default release profile. It contains all optimizations, without # sacrificing debug info. With this profile (like in the standard # release profile), the debug info and the stack traces will still be available. [profile.release] lto = true # A release-like profile that is tuned to be fast, even when being fast # compromises on binary size. This includes aborting on panic. [profile.release-fast] inherits = "release" panic = "abort" # A release-like profile that is as small as possible. [profile.release-small] inherits = "release" opt-level = "z" panic = "abort" strip = true [lints] workspace = true [workspace.lints.clippy] default_trait_access = "warn" manual_string_new = "warn" cognitive_complexity = "warn" implicit_clone = "warn" range-plus-one = "warn" redundant-clone = "warn" match_bool = "warn" semicolon_if_nothing_returned = "warn"