One vision that i’ve talked abut in the past is that moving to flatpak could make it much easier to contribute to applications.
Fast-forward 3 years, and the vision is (almost) here!
Every application on flathub has a Sources extension that you can install just like anything else from a flatpak repo:
flatpak install flathub org.seul.pingus.Sources
This extension contains a flatpak manifest which lists the exact revisions of all the sources that went into the build. This lets you reproduce the build — if you can find the manifest!
Assuming you install the sources per-user, the manifest is here (using org.seul.pingus as an example):
And you can build it like this:
flatpak-builder build org.seul.pingus.json
I said the vision is almost, but not quite there. Here is why: gnome-builder also has a way to kickstart a project from a manifest:
gnome-builder --manifest org.seul.pingus.json
But sadly, this currently crashes. I filed an issue for it, and it will hopefully work very soon. Next step, flip-to-hack !