patina 22.0.2

Common types and functionality used in UEFI development.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "patina"
version = "22.0.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Common types and functionality used in UEFI development."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/OpenDevicePartnership/patina"

[features]
alloc = [
    "dep:goblin",
    "dep:fixedbitset",
]
ci_features = [
    "core",
    "alloc",
    "global_allocator",
    "unstable",
    "unstable-device-path",
]
core = ["alloc"]
default = ["alloc"]
doc = ["alloc"]
global_allocator = []
mockall = [
    "dep:mockall",
    "std",
]
serde = [
    "alloc",
    "dep:serde",
    "serde/alloc",
    "dep:serde_json",
]
serde-with-yaml = [
    "serde",
    "dep:serde_yaml",
]
std = ["alloc"]
unstable = ["unstable-device-path"]
unstable-device-path = []

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

[[example]]
name = "basic_guid_usage"
path = "examples/basic_guid_usage.rs"

[[example]]
name = "basic_hob_usage"
path = "examples/basic_hob_usage.rs"

[[example]]
name = "brotli"
path = "examples/brotli.rs"

[[test]]
name = "compile_fail_tests"
path = "tests/compile_fail_tests.rs"

[[test]]
name = "test_new_component_attr"
path = "tests/test_new_component_attr.rs"

[[bench]]
name = "bench_component"
path = "benches/bench_component.rs"
harness = false

[[bench]]
name = "bench_guid"
path = "benches/bench_guid.rs"
harness = false

[[bench]]
name = "bench_service"
path = "benches/bench_service.rs"
harness = false

[dependencies.bitvec]
version = "1"
default-features = false

[dependencies.cfg-if]
version = "1"

[dependencies.compile-time]
version = "0.2"

[dependencies.fallible-streaming-iterator]
version = "0.1.9"

[dependencies.fixedbitset]
version = "0.5"
optional = true
default-features = false

[dependencies.goblin]
version = "0.10.7"
features = [
    "pe32",
    "pe64",
    "te",
    "alloc",
]
optional = true
default-features = false

[dependencies.indoc]
version = "2.0"

[dependencies.linkme]
version = "0.3.36"

[dependencies.log]
version = "0.4"
default-features = false

[dependencies.mockall]
version = "0.14.0"
optional = true

[dependencies.num-traits]
version = "0.2"
default-features = false

[dependencies.patina_macro]
version = "22.0.2"

[dependencies.r-efi]
version = "6.0.0"
default-features = false

[dependencies.safe-mmio]
version = "0.3.0"

[dependencies.scroll]
version = "0.13"
features = ["derive"]
default-features = false

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false

[dependencies.serde_json]
version = "1.0"
features = ["alloc"]
optional = true
default-features = false

[dependencies.serde_yaml]
version = "0.9"
optional = true

[dependencies.spin]
version = "0.12"

[dependencies.uuid]
version = "1.23"
default-features = false

[dependencies.zerocopy]
version = "0.8"

[dependencies.zerocopy-derive]
version = "0.8"

[dev-dependencies.alloc-no-stdlib]
version = "2.0"

[dev-dependencies.brotli-decompressor]
version = "5.0.3"
default-features = false

[dev-dependencies.criterion]
version = "0.8"

[dev-dependencies.mockall]
version = "0.14.0"

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = false

[dev-dependencies.serde_yaml]
version = "0.9"

[dev-dependencies.trybuild]
version = "1.0"
features = ["diff"]

[target.'cfg(target_arch="x86_64")'.dependencies.uart_16550]
version = "0.3.2"

[lints.clippy]
indexing_slicing = "deny"
undocumented_unsafe_blocks = "warn"