From f0ddcad13515f66d2f3bf827d33c277bdba7e1dd Mon Sep 17 00:00:00 2001 From: V3n3RiX <venerix@koprulu.sector> Date: Wed, 12 Jun 2024 00:08:13 +0100 Subject: gentoo auto-resync : 12:06:2024 - 00:08:13 --- dev-games/Manifest.gz | Bin 5725 -> 5725 bytes dev-games/godot/Manifest | 4 +- dev-games/godot/godot-3.5.3-r1.ebuild | 218 +++++++++++++++++++++++++++++++ dev-games/godot/godot-3.5.3.ebuild | 218 ------------------------------- dev-games/godot/godot-4.2.2-r1.ebuild | 238 ++++++++++++++++++++++++++++++++++ dev-games/godot/godot-4.2.2.ebuild | 238 ---------------------------------- 6 files changed, 458 insertions(+), 458 deletions(-) create mode 100644 dev-games/godot/godot-3.5.3-r1.ebuild delete mode 100644 dev-games/godot/godot-3.5.3.ebuild create mode 100644 dev-games/godot/godot-4.2.2-r1.ebuild delete mode 100644 dev-games/godot/godot-4.2.2.ebuild (limited to 'dev-games') diff --git a/dev-games/Manifest.gz b/dev-games/Manifest.gz index e80cec736489..8a44ffea8ea7 100644 Binary files a/dev-games/Manifest.gz and b/dev-games/Manifest.gz differ diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest index dd4df243ddf1..613d4b8058d2 100644 --- a/dev-games/godot/Manifest +++ b/dev-games/godot/Manifest @@ -5,6 +5,6 @@ AUX godot-4.0_rc2-musl.patch 878 BLAKE2B d10e22acc29e14df6b42b180ed480908c61e6a9 AUX godot-4.0_rc3-scons.patch 506 BLAKE2B 2fd1421760f082ea65febce90459f8a2d63e06e5b02b5e86e59bbacd14db78f76448ee50d0fa7c935b1a867f528b46a9b82b5bb03765d0b237e9af73d7fd14da SHA512 9ac654edc66a5a330055d1af0b706a5fa143061712146ddc02657add45d4518d96391d9e980c0a6b33d9fa966b5914a3f90a7b333f20885f0a05a7b8985fc667 DIST godot-3.5.3-stable.tar.xz 24072964 BLAKE2B a4c03328e3aa77d741a1c642cfd645de04084f2852e865757fc8960c4919d3b8b8571e772f44004901fdd80a967e8e21bd8c6be8b36263db7afae787dcbd3ed6 SHA512 4c008af5bb7c298d465edbe03f6ebc642f5bbbb0a4254e99d7a7a88919e1f9424b98c5dff95a55ae68d4e2e5878c7c0bb7d13a66869cb632ecb51a913f865155 DIST godot-4.2.2-stable.tar.xz 26768552 BLAKE2B e4a6040d7a1f63f841f56d74bb7b04e58f2fa26ddd8850df7f93937deb10c4af925ea2059c174d9f457222e0cddfe477498e3462bfaaf69ec8e57de8f2d43c83 SHA512 4a623063be5488957e1ede7e45b6865f6cd61bc954ac311587b9e97bed848a4083c4a7225d0a81bca285d854d33be9b07d7d0c21465c9f25b90e92b08090429c -EBUILD godot-3.5.3.ebuild 6564 BLAKE2B a2d12f6ffeb748314eadd122537d8b76d835c66e3c2a3776bd2f91c0a98c69b7b47ef8099e9a97f16f6170da29ca1a27c1d01b9837559067e91b6a397e83b28f SHA512 5de17a38a6c16cf8f0b514e223a2a75e54254b612c3c66e9f4512ff612b4bcf5e5448ea2f32a92a6b1a6240023ba5f5f2da5a1581d705f4a7533f3c14482049b -EBUILD godot-4.2.2.ebuild 6970 BLAKE2B 7636bbc9570e98a0e5eea9557b45e1389f3284d622a3705753f3a5b28eb47e7f93294f5f89fb0d7a12e63255332793818112b708003f2f7ffaea0a5fc33138f0 SHA512 930b0327472d38b10b0039d200e9fe20cb05c3b3fb5d86966d83d0d85baf498b1d2001c84472e687418562e0686a6941d0b80cf6e7ea029f90521f7f184aca59 +EBUILD godot-3.5.3-r1.ebuild 6614 BLAKE2B 4fc3a695c62c1b4baf0295499b9bcc15373521810e5619e057a63154faacce5473d00d4446d6a7a75b2afb5608c19e7eb654df2bf4b0cf3410184e5632bf2c51 SHA512 bad47cd4c49bd7c10efbc461ed0d8ea3ccd473dee97f0fec6dac20118f37b90c3171d77e837726492b03d8098125daf0c2b910e6ece914c91577c96f1dff96f1 +EBUILD godot-4.2.2-r1.ebuild 7008 BLAKE2B 249385e33643809f6d3021454f353aef250c343be7f6814357d7efb7204a4f45d845718d98c5fb5fc2ef889ab76c88c8ed5d26b383f92cf43f6b3102f03003be SHA512 769fb7d2145a0293f707e698886de146a2d68a6d0519732e1000607070f7b482181b907175f0368d5e7a0b8e97188e4de6414d3e4efdc037c9f1b6b31302d795 MISC metadata.xml 1492 BLAKE2B ae5789569351fbb3df1da26f655750404bc22d56d0e252ca83b973abaa9ed29f26afd48c263c29266eb883444c6399ab35939d57e081d4733f7ea8b5a161f737 SHA512 fe692458dbe8293a1b76a1f0f79fe01f86ed61c731eb8b6c5acf0ef24a5d0b4cba94dd1ad72abe287d584883bc08e090f48d2b709ffbf06758c45d8996432973 diff --git a/dev-games/godot/godot-3.5.3-r1.ebuild b/dev-games/godot/godot-3.5.3-r1.ebuild new file mode 100644 index 000000000000..9a41621d39b5 --- /dev/null +++ b/dev-games/godot/godot-3.5.3-r1.ebuild @@ -0,0 +1,218 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit desktop python-any-r1 scons-utils shell-completion toolchain-funcs xdg + +DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor" +HOMEPAGE="https://godotengine.org/" +SRC_URI=" + https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz + https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz +" +S="${WORKDIR}/${P}-stable" + +LICENSE=" + MIT + Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB + gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 ) +" +SLOT="3" +KEYWORDS="~amd64" +# Enable roughly same as upstream by default so it works as expected, +# except raycast (tools-only heavy dependency), and deprecated. +IUSE=" + +bullet debug deprecated +gui pulseaudio raycast +runner +theora + +tools +udev +upnp +webm +webp +" + +# dlopen: alsa-lib,pulseaudio,udev +RDEPEND=" + app-arch/zstd:= + dev-games/recastnavigation:= + dev-libs/libpcre2:=[pcre32] + media-libs/alsa-lib + media-libs/freetype[brotli] + media-libs/libpng:= + <net-libs/mbedtls-3:= + net-libs/wslay + sys-libs/zlib:= + bullet? ( sci-physics/bullet:= ) + gui? ( + media-libs/libglvnd + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + tools? ( raycast? ( media-libs/embree:3 ) ) + ) + pulseaudio? ( media-libs/libpulse ) + theora? ( + media-libs/libogg + media-libs/libtheora + media-libs/libvorbis + ) + tools? ( app-misc/ca-certificates ) + udev? ( virtual/udev ) + webm? ( + media-libs/libvorbis + media-libs/libvpx:= + media-libs/opus + ) + webp? ( media-libs/libwebp:= ) +" +DEPEND=" + ${RDEPEND} + gui? ( x11-base/xorg-proto ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-3.5-musl.patch + "${FILESDIR}"/${PN}-3.5-scons.patch + "${FILESDIR}"/${PN}-3.5.3-gcc13.patch +) + +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/{x11,server}/detect.py || die + + # use of builtin_ switches can be messy (see below), delete to be sure + local unbundle=( + bullet embree freetype libogg libpng libtheora libvorbis libvpx + libwebp mbedtls opus pcre2 recastnavigation wslay zlib zstd # miniupnpc + # certs: unused by generated header, but scons panics if not found + # miniupnpc: check if can re-add on bump, bug #934044 + ) + rm -r "${unbundle[@]/#/thirdparty/}" || die +} + +src_compile() { + local -x BUILD_NAME=gentoo # replaces "custom_build" in version string + + local esconsargs=( + AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)" + + platform=$(usex gui x11 server) + progress=no + verbose=yes + + deprecated=$(usex deprecated) + #execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged + minizip=yes # uses a modified bundled copy + pulseaudio=$(usex pulseaudio) + udev=$(usex udev) + + system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + + # platform/*/detect.py uses builtin_* switches to check if need + # to link with system libraries, but ignores whether the dep is + # actually used, so "enable" deleted builtins on disabled deps + builtin_bullet=$(usex !bullet) + builtin_certs=no + builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast))) + builtin_enet=yes # bundled copy is patched for IPv6+DTLS support + builtin_freetype=no + builtin_libogg=yes # unused + builtin_libpng=no + builtin_libtheora=$(usex !theora) + builtin_libvorbis=$(usex !theora $(usex !webm)) + builtin_libvpx=$(usex !webm) + builtin_libwebp=$(usex !webp) + builtin_mbedtls=no + builtin_miniupnpc=yes #934044 (for now, should revisit) + builtin_opus=$(usex !webm) + builtin_pcre2=no + builtin_recast=no + builtin_rvo2=yes # bundled copy has godot-specific changes + builtin_squish=yes # ^ likewise, may not be safe to unbundle + builtin_wslay=no + builtin_xatlas=yes # not wired for unbundling nor packaged + builtin_zlib=no + builtin_zstd=no + # (more is bundled in third_party/ but they lack builtin_* switches) + + # modules with optional dependencies, "possible" to disable more but + # gets messy and breaks all sorts of features (expected enabled) + module_bullet_enabled=$(usex bullet) + module_mono_enabled=no # unhandled + module_ogg_enabled=no # unused + module_opus_enabled=no # unused, support is gone and webm uses system's + # note raycast is disabled on many arches, see raycast/config.py + module_raycast_enabled=$(usex gui $(usex tools $(usex raycast))) + module_theora_enabled=$(usex theora) + module_upnp_enabled=$(usex upnp) + module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis + module_webm_enabled=$(usex webm) + module_webp_enabled=$(usex webp) + + # let *FLAGS handle these, e.g. can pass -flto as-is + debug_symbols=no + optimize=none + use_lto=no + 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=release tools=no "${esconsargs[@]}" + fi + + esconsargs+=( + # debug: debug for godot itself + # release_debug: debug for game development + # release: no debugging paths, only available with tools=no + target=$(usex debug{,} $(usex tools release_debug release)) + tools=$(usex tools) + ) + + escons extra_suffix=main "${esconsargs[@]}" +} + +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 + + newman misc/dist/linux/godot.6 ${s}.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 + + insinto /usr/share/metainfo + newins misc/dist/linux/org.godotengine.Godot.appdata.xml \ + org.godotengine.${s^}.appdata.xml + + insinto /usr/share/mime/application + newins misc/dist/linux/org.godotengine.Godot.xml \ + org.godotengine.${s^}.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} +} diff --git a/dev-games/godot/godot-3.5.3.ebuild b/dev-games/godot/godot-3.5.3.ebuild deleted file mode 100644 index c4e78535e32d..000000000000 --- a/dev-games/godot/godot-3.5.3.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit desktop python-any-r1 scons-utils shell-completion toolchain-funcs xdg - -DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor" -HOMEPAGE="https://godotengine.org/" -SRC_URI=" - https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz - https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz -" -S="${WORKDIR}/${P}-stable" - -LICENSE=" - MIT - Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB - gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 ) -" -SLOT="3" -KEYWORDS="~amd64" -# Enable roughly same as upstream by default so it works as expected, -# except raycast (tools-only heavy dependency), and deprecated. -IUSE=" - +bullet debug deprecated +gui pulseaudio raycast +runner +theora - +tools +udev +upnp +webm +webp -" - -# dlopen: alsa-lib,pulseaudio,udev -RDEPEND=" - app-arch/zstd:= - dev-games/recastnavigation:= - dev-libs/libpcre2:=[pcre32] - media-libs/alsa-lib - media-libs/freetype[brotli] - media-libs/libpng:= - <net-libs/mbedtls-3:= - net-libs/wslay - sys-libs/zlib:= - bullet? ( sci-physics/bullet:= ) - gui? ( - media-libs/libglvnd - x11-libs/libX11 - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - tools? ( raycast? ( media-libs/embree:3 ) ) - ) - pulseaudio? ( media-libs/libpulse ) - theora? ( - media-libs/libogg - media-libs/libtheora - media-libs/libvorbis - ) - tools? ( app-misc/ca-certificates ) - udev? ( virtual/udev ) - upnp? ( net-libs/miniupnpc:= ) - webm? ( - media-libs/libvorbis - media-libs/libvpx:= - media-libs/opus - ) - webp? ( media-libs/libwebp:= ) -" -DEPEND=" - ${RDEPEND} - gui? ( x11-base/xorg-proto ) -" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-3.5-musl.patch - "${FILESDIR}"/${PN}-3.5-scons.patch - "${FILESDIR}"/${PN}-3.5.3-gcc13.patch -) - -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/{x11,server}/detect.py || die - - # use of builtin_ switches can be messy (see below), delete to be sure - local unbundle=( - bullet embree freetype libogg libpng libtheora libvorbis libvpx - libwebp mbedtls miniupnpc opus pcre2 recastnavigation wslay zlib zstd - # certs: unused by generated header, but scons panics if not found - ) - rm -r "${unbundle[@]/#/thirdparty/}" || die -} - -src_compile() { - local -x BUILD_NAME=gentoo # replaces "custom_build" in version string - - local esconsargs=( - AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)" - - platform=$(usex gui x11 server) - progress=no - verbose=yes - - deprecated=$(usex deprecated) - #execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged - minizip=yes # uses a modified bundled copy - pulseaudio=$(usex pulseaudio) - udev=$(usex udev) - - system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt - - # platform/*/detect.py uses builtin_* switches to check if need - # to link with system libraries, but ignores whether the dep is - # actually used, so "enable" deleted builtins on disabled deps - builtin_bullet=$(usex !bullet) - builtin_certs=no - builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast))) - builtin_enet=yes # bundled copy is patched for IPv6+DTLS support - builtin_freetype=no - builtin_libogg=yes # unused - builtin_libpng=no - builtin_libtheora=$(usex !theora) - builtin_libvorbis=$(usex !theora $(usex !webm)) - builtin_libvpx=$(usex !webm) - builtin_libwebp=$(usex !webp) - builtin_mbedtls=no - builtin_miniupnpc=$(usex !upnp) - builtin_opus=$(usex !webm) - builtin_pcre2=no - builtin_recast=no - builtin_rvo2=yes # bundled copy has godot-specific changes - builtin_squish=yes # ^ likewise, may not be safe to unbundle - builtin_wslay=no - builtin_xatlas=yes # not wired for unbundling nor packaged - builtin_zlib=no - builtin_zstd=no - # (more is bundled in third_party/ but they lack builtin_* switches) - - # modules with optional dependencies, "possible" to disable more but - # gets messy and breaks all sorts of features (expected enabled) - module_bullet_enabled=$(usex bullet) - module_mono_enabled=no # unhandled - module_ogg_enabled=no # unused - module_opus_enabled=no # unused, support is gone and webm uses system's - # note raycast is disabled on many arches, see raycast/config.py - module_raycast_enabled=$(usex gui $(usex tools $(usex raycast))) - module_theora_enabled=$(usex theora) - module_upnp_enabled=$(usex upnp) - module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis - module_webm_enabled=$(usex webm) - module_webp_enabled=$(usex webp) - - # let *FLAGS handle these, e.g. can pass -flto as-is - debug_symbols=no - optimize=none - use_lto=no - 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=release tools=no "${esconsargs[@]}" - fi - - esconsargs+=( - # debug: debug for godot itself - # release_debug: debug for game development - # release: no debugging paths, only available with tools=no - target=$(usex debug{,} $(usex tools release_debug release)) - tools=$(usex tools) - ) - - escons extra_suffix=main "${esconsargs[@]}" -} - -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 - - newman misc/dist/linux/godot.6 ${s}.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 - - insinto /usr/share/metainfo - newins misc/dist/linux/org.godotengine.Godot.appdata.xml \ - org.godotengine.${s^}.appdata.xml - - insinto /usr/share/mime/application - newins misc/dist/linux/org.godotengine.Godot.xml \ - org.godotengine.${s^}.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} -} diff --git a/dev-games/godot/godot-4.2.2-r1.ebuild b/dev-games/godot/godot-4.2.2-r1.ebuild new file mode 100644 index 000000000000..d9ea297149f2 --- /dev/null +++ b/dev-games/godot/godot-4.2.2-r1.ebuild @@ -0,0 +1,238 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit desktop python-any-r1 flag-o-matic scons-utils +inherit shell-completion toolchain-funcs xdg + +DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor" +HOMEPAGE="https://godotengine.org/" +SRC_URI=" + https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz + https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz +" +S=${WORKDIR}/${P}-stable + +LICENSE=" + MIT + Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB + gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 ) +" +SLOT="4" +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 +webp +" +# TODO: tests still need more figuring out +RESTRICT="test" + +# dlopen: libglvnd +RDEPEND=" + app-arch/brotli:= + app-arch/zstd:= + dev-games/recastnavigation:= + dev-libs/icu:= + dev-libs/libpcre2:=[pcre32] + media-libs/freetype[brotli,harfbuzz] + media-libs/harfbuzz:=[icu] + media-libs/libogg + media-libs/libpng:= + media-libs/libvorbis + <net-libs/mbedtls-3:= + net-libs/wslay + sys-libs/zlib:= + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + fontconfig? ( media-libs/fontconfig ) + gui? ( + media-libs/libglvnd + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxkbcommon + tools? ( raycast? ( media-libs/embree:3 ) ) + vulkan? ( media-libs/vulkan-loader[X] ) + ) + pulseaudio? ( media-libs/libpulse ) + speech? ( app-accessibility/speech-dispatcher ) + theora? ( media-libs/libtheora ) + tools? ( app-misc/ca-certificates ) + udev? ( virtual/udev ) + webp? ( media-libs/libwebp:= ) +" +DEPEND=" + ${RDEPEND} + gui? ( x11-base/xorg-proto ) + tools? ( test? ( dev-cpp/doctest ) ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-4.0_rc2-musl.patch + "${FILESDIR}"/${PN}-4.0_rc3-scons.patch +) + +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 + local unbundle=( + brotli doctest embree freetype graphite harfbuzz icu4c libogg + libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls + pcre2 recastnavigation volk wslay zlib zstd + # certs: unused by generated header, but scons panics if not found + # miniupnpc: check if can re-add on bump, bug #934044 + ) + rm -r "${unbundle[@]/#/thirdparty/}" || die + + ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die +} + +src_compile() { + local -x BUILD_NAME=gentoo # replaces "custom_build" in version string + + filter-lto #921017 + + local esconsargs=( + AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)" + + progress=no + verbose=yes + + use_sowrap=no + + alsa=$(usex alsa) + dbus=$(usex dbus) + deprecated=$(usex deprecated) + fontconfig=$(usex fontconfig) + opengl3=$(usex gui) + pulseaudio=$(usex pulseaudio) + speechd=$(usex speech) + udev=$(usex udev) + use_volk=no # unnecessary when linking directly to libvulkan + vulkan=$(usex gui $(usex vulkan)) + x11=$(usex gui) + + system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + + # platform/*/detect.py uses builtin_* switches to check if need + # to link with system libraries, but many ignore whether the dep + # is actually used, so "enable" deleted builtins on disabled deps + builtin_brotli=no + builtin_certs=no + builtin_clipper2=yes # not packaged + builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast))) + builtin_enet=yes # bundled copy is patched for IPv6+DTLS support + builtin_freetype=no + builtin_glslang=yes #879111 (for now, may revisit if more stable) + builtin_graphite=no + builtin_harfbuzz=no + builtin_icu4c=no + builtin_libogg=no + builtin_libpng=no + builtin_libtheora=$(usex !theora) + builtin_libvorbis=no + builtin_libwebp=$(usex !webp) + builtin_mbedtls=no + builtin_miniupnpc=yes #934044 (for now, should revisit) + builtin_msdfgen=yes # not wired for unbundling nor packaged + builtin_openxr=yes # not packaged + builtin_pcre2=no + builtin_recastnavigation=no + builtin_rvo2=yes # bundled copy has godot-specific changes + builtin_squish=yes # ^ likewise, may not be safe to unbundle + builtin_wslay=no + builtin_xatlas=yes # not wired for unbundling nor packaged + builtin_zlib=no + builtin_zstd=no + # (more is bundled in third_party/ but they lack builtin_* switches) + + # modules with optional dependencies, "possible" to disable more but + # gets messy and breaks all sorts of features (expected enabled) + module_mono_enabled=no # unhandled + # note raycast is only enabled on amd64+arm64, see raycast/config.py + module_raycast_enabled=$(usex gui $(usex tools $(usex raycast))) + module_theora_enabled=$(usex theora) + module_upnp_enabled=$(usex upnp) + module_webp_enabled=$(usex webp) + + # let *FLAGS handle these + debug_symbols=no + lto=none + optimize=custom + 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) + + # harmless but note this bakes in --test in the final binary + tests=$(usex tools $(usex test)) + ) + + escons extra_suffix=main "${esconsargs[@]}" +} + +src_test() { + xdg_environment_reset + bin/godot*.main --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 + + newman misc/dist/linux/godot.6 ${s}.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 + + insinto /usr/share/metainfo + newins misc/dist/linux/org.godotengine.Godot.appdata.xml \ + org.godotengine.${s^}.appdata.xml + + insinto /usr/share/mime/application + newins misc/dist/linux/org.godotengine.Godot.xml \ + org.godotengine.${s^}.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} +} diff --git a/dev-games/godot/godot-4.2.2.ebuild b/dev-games/godot/godot-4.2.2.ebuild deleted file mode 100644 index bda89ed4d705..000000000000 --- a/dev-games/godot/godot-4.2.2.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit desktop python-any-r1 flag-o-matic scons-utils -inherit shell-completion toolchain-funcs xdg - -DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor" -HOMEPAGE="https://godotengine.org/" -SRC_URI=" - https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz - https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz -" -S=${WORKDIR}/${P}-stable - -LICENSE=" - MIT - Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB - gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 ) -" -SLOT="4" -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 +webp -" -# TODO: tests still need more figuring out -RESTRICT="test" - -# dlopen: libglvnd -RDEPEND=" - app-arch/brotli:= - app-arch/zstd:= - dev-games/recastnavigation:= - dev-libs/icu:= - dev-libs/libpcre2:=[pcre32] - media-libs/freetype[brotli,harfbuzz] - media-libs/harfbuzz:=[icu] - media-libs/libogg - media-libs/libpng:= - media-libs/libvorbis - <net-libs/mbedtls-3:= - net-libs/wslay - sys-libs/zlib:= - alsa? ( media-libs/alsa-lib ) - dbus? ( sys-apps/dbus ) - fontconfig? ( media-libs/fontconfig ) - gui? ( - media-libs/libglvnd - x11-libs/libX11 - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libxkbcommon - tools? ( raycast? ( media-libs/embree:3 ) ) - vulkan? ( media-libs/vulkan-loader[X] ) - ) - pulseaudio? ( media-libs/libpulse ) - speech? ( app-accessibility/speech-dispatcher ) - theora? ( media-libs/libtheora ) - tools? ( app-misc/ca-certificates ) - udev? ( virtual/udev ) - upnp? ( net-libs/miniupnpc:= ) - webp? ( media-libs/libwebp:= ) -" -DEPEND=" - ${RDEPEND} - gui? ( x11-base/xorg-proto ) - tools? ( test? ( dev-cpp/doctest ) ) -" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-4.0_rc2-musl.patch - "${FILESDIR}"/${PN}-4.0_rc3-scons.patch -) - -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 - local unbundle=( - brotli doctest embree freetype graphite harfbuzz icu4c libogg - libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls - miniupnpc pcre2 recastnavigation volk wslay zlib zstd - # certs: unused by generated header, but scons panics if not found - ) - rm -r "${unbundle[@]/#/thirdparty/}" || die - - ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die -} - -src_compile() { - local -x BUILD_NAME=gentoo # replaces "custom_build" in version string - - filter-lto #921017 - - local esconsargs=( - AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)" - - progress=no - verbose=yes - - use_sowrap=no - - alsa=$(usex alsa) - dbus=$(usex dbus) - deprecated=$(usex deprecated) - fontconfig=$(usex fontconfig) - opengl3=$(usex gui) - pulseaudio=$(usex pulseaudio) - speechd=$(usex speech) - udev=$(usex udev) - use_volk=no # unnecessary when linking directly to libvulkan - vulkan=$(usex gui $(usex vulkan)) - x11=$(usex gui) - - system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt - - # platform/*/detect.py uses builtin_* switches to check if need - # to link with system libraries, but many ignore whether the dep - # is actually used, so "enable" deleted builtins on disabled deps - builtin_brotli=no - builtin_certs=no - builtin_clipper2=yes # not packaged - builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast))) - builtin_enet=yes # bundled copy is patched for IPv6+DTLS support - builtin_freetype=no - builtin_glslang=yes #879111 (for now, may revisit if more stable) - builtin_graphite=no - builtin_harfbuzz=no - builtin_icu4c=no - builtin_libogg=no - builtin_libpng=no - builtin_libtheora=$(usex !theora) - builtin_libvorbis=no - builtin_libwebp=$(usex !webp) - builtin_mbedtls=no - builtin_miniupnpc=$(usex !upnp) - builtin_msdfgen=yes # not wired for unbundling nor packaged - builtin_openxr=yes # not packaged - builtin_pcre2=no - builtin_recastnavigation=no - builtin_rvo2=yes # bundled copy has godot-specific changes - builtin_squish=yes # ^ likewise, may not be safe to unbundle - builtin_wslay=no - builtin_xatlas=yes # not wired for unbundling nor packaged - builtin_zlib=no - builtin_zstd=no - # (more is bundled in third_party/ but they lack builtin_* switches) - - # modules with optional dependencies, "possible" to disable more but - # gets messy and breaks all sorts of features (expected enabled) - module_mono_enabled=no # unhandled - # note raycast is only enabled on amd64+arm64, see raycast/config.py - module_raycast_enabled=$(usex gui $(usex tools $(usex raycast))) - module_theora_enabled=$(usex theora) - module_upnp_enabled=$(usex upnp) - module_webp_enabled=$(usex webp) - - # let *FLAGS handle these - debug_symbols=no - lto=none - optimize=custom - 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) - - # harmless but note this bakes in --test in the final binary - tests=$(usex tools $(usex test)) - ) - - escons extra_suffix=main "${esconsargs[@]}" -} - -src_test() { - xdg_environment_reset - bin/godot*.main --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 - - newman misc/dist/linux/godot.6 ${s}.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 - - insinto /usr/share/metainfo - newins misc/dist/linux/org.godotengine.Godot.appdata.xml \ - org.godotengine.${s^}.appdata.xml - - insinto /usr/share/mime/application - newins misc/dist/linux/org.godotengine.Godot.xml \ - org.godotengine.${s^}.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} -} -- cgit v1.2.3