Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/
Date: Wed, 14 Sep 2022 04:05:46
Message-Id: 1663128168.c54d51d94d44bffe0785d0606d83e8a542fca78c.ionen@gentoo
1 commit: c54d51d94d44bffe0785d0606d83e8a542fca78c
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 14 00:20:34 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 14 04:02:48 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c54d51d9
7
8 dev-games/godot: drop 4.0_alpha14, 4.0_alpha15
9
10 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
11
12 dev-games/godot/Manifest | 2 -
13 dev-games/godot/godot-4.0_alpha14.ebuild | 256 -------------------------------
14 dev-games/godot/godot-4.0_alpha15.ebuild | 256 -------------------------------
15 3 files changed, 514 deletions(-)
16
17 diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
18 index fec47a038c9a..b26c62db9ac1 100644
19 --- a/dev-games/godot/Manifest
20 +++ b/dev-games/godot/Manifest
21 @@ -1,4 +1,2 @@
22 DIST godot-3.5-stable.tar.xz 24044340 BLAKE2B 9d77ecdfa6bd90065fff26c2334f13c32bbbc4b26aad111b5aab2563d1e4782457ea6cf2115f1a809e0d8aac3d3ee9a138ad224998068983ad36e54a577d89c3 SHA512 23785e39ccc7e1406c97ee33b5e90f7f397aa907d79d72ed08ea3f4b7e68788030a1bcdd07c9f782a21ee3a84636a2cea47a57dcfc94c24e327fa210ae0515b0
23 -DIST godot-4.0-alpha14.tar.xz 30970116 BLAKE2B 213616f3a80f97c09580324bf9296d12b6213a2941b3070353b45e160dc7d7bfd32fcae3fc2b64a91fa7d935c23d97fd02a015bc3501441d67261ee6e45e85e1 SHA512 511cb5d3f48c747232350bee25765c17032b99179fd70877f906bcd1a09449260a928c3df9f84c6f3afb47f564b8f4bf75d0a07d37f5a22dd5f5a96d1b1f4df5
24 -DIST godot-4.0-alpha15.tar.xz 30959600 BLAKE2B 0631519d81147d64a01b543111b8317c436d4070f27cf54801a68a66b8d380e5ce33b85a78f09547ffc1b2573f9ac0c7860712808380849c26a0336c89d1c7f4 SHA512 47c750062e4e8262ee95e5b0337744e86b0092789a62c3847d27ab929281c414e5ca1d666a1f03f0a180203ee0f78f53e311976b52d54ee9f8a7b266afa3beb0
25 DIST godot-4.0-alpha16.tar.xz 31012408 BLAKE2B 6492953945e3f2f77da5dcf042d791dd2dc903e65b787704c8053d1ac61852dd3c1d8f8aa0a383f1c86495c863d1f15f6d5e77e6ecadda7ff87ae7c87bdce810 SHA512 56e87c7a02abf9dee15e89be829046b9335a7c01b7bd3bb38d71b3fe1f262f6e923741c47c2d96b2633b9a16f71882ec87aaf06bad42d4bdf7a429ff2db0b4b1
26
27 diff --git a/dev-games/godot/godot-4.0_alpha14.ebuild b/dev-games/godot/godot-4.0_alpha14.ebuild
28 deleted file mode 100644
29 index 2e22a6f9fe5a..000000000000
30 --- a/dev-games/godot/godot-4.0_alpha14.ebuild
31 +++ /dev/null
32 @@ -1,256 +0,0 @@
33 -# Copyright 2022 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI=7
37 -
38 -PYTHON_COMPAT=( python3_{8..10} )
39 -inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
40 -
41 -MY_P="${PN}-$(ver_rs 2 -)"
42 -
43 -DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
44 -HOMEPAGE="https://godotengine.org/"
45 -SRC_URI="https://downloads.tuxfamily.org/godotengine/$(ver_rs 2 /)/${MY_P}.tar.xz"
46 -S="${WORKDIR}/${MY_P}"
47 -
48 -LICENSE="
49 - MIT
50 - Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
51 - gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
52 -SLOT="4"
53 -#KEYWORDS="~amd64" # leaving 4 unkeyworded until at least first _beta
54 -# Enable roughly same as upstream by default so it works as expected,
55 -# except raycast (tools-only heavy dependency), and deprecated.
56 -IUSE="
57 - +dbus debug deprecated +fontconfig +gui pulseaudio raycast
58 - +runner speech test +theora +tools +udev +upnp +webp"
59 -RESTRICT="!test? ( test ) !tools? ( test )"
60 -
61 -# dlopen: alsa-lib,dbus,fontconfig,pulseaudio,speech-dispatcher,udev
62 -RDEPEND="
63 - app-arch/zstd:=
64 - dev-games/recastnavigation:=
65 - dev-libs/icu:=
66 - dev-libs/libpcre2:=[pcre32]
67 - media-libs/freetype[brotli,harfbuzz]
68 - media-libs/harfbuzz:=[icu]
69 - media-libs/libogg
70 - media-libs/libpng:=
71 - media-libs/libvorbis
72 - <net-libs/mbedtls-3:=
73 - net-libs/wslay
74 - sys-libs/zlib:=
75 - fontconfig? ( media-libs/fontconfig )
76 - gui? (
77 - dev-util/glslang
78 - media-libs/alsa-lib
79 - media-libs/libglvnd[X]
80 - media-libs/vulkan-loader[X]
81 - x11-libs/libX11
82 - x11-libs/libXcursor
83 - x11-libs/libXext
84 - x11-libs/libXi
85 - x11-libs/libXinerama
86 - x11-libs/libXrandr
87 - x11-libs/libXrender
88 - dbus? ( sys-apps/dbus )
89 - pulseaudio? ( media-libs/libpulse )
90 - tools? ( raycast? ( media-libs/embree:3 ) )
91 - udev? ( virtual/udev )
92 - )
93 - speech? ( app-accessibility/speech-dispatcher )
94 - theora? ( media-libs/libtheora )
95 - tools? ( app-misc/ca-certificates )
96 - upnp? ( net-libs/miniupnpc:= )
97 - webp? ( media-libs/libwebp:= )"
98 -DEPEND="
99 - ${RDEPEND}
100 - gui? (
101 - dev-util/vulkan-headers
102 - x11-base/xorg-proto
103 - )
104 - tools? ( test? ( dev-cpp/doctest ) )"
105 -BDEPEND="virtual/pkgconfig"
106 -
107 -PATCHES=(
108 - "${FILESDIR}"/${PN}-4.0-musl.patch
109 - "${FILESDIR}"/${PN}-4.0_alpha14-scons.patch
110 -)
111 -
112 -src_prepare() {
113 - default
114 -
115 - sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
116 - sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
117 - sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
118 - -i misc/dist/linux/org.godotengine.Godot.desktop || die
119 -
120 - sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
121 -
122 - # use of builtin_ switches can be messy (see below), delete to be sure
123 - local unbundle=(
124 - doctest embree freetype glslang graphite harfbuzz icu4c libogg libpng
125 - libtheora libvorbis libwebp mbedtls miniupnpc pcre2 recastnavigation
126 - volk vulkan/include wslay zlib zstd
127 - # certs: unused by generated header, but scons panics if not found
128 - )
129 - rm -r "${unbundle[@]/#/thirdparty/}" || die
130 -
131 - # do symlinks to avoid too much patching with hardcoded header paths
132 - mkdir thirdparty/lib{vorbis,ogg} || die
133 - ln -s "${ESYSROOT}"/usr/include thirdparty/zstd || die
134 - ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
135 - ln -s "${ESYSROOT}"/usr/include/ogg thirdparty/libogg/ || die
136 - ln -s "${ESYSROOT}"/usr/include/vorbis thirdparty/libvorbis/ || die
137 -}
138 -
139 -src_compile() {
140 - local -x GODOT_VERSION_STATUS=$(ver_cut 3-4) # for dev versions only
141 - local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
142 -
143 - local esconsargs=(
144 - AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
145 -
146 - progress=no
147 - verbose=yes
148 -
149 - deprecated=$(usex deprecated)
150 - #execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
151 - fontconfig=$(usex fontconfig)
152 - minizip=yes # uses a modified bundled copy
153 - opengl3=$(usex gui)
154 - pulseaudio=$(usex gui $(usex pulseaudio))
155 - speechd=$(usex speech)
156 - udev=$(usex gui $(usex udev))
157 - use_dbus=$(usex gui $(usex dbus))
158 - use_volk=no # unnecessary when linking directly to libvulkan
159 - vulkan=$(usex gui) # hard-required and favored by upstream over gles3
160 - x11=$(usex gui)
161 -
162 - system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
163 -
164 - # platform/*/detect.py uses builtin_* switches to check if need
165 - # to link with system libraries, but ignores whether the dep is
166 - # actually used, so "enable" deleted builtins on disabled deps
167 - builtin_certs=no
168 - builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
169 - builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
170 - builtin_freetype=no
171 - builtin_glslang=$(usex !gui)
172 - builtin_graphite=no
173 - builtin_harfbuzz=no
174 - builtin_icu=no
175 - builtin_libogg=no
176 - builtin_libpng=no
177 - builtin_libtheora=$(usex !theora)
178 - builtin_libvorbis=no
179 - builtin_libwebp=$(usex !webp)
180 - builtin_mbedtls=no
181 - builtin_miniupnpc=$(usex !upnp)
182 - builtin_msdfgen=yes # not wired for unbundling nor packaged
183 - builtin_pcre2=no
184 - builtin_recast=no
185 - builtin_rvo2=yes # bundled copy has godot-specific changes
186 - builtin_squish=yes # ^ likewise, may not be safe to unbundle
187 - builtin_wslay=no
188 - builtin_xatlas=yes # not wired for unbundling nor packaged
189 - builtin_zlib=no
190 - builtin_zstd=no
191 - # also bundled but lacking a builtin_* switch:
192 - # amd-fsr, basis_universal, cvtt, etcpak, fonts, glad,
193 - # jpeg-compressor, meshoptimizer, minimp3, minizip (patched to
194 - # seek in archives), noise, oidn, openxr, spirv-reflect, thorvg,
195 - # tinyexr, vhacd, vulkan (minus include/) and the misc directory.
196 -
197 - # modules with optional dependencies, "possible" to disable more but
198 - # gets messy and breaks all sorts of features (expected enabled)
199 - module_glslang_enabled=$(usex gui)
200 - module_gridmap_enabled=$(usex deprecated) # fails without deprecated
201 - module_mono_enabled=no # unhandled
202 - # note raycast is disabled on many arches, see raycast/config.py
203 - module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
204 - module_theora_enabled=$(usex theora)
205 - module_upnp_enabled=$(usex upnp)
206 - module_webp_enabled=$(usex webp)
207 -
208 - # let *FLAGS handle these, e.g. can pass -flto as-is
209 - debug_symbols=no
210 - optimize=none
211 - use_lto=no
212 - use_static_cpp=no
213 - )
214 -
215 - if use runner && use tools; then
216 - # build alternate faster + ~60% smaller binary for running
217 - # games or servers without game development debug paths
218 - escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
219 - fi
220 -
221 - esconsargs+=(
222 - # debug: debug for godot itself
223 - # release_debug: debug for game development
224 - # release: no debugging paths, only available with tools=no
225 - target=$(usex debug{,} $(usex tools release_debug release))
226 - tools=$(usex tools)
227 -
228 - # harmless but note this bakes in --test in the final binary
229 - tests=$(usex tools $(usex test))
230 - )
231 -
232 - escons extra_suffix=main "${esconsargs[@]}"
233 -}
234 -
235 -src_test() {
236 - xdg_environment_reset
237 - bin/godot*.main --headless --test || die
238 -}
239 -
240 -src_install() {
241 - local s=godot${SLOT}
242 -
243 - newbin bin/godot*.main ${s}
244 - if use runner && use tools; then
245 - newbin bin/godot*.runner ${s}-runner
246 - else
247 - # always available, revdeps shouldn't depend on [runner]
248 - dosym ${s} /usr/bin/${s}-runner
249 - fi
250 -
251 - newman misc/dist/linux/godot.6 ${s}.6
252 - dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
253 -
254 - if use gui; then
255 - newicon icon.svg ${s}.svg
256 - newmenu misc/dist/linux/org.godotengine.Godot.desktop \
257 - org.godotengine.${s^}.desktop
258 -
259 - insinto /usr/share/metainfo
260 - newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
261 - org.godotengine.${s^}.appdata.xml
262 -
263 - insinto /usr/share/mime/application
264 - newins misc/dist/linux/org.godotengine.Godot.xml \
265 - org.godotengine.${s^}.xml
266 - fi
267 -
268 - newbashcomp misc/dist/shell/godot.bash-completion ${s}
269 - bashcomp_alias ${s}{,-runner}
270 -
271 - insinto /usr/share/fish/vendor_completions.d
272 - newins misc/dist/shell/godot.fish ${s}.fish
273 - dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
274 -
275 - insinto /usr/share/zsh/site-functions
276 - newins misc/dist/shell/_godot.zsh-completion _${s}
277 - dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
278 -}
279 -
280 -pkg_postinst() {
281 - xdg_pkg_postinst
282 -
283 - if [[ ! ${REPLACING_VERSIONS} ]] && has_version ${CATEGORY}/${PN}:3; then
284 - elog
285 - elog "Remember to make backups before opening any Godot <=3.x projects in Godot 4."
286 - elog "Automated migration is only partial, and it would be difficult to revert."
287 - fi
288 -}
289
290 diff --git a/dev-games/godot/godot-4.0_alpha15.ebuild b/dev-games/godot/godot-4.0_alpha15.ebuild
291 deleted file mode 100644
292 index 02df805c8f56..000000000000
293 --- a/dev-games/godot/godot-4.0_alpha15.ebuild
294 +++ /dev/null
295 @@ -1,256 +0,0 @@
296 -# Copyright 2022 Gentoo Authors
297 -# Distributed under the terms of the GNU General Public License v2
298 -
299 -EAPI=7
300 -
301 -PYTHON_COMPAT=( python3_{8..10} )
302 -inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
303 -
304 -MY_P="${PN}-$(ver_rs 2 -)"
305 -
306 -DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
307 -HOMEPAGE="https://godotengine.org/"
308 -SRC_URI="https://downloads.tuxfamily.org/godotengine/$(ver_rs 2 /)/${MY_P}.tar.xz"
309 -S="${WORKDIR}/${MY_P}"
310 -
311 -LICENSE="
312 - MIT
313 - Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
314 - gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
315 -SLOT="4"
316 -#KEYWORDS="~amd64" # leaving 4 unkeyworded until at least first _beta
317 -# Enable roughly same as upstream by default so it works as expected,
318 -# except raycast (tools-only heavy dependency), and deprecated.
319 -IUSE="
320 - +dbus debug deprecated +fontconfig +gui pulseaudio raycast
321 - +runner speech test +theora +tools +udev +upnp +webp"
322 -RESTRICT="!test? ( test ) !tools? ( test ) !webp? ( test )"
323 -
324 -# dlopen: alsa-lib,dbus,fontconfig,pulseaudio,speech-dispatcher,udev
325 -RDEPEND="
326 - app-arch/zstd:=
327 - dev-games/recastnavigation:=
328 - dev-libs/icu:=
329 - dev-libs/libpcre2:=[pcre32]
330 - media-libs/freetype[brotli,harfbuzz]
331 - media-libs/harfbuzz:=[icu]
332 - media-libs/libogg
333 - media-libs/libpng:=
334 - media-libs/libvorbis
335 - <net-libs/mbedtls-3:=
336 - net-libs/wslay
337 - sys-libs/zlib:=
338 - fontconfig? ( media-libs/fontconfig )
339 - gui? (
340 - dev-util/glslang
341 - media-libs/alsa-lib
342 - media-libs/libglvnd[X]
343 - media-libs/vulkan-loader[X]
344 - x11-libs/libX11
345 - x11-libs/libXcursor
346 - x11-libs/libXext
347 - x11-libs/libXi
348 - x11-libs/libXinerama
349 - x11-libs/libXrandr
350 - x11-libs/libXrender
351 - dbus? ( sys-apps/dbus )
352 - pulseaudio? ( media-libs/libpulse )
353 - tools? ( raycast? ( media-libs/embree:3 ) )
354 - udev? ( virtual/udev )
355 - )
356 - speech? ( app-accessibility/speech-dispatcher )
357 - theora? ( media-libs/libtheora )
358 - tools? ( app-misc/ca-certificates )
359 - upnp? ( net-libs/miniupnpc:= )
360 - webp? ( media-libs/libwebp:= )"
361 -DEPEND="
362 - ${RDEPEND}
363 - gui? (
364 - dev-util/vulkan-headers
365 - x11-base/xorg-proto
366 - )
367 - tools? ( test? ( dev-cpp/doctest ) )"
368 -BDEPEND="virtual/pkgconfig"
369 -
370 -PATCHES=(
371 - "${FILESDIR}"/${PN}-4.0-musl.patch
372 - "${FILESDIR}"/${PN}-4.0_alpha14-scons.patch
373 -)
374 -
375 -src_prepare() {
376 - default
377 -
378 - sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
379 - sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
380 - sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
381 - -i misc/dist/linux/org.godotengine.Godot.desktop || die
382 -
383 - sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
384 -
385 - # use of builtin_ switches can be messy (see below), delete to be sure
386 - local unbundle=(
387 - doctest embree freetype glslang graphite harfbuzz icu4c libogg libpng
388 - libtheora libvorbis libwebp mbedtls miniupnpc pcre2 recastnavigation
389 - volk vulkan/include wslay zlib zstd
390 - # certs: unused by generated header, but scons panics if not found
391 - )
392 - rm -r "${unbundle[@]/#/thirdparty/}" || die
393 -
394 - # do symlinks to avoid too much patching with hardcoded header paths
395 - mkdir thirdparty/lib{vorbis,ogg} || die
396 - ln -s "${ESYSROOT}"/usr/include thirdparty/zstd || die
397 - ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
398 - ln -s "${ESYSROOT}"/usr/include/ogg thirdparty/libogg/ || die
399 - ln -s "${ESYSROOT}"/usr/include/vorbis thirdparty/libvorbis/ || die
400 -}
401 -
402 -src_compile() {
403 - local -x GODOT_VERSION_STATUS=$(ver_cut 3-4) # for dev versions only
404 - local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
405 -
406 - local esconsargs=(
407 - AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
408 -
409 - progress=no
410 - verbose=yes
411 -
412 - deprecated=$(usex deprecated)
413 - #execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
414 - fontconfig=$(usex fontconfig)
415 - minizip=yes # uses a modified bundled copy
416 - opengl3=$(usex gui)
417 - pulseaudio=$(usex gui $(usex pulseaudio))
418 - speechd=$(usex speech)
419 - udev=$(usex gui $(usex udev))
420 - use_dbus=$(usex gui $(usex dbus))
421 - use_volk=no # unnecessary when linking directly to libvulkan
422 - vulkan=$(usex gui) # hard-required and favored by upstream over gles3
423 - x11=$(usex gui)
424 -
425 - system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
426 -
427 - # platform/*/detect.py uses builtin_* switches to check if need
428 - # to link with system libraries, but ignores whether the dep is
429 - # actually used, so "enable" deleted builtins on disabled deps
430 - builtin_certs=no
431 - builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
432 - builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
433 - builtin_freetype=no
434 - builtin_glslang=$(usex !gui)
435 - builtin_graphite=no
436 - builtin_harfbuzz=no
437 - builtin_icu=no
438 - builtin_libogg=no
439 - builtin_libpng=no
440 - builtin_libtheora=$(usex !theora)
441 - builtin_libvorbis=no
442 - builtin_libwebp=$(usex !webp)
443 - builtin_mbedtls=no
444 - builtin_miniupnpc=$(usex !upnp)
445 - builtin_msdfgen=yes # not wired for unbundling nor packaged
446 - builtin_pcre2=no
447 - builtin_recast=no
448 - builtin_rvo2=yes # bundled copy has godot-specific changes
449 - builtin_squish=yes # ^ likewise, may not be safe to unbundle
450 - builtin_wslay=no
451 - builtin_xatlas=yes # not wired for unbundling nor packaged
452 - builtin_zlib=no
453 - builtin_zstd=no
454 - # also bundled but lacking a builtin_* switch:
455 - # amd-fsr, basis_universal, cvtt, etcpak, fonts, glad,
456 - # jpeg-compressor, meshoptimizer, minimp3, minizip (patched to
457 - # seek in archives), noise, oidn, openxr, spirv-reflect, thorvg,
458 - # tinyexr, vhacd, vulkan (minus include/) and the misc directory.
459 -
460 - # modules with optional dependencies, "possible" to disable more but
461 - # gets messy and breaks all sorts of features (expected enabled)
462 - module_glslang_enabled=$(usex gui)
463 - module_gridmap_enabled=$(usex deprecated) # fails without deprecated
464 - module_mono_enabled=no # unhandled
465 - # note raycast is disabled on many arches, see raycast/config.py
466 - module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
467 - module_theora_enabled=$(usex theora)
468 - module_upnp_enabled=$(usex upnp)
469 - module_webp_enabled=$(usex webp)
470 -
471 - # let *FLAGS handle these, e.g. can pass -flto as-is
472 - debug_symbols=no
473 - optimize=none
474 - use_lto=no
475 - use_static_cpp=no
476 - )
477 -
478 - if use runner && use tools; then
479 - # build alternate faster + ~60% smaller binary for running
480 - # games or servers without game development debug paths
481 - escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
482 - fi
483 -
484 - esconsargs+=(
485 - # debug: debug for godot itself
486 - # release_debug: debug for game development
487 - # release: no debugging paths, only available with tools=no
488 - target=$(usex debug{,} $(usex tools release_debug release))
489 - tools=$(usex tools)
490 -
491 - # harmless but note this bakes in --test in the final binary
492 - tests=$(usex tools $(usex test))
493 - )
494 -
495 - escons extra_suffix=main "${esconsargs[@]}"
496 -}
497 -
498 -src_test() {
499 - xdg_environment_reset
500 - bin/godot*.main --headless --test || die
501 -}
502 -
503 -src_install() {
504 - local s=godot${SLOT}
505 -
506 - newbin bin/godot*.main ${s}
507 - if use runner && use tools; then
508 - newbin bin/godot*.runner ${s}-runner
509 - else
510 - # always available, revdeps shouldn't depend on [runner]
511 - dosym ${s} /usr/bin/${s}-runner
512 - fi
513 -
514 - newman misc/dist/linux/godot.6 ${s}.6
515 - dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
516 -
517 - if use gui; then
518 - newicon icon.svg ${s}.svg
519 - newmenu misc/dist/linux/org.godotengine.Godot.desktop \
520 - org.godotengine.${s^}.desktop
521 -
522 - insinto /usr/share/metainfo
523 - newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
524 - org.godotengine.${s^}.appdata.xml
525 -
526 - insinto /usr/share/mime/application
527 - newins misc/dist/linux/org.godotengine.Godot.xml \
528 - org.godotengine.${s^}.xml
529 - fi
530 -
531 - newbashcomp misc/dist/shell/godot.bash-completion ${s}
532 - bashcomp_alias ${s}{,-runner}
533 -
534 - insinto /usr/share/fish/vendor_completions.d
535 - newins misc/dist/shell/godot.fish ${s}.fish
536 - dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
537 -
538 - insinto /usr/share/zsh/site-functions
539 - newins misc/dist/shell/_godot.zsh-completion _${s}
540 - dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
541 -}
542 -
543 -pkg_postinst() {
544 - xdg_pkg_postinst
545 -
546 - if [[ ! ${REPLACING_VERSIONS} ]] && has_version ${CATEGORY}/${PN}:3; then
547 - elog
548 - elog "Remember to make backups before opening any Godot <=3.x projects in Godot 4."
549 - elog "Automated migration is only partial, and it would be difficult to revert."
550 - fi
551 -}