Flatpak packaging
Builds a portable sunstone.flatpak bundle you can install on any distro with
Flatpak + the GNOME 49 runtime.
Build a test bundle
Prereqs (one-time):
flatpak install --user flathub org.flatpak.Builder \
org.gnome.Platform//49 org.gnome.Sdk//49 \
org.freedesktop.Sdk.Extension.rust-stable//25.08
Commit your changes (the manifest builds from git HEAD), then from the repo root:
flatpak run org.flatpak.Builder --force-clean --user --install \
--install-deps-from=flathub \
build-dir packaging/dev.sunstone.Sunstone.yaml
Run it:
flatpak run dev.sunstone.Sunstone
Make a single-file bundle to copy to another machine
flatpak build-bundle ~/.local/share/flatpak/repo \
sunstone.flatpak dev.sunstone.Sunstone --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
On the target distro:
flatpak install --user sunstone.flatpak
flatpak run dev.sunstone.Sunstone
(The target needs the GNOME 49 runtime; flatpak install will pull it from
Flathub automatically if the repo is configured.)
Notes / caveats
- This is a dev bundle, not Flathub-ready. The manifest uses
--share=networkat build time so cargo can fetch crates. Flathub requires fully-offline builds: generatecargo-sources.jsonwithflatpak-cargo-generator.pyfromCargo.lock, add it as a source, drop the network build-arg, and runcargo build --offline. - The player requires GStreamer's
gtk4paintablesink. If a stream/video fails to open inside the sandbox, the GNOME runtime is missing that element and we need to addgst-plugin-gtk4as a build module. - Hardware video decode is intentionally disabled in-app on Intel GPUs
(
SUNSTONE_HW_DECODE=1to opt back in); software decode runs everywhere.