NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.36k stars 13.59k forks source link

fteqw: desktop file, tools, fteqtv, master server, & plugins missing #329805

Open 0n-s opened 1 month ago

0n-s commented 1 month ago

Describe the bug

The fteqw package only installs the bare engine & is missing basically the entire rest of the software.

Steps To Reproduce

Steps to reproduce the behavior:

  1. ?

Expected behavior

The package should build all of fteqw, including, but not limited to:

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

CMake seems to be required to build the whole of fteqw. That can also be used to install the program, which should probably be used instead of the current installPhase.

Notify maintainers

@necrophcodr

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.10.0, NixOS, 24.11 (Vicuna), 24.11pre655874.68c9ed8bbed9`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

necrophcodr commented 1 month ago

I suppose the question here then is if we should just ship one fteqw derivation that contains all of those, or if it should continue to be split up like it is now, where each derivation is a different build. I could be convinced either way easily, but it does seem like a bit much to install the entire fteqw derivation containing both client and server and fteqtv and such, if all you need is the iqmtool.

Anyway, I don't know which is the right way forward here, but I've toyed with getting it working and it doesn't seem to be too much work, so I'm open to suggestions on this one @0n-s .

0n-s commented 1 month ago

it does seem like a bit much to install the entire fteqw derivation containing both client and server and fteqtv and such, if all you need is the iqmtool.

The one reason I can think of for keeping a separate fteqw-dedicated derivation is that headless systems may not want to install OpenGL/Vulkan libs. Otherwise, the fteqw derivation already contains "both client and server". The engine binary it ships currently is perfectly capable of being a server; this is how most Quake & Quake derived engines work, really, & I'd keep it that way because I believe that's necessary to be able to have, among other things, singleplayer. Yeah. (I misunderstood your comment, I think)

(a client only version can be built if you use -DFTE_ENGINE_CLIENT_ONLY=true; this doesn't make the combined version not be built, it just adds the client only version to the build; feel free to add this to the non -dedicated output)

On iqmtool or the various other tools…I can't say I've ever heard anyone who just wants iqmtool. :) So I'd say split it up if someone wants it to be split up in the future.

Also…do check the build log & CMakeCache.txt file to make sure all deps are satisfied. The full build of FTE's got a lot more stuff than what we ship currently, & links to a fair amount more libraries. That, & the message received when OpenXR is missing is quite funny.