Closed rollerozxa closed 3 months ago
what about flatpak btw
haha
(are you serious?)
haha
(are you serious?)
yeah, why not? i don't care about Flatpak and won't be using it, but i get why some people like them.
also Flathub does a great job at promoting smaller applications.
could be a low prio task
I have some pretty strong feelings about Flatpak that is probably better suited in a blog article. If anyone wants to package Principia for Flatpak then they are free to do so, just like with any other package manager repository. But in terms of first-party Linux binary distribution of Principia, AppImage is what I'll be placing my focus on.
just a little information dump about Linux self-distributions:
With AppImages, if you can make sure you bundle everything except glibc, they will be fine. Not an exact replica of what'd be needed here, but we build our app in CI then "just" run this shell script in CI and it builds an AppImage https://github.com/Chatterino/chatterino2/blob/master/.CI/CreateAppImage.sh If you are ok with use CPack in CMake, it has an appimage output mode iirc but configuring will be different. You'd want to just use appimagetool instead of linuxdeployqt
While the flatpak setup seemed more complex at first, it ended up being kinda easy to build & publish. Our stable release is here and our nightly/beta branch is here. We just make sure to have this file available to download alongside our nightly releases
If you're interested in distributing native Ubuntu builds, you can do that through launchpad - bit of a learning curve but now it just builds automatic releases for my app into a PPA, making it super easy to add & install. Build recipe.
Last but maybe most interesting, there's openSUSE's Open Build Service https://build.opensuse.org/ - it would allow you to build Fedora, Debian, Ubuntu, SUSE, etc native builds. We haven't looked into this yet but it seems super promising
Opening this issue to keep track of things that need to be fixed or finished before the next release happens, so I don't end up in the same situation as the last release where I come back after a month of inactivity and have no idea what's left to be done.
Need to be done:
I've begun reworking the networking code to make it less obfuscated and use less magic strings. This should be completely finished for the next release so I can begin phasing out the old networking code in principia-web.Command pad texture is broken because TMS doesn't like some optimised PNGs. Will fix.Nice to have:
AppImage builds. I have a WIP appimagebuilder recipe on some Debian VM lying around but it uses the old buildsystem and GTK2. Should update this and wire it up to CI so we can have the closest thing to universal Linux binaries we can come.