# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{12..14} ) inherit branding 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://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="0" KEYWORDS="~amd64" # Enable roughly same as upstream by default so it works as expected, # except raycast (tools-only heavy dependency), and deprecated. IUSE=" accessibility alsa +dbus debug deprecated double-precision +fontconfig +gui pulseaudio raycast speech test +sdl +theora +tools +udev +upnp +vulkan wayland +webp " REQUIRED_USE="wayland? ( gui )" # 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/libjpeg-turbo:= media-libs/libogg media-libs/libpng:= media-libs/libvorbis >=net-libs/mbedtls-3.6.2-r101:3= net-libs/wslay virtual/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:4 ) ) vulkan? ( media-libs/vulkan-loader[X,wayland?] ) ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl3 ) speech? ( app-accessibility/speech-dispatcher ) theora? ( media-libs/libtheora:= tools? ( media-libs/libtheora[encode] ) ) tools? ( app-misc/ca-certificates ) udev? ( virtual/udev ) upnp? ( net-libs/miniupnpc:= ) wayland? ( dev-libs/wayland gui-libs/libdecor ) webp? ( media-libs/libwebp:= ) " DEPEND=" ${RDEPEND} gui? ( x11-base/xorg-proto ) tools? ( test? ( dev-cpp/doctest ) ) " BDEPEND=" virtual/pkgconfig wayland? ( dev-util/wayland-scanner ) " PATCHES=( "${FILESDIR}"/${PN}-4.5-scons.patch ) src_prepare() { default # mbedtls normally has mbedtls.pc, but Gentoo's slotted one is mbedtls-3.pc sed -E "/pkg-config/s/(mbedtls|mbedcrypto|mbedx509)/&-3/g" \ -i platform/linuxbsd/detect.py || die # =13, keep support given # >=13 is not in-tree as of the writing of this (bug #978085) if has_version '