From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id F04761584AD for ; Thu, 01 May 2025 11:37:22 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id DB9BC343078 for ; Thu, 01 May 2025 11:37:22 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 6452D110480; Thu, 01 May 2025 11:37:00 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 5920C110480 for ; Thu, 01 May 2025 11:37:00 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CF3D534168D for ; Thu, 01 May 2025 11:36:59 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 18AC72699 for ; Thu, 01 May 2025 11:36:57 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1746099363.7ee3c9f33f59cef413748b29368f4f2bcb448e8a.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: games-strategy/0ad/, games-strategy/0ad/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild games-strategy/0ad/Manifest games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch games-strategy/0ad/files/0ad-0.0.25b_alpha-fix-setuptools.patch games-strategy/0ad/files/0ad-0.0.26_alpha-add-missing-cstdint-include.patch games-strategy/0ad/files/0ad-0.0.26_alpha-boost-1.85.patch games-strategy/0ad/files/0ad-0.0.26_alpha-libxml2-2.12.patch games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch X-VCS-Directories: games-strategy/0ad/ games-strategy/0ad/files/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 7ee3c9f33f59cef413748b29368f4f2bcb448e8a X-VCS-Branch: master Date: Thu, 01 May 2025 11:36:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 1a9d476d-b2bd-494f-91a7-3403bb7ef0cc X-Archives-Hash: 3df9c74778ad7dc07b5bdfac69f74bbf commit: 7ee3c9f33f59cef413748b29368f4f2bcb448e8a Author: Michał Górny gentoo org> AuthorDate: Tue Apr 22 11:45:25 2025 +0000 Commit: Michał Górny gentoo 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 gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/41697 Signed-off-by: Michał Górny 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 -+#include -+#include -+ -+// Opens namespace AtlasMessage, closes it on second inclusion! - #ifndef MESSAGES_SKIP_SETUP - #include "MessagesSetup.h" - #endif - --#include --#include -- - // 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 -+ - #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 - - // - // 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(object, node); - } - -@@ -996,17 +997,17 @@ - } - - bool FArchiveXML::LoadCameraLibrary(FCDObject* object, xmlNode* node) --{ -+{ - return FArchiveXML::LoadLibrary(object, node); - } - - bool FArchiveXML::LoadControllerLibrary(FCDObject* object, xmlNode* node) --{ -+{ - return FArchiveXML::LoadLibrary(object, node); - } - - bool FArchiveXML::LoadEffectLibrary(FCDObject* object, xmlNode* node) --{ -+{ - return FArchiveXML::LoadLibrary(object, node); - } - -@@ -1016,7 +1017,7 @@ - } - - bool FArchiveXML::LoadForceFieldLibrary(FCDObject* object, xmlNode* node) --{ -+{ - return FArchiveXML::LoadLibrary(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 - #include -+#include -+#include - - 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 -+ - /* - - 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 - #include - #include - #include -+#include - - 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= 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 -+#include - - static std::mutex g_ValidatorCacheLock; - static std::map g_ValidatorCache; - static bool g_XeromycesStarted = false; - --static void errorHandler(void* UNUSED(userData), xmlErrorPtr error) -+static void errorHandler(void* UNUSED(userData), -+ std::conditional_t= 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: