noxworld-dev / opennox

OpenNox main repository.
GNU General Public License v3.0
455 stars 25 forks source link

Flatpak package #477

Open dennwc opened 2 years ago

dennwc commented 2 years ago

Snap packaging is a bit controversial and sometimes causes issues (#476). We should provide Flatpak packaging as well.

dennwc commented 1 year ago

Did some initial work here a few weeks ago, but cannot yet make all the dynamic libraries to link properly. Need to figure out why. Help from anyone experienced with Flatpak will be appreciated.

dennwc commented 1 year ago

Finally got it working locally :tada:

Now I need to figure out the minor details (.desktop link, icon, description, saving config and logs to correct paths, etc).

So the next release will definitely support Flatpak!

dennwc commented 1 year ago

https://github.com/flathub/flathub/pull/3792

dennwc commented 1 year ago

Test build is up! :rocket: It will be available for 5 days, hopefully by that time Flathub PR will be approved.

flatpak install org.freedesktop.Platform.Compat.i386//22.08
flatpak install org.freedesktop.Platform.GL32.default//22.08
flatpak install --user https://dl.flathub.org/build-repo/595/io.github.noxworld_dev.OpenNox.flatpakref
dennwc commented 1 year ago

Our application to FlatHub was accepted :tada:

We are officially live: https://flathub.org/apps/details/io.github.noxworld_dev.OpenNox

The only thing left is to add a badge/link to readme and Linux installation guide.

dennwc commented 1 year ago

As a reminder for myself, here's our FlatHub repository that needs to be updated after release: https://github.com/flathub/io.github.noxworld_dev.OpenNox .

XandrosDarkstorm commented 1 year ago

I found a problem with flatpak on somewhat fresh install of Ubuntu 22. Flatpak version uses $HOME to store data, which is a big no-no. It has to use XDG Base folder specification or at least place its data in "$HOME/.opennox".

EDIT: I did some testing and found that Flatpak version of OpenNox places data into the working directory. Also this problem affects the loading of gamedata.bin file -- it tries to find it in working directory by default.