-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
102 lines (83 loc) · 2.84 KB
/
Copy pathCargo.toml
File metadata and controls
102 lines (83 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[package]
name = "uc-intg-hass"
version = "0.16.4"
edition = "2024"
rust-version = "1.88.0"
authors = ["Markus Zehnder <markus.z@unfoldedcircle.com>"]
license = "MPL-2.0"
description = "Unfolded Circle Home-Assistant integration for Remote Two/3"
repository = "https://github.com/unfoldedcircle/integration-home-assistant"
default-run = "uc-intg-hass"
[profile.release]
strip = true # Automatically strip symbols from the binary.
[lib]
path = "src/lib.rs"
[[bin]]
name = "uc-intg-hass"
path = "src/main.rs"
[[bin]]
name = "ha-test"
path = "src/bin/ha_test.rs"
[[bin]]
name = "voice-command"
path = "src/bin/voice_command.rs"
required-features = ["audio"]
[features]
default = []
mdns-sd = ["dep:mdns-sd"]
zeroconf = ["dep:zeroconf"]
audio = ["dep:hound"]
[dependencies]
uc_api = { git = "https://github.com/unfoldedcircle/api-model-rs", tag = "v0.17.1", features = ["prost"] }
# for local development:
#uc_api = { path = "../api-model-rs", features = ["prost"] }
# Using a GitHub revision:
#uc_api = { git = "https://github.com/unfoldedcircle/api-model-rs", rev = "a06d27bd6cd9bc0591454870cfb9823e87064c1a", features = ["prost"] }
# WebSockets server
actix-web = { version = "4.11", features = ["rustls-0_23"] }
actix-ws = "0.3"
actix = "0.13"
rustls = { version = "0.23" }
rustls-platform-verifier = "0.6"
rustls-pemfile = "2"
# WebSockets client
actix-codec = "0.5"
awc = { version = "3.8", features = ["rustls-0_23"] }
bytes = "1"
futures = "0.3"
# Tokio is used by actix, but AFAIK the select! macro is not re-exported
tokio = { version = "1", features = ["macros"] }
prost = "0.14"
# see mdns-sd patch at the end of this file
mdns-sd = { version = "0.9.3", optional = true }
if-addrs = "0.14"
hostname = "0.4"
zeroconf = { version = "0.15", optional = true }
# JSON (de)serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_with = "3"
rust-fsm = "0.6"
clap = { version = "4", features = ["derive"] }
config = { version = "0.15", default-features = false, features = ["yaml", "json"] }
const_format = "0.2"
env_logger = "0.11"
lazy_static = "1.4"
log = "0.4"
uuid = { version = "1", features = ["v4"] }
url = { version = "2", features = ["serde"] }
# Helpful macros for working with enums and strings
# Attention: strum needs to be in sync with uc_api
strum = "0.27"
derive_more = { version = "2", features = ["constructor", "display"] }
derive_builder = "0.20"
anyhow = { version = "1", features = [] }
hound = { version = "3.5", optional = true }
[build-dependencies]
# Warning: git2 feature causes a stack smashing error in cross-compilation, even with 16MB stack!
# Solved with a custom git callout in build.rs
built = { version = "0.8", features = ["chrono", "semver", "cargo-lock"] }
[dev-dependencies]
rstest = "0.26"
[patch.crates-io]
mdns-sd = { git = "https://github.com/zehnm/mdns-sd", rev = "aa95af75e21f40ee9ea74d117ca31e0672d722fb" }