Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: example of a working Flatpak manifest file #327

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

DodoLeDev
Copy link

Hi everyone! 👋

In order to give more visibility to this awesome application, I am suggesting this initial draft for a flatpaked version of Friction.

As you may see in the file in the MR, several changes to the packaged files are required. I have managed to apply them in the package procedure, so that maintainers don't have to bother with it.

As-is, the package is really "dirty": I didn't manage to compile the source code by myself, so I use a pre-compiled binary directly fetched from Github releases.

However, I tried to lighten the package size, by removing dependencies already provided by the runtime (it's the reason why there is so much files deleted during the package procedure). Its installed size is now 70MiB (~15MiB less than the uncompressed tarball)

Try it by yourself with the following commands:

mkdir build
flatpak-builder --force-clean --install build graphics.friction.Friction.json

Notable points:

  • I wanted to follow the principle of least privilege, so the app have the minimal dependencies required to run.
  • Because this app is written in Qt, I used the KDE Runtime, which provides a bunch of Qt-related libs. You can probably save a lot of space if the manifest file could compile the program with the runtime libs.
  • The app doesn't use any XDG Portals, so the save/open dialog requires the entire home folder permission. Maybe a feature request?

First steps to make Friction available on Flathub!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant