commit: 204b3f17d9c1366d1287bf066db7a0975c6e7fc5 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Thu Aug 29 03:58:17 2024 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Thu Aug 29 05:15:42 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=204b3f17
dev-games/godot: remove slotting support and USE=runner Mostly to be easier to maintain, see also bug #938658. Few notes: - use SLOT=0 to avoid looking inconsistent when godot5 exists - not doing slotmove given if a package in an overlay (none in-tree) depended on godot:4 and has a game invoke godot with "4" it'll be broken with this version - no !blocker given all this does is drop the 4 suffix, so no files conflict (essentially a new slot, except the old ones were dropped), users that didn't want a specific slot and using .desktop to start it won't notice a thing after depclean the old - USE=runner was intended for packaging games with system godot but that never really been used and games would be break too frequently even if we did without doing major.minor slots (dropping it also allows to build faster), could revisit if we really want this possibly with a separate godot-runner slotted package (aka a simplified build without much work to adapt to slots) Closes: https://bugs.gentoo.org/938658 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> .../{godot-4.3.ebuild => godot-4.3-r1.ebuild} | 64 +++++++++------------- dev-games/godot/metadata.xml | 1 - 2 files changed, 26 insertions(+), 39 deletions(-) diff --git a/dev-games/godot/godot-4.3.ebuild b/dev-games/godot/godot-4.3-r1.ebuild similarity index 80% rename from dev-games/godot/godot-4.3.ebuild rename to dev-games/godot/godot-4.3-r1.ebuild index 73a8bda01e8f..0bf48fbd9cbf 100644 --- a/dev-games/godot/godot-4.3.ebuild +++ b/dev-games/godot/godot-4.3-r1.ebuild @@ -20,13 +20,13 @@ LICENSE=" Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 ) " -SLOT="4" +SLOT="0" KEYWORDS="~amd64" # Enable roughly same as upstream by default so it works as expected, # except raycast (tools-only heavy dependency), and deprecated. IUSE=" alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast - +runner speech test +theora +tools +udev +upnp +vulkan wayland +webp + speech test +theora +tools +udev +upnp +vulkan wayland +webp " REQUIRED_USE="wayland? ( gui )" # TODO: tests still need more figuring out @@ -96,14 +96,6 @@ PATCHES=( src_prepare() { default - # handle slotting - sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die - sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die - sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \ - -i misc/dist/linux/org.godotengine.Godot.desktop || die - sed -e "s/godot/&${SLOT}/g" \ - -i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die - sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die # use of builtin_ switches can be messy (see below), delete to be sure @@ -198,12 +190,6 @@ src_compile() { use_static_cpp=no ) - if use runner && use tools; then - # build alternate faster + ~60% smaller binary for running - # games or servers without game development debug paths - escons extra_suffix=runner target=template_release "${esconsargs[@]}" - fi - esconsargs+=( target=$(usex tools editor template_$(usex debug{,} release)) dev_build=$(usex debug) @@ -212,43 +198,45 @@ src_compile() { tests=$(usex tools $(usex test)) ) - escons extra_suffix=main "${esconsargs[@]}" + escons "${esconsargs[@]}" } src_test() { xdg_environment_reset - bin/godot*.main --headless --test || die + + bin/godot* --headless --test || die } src_install() { - local s=godot${SLOT} - - newbin bin/godot*.main ${s} - if use runner && use tools; then - newbin bin/godot*.runner ${s}-runner - else - # always available, revdeps shouldn't depend on [runner] - dosym ${s} /usr/bin/${s}-runner - fi + # suffix varies depending on arch/features, use wildcard to simplify + newbin bin/godot* godot - newman misc/dist/linux/godot.6 ${s}.6 + doman misc/dist/linux/godot.6 dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md if use gui; then - newicon icon.svg ${s}.svg - newmenu misc/dist/linux/org.godotengine.Godot.desktop \ - org.godotengine.${s^}.desktop + newicon icon.svg godot.svg + domenu misc/dist/linux/org.godotengine.Godot.desktop insinto /usr/share/metainfo - newins misc/dist/linux/org.godotengine.Godot.appdata.xml \ - org.godotengine.${s^}.appdata.xml + doins misc/dist/linux/org.godotengine.Godot.appdata.xml insinto /usr/share/mime/application - newins misc/dist/linux/org.godotengine.Godot.xml \ - org.godotengine.${s^}.xml + doins misc/dist/linux/org.godotengine.Godot.xml fi - newbashcomp misc/dist/shell/godot.bash-completion ${s} - newfishcomp misc/dist/shell/godot.fish ${s}.fish - newzshcomp misc/dist/shell/_godot.zsh-completion _${s} + newbashcomp misc/dist/shell/godot.bash-completion godot + newfishcomp misc/dist/shell/godot.fish godot.fish + newzshcomp misc/dist/shell/_godot.zsh-completion _godot +} + +pkg_postinst() { + xdg_pkg_postinst + + if has_version dev-games/godot:3 || has_version dev-games/godot:4; then + elog + elog "Gentoo's godot ebuild has removed slotting support meaning that godot" + elog "is now invoked with 'godot' rather than 'godot4', and godot3 has been" + elog "removed. USE=runner and 'godot*-runner' were also removed." + fi } diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml index ef5e4ba49472..b1acc9b2ce0d 100644 --- a/dev-games/godot/metadata.xml +++ b/dev-games/godot/metadata.xml @@ -22,7 +22,6 @@ <use> <flag name="deprecated">Enable support for deprecated features</flag> <flag name="raycast">Enable the raycast Editor module using <pkg>media-libs/embree</pkg></flag> - <flag name="runner">Build an additional binary optimized for running games (only relevant with USE=tools)</flag> <flag name="tools">Enable the Godot Editor for game development</flag> </use> <upstream>
