diff options
author | Ross Charles Campbell <rossbridger.cc@gmail.com> | 2021-01-02 23:57:46 +0800 |
---|---|---|
committer | Ross Charles Campbell <rossbridger.cc@gmail.com> | 2021-01-02 23:59:18 +0800 |
commit | a4c500da08a55ab3ff4b8f78e28dcfdc4372af65 (patch) | |
tree | 203a1cad0ceffe62e76a7c0ea968709ff1765b82 /dev-games | |
parent | gui-apps/sfwbar: remove empty last line (diff) | |
download | guru-a4c500da08a55ab3ff4b8f78e28dcfdc4372af65.tar.gz guru-a4c500da08a55ab3ff4b8f78e28dcfdc4372af65.tar.bz2 guru-a4c500da08a55ab3ff4b8f78e28dcfdc4372af65.zip |
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>
Diffstat (limited to 'dev-games')
-rw-r--r-- | dev-games/godot/Manifest | 1 | ||||
-rw-r--r-- | dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch | 36 | ||||
-rw-r--r-- | dev-games/godot/godot-3.2.3.ebuild | 139 | ||||
-rw-r--r-- | dev-games/godot/metadata.xml | 28 |
4 files changed, 204 insertions, 0 deletions
diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest new file mode 100644 index 000000000..36fd2278f --- /dev/null +++ b/dev-games/godot/Manifest @@ -0,0 +1 @@ +DIST godot-3.2.3.tar.gz 22459811 BLAKE2B fdebfc4fc4a259d52496feb2904ff1e311a8df3fd57568091b181380e28b789efd16d598df7a2331f22f182acebacb7af1f5aa88583f8b7e992be52f2f494198 SHA512 229a32f082e412f20533b781ee95a1e7a9039a6329fe3429f9a3388ba3aada311bcc49c2abecdeec7496ef039a81358009126b21daaeeb127c170b77c3def99f diff --git a/dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch b/dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch new file mode 100644 index 000000000..40c45f341 --- /dev/null +++ b/dev-games/godot/files/godot-3.2.3-fix-llvm-build.patch @@ -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"]) + diff --git a/dev-games/godot/godot-3.2.3.ebuild b/dev-games/godot/godot-3.2.3.ebuild new file mode 100644 index 000000000..b0115ed96 --- /dev/null +++ b/dev-games/godot/godot-3.2.3.ebuild @@ -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 +} diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml new file mode 100644 index 000000000..5f4bcc66c --- /dev/null +++ b/dev-games/godot/metadata.xml @@ -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> |