public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2024-06-16 22:34 James Le Cuirot
  0 siblings, 0 replies; 10+ messages in thread
From: James Le Cuirot @ 2024-06-16 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     57d4ce1472ddaf7879e4419495c037420155920b
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 16 22:33:50 2024 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Jun 16 22:33:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57d4ce14

games-strategy/0ad: Fix compatibility with miniupnpc 2.2.8 with patch

Thanks to Torsten Kaiser for the patch.

Closes: https://bugs.gentoo.org/934315
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild      |  1 +
 .../0ad/files/0ad-0.0.26_alpha-miniupnpc.patch     | 38 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
index 7c7373e81a78..e910f14e5bd2 100644
--- a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
+++ b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
@@ -103,6 +103,7 @@ PATCHES=(
 	"${FILESDIR}"/${P}-libxml2-2.12.patch
 	# https://code.wildfiregames.com/D5267
 	"${FILESDIR}"/${P}-boost-1.85.patch
+	"${FILESDIR}"/${P}-miniupnpc.patch
 )
 
 pkg_setup() {

diff --git a/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch b/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch
new file mode 100644
index 000000000000..f17cee4e36f2
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch
@@ -0,0 +1,38 @@
+Adapt to changes from API 18
+
+https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f
+https://bugs.gentoo.org/934315
+
+--- a/source/network/NetServer.cpp	2022-09-23 21:17:14.000000000 +0200
++++ a/source/network/NetServer.cpp	2024-06-14 21:43:26.572418719 +0200
+@@ -302,7 +302,11 @@
+ 	else if ((devlist = upnpDiscover(10000, 0, 0, 0, 0, 0)) != NULL)
+ #endif
+ 	{
++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18
++		ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress), NULL, 0);
++#else
+ 		ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress));
++#endif
+ 		allocatedUrls = ret != 0; // urls is allocated on non-zero return values
+ 	}
+ 	else
+@@ -321,9 +325,18 @@
+ 		LOGMESSAGE("Net server: found valid IGD = %s", urls.controlURL);
+ 		break;
+ 	case 2:
++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18
++		LOGMESSAGE("Net server: found a valid IGD with a reserved address = %s, will try to continue anyway", urls.controlURL);
++		break;
++	case 3:
++		LOGMESSAGE("Net server: found a valid, not connected IGD = %s, will try to continue anyway", urls.controlURL);
++		break;
++	case 4:
++#else
+ 		LOGMESSAGE("Net server: found a valid, not connected IGD = %s, will try to continue anyway", urls.controlURL);
+ 		break;
+ 	case 3:
++#endif
+ 		LOGMESSAGE("Net server: found a UPnP device unrecognized as IGD = %s, will try to continue anyway", urls.controlURL);
+ 		break;
+ 	default:


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2024-05-28  1:45 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2024-05-28  1:45 UTC (permalink / raw
  To: gentoo-commits

commit:     9c65c36c3c18a3cbab86b009ff17daccf023c6d6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 28 01:11:20 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 28 01:11:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c65c36c

games-strategy/0ad: fix build w/ boost-1.85

Closes: https://bugs.gentoo.org/932254
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild      |  2 ++
 .../0ad/files/0ad-0.0.26_alpha-boost-1.85.patch    | 32 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
index 14311b6b04fe..7c7373e81a78 100644
--- a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
+++ b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild
@@ -101,6 +101,8 @@ PATCHES=(
 	"${FILESDIR}"/${P}-add-missing-cstdint-include.patch
 	# https://code.wildfiregames.com/D5219
 	"${FILESDIR}"/${P}-libxml2-2.12.patch
+	# https://code.wildfiregames.com/D5267
+	"${FILESDIR}"/${P}-boost-1.85.patch
 )
 
 pkg_setup() {

diff --git a/games-strategy/0ad/files/0ad-0.0.26_alpha-boost-1.85.patch b/games-strategy/0ad/files/0ad-0.0.26_alpha-boost-1.85.patch
new file mode 100644
index 000000000000..cddec5e2a86c
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.26_alpha-boost-1.85.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/932254
+https://code.wildfiregames.com/file/data/ubpvat3mgrfn6gnaquuq/PHID-FILE-d7xwslolc5hv2vwv66tb/D5267.diff
+
+Index: source/graphics/TextureManager.cpp
+===================================================================
+--- a/source/graphics/TextureManager.cpp
++++ b/source/graphics/TextureManager.cpp
+@@ -806,7 +806,7 @@
+ 				files.push_back(f);
+ 			p = p / GetWstringFromWpath(*it);
+ 		}
+-		return m_TextureConverter.ComputeSettings(GetWstringFromWpath(srcPath.leaf()), files);
++		return m_TextureConverter.ComputeSettings(GetWstringFromWpath(srcPath.filename()), files);
+ 	}
+ 
+ 	/**
+Index: source/lib/file/file_system.cpp
+===================================================================
+--- a/source/lib/file/file_system.cpp
++++ b/source/lib/file/file_system.cpp
+@@ -229,7 +229,11 @@
+ 	try
+ 	{
+ 		if(override_if_exists)
++#if BOOST_VERSION >=107400
++			fs::copy_file(fs::path(path.string()), fs::path(newPath.string()), boost::filesystem::copy_options::overwrite_existing);
++#else
+ 			fs::copy_file(fs::path(path.string()), fs::path(newPath.string()), boost::filesystem::copy_option::overwrite_if_exists);
++#endif
+ 		else
+ 			fs::copy_file(fs::path(path.string()), fs::path(newPath.string()));
+ 	}


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2023-08-22 13:12 Andrew Ammerlaan
  0 siblings, 0 replies; 10+ messages in thread
From: Andrew Ammerlaan @ 2023-08-22 13:12 UTC (permalink / raw
  To: gentoo-commits

commit:     bae9991bf1f8354a70841bd292036160e5120e7a
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 13:10:31 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 13:11:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bae9991b

games-strategy/0ad: add upstream gcc13 patch

Closes: https://bugs.gentoo.org/912362
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.26_alpha.ebuild         |  4 ++-
 ...-0.0.26_alpha-add-missing-cstdint-include.patch | 29 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/games-strategy/0ad/0ad-0.0.26_alpha.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha.ebuild
index c440f50e1334..49d734e318bd 100644
--- a/games-strategy/0ad/0ad-0.0.26_alpha.ebuild
+++ b/games-strategy/0ad/0ad-0.0.26_alpha.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2014-2022 Gentoo Authors
+# Copyright 2014-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -97,6 +97,8 @@ RDEPEND="
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
 	"${FILESDIR}"/${PN}-0.0.25b_alpha-fix-setuptools.patch
+	# https://code.wildfiregames.com/D4997
+	"${FILESDIR}"/${P}-add-missing-cstdint-include.patch
 )
 
 pkg_setup() {

diff --git a/games-strategy/0ad/files/0ad-0.0.26_alpha-add-missing-cstdint-include.patch b/games-strategy/0ad/files/0ad-0.0.26_alpha-add-missing-cstdint-include.patch
new file mode 100644
index 000000000000..db3fe2ebfc09
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.26_alpha-add-missing-cstdint-include.patch
@@ -0,0 +1,29 @@
+diff --git a/source/tools/atlas/GameInterface/Messages.h b/source/tools/atlas/GameInterface/Messages.h
+index 2fa4780..a486d93 100644
+--- a/source/tools/atlas/GameInterface/Messages.h
++++ b/source/tools/atlas/GameInterface/Messages.h
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2022 Wildfire Games.
++/* Copyright (C) 2023 Wildfire Games.
+  * This file is part of 0 A.D.
+  *
+  * 0 A.D. is free software: you can redistribute it and/or modify
+@@ -18,13 +18,15 @@
+ #ifndef INCLUDED_MESSAGES
+ #define INCLUDED_MESSAGES
+ 
++#include <cstdint>
++#include <string>
++#include <vector>
++
++// Opens namespace AtlasMessage, closes it on second inclusion!
+ #ifndef MESSAGES_SKIP_SETUP
+ #include "MessagesSetup.h"
+ #endif
+ 
+-#include <vector>
+-#include <string>
+-
+ // TODO: organisation, documentation, etc
+ 
+ #ifdef _MSC_VER // (can't use MSC_VERSION here since this file is included by Atlas too)


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2022-06-07  0:41 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2022-06-07  0:41 UTC (permalink / raw
  To: gentoo-commits

commit:     a1016e0bb4a875a396f1f46aa3cec3037251b934
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 00:40:34 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 00:41:23 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1016e0b

games-strategy/0ad: backport build patches

Given how fragile the build system can be, it's worth a revbump.

Closes: https://bugs.gentoo.org/834578
Closes: https://bugs.gentoo.org/845987
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.25b_alpha-r1.ebuild     | 264 +++++++++++++++++++++
 ...ad-0.0.25b_alpha-fix-name-collision-glibc.patch | 131 ++++++++++
 .../0ad/files/0ad-0.0.25b_alpha-python3.10.patch   | 156 ++++++++++++
 3 files changed, 551 insertions(+)

diff --git a/games-strategy/0ad/0ad-0.0.25b_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.25b_alpha-r1.ebuild
new file mode 100644
index 000000000000..0939933bda9d
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.25b_alpha-r1.ebuild
@@ -0,0 +1,264 @@
+# Copyright 2014-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{8..10} )
+inherit desktop toolchain-funcs multiprocessing python-any-r1 wxwidgets xdg
+
+DESCRIPTION="A free, real-time strategy game"
+HOMEPAGE="https://play0ad.com/"
+LICENSE="BitstreamVera CC-BY-SA-3.0 GPL-2 LGPL-2.1 LPPL-1.3c MIT ZLIB"
+# Upstream signs releases (and only them) with app-crypt/minisign.
+# The (public) key can be found on https://play0ad.com/download/source.
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/0ad/0ad"
+	S="${WORKDIR}/${P}"
+elif [[ ${PV} == *_pre* ]]; then
+	ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7"
+	SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
+else
+	# Trailing whitespace for IUSE append below
+	IUSE="verify-sig "
+	MINISIGN_KEY="RWT0hFWv57I2RFoJwLVjxEr44JOq/RkEx1oT0IA3PPPICnSF7HFKW1CT"
+	MY_P="0ad-${PV/_/-}"
+	SRC_URI="
+		http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz
+		https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz
+		verify-sig? (
+			http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz.minisig
+			http://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz.minisig
+		)
+	"
+	S="${WORKDIR}/${MY_P}"
+fi
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE+="editor +lobby nvtt pch test"
+
+RESTRICT="test"
+CHECKREQS_DISK_BUILD="9000M" # 8769732 KiB (8.3 GiB) for alpha 25
+CHECKREQS_DISK_USR="3500M" # 3545972 KiB (3.3 GiB)
+
+# Premake adds '-s' to some LDFLAGS. Simply sed'ing it out leads to
+# build and/or startup issues.
+QA_PRESTRIPPED="/usr/lib64/0ad/libCollada.so /usr/bin/0ad"
+
+# virtual/rust is for bundled SpiderMonkey.
+# Build-time Python dependency is for SM, too.
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-util/premake-5.0.0_alpha12:5
+	virtual/pkgconfig
+	virtual/rust
+	test? ( dev-lang/perl )
+"
+# Upstream uses minisign which is not supported by verify-sign, bug #783066.
+# Signatures are only provided for releases.
+if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then
+	BDEPEND+=" app-crypt/minisign"
+fi
+
+# Removed dependency on nvtt as we use the bundled one.
+# bug #768930
+DEPEND="
+	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 )
+"
+RDEPEND="
+	${DEPEND}
+	!games-strategy/0ad-data
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
+	"${FILESDIR}"/${PN}-0.0.25b_alpha-fix-setuptools.patch
+	"${FILESDIR}"/${PN}-0.0.25b_alpha-python3.10.patch
+	"${FILESDIR}"/${PN}-0.0.25b_alpha-fix-name-collision-glibc.patch
+)
+
+pkg_setup() {
+	use editor && setup-wxwidgets
+
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then
+		if use verify-sig; then
+			elog "Verifying both signatures using app-crypt/minisign."
+			minisign -V \
+				-P "${MINISIGN_KEY}" \
+				-x "${DISTDIR}/${MY_P}-unix-build.tar.xz.minisig" \
+				-m "${DISTDIR}/${MY_P}-unix-build.tar.xz" \
+				|| die "Failed to verify engine distfile using minisign!"
+			minisign -V \
+				-P "${MINISIGN_KEY}" \
+				-x "${DISTDIR}/${MY_P}-unix-data.tar.xz.minisig" \
+				-m "${DISTDIR}/${MY_P}-unix-data.tar.xz" \
+				|| die "Failed to verify data distfile using minisign!"
+		fi
+		# Unpack manually until an eclass supports minisign and unpacks
+		# if signatures match.
+		default
+	else
+		# Unpack distfiles without checking as this is no official release.
+		default
+	fi
+}
+
+src_prepare() {
+	default
+
+	# SpiderMonkey's configure no longer recognises --build for
+	# the build tuple
+	sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
+
+	# Originally from 0ad-data
+	rm binaries/data/tools/fontbuilder/fonts/*.txt || die
+}
+
+src_configure() {
+	# 0AD uses premake:5 to generate the Makefiles, so let's
+	# 1. configure the configure args,
+	# 2. export some toolchain args,
+	# 3. configure premake args,
+	# 4. run premake5.
+	local myconf=(
+		--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 AR CC CXX RANLIB
+
+	local mypremakeargs=(
+		--outpath="../workspace/gcc"
+		--os=linux
+		--verbose
+	)
+
+	cd "${S}/build/premake" || die "Could not enter premake directory"
+
+	/usr/bin/premake5 "${mypremakeargs[@]}" "${myconf[@]}" gmake2 \
+		|| die "Premake failed"
+}
+
+src_compile() {
+	# Build 3rd party fcollada
+	einfo "Building bundled fcollada"
+	emake -C libraries/source/fcollada/src
+
+	# Build bundled NVTT
+	# nvtt is abandoned upstream and 0ad has forked it and added fixes.
+	# Use their copy. bug #768930
+	if use nvtt ; then
+		cd libraries/source/nvtt || die
+		elog "Building bundled NVTT (bug #768930)"
+		JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT"
+		cd "${S}" || die
+	fi
+
+	# Build bundled SpiderMonkey
+	# We really can't use the system SpiderMonkey right now.
+	# Breakages occur even on minor bumps in upstream SM,
+	# e.g. bug #768840.
+	cd libraries/source/spidermonkey || die
+	elog "Building bundled SpiderMonkey (bug #768840)"
+	XARGS="${EPREFIX}/usr/bin/xargs" \
+		JOBS="-j$(makeopts_jobs)" \
+		./build.sh \
+	|| die "Failed to build bundled SpiderMonkey"
+
+	cd "${S}" || die
+
+	# Build 0ad itself!
+	elog "Building 0ad"
+	JOBS="-j$(makeopts_jobs)" emake -C build/workspace/gcc verbose=1
+
+	# Build assets
+	# (We only do this if we're using a snapshot/non-release)
+	# See bug #771147 (comment 3) and the old 0ad-data ebuild
+	# Warning: fragile!
+	if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
+		# source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
+		addpredict /proc/self/task
+
+		# Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
+		local archivebuild_input archivebuild_output mod_name
+		for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
+			mod_name="${archivebuild_input##*/}"
+			archivebuild_output="archives/${mod_name}"
+
+			mkdir -p "${archivebuild_output}" || die
+
+			einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
+			LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \
+				-archivebuild="${archivebuild_input}" \
+				-archivebuild-output="${archivebuild_output}/${mod_name}.zip" \
+			|| die "Failed to build assets"
+
+			if [[ -f "${archivebuild_input}/mod.json" ]]; then
+				cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die
+			fi
+
+			rm -r "${archivebuild_input}" || die
+			mv "${archivebuild_output}" "${archivebuild_input}" || die
+		done
+
+		# Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
+		rm binaries/data/config/dev.cfg || die
+		rm -r binaries/data/mods/_test.* || die
+	fi
+}
+
+src_test() {
+	cd binaries/system || die
+	./test -libdir "${S}/binaries/system" || die "Failed tests"
+}
+
+src_install() {
+	newbin binaries/system/pyrogenesis 0ad
+	use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
+
+	# Merged from 0ad-data
+	# bug #771147 (comment 3)
+	insinto /usr/share/${PN}
+	doins -r binaries/data/{l10n,config,mods,tools}
+
+	# Install bundled SpiderMonkey and nvtt
+	# bug #771147 (comment 1)
+	exeinto /usr/$(get_libdir)/${PN}
+	doexe binaries/system/{libCollada,libmozjs78-ps-release}.so
+
+	use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.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/files/0ad-0.0.25b_alpha-fix-name-collision-glibc.patch b/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-name-collision-glibc.patch
new file mode 100644
index 000000000000..e8d88e794c90
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-name-collision-glibc.patch
@@ -0,0 +1,131 @@
+https://bugs.gentoo.org/834578
+https://trac.wildfiregames.com/changeset/26536/
+​https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103735
+​https://sourceware.org/bugzilla/show_bug.cgi?id=28713
+--- a/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp
++++ b/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp
+@@ -1,3 +1,3 @@
+-/* Copyright (C) 2021 Wildfire Games.
++/* Copyright (C) 2022 Wildfire Games.
+  * This file is part of 0 A.D.
+  *
+@@ -30,6 +30,4 @@
+ static Observable<AtlasMessage::sEnvironmentSettings> g_EnvironmentSettings;
+ 
+-const float M_PIf = 3.14159265f;
+-
+ //////////////////////////////////////////////////////////////////////////
+ 
+@@ -86,10 +84,13 @@
+ 		m_Var(var)
+ 	{
+-		m_Conn = g_EnvironmentSettings.RegisterObserver(0, &VariableListBox::OnSettingsChange, this);
++		m_Conn = g_EnvironmentSettings.RegisterObserver(
++			0, &VariableListBox::OnSettingsChange, this);
+ 
+ 		m_Sizer = new wxStaticBoxSizer(wxVERTICAL, this, label);
+ 		SetSizer(m_Sizer);
+ 
+-		m_Combo = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxArrayString(), wxCB_READONLY),
++		m_Combo = new wxComboBox(
++			this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize,
++			wxArrayString(), wxCB_READONLY),
+ 		m_Sizer->Add(m_Combo, wxSizerFlags().Expand());
+ 	}
+@@ -207,6 +208,7 @@
+ }
+ 
+-EnvironmentSidebar::EnvironmentSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
+-: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
++EnvironmentSidebar::EnvironmentSidebar(
++	ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
++	: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
+ {
+ 	wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
+@@ -218,13 +220,22 @@
+ 	wxSizer* waterSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Water settings"));
+ 	scrollSizer->Add(waterSizer, wxSizerFlags().Expand());
+-	waterSizer->Add(new wxButton(scrolledWindow, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
+-	waterSizer->Add(m_WaterTypeList = new VariableListBox(scrolledWindow, _("Water Type"), g_EnvironmentSettings.watertype), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water height"), g_EnvironmentSettings.waterheight, 0.f, 1.2f), wxSizerFlags().Expand());
+-	waterSizer->Add(new wxButton(scrolledWindow, ID_PickWaterHeight, _("Pick Water Height")), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water waviness"), g_EnvironmentSettings.waterwaviness, 0.f, 10.f), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water murkiness"), g_EnvironmentSettings.watermurkiness, 0.f, 1.f), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Wind angle"), g_EnvironmentSettings.windangle, -M_PIf, M_PIf), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableColorBox(scrolledWindow, _("Water color"), g_EnvironmentSettings.watercolor), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableColorBox(scrolledWindow, _("Water tint"), g_EnvironmentSettings.watertint), wxSizerFlags().Expand());
++	waterSizer->Add(new wxButton(
++		scrolledWindow, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
++	waterSizer->Add(m_WaterTypeList = new VariableListBox(
++		scrolledWindow, _("Water Type"), g_EnvironmentSettings.watertype), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water height"), g_EnvironmentSettings.waterheight, 0.f, 1.2f), wxSizerFlags().Expand());
++	waterSizer->Add(new wxButton(
++		scrolledWindow, ID_PickWaterHeight, _("Pick Water Height")), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water waviness"), g_EnvironmentSettings.waterwaviness, 0.f, 10.f), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water murkiness"), g_EnvironmentSettings.watermurkiness, 0.f, 1.f), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Wind angle"), g_EnvironmentSettings.windangle, -static_cast<float>(M_PI), static_cast<float>(M_PI)), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Water color"), g_EnvironmentSettings.watercolor), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Water tint"), g_EnvironmentSettings.watertint), wxSizerFlags().Expand());
+ 
+ 	std::vector<std::wstring> list;
+@@ -236,23 +247,38 @@
+ 	scrollSizer->Add(sunSizer, wxSizerFlags().Expand().Border(wxTOP, 8));
+ 
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun rotation"), g_EnvironmentSettings.sunrotation, -M_PIf, M_PIf), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun elevation"), g_EnvironmentSettings.sunelevation, -M_PIf/2, M_PIf/2), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun overbrightness"), g_EnvironmentSettings.sunoverbrightness, 1.0f, 3.0f), wxSizerFlags().Expand());
+-	sunSizer->Add(new LightControl(scrolledWindow, wxSize(150, 150), g_EnvironmentSettings));
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Sun color"), g_EnvironmentSettings.suncolor), wxSizerFlags().Expand());
+-	sunSizer->Add(m_SkyList = new VariableListBox(scrolledWindow, _("Sky set"), g_EnvironmentSettings.skyset), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Fog Factor"), g_EnvironmentSettings.fogfactor, 0.0f, 0.01f), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Fog Thickness"), g_EnvironmentSettings.fogmax, 0.5f, 0.0f), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Fog color"), g_EnvironmentSettings.fogcolor), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun rotation"), g_EnvironmentSettings.sunrotation, -static_cast<float>(M_PI), static_cast<float>(M_PI)), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun elevation"), g_EnvironmentSettings.sunelevation, -static_cast<float>(M_PI) / 2.0f, static_cast<float>(M_PI) / 2.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun overbrightness"), g_EnvironmentSettings.sunoverbrightness, 1.0f, 3.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new LightControl(
++		scrolledWindow, wxSize(150, 150), g_EnvironmentSettings));
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Sun color"), g_EnvironmentSettings.suncolor), wxSizerFlags().Expand());
++	sunSizer->Add(m_SkyList = new VariableListBox(
++		scrolledWindow, _("Sky set"), g_EnvironmentSettings.skyset), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Fog Factor"), g_EnvironmentSettings.fogfactor, 0.0f, 0.01f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Fog Thickness"), g_EnvironmentSettings.fogmax, 0.5f, 0.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Fog color"), g_EnvironmentSettings.fogcolor), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
+ 
+ 	wxSizer* postProcSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Post-processing settings"));
+ 	scrollSizer->Add(postProcSizer, wxSizerFlags().Expand().Border(wxTOP, 8));
+ 
+-	postProcSizer->Add(m_PostEffectList = new VariableListBox(scrolledWindow, _("Post Effect"), g_EnvironmentSettings.posteffect), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Brightness"), g_EnvironmentSettings.brightness, -0.5f, 0.5f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Contrast (HDR)"), g_EnvironmentSettings.contrast, 0.5f, 1.5f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Saturation"), g_EnvironmentSettings.saturation, 0.0f, 2.0f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Bloom"), g_EnvironmentSettings.bloom, 0.2f, 0.0f), wxSizerFlags().Expand());
++	postProcSizer->Add(m_PostEffectList = new VariableListBox(
++		scrolledWindow, _("Post Effect"), g_EnvironmentSettings.posteffect), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Brightness"), g_EnvironmentSettings.brightness, -0.5f, 0.5f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Contrast (HDR)"), g_EnvironmentSettings.contrast, 0.5f, 1.5f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Saturation"), g_EnvironmentSettings.saturation, 0.0f, 2.0f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Bloom"), g_EnvironmentSettings.bloom, 0.2f, 0.0f), wxSizerFlags().Expand());
+ 
+ 	m_Conn = g_EnvironmentSettings.RegisterObserver(0, &SendToGame);
+

diff --git a/games-strategy/0ad/files/0ad-0.0.25b_alpha-python3.10.patch b/games-strategy/0ad/files/0ad-0.0.25b_alpha-python3.10.patch
new file mode 100644
index 000000000000..80991e3c7a6e
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.25b_alpha-python3.10.patch
@@ -0,0 +1,156 @@
+https://github.com/0ad/0ad/commit/c2ec217eea6952c4877095969e11900b70c7cda3
+https://bugs.gentoo.org/845987
+
+From: s0600204 <s0600204@3db68df2-c116-0410-a063-a993310a9797>
+Date: Wed, 23 Feb 2022 20:30:38 +0000
+Subject: [PATCH] Fix building spidermonkey on systems with python 3.10
+
+Tested by:
+* Langbart - macOS 10.15.7: `homebrew`ed python 3.9.9 & 3.10.1
+* andy5995 - Manjaro 21.2.3: python 3.10.2
+* s0600204 - ArchLinux: python 3.10.2
+
+Differential Revision: https://code.wildfiregames.com/D4437
+
+
+
+git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@26475 3db68df2-c116-0410-a063-a993310a9797
+--- /dev/null
++++ b/libraries/source/spidermonkey/FixPythonCollectionABC.diff
+@@ -0,0 +1,87 @@
++--- a/python/mach/mach/config.py
+++++ b/python/mach/mach/config.py
++@@ -144,7 +144,7 @@
++     return _
++ 
++ 
++-class ConfigSettings(collections.Mapping):
+++class ConfigSettings(collections.abc.Mapping):
++     """Interface for configuration settings.
++ 
++     This is the main interface to the configuration.
++@@ -190,7 +190,7 @@
++     will result in exceptions being raised.
++     """
++ 
++-    class ConfigSection(collections.MutableMapping, object):
+++    class ConfigSection(collections.abc.MutableMapping, object):
++         """Represents an individual config section."""
++         def __init__(self, config, name, settings):
++             object.__setattr__(self, '_config', config)
++--- a/python/mach/mach/decorators.py
+++++ b/python/mach/mach/decorators.py
++@@ -159,7 +159,7 @@
++               'Conditions argument must take a list ' + \
++               'of functions. Found %s instead.'
++ 
++-        if not isinstance(command.conditions, collections.Iterable):
+++        if not isinstance(command.conditions, collections.abc.Iterable):
++             msg = msg % (command.name, type(command.conditions))
++             raise MachError(msg)
++ 
++--- a/python/mach/mach/main.py
+++++ b/python/mach/mach/main.py
++@@ -16,7 +16,7 @@
++ import sys
++ import traceback
++ import uuid
++-from collections import Iterable
+++from collections.abc import Iterable
++ 
++ from six import string_types
++ 
++--- a/python/mozbuild/mozbuild/backend/configenvironment.py
+++++ b/python/mozbuild/mozbuild/backend/configenvironment.py
++@@ -9,7 +9,8 @@
++ import sys
++ import json
++ 
++-from collections import Iterable, OrderedDict
+++from collections import OrderedDict
+++from collections.abc import Iterable
++ from types import ModuleType
++ 
++ import mozpack.path as mozpath
++--- a/python/mozbuild/mozbuild/makeutil.py
+++++ b/python/mozbuild/mozbuild/makeutil.py
++@@ -7,7 +7,7 @@
++ import os
++ import re
++ import six
++-from collections import Iterable
+++from collections.abc import Iterable
++ 
++ 
++ class Makefile(object):
++--- a/python/mozbuild/mozbuild/util.py
+++++ b/python/mozbuild/mozbuild/util.py
++@@ -782,7 +782,7 @@
++         self._strings = StrictOrderingOnAppendList()
++         self._children = {}
++ 
++-    class StringListAdaptor(collections.Sequence):
+++    class StringListAdaptor(collections.abc.Sequence):
++         def __init__(self, hsl):
++             self._hsl = hsl
++ 
++--- a/testing/mozbase/manifestparser/manifestparser/filters.py
+++++ b/testing/mozbase/manifestparser/manifestparser/filters.py
++@@ -15,1 +15,2 @@
++-from collections import defaultdict, MutableSequence
+++from collections import defaultdict
+++from collections.abc import MutableSequence
++--- a/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py
+++++ b/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py
++@@ -82,1 +82,1 @@
++-from collections import MutableSet, MutableMapping, MutableSequence
+++from collections.abc import MutableSet, MutableMapping, MutableSequence
+--- /dev/null
++++ b/libraries/source/spidermonkey/FixVirtualenvForPython310.diff
+@@ -0,0 +1,15 @@
++--- a/third_party/python/virtualenv/virtualenv.py
+++++ b/third_party/python/virtualenv/virtualenv.py
++@@ -1804,7 +1804,11 @@
++         pass
++     else:
++         # noinspection PyProtectedMember
++-        if sysconfig._get_default_scheme() == "posix_local":
+++        try: # Python >= 3.10
+++            default_scheme = sysconfig.get_default_scheme()
+++        except: # Python < 3.10
+++            default_scheme = sysconfig._get_default_scheme()
+++        if default_scheme == "posix_local":
++             local_path = os.path.join(home_dir, "local")
++             if not os.path.exists(local_path):
++                 os.mkdir(local_path)
+--- a/libraries/source/spidermonkey/patch.sh
++++ b/libraries/source/spidermonkey/patch.sh
+@@ -52,6 +60,11 @@ patch -p1 < ../FixMSVCRootedVoid.diff
+ # so this patches it to an arbitrarily high Mac OS 11
+ patch -p1 < ../FixMacBuild.diff
+ 
++# In python 3.3, the Collections' Abstract Base Classes were moved from `collections` to
++# `collections.abc`, and aliases were set up for backwards compatibility.
++# In python 3.10, these aliases were removed, requiring all code that used them to update.
++patch -p1 < ../FixPythonCollectionABC.diff
++
+ # Fix FP access breaking compilation on RPI3+
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1536491
+
+diff --git a/libraries/source/spidermonkey/patch.sh b/libraries/source/spidermonkey/patch.sh
+index 2a3e165..5dde46f 100644
+--- a/libraries/source/spidermonkey/patch.sh
++++ b/libraries/source/spidermonkey/patch.sh
+@@ -2,6 +2,11 @@
+ # Apply patches if needed
+ # This script gets called from build.sh.
+ 
++# In python 3.10 `sysconfig._get_default_scheme()` was renamed to
++# `sysconfig.get_default_scheme()`. This breaks the version of
++# `virtualenv` bundled with the spidermonkey source code.
++patch -p1 < ../FixVirtualenvForPython310.diff
++
+ # Mozglue symbols need to be linked against static builds.
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1588340
+ patch -p1 < ../FixMozglue.diff


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2022-02-07  4:31 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2022-02-07  4:31 UTC (permalink / raw
  To: gentoo-commits

commit:     763d3498173d92e9de312fafcf0a5335adf2dd46
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  7 04:21:41 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb  7 04:21:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=763d3498

games-strategy/0ad: drop 0.0.24b_alpha-r1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild     | 231 ---------------------
 games-strategy/0ad/Manifest                        |   2 -
 .../0ad-0.0.24_alpha_pre20210116040036-build.patch | 105 ----------
 ...0.24b_alpha-fix-hang-on-quit-without-nvtt.patch |  98 ---------
 .../0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch    |  82 --------
 5 files changed, 518 deletions(-)

diff --git a/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild
deleted file mode 100644
index 6307e21c5b2a..000000000000
--- a/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild
+++ /dev/null
@@ -1,231 +0,0 @@
-# Copyright 2014-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-PYTHON_COMPAT=( python3_{7..9} )
-inherit desktop toolchain-funcs multiprocessing python-any-r1 wxwidgets xdg
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-
-	EGIT_REPO_URI="https://github.com/0ad/0ad"
-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
-	S="${WORKDIR}/${P}"
-elif [[ ${PV} == *_pre* ]]; then
-	SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
-	S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
-else
-	SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
-	SRC_URI+=" https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz"
-	S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="editor +lobby nvtt pch test"
-RESTRICT="test"
-
-# virtual/rust is for bundled SpiderMonkey
-# Build-time Python dependency is for SM too
-# TODO: Unbundle premake5
-# See bug #773472 which may help (bump for it)
-BDEPEND="
-	${PYTHON_DEPS}
-	virtual/pkgconfig
-	virtual/rust
-	test? ( dev-lang/perl )
-"
-# Removed dependency on nvtt as we use the bundled one
-# bug #768930
-DEPEND="
-	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 )
-"
-RDEPEND="
-	${DEPEND}
-	!games-strategy/0ad-data
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.0.24_alpha_pre20210116040036-build.patch
-	"${FILESDIR}"/${PN}-0.0.24b_alpha-rust-1.50.patch
-	"${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
-	"${FILESDIR}"/${PN}-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
-)
-
-pkg_setup() {
-	use editor && setup-wxwidgets
-
-	python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	# SpiderMonkey's configure no longer recognises --build for
-	# the build tuple
-	sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
-
-	# Originally from 0ad-data
-	rm binaries/data/tools/fontbuilder/fonts/*.txt || die
-}
-
-src_configure() {
-	local myconf=(
-		--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 AR CC CXX RANLIB
-
-	# Stock premake5 does not work, use the shipped one
-	# TODO: revisit this, see above BDEPEND note re premake5
-	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
-	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() {
-	# Build 3rd party fcollada
-	einfo "Building bundled fcollada"
-	emake -C libraries/source/fcollada/src
-
-	# Build bundled NVTT
-	# nvtt is abandoned upstream and 0ad have forked it and added fixes.
-	# Use their copy. bug #768930
-	if use nvtt ; then
-		cd libraries/source/nvtt || die
-		elog "Building bundled NVTT (bug #768930)"
-		JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT"
-		cd "${S}" || die
-	fi
-
-	# Build bundled SpiderMonkey
-	# We really can't use the system SpiderMonkey right now.
-	# Breakages occur even on minor bumps in upstream SM,
-	# e.g. bug #768840.
-	cd libraries/source/spidermonkey || die
-	elog "Building bundled SpiderMonkey (bug #768840)"
-	XARGS="${EPREFIX}/usr/bin/xargs" \
-		JOBS="-j$(makeopts_jobs)" \
-		./build.sh \
-	|| die "Failed to build bundled SpiderMonkey"
-
-	cd "${S}" || die
-
-	# Build 0ad itself!
-	elog "Building 0ad"
-	JOBS="-j$(makeopts_jobs)" emake -C build/workspaces/gcc verbose=1
-
-	# Build assets
-	# (We only do this if we're using a snapshot/non-release)
-	# See bug #771147 (comment 3) and the old 0ad-data ebuild
-	# Warning: fragile!
-	if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
-		# source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
-		addpredict /proc/self/task
-
-		# Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
-		local archivebuild_input archivebuild_output mod_name
-		for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
-			mod_name="${archivebuild_input##*/}"
-			archivebuild_output="archives/${mod_name}"
-
-			mkdir -p "${archivebuild_output}" || die
-
-			einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
-			LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \
-				-archivebuild="${archivebuild_input}" \
-				-archivebuild-output="${archivebuild_output}/${mod_name}.zip" \
-			|| die "Failed to build assets"
-
-			if [[ -f "${archivebuild_input}/mod.json" ]]; then
-				cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die
-			fi
-
-			rm -r "${archivebuild_input}" || die
-			mv "${archivebuild_output}" "${archivebuild_input}" || die
-		done
-
-		# Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
-		rm binaries/data/config/dev.cfg || die
-		rm -r binaries/data/mods/_test.* || die
-	fi
-}
-
-src_test() {
-	cd binaries/system || die
-	./test -libdir "${S}/binaries/system" || die "Failed tests"
-}
-
-src_install() {
-	newbin binaries/system/pyrogenesis 0ad
-	use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
-
-	# Merged from 0ad-data
-	# bug #771147 (comment 3)
-	insinto /usr/share/${PN}
-	doins -r binaries/data/{l10n,config,mods,tools}
-
-	# Install bundled SpiderMonkey and nvtt
-	# bug #771147 (comment 1)
-	exeinto /usr/$(get_libdir)/${PN}
-	doexe binaries/system/{libCollada,libmozjs78-ps-release}.so
-
-	use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.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 923eae80585e..afaaebc4f848 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,5 +1,3 @@
-DIST 0ad-0.0.24b-alpha-unix-build.tar.xz 75546740 BLAKE2B a724abba6bed4b580670588e9dcfe0f75f6cef0fbde6ad666356e96213c685932edd0a1daafb5dd04206870c2c8222340c9c51e83076ec2911cbb5377ca00666 SHA512 8173d393eb1bc57c38bef0076ba973ef46c877c06644365189c0887cd3152adba51d26b553e42221fd14343e9830a3a275bfcd9b28f66281e282ea3f247730ea
-DIST 0ad-0.0.24b-alpha-unix-data.tar.xz 828553992 BLAKE2B 2081225d88d475ed0899648994a900677bc3280bb2ba6cf92354ece82b90ddcefddb48458fa23e2de97100e58f4db8db408d4b50d0306a8c3efe47d263064bf0 SHA512 d7804d25ddf376028f230a31c6fc1201dfa366b3d5434569a1a7852bb4c400fb14e5c8934c5d6c6295320cf2e62c64be83b1e3c4c27fd116115bfe7d01106726
 DIST 0ad-0.0.25b-alpha-unix-build.tar.xz 75579956 BLAKE2B 674d69d625137709a186f9273607dc353fc99aea68ef3f2ea5031dbe2f684176910d757c3f03c7fbdac475d30708be448b71f5020d27a65c346bf147223bcb9d SHA512 e8069897b97b381099ab5ec5868d27e96c699105b3307054d1bc7bf9236a537f02625ba9034892d91f3e951b4f95c9ce5fb75ed0a7c14b8a294882482fd9c1b4
 DIST 0ad-0.0.25b-alpha-unix-build.tar.xz.minisig 327 BLAKE2B 547a7a1c8a83167fa40976efb2efaf691fc5434eb1be227b481a70d308381b20dcdc90bb4652e190f8e329fb33cc19ebbaab43977329f8971e49436f7f1ce636 SHA512 9d6a235ea50183e1db16f4bf2dc59af9042a52e4e18ccd0c34c481a7e9021f19e2bc370e594aa97911bb7ca33bcc5ebe23a4b206cd74357060371ca06b6010d2
 DIST 0ad-0.0.25b-alpha-unix-data.tar.xz 1249684600 BLAKE2B d77546ba9d21b512f106645c07fa92ecc343e0a01d9a70a83f2a2b3ade912e72d095982f7d4c4cd64e18fb71a67a01c419763744dd4cad1e8c081e5f77ec17c9 SHA512 d6bbe484acb7fbd507d303f5c75f8a2ccbaf8fe9dd30ff408b082f170bfd96eb9235db1b710c15656ef465b44fa5597679a694515e0c153a35fe24c0915f29f1

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
deleted file mode 100644
index 1e643adb41a9..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.24_alpha_pre20210116040036-build.patch
+++ /dev/null
@@ -1,105 +0,0 @@
---- /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`

diff --git a/games-strategy/0ad/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch b/games-strategy/0ad/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
deleted file mode 100644
index fe054eccac51..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-# Nils Freydank <holgersson@posteo.de> (2021-06-17)
-Apply the patch from upstream with minor adoption.
-
-Gentoo bug: https://bugs.gentoo.org/779757
-Upstream Bug: https://trac.wildfiregames.com/ticket/6107
-Upstream Patch: https://trac.wildfiregames.com/changeset/25766
-
---- a/source/graphics/TextureConverter.cpp	(revision 25765)
-+++ b/source/graphics/TextureConverter.cpp	(revision 25766)
-@@ -294,9 +294,8 @@
- 	m_VFS(vfs), m_HighQuality(highQuality), m_Shutdown(false)
- {
-+#if CONFIG2_NVTT
- 	// Verify that we are running with at least the version we were compiled with,
- 	// to avoid bugs caused by ABI changes
--#if CONFIG2_NVTT
- 	ENSURE(nvtt::version() >= NVTT_VERSION);
--#endif
- 
- 	m_WorkerThread = std::thread(Threading::HandleExceptions<RunThread>::Wrapper, this);
-@@ -304,8 +303,10 @@
- 	// Maybe we should share some centralised pool of worker threads?
- 	// For now we'll just stick with a single thread for this specific use.
-+#endif // CONFIG2_NVTT
- }
- 
- CTextureConverter::~CTextureConverter()
- {
-+#if CONFIG2_NVTT
- 	// Tell the thread to shut down
- 	{
-@@ -327,4 +328,5 @@
- 	// Wait for it to shut down cleanly
- 	m_WorkerThread.join();
-+#endif // CONFIG2_NVTT
- }
- 
-@@ -477,8 +479,8 @@
- 	return true;
- 
--#else
-+#else // CONFIG2_NVTT
- 	LOGERROR("Failed to convert texture \"%s\" (NVTT not available)", src.string8());
- 	return false;
--#endif
-+#endif // !CONFIG2_NVTT
- }
- 
-@@ -529,22 +531,24 @@
- 	return true;
- 
--#else // #if CONFIG2_NVTT
-+#else // CONFIG2_NVTT
- 	return false;
--#endif
-+#endif // !CONFIG2_NVTT
- }
- 
- bool CTextureConverter::IsBusy()
- {
-+#if CONFIG2_NVTT
- 	std::lock_guard<std::mutex> lock(m_WorkerMutex);
- 	return !m_RequestQueue.empty();
-+#else // CONFIG2_NVTT
-+	return false;
-+#endif // !CONFIG2_NVTT
- }
- 
- void CTextureConverter::RunThread(CTextureConverter* textureConverter)
- {
-+#if CONFIG2_NVTT
- 	debug_SetThreadName("TextureConverter");
- 	g_Profiler2.RegisterCurrentThread("texconv");
--
--#if CONFIG2_NVTT
--
- 	// Wait until the main thread wakes us up
- 	while (true)
-@@ -596,4 +600,4 @@
- 	std::lock_guard<std::mutex> wait_lock(textureConverter->m_WorkerMutex);
- 	textureConverter->m_Shutdown = false;
--#endif
--}
-+#endif // CONFIG2_NVTT
-+}
-
---- a/source/graphics/TextureConverter.h	(revision 25765)
-+++ b/source/graphics/TextureConverter.h	(revision 25766)
-@@ -208,7 +208,9 @@
- 	bool m_HighQuality;
- 
-+#if CONFIG2_NVTT
- 	std::thread m_WorkerThread;
- 	std::mutex m_WorkerMutex;
- 	std::condition_variable m_WorkerCV;
-+#endif // CONFIG2_NVTT
- 
- 	struct ConversionRequest;

diff --git a/games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch b/games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch
deleted file mode 100644
index f4436a7b92c4..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-https://bugs.gentoo.org/773493
---- a/libraries/source/spidermonkey/FixRust150.diff
-+++ b/libraries/source/spidermonkey/FixRust150.diff
-@@ -0,0 +1,65 @@
-+
-+# HG changeset patch
-+# User Emilio Cobos Álvarez <emilio@crisal.io>
-+# Date 1609006565 0
-+# Node ID 0e8f444683cb9c4079d3b2250f32f986043ea582
-+# Parent  55097a5cf353f1b2a2228820bdf26bb69a1372a0
-+Bug 1684261 - Fix build with rust nightly. r=jrmuizel, a=RyanVM
-+
-+Fixes errors like:
-+
-+  dependency (nix) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed.
-+
-+I've left the most specific dependency, but for wgpu the rev is not
-+right, so I've kept the branch which effectively preserves behavior.
-+
-+Differential Revision: https://phabricator.services.mozilla.com/D100485
-+
-+diff --git a/.cargo/config.in b/.cargo/config.in
-+--- a/.cargo/config.in
-++++ b/.cargo/config.in
-+@@ -1,16 +1,16 @@
-+ # This file contains vendoring instructions for cargo.
-+ # It was generated by `mach vendor rust`.
-+ # Please do not edit.
-+ 
-+ [source."https://github.com/shravanrn/nix/"]
-+-branch = "r0.13.1"
-+ git = "https://github.com/shravanrn/nix/"
-+ replace-with = "vendored-sources"
-++rev = "4af6c367603869a30fddb5ffb0aba2b9477ba92e"
-+ 
-+ [source."https://github.com/mozilla/rkv"]
-+ git = "https://github.com/mozilla/rkv"
-+ replace-with = "vendored-sources"
-+ rev = "e3c3388e6632cf55e08d773b32e58b1cab9b2731"
-+ 
-+ [source."https://github.com/mozilla/neqo"]
-+ git = "https://github.com/mozilla/neqo"
-+diff --git a/Cargo.lock b/Cargo.lock
-+--- a/Cargo.lock
-++++ b/Cargo.lock
-+@@ -3200,7 +3200,7 @@
-+ [[package]]
-+ name = "nix"
-+ version = "0.13.1"
-+-source = "git+https://github.com/shravanrn/nix/?branch=r0.13.1#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
-++source = "git+https://github.com/shravanrn/nix/?rev=4af6c367603869a30fddb5ffb0aba2b9477ba92e#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
-+ dependencies = [
-+  "bitflags",
-+  "cc",
-+diff --git a/Cargo.toml b/Cargo.toml
-+--- a/Cargo.toml
-++++ b/Cargo.toml
-+@@ -60,8 +60,8 @@
-+ [patch.crates-io]
-+ packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="3541e3818fdc7c2a24f87e3459151a4ce955a67a" }
-+ rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="d510da5999a744c563b0acd18056069d1698273f" }
-+-nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
-+-spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3", rev = "20191ad2f370afd6d247edcb9ff9da32d3bedb9c" }
-++nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
-++spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3" }
-+ # failure's backtrace feature might break our builds, see bug 1608157.
-+ failure = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
-+ failure_derive = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
-+
---- a/libraries/source/spidermonkey/patch.sh
-+++ b/libraries/source/spidermonkey/patch.sh
-@@ -39,6 +39,10 @@
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1536491
- patch -p1 < ../FixRpiUnalignedFpAccess.diff
- 
-+# Bug 1684261 upstreamed from 78.8: https://hg.mozilla.org/releases/mozilla-esr78/rev/0e8f444683cb
-+# Note that this isn't quite the upstream patch to match our version.
-+patch -p1 < ../FixRust150.diff
-+
- # Patch those separately, as they might interfere with normal behaviour.
- if [ "$(uname -s)" = "FreeBSD" ];
- then


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2022-02-07  4:31 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2022-02-07  4:31 UTC (permalink / raw
  To: gentoo-commits

commit:     c5948582c8e35c33b8d6793d6e2c83949b152586
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  7 04:30:43 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb  7 04:30:57 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5948582

games-strategy/0ad: fix build with newer setuptools

Closes: https://bugs.gentoo.org/826762
Thanks-to: Stephen Cavilia <sac <AT> atomicradi.us>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.25b_alpha.ebuild        |   3 +-
 .../files/0ad-0.0.25b_alpha-fix-setuptools.patch   | 188 +++++++++++++++++++++
 2 files changed, 190 insertions(+), 1 deletion(-)

diff --git a/games-strategy/0ad/0ad-0.0.25b_alpha.ebuild b/games-strategy/0ad/0ad-0.0.25b_alpha.ebuild
index e01f6242d2cd..d7b282a68f35 100644
--- a/games-strategy/0ad/0ad-0.0.25b_alpha.ebuild
+++ b/games-strategy/0ad/0ad-0.0.25b_alpha.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2014-2021 Gentoo Authors
+# Copyright 2014-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -90,6 +90,7 @@ RDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
+	"${FILESDIR}"/${PN}-0.0.25b_alpha-fix-setuptools.patch
 )
 
 pkg_setup() {

diff --git a/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-setuptools.patch b/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-setuptools.patch
new file mode 100644
index 000000000000..ea0626fadadd
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-setuptools.patch
@@ -0,0 +1,188 @@
+https://bugs.gentoo.org/826762
+https://bugzilla.mozilla.org/show_bug.cgi?id=1665675
+https://phabricator.services.mozilla.com/D90627
+--- a/libraries/source/spidermonkey/patch.sh
++++ b/libraries/source/spidermonkey/patch.sh
+@@ -51,5 +51,7 @@ then
+     # https://svnweb.freebsd.org/ports/head/lang/spidermonkey78/files/patch-third__party_rust_cc_.cargo-checksum.json?view=log
+     patch -p1 < ../FixFreeBSDCargoChecksum.diff
+     # https://svnweb.freebsd.org/ports/head/lang/spidermonkey78/files/patch-third__party_rust_cc_src_lib.rs?view=log
+     patch -p1 < ../FixFreeBSDRustThirdPartyOSDetection.diff
+ fi
++
++patch -p1 < ../FixSysconfigImport.diff
+--- a/libraries/source/spidermonkey/FixSysconfigImport.diff
++++ b/libraries/source/spidermonkey/FixSysconfigImport.diff
+@@ -0,0 +1,171 @@
++diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
++--- a/python/mozbuild/mozbuild/configure/__init__.py
+++++ b/python/mozbuild/mozbuild/configure/__init__.py
++@@ -877,17 +877,56 @@
++ 
++     def _apply_imports(self, func, glob):
++         for _from, _import, _as in self._imports.pop(func, ()):
++-            _from = '%s.' % _from if _from else ''
++-            if _as:
++-                glob[_as] = self._get_one_import('%s%s' % (_from, _import))
+++            self._get_one_import(_from, _import, _as, glob)
+++
+++    def _handle_wrapped_import(self, _from, _import, _as, glob):
+++        """Given the name of a module, "import" a mocked package into the glob
+++        iff the module is one that we wrap (either for the sandbox or for the
+++        purpose of testing). Applies if the wrapped module is exposed by an
+++        attribute of `self`.
+++
+++        For example, if the import statement is `from os import environ`, then
+++        this function will set
+++        glob['environ'] = self._wrapped_os.environ.
+++
+++        Iff this function handles the given import, return True.
+++        """
+++        module = (_from or _import).split('.')[0]
+++        attr = '_wrapped_' + module
+++        wrapped = getattr(self, attr, None)
+++        if wrapped:
+++            if _as or _from:
+++                obj = self._recursively_get_property(
+++                    module, (_from + '.' if _from else '') + _import, wrapped)
+++                glob[_as or _import] = obj
++             else:
++-                what = _import.split('.')[0]
++-                glob[what] = self._get_one_import('%s%s' % (_from, what))
+++                glob[module] = wrapped
+++            return True
+++        else:
+++            return False
+++
+++    def _recursively_get_property(self, module, what, wrapped):
+++        """Traverse the wrapper object `wrapped` (which represents the module
+++        `module`) and return the property represented by `what`, which may be a
+++        series of nested attributes.
+++
+++        For example, if `module` is 'os' and `what` is 'os.path.join',
+++        return `wrapped.path.join`.
+++        """
+++        if what == module:
+++            return wrapped
+++        assert what.startswith(module + '.')
+++        attrs = what[len(module + '.'):].split('.')
+++        for attr in attrs:
+++            wrapped = getattr(wrapped, attr)
+++        return wrapped
++ 
++     @memoized_property
++     def _wrapped_os(self):
++         wrapped_os = {}
++         exec_('from os import *', {}, wrapped_os)
+++        # Special case os and os.environ so that os.environ is our copy of
+++        # the environment.
++         wrapped_os['environ'] = self._environ
++         return ReadOnlyNamespace(**wrapped_os)
++ 
++@@ -913,57 +952,62 @@
++ 
++         return ReadOnlyNamespace(**wrapped_subprocess)
++ 
++-    def _get_one_import(self, what):
++-        # The special `__sandbox__` module gives access to the sandbox
++-        # instance.
++-        if what == '__sandbox__':
++-            return self
+++    @memoized_property
+++    def _wrapped_six(self):
+++        if six.PY3:
+++            return six
+++        wrapped_six = {}
+++        exec_('from six import *', {}, wrapped_six)
+++        wrapped_six_moves = {}
+++        exec_('from six.moves import *', {}, wrapped_six_moves)
+++        wrapped_six_moves_builtins = {}
+++        exec_('from six.moves.builtins import *', {},
+++              wrapped_six_moves_builtins)
+++
++         # Special case for the open() builtin, because otherwise, using it
++         # fails with "IOError: file() constructor not accessible in
++         # restricted mode". We also make open() look more like python 3's,
++         # decoding to unicode strings unless the mode says otherwise.
++-        if what == '__builtin__.open' or what == 'builtins.open':
++-            if six.PY3:
++-                return open
+++        def wrapped_open(name, mode=None, buffering=None):
+++            args = (name,)
+++            kwargs = {}
+++            if buffering is not None:
+++                kwargs['buffering'] = buffering
+++            if mode is not None:
+++                args += (mode,)
+++                if 'b' in mode:
+++                    return open(*args, **kwargs)
+++            kwargs['encoding'] = system_encoding
+++            return codecs.open(*args, **kwargs)
+++
+++        wrapped_six_moves_builtins['open'] = wrapped_open
+++        wrapped_six_moves['builtins'] = ReadOnlyNamespace(
+++            **wrapped_six_moves_builtins)
+++        wrapped_six['moves'] = ReadOnlyNamespace(**wrapped_six_moves)
++ 
++-            def wrapped_open(name, mode=None, buffering=None):
++-                args = (name,)
++-                kwargs = {}
++-                if buffering is not None:
++-                    kwargs['buffering'] = buffering
++-                if mode is not None:
++-                    args += (mode,)
++-                    if 'b' in mode:
++-                        return open(*args, **kwargs)
++-                kwargs['encoding'] = system_encoding
++-                return codecs.open(*args, **kwargs)
++-            return wrapped_open
++-        # Special case os and os.environ so that os.environ is our copy of
++-        # the environment.
++-        if what == 'os.environ':
++-            return self._environ
++-        if what == 'os':
++-            return self._wrapped_os
++-        # And subprocess, so that its functions use our os.environ
++-        if what == 'subprocess':
++-            return self._wrapped_subprocess
++-        if what in ('subprocess.call', 'subprocess.check_call',
++-                    'subprocess.check_output', 'subprocess.Popen'):
++-            return getattr(self._wrapped_subprocess, what[len('subprocess.'):])
+++        return ReadOnlyNamespace(**wrapped_six)
+++
+++    def _get_one_import(self, _from, _import, _as, glob):
+++        """Perform the given import, placing the result into the dict glob."""
+++        if not _from and _import == '__builtin__':
+++            glob[_as or '__builtin__'] = __builtin__
+++            return
+++        if _from == '__builtin__':
+++            _from = 'six.moves.builtins'
+++        # The special `__sandbox__` module gives access to the sandbox
+++        # instance.
+++        if not _from and _import == '__sandbox__':
+++            glob[_as or _import] = self
+++            return
+++        if self._handle_wrapped_import(_from, _import, _as, glob):
+++            return
+++        # If we've gotten this far, we should just do a normal import.
++         # Until this proves to be a performance problem, just construct an
++         # import statement and execute it.
++-        import_line = ''
++-        if '.' in what:
++-            _from, what = what.rsplit('.', 1)
++-            if _from == '__builtin__' or _from.startswith('__builtin__.'):
++-                _from = _from.replace('__builtin__', 'six.moves.builtins')
++-            import_line += 'from %s ' % _from
++-        if what == '__builtin__':
++-            what = 'six.moves.builtins'
++-        import_line += 'import %s as imported' % what
++-        glob = {}
+++        import_line = '%simport %s%s' % (
+++            ('from %s ' % _from) if _from else '', _import,
+++            (' as %s' % _as) if _as else '')
++         exec_(import_line, {}, glob)
++-        return glob['imported']
++ 
++     def _resolve_and_set(self, data, name, value, when=None):
++         # Don't set anything when --help was on the command line
+


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2021-06-17 23:24 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-06-17 23:24 UTC (permalink / raw
  To: gentoo-commits

commit:     dbb3bdf4645d0f83d7112620f07500af44e86962
Author:     Nils Freydank <holgersson <AT> posteo <DOT> de>
AuthorDate: Thu Jun 17 20:11:50 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 17 23:23:36 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbb3bdf4

games-strategy/0ad: Fix stopping the binary with USE="-nvtt"

Closes: https://bugs.gentoo.org/779757
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Nils Freydank <holgersson <AT> posteo.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild     | 229 +++++++++++++++++++++
 ...0.24b_alpha-fix-hang-on-quit-without-nvtt.patch |  98 +++++++++
 2 files changed, 327 insertions(+)

diff --git a/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild
new file mode 100644
index 00000000000..94bf17e4928
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.24b_alpha-r1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 2014-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{7..9} )
+inherit desktop toolchain-funcs multiprocessing python-any-r1 wxwidgets xdg
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+
+	EGIT_REPO_URI="https://github.com/0ad/0ad"
+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
+	S="${WORKDIR}/${P}"
+elif [[ ${PV} == *_pre* ]]; then
+	SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
+else
+	SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
+	SRC_URI+=" https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="editor +lobby nvtt pch test"
+RESTRICT="test"
+
+# virtual/rust is for bundled SpiderMonkey
+# Build-time Python dependency is for SM too
+# TODO: Unbundle premake5
+# See bug #773472 which may help (bump for it)
+BDEPEND="
+	${PYTHON_DEPS}
+	virtual/pkgconfig
+	virtual/rust
+	test? ( dev-lang/perl )
+"
+# Removed dependency on nvtt as we use the bundled one
+# bug #768930
+DEPEND="
+	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 )
+"
+RDEPEND="
+	${DEPEND}
+	!games-strategy/0ad-data
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.0.24_alpha_pre20210116040036-build.patch
+	"${FILESDIR}"/${PN}-0.0.24b_alpha-rust-1.50.patch
+	"${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
+	"${FILESDIR}"/${PN}-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
+)
+
+pkg_setup() {
+	use editor && setup-wxwidgets
+}
+
+src_prepare() {
+	default
+
+	# SpiderMonkey's configure no longer recognises --build for
+	# the build tuple
+	sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
+
+	# Originally from 0ad-data
+	rm binaries/data/tools/fontbuilder/fonts/*.txt || die
+}
+
+src_configure() {
+	local myconf=(
+		--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 AR CC CXX RANLIB
+
+	# Stock premake5 does not work, use the shipped one
+	# TODO: revisit this, see above BDEPEND note re premake5
+	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
+	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() {
+	# Build 3rd party fcollada
+	einfo "Building bundled fcollada"
+	emake -C libraries/source/fcollada/src
+
+	# Build bundled NVTT
+	# nvtt is abandoned upstream and 0ad have forked it and added fixes.
+	# Use their copy. bug #768930
+	if use nvtt ; then
+		cd libraries/source/nvtt || die
+		elog "Building bundled NVTT (bug #768930)"
+		JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT"
+		cd "${S}" || die
+	fi
+
+	# Build bundled SpiderMonkey
+	# We really can't use the system SpiderMonkey right now.
+	# Breakages occur even on minor bumps in upstream SM,
+	# e.g. bug #768840.
+	cd libraries/source/spidermonkey || die
+	elog "Building bundled SpiderMonkey (bug #768840)"
+	XARGS="${EPREFIX}/usr/bin/xargs" \
+		JOBS="-j$(makeopts_jobs)" \
+		./build.sh \
+	|| die "Failed to build bundled SpiderMonkey"
+
+	cd "${S}" || die
+
+	# Build 0ad itself!
+	elog "Building 0ad"
+	JOBS="-j$(makeopts_jobs)" emake -C build/workspaces/gcc verbose=1
+
+	# Build assets
+	# (We only do this if we're using a snapshot/non-release)
+	# See bug #771147 (comment 3) and the old 0ad-data ebuild
+	# Warning: fragile!
+	if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
+		# source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
+		addpredict /proc/self/task
+
+		# Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
+		local archivebuild_input archivebuild_output mod_name
+		for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
+			mod_name="${archivebuild_input##*/}"
+			archivebuild_output="archives/${mod_name}"
+
+			mkdir -p "${archivebuild_output}" || die
+
+			einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
+			LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \
+				-archivebuild="${archivebuild_input}" \
+				-archivebuild-output="${archivebuild_output}/${mod_name}.zip" \
+			|| die "Failed to build assets"
+
+			if [[ -f "${archivebuild_input}/mod.json" ]]; then
+				cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die
+			fi
+
+			rm -r "${archivebuild_input}" || die
+			mv "${archivebuild_output}" "${archivebuild_input}" || die
+		done
+
+		# Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
+		rm binaries/data/config/dev.cfg || die
+		rm -r binaries/data/mods/_test.* || die
+	fi
+}
+
+src_test() {
+	cd binaries/system || die
+	./test -libdir "${S}/binaries/system" || die "Failed tests"
+}
+
+src_install() {
+	newbin binaries/system/pyrogenesis 0ad
+	use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
+
+	# Merged from 0ad-data
+	# bug #771147 (comment 3)
+	insinto /usr/share/${PN}
+	doins -r binaries/data/{l10n,config,mods,tools}
+
+	# Install bundled SpiderMonkey and nvtt
+	# bug #771147 (comment 1)
+	exeinto /usr/$(get_libdir)/${PN}
+	doexe binaries/system/{libCollada,libmozjs78-ps-release}.so
+
+	use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.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/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch b/games-strategy/0ad/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
new file mode 100644
index 00000000000..fe054eccac5
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.24b_alpha-fix-hang-on-quit-without-nvtt.patch
@@ -0,0 +1,98 @@
+# Nils Freydank <holgersson@posteo.de> (2021-06-17)
+Apply the patch from upstream with minor adoption.
+
+Gentoo bug: https://bugs.gentoo.org/779757
+Upstream Bug: https://trac.wildfiregames.com/ticket/6107
+Upstream Patch: https://trac.wildfiregames.com/changeset/25766
+
+--- a/source/graphics/TextureConverter.cpp	(revision 25765)
++++ b/source/graphics/TextureConverter.cpp	(revision 25766)
+@@ -294,9 +294,8 @@
+ 	m_VFS(vfs), m_HighQuality(highQuality), m_Shutdown(false)
+ {
++#if CONFIG2_NVTT
+ 	// Verify that we are running with at least the version we were compiled with,
+ 	// to avoid bugs caused by ABI changes
+-#if CONFIG2_NVTT
+ 	ENSURE(nvtt::version() >= NVTT_VERSION);
+-#endif
+ 
+ 	m_WorkerThread = std::thread(Threading::HandleExceptions<RunThread>::Wrapper, this);
+@@ -304,8 +303,10 @@
+ 	// Maybe we should share some centralised pool of worker threads?
+ 	// For now we'll just stick with a single thread for this specific use.
++#endif // CONFIG2_NVTT
+ }
+ 
+ CTextureConverter::~CTextureConverter()
+ {
++#if CONFIG2_NVTT
+ 	// Tell the thread to shut down
+ 	{
+@@ -327,4 +328,5 @@
+ 	// Wait for it to shut down cleanly
+ 	m_WorkerThread.join();
++#endif // CONFIG2_NVTT
+ }
+ 
+@@ -477,8 +479,8 @@
+ 	return true;
+ 
+-#else
++#else // CONFIG2_NVTT
+ 	LOGERROR("Failed to convert texture \"%s\" (NVTT not available)", src.string8());
+ 	return false;
+-#endif
++#endif // !CONFIG2_NVTT
+ }
+ 
+@@ -529,22 +531,24 @@
+ 	return true;
+ 
+-#else // #if CONFIG2_NVTT
++#else // CONFIG2_NVTT
+ 	return false;
+-#endif
++#endif // !CONFIG2_NVTT
+ }
+ 
+ bool CTextureConverter::IsBusy()
+ {
++#if CONFIG2_NVTT
+ 	std::lock_guard<std::mutex> lock(m_WorkerMutex);
+ 	return !m_RequestQueue.empty();
++#else // CONFIG2_NVTT
++	return false;
++#endif // !CONFIG2_NVTT
+ }
+ 
+ void CTextureConverter::RunThread(CTextureConverter* textureConverter)
+ {
++#if CONFIG2_NVTT
+ 	debug_SetThreadName("TextureConverter");
+ 	g_Profiler2.RegisterCurrentThread("texconv");
+-
+-#if CONFIG2_NVTT
+-
+ 	// Wait until the main thread wakes us up
+ 	while (true)
+@@ -596,4 +600,4 @@
+ 	std::lock_guard<std::mutex> wait_lock(textureConverter->m_WorkerMutex);
+ 	textureConverter->m_Shutdown = false;
+-#endif
+-}
++#endif // CONFIG2_NVTT
++}
+
+--- a/source/graphics/TextureConverter.h	(revision 25765)
++++ b/source/graphics/TextureConverter.h	(revision 25766)
+@@ -208,7 +208,9 @@
+ 	bool m_HighQuality;
+ 
++#if CONFIG2_NVTT
+ 	std::thread m_WorkerThread;
+ 	std::mutex m_WorkerMutex;
+ 	std::condition_variable m_WorkerCV;
++#endif // CONFIG2_NVTT
+ 
+ 	struct ConversionRequest;


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2021-01-17  1:17 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-01-17  1:17 UTC (permalink / raw
  To: gentoo-commits

commit:     9f45cfa2083bf7a6ab3f92241096c11f5adf7691
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Sat Jan 16 04:00:00 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 01:17:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f45cfa2

games-strategy/0ad: Version bump (0.0.24_alpha_pre20210116040036).

Using system version of SpiderMonkey 78 to avoid direct dependency on Python.
(SpiderMonkey >=78.6 required due to bug #759985.)

Bug: https://bugs.gentoo.org/735352
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild  | 157 +++++++++++++++++++++
 games-strategy/0ad/Manifest                        |   1 +
 .../0ad-0.0.24_alpha_pre20210116040036-build.patch | 105 ++++++++++++++
 3 files changed, 263 insertions(+)

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 00000000000..efaa4577774
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild
@@ -0,0 +1,157 @@
+# 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-utils
+
+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 )"
+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}"
+		)
+
+	# 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}
+}
+
+pkg_postinst() {
+	xdg_icon_cache_update
+}
+
+pkg_postrm() {
+	xdg_icon_cache_update
+}

diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest
index 2edf2ff884b..de55f565987 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,2 +1,3 @@
 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

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 00000000000..1e643adb41a
--- /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`


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2015-08-14 23:10 Julian Ospald
  0 siblings, 0 replies; 10+ messages in thread
From: Julian Ospald @ 2015-08-14 23:10 UTC (permalink / raw
  To: gentoo-commits

commit:     add3c0358e800987db772e55d1837eb52fef9819
Author:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 14 22:47:50 2015 +0000
Commit:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
CommitDate: Fri Aug 14 22:47:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=add3c035

games-strategy/0ad: version bump to 0.0.18_alpha

 games-strategy/0ad/0ad-0.0.18_alpha.ebuild         | 143 +++++++++++++++++++++
 games-strategy/0ad/Manifest                        |   1 +
 .../0ad/files/0ad-0.0.18_alpha-gentoo.patch        | 101 +++++++++++++++
 3 files changed, 245 insertions(+)

diff --git a/games-strategy/0ad/0ad-0.0.18_alpha.ebuild b/games-strategy/0ad/0ad-0.0.18_alpha.ebuild
new file mode 100644
index 0000000..258645d
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.18_alpha.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="2.8"
+
+inherit eutils wxwidgets toolchain-funcs gnome2-utils games
+
+MY_P=0ad-${PV/_/-}
+DESCRIPTION="A free, real-time strategy game"
+HOMEPAGE="http://play0ad.com/"
+SRC_URI="mirror://sourceforge/zero-ad/${MY_P}-unix-build.tar.xz"
+
+LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="editor +lobby nvtt pch sound test"
+RESTRICT="test"
+
+RDEPEND="
+	dev-libs/boost
+	dev-libs/icu:=
+	dev-libs/libxml2
+	~games-strategy/0ad-data-${PV}
+	media-libs/libpng:0
+	media-libs/libsdl2[X,opengl,video]
+	net-libs/enet:1.3
+	net-libs/miniupnpc
+	net-misc/curl
+	sys-libs/zlib
+	virtual/jpeg:62
+	virtual/opengl
+	x11-libs/libX11
+	x11-libs/libXcursor
+	editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+	lobby? ( net-libs/gloox )
+	nvtt? ( media-gfx/nvidia-texture-tools )
+	sound? ( media-libs/libvorbis
+		media-libs/openal )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	test? ( dev-lang/perl )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_configure() {
+	local myconf=(
+		--with-system-nvtt
+		--with-system-miniupnpc
+		--minimal-flags
+		--sdl2
+		$(usex nvtt "" "--without-nvtt")
+		$(usex pch "" "--without-pch")
+		$(usex test "" "--without-tests")
+		$(usex sound "" "--without-audio")
+		$(usex editor "--atlas" "")
+		$(usex lobby "" "--without-lobby")
+		--collada
+		--bindir="${GAMES_BINDIR}"
+		--libdir="$(games_get_libdir)"/${PN}
+		--datadir="${GAMES_DATADIR}"/${PN}
+		)
+
+	# stock premake4 does not work, use the shipped one
+	emake -C "${S}"/build/premake/premake4/build/gmake.unix
+
+	# regenerate scripts.c so our patch applies
+	cd "${S}"/build/premake/premake4 || die
+	"${S}"/build/premake/premake4/bin/release/premake4 embed || die
+
+	# rebuild premake again... this is the most stupid build system
+	emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
+	emake -C "${S}"/build/premake/premake4/build/gmake.unix
+
+	# run premake to create build scripts
+	cd "${S}"/build/premake || die
+	"${S}"/build/premake/premake4/bin/release/premake4 \
+		--file="premake4.lua" \
+		--outpath="../workspaces/gcc/" \
+		--platform=$(usex amd64 "x64" "x32") \
+		--os=linux \
+		"${myconf[@]}" \
+		gmake || die "Premake failed"
+}
+
+src_compile() {
+	tc-export AR
+
+	# build bundled and patched spidermonkey
+	cd libraries/source/spidermonkey || die
+	JOBS="${MAKEOPTS}" ./build.sh || die
+	cd "${S}" || die
+
+	# 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() {
+	newgamesbin binaries/system/pyrogenesis 0ad
+	use editor && newgamesbin binaries/system/ActorEditor 0ad-ActorEditor
+
+	insinto "${GAMES_DATADIR}"/${PN}
+	doins -r binaries/data/l10n
+
+	exeinto "$(games_get_libdir)"/${PN}
+	doexe binaries/system/libCollada.so
+	doexe libraries/source/spidermonkey/lib/*.so
+	use editor && doexe binaries/system/libAtlasUI.so
+
+	dodoc binaries/system/readme.txt
+	doicon -s 128 build/resources/${PN}.png
+	make_desktop_entry ${PN}
+
+	prepgamesdirs
+}
+
+pkg_preinst() {
+	games_pkg_preinst
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	games_pkg_postinst
+	gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}

diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest
index 6ff6125..ed1863b 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,2 +1,3 @@
 DIST 0ad-0.0.16-alpha-unix-build.tar.xz 20019680 SHA256 cb965ef7e292bc3a2f1f598a9695e16ff4d786398f384a1ec7d5f9bfe2626de5 SHA512 9fe3440233d9827895b91ade1873afe977d62386a5dd6042d8169b153d576b462381bfc97e637f0b183aff034236380ca6d552ea2755cf08398143ad67121031 WHIRLPOOL 0e2f1ac9799a4b4d4588c2370a78195f2cc415fb2043be815ed2a2f9f179ccd856c405e7c0323f2033d3a6a4d63c08d8d5c8a05b50769ae3b9219717218edef6
 DIST 0ad-0.0.17-alpha-unix-build.tar.xz 19327284 SHA256 ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb SHA512 21133b7f255df73909e0ba72d455ed8d687cdca4a6d28fb04fb2a786ee941d7f4e207b5c245f9bfff1f3e5e10e2ccc932f49587e227982885eef64b4114d02c6 WHIRLPOOL 662e177293ca7add73ca160b67a526aeda6a7a32e26a68fb577376d25db00df9844fe763a2dfcef70f66fc0edd6d2297158251a517deeaa7d7e8292850a8b444
+DIST 0ad-0.0.18-alpha-unix-build.tar.xz 26179952 SHA256 bd2f04d3269ae9af104626827446a89ea4a0dd4859f89539701fd331cbae0397 SHA512 f332780d38e3fc2665a5952ae9cd25ab89508b3b27d810cf1b386d6c6d636aeed306135c37baf6232ba8c0d0e7923ecb0b4fc127a6de5ce1248dfc38158e0c41 WHIRLPOOL 82af33e3ece02885c97c364838de7ff1efb200ca021c94db40dbd0ef877ee07a96dc6a200113e9b459fa441c8168f863d6f6a10bceb7f00a1bc0511b367621c8

diff --git a/games-strategy/0ad/files/0ad-0.0.18_alpha-gentoo.patch b/games-strategy/0ad/files/0ad-0.0.18_alpha-gentoo.patch
new file mode 100644
index 0000000..5c48ec8
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.18_alpha-gentoo.patch
@@ -0,0 +1,101 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Jun 24 18:32:38 UTC 2012
+Subject: build system
+
+* respect flags
+* disable debug build of spidermonkey
+
+--- 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
+ LIBS += `pkg-config libxml-2.0 --libs`
+ INCLUDES += -IFCollada `pkg-config libxml-2.0 --cflags`
+ INCLUDES_TEST := -IFCollada/FColladaTest $(INCLUDES)
+--- build/premake/premake4/src/tools/gcc.lua
++++ build/premake/premake4/src/tools/gcc.lua
+@@ -136,8 +136,6 @@
+ 		if not cfg.flags.Symbols then
+ 			if cfg.system == "macosx" then
+ 				table.insert(result, "-Wl,-x")
+-			else
+-				table.insert(result, "-s")
+ 			end
+ 		end
+ 	
+--- build/premake/premake4/build/gmake.unix/Premake4.make
++++ build/premake/premake4/build/gmake.unix/Premake4.make
+@@ -26,9 +26,9 @@
+   DEFINES   += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+   INCLUDES  += -I../../src/host/lua-5.1.4/src
+   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
+-  CFLAGS    += $(CPPFLAGS) -Wall -Os
+-  CXXFLAGS  += $(CPPFLAGS) -Wall -Os
+-  LDFLAGS   += -s -rdynamic
++  CFLAGS    += $(CPPFLAGS) -Wall
++  CXXFLAGS  += $(CPPFLAGS) -Wall
++  LDFLAGS   += -rdynamic
+   LIBS      += -lm -ldl 
+   RESFLAGS  += $(DEFINES) $(INCLUDES) 
+   LDDEPS    += 
+@@ -48,8 +48,8 @@
+   DEFINES   += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+   INCLUDES  += -I../../src/host/lua-5.1.4/src
+   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
+-  CFLAGS    += $(CPPFLAGS) -Wall -g
+-  CXXFLAGS  += $(CPPFLAGS) -Wall -g
++  CFLAGS    += $(CPPFLAGS) -Wall
++  CXXFLAGS  += $(CPPFLAGS) -Wall
+   LDFLAGS   += -rdynamic
+   LIBS      += -lm -ldl 
+   RESFLAGS  += $(DEFINES) $(INCLUDES) 
+@@ -302,4 +302,4 @@
+ 	$(SILENT) $(CC) $(PCHINCLUDES) $(CFLAGS) -MF $(OBJDIR)/lauxlib.d -MT "$@" -o "$@" -c "$<"
+ 
+ -include $(OBJECTS:%.o=%.d)
+--include $(GCH:%.h.gch=%.h.d)
+\ No newline at end of file
++-include $(GCH:%.h.gch=%.h.d)
+--- libraries/source/spidermonkey/build.sh
++++ libraries/source/spidermonkey/build.sh
+@@ -92,19 +92,7 @@
+ cd mozjs31/js/src
+ 
+ # Clean up data generated by previous builds that could cause problems
+-rm -rf build-debug
+ rm -rf build-release
+-
+-# We want separate debug/release versions of the library, so we have to change
+-# the LIBRARY_NAME for each build.
+-# (We use perl instead of sed so that it works with MozillaBuild on Windows,
+-# which has an ancient sed.)
+-perl -i.bak -pe 's/(LIBRARY_NAME\s+=).*/$1 '\''mozjs31-ps-debug'\''/' moz.build
+-mkdir -p build-debug
+-cd build-debug
+-CXXFLAGS="${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-debug --disable-optimize --enable-js-diagnostics --enable-gczeal # --enable-root-analysis
+-${MAKE} ${MAKE_OPTS}
+-cd ..
+ 
+ perl -i.bak -pe 's/(LIBRARY_NAME\s+=).*/$1 '\''mozjs31-ps-release'\''/' moz.build
+ mkdir -p build-release
+@@ -147,12 +135,9 @@
+ mkdir -p ${INCLUDE_DIR_DEBUG}
+ mkdir -p ${INCLUDE_DIR_RELEASE}
+ cp -R -L mozjs31/js/src/build-release/dist/include/* ${INCLUDE_DIR_RELEASE}/
+-cp -R -L mozjs31/js/src/build-debug/dist/include/* ${INCLUDE_DIR_DEBUG}/
+ 
+ mkdir -p lib/
+-cp -L mozjs31/js/src/build-debug/dist/lib/${LIB_PREFIX}mozjs31-ps-debug${LIB_SRC_SUFFIX} lib/${LIB_PREFIX}mozjs31-ps-debug${LIB_DST_SUFFIX}
+ cp -L mozjs31/js/src/build-release/dist/lib/${LIB_PREFIX}mozjs31-ps-release${LIB_SRC_SUFFIX} lib/${LIB_PREFIX}mozjs31-ps-release${LIB_DST_SUFFIX}
+-cp -L mozjs31/js/src/build-debug/dist/bin/${LIB_PREFIX}mozjs31-ps-debug${DLL_SRC_SUFFIX} ../../../binaries/system/${LIB_PREFIX}mozjs31-ps-debug${DLL_DST_SUFFIX}
+ cp -L mozjs31/js/src/build-release/dist/bin/${LIB_PREFIX}mozjs31-ps-release${DLL_SRC_SUFFIX} ../../../binaries/system/${LIB_PREFIX}mozjs31-ps-release${DLL_DST_SUFFIX}
+ 
+ # Flag that it's already been built successfully so we can skip it next time


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/
@ 2015-08-14 23:10 Julian Ospald
  0 siblings, 0 replies; 10+ messages in thread
From: Julian Ospald @ 2015-08-14 23:10 UTC (permalink / raw
  To: gentoo-commits

commit:     a4a8287805a82348956f05406cda917c5927bf36
Author:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 14 22:49:30 2015 +0000
Commit:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
CommitDate: Fri Aug 14 22:49:30 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4a82878

games-strategy/0ad: rm old

 games-strategy/0ad/0ad-0.0.16_alpha-r2.ebuild      | 141 --------------------
 games-strategy/0ad/0ad-0.0.17_alpha.ebuild         | 144 ---------------------
 games-strategy/0ad/Manifest                        |   2 -
 .../0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch       |  42 ------
 .../0ad/files/0ad-0.0.16_alpha-gentoo.patch        |  93 -------------
 .../0ad/files/0ad-0.0.17_alpha-gentoo.patch        | 100 --------------
 6 files changed, 522 deletions(-)

diff --git a/games-strategy/0ad/0ad-0.0.16_alpha-r2.ebuild b/games-strategy/0ad/0ad-0.0.16_alpha-r2.ebuild
deleted file mode 100644
index 2c1be97..0000000
--- a/games-strategy/0ad/0ad-0.0.16_alpha-r2.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-WX_GTK_VER="2.8"
-
-inherit eutils wxwidgets toolchain-funcs gnome2-utils games
-
-MY_P=0ad-${PV/_/-}
-DESCRIPTION="A free, real-time strategy game"
-HOMEPAGE="http://play0ad.com/"
-SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="editor +lobby pch sound test"
-RESTRICT="test"
-
-RDEPEND="
-	dev-lang/spidermonkey:24
-	dev-libs/boost
-	dev-libs/icu:=
-	dev-libs/libxml2
-	~games-strategy/0ad-data-${PV}
-	media-gfx/nvidia-texture-tools
-	media-libs/libpng:0
-	media-libs/libsdl[X,opengl,video]
-	net-libs/enet:1.3
-	net-libs/miniupnpc
-	net-misc/curl
-	sys-libs/zlib
-	virtual/jpeg
-	virtual/opengl
-	x11-libs/libX11
-	x11-libs/libXcursor
-	editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-	lobby? ( net-libs/gloox )
-	sound? ( media-libs/libogg
-		media-libs/libvorbis
-		media-libs/openal )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	test? ( dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-gentoo.patch \
-		"${FILESDIR}"/${P}-gcc-4.9.patch
-}
-
-src_configure() {
-	local myconf=(
-		--with-system-nvtt
-		--with-system-enet
-		--with-system-miniupnpc
-		--with-system-mozjs24
-		--minimal-flags
-		$(usex pch "" "--without-pch")
-		$(usex test "" "--without-tests")
-		$(usex sound "" "--without-audio")
-		$(usex editor "--atlas" "")
-		$(usex lobby "" "--without-lobby")
-		--collada
-		--bindir="${GAMES_BINDIR}"
-		--libdir="$(games_get_libdir)"/${PN}
-		--datadir="${GAMES_DATADIR}"/${PN}
-		)
-
-	# stock premake4 does not work, use the shipped one
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
-	# regenerate scripts.c so our patch applies
-	cd "${S}"/build/premake/premake4 || die
-	"${S}"/build/premake/premake4/bin/release/premake4 embed || die
-
-	# rebuild premake again... this is the most stupid build system
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
-	# run premake to create build scripts
-	cd "${S}"/build/premake || die
-	"${S}"/build/premake/premake4/bin/release/premake4 \
-		--file="premake4.lua" \
-		--outpath="../workspaces/gcc/" \
-		--platform=$(usex amd64 "x64" "x32") \
-		--os=linux \
-		"${myconf[@]}" \
-		gmake || die "Premake failed"
-}
-
-src_compile() {
-	# 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() {
-	dogamesbin binaries/system/pyrogenesis
-	use editor && dogamesbin binaries/system/ActorEditor
-
-	insinto "${GAMES_DATADIR}"/${PN}
-	doins -r binaries/data/l10n
-
-	exeinto "$(games_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
-	games_make_wrapper ${PN} "${GAMES_BINDIR}/pyrogenesis"
-	use editor &&
-		games_make_wrapper ${PN}-ActorEditor "${GAMES_BINDIR}/ActorEditor"
-	make_desktop_entry ${PN}
-
-	prepgamesdirs
-}
-
-pkg_preinst() {
-	games_pkg_preinst
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	games_pkg_postinst
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}

diff --git a/games-strategy/0ad/0ad-0.0.17_alpha.ebuild b/games-strategy/0ad/0ad-0.0.17_alpha.ebuild
deleted file mode 100644
index c50a532..0000000
--- a/games-strategy/0ad/0ad-0.0.17_alpha.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-WX_GTK_VER="2.8"
-
-inherit eutils wxwidgets toolchain-funcs gnome2-utils games
-
-MY_P=0ad-${PV/_/-}
-DESCRIPTION="A free, real-time strategy game"
-HOMEPAGE="http://play0ad.com/"
-SRC_URI="mirror://sourceforge/zero-ad/${MY_P}-unix-build.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="editor +lobby nvtt pch sound test"
-RESTRICT="test"
-
-RDEPEND="
-	dev-lang/spidermonkey:24[-icu]
-	dev-libs/boost
-	dev-libs/icu:=
-	dev-libs/libxml2
-	~games-strategy/0ad-data-${PV}
-	media-libs/libpng:0
-	media-libs/libsdl2[X,opengl,video]
-	net-libs/enet:1.3
-	net-libs/miniupnpc
-	net-misc/curl
-	sys-libs/zlib
-	virtual/jpeg
-	virtual/opengl
-	x11-libs/libX11
-	x11-libs/libXcursor
-	editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-	lobby? ( net-libs/gloox )
-	nvtt? ( media-gfx/nvidia-texture-tools )
-	sound? ( media-libs/libvorbis
-		media-libs/openal )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	test? ( dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-gentoo.patch
-}
-
-src_configure() {
-	local myconf=(
-		--with-system-nvtt
-		--with-system-miniupnpc
-		--with-system-mozjs24
-		--minimal-flags
-		--sdl2
-		$(usex nvtt "" "--without-nvtt")
-		$(usex pch "" "--without-pch")
-		$(usex test "" "--without-tests")
-		$(usex sound "" "--without-audio")
-		$(usex editor "--atlas" "")
-		$(usex lobby "" "--without-lobby")
-		--collada
-		--bindir="${GAMES_BINDIR}"
-		--libdir="$(games_get_libdir)"/${PN}
-		--datadir="${GAMES_DATADIR}"/${PN}
-		)
-
-	# stock premake4 does not work, use the shipped one
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
-	# regenerate scripts.c so our patch applies
-	cd "${S}"/build/premake/premake4 || die
-	"${S}"/build/premake/premake4/bin/release/premake4 embed || die
-
-	# rebuild premake again... this is the most stupid build system
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
-	emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
-	# run premake to create build scripts
-	cd "${S}"/build/premake || die
-	"${S}"/build/premake/premake4/bin/release/premake4 \
-		--file="premake4.lua" \
-		--outpath="../workspaces/gcc/" \
-		--platform=$(usex amd64 "x64" "x32") \
-		--os=linux \
-		"${myconf[@]}" \
-		gmake || die "Premake failed"
-}
-
-src_compile() {
-	# 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() {
-	dogamesbin binaries/system/pyrogenesis
-	use editor && dogamesbin binaries/system/ActorEditor
-
-	insinto "${GAMES_DATADIR}"/${PN}
-	doins -r binaries/data/l10n
-
-	exeinto "$(games_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
-	games_make_wrapper ${PN} "${GAMES_BINDIR}/pyrogenesis"
-	use editor &&
-		games_make_wrapper ${PN}-ActorEditor "${GAMES_BINDIR}/ActorEditor"
-	make_desktop_entry ${PN}
-
-	prepgamesdirs
-}
-
-pkg_preinst() {
-	games_pkg_preinst
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	einfo
-	elog "It is advised to compile dev-lang/spidermonkey with the"
-	elog "jit USE flag enabled! Otherwise you might experience slowdowns."
-	einfo
-	games_pkg_postinst
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}

diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest
index ed1863b..c04c04a 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,3 +1 @@
-DIST 0ad-0.0.16-alpha-unix-build.tar.xz 20019680 SHA256 cb965ef7e292bc3a2f1f598a9695e16ff4d786398f384a1ec7d5f9bfe2626de5 SHA512 9fe3440233d9827895b91ade1873afe977d62386a5dd6042d8169b153d576b462381bfc97e637f0b183aff034236380ca6d552ea2755cf08398143ad67121031 WHIRLPOOL 0e2f1ac9799a4b4d4588c2370a78195f2cc415fb2043be815ed2a2f9f179ccd856c405e7c0323f2033d3a6a4d63c08d8d5c8a05b50769ae3b9219717218edef6
-DIST 0ad-0.0.17-alpha-unix-build.tar.xz 19327284 SHA256 ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb SHA512 21133b7f255df73909e0ba72d455ed8d687cdca4a6d28fb04fb2a786ee941d7f4e207b5c245f9bfff1f3e5e10e2ccc932f49587e227982885eef64b4114d02c6 WHIRLPOOL 662e177293ca7add73ca160b67a526aeda6a7a32e26a68fb577376d25db00df9844fe763a2dfcef70f66fc0edd6d2297158251a517deeaa7d7e8292850a8b444
 DIST 0ad-0.0.18-alpha-unix-build.tar.xz 26179952 SHA256 bd2f04d3269ae9af104626827446a89ea4a0dd4859f89539701fd331cbae0397 SHA512 f332780d38e3fc2665a5952ae9cd25ab89508b3b27d810cf1b386d6c6d636aeed306135c37baf6232ba8c0d0e7923ecb0b4fc127a6de5ce1248dfc38158e0c41 WHIRLPOOL 82af33e3ece02885c97c364838de7ff1efb200ca021c94db40dbd0ef877ee07a96dc6a200113e9b459fa441c8168f863d6f6a10bceb7f00a1bc0511b367621c8

diff --git a/games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch b/games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch
deleted file mode 100644
index 5b17120..0000000
--- a/games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: /ps/trunk/source/lib/allocators/headerless.cpp
-===================================================================
---- /ps/trunk/source/lib/allocators/headerless.cpp	(revision 15333)
-+++ /ps/trunk/source/lib/allocators/headerless.cpp	(revision 15334)
-@@ -55,10 +55,12 @@
- 	}
- 
--	FreedBlock(uintptr_t id, size_t size)
--		:  m_magic(s_magic), m_size(size), m_id(id)
--	{
--	}
--
--	~FreedBlock()
-+	void Setup(uintptr_t id, size_t size)
-+	{
-+		m_magic = s_magic;
-+		m_size = size;
-+		m_id = id;
-+	}
-+
-+	void Reset()
- 	{
- 		// clear all fields to prevent accidental reuse
-@@ -411,6 +413,7 @@
- 	FreedBlock* WriteTags(u8* p, size_t size)
- 	{
--		FreedBlock* freedBlock = new(p) FreedBlock(s_headerId, size);
--		(void)new(Footer(freedBlock)) FreedBlock(s_footerId, size);
-+		FreedBlock* freedBlock = (FreedBlock*)p;
-+		freedBlock->Setup(s_headerId, size);
-+		Footer(freedBlock)->Setup(s_footerId, size);
- 
- 		m_freeBlocks++;
-@@ -431,6 +434,6 @@
- 
- 		FreedBlock* footer = Footer(freedBlock);
--		freedBlock->~FreedBlock();
--		footer->~FreedBlock();
-+		freedBlock->Reset();
-+		footer->Reset();
- 	}
- 

diff --git a/games-strategy/0ad/files/0ad-0.0.16_alpha-gentoo.patch b/games-strategy/0ad/files/0ad-0.0.16_alpha-gentoo.patch
deleted file mode 100644
index 30192fb..0000000
--- a/games-strategy/0ad/files/0ad-0.0.16_alpha-gentoo.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Sun Jun 24 18:32:38 UTC 2012
-Subject: build system
-
-respect flags
-let stripping be handled by the system
-
-fix minimal-flags option:
-	leave -fvisibility=hidden active
-	leave conditional -fpc-preprocess active
-
---- build/premake/premake4.lua
-+++ build/premake/premake4.lua
-@@ -145,7 +145,7 @@
- 
- function project_set_build_flags()
- 
--	flags { "Symbols", "NoEditAndContinue" }
-+	flags { "NoEditAndContinue" }
- 	if not _OPTIONS["icc"] and (os.is("windows") or not _OPTIONS["minimal-flags"]) then
- 		-- adds the -Wall compiler flag
- 		flags { "ExtraWarnings" } -- this causes far too many warnings/remarks on ICC
-@@ -337,13 +337,11 @@
- 			end
- 		end
- 
--		if not _OPTIONS["minimal-flags"] then
- 			buildoptions {
- 				-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
- 				-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
- 				"-fvisibility=hidden"
- 			}
--		end
- 
- 		if _OPTIONS["bindir"] then
- 			defines { "INSTALLED_BINDIR=" .. _OPTIONS["bindir"] }
---- libraries/source/fcollada/src/Makefile
-+++ libraries/source/fcollada/src/Makefile
-@@ -9,8 +9,8 @@
- 
- 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 := -O1 -DNDEBUG -DRETAIL
-+CXXFLAGS_DEBUG := -D_DEBUG -DRETAIL
-+CXXFLAGS_RELEASE := -DNDEBUG -DRETAIL
- # (-O2 with gcc 4.3 causes linker errors when using this library, for unknown reasons, so stick with -O1 until gcc >4.3 is typical.)
- CXXFLAGS_TEST := -O0 -g -D_DEBUG
- LIBS += `pkg-config libxml-2.0 --libs`
---- build/premake/premake4/src/tools/gcc.lua
-+++ build/premake/premake4/src/tools/gcc.lua
-@@ -136,8 +136,6 @@
- 		if not cfg.flags.Symbols then
- 			if cfg.system == "macosx" then
- 				table.insert(result, "-Wl,-x")
--			else
--				table.insert(result, "-s")
- 			end
- 		end
- 	
---- build/premake/premake4/build/gmake.unix/Premake4.make
-+++ build/premake/premake4/build/gmake.unix/Premake4.make
-@@ -26,9 +26,9 @@
-   DEFINES   += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-   INCLUDES  += -I../../src/host/lua-5.1.4/src
-   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
--  CFLAGS    += $(CPPFLAGS) -Wall -Os
--  CXXFLAGS  += $(CPPFLAGS) -Wall -Os
--  LDFLAGS   += -s -rdynamic
-+  CFLAGS    += $(CPPFLAGS) -Wall
-+  CXXFLAGS  += $(CPPFLAGS) -Wall
-+  LDFLAGS   += -rdynamic
-   LIBS      += -lm -ldl 
-   RESFLAGS  += $(DEFINES) $(INCLUDES) 
-   LDDEPS    += 
-@@ -48,8 +48,8 @@
-   DEFINES   += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-   INCLUDES  += -I../../src/host/lua-5.1.4/src
-   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
--  CFLAGS    += $(CPPFLAGS) -Wall -g
--  CXXFLAGS  += $(CPPFLAGS) -Wall -g
-+  CFLAGS    += $(CPPFLAGS) -Wall
-+  CXXFLAGS  += $(CPPFLAGS) -Wall
-   LDFLAGS   += -rdynamic
-   LIBS      += -lm -ldl 
-   RESFLAGS  += $(DEFINES) $(INCLUDES) 
-@@ -302,4 +302,4 @@
- 	$(SILENT) $(CC) $(PCHINCLUDES) $(CFLAGS) -MF $(OBJDIR)/lauxlib.d -MT "$@" -o "$@" -c "$<"
- 
- -include $(OBJECTS:%.o=%.d)
---include $(GCH:%.h.gch=%.h.d)
-\ No newline at end of file
-+-include $(GCH:%.h.gch=%.h.d)

diff --git a/games-strategy/0ad/files/0ad-0.0.17_alpha-gentoo.patch b/games-strategy/0ad/files/0ad-0.0.17_alpha-gentoo.patch
deleted file mode 100644
index 45233ab..0000000
--- a/games-strategy/0ad/files/0ad-0.0.17_alpha-gentoo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Sun Jun 24 18:32:38 UTC 2012
-Subject: build system
-
-respect flags
-let stripping be handled by the system
-
-fix minimal-flags option:
-	leave -fvisibility=hidden active
-	leave conditional -fpc-preprocess active
-
---- build/premake/premake4.lua
-+++ build/premake/premake4.lua
-@@ -177,7 +177,7 @@
- 
- function project_set_build_flags()
- 
--	flags { "Symbols", "NoEditAndContinue" }
-+	flags { "NoEditAndContinue" }
- 	if cc ~= "icc" and (os.is("windows") or not _OPTIONS["minimal-flags"]) then
- 		-- adds the -Wall compiler flag
- 		flags { "ExtraWarnings" } -- this causes far too many warnings/remarks on ICC
-@@ -366,13 +366,11 @@
- 			end
- 		end
- 
--		if not _OPTIONS["minimal-flags"] then
--			buildoptions {
--				-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
--				-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
--				"-fvisibility=hidden"
--			}
--		end
-+		buildoptions {
-+			-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
-+			-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
-+			"-fvisibility=hidden"
-+		}
- 
- 		if _OPTIONS["bindir"] then
- 			defines { "INSTALLED_BINDIR=" .. _OPTIONS["bindir"] }
---- 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
- LIBS += `pkg-config libxml-2.0 --libs`
- INCLUDES += -IFCollada `pkg-config libxml-2.0 --cflags`
- INCLUDES_TEST := -IFCollada/FColladaTest $(INCLUDES)
---- build/premake/premake4/src/tools/gcc.lua
-+++ build/premake/premake4/src/tools/gcc.lua
-@@ -136,8 +136,6 @@
- 		if not cfg.flags.Symbols then
- 			if cfg.system == "macosx" then
- 				table.insert(result, "-Wl,-x")
--			else
--				table.insert(result, "-s")
- 			end
- 		end
- 	
---- build/premake/premake4/build/gmake.unix/Premake4.make
-+++ build/premake/premake4/build/gmake.unix/Premake4.make
-@@ -26,9 +26,9 @@
-   DEFINES   += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-   INCLUDES  += -I../../src/host/lua-5.1.4/src
-   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
--  CFLAGS    += $(CPPFLAGS) -Wall -Os
--  CXXFLAGS  += $(CPPFLAGS) -Wall -Os
--  LDFLAGS   += -s -rdynamic
-+  CFLAGS    += $(CPPFLAGS) -Wall
-+  CXXFLAGS  += $(CPPFLAGS) -Wall
-+  LDFLAGS   += -rdynamic
-   LIBS      += -lm -ldl 
-   RESFLAGS  += $(DEFINES) $(INCLUDES) 
-   LDDEPS    += 
-@@ -48,8 +48,8 @@
-   DEFINES   += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-   INCLUDES  += -I../../src/host/lua-5.1.4/src
-   CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
--  CFLAGS    += $(CPPFLAGS) -Wall -g
--  CXXFLAGS  += $(CPPFLAGS) -Wall -g
-+  CFLAGS    += $(CPPFLAGS) -Wall
-+  CXXFLAGS  += $(CPPFLAGS) -Wall
-   LDFLAGS   += -rdynamic
-   LIBS      += -lm -ldl 
-   RESFLAGS  += $(DEFINES) $(INCLUDES) 
-@@ -302,4 +302,4 @@
- 	$(SILENT) $(CC) $(PCHINCLUDES) $(CFLAGS) -MF $(OBJDIR)/lauxlib.d -MT "$@" -o "$@" -c "$<"
- 
- -include $(OBJECTS:%.o=%.d)
---include $(GCH:%.h.gch=%.h.d)
-\ No newline at end of file
-+-include $(GCH:%.h.gch=%.h.d)


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-06-16 22:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-16 22:34 [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/files/, games-strategy/0ad/ James Le Cuirot
  -- strict thread matches above, loose matches on Subject: below --
2024-05-28  1:45 Sam James
2023-08-22 13:12 Andrew Ammerlaan
2022-06-07  0:41 Sam James
2022-02-07  4:31 Sam James
2022-02-07  4:31 Sam James
2021-06-17 23:24 Sam James
2021-01-17  1:17 Sam James
2015-08-14 23:10 Julian Ospald
2015-08-14 23:10 Julian Ospald

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox