[package] name = "moonfire-nvr" version = "0.6.3" authors = ["Scott Lamb "] edition = "2018" license-file = "../LICENSE.txt" [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 = "1" byteorder = "1.0" cstr = "0.2.5" cursive = "0.16.3" db = { package = "moonfire-db", path = "db" } failure = "0.1.1" ffmpeg = { package = "moonfire-ffmpeg", version = "0.0.1" } futures = "0.3" fnv = "1.0" h264-reader = { git = "https://github.com/dholroyd/h264-reader" } http = "0.2.3" http-serve = { version = "0.3.1", features = ["dir"] } hyper = { version = "0.14.2", features = ["http1", "server", "stream", "tcp"] } lazy_static = "1.0" libc = "0.2" log = { version = "0.4", features = ["release_max_level_info"] } memchr = "2.0.2" moonfire-tflite = { git = "https://github.com/scottlamb/moonfire-tflite", features = ["edgetpu"], optional = true } mylog = { git = "https://github.com/scottlamb/mylog" } nix = "0.20.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.25.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" smallvec = "1.0" structopt = { version = "0.3.13", features = ["default", "wrap_help"] } sync_wrapper = "0.1.0" time = "0.1" tokio = { version = "1.0", features = ["macros", "parking_lot", "rt-multi-thread", "signal", "time"] } tokio-stream = "0.1.5" tokio-tungstenite = "0.14.0" url = "2.1.1" uuid = { version = "0.8", features = ["serde", "std", "v4"] } [dev-dependencies] num-rational = { version = "0.3.2", default-features = false, features = ["std"] } reqwest = { version = "0.11.0", default-features = false, features = ["json"] } tempfile = "3.2.0" [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