mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-22 05:23:01 -04:00
dev-games/godot: New Package
Closes: https://bugs.gentoo.org/532730 Closes: https://github.com/gentoo/gentoo/pull/17874 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Ross Charles Campbell <rossbridger.cc@gmail.com>
This commit is contained in:
1
dev-games/godot/Manifest
Normal file
1
dev-games/godot/Manifest
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DIST godot-3.2.3.tar.gz 22459811 BLAKE2B fdebfc4fc4a259d52496feb2904ff1e311a8df3fd57568091b181380e28b789efd16d598df7a2331f22f182acebacb7af1f5aa88583f8b7e992be52f2f494198 SHA512 229a32f082e412f20533b781ee95a1e7a9039a6329fe3429f9a3388ba3aada311bcc49c2abecdeec7496ef039a81358009126b21daaeeb127c170b77c3def99f
|
||||||
36
dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch
Normal file
36
dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
diff --git a/SConstruct b/SConstruct
|
||||||
|
index 26019e6..f460aef 100644
|
||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -170,6 +170,8 @@ opts.Add(BoolVariable("builtin_zstd", "Use the built-in Zstd library", True))
|
||||||
|
# Compilation environment setup
|
||||||
|
opts.Add("CXX", "C++ compiler")
|
||||||
|
opts.Add("CC", "C compiler")
|
||||||
|
+opts.Add("AR", "Archiver")
|
||||||
|
+opts.Add("RANLIB", "Random Access Library Indexer")
|
||||||
|
opts.Add("LINK", "Linker")
|
||||||
|
opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
|
||||||
|
opts.Add("CFLAGS", "Custom flags for the C compiler")
|
||||||
|
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
|
||||||
|
index 716930d..28b1df4 100644
|
||||||
|
--- a/platform/x11/detect.py
|
||||||
|
+++ b/platform/x11/detect.py
|
||||||
|
@@ -130,7 +130,6 @@ def configure(env):
|
||||||
|
env["CXX"] = "clang++"
|
||||||
|
env["LINK"] = "clang++"
|
||||||
|
env.Append(CPPDEFINES=["TYPED_METHOD_BIND"])
|
||||||
|
- env.extra_suffix = ".llvm" + env.extra_suffix
|
||||||
|
|
||||||
|
if env["use_lld"]:
|
||||||
|
if env["use_llvm"]:
|
||||||
|
@@ -173,10 +172,6 @@ def configure(env):
|
||||||
|
env.Append(CCFLAGS=["-flto"])
|
||||||
|
env.Append(LINKFLAGS=["-flto"])
|
||||||
|
|
||||||
|
- if not env["use_llvm"]:
|
||||||
|
- env["RANLIB"] = "gcc-ranlib"
|
||||||
|
- env["AR"] = "gcc-ar"
|
||||||
|
-
|
||||||
|
env.Append(CCFLAGS=["-pipe"])
|
||||||
|
env.Append(LINKFLAGS=["-pipe"])
|
||||||
|
|
||||||
139
dev-games/godot/godot-3.2.3.ebuild
Normal file
139
dev-games/godot/godot-3.2.3.ebuild
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
PYTHON_COMPAT=( python3_{7..9} )
|
||||||
|
|
||||||
|
inherit desktop python-any-r1 scons-utils xdg
|
||||||
|
|
||||||
|
DESCRIPTION="Multi-platform 2D and 3D game engine"
|
||||||
|
HOMEPAGE="http://godotengine.org"
|
||||||
|
|
||||||
|
SRC_URI="https://github.com/godotengine/${PN}/archive/${PV}-stable.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}/${P}-stable"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 BSD BSL-1.1 CC-BY-3.0 MIT MPL-2.0 OFL-1.1 public-domain ZLIB"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+bullet debug +enet +freetype lto +mbedtls +ogg +opus pulseaudio +theora +udev +upnp +vorbis +webp"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-arch/lz4
|
||||||
|
app-arch/zstd
|
||||||
|
dev-libs/libpcre2[pcre32]
|
||||||
|
media-libs/alsa-lib
|
||||||
|
media-libs/libpng:0=
|
||||||
|
media-libs/libvpx
|
||||||
|
media-libs/mesa[gles2]
|
||||||
|
sys-libs/zlib
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXi
|
||||||
|
x11-libs/libXinerama
|
||||||
|
virtual/glu
|
||||||
|
virtual/opengl
|
||||||
|
bullet? ( >=sci-physics/bullet-2.89 )
|
||||||
|
enet? ( net-libs/enet:= )
|
||||||
|
freetype? ( media-libs/freetype:2 )
|
||||||
|
mbedtls? ( net-libs/mbedtls )
|
||||||
|
ogg? ( media-libs/libogg )
|
||||||
|
opus? (
|
||||||
|
media-libs/opus
|
||||||
|
media-libs/opusfile
|
||||||
|
)
|
||||||
|
pulseaudio? ( media-sound/pulseaudio )
|
||||||
|
theora? ( media-libs/libtheora )
|
||||||
|
udev? ( virtual/udev )
|
||||||
|
upnp? ( net-libs/miniupnpc )
|
||||||
|
vorbis? ( media-libs/libvorbis )
|
||||||
|
webp? ( media-libs/libwebp )
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
dev-lang/yasm
|
||||||
|
"
|
||||||
|
BDEPEND="virtual/pkgconfig"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}"/${P}-fix-llvm-build.patch )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
rm -r thirdparty/{bullet,enet,freetype,libogg,libpng,libtheora,libvorbis,libvpx,libwebp,mbedtls,miniupnpc,opus,pcre2,zlib,zstd} || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
myesconsargs=(
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
CXX="$(tc-getCXX)"
|
||||||
|
AR="$(tc-getAR)"
|
||||||
|
RANLIB="$(tc-getRANLIB)"
|
||||||
|
)
|
||||||
|
# Remove builtin third-party packages, link with system ones instead
|
||||||
|
myesconsargs+=(
|
||||||
|
builtin_bullet=no
|
||||||
|
builtin_enet=no
|
||||||
|
builtin_freetype=no
|
||||||
|
builtin_libogg=no
|
||||||
|
builtin_libpng=no
|
||||||
|
builtin_libtheora=no
|
||||||
|
builtin_libvorbis=no
|
||||||
|
builtin_libvpx=no
|
||||||
|
builtin_libwebp=no
|
||||||
|
builtin_mbedtls=no
|
||||||
|
builtin_miniupnpc=no
|
||||||
|
builtin_opus=no
|
||||||
|
builtin_pcre2=no
|
||||||
|
builtin_pcre2_with_jit=no
|
||||||
|
builtin_zlib=no
|
||||||
|
builtin_zstd=no
|
||||||
|
)
|
||||||
|
myesconsargs+=(
|
||||||
|
# Mono bindings requires MSBuild which is only available on Windows
|
||||||
|
module_mono_enabled=no
|
||||||
|
module_bullet_enabled=$(usex bullet)
|
||||||
|
module_enet_enabled=$(usex enet)
|
||||||
|
module_freetype_enabled=$(usex freetype)
|
||||||
|
module_mbedtls_enabled=$(usex mbedtls)
|
||||||
|
module_ogg_enabled=$(usex ogg)
|
||||||
|
module_opus_enabled=$(usex opus)
|
||||||
|
module_theora_enabled=$(usex theora)
|
||||||
|
module_upnp_enabled=$(usex upnp)
|
||||||
|
module_vorbis_enabled=$(usex vorbis)
|
||||||
|
module_webp_enabled=$(usex webp)
|
||||||
|
)
|
||||||
|
# Misc options
|
||||||
|
myesconsargs+=(
|
||||||
|
platform=x11
|
||||||
|
progress=yes
|
||||||
|
tools=yes
|
||||||
|
verbose=yes
|
||||||
|
pulseaudio=$(usex pulseaudio)
|
||||||
|
target=$(usex debug debug release_debug)
|
||||||
|
udev=$(usex udev)
|
||||||
|
use_lto=$(usex lto)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
escons "${myesconsargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local godot_binary="${PN}.x11.opt.tools"
|
||||||
|
|
||||||
|
if [[ "${ARCH}" == "amd64" ]]; then
|
||||||
|
godot_binary="${godot_binary}.64"
|
||||||
|
elif [[ "${ARCH}" == "x86" ]]; then
|
||||||
|
godot_binary="${godot_binary}.32"
|
||||||
|
fi
|
||||||
|
|
||||||
|
newbin bin/${godot_binary} ${PN}
|
||||||
|
newicon icon.svg ${PN}.svg
|
||||||
|
doman misc/dist/linux/${PN}.6
|
||||||
|
domenu misc/dist/linux/org.godotengine.Godot.desktop
|
||||||
|
insinto /usr/share/metainfo
|
||||||
|
doins misc/dist/linux/org.godotengine.Godot.appdata.xml
|
||||||
|
insinto /usr/share/mime/application
|
||||||
|
doins misc/dist/linux/x-godot-project.xml
|
||||||
|
dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
|
||||||
|
}
|
||||||
28
dev-games/godot/metadata.xml
Normal file
28
dev-games/godot/metadata.xml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>rossbridger.cc@gmail.com</email>
|
||||||
|
<name>Ross Charles Campbell</name>
|
||||||
|
</maintainer>
|
||||||
|
<longdescription>
|
||||||
|
Godot Engine is a feature-packed, cross-platform game engine to create 2D and
|
||||||
|
3D games from a unified interface. It provides a comprehensive set of common
|
||||||
|
tools, so users can focus on making games without having to reinvent the wheel.
|
||||||
|
Games can be exported in one click to a number of platforms, including the major
|
||||||
|
desktop platforms (Linux, macOS, Windows) as well as mobile (Android, iOS) and
|
||||||
|
web-based (HTML5) platforms.
|
||||||
|
</longdescription>
|
||||||
|
<use>
|
||||||
|
<flag name="bullet">Enable support for <pkg>sci-physics/bullet</pkg></flag>
|
||||||
|
<flag name="enet">Enable support for <pkg>net-libs/enet</pkg></flag>
|
||||||
|
<flag name="lto">Enable support for link time optimization</flag>
|
||||||
|
<flag name="freetype">Enable support for <pkg>media-libs/freetype</pkg></flag>
|
||||||
|
<flag name="mbedtls">Enable support for <pkg>net-libs/mbedtls</pkg></flag>
|
||||||
|
</use>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">godotengine/godot</remote-id>
|
||||||
|
<bugs-to>https://github.com/godotengine/godot/issues</bugs-to>
|
||||||
|
<doc lang="en">https://docs.godotengine.org/en/stable/index.html</doc>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
||||||
Reference in New Issue
Block a user