Files
moment/packaging/flatpak

Flatpak packaging

Manifest

Flatpak packaging manifest is generated by running generate-flatpak-script.sh. This script requires libolm to be installed on the development PC as it will create Python virtual environment and install all the requirements in it.

Note that the requirements are taken from requirements.flatpak.txt and the ones specified in the project' root requirements.txt. At the moment of writing, included packages are multidict with the version that installs in Flatpak (newer versions seem to have some issues), uvloop, and few packages required for building other packages.

In addition, the list of ignored packages is in generate-flatpak-script.sh.

Flatpak manifest is created automatically by generate-flatpak-script.sh using mirage.flatpak.base.yaml and replacing the marked placeholder with Python module dependencies.

Building Flatpak

To build flatpak package, you will need flatpak, flatpak-builder, runtime and SDK (KDE 5.12), and flatpak-builder. flatpak-builder is usually available from the same repository as flatpak. See https://flatpak.org/setup/ for setting it up. To install runtimes (adjust as needed if you prefer system-wide installation):

flatpak install --user flathub org.kde.Platform//5.12 org.kde.Sdk//5.12

To build, run from the root of the project:

flatpak-builder --repo=../flatpak-repo --force-clean flatpak-build packaging/flatpak/mirage.flatpak.yaml

To create bundle, run

flatpak build-bundle ../flatpak-repo ../mirage.flatpak io.github.mirukana.mirage