[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Distro-agnostic advice for Godot Engine packaging (related to ITP #793057)



2016-02-29 11:37 GMT+01:00 Nils Dagsson Moskopp <nils@dieweltistgarnichtso.net>:
> Rémi Verschelde <rverschelde@gmail.com> writes:
>>
>> Note that the "godot-runner" binary I described earlier is actually
>> the release build of the X11 template for the current arch (but
>> without statically linking libstdc++ as it's not meant to be used
>> outside the distro that packages it). On desktop, Godot games can all
>> use the exact same binary to be run, so the "export" step can be
>> bypassed if the template is already in the $PATH and the `-path
>> path/to/game/project/files' argument is used (this is how I intend to
>> package libre games for Mageia). On mobile platforms, the templates
>> are nearer to what their name says, as e.g. for Android the game
>> project files have to packed into the .apk.
>
> I think it could be a good idea to split the package contents and have a
> godot-runtime-X11 package. That would make it possible for people to
> install the godot runtime. I tried to find out if you are already
> planning to do it, but a cursory glance did not yield anything.

That's what I'm doing already:
http://svnweb.mageia.org/packages/cauldron/godot/current/SPECS/godot.spec?view=markup
(cf. line 86 and later)

The runtime/runner for X11 is packaged as "godot-runner", and thus
games only need to depend on it and not the whole editor.

I have yet to push an actual game in Mageia's repos (I have a working
package for Tanks of Freedom[0] but I'm waiting for them to clarify
some licensing stuff[1], and I need to work a bit myself on Minilens
upstream[2] to make a new 1.2 release with some improvements), but
basically game packages would be noarch and contain:
- the game's project files in /usr/share/games/<name> (or
alternatively a zip archive, but if it's libre, I find it nice to give
all files directly accessible)
- a wrapper script as /usr/games/<name> that would basically just do:

---
#!/bin/sh
godot-runner -path /usr/share/games/<name>
---

- a desktop file and a game icon, either from upstream if provided, or
self-made, you know the drill :)

Rémi

[0] https://github.com/w84death/Tanks-of-Freedom
[1] https://github.com/w84death/Tanks-of-Freedom/issues/24
[2] https://github.com/KOBUGE-Games/minilens


Reply to: