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

Add flatpak distribution support on Linux #12

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

joshua-stone
Copy link

This PR adds supports for flatpak as a distribution method on Linux. There are numerous advantages of flatpak, such as:

  • Normalizing development configuration, as all dependencies are pulled directly from upstream instead of distributions
  • Providing a reproducible build environment through containerization
  • Being a portable packaging format that integrates with different desktops and distros
  • Giving developers the freedom to distribute applications over repositories or as bundles.

In this case, a script could be used for building portable flatpak bundles on Linux:

[jstone@joshua-laptop BYTEPATH]$ dist/flatpak/flatpak-build.sh 
[jstone@joshua-laptop BYTEPATH]$ ls -lh dist/flatpak/com.github.bytepath-x86_64.flatpak 
-rw-r--r--. 1 jstone jstone 56M Oct 17 14:28 dist/flatpak/com.github.bytepath-x86_64.flatpak
[jstone@joshua-laptop BYTEPATH]$ flatpak install --user dist/flatpak/com.github.bytepath-x86_64.flatpak
[jstone@joshua-laptop flatpak]$ ls -lh ~/.local/share/flatpak/exports/bin/com.github.bytepath
lrwxrwxrwx. 1 jstone jstone 75 Oct 17 14:29 /home/jstone/.local/share/flatpak/exports/bin/com.github.bytepath -> ../../app/com.github.bytepath/current/active/export/bin/com.github.bytepath

I think this would have an improvement in Linux support, as users would no longer have to set up build dependencies and patch files. Desktop shortcuts are also set up with this build.

If you have any interest in upstreaming this and/or submitting to Flathub, then please let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant