[package] name = "ffplayout" description.workspace = true readme.workspace = true version.workspace = true license.workspace = true authors.workspace = true repository.workspace = true edition.workspace = true [features] default = ["embed_frontend"] embed_frontend = [] [dependencies] actix-files = "0.6" actix-multipart = "0.7" actix-web = "4" actix-web-grants = "4" actix-web-httpauth = "0.8" actix-web-lab = "0.22" actix-web-static-files = "4.0" argon2 = "0.5" chrono = { version = "0.4", default-features = false, features = ["clock", "std", "serde"] } clap = { version = "4.3", features = ["derive", "env"] } crossbeam-channel = "0.5" derive_more = { version = "1", features = ["display"] } faccess = "0.2" ffprobe = "0.4" flexi_logger = { version = "0.29", features = ["kv", "colors"] } futures-util = { version = "0.3", default-features = false, features = ["std"] } home = "0.5" jsonwebtoken = "9" lazy_static = "1.4" lettre = { version = "0.11", features = ["builder", "rustls-tls", "smtp-transport", "tokio1", "tokio1-rustls-tls"], default-features = false } lexical-sort = "0.3" local-ip-address = "0.6" log = { version = "0.4", features = ["std", "serde", "kv", "kv_std", "kv_sval", "kv_serde"] } m3u8-rs = "6" nix = { version = "0.29", features = ["user", "fs"] } notify = "6.0" notify-debouncer-full = { version = "*", default-features = false } num-traits = "0.2" once_cell = "1" paris = "1.5" parking_lot = "0.12" path-clean = "1.0" rand = "0.8" regex = "1" relative-path = "1.8" reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] } rpassword = "7.2" sanitize-filename = "0.5" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_with = "3.8" shlex = "1.1" static-files = "0.2" sysinfo ={ version = "0.32", features = ["linux-netdevs", "linux-tmpfs"] } sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] } time = { version = "0.3", features = ["formatting", "macros"] } tokio = { version = "1.29", features = ["full"] } tokio-stream = "0.1" toml_edit = {version = "0.22", features = ["serde"]} ts-rs = { version = "10", features = ["chrono-impl", "no-serde-warnings"] } uuid = "1.8" walkdir = "2" zeromq = { version = "0.4", default-features = false, features = [ "tokio-runtime", "tcp-transport", ] } [target.'cfg(not(target_arch = "windows"))'.dependencies] signal-child = "1" [build-dependencies] static-files = "0.2" [[bin]] name = "ffplayout" path = "src/main.rs" # DEBIAN DEB PACKAGE [package.metadata.deb] name = "ffplayout" priority = "optional" section = "net" license-file = ["../LICENSE", "0"] depends = "" suggests = "ffmpeg" copyright = "Copyright (c) 2024, Jonathan Baecker. All rights reserved." assets = [ [ "../target/x86_64-unknown-linux-musl/release/ffplayout", "/usr/bin/", "755", ], [ "../assets/ffplayout.service", "/lib/systemd/system/", "644", ], [ "../assets/dummy.vtt", "/usr/share/ffplayout/", "644", ], [ "../assets/DejaVuSans.ttf", "/usr/share/ffplayout/", "644", ], [ "../assets/FONT_LICENSE.txt", "/usr/share/ffplayout/", "644", ], [ "../assets/logo.png", "/usr/share/ffplayout/", "644", ], [ "../assets/ffplayout.conf", "/usr/share/ffplayout/ffplayout.conf.example", "644", ], [ "../README.md", "/usr/share/doc/ffplayout/README", "644", ], [ "../assets/ffplayout.1.gz", "/usr/share/man/man1/", "644", ], ] maintainer-scripts = "../debian/" systemd-units = { enable = true, unit-scripts = "../assets" } [package.metadata.deb.variants.arm64] assets = [ [ "../target/aarch64-unknown-linux-gnu/release/ffplayout", "/usr/bin/", "755", ], [ "../assets/ffplayout.service", "/lib/systemd/system/", "644", ], [ "../assets/dummy.vtt", "/usr/share/ffplayout/", "644", ], [ "../assets/DejaVuSans.ttf", "/usr/share/ffplayout/", "644", ], [ "../assets/FONT_LICENSE.txt", "/usr/share/ffplayout/", "644", ], [ "../assets/logo.png", "/usr/share/ffplayout/", "644", ], [ "../assets/ffplayout.conf", "/usr/share/ffplayout/ffplayout.conf.example", "644", ], [ "../README.md", "/usr/share/doc/ffplayout/README", "644", ], [ "../assets/ffplayout.1.gz", "/usr/share/man/man1/", "644", ], ] # RHEL RPM PACKAGE [package.metadata.generate-rpm] name = "ffplayout" license = "GPL-3.0" assets = [ { source = "../target/x86_64-unknown-linux-musl/release/ffplayout", dest = "/usr/bin/ffplayout", mode = "755" }, { source = "../assets/ffplayout.service", dest = "/lib/systemd/system/ffplayout.service", mode = "644" }, { source = "../README.md", dest = "/usr/share/doc/ffplayout/README", mode = "644" }, { source = "../assets/ffplayout.1.gz", dest = "/usr/share/man/man1/ffplayout.1.gz", mode = "644", doc = true }, { source = "../LICENSE", dest = "/usr/share/doc/ffplayout/LICENSE", mode = "644" }, { source = "../assets/dummy.vtt", dest = "/usr/share/ffplayout/dummy.vtt", mode = "644" }, { source = "../assets/DejaVuSans.ttf", dest = "/usr/share/ffplayout/DejaVuSans.ttf", mode = "644" }, { source = "../assets/FONT_LICENSE.txt", dest = "/usr/share/ffplayout/FONT_LICENSE.txt", mode = "644" }, { source = "../assets/logo.png", dest = "/usr/share/ffplayout/logo.png", mode = "644" }, { source = "../assets/ffplayout.conf", dest = "/usr/share/ffplayout/ffplayout.conf.example", mode = "644" }, { source = "../debian/postinst", dest = "/usr/share/ffplayout/postinst", mode = "755" }, ] auto-req = "no" post_install_script = "/usr/share/ffplayout/postinst"