This repo contains Flatpak manifests to distribute Sketchy Maze to Linux users.
The game source is required. If you're not the developer, you won't have access to the source, but the rest of the Flatpak goodness is available for you to read and learn from in case you're also looking to package a Go SDL2 application for Linux.
Install Flatpak Deps
sudo dnf install flatpak-builder # Get the base layers. flatpak install flathub org.freedesktop.Sdk//21.08 flatpak install flathub org.freedesktop.Sdk.Extension.golang//21.08
The Doodle source directory should be at a folder named "source" relative
to this flatpak repo. A symlink can work. For best results, the Doodle source
folder should be "fully initialized" and ready to simply
go build the app
and be done; this means
make doodads has already been run, and
to embed them in the Go sources. Generally, if you had run a
make dist in
Doodle recently you're good to go. The
should also be included.
source/go.mod file should have "replace" directives pointing to the
appropriate path as seen in the Flatpak build environment, like:
replace git.kirsle.net/go/render => /run/build/sketchymaze/deps/render replace git.kirsle.net/go/ui => /run/build/sketchymaze/deps/ui replace git.kirsle.net/go/audio => /run/build/sketchymaze/deps/audio
It may be possible to skip the
replace directives entirely and have
download the dependencies the usual way, but the
sometimes caches stale versions of these if they were just recently changed and,
in case they had bugs, will prevent the app from building.
make install will attempt to build and install the Flatpak.
make repo will build it and create the Flatpak repo in the directory
- GPG signature for the Flatpak.
- Upload the repo to
download.sketchymaze.comfor public access.