name = "breadcast" description = "Cast your screen to any Chromecast/Google TV or DLNA renderer — daemon + GTK4 popup" binaries = ["breadcast", "breadcastd"] # gst-plugins-base: videoconvert/videoscale/videorate/appsink -- the # `gstreamer` package is only the core library. gst-plugin-va: the # `vah264enc` element both encode pipelines use (see # breadcast-core/src/pipeline/mod.rs) -- a separate Arch package from # gst-plugins-bad itself, not bundled into it. jsoncpp/openssl: runtime # shared-library deps of breadcastd itself (not just a build dep of # breadcast-caststream-sys), confirmed via `ldd target/release/breadcastd` # showing libjsoncpp.so/libcrypto.so -- the vendored openscreen Cast # Streaming code (see breadcast-caststream-sys/vendor/openscreen) links # dynamically against the system's jsoncpp/libcrypto rather than vendoring # them too. system_deps = [ "gtk4", "gtk4-layer-shell", "gstreamer", "gst-plugins-base", "gst-plugin-pipewire", "gst-plugins-bad", "gst-plugin-hlssink3", "gst-plugin-va", "jsoncpp", "openssl", ] optional_system_deps = ["hyprland", "xdg-desktop-portal-hyprland"] # breadd is optional: breadcastd publishes bread.cast.* when it is running # and works the same without it. See EVENTS.md. Not a bakery bread dep. bread_deps = [] [[service]] unit = "breadcastd.service" enable = true [install] post_install = [ "systemctl --user is-active --quiet breadcastd || systemctl --user start breadcastd", ]