[package]
name = "libcontainer"
version = "0.3.2" # MARK: Version
description = "Library for container control"
license-file = "../../LICENSE"
repository = "https://github.com/containers/youki"
homepage = "https://containers.github.io/youki"
readme = "README.md"
authors = ["youki team"]
edition = "2021"
rust-version = "1.58.1"
keywords = ["youki", "container", "cgroups"]

[features]
default = ["systemd", "v2", "v1", "libseccomp"]
libseccomp = ["dep:libseccomp"]
systemd = ["libcgroups/systemd", "v2"]
v2 = ["libcgroups/v2"]
v1 = ["libcgroups/v1"]
cgroupsv2_devices = ["libcgroups/cgroupsv2_devices"]

[dependencies]
bitflags = "2.5.0"
caps = "0.5.5"
chrono = { version = "0.4", default-features = false, features = [
    "clock",
    "serde",
] }
fastrand = "^2.1.0"
futures = { version = "0.3", features = ["thread-pool"] }
libc = "0.2.154"
nix = { version = "0.27.1", features = [
    "socket",
    "sched",
    "mount",
    "mman",
    "resource",
    "dir",
    "term",
    "hostname",
] }
oci-spec = { version = "~0.6.4", features = ["runtime"] }
once_cell = "1.19.0"
procfs = "0.16.0"
prctl = "1.0.0"
libcgroups = { path = "../libcgroups", default-features = false, version = "0.3.2" } # MARK: Version
libseccomp = { version = "0.3.0", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
rust-criu = "0.4.0"
protobuf = "= 3.2.0" # https://github.com/checkpoint-restore/rust-criu/issues/19
regex = "1.10.4"
thiserror = "1.0.59"
tracing = { version = "0.1.40", features = ["attributes"] }
safe-path = "0.1.0"
nc = "0.8.20"

[dev-dependencies]
oci-spec = { version = "~0.6.4", features = ["proptests", "runtime"] }
quickcheck = "1"
serial_test = "3.1.1"
tempfile = "3"
anyhow = "1.0"
rand = { version = "0.8.5" }
