jdolan / quetoo

Quetoo ("Q2") is a free first person shooter based on id Tech2. GPL v2 license.
http://quetoo.org
204 stars 28 forks source link

Integrate Gibson's new nim-lang updater into the distribution #588

Closed jdolan closed 2 years ago

jdolan commented 3 years ago

@ypsvlq has created a new updater that can be compiled to native code for all platforms, and remove our dependency on Java. That updater lives here:

https://github.com/jdolan/quetoo-installer

We need to wire up continuous integration for this project on http://ci.quetoo.org. I can tackle that part.

@Paril I'm not sure if we want / need AppVeyor to build the Windows version?

Finally, we need to determine if we publish these executables somewhere and pull them into the Quetoo snapshots, like we currently do for the Java based installer, or if instead we simply version the executables from the nim-lang updater directly in this repository under each platform's build script folder.

Input and help welcome here!

ghost commented 3 years ago

It's fully working on Windows, installs/updates properly on Linux but I've not checked the binaries because my laptop is too old to run Quetoo :^)

Things that still need doing:

If you can check it's fine on macOS it should be all good, we'll probably want to package it as an app bundle for now as it depends on OpenSSL and GTK.

Build command should be nimble build -d:release for Linux (can assume OpenSSL is installed here, probably) and nimble build -d:release -d:staticBuild for Windows.

ghost commented 3 years ago

Hmm, tried the Linux dedicated on my server and it didn't run even though all the files were there. Didn't pick up libraries unless LD_LIBRARY_PATH was set (even though RPATH looked okay) and when it ran it wouldn't find the data (the Linux path is ../share/default, right?)

jdolan commented 3 years ago

@ypsvlq If you want to open issues in the installer's repo for remaining work there, that'd be a good idea (e.g. purging stale files). I'd like to use this ticket to track the tasks and progress towards integrating it into Quetoo. The README in that repo would be the best place to note any build commands, usage, etc.

In regards to integrating it with Quetoo, tho, when do you think you might have feature parity with the Java updater?

ghost commented 3 years ago

Ah yeah, I'll move that over there.

It's been a while since I used the Java updater but once purging files is implemented I don't think there's anything missing.

ghost commented 3 years ago

Once https://github.com/jdolan/quetoo-installer/issues/1 is closed, it should be ready to be integrated (could do with your thoughts there jd/anyone).

jdolan commented 2 years ago

I was able to build and launch the graphical installer on macOS Catalina by exporting LD_LIBRARY_PATH=/opt/local/lib in order to pickup libgtk-3.0.dylib. Without that, it would fail to load the library (which is weird -- the Nim environment must ship with some statically linked crap or? I don't understand how it linked on my system but then couldn't run...)

Anyway, I think this is mostly Gtk-related, but it doesn't look awesome:

image

Gibson appears to have moved on. I'm not sure what the future of this installer will be at this point.