summaryrefslogtreecommitdiff
path: root/games-strategy/0ad
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
commitd99093fb4bb5652015c06274d64083daa2439e4f (patch)
treecf61513204d97974179580065e85df5c8009087c /games-strategy/0ad
parent463397cf1e064185110fe57c568d73f99a06f5d1 (diff)
gentoo resync : 03.03.2021
Diffstat (limited to 'games-strategy/0ad')
-rw-r--r--games-strategy/0ad/0ad-0.0.23_alpha.ebuild147
-rw-r--r--games-strategy/0ad/0ad-0.0.23b_alpha.ebuild148
-rw-r--r--games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r2.ebuild (renamed from games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild)70
-rw-r--r--games-strategy/0ad/0ad-0.0.24b_alpha.ebuild228
-rw-r--r--games-strategy/0ad/Manifest15
-rw-r--r--games-strategy/0ad/files/0ad-0.0.21_alpha-gentoo.patch88
-rw-r--r--games-strategy/0ad/files/0ad-0.0.23b-header_includes_fix.patch20
-rw-r--r--games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch32
-rw-r--r--games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch82
-rw-r--r--games-strategy/0ad/metadata.xml1
10 files changed, 412 insertions, 419 deletions
diff --git a/games-strategy/0ad/0ad-0.0.23_alpha.ebuild b/games-strategy/0ad/0ad-0.0.23_alpha.ebuild
deleted file mode 100644
index 0e44c4e36fb1..000000000000
--- a/games-strategy/0ad/0ad-0.0.23_alpha.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-WX_GTK_VER="3.0"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads,ssl"
-
-inherit eutils wxwidgets toolchain-funcs gnome2-utils python-any-r1
-
-MY_P=0ad-${PV/_/-}
-DESCRIPTION="A free, real-time strategy game"
-HOMEPAGE="https://play0ad.com/"
-SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="editor +lobby nvtt pch test"
-RESTRICT="test"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/icu:=
- dev-libs/libsodium
- dev-libs/libxml2
- dev-libs/nspr
- ~games-strategy/0ad-data-${PV}
- 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/jpeg:0
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXcursor
- editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
- lobby? ( >=net-libs/gloox-1.0.20 )
- nvtt? ( media-gfx/nvidia-texture-tools )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- python-any-r1_pkg_setup
- use editor && setup-wxwidgets
-}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.0.21_alpha-gentoo.patch
-)
-
-src_configure() {
- local myconf=(
- --with-system-nvtt
- --with-system-miniupnpc
- --minimal-flags
- $(usex nvtt "" "--without-nvtt")
- $(usex pch "" "--without-pch")
- $(usex test "" "--without-tests")
- $(usex editor "--atlas" "")
- $(usex lobby "" "--without-lobby")
- --collada
- --bindir="/usr/bin"
- --libdir="/usr/$(get_libdir)"/${PN}
- --datadir="/usr/share/${PN}"
- )
-
- # stock premake4 does not work, use the shipped one
- emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
- # regenerate scripts.c so our patch applies
- cd "${S}"/build/premake/premake4 || die
- "${S}"/build/premake/premake4/bin/release/premake4 embed || die
-
- # rebuild premake again... this is the most stupid build system
- emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
- emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
- # run premake to create build scripts
- cd "${S}"/build/premake || die
- "${S}"/build/premake/premake4/bin/release/premake4 \
- --file="premake4.lua" \
- --outpath="../workspaces/gcc/" \
- --platform=$(usex amd64 "x64" "x32") \
- --os=linux \
- "${myconf[@]}" \
- gmake || die "Premake failed"
-}
-
-src_compile() {
- tc-export AR
-
- # build bundled and patched spidermonkey
- cd libraries/source/spidermonkey || die
- JOBS="${MAKEOPTS}" ./build.sh || die
- cd "${S}" || die
-
- # build 3rd party fcollada
- emake -C libraries/source/fcollada/src
-
- # build 0ad
- emake -C build/workspaces/gcc verbose=1
-}
-
-src_test() {
- cd binaries/system || die
- ./test -libdir "${S}/binaries/system" || die "test phase failed"
-}
-
-src_install() {
- newbin binaries/system/pyrogenesis 0ad
- use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
-
- insinto /usr/share/${PN}
- doins -r binaries/data/l10n
-
- exeinto /usr/$(get_libdir)/${PN}
- doexe binaries/system/libCollada.so
- doexe libraries/source/spidermonkey/lib/*.so
- use editor && doexe binaries/system/libAtlasUI.so
-
- dodoc binaries/system/readme.txt
- doicon -s 128 build/resources/${PN}.png
- make_desktop_entry ${PN}
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/games-strategy/0ad/0ad-0.0.23b_alpha.ebuild b/games-strategy/0ad/0ad-0.0.23b_alpha.ebuild
deleted file mode 100644
index 174ce6ff0cde..000000000000
--- a/games-strategy/0ad/0ad-0.0.23b_alpha.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-WX_GTK_VER="3.0"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads,ssl"
-
-inherit eutils wxwidgets toolchain-funcs gnome2-utils python-any-r1
-
-MY_P=0ad-${PV/_/-}
-DESCRIPTION="A free, real-time strategy game"
-HOMEPAGE="https://play0ad.com/"
-SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="editor +lobby nvtt pch test"
-RESTRICT="test"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/icu:=
- dev-libs/libsodium
- dev-libs/libxml2
- dev-libs/nspr
- ~games-strategy/0ad-data-${PV}
- 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/jpeg:0
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXcursor
- editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
- lobby? ( >=net-libs/gloox-1.0.20 )
- nvtt? ( media-gfx/nvidia-texture-tools )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- python-any-r1_pkg_setup
- use editor && setup-wxwidgets
-}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.0.21_alpha-gentoo.patch
- "${FILESDIR}"/${PN}-0.0.23b-header_includes_fix.patch
-)
-
-src_configure() {
- local myconf=(
- --with-system-nvtt
- --with-system-miniupnpc
- --minimal-flags
- $(usex nvtt "" "--without-nvtt")
- $(usex pch "" "--without-pch")
- $(usex test "" "--without-tests")
- $(usex editor "--atlas" "")
- $(usex lobby "" "--without-lobby")
- --collada
- --bindir="/usr/bin"
- --libdir="/usr/$(get_libdir)"/${PN}
- --datadir="/usr/share/${PN}"
- )
-
- # stock premake4 does not work, use the shipped one
- emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
- # regenerate scripts.c so our patch applies
- cd "${S}"/build/premake/premake4 || die
- "${S}"/build/premake/premake4/bin/release/premake4 embed || die
-
- # rebuild premake again... this is the most stupid build system
- emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
- emake -C "${S}"/build/premake/premake4/build/gmake.unix
-
- # run premake to create build scripts
- cd "${S}"/build/premake || die
- "${S}"/build/premake/premake4/bin/release/premake4 \
- --file="premake4.lua" \
- --outpath="../workspaces/gcc/" \
- --platform=$(usex amd64 "x64" "x32") \
- --os=linux \
- "${myconf[@]}" \
- gmake || die "Premake failed"
-}
-
-src_compile() {
- tc-export AR
-
- # build bundled and patched spidermonkey
- cd libraries/source/spidermonkey || die
- JOBS="${MAKEOPTS}" ./build.sh || die
- cd "${S}" || die
-
- # build 3rd party fcollada
- emake -C libraries/source/fcollada/src
-
- # build 0ad
- emake -C build/workspaces/gcc verbose=1
-}
-
-src_test() {
- cd binaries/system || die
- ./test -libdir "${S}/binaries/system" || die "test phase failed"
-}
-
-src_install() {
- newbin binaries/system/pyrogenesis 0ad
- use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
-
- insinto /usr/share/${PN}
- doins -r binaries/data/l10n
-
- exeinto /usr/$(get_libdir)/${PN}
- doexe binaries/system/libCollada.so
- doexe libraries/source/spidermonkey/lib/*.so
- use editor && doexe binaries/system/libAtlasUI.so
-
- dodoc binaries/system/readme.txt
- doicon -s 128 build/resources/${PN}.png
- make_desktop_entry ${PN}
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r2.ebuild
index a138651fac27..7826f504366a 100644
--- a/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild
+++ b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r2.ebuild
@@ -27,7 +27,10 @@ else
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
fi
-LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB"
+# merged with 0ad-data
+# addresses comment #3
+# bug #771147
+LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="editor +lobby nvtt pch test"
@@ -35,6 +38,10 @@ RESTRICT="test"
BDEPEND="virtual/pkgconfig
test? ( dev-lang/perl )"
+
+# remove dependency on nvtt
+# as we use the bundled one
+# bug #768930
DEPEND="
dev-libs/boost:=
dev-libs/icu:=
@@ -52,11 +59,13 @@ DEPEND="
virtual/opengl
x11-libs/libX11
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
- lobby? ( >=net-libs/gloox-1.0.20 )
- nvtt? ( >=media-gfx/nvidia-texture-tools-2.1.0 )"
+ lobby? ( >=net-libs/gloox-1.0.20 )"
-RDEPEND="${DEPEND}"
-PDEPEND="~games-strategy/0ad-data-${PV}"
+# add block on 0ad-data, as it is no longer needed.
+# addresses comment #3
+# bug #771147
+RDEPEND="${DEPEND}
+ !games-strategy/0ad-data"
if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}"
@@ -78,6 +87,11 @@ src_prepare() {
default
sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
+
+ # merged from 0ad-data
+ # addresses comment #3
+ # bug #771147
+ rm binaries/data/tools/fontbuilder/fonts/*.txt || die
}
src_configure() {
@@ -146,6 +160,37 @@ src_compile() {
# build 0ad
elog "Building 0ad"
emake -C build/workspaces/gcc verbose=1
+
+ # merged from 0ad-data
+ # addresses comment #3
+ # bug #771147
+ 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}"
+
+ 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
+
+ if [[ -f "${archivebuild_input}/mod.json" ]]; then
+ cp "${archivebuild_input}/mod.json" "${archivebuild_output}"
+ 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() {
@@ -157,11 +202,20 @@ src_install() {
newbin binaries/system/pyrogenesis 0ad
use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
+ # merged with 0ad-data
+ # addresses comment #3
+ # bug #771147
insinto /usr/share/${PN}
- doins -r binaries/data/l10n
-
+ doins -r binaries/data/{l10n,config,mods,tools}
+
+ # merged with 0ad-data
+ # addresses comment #3
+ # bug #771147
+ # install bundled SpiderMonkey and nvtt
+ # fixes comment #1
+ # bug #771147
exeinto /usr/$(get_libdir)/${PN}
- doexe binaries/system/libCollada.so
+ doexe binaries/system/{libCollada,libmozjs78-ps-release,libnvtt,libnvcore,libnvimage,libnvmath}.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt
diff --git a/games-strategy/0ad/0ad-0.0.24b_alpha.ebuild b/games-strategy/0ad/0ad-0.0.24b_alpha.ebuild
new file mode 100644
index 000000000000..a0468ee4b3e6
--- /dev/null
+++ b/games-strategy/0ad/0ad-0.0.24b_alpha.ebuild
@@ -0,0 +1,228 @@
+# Copyright 2014-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{7..9} )
+inherit desktop toolchain-funcs multiprocessing python-any-r1 wxwidgets xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/0ad/0ad"
+elif [[ ${PV} == *_pre* ]]; then
+ ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7"
+else
+ MY_P="0ad-${PV/_/-}"
+fi
+
+DESCRIPTION="A free, real-time strategy game"
+HOMEPAGE="https://play0ad.com/"
+
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}/${P}"
+elif [[ ${PV} == *_pre* ]]; then
+ SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
+else
+ SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
+ SRC_URI+=" https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="editor +lobby nvtt pch test"
+RESTRICT="test"
+
+# virtual/rust is for bundled SpiderMonkey
+# Build-time Python dependency is for SM too
+# TODO: Unbundle premake5
+# See bug #773472 which may help (bump for it)
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ virtual/rust
+ test? ( dev-lang/perl )
+"
+# Removed dependency on nvtt as we use the bundled one
+# bug #768930
+DEPEND="
+ dev-libs/boost:=
+ dev-libs/icu:=
+ dev-libs/libfmt:0=
+ dev-libs/libsodium
+ dev-libs/libxml2
+ media-libs/libpng:0
+ media-libs/libsdl2[X,opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ net-libs/enet:1.3
+ net-libs/miniupnpc:=
+ net-misc/curl
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ lobby? ( >=net-libs/gloox-1.0.20 )
+"
+RDEPEND="
+ ${DEPEND}
+ !games-strategy/0ad-data
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.0.24_alpha_pre20210116040036-build.patch
+ "${FILESDIR}"/${PN}-0.0.24b_alpha-rust-1.50.patch
+ "${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch
+)
+
+pkg_setup() {
+ use editor && setup-wxwidgets
+}
+
+src_prepare() {
+ default
+
+ # SpiderMonkey's configure no longer recognises --build for
+ # the build tuple
+ sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
+
+ # Originally from 0ad-data
+ rm binaries/data/tools/fontbuilder/fonts/*.txt || die
+}
+
+src_configure() {
+ local myconf=(
+ --minimal-flags
+ $(usex nvtt "" "--without-nvtt")
+ $(usex pch "" "--without-pch")
+ $(usex test "" "--without-tests")
+ $(usex editor "--atlas" "")
+ $(usex lobby "" "--without-lobby")
+ --bindir="/usr/bin"
+ --libdir="/usr/$(get_libdir)"/${PN}
+ --datadir="/usr/share/${PN}"
+ )
+
+ tc-export AR CC CXX RANLIB
+
+ # Stock premake5 does not work, use the shipped one
+ # TODO: revisit this, see above BDEPEND note re premake5
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix
+
+ # Regenerate scripts.c so our patch applies
+ cd "${S}"/build/premake/premake5 || die
+ "${S}"/build/premake/premake5/bin/release/premake5 embed || die
+
+ # Rebuild premake again
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix clean
+ emake -C "${S}"/build/premake/premake5/build/gmake2.unix
+
+ # Run premake to create build scripts
+ cd "${S}"/build/premake || die
+ "${S}"/build/premake/premake5/bin/release/premake5 \
+ --file="premake5.lua" \
+ --outpath="../workspaces/gcc/" \
+ --os=linux \
+ "${myconf[@]}" \
+ gmake2 \
+ || die "Premake failed"
+}
+
+src_compile() {
+ # Build 3rd party fcollada
+ einfo "Building bundled fcollada"
+ emake -C libraries/source/fcollada/src
+
+ # Build bundled NVTT
+ # nvtt is abandoned upstream and 0ad have forked it and added fixes.
+ # Use their copy. bug #768930
+ if use nvtt ; then
+ cd libraries/source/nvtt || die
+ elog "Building bundled NVTT (bug #768930)"
+ JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT"
+ cd "${S}" || die
+ fi
+
+ # Build bundled SpiderMonkey
+ # We really can't use the system SpiderMonkey right now.
+ # Breakages occur even on minor bumps in upstream SM,
+ # e.g. bug #768840.
+ cd libraries/source/spidermonkey || die
+ elog "Building bundled SpiderMonkey (bug #768840)"
+ XARGS="${EPREFIX}/usr/bin/xargs" \
+ JOBS="-j$(makeopts_jobs)" \
+ ./build.sh \
+ || die "Failed to build bundled SpiderMonkey"
+
+ cd "${S}" || die
+
+ # Build 0ad itself!
+ elog "Building 0ad"
+ JOBS="-j$(makeopts_jobs)" emake -C build/workspaces/gcc verbose=1
+
+ # Build assets
+ # (We only do this if we're using a snapshot/non-release)
+ # See bug #771147 (comment 3) and the old 0ad-data ebuild
+ # Warning: fragile!
+ if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
+ # source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
+ addpredict /proc/self/task
+
+ # Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
+ local archivebuild_input archivebuild_output mod_name
+ for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
+ mod_name="${archivebuild_input##*/}"
+ archivebuild_output="archives/${mod_name}"
+
+ mkdir -p "${archivebuild_output}" || die
+
+ einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
+ LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \
+ -archivebuild="${archivebuild_input}" \
+ -archivebuild-output="${archivebuild_output}/${mod_name}.zip" \
+ || die "Failed to build assets"
+
+ if [[ -f "${archivebuild_input}/mod.json" ]]; then
+ cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die
+ fi
+
+ rm -r "${archivebuild_input}" || die
+ mv "${archivebuild_output}" "${archivebuild_input}" || die
+ done
+
+ # Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
+ rm binaries/data/config/dev.cfg || die
+ rm -r binaries/data/mods/_test.* || die
+ fi
+}
+
+src_test() {
+ cd binaries/system || die
+ ./test -libdir "${S}/binaries/system" || die "Failed tests"
+}
+
+src_install() {
+ newbin binaries/system/pyrogenesis 0ad
+ use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
+
+ # Merged from 0ad-data
+ # bug #771147 (comment 3)
+ insinto /usr/share/${PN}
+ doins -r binaries/data/{l10n,config,mods,tools}
+
+ # Install bundled SpiderMonkey and nvtt
+ # bug #771147 (comment 1)
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe binaries/system/{libCollada,libmozjs78-ps-release}.so
+
+ use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.so
+ use editor && doexe binaries/system/libAtlasUI.so
+
+ dodoc binaries/system/readme.txt
+ doicon -s 128 build/resources/${PN}.png
+ make_desktop_entry ${PN}
+}
diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest
index 8ac093549bad..b23d4e3ed0a8 100644
--- a/games-strategy/0ad/Manifest
+++ b/games-strategy/0ad/Manifest
@@ -1,10 +1,9 @@
-AUX 0ad-0.0.21_alpha-gentoo.patch 3905 BLAKE2B 265020af1e1df234d0932c6294e0cda9c0f48bc1b311d6770c8347431c17e5e99c68f4c52cf6e1277ffb2e57431a6c237d2dc4f452e563eb343b06f62ab1eede SHA512 592e9fdff6ef6d88efc9c4a5c856e41240845187cc4a4b3d9d6b5c616eb1f664fdf702b7b0a30cdfeedd6d87ac0fab913df477567b84d42e13d2cf2761cfdec8
-AUX 0ad-0.0.23b-header_includes_fix.patch 463 BLAKE2B 9148cd302596bd1d37df7d93e72794530cf38eadeb26af1a05dda96c9dfde5022e2346eb92d165b434d82450deee06d539c89855bcad6a41285e087fd3417904 SHA512 df4cbe5f8c00c2ec4539794dfa4904a129e4730ae109e7678d9e201370ea00a00b1352ebf1f9fba46fcf48f0a7f46de1ec51613aa58f56ecd4a0f5f051c0524f
AUX 0ad-0.0.24_alpha_pre20210116040036-build.patch 5971 BLAKE2B 968ab7cbfa2b84312937c1f317e15ad9165fd951995dba90eef9b262448a066dc0403f0acf5fb4d40e372455b47d6b0f79c7a078601a8172d185e35463b383ed SHA512 391dc3c02184c9e67c21460833d19e386c0cb53c0bed663df531cc0efecfbe4b9a85c75b8ca682b2cd40891dd0719603108d96a21f8e5ba989fb0951713a1571
-DIST 0ad-0.0.23-alpha-unix-build.tar.xz 31907988 BLAKE2B 567b9e1b5cd653206194e042f4f0859cd4f9afe75d52d3f480a328b76fdcdd746254502fbf284f790b4932c912ff31453bbc8c986c879ad76baa3d2a5db802c9 SHA512 4a1c86b19e0d8ec7d9b8bf75428df0255f95e7f991f419734f9b6ddc288a537405a34c5d7081f1a97475155c49013af85dee5c0265c35c7dbc003b46637a03d7
-DIST 0ad-0.0.23b-alpha-unix-build.tar.xz 31922812 BLAKE2B db7d6bf1a2bb084870b914cf974bfdb19812ff6f9391e5bc5213ae215fc670b77bd4508a5432aa3e47bf327bd37d4bb14961ab3332b165b53327c3f01a935ac1 SHA512 82934313c46c4fd89e3841d5bbf901904abbd2108e9749529d7282bd24ac53b9e6878681c06e6019f4d8ec0e425c28300b0aafc9610a66a331777ffb58ed6135
+AUX 0ad-0.0.24b_alpha-respect-tc.patch 1095 BLAKE2B c7f2747ae832de76da3711687ce8e6d52039e23cbe31ca1114d27e93ec2b3ef150f4b241a0d869ec393c9f73e702f35ce5610f9b383bbe43e958989bbcfa0c17 SHA512 00c439a086da6553b09230cf57e76c9abcf8c13093a4d439ccb5724d6dee5474c46f924c5a0c5b43cdc8572445347dcf2a77eba3fcff17b16d492ca4bef90594
+AUX 0ad-0.0.24b_alpha-rust-1.50.patch 3529 BLAKE2B 0f354b806399f1cf9fc515a1f799d119fe5d53c6c48cc5de93cd3762c4df1f2e79b1d6fc34fe2c002b002c73ac2e259556d7464b665f4eb60a186820b9f40ae4 SHA512 71884811ed0c6acbc7fec4aa4f0c3700214fd325c28eb8149c9f65fe4018d968b1dfbe0746aea940aa08a0d656f866f40cfc67fcb62965fdc861583376256602
DIST 0ad-0.0.24_alpha_pre20210116040036.tar.gz 2562395684 BLAKE2B 03d6655f7aa1f2f91a87536a7f2afa465585856c4209ddc05e666e1e5596416883596331118ac4257ff314b04d8a5c08821eaa6ae76e5d3095146ab04f8c79ed SHA512 e1239a56b184a87708c87fc03ca41190a16d813e495c5d81ee073df98761f1524a23902e5d03a21a1b1f657b496fce6eeee4a5ef22eee30f70fbe3b0dbd44510
-EBUILD 0ad-0.0.23_alpha.ebuild 3408 BLAKE2B bb6fbd77a2e9a0b27f086b33bb347ac5c5a8c76277b967359dfd8b4c7b6ea4b3f296aa150bacc3b3dd9a1460e5ebda436ad1429c5c1eaefe826a64403417ac1c SHA512 99db5ad39c1e0fe4ec9762df7c27e5ae12a1234007cd5d6e229110471affa705373015bb6e42e23b1f8ace93c5a3bae4afc204d966c5940f810415cd255186bc
-EBUILD 0ad-0.0.23b_alpha.ebuild 3467 BLAKE2B 567338478f564ebc53a299e132d47188c4db5d9bdea314d55539442ce1ca256dd4df5e50b24997a54aaf0dd9c3542a06a826830bf98833c7a49a9d3e37207ce7 SHA512 5b8198f364b87faa96adf108e252ea5d55d1e06f459b6c0e45901c737bb1cd1ca8c6ec1f08cea5dade892dd27d6572caad29249aed2ca15a3e421afed046ab79
-EBUILD 0ad-0.0.24_alpha_pre20210116040036-r1.ebuild 4263 BLAKE2B e4b252da916bd111bea329ebc9be7ac6f223f2f29a7caa6f74c63c56e68d602e54956b97e1496d5a41618ec6fe9d290d8ea917d4b81c013145f81ab44e634819 SHA512 52212dbe220e95b4634a4c0bcf4cc02a17254d836a4af43e0d76829e6eac3ce1fbaee30f64b41d8e4152e4a47bf5cf5a220ae6a6b8f0187044aec5765ec70b87
-MISC metadata.xml 668 BLAKE2B 9bfa86da2d6e1631217082f88905d8d8be7a2c91248839b9a0f5da9d0c214552b11f4af861eb04072e4645b47505d83d0b93c1313f7a3857b1006f94a699b3b2 SHA512 7aab21c31587f1cce5b4635ace0fbbb5bcdc2a6d811df68494ac1fb251fbfc75911cfa3a9e1a60c28f684f64a919164c6e3504fd3fbba3b0ec05afe8278ae343
+DIST 0ad-0.0.24b-alpha-unix-build.tar.xz 75546740 BLAKE2B a724abba6bed4b580670588e9dcfe0f75f6cef0fbde6ad666356e96213c685932edd0a1daafb5dd04206870c2c8222340c9c51e83076ec2911cbb5377ca00666 SHA512 8173d393eb1bc57c38bef0076ba973ef46c877c06644365189c0887cd3152adba51d26b553e42221fd14343e9830a3a275bfcd9b28f66281e282ea3f247730ea
+DIST 0ad-0.0.24b-alpha-unix-data.tar.xz 828553992 BLAKE2B 2081225d88d475ed0899648994a900677bc3280bb2ba6cf92354ece82b90ddcefddb48458fa23e2de97100e58f4db8db408d4b50d0306a8c3efe47d263064bf0 SHA512 d7804d25ddf376028f230a31c6fc1201dfa366b3d5434569a1a7852bb4c400fb14e5c8934c5d6c6295320cf2e62c64be83b1e3c4c27fd116115bfe7d01106726
+EBUILD 0ad-0.0.24_alpha_pre20210116040036-r2.ebuild 6140 BLAKE2B 50e5c807012bd422ad7629e849696592a3a7a7c9bc2130658342cae4ad4ccd9c16f0be8e360037513777ccf3b7e7b253a546311f179ed33d3eb9363c41d0d9b2 SHA512 7c1df2ce366003d11a4816e4b4d4615eeb41799ceac185140e95bf4c18c0c71f0a513c485058a029c135c4519da48a08ad729abddebadcfdde7361c44b0204fd
+EBUILD 0ad-0.0.24b_alpha.ebuild 6573 BLAKE2B 69ec4f664b282daa8031676618767bc296d5ab388aad5b10b99930d62c836b0a612c07af64c9adecb6aa9507e3408ed698bebcb0cc6d59fe3313a5886e809141 SHA512 9f1b7fff373a2fbbc384969184c1a7e29ea21cf3bdd235608026328319a22f389a9fe49cb058802269afe837c6c4628602616be08ab779b6b2998393957bb3f3
+MISC metadata.xml 715 BLAKE2B b611d7f5a8ad31e43b744dec6607293165c3e60a901b3598d62859a6d65852c9369429c090e557a970320947557ab5d3e418ecd0a39b0b1ae7a77384e6202b28 SHA512 43cd54bb88313ef72649034afbbde262917d6aa390eb7dd5b1369d851d9dcbed7d0c03169edf0d156ad0351ae7a8e485a20217e6c686b9c6b266303c8ce2b481
diff --git a/games-strategy/0ad/files/0ad-0.0.21_alpha-gentoo.patch b/games-strategy/0ad/files/0ad-0.0.21_alpha-gentoo.patch
deleted file mode 100644
index 79549d193683..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.21_alpha-gentoo.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- 0ad-0.0.21-alpha/build/premake/premake4/build/gmake.unix/Premake4.make
-+++ 0ad-0.0.21-alpha/build/premake/premake4/build/gmake.unix/Premake4.make
-@@ -26,9 +26,9 @@
- DEFINES += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
- INCLUDES += -I../../src/host/lua-5.1.4/src
- CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES)
-- CFLAGS += $(CPPFLAGS) -Wall -Os
-- CXXFLAGS += $(CPPFLAGS) -Wall -Os
-- LDFLAGS += -s -rdynamic
-+ CFLAGS += $(CPPFLAGS) -Wall
-+ CXXFLAGS += $(CPPFLAGS) -Wall
-+ LDFLAGS += -rdynamic
- LIBS += -lm -ldl
- RESFLAGS += $(DEFINES) $(INCLUDES)
- LDDEPS +=
-@@ -48,8 +48,8 @@
- DEFINES += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
- INCLUDES += -I../../src/host/lua-5.1.4/src
- CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES)
-- CFLAGS += $(CPPFLAGS) -Wall -g
-- CXXFLAGS += $(CPPFLAGS) -Wall -g
-+ CFLAGS += $(CFLAGS) $(CPPFLAGS) -Wall
-+ CXXFLAGS += $(CXXFLAGS) $(CPPFLAGS) -Wall
- LDFLAGS += -rdynamic
- LIBS += -lm -ldl
- RESFLAGS += $(DEFINES) $(INCLUDES)
---- 0ad-0.0.21-alpha/build/premake/premake4/src/tools/gcc.lua
-+++ 0ad-0.0.21-alpha/build/premake/premake4/src/tools/gcc.lua
-@@ -136,8 +136,6 @@
- if not cfg.flags.Symbols then
- if cfg.system == "macosx" then
- table.insert(result, "-Wl,-x")
-- else
-- table.insert(result, "-s")
- end
- end
-
---- 0ad-0.0.21-alpha/libraries/source/fcollada/src/Makefile
-+++ 0ad-0.0.21-alpha/libraries/source/fcollada/src/Makefile
-@@ -9,9 +9,9 @@
-
- CXX ?= g++
- CXXFLAGS += -fvisibility=hidden -W -Wall -Wno-unused-parameter -Wno-unused-function $(OS_DEFINE) $(PIC_FLAGS) $(CPPFLAGS)
--CXXFLAGS_DEBUG := -O0 -g -D_DEBUG -DRETAIL
--CXXFLAGS_RELEASE := -O2 -DNDEBUG -DRETAIL
--CXXFLAGS_TEST := -O0 -g -D_DEBUG
-+CXXFLAGS_DEBUG := -D_DEBUG -DRETAIL
-+CXXFLAGS_RELEASE := -DNDEBUG -DRETAIL
-+CXXFLAGS_TEST := -D_DEBUG
- LIBS += `pkg-config libxml-2.0 --libs`
- INCLUDES += -IFCollada `pkg-config libxml-2.0 --cflags`
- INCLUDES_TEST := -IFCollada/FColladaTest $(INCLUDES)
---- 0ad-0.0.21-alpha/libraries/source/spidermonkey/build.sh
-+++ 0ad-0.0.21-alpha/libraries/source/spidermonkey/build.sh
-@@ -93,20 +93,8 @@
- cd js/src
-
- # Clean up data generated by previous builds that could cause problems
--rm -rf build-debug
- rm -rf build-release
-
--# We want separate debug/release versions of the library, so we have to change
--# the LIBRARY_NAME for each build.
--# (We use perl instead of sed so that it works with MozillaBuild on Windows,
--# which has an ancient sed.)
--perl -i.bak -pe 's/(SHARED_LIBRARY_NAME\s+=).*/$1 '\''mozjs38-ps-debug'\''/' moz.build
--mkdir -p build-debug
--cd build-debug
--CXXFLAGS="${CXXFLAGS} ${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-debug --disable-optimize --enable-js-diagnostics --enable-gczeal
--${MAKE} ${MAKE_OPTS}
--cd ..
--
- perl -i.bak -pe 's/(SHARED_LIBRARY_NAME\s+=).*/$1 '\''mozjs38-ps-release'\''/' moz.build
- mkdir -p build-release
- cd build-release
-@@ -161,12 +149,9 @@
- mkdir -p ${INCLUDE_DIR_DEBUG}
- mkdir -p ${INCLUDE_DIR_RELEASE}
- cp -R -L ${FOLDER}/js/src/build-release/dist/include/* ${INCLUDE_DIR_RELEASE}/
--cp -R -L ${FOLDER}/js/src/build-debug/dist/include/* ${INCLUDE_DIR_DEBUG}/
-
- mkdir -p lib/
--cp -L ${FOLDER}/js/src/build-debug/dist/lib/${LIB_PREFIX}mozjs38-ps-debug${LIB_SRC_SUFFIX} lib/${LIB_PREFIX}mozjs38-ps-debug${LIB_DST_SUFFIX}
- cp -L ${FOLDER}/js/src/build-release/dist/lib/${LIB_PREFIX}mozjs38-ps-release${LIB_SRC_SUFFIX} lib/${LIB_PREFIX}mozjs38-ps-release${LIB_DST_SUFFIX}
--cp -L ${FOLDER}/js/src/build-debug/dist/bin/${LIB_PREFIX}mozjs38-ps-debug${DLL_SRC_SUFFIX} ../../../binaries/system/${LIB_PREFIX}mozjs38-ps-debug${DLL_DST_SUFFIX}
- cp -L ${FOLDER}/js/src/build-release/dist/bin/${LIB_PREFIX}mozjs38-ps-release${DLL_SRC_SUFFIX} ../../../binaries/system/${LIB_PREFIX}mozjs38-ps-release${DLL_DST_SUFFIX}
-
- # On Windows, also copy debugging symbols files
diff --git a/games-strategy/0ad/files/0ad-0.0.23b-header_includes_fix.patch b/games-strategy/0ad/files/0ad-0.0.23b-header_includes_fix.patch
deleted file mode 100644
index 60bf9d1679be..000000000000
--- a/games-strategy/0ad/files/0ad-0.0.23b-header_includes_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- 0ad-0.0.23b-alpha/source/ps/CLogger.h
-+++ 0ad-0.0.23b-alpha/source/ps/CLogger.h
-@@ -22,6 +22,7 @@
- #include <string>
- #include <set>
- #include <sstream>
-+#include <deque>
-
- #include "ps/ThreadUtil.h"
- #include "third_party/cppformat/format.h"
---- 0ad-0.0.23b-alpha/source/ps/Profiler2GPU.cpp
-+++ 0ad-0.0.23b-alpha/source/ps/Profiler2GPU.cpp
-@@ -22,6 +22,7 @@
-
- #include "precompiled.h"
-
-+#include <stack>
- #include "Profiler2GPU.h"
-
- #include "lib/ogl.h"
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
new file mode 100644
index 000000000000..7503ffc001b9
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.24b_alpha-respect-tc.patch
@@ -0,0 +1,32 @@
+--- 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.24b_alpha-rust-1.50.patch b/games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch
new file mode 100644
index 000000000000..f4436a7b92c4
--- /dev/null
+++ b/games-strategy/0ad/files/0ad-0.0.24b_alpha-rust-1.50.patch
@@ -0,0 +1,82 @@
+https://bugs.gentoo.org/773493
+--- a/libraries/source/spidermonkey/FixRust150.diff
++++ b/libraries/source/spidermonkey/FixRust150.diff
+@@ -0,0 +1,65 @@
++
++# HG changeset patch
++# User Emilio Cobos Álvarez <emilio@crisal.io>
++# Date 1609006565 0
++# Node ID 0e8f444683cb9c4079d3b2250f32f986043ea582
++# Parent 55097a5cf353f1b2a2228820bdf26bb69a1372a0
++Bug 1684261 - Fix build with rust nightly. r=jrmuizel, a=RyanVM
++
++Fixes errors like:
++
++ dependency (nix) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed.
++
++I've left the most specific dependency, but for wgpu the rev is not
++right, so I've kept the branch which effectively preserves behavior.
++
++Differential Revision: https://phabricator.services.mozilla.com/D100485
++
++diff --git a/.cargo/config.in b/.cargo/config.in
++--- a/.cargo/config.in
+++++ b/.cargo/config.in
++@@ -1,16 +1,16 @@
++ # This file contains vendoring instructions for cargo.
++ # It was generated by `mach vendor rust`.
++ # Please do not edit.
++
++ [source."https://github.com/shravanrn/nix/"]
++-branch = "r0.13.1"
++ git = "https://github.com/shravanrn/nix/"
++ replace-with = "vendored-sources"
+++rev = "4af6c367603869a30fddb5ffb0aba2b9477ba92e"
++
++ [source."https://github.com/mozilla/rkv"]
++ git = "https://github.com/mozilla/rkv"
++ replace-with = "vendored-sources"
++ rev = "e3c3388e6632cf55e08d773b32e58b1cab9b2731"
++
++ [source."https://github.com/mozilla/neqo"]
++ git = "https://github.com/mozilla/neqo"
++diff --git a/Cargo.lock b/Cargo.lock
++--- a/Cargo.lock
+++++ b/Cargo.lock
++@@ -3200,7 +3200,7 @@
++ [[package]]
++ name = "nix"
++ version = "0.13.1"
++-source = "git+https://github.com/shravanrn/nix/?branch=r0.13.1#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
+++source = "git+https://github.com/shravanrn/nix/?rev=4af6c367603869a30fddb5ffb0aba2b9477ba92e#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
++ dependencies = [
++ "bitflags",
++ "cc",
++diff --git a/Cargo.toml b/Cargo.toml
++--- a/Cargo.toml
+++++ b/Cargo.toml
++@@ -60,8 +60,8 @@
++ [patch.crates-io]
++ packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="3541e3818fdc7c2a24f87e3459151a4ce955a67a" }
++ rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="d510da5999a744c563b0acd18056069d1698273f" }
++-nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
++-spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3", rev = "20191ad2f370afd6d247edcb9ff9da32d3bedb9c" }
+++nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
+++spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3" }
++ # failure's backtrace feature might break our builds, see bug 1608157.
++ failure = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
++ failure_derive = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
++
+--- a/libraries/source/spidermonkey/patch.sh
++++ b/libraries/source/spidermonkey/patch.sh
+@@ -39,6 +39,10 @@
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1536491
+ patch -p1 < ../FixRpiUnalignedFpAccess.diff
+
++# Bug 1684261 upstreamed from 78.8: https://hg.mozilla.org/releases/mozilla-esr78/rev/0e8f444683cb
++# Note that this isn't quite the upstream patch to match our version.
++patch -p1 < ../FixRust150.diff
++
+ # Patch those separately, as they might interfere with normal behaviour.
+ if [ "$(uname -s)" = "FreeBSD" ];
+ then
diff --git a/games-strategy/0ad/metadata.xml b/games-strategy/0ad/metadata.xml
index 11542ae7c10a..f28214cdf98c 100644
--- a/games-strategy/0ad/metadata.xml
+++ b/games-strategy/0ad/metadata.xml
@@ -14,6 +14,7 @@
(might be needed for some mods)</flag>
</use>
<upstream>
+ <remote-id type="github">0ad/0ad</remote-id>
<remote-id type="sourceforge">zero-ad</remote-id>
</upstream>
</pkgmetadata>