96 lines
4 KiB
TOML
96 lines
4 KiB
TOML
[package]
|
|
name = "matter-iot"
|
|
version = "0.1.0"
|
|
edition = "2018"
|
|
authors = ["Kedar Sovani <kedars@gmail.com>"]
|
|
description = "Native RUST implementation of the Matter (Smart-Home) ecosystem"
|
|
repository = "https://github.com/kedars/matter-rs"
|
|
readme = "README.md"
|
|
keywords = ["matter", "smart", "smart-home", "IoT", "ESP32"]
|
|
categories = ["embedded", "network-programming"]
|
|
license = "MIT"
|
|
|
|
[lib]
|
|
name = "matter"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = ["os", "crypto_rustcrypto"]
|
|
os = ["std", "backtrace", "env_logger", "nix", "critical-section/std", "embassy-sync/std", "embassy-time/std"]
|
|
std = ["alloc", "rand", "qrcode", "async-io", "smol", "esp-idf-sys/std"]
|
|
backtrace = []
|
|
alloc = []
|
|
nightly = []
|
|
crypto_openssl = ["alloc", "openssl", "foreign-types", "hmac", "sha2"]
|
|
crypto_mbedtls = ["alloc", "mbedtls"]
|
|
crypto_rustcrypto = ["alloc", "sha2", "hmac", "pbkdf2", "hkdf", "aes", "ccm", "p256", "elliptic-curve", "crypto-bigint", "x509-cert", "rand_core"]
|
|
|
|
[dependencies]
|
|
matter_macro_derive = { path = "../matter_macro_derive" }
|
|
bitflags = { version = "1.3", default-features = false }
|
|
byteorder = { version = "1.4.3", default-features = false }
|
|
heapless = "0.7.16"
|
|
num = { version = "0.4", default-features = false }
|
|
num-derive = "0.3.3"
|
|
num-traits = { version = "0.2.15", default-features = false }
|
|
strum = { version = "0.24", features = ["derive"], default-features = false }
|
|
log = { version = "0.4.17", features = ["max_level_debug", "release_max_level_debug"] }
|
|
no-std-net = "0.6"
|
|
subtle = { version = "2.4.1", default-features = false }
|
|
safemem = { version = "0.3.3", default-features = false }
|
|
owo-colors = "3"
|
|
time = { version = "0.3", default-features = false }
|
|
verhoeff = { version = "1", default-features = false }
|
|
embassy-futures = "0.1"
|
|
embassy-time = { version = "0.1.1", features = ["generic-queue-8"] }
|
|
embassy-sync = "0.2"
|
|
critical-section = "1.1.1"
|
|
domain = { version = "0.7.2", default_features = false, features = ["heapless"] }
|
|
|
|
# STD-only dependencies
|
|
rand = { version = "0.8.5", optional = true }
|
|
qrcode = { version = "0.12", default-features = false, optional = true } # Print QR code
|
|
smol = { version = "1.2", optional = true } # =1.2 for compatibility with ESP IDF
|
|
async-io = { version = "=1.12", optional = true } # =1.2 for compatibility with ESP IDF
|
|
|
|
# crypto
|
|
openssl = { git = "https://github.com/sfackler/rust-openssl", optional = true }
|
|
foreign-types = { version = "0.3.2", optional = true }
|
|
|
|
# rust-crypto
|
|
sha2 = { version = "0.10", default-features = false, optional = true }
|
|
hmac = { version = "0.12", optional = true }
|
|
pbkdf2 = { version = "0.12", optional = true }
|
|
hkdf = { version = "0.12", optional = true }
|
|
aes = { version = "0.8", optional = true }
|
|
ccm = { version = "0.5", default-features = false, features = ["alloc"], optional = true }
|
|
p256 = { version = "0.13.0", default-features = false, features = ["arithmetic", "ecdh", "ecdsa"], optional = true }
|
|
elliptic-curve = { version = "0.13.2", optional = true }
|
|
crypto-bigint = { version = "0.4", default-features = false, optional = true }
|
|
rand_core = { version = "0.6", default-features = false, optional = true }
|
|
x509-cert = { version = "0.2.0", default-features = false, features = ["pem"], optional = true } # TODO: requires `alloc`
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
astro-dnssd = { version = "0.3" }
|
|
|
|
[target.'cfg(not(target_os = "espidf"))'.dependencies]
|
|
mbedtls = { git = "https://github.com/fortanix/rust-mbedtls", optional = true }
|
|
env_logger = { version = "0.10.0", optional = true }
|
|
nix = { version = "0.26", features = ["net"], optional = true }
|
|
|
|
[target.'cfg(target_os = "espidf")'.dependencies]
|
|
esp-idf-sys = { version = "0.33", default-features = false, features = ["native", "binstart"] }
|
|
esp-idf-hal = { version = "0.41", features = ["embassy-sync", "critical-section"] }
|
|
esp-idf-svc = { version = "0.46", features = ["embassy-time-driver"] }
|
|
embedded-svc = "0.25"
|
|
|
|
[build-dependencies]
|
|
embuild = "0.31.2"
|
|
|
|
[[example]]
|
|
name = "onoff_light"
|
|
path = "../examples/onoff_light/src/main.rs"
|
|
|
|
# [[example]]
|
|
# name = "speaker"
|
|
# path = "../examples/speaker/src/main.rs"
|