Introducing flutpak - automating Flathub submission for Flutter apps
Update:
flutpakjust passed Flathub CI on the first try (Proof of Concept)
Hey everyone! Quick update on flutpak (the tool automating Flathub submissions for Flutter apps).
Two days ago, I shared the tool while my own app’s submission (io.github.o_murphy.ebalistyka) was still in progress. Today, I’m thrilled to report that the Flathub test build has successfully passed on the very first attempt!
Build succeeded for bothx86_64 and aarch64.
What’s under the hood?
The application is now built properly from source, except for objectbox-c dependency which is distributed only as pre-compiled binaries under the Apache License.
Key improvements in the manifest:
.desktop,.metainfo.xml, and icon files have been moved upstream to the main repository (no longer committed directly to the Flathub repo)- Screenshots in the metainfo file now point to an immutable release tag instead of the main branch tip
- Updated runtime to
25.08with adjusted permissions
Why is this a big deal?
- Zero manual manifest tweaks: The entire
generated-sources.json(with hundreds of lines of pub.dev dependencies) and the manifest were generated entirely byflutpak generate. - Handled complex native dependencies: The
known-patches/system worked flawlessly. It successfully injected the offline patch forobjectbox_flutter_libs, mapping the correct version-stamped paths without breaking the strict offline network restriction of the Flathub compiler.
The PR is now clean, passes all linters, and is currently awaiting final human review.
Pull Request: https://github.com/flathub/flathub/pull/8889
If you’ve been holding back on bringing your Flutter app to Linux because of the painful manual packaging process, flutpak is officially proven to close that gap.
Check out the repo, try it on your app, and if you use packages that require native C-bindings or offline patches, contributions to known-patches/ are highly welcome!
Discussion in the ATmosphere