mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2024-12-25 22:55:55 -05:00
dd66c7b0dd
Besides being more clear about what belongs to which, this helps with docker caching. The server and ui parts are only rebuilt when their respective subdirectories change. Extend this a bit further by making the webpack build not depend on the target architecture. And adding cache dirs so parts of the server and ui build process can be reused when layer-wide caching fails.
78 lines
2.4 KiB
TOML
78 lines
2.4 KiB
TOML
[package]
|
|
name = "moonfire-nvr"
|
|
version = "0.6.0"
|
|
authors = ["Scott Lamb <slamb@slamb.org>"]
|
|
edition = "2018"
|
|
|
|
[features]
|
|
|
|
# The nightly feature is used within moonfire-nvr itself to gate the
|
|
# benchmarks. Also pass it along to crates that can benefit from it.
|
|
nightly = ["db/nightly", "parking_lot/nightly", "smallvec/union"]
|
|
|
|
# The bundled feature includes bundled (aka statically linked) versions of
|
|
# native libraries where possible.
|
|
bundled = ["rusqlite/bundled"]
|
|
|
|
analytics = ["moonfire-tflite", "ffmpeg/swscale"]
|
|
|
|
[workspace]
|
|
members = ["base", "db"]
|
|
|
|
[dependencies]
|
|
base = { package = "moonfire-base", path = "base" }
|
|
base64 = "0.13.0"
|
|
blake3 = "0.3.7"
|
|
bytes = "0.5.3"
|
|
byteorder = "1.0"
|
|
cstr = "0.2.5"
|
|
cursive = "0.15.0"
|
|
db = { package = "moonfire-db", path = "db" }
|
|
failure = "0.1.1"
|
|
ffmpeg = { package = "moonfire-ffmpeg", git = "https://github.com/scottlamb/moonfire-ffmpeg" }
|
|
futures = "0.3"
|
|
fnv = "1.0"
|
|
h264-reader = { git = "https://github.com/dholroyd/h264-reader" }
|
|
http = "0.2.0"
|
|
http-serve = { git = "https://github.com/scottlamb/http-serve", branch = "dir", features = ["dir"] }
|
|
hyper = "0.13.0"
|
|
lazy_static = "1.0"
|
|
libc = "0.2"
|
|
log = { version = "0.4", features = ["release_max_level_info"] }
|
|
memchr = "2.0.2"
|
|
memmap = "0.7"
|
|
moonfire-tflite = { git = "https://github.com/scottlamb/moonfire-tflite", features = ["edgetpu"], optional = true }
|
|
mylog = { git = "https://github.com/scottlamb/mylog" }
|
|
nix = "0.19.0"
|
|
nom = "6.0.0"
|
|
parking_lot = { version = "0.11.1", features = [] }
|
|
protobuf = { git = "https://github.com/stepancheg/rust-protobuf" }
|
|
reffers = "0.6.0"
|
|
ring = "0.16.2"
|
|
rusqlite = "0.24.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
smallvec = "1.0"
|
|
structopt = { version = "0.3.13", features = ["default", "wrap_help"] }
|
|
time = "0.1"
|
|
tokio = { version = "0.2.0", features = ["blocking", "macros", "parking_lot", "rt-threaded", "signal"] }
|
|
tokio-tungstenite = "0.11.0"
|
|
url = "2.1.1"
|
|
uuid = { version = "0.8", features = ["serde", "std", "v4"] }
|
|
|
|
[dev-dependencies]
|
|
reqwest = { version = "0.10.1", default-features = false, features = ["json"] }
|
|
tempdir = "0.3"
|
|
|
|
[profile.dev.package.scrypt]
|
|
# On an Intel i3-6100U @ 2.30 GHz, a single scrypt password hash takes 7.6
|
|
# seconds at opt-level=0, or 0.096 seconds at opt-level=2. Always optimize this
|
|
# crate to avoid seeming hung / being annoyingly slow when debugging.
|
|
opt-level = 2
|
|
|
|
[profile.release]
|
|
debug = true
|
|
|
|
[profile.bench]
|
|
debug = true
|