summaryrefslogtreecommitdiff
path: root/games-strategy/0ad
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/0ad')
-rw-r--r--games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild152
-rw-r--r--games-strategy/0ad/Manifest3
-rw-r--r--games-strategy/0ad/files/0ad-0.0.24_alpha_pre20210116040036-build.patch105
3 files changed, 260 insertions, 0 deletions
diff --git a/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild
new file mode 100644
index 000000000000..aff130d91e0c
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2014-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+inherit desktop toolchain-funcs wxwidgets xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/0ad/0ad"
+ ZEROAD_GIT_REVISION=""
+elif [[ ${PV} == *_pre* ]]; then
+ ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7"
+else
+ MY_P="0ad-${PV/_/-}"
+fi
+
+DESCRIPTION="A free, real-time strategy game"
+HOMEPAGE="https://play0ad.com/"
+if [[ ${PV} == 9999 ]]; then
+ SRC_URI=""
+elif [[ ${PV} == *_pre* ]]; then
+ SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+else
+ SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
+fi
+
+LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="editor +lobby nvtt pch test"
+RESTRICT="test"
+
+BDEPEND="virtual/pkgconfig
+ test? ( dev-lang/perl )"
+DEPEND="
+ >=dev-lang/spidermonkey-78.6:78
+ dev-libs/boost:=
+ dev-libs/icu:=
+ dev-libs/libfmt:0=
+ dev-libs/libsodium
+ dev-libs/libxml2
+ media-libs/libpng:0
+ media-libs/libsdl2[X,opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ net-libs/enet:1.3
+ net-libs/miniupnpc:=
+ net-misc/curl
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ lobby? ( >=net-libs/gloox-1.0.20 )
+ nvtt? ( >=media-gfx/nvidia-texture-tools-2.1.0 )"
+
+RDEPEND="${DEPEND}"
+PDEPEND="~games-strategy/0ad-data-${PV}"
+
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}/${P}"
+elif [[ ${PV} == *_pre* ]]; then
+ S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
+else
+ S="${WORKDIR}/${MY_P}"
+fi
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.0.24_alpha_pre20210116040036-build.patch"
+)
+
+pkg_setup() {
+ use editor && setup-wxwidgets
+}
+
+src_prepare() {
+ default
+
+ # Delete check for minor version of dev-lang/spidermonkey.
+ sed -e "/^#if MOZJS_MINOR_VERSION != [[:digit:]]\+$/,/^#endif$/d" -i source/scriptinterface/ScriptTypes.h || die
+}
+
+src_configure() {
+ local myconf=(
+ --with-system-mozjs
+ --with-system-nvtt
+ --minimal-flags
+ $(usex nvtt "" "--without-nvtt")
+ $(usex pch "" "--without-pch")
+ $(usex test "" "--without-tests")
+ $(usex editor "--atlas" "")
+ $(usex lobby "" "--without-lobby")
+ --bindir="/usr/bin"
+ --libdir="/usr/$(get_libdir)"/${PN}
+ --datadir="/usr/share/${PN}"
+ )
+
+ tc-export CC CXX
+
+ # stock premake5 does not work, use the shipped one
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix
+
+ # regenerate scripts.c so our patch applies
+ cd "${S}"/build/premake/premake5 || die
+ "${S}"/build/premake/premake5/bin/release/premake5 embed || die
+
+ # rebuild premake again... this is the most stupid build system
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix clean
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix
+
+ # run premake to create build scripts
+ cd "${S}"/build/premake || die
+ "${S}"/build/premake/premake5/bin/release/premake5 \
+ --file="premake5.lua" \
+ --outpath="../workspaces/gcc/" \
+ --os=linux \
+ "${myconf[@]}" \
+ gmake2 || die "Premake failed"
+}
+
+src_compile() {
+ tc-export AR
+
+ # build 3rd party fcollada
+ emake -C libraries/source/fcollada/src
+
+ # build 0ad
+ emake -C build/workspaces/gcc verbose=1
+}
+
+src_test() {
+ cd binaries/system || die
+ ./test -libdir "${S}/binaries/system" || die "test phase failed"
+}
+
+src_install() {
+ newbin binaries/system/pyrogenesis 0ad
+ use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
+
+ insinto /usr/share/${PN}
+ doins -r binaries/data/l10n
+
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe binaries/system/libCollada.so
+ use editor && doexe binaries/system/libAtlasUI.so
+
+ dodoc binaries/system/readme.txt
+ doicon -s 128 build/resources/${PN}.png
+ make_desktop_entry ${PN}
+}
diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest
index daf32ddaecbc..d0e11109c948 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,7 +1,10 @@
AUX 0ad-0.0.21_alpha-gentoo.patch 3905 BLAKE2B 265020af1e1df234d0932c6294e0cda9c0f48bc1b311d6770c8347431c17e5e99c68f4c52cf6e1277ffb2e57431a6c237d2dc4f452e563eb343b06f62ab1eede SHA512 592e9fdff6ef6d88efc9c4a5c856e41240845187cc4a4b3d9d6b5c616eb1f664fdf702b7b0a30cdfeedd6d87ac0fab913df477567b84d42e13d2cf2761cfdec8
AUX 0ad-0.0.23b-header_includes_fix.patch 463 BLAKE2B 9148cd302596bd1d37df7d93e72794530cf38eadeb26af1a05dda96c9dfde5022e2346eb92d165b434d82450deee06d539c89855bcad6a41285e087fd3417904 SHA512 df4cbe5f8c00c2ec4539794dfa4904a129e4730ae109e7678d9e201370ea00a00b1352ebf1f9fba46fcf48f0a7f46de1ec51613aa58f56ecd4a0f5f051c0524f
+AUX 0ad-0.0.24_alpha_pre20210116040036-build.patch 5971 BLAKE2B 968ab7cbfa2b84312937c1f317e15ad9165fd951995dba90eef9b262448a066dc0403f0acf5fb4d40e372455b47d6b0f79c7a078601a8172d185e35463b383ed SHA512 391dc3c02184c9e67c21460833d19e386c0cb53c0bed663df531cc0efecfbe4b9a85c75b8ca682b2cd40891dd0719603108d96a21f8e5ba989fb0951713a1571
DIST 0ad-0.0.23-alpha-unix-build.tar.xz 31907988 BLAKE2B 567b9e1b5cd653206194e042f4f0859cd4f9afe75d52d3f480a328b76fdcdd746254502fbf284f790b4932c912ff31453bbc8c986c879ad76baa3d2a5db802c9 SHA512 4a1c86b19e0d8ec7d9b8bf75428df0255f95e7f991f419734f9b6ddc288a537405a34c5d7081f1a97475155c49013af85dee5c0265c35c7dbc003b46637a03d7
DIST 0ad-0.0.23b-alpha-unix-build.tar.xz 31922812 BLAKE2B db7d6bf1a2bb084870b914cf974bfdb19812ff6f9391e5bc5213ae215fc670b77bd4508a5432aa3e47bf327bd37d4bb14961ab3332b165b53327c3f01a935ac1 SHA512 82934313c46c4fd89e3841d5bbf901904abbd2108e9749529d7282bd24ac53b9e6878681c06e6019f4d8ec0e425c28300b0aafc9610a66a331777ffb58ed6135
+DIST 0ad-0.0.24_alpha_pre20210116040036.tar.gz 2562395684 BLAKE2B 03d6655f7aa1f2f91a87536a7f2afa465585856c4209ddc05e666e1e5596416883596331118ac4257ff314b04d8a5c08821eaa6ae76e5d3095146ab04f8c79ed SHA512 e1239a56b184a87708c87fc03ca41190a16d813e495c5d81ee073df98761f1524a23902e5d03a21a1b1f657b496fce6eeee4a5ef22eee30f70fbe3b0dbd44510
EBUILD 0ad-0.0.23_alpha.ebuild 3408 BLAKE2B bb6fbd77a2e9a0b27f086b33bb347ac5c5a8c76277b967359dfd8b4c7b6ea4b3f296aa150bacc3b3dd9a1460e5ebda436ad1429c5c1eaefe826a64403417ac1c SHA512 99db5ad39c1e0fe4ec9762df7c27e5ae12a1234007cd5d6e229110471affa705373015bb6e42e23b1f8ace93c5a3bae4afc204d966c5940f810415cd255186bc
EBUILD 0ad-0.0.23b_alpha.ebuild 3467 BLAKE2B 567338478f564ebc53a299e132d47188c4db5d9bdea314d55539442ce1ca256dd4df5e50b24997a54aaf0dd9c3542a06a826830bf98833c7a49a9d3e37207ce7 SHA512 5b8198f364b87faa96adf108e252ea5d55d1e06f459b6c0e45901c737bb1cd1ca8c6ec1f08cea5dade892dd27d6572caad29249aed2ca15a3e421afed046ab79
+EBUILD 0ad-0.0.24_alpha_pre20210116040036.ebuild 3717 BLAKE2B c53555161dd6cf2d457361ac1379312712646788b248c949203bfc62ea0c5c60980939373dadf636ecc4fec15dd0620e839a3727fb7ea0b8acb745ac47f8f2e6 SHA512 336d69aef36a3a4cb0103310bd7b285bb90c71c75aafae0339b2f9b1ca4577571b75079f6e7d4c67ec3685b33a495f21c437592cdf272d1fcdedf09c09ee9504
MISC metadata.xml 668 BLAKE2B 9bfa86da2d6e1631217082f88905d8d8be7a2c91248839b9a0f5da9d0c214552b11f4af861eb04072e4645b47505d83d0b93c1313f7a3857b1006f94a699b3b2 SHA512 7aab21c31587f1cce5b4635ace0fbbb5bcdc2a6d811df68494ac1fb251fbfc75911cfa3a9e1a60c28f684f64a919164c6e3504fd3fbba3b0ec05afe8278ae343
diff --git a/games-strategy/0ad/files/0ad-0.0.24_alpha_pre20210116040036-build.patch b/games-strategy/0ad/files/0ad-0.0.24_alpha_pre20210116040036-build.patch
new file mode 100644
index 000000000000..1e643adb41a9
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.24_alpha_pre20210116040036-build.patch
@@ -0,0 +1,105 @@
+--- /build/premake/premake5/build/gmake2.bsd/Premake5.make
++++ /build/premake/premake5/build/gmake2.bsd/Premake5.make
+@@ -36,19 +36,19 @@
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Release/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra -fno-stack-protector
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -fno-stack-protector
+ LIBS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a bin/Release/libmbedtls-lib.a -lm
+ LDDEPS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a bin/Release/libmbedtls-lib.a
+-ALL_LDFLAGS += $(LDFLAGS) -s -rdynamic
++ALL_LDFLAGS += $(LDFLAGS) -rdynamic
+
+ else ifeq ($(config),debug)
+ TARGETDIR = ../../bin/debug
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Debug/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
+ LIBS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a bin/Debug/libmbedtls-lib.a -lm
+ LDDEPS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a bin/Debug/libmbedtls-lib.a
+ ALL_LDFLAGS += $(LDFLAGS) -rdynamic
+--- /build/premake/premake5/build/gmake2.macosx/Premake5.make
++++ /build/premake/premake5/build/gmake2.macosx/Premake5.make
+@@ -45,8 +45,8 @@
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Release/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -DNDEBUG -DLUA_USE_MACOSX
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra -fno-stack-protector
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -fno-stack-protector
+ LIBS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a -framework CoreServices -framework Foundation -framework Security -lreadline
+ LDDEPS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a
+
+@@ -55,8 +55,8 @@
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Debug/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -D_DEBUG -DLUA_USE_MACOSX
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
+ LIBS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a -framework CoreServices -framework Foundation -framework Security -lreadline
+ LDDEPS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a
+
+--- /build/premake/premake5/build/gmake2.unix/Premake5.make
++++ /build/premake/premake5/build/gmake2.unix/Premake5.make
+@@ -36,19 +36,19 @@
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Release/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -Wextra -fno-stack-protector
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -fno-stack-protector
+ LIBS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a bin/Release/libmbedtls-lib.a -lm -ldl -lrt
+ LDDEPS += bin/Release/liblua-lib.a bin/Release/libzip-lib.a bin/Release/libzlib-lib.a bin/Release/libcurl-lib.a bin/Release/libmbedtls-lib.a
+-ALL_LDFLAGS += $(LDFLAGS) -s -rdynamic
++ALL_LDFLAGS += $(LDFLAGS) -rdynamic
+
+ else ifeq ($(config),debug)
+ TARGETDIR = ../../bin/debug
+ TARGET = $(TARGETDIR)/premake5
+ OBJDIR = obj/Debug/Premake5
+ DEFINES += -DPREMAKE_COMPRESSION -DCURL_STATICLIB -DPREMAKE_CURL -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
+-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -Wall -Wextra
++ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
++ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra
+ LIBS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a bin/Debug/libmbedtls-lib.a -lm -ldl -lrt
+ LDDEPS += bin/Debug/liblua-lib.a bin/Debug/libzip-lib.a bin/Debug/libzlib-lib.a bin/Debug/libcurl-lib.a bin/Debug/libmbedtls-lib.a
+ ALL_LDFLAGS += $(LDFLAGS) -rdynamic
+--- /build/premake/premake5/src/tools/gcc.lua
++++ /build/premake/premake5/src/tools/gcc.lua
+@@ -346,8 +346,7 @@
+ --
+
+ function gcc.ldsymbols(cfg)
+- -- OS X has a bug, see http://lists.apple.com/archives/Darwin-dev/2006/Sep/msg00084.html
+- return iif(table.contains(os.getSystemTags(cfg.system), "darwin"), "-Wl,-x", "-s")
++ return ""
+ end
+
+ gcc.ldflags = {
+--- /libraries/source/fcollada/src/Makefile
++++ /libraries/source/fcollada/src/Makefile
+@@ -9,9 +9,9 @@
+
+ CXX ?= g++
+ CXXFLAGS += -fvisibility=hidden -W -Wall -Wno-unused-parameter -Wno-unused-function $(OS_DEFINE) $(PIC_FLAGS) $(CPPFLAGS)
+-CXXFLAGS_DEBUG := -O0 -g -D_DEBUG -DRETAIL
+-CXXFLAGS_RELEASE := -O2 -DNDEBUG -DRETAIL
+-CXXFLAGS_TEST := -O0 -g -D_DEBUG
++CXXFLAGS_DEBUG := -D_DEBUG -DRETAIL
++CXXFLAGS_RELEASE := -DNDEBUG -DRETAIL
++CXXFLAGS_TEST := -D_DEBUG
+ LDFLAGS_TEST= -ldl
+ LIBS += `pkg-config libxml-2.0 --libs`
+ INCLUDES += -IFCollada `pkg-config libxml-2.0 --cflags`