[package] authors = ["Will Ross "] edition = "2018" license = "GPL-3.0-or-later" name = "r-u-still-there" repository = "https://git.sr.ht/~paxswill/r-u-still-there" version = "0.3.0" description = "Occupancy sensors for home automation using thermal cameras." readme = "ReadMe.md" resolver = "2" [dependencies] amg88 = "0.4.1" anyhow = "1.0.44" async-bincode = {version = "0.6.1", optional = true } atty = "0.2.14" async-trait = "0.1.51" base64 = "0.13.0" bincode = { version = "1.3.3", optional = true } bitvec = "0.22.3" bytes = "1.1.0" colorous = "1.0.5" delegate = "0.6.1" embedded-hal = "0.2.6" fontdue = "0.6.2" hex = { version = "0.4.3", features = ["serde"] } hmac = "0.11.0" http = "0.2.5" i2cdev = "0.5.0" imageproc = { version = "0.22.0", features = ["rayon"] } lazy_static = "1.4.0" linux-embedded-hal = "0.3.1" lru = "0.7.0" mac_address = { version = "1.1.2", features = ["serde"] } machine-uid = "0.2.0" mlx9064x = "0.2.1" mozjpeg = { version = "0.9.1", optional = true, default-features = false } ndarray = { version = "0.15.3", features = ["rayon"] } num-integer = "0.1.44" num-traits = "0.2.14" paste = "1.0.5" parking_lot = { version = "0.11.2", optional = true } pin-project = "1.0.8" rayon = "1.5.1" resize = { version = "0.7.2", optional = true } rgb = { version = "0.8.27", optional = true } rstar = "0.9.1" rumqttc = "0.9.0" serde = { version = "1.0.130", features = ["derive", "rc"] } serde_json = "1.0.68" serde_repr = "0.1.7" serde_with = { version = "1.10", features = [] } sha2 = "0.9.8" tracing = "0.1.29" tokio-rustls = "0.23.0" toml = "0.5.8" uuid = { version = "0.8.2", features = ["serde"] } url = { version = "2.2.2", features = ["serde"] } # Note: keep this in sync with the version of webpki used by tokio-rustls. If # you don't, the build errors will be very confusing. webpki-roots = "0.22" # This version on webpki-roots is for rumqttc, which (as of 2021-10-23) depends # on an older version. webpki-roots-rumqttc = { version = "0.21", package = "webpki-roots" } [dependencies.futures] version = "0.3.17" default-features = false features = [ "std", "async-await", ] [dependencies.hyper] features = ["stream"] optional = true version = "0.14.14" [dependencies.image] features = ["jpeg"] default-features = false version = "0.23.14" [dependencies.structopt] version = "0.3.25" default-features = false features = [ "suggestions", ] [dependencies.tokio] features = ["io-util", "macros", "net", "rt-multi-thread", "time"] version = "1.12.0" [dependencies.tokio-stream] features = ["time"] version = "0.1.7" [dependencies.tracing-futures] features = ["tokio", "std-future", "futures-03"] version = "0.2.5" [dependencies.tracing-subscriber] features = ["env-filter", "fmt", "ansi", "tracing-log", "local-time", "registry", "json"] default-features = false version = "0.3.0" [dependencies.warp] default-features = false version = "0.3.1" [features] # Use mozjpeg by default. mozjpeg is the difference 10 FPS taking <50% CPU on a # Beaglebone and lagging because the CPU is pegged. default = ["mjpeg", "mozjpeg", "piston_resize"] mjpeg = ["hyper/stream", "tokio/sync", "tokio-stream/sync"] # Enables recording the data read from cameras and later playing back that data. # Useful mainly for development purposes, so you don't need an actual camera # present as well as for benchmarking changes. mock_camera = ["async-bincode", "bincode", "tokio/fs"] piston_resize = ["resize", "rgb", "parking_lot"] mozjpeg_simd = ["mozjpeg/with_simd"] [dev-dependencies] float-cmp = "0.9.0" serde_test = "1.0.130" tempfile = "3.2.0" rand_core = "0.6.3" rand_chacha = "0.3.1" rand_distr = "0.4.2" [package.metadata.deb] # Required because the systemd .service file uses the `i2c` group and # permissions that are set up by this package. # TODO: At some point in the future, investigate if/how udev rules can be used # to give a dynamic user permissions for an i2c device. depends = "$auto, systemd, i2c-tools" section = "misc" priority = "optional" maintainer-scripts = "debian/maintscripts" conf-files = [ "etc/r-u-still-there/config.toml", ] features = ["mjpeg", "mozjpeg", "render_fontdue"] separate-debug-symbols = true assets = [ ["target/release/r-u-still-there", "usr/bin/", "755"], ["config_example.toml", "etc/r-u-still-there/config.toml", "644"], ] changelog = "debian/changelog" #revision = "1" [package.metadata.deb.systemd-units] unit-scripts = "debian/unit-scripts" unit-name = "r-u-still-there" [package.metadata.deb.variants.v6] name = "r-u-still-there-v6" provides = "r-u-still-there" [package.metadata.deb.variants.v7] name = "r-u-still-there-v7" provides = "r-u-still-there" [profile.dev] # Unoptimized is so slow as to be unusable opt-level = 3