From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/, games-strategy/0ad/files/
Date: Thu, 01 May 2025 11:36:57 +0000 (UTC) [thread overview]
Message-ID: <1746099363.7ee3c9f33f59cef413748b29368f4f2bcb448e8a.mgorny@gentoo> (raw)
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:
next reply other threads:[~2025-05-01 11:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-01 11:36 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-04-01 6:46 [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/, games-strategy/0ad/files/ Sam James
2021-03-01 10:56 Sam James
2021-03-01 10:56 Sam James
2019-12-12 16:16 Lars Wendler
2017-07-27 13:38 Lars Wendler
2016-11-09 23:41 Lars Wendler
2016-06-07 22:27 Michael Sterrett
2016-05-25 22:17 Michael Sterrett
2015-10-02 8:10 Lars Wendler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1746099363.7ee3c9f33f59cef413748b29368f4f2bcb448e8a.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox