Godot is a fully open-source clone of the Unity game engine, but as far as I can tell, even superior. It just got to 1.0, and could be one of the killer projects for Linux, adding to a full professional production workflow. Since it is open source, it would beautifully fit Gentoo. One could even go so far as to patch in an automatic ebuild generator for games made with it. But in any case, I’d really like to see it in Portage. Reproducible: Always
Building seems really easy: https://github.com/okamstudio/godot/wiki/compiling_linux I tried it, and the following resulted in a working binary with export templates: $ wget https://github.com/okamstudio/godot.git $ cd godot $ scons platform=x11 $MAKEOPTS $ cp -R bin/godot.x11.tools.64 $BINDIR/godot • It just seems to build statically, which may not be necessary on Gentoo. • Also, to be able to export to other platforms, export templates need to be generated. Which is nearly as easy. (Cross-compiling is the obstacle, but since Gentoo got very good at that recently…) I consider that to be a secondary objective though. • No idea about the icons / .desktop files for graphical launchers… An entry would be nice, but I don’t need any pointless icons.
What would be really cool, is if the ebuild would automatically pull in the android sdk & ndk, and generate the Android templates, if a certain use flag is set. (Maybe a extended use flag a la GODOT_PLATFORMS="android64 win32 linux32 gentoo64 …"?) Here’s how that is done if it’s done manually: https://github.com/okamstudio/godot/wiki/compiling_android
It’s by far not just a clone. IMHO it’s actually superior. Also, to avoid confusion, the engine is Unity3D, and the Gnome thing is just Unity.
Created attachment 392230 [details] My personal build script; to be used as a guide. This is my personal script. Things might not make sense for you; but they do for me. :) And this is the script that the Godot developers use: https://github.com/okamstudio/godot/wiki/compiling_batch_templates Detailed build information: https://github.com/okamstudio/godot/wiki/advanced TO DO (by you, the reader): 1. Change path_godot and path_emsdk to the source locations. 2. Make sure ANDROID_NDK_ROOT is set properly. 3. Read the bottom of this file to find out how to „install“. 4. To make it work with Portage, follow http://wiki.gentoo.org/wiki/SCons and maybe patch $path_godot/SConstruct as seen here: http://dev.gentoo.org/~vapier/scons-blows.txt (I don’t think SCons blows that much. It’s just more free and flexible, for cases where that is required. Like for Godot. IMHO)
Created attachment 392232 [details] build script I had to fix that script. A few things went wrong when anonymizing it.
*** Bug 647758 has been marked as a duplicate of this bug. ***
It will be nice to have system-wide as some games like Unknown Horizons are going to use Godot.
Maybe this can give some guidance on the ebuild? https://gitlab.com/src_prepare/src_prepare-overlay/-/tree/master/dev-games/godot It doesn't seem very difficult to build.
Created attachment 675592 [details] dev-games/godot-3.2.3.ebuild This is my ebuild for godot-3.2.3 (released September 2020). It was based on the one from abendbrot overlay. I put in pull request last year, but nothing ever happened - looks like the abendbrot overlay on github hasn't been active for about 3 years.
Created attachment 675649 [details] dev-games/godot-3.2.3-r1.ebuild Sorry, uploaded the wrong version of the file last time, one that didn't install the desktop icons. :-$ This version actually works.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a4c500da08a55ab3ff4b8f78e28dcfdc4372af65 commit a4c500da08a55ab3ff4b8f78e28dcfdc4372af65 Author: Ross Charles Campbell <rossbridger.cc@gmail.com> AuthorDate: 2021-01-02 15:57:46 +0000 Commit: Ross Charles Campbell <rossbridger.cc@gmail.com> CommitDate: 2021-01-02 15:59:18 +0000 dev-games/godot: New Package Closes: https://bugs.gentoo.org/532730 Closes: https://github.com/gentoo/gentoo/pull/17874 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Ross Charles Campbell <rossbridger.cc@gmail.com> dev-games/godot/Manifest | 1 + .../godot/files/godot-3.2.3-fix-llvm-build.patch | 36 ++++++ dev-games/godot/godot-3.2.3.ebuild | 139 +++++++++++++++++++++ dev-games/godot/metadata.xml | 28 +++++ 4 files changed, 204 insertions(+)
This shows as resolved fixed; I just downloaded the 3.2.3-r1 build and it did the digest and then fully emerged w/o issue and then the basics run so - wow! But this package isn't there when I `emerge --sync` yet. Also I noticed there are no KEYWORDS="" in that build, so I had to ~amd64 myself to get it to work. Anyway, works on my machine; I would like to see it in the tree.
This bug was closed by the commit introducing dev-games/godot to the Guru repo, but dev-games/godot is not part of the main Gentoo tree yet. I think this bug should be reopened until dev-games/godot is merged into the main Gentoo tree.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2cfd7cf8626696cbff9f3cdad34e29d9b0b38e5 commit d2cfd7cf8626696cbff9f3cdad34e29d9b0b38e5 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2022-08-15 11:49:24 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2022-08-16 00:00:32 +0000 dev-games/godot: add 4.0_alpha14 (slot:4), unkeyworded This entered feature freeze on August 3 and "shouldn't" introduce more breaking changes. Albeit has many known bugs/oddities to be resolved, and --convert-3to4 hasn't been faring so well (new projects should probably start on 4 at this point though). Adding for testing, may look at keywording the first beta which been planned for early September (devs that need godot:3 may want to add the slot to their world file now). Bug: https://bugs.gentoo.org/532730 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-games/godot/Manifest | 1 + dev-games/godot/files/godot-4.0-musl.patch | 9 + .../godot/files/godot-4.0_alpha14-scons.patch | 29 +++ dev-games/godot/godot-4.0_alpha14.ebuild | 246 +++++++++++++++++++++ dev-games/godot/metadata.xml | 1 + 5 files changed, 286 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17666af92dcda999af6d9b7288696e4348f2471d commit 17666af92dcda999af6d9b7288696e4348f2471d Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2022-08-15 09:00:20 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2022-08-16 00:00:32 +0000 dev-games/godot: new package, add 3.5 (slot:3) That this wasn't in ::gentoo always kind of bothered me even though I don't really use it, and felt like handling it. Help/suggestions/PRs welcome from actual users, and please report if anything unexpected compared to official builds (perhaps due to unbundling/USE). Slotted given godot:4 is known to have major breaking changes and migrating is not always trivial. Note largely no interest in building export templates (complex toolchains and would realistically need to use bundled libs), and does not help that this cannot use system paths to find them without patching. Game ebuilds can do simple wrapper.eclass + desktop.eclass w/ icon.png and use system's godot[34]-runner (simpler if assets are pre-imported). IUSE=headless/cli may have been useful to have both gui and headless at same time but requires an extra long build and is obsoleted in godot4 with the --headless switch, likely not worth having for 3. Bug: https://bugs.gentoo.org/532730 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-games/godot/Manifest | 1 + dev-games/godot/files/godot-3.5-musl.patch | 9 ++ dev-games/godot/files/godot-3.5-scons.patch | 74 ++++++++++ dev-games/godot/godot-3.5.ebuild | 218 ++++++++++++++++++++++++++++ dev-games/godot/metadata.xml | 34 +++++ 5 files changed, 336 insertions(+)