commit:     7ee3c9f33f59cef413748b29368f4f2bcb448e8a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 22 11:45:25 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May  1 11:36:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ee3c9f3

games-strategy/0ad: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/41697
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild      | 279 ---------------------
 games-strategy/0ad/Manifest                        |   4 -
 .../0ad/files/0ad-0.0.24b_alpha-respect-tc.patch   |  32 ---
 .../files/0ad-0.0.25b_alpha-fix-setuptools.patch   | 188 --------------
 ...-0.0.26_alpha-add-missing-cstdint-include.patch |  29 ---
 .../0ad/files/0ad-0.0.26_alpha-boost-1.85.patch    |  32 ---
 .../0ad/files/0ad-0.0.26_alpha-libxml2-2.12.patch  | 274 --------------------
 .../0ad/files/0ad-0.0.26_alpha-miniupnpc.patch     |  38 ---
 8 files changed, 876 deletions(-)

diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild 
b/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild
deleted file mode 100644
index 3f85989916d2..000000000000
--- a/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 2014-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-WX_GTK_VER="3.0-gtk3"
-# In alpha26 bundled spidermonkey-78.6.0 does not build with python 3.11.
-PYTHON_COMPAT=( python3_10 )
-
-# rust is for bundled SpiderMonkey.
-inherit desktop flag-o-matic toolchain-funcs multiprocessing python-any-r1 
rust 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 with app-crypt/minisign which is not supported
-# by IUSE="verify-sig", bug #783066. As a workaround the minisign key
-# is hardcoded and verifed manually in this ebuild.
-#
-# The public key can be found upstream - last update was w/ alpha 26:
-# https://trac.wildfiregames.com/wiki/VerifyingYourDownloads
-MINISIGN_KEY="RWTWLbO12+ig3lUExIor3xd6DdZaYFEozn8Bu8nIzY3ImuRYQszIQyyy"
-
-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 "
-       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" # 8795916 KiB (8.3 GiB) for alpha 26
-CHECKREQS_DISK_USR="3500M" # 3555340 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"
-
-# Build-time Python dependency is for SM, too.
-BDEPEND="
-       ${PYTHON_DEPS}
-       >=dev-util/premake-5.0.0_alpha12:5
-       virtual/pkgconfig
-       test? ( dev-lang/perl )
-"
-
-# For IUSE="verify-sig", see note about SRC_URI block.
-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
-       # https://code.wildfiregames.com/D4997
-       "${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
-       "${FILESDIR}"/${P}-miniupnpc.patch
-)
-
-pkg_setup() {
-       use editor && setup-wxwidgets
-
-       python-any-r1_pkg_setup
-       rust_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
-
-       # https://bugs.gentoo.org/859244
-       filter-lto
-
-       # 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/Manifest b/games-strategy/0ad/Manifest
index 22eeee97a103..6a43b7ed95fb 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,7 +1,3 @@
-DIST 0ad-0.0.26-alpha-unix-build.tar.xz 75599800 BLAKE2B 
ddd589840b0dacee2377ff4e5624f69646b92da4217015d788c6abec097578e44aee6641b6a6945d15f50d8e50673a1d44587c2faf02278d981a0ed30c950214
 SHA512 
aaf647d5d8454c244015d2a198beeaaebc571a5bc96446f3acff8dbd05f9843029c500bf4162651a5e1fcdb42bd5fb5b4f5c512c78372479fbd8565dd093f272
-DIST 0ad-0.0.26-alpha-unix-build.tar.xz.minisig 333 BLAKE2B 
9f3146abda592fe6ab9433f6ee30060bcd4c5b594e00cb3fccc0aebb74652f3bc2ddd7b19a296da7ca13126ea9cc0337750f859e24f46adfcb84272bd2cce452
 SHA512 
eda542c1c363c7c0e6b235e6d8dfbd96d1c1e7cfca408b7215cf247b96c9f42b8bc206bbb4dd48dc41ee373db17d4a76cba940e454840dc41638dd572c580850
-DIST 0ad-0.0.26-alpha-unix-data.tar.xz 1351511480 BLAKE2B 
2f483593b79a6ae87d7582625e89c890cfcf4ad7116348b184dae6c47a814d95a7b9f3018cb79e8f024a61c647abd39d6faf5ad3d3fcbb0c7a0583d0479d9b18
 SHA512 
8fe29fce68737d5b7001c8c2a7198766583b22556129cd2d927823da9b2c58f224fb1207f35bd03abea9380cf24d00ab6257b0dba86ce3ad1f357d7006f051d6
-DIST 0ad-0.0.26-alpha-unix-data.tar.xz.minisig 332 BLAKE2B 
fb4ec1bcabad79052a5e391557623ad61234d4948ec919d9a79011037855b6c7c94445d8f1667f1725bf80d15d66d1aa32c4e2b259831fbe088fe79e800515b3
 SHA512 
6dd55dda4e6cd52642b331aa571bc4ccfe30a33ad12a5d3ccf51c708d05dd74bf3234ca722c2a6501ba797bc1f8fa7c7aeb4d836dc4792bfd0c6bbccdc2c1237
 DIST 0ad-0.27.0-unix-build.tar.xz 152170976 BLAKE2B 
85ff5b8090791cc2b8fd32cd86c58581b42c2be10f4cf7a15a2ab6f623dbfe1df1b87eab396d1030d3f8936b890f89b383e190800e452c98e22d4501bfe88694
 SHA512 
c22dc99f873924dab21737a9ac2d85c5a250acd094d61e15ce1b196dbd2d9315f0d31712cc6056b1bfc32aebb4e6c5beaa60bde4e05cb70aa662dea28e47210e
 DIST 0ad-0.27.0-unix-build.tar.xz.minisig 327 BLAKE2B 
c8cfc6654f1fb04f513512fa6dd9168864434ca15a77584a670d294a8d667529b43ba26779aba763354b069dd1893ce85af856e382fc41d11493ec5af769fc06
 SHA512 
cb791abdc8076a6e9823f1d732869c3757277f2980b42c028638bf7ee98e04cf65614fc93dc56e6b4ae8287826e02338d9746d0cc228d23922f2d005db94f459
 DIST 0ad-0.27.0-unix-data.tar.xz 1367701984 BLAKE2B 
d9e745352c792a959b4a2e04ac833bebf29f86de14abe17e5dbfd4a7e4dfeb4d0cdf7487304fec5bff7041995d7f471abf09cd9295386f2eb9932efd9abf67fb
 SHA512 
744be28da72c155591ee1780e9b6ed679ba4dbb3a991ed5e9faf6cb3dec769323c73cf8fec343743834491433166bb19b7bb4085da1a3e033b5e06fde001a27f

diff --git a/games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch 
b/games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch
deleted file mode 100644
index 7503ffc001b9..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/libraries/source/fcollada/src/Makefile
-+++ b/libraries/source/fcollada/src/Makefile
-@@ -7,6 +7,7 @@
-       PIC_FLAGS ?= -fpic
- endif
- 
-+AR? ?= ar
- CXX ?= g++
- CXXFLAGS += -fvisibility=hidden -W -Wall -Wno-unused-parameter 
-Wno-unused-function $(OS_DEFINE) $(PIC_FLAGS) $(CPPFLAGS)
- CXXFLAGS_DEBUG := -D_DEBUG -DRETAIL
-@@ -16,6 +17,7 @@
- LIBS += `pkg-config libxml-2.0 --libs`
- INCLUDES += -IFCollada `pkg-config libxml-2.0 --cflags`
- INCLUDES_TEST := -IFCollada/FColladaTest $(INCLUDES)
-+RANLIB ?= ranlib
- 
- # FCollada is not aliasing-safe, so disallow dangerous optimisations
- # (TODO: It'd be nice to fix FCollada, but that looks hard)
-@@ -246,11 +248,11 @@
- 
- output/libFColladaSD.a: $(OBJECTS_DEBUG) | output_dirs
-       @echo "$@"
--      @ar -cr $@ $(OBJECTS_DEBUG); ranlib $@
-+      @$(AR) -cr $@ $(OBJECTS_DEBUG); $(RANLIB) $@
- 
- output/libFColladaSR.a: $(OBJECTS_RELEASE) | output_dirs
-       @echo "$@"
--      @ar -cr $@ $(OBJECTS_RELEASE); ranlib $@
-+      @$(AR) -cr $@ $(OBJECTS_RELEASE); $(RANLIB) $@
- 
- output/FColladaTest: $(OBJECTS_TEST) | output_dirs
-       $(CXX) -o $@  $(OBJECTS_TEST) $(LIBS) $(LDFLAGS_TEST)

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
deleted file mode 100644
index ea0626fadadd..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-setuptools.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-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
-

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
deleted file mode 100644
index db3fe2ebfc09..000000000000
--- 
a/games-strategy/0ad/files/0ad-0.0.26_alpha-add-missing-cstdint-include.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-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)

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
deleted file mode 100644
index cddec5e2a86c..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.26_alpha-boost-1.85.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-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()));
-       }

diff --git a/games-strategy/0ad/files/0ad-0.0.26_alpha-libxml2-2.12.patch 
b/games-strategy/0ad/files/0ad-0.0.26_alpha-libxml2-2.12.patch
deleted file mode 100644
index 08ee1a11fdb2..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.26_alpha-libxml2-2.12.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-https://bugs.gentoo.org/924387
-https://code.wildfiregames.com/D5219
-
-Index: ps/trunk/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp
-===================================================================
---- ps/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp
-+++ ps/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp
-@@ -2,7 +2,7 @@
-       Copyright (C) 2005-2007 Feeling Software Inc.
-       Portions of the code are:
-       Copyright (C) 2005-2007 Sony Computer Entertainment America
--      
-+
-       MIT License: http://www.opensource.org/licenses/mit-license.php
- */
- 
-@@ -13,10 +13,12 @@
- #include "FUFile.h"
- #include "FCDocument/FCDocument.h"
- 
-+#include <libxml/parser.h>
-+
- #define MAX_FILE_SIZE 10240000
- //
- // FUXmlDocument
--// 
-+//
- 
- FUXmlDocument::FUXmlDocument(FUFileManager* manager, const fchar* _filename, 
bool _isParsing)
- :     isParsing(_isParsing), filename(_filename)
-Index: 
ps/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp
-===================================================================
---- 
ps/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp
-+++ 
ps/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp
-@@ -2,7 +2,7 @@
-       Copyright (C) 2005-2007 Feeling Software Inc.
-       Portions of the code are:
-       Copyright (C) 2005-2007 Sony Computer Entertainment America
--      
-+
-       MIT License: http://www.opensource.org/licenses/mit-license.php
- */
- 
-@@ -77,6 +77,7 @@
- #include "FCDocument/FCDVersion.h"
- #include "FUtils/FUXmlDocument.h"
- 
-+#include <libxml/xmlIO.h>
- 
- //
- // Constants
-@@ -442,7 +443,7 @@
-       }
- 
-       if (status) FUError::Error(FUError::DEBUG_LEVEL, 
FUError::DEBUG_LOAD_SUCCESSFUL);
--      return status;  
-+      return status;
- }
- 
- bool FArchiveXML::ExportFile(FCDocument* fcdocument, const fchar* filePath)
-@@ -515,13 +516,13 @@
-       xmlOutputBufferPtr buf = xmlAllocOutputBuffer(NULL);
-       xmlNodeDumpOutput(buf, rootNode->doc, rootNode, 0, 0, NULL);
- 
--#ifdef LIBXML2_NEW_BUFFER
--      outData.resize(xmlOutputBufferGetSize(buf) * sizeof(xmlChar));
--      memcpy(outData.begin(), xmlOutputBufferGetContent(buf), outData.size());
--#else
--      outData.resize(buf->buffer->use * sizeof(xmlChar));
--      memcpy(outData.begin(), buf->buffer->content, outData.size());
--#endif
-+#ifdef LIBXML2_NEW_BUFFER
-+      outData.resize(xmlOutputBufferGetSize(buf) * sizeof(xmlChar));
-+      memcpy(outData.begin(), xmlOutputBufferGetContent(buf), outData.size());
-+#else
-+      outData.resize(buf->buffer->use * sizeof(xmlChar));
-+      memcpy(outData.begin(), buf->buffer->content, outData.size());
-+#endif
- 
-       xmlOutputBufferClose(buf);
-       daeDocument.ReleaseXmlData();
-@@ -591,7 +592,7 @@
-               else if (IsEquivalent(child->name, 
DAE_LIBRARY_PMATERIAL_ELEMENT)) n.order = PHYSICS_MATERIAL;
-               else if (IsEquivalent(child->name, DAE_LIBRARY_PMODEL_ELEMENT)) 
n.order = PHYSICS_MODEL;
-               else if (IsEquivalent(child->name, DAE_LIBRARY_PSCENE_ELEMENT)) 
n.order = PHYSICS_SCENE;
--              else if (IsEquivalent(child->name, DAE_ASSET_ELEMENT)) 
-+              else if (IsEquivalent(child->name, DAE_ASSET_ELEMENT))
-               {
-                       // Read in the asset information
-                       status &= 
(FArchiveXML::LoadAsset(theDocument->GetAsset(), child));
-@@ -679,9 +680,9 @@
-               case IMAGE: status &= 
(FArchiveXML::LoadImageLibrary(theDocument->GetImageLibrary(), n.node)); break;
-               case LIGHT: status &= 
(FArchiveXML::LoadLightLibrary(theDocument->GetLightLibrary(), n.node)); break;
-               case MATERIAL: status &= 
(FArchiveXML::LoadMaterialLibrary(theDocument->GetMaterialLibrary(), n.node)); 
break;
--              case PHYSICS_MODEL: 
-+              case PHYSICS_MODEL:
-                       {
--                              status &= 
(FArchiveXML::LoadPhysicsModelLibrary(theDocument->GetPhysicsModelLibrary(), 
n.node)); 
-+                              status &= 
(FArchiveXML::LoadPhysicsModelLibrary(theDocument->GetPhysicsModelLibrary(), 
n.node));
-                               size_t physicsModelCount = 
theDocument->GetPhysicsModelLibrary()->GetEntityCount();
-                               for (size_t physicsModelCounter = 0; 
physicsModelCounter < physicsModelCount; physicsModelCounter++)
-                               {
-@@ -790,7 +791,7 @@
-       {
-               // [staylor] Why is this done here?  Shouldn't it be in 
FCDExternalReferenceManager?
-               // If it is, change it, either way delete the FUAssert (thanks)
--              //FUAssert(false == true, ;);  
-+              // FUAssert(false == true, ;);
-               FArchiveXML::RegisterLoadedDocument(theDocument);
-               
//FCDExternalReferenceManager::RegisterLoadedDocument(theDocument);
-       }
-@@ -891,14 +892,14 @@
-                       // Export the emitter library
-                       xmlNode* libraryNode = AddChild(typedTechniqueNode, 
DAE_LIBRARY_EMITTER_ELEMENT);
- 
--                      if 
(!theDocument->GetEmitterLibrary()->GetTransientFlag()) 
-+                      if 
(!theDocument->GetEmitterLibrary()->GetTransientFlag())
-                               
FArchiveXML::WriteLibrary(theDocument->GetEmitterLibrary(), libraryNode);
-               }
- 
-               // Write out the animations
-               if (animationLibraryNode != NULL)
-               {
--                      if 
(!theDocument->GetAnimationLibrary()->GetTransientFlag()) 
-+                      if 
(!theDocument->GetAnimationLibrary()->GetTransientFlag())
-                               
FArchiveXML::WriteLibrary(theDocument->GetAnimationLibrary(), 
animationLibraryNode);
-               }
- 
-@@ -978,7 +979,7 @@
-       {
-               return FArchiveXML::WriteSwitch(object, 
&objectType->GetParent(), node);
-       }
--      else 
-+      else
-       {
-               FUBreak;
-               return NULL;
-@@ -986,7 +987,7 @@
- }
- 
- bool FArchiveXML::LoadAnimationLibrary(FCDObject* object, xmlNode* node)
--{ 
-+{
-       return FArchiveXML::LoadLibrary<FCDAnimation>(object, node);
- }
- 
-@@ -996,17 +997,17 @@
- }
- 
- bool FArchiveXML::LoadCameraLibrary(FCDObject* object, xmlNode* node)
--{ 
-+{
-       return FArchiveXML::LoadLibrary<FCDCamera>(object, node);
- }
- 
- bool FArchiveXML::LoadControllerLibrary(FCDObject* object, xmlNode* node)
--{ 
-+{
-       return FArchiveXML::LoadLibrary<FCDController>(object, node);
- }
- 
- bool FArchiveXML::LoadEffectLibrary(FCDObject* object, xmlNode* node)
--{ 
-+{
-       return FArchiveXML::LoadLibrary<FCDEffect>(object, node);
- }
- 
-@@ -1016,7 +1017,7 @@
- }
- 
- bool FArchiveXML::LoadForceFieldLibrary(FCDObject* object, xmlNode* node)
--{ 
-+{
-       return FArchiveXML::LoadLibrary<FCDForceField>(object, node);
- }
- 
-Index: ps/source/collada/CommonConvert.cpp
-===================================================================
---- ps/source/collada/CommonConvert.cpp
-+++ ps/source/collada/CommonConvert.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2018 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
-@@ -28,8 +28,9 @@
- #include "FUtils/FUDaeSyntax.h"
- #include "FUtils/FUFileManager.h"
- 
--#include <cassert>
- #include <algorithm>
-+#include <cassert>
-+#include <libxml/xmlerror.h>
- 
- void require_(int line, bool value, const char* type, const char* message)
- {
-Index: ps/source/collada/XMLFix.cpp
-===================================================================
---- ps/source/collada/XMLFix.cpp
-+++ ps/source/collada/XMLFix.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2009 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
-@@ -23,6 +23,8 @@
- 
- #include "FUtils/FUXmlParser.h"
- 
-+#include <libxml/parser.h>
-+
- /*
- 
- Things that are fixed here:
-Index: ps/source/ps/XML/RelaxNG.cpp
-===================================================================
---- ps/source/ps/XML/RelaxNG.cpp
-+++ ps/source/ps/XML/RelaxNG.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2021 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
-@@ -25,9 +25,11 @@
- #include "ps/CStr.h"
- #include "ps/Filesystem.h"
- 
-+#include <libxml/parser.h>
- #include <libxml/relaxng.h>
- #include <map>
- #include <mutex>
-+#include <type_traits>
- 
- TIMER_ADD_CLIENT(xml_validation);
- 
-@@ -46,7 +48,8 @@
-       g_SchemaCache.clear();
- }
- 
--static void relaxNGErrorHandler(void* UNUSED(userData), xmlErrorPtr error)
-+static void relaxNGErrorHandler(void* UNUSED(userData),
-+      std::conditional_t<LIBXML_VERSION >= 21200, const xmlError, xmlError>* 
error)
- {
-       // Strip a trailing newline
-       std::string message = error->message;
-Index: ps/source/ps/XML/Xeromyces.cpp
-===================================================================
---- ps/source/ps/XML/Xeromyces.cpp
-+++ ps/source/ps/XML/Xeromyces.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2021 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
-@@ -33,12 +33,14 @@
- #include "Xeromyces.h"
- 
- #include <libxml/parser.h>
-+#include <type_traits>
- 
- static std::mutex g_ValidatorCacheLock;
- static std::map<const std::string, RelaxNGValidator> g_ValidatorCache;
- static bool g_XeromycesStarted = false;
- 
--static void errorHandler(void* UNUSED(userData), xmlErrorPtr error)
-+static void errorHandler(void* UNUSED(userData),
-+      std::conditional_t<LIBXML_VERSION >= 21200, const xmlError, xmlError>* 
error)
- {
-       // Strip a trailing newline
-       std::string message = error->message;

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
deleted file mode 100644
index f17cee4e36f2..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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:


Reply via email to