flathub / flathub/org.godotengine.godot.BaseApp

Provide the Godot engine itself

Open
#4 9 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
20
Forks
8
PR merge metrics
No merged PRs in 30d

Description

I was looking into this BaseApp for Godot when looking at helping someone developing a game with Godot. I realized that you are just packing the `godot-runner` and looking at the 2 manifests on Flathub which seems to use this BaseApp, from what I see, it means they just provide a `.pck` file.

This is basically a pre-compiled package of the game, and all we are doing here in flathub is therefore to run this already-compiled game.
While it makes sense for proprietary games (and then the main advantage of flatpak is to get some sandboxing), this should not be the proposed process for Free Software.

A whole point of a public repository such as Flathub is to also show the full build process: people have access to the manifest, see what sources were used, which commands were run, and can even look at build logs. If the source is a pre-built binary and the commands/logs is just "copy the binary into `/app/bin`" (what is currently done for Godot applications), I could as well provide you ELF binary and `.so` libraries for GIMP. It would be the same thing. Just trust meeee 🐍👁️… Not sure anyone would like it! 😛

So my proposition is to provide `godot` itself. From my researches, godot can export the project from command line: https://docs.godotengine.org/en/stable/getting_started/workflow/export/exporting_projects.html#exporting-from-the-command-line

This will create the software `.pck`, as well as a binary which can be directly run. There is not even the need of godot-runner itself to run the produced executable (a proper independent ELF binary). So that means that it is not even useful to package `godot-runner` in the end. In fact Godot could just be made available in a SDK package, it is not needed for running.

Edit: when I said "From my researches", I implied not just theoretical research, I also tested the command line from Godot docs, then I actually uninstalled Godot and ran the application without any problem.

Edit 2: and for a headless Godot, since we don't care about the GUI obviously in our SDK, they have a procedure in their docs too: https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#compiling-a-headless-server-build
This can be used to just build Godot projects from Flathub build servers.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.