Flatpak manifest to release Sketchy Maze for GNU/Linux.
Go to file
2022-05-08 11:18:39 -07:00
icons New icons for the Flatpak build distinct from the native 2022-05-08 11:18:39 -07:00
.gitignore WIP: Build Doodle inside Flatpak SDK 2020-12-28 15:03:52 -08:00
com.sketchymaze.Doodle.appdata.xml New icons and Flatpak config updates 2021-03-31 21:52:15 -07:00
com.sketchymaze.Doodle.desktop Update flatpak settings 2021-07-11 18:15:18 -07:00
com.sketchymaze.Doodle.json Update dependencies 2022-01-03 20:16:48 -08:00
launcher.sh Update flatpak settings 2021-07-11 18:15:18 -07:00
Makefile New icons and Flatpak config updates 2021-03-31 21:52:15 -07:00
README.md Update dependencies 2022-01-03 20:16:48 -08:00

Flatpak

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

Setup

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 make bindata to embed them in the Go sources. Generally, if you had run a make dist in Doodle recently you're good to go. The guidebook/ and rtp/ directories should also be included.

The 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 go get download the dependencies the usual way, but the proxy.golang.org server sometimes caches stale versions of these if they were just recently changed and, in case they had bugs, will prevent the app from building.

Makefile

make install will attempt to build and install the Flatpak.

make repo will build it and create the Flatpak repo in the directory ./repo

To Do

  • GPG signature for the Flatpak.
  • Upload the repo to download.sketchymaze.com for public access.