public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/
Date: Thu, 29 Aug 2024 05:16:10 +0000 (UTC)	[thread overview]
Message-ID: <1724908542.204b3f17d9c1366d1287bf066db7a0975c6e7fc5.ionen@gentoo> (raw)

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>


             reply	other threads:[~2024-08-29  5:16 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-29  5:16 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-06-11 14:46 [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/ Ionen Wolkens
2024-04-18  5:14 Ionen Wolkens
2024-03-26 17:30 Ionen Wolkens
2024-03-26 17:30 Ionen Wolkens
2024-03-26 17:30 Ionen Wolkens
2024-03-26 17:30 Ionen Wolkens
2023-12-12 13:17 Ionen Wolkens
2023-11-30 11:52 Ionen Wolkens
2023-11-09 15:49 Ionen Wolkens
2023-11-02  0:05 Ionen Wolkens
2023-11-02  0:05 Ionen Wolkens
2023-10-04 14:25 Ionen Wolkens
2023-08-03 11:58 Ionen Wolkens
2023-07-18 19:11 Ionen Wolkens
2023-07-18 19:11 Ionen Wolkens
2023-05-26 23:16 Ionen Wolkens
2023-05-23  2:52 Sam James
2023-05-19 12:46 Ionen Wolkens
2023-04-17 20:45 Ionen Wolkens
2023-04-04 13:08 Ionen Wolkens
2023-03-20 21:04 Ionen Wolkens
2023-03-07 10:24 Ionen Wolkens
2023-03-01 14:23 Ionen Wolkens
2023-03-01 14:23 Ionen Wolkens
2023-02-25 12:16 Ionen Wolkens
2023-02-25 12:16 Ionen Wolkens
2023-02-24 10:17 Ionen Wolkens
2023-02-15  6:25 Ionen Wolkens
2023-02-08 17:36 Ionen Wolkens
2023-02-08 17:36 Ionen Wolkens
2023-02-02 17:26 Ionen Wolkens
2023-01-28  6:04 Ionen Wolkens
2023-01-28  6:04 Ionen Wolkens
2023-01-25 15:31 Ionen Wolkens
2023-01-25 15:31 Ionen Wolkens
2023-01-21 10:01 Ionen Wolkens
2023-01-21 10:01 Ionen Wolkens
2023-01-18 15:51 Ionen Wolkens
2023-01-18 12:03 Ionen Wolkens
2023-01-18 12:03 Ionen Wolkens
2023-01-14  7:32 Ionen Wolkens
2023-01-14  7:32 Ionen Wolkens
2023-01-11 11:26 Ionen Wolkens
2022-12-29 20:29 Ionen Wolkens
2022-12-24  6:04 Ionen Wolkens
2022-12-24  6:04 Ionen Wolkens
2022-12-20  6:44 Ionen Wolkens
2022-12-16  0:10 Ionen Wolkens
2022-12-10  9:39 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-11-24  6:35 Ionen Wolkens
2022-11-24  6:35 Ionen Wolkens
2022-11-16 20:31 Ionen Wolkens
2022-11-05 21:43 Ionen Wolkens
2022-11-02  7:33 Ionen Wolkens
2022-11-02  5:38 Ionen Wolkens
2022-11-01 20:39 Ionen Wolkens
2022-10-15  5:23 Ionen Wolkens
2022-10-09  0:29 Ionen Wolkens
2022-09-30 12:42 Ionen Wolkens
2022-09-28 13:53 Ionen Wolkens
2022-09-16  6:15 Ionen Wolkens
2022-09-16  6:15 Ionen Wolkens
2022-09-14  4:05 Ionen Wolkens
2022-09-14  4:05 Ionen Wolkens
2022-09-07 21:47 Ionen Wolkens
2022-08-30 21:48 Ionen Wolkens
2022-08-30 21:48 Ionen Wolkens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1724908542.204b3f17d9c1366d1287bf066db7a0975c6e7fc5.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox