Flatpak packaging
One-time setup
Install the required tools and runtimes:
flatpak install flathub org.gnome.Platform//47 org.gnome.Sdk//47
flatpak install flathub org.freedesktop.Sdk.Extension.rust-stable//23.08
Get the cargo sources generator:
curl -O https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/cargo/flatpak-cargo-generator.py
pip3 install aiohttp toml
Generate cargo-sources.json
Run this from the flatpak/ directory whenever Cargo.lock changes:
python3 flatpak-cargo-generator.py ../Cargo.lock -o cargo-sources.json
This file is large (~hundreds of entries) and must be committed alongside the manifest.
Local test build
flatpak-builder --user --install --force-clean build-dir io.github.bendik.Zodia.yml
flatpak run io.github.bendik.Zodia
Flathub submission
- Tag the release:
git tag v0.4.0 && git push --tags - Fill in the commit SHA in the manifest (
commit:field) - Fork https://github.com/flathub/flathub
- Create branch
new-pr/io.github.bendik.Zodia - Copy
io.github.bendik.Zodia.ymlandcargo-sources.jsoninto the branch root - Open a pull request — CI will validate the build automatically