git: a95cde2a7a8a - main - games/0ad: Update to 0.27.0

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Thu, 06 Feb 2025 07:51:49 UTC
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a95cde2a7a8ab38cbd9a6a9dbf159f46ee979d95

commit a95cde2a7a8ab38cbd9a6a9dbf159f46ee979d95
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2025-02-06 07:50:32 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2025-02-06 07:51:44 +0000

    games/0ad: Update to 0.27.0
    
    - Remove upstreamed patches
    - This version allows using vanilla spidermonkey provided from
      system
    
    This update disables "GPU skinning" by default because it causes
    crashes. This is being investigated upstream [1]
    
    [1] https://gitea.wildfiregames.com/0ad/0ad/issues/7598
---
 games/0ad/Makefile                                 | 29 +++++++------
 games/0ad/distinfo                                 | 10 ++---
 .../files/patch-binaries_data_config_default.cfg   | 11 +++++
 games/0ad/files/patch-boost-1.85                   | 49 ----------------------
 .../files/patch-build_premake_extern__libs5.lua    | 15 ++++---
 games/0ad/files/patch-build_premake_premake5.lua   | 15 ++-----
 .../patch-build_workspaces_update-workspaces.sh    |  8 ++--
 ...ource_nvtt_nvtt-28209_src_src_nvcore_Debug.cpp} |  6 +--
 ...ource_spidermonkey_FixExclusiveDataClang19.diff | 14 -------
 ...ries_source_spidermonkey_FixFreeBSDClang16.diff | 17 --------
 .../patch-libraries_source_spidermonkey_patch.sh   | 11 -----
 .../patch-source_lib_allocators_page__aligned.cpp  |  6 +--
 .../0ad/files/patch-source_network_NetMessage.cpp  | 18 --------
 games/0ad/files/patch-source_network_NetServer.cpp | 33 ---------------
 ..._simulation2_serialization_BinarySerializer.cpp | 11 -----
 games/0ad/pkg-plist                                |  1 -
 16 files changed, 54 insertions(+), 200 deletions(-)

diff --git a/games/0ad/Makefile b/games/0ad/Makefile
index 96f6dd86d50e..771af146b486 100644
--- a/games/0ad/Makefile
+++ b/games/0ad/Makefile
@@ -1,11 +1,9 @@
 PORTNAME=	0ad
-PORTVERSION=	0.0.26
-PORTREVISION=	36
+DISTVERSION=	0.27.0
 CATEGORIES=	games
-MASTER_SITES=	http://releases.wildfiregames.com/ \
-		SF/zero-ad/releases
-DISTFILES=	${PORTNAME}-${PORTVERSION}-alpha-unix-build.tar.xz \
-		${PORTNAME}-${PORTVERSION}-alpha-unix-data.tar.xz
+MASTER_SITES=	https://releases.wildfiregames.com/
+DISTFILES=	${PORTNAME}-${DISTVERSION}-unix-build.tar.xz \
+		${PORTNAME}-${DISTVERSION}-unix-data.tar.xz
 
 MAINTAINER=	madpilot@FreeBSD.org
 COMMENT=	Real-time strategy (RTS) game of ancient warfare
@@ -29,7 +27,8 @@ LIB_DEPENDS=	libboost_filesystem.so:devel/boost-libs \
 		libminiupnpc.so:net/miniupnpc \
 		libenet.so:net/enet \
 		libsodium.so:security/libsodium \
-		libfmt.so:devel/libfmt
+		libfmt.so:devel/libfmt \
+		libmozjs-115.so:lang/spidermonkey115
 
 USES=		compiler:c++11-lib desktop-file-utils dos2unix gmake gnome \
 		iconv openal:al perl5 pkgconfig python:3.9,build sdl tar:xz \
@@ -40,7 +39,7 @@ USE_SDL=	sdl2
 USE_XORG=	x11 xcursor
 USE_PERL5=	build
 
-WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}-alpha
+WRKSRC=		${WRKDIR}/${PORTNAME}-${DISTVERSION}
 BUILD_WRKSRC=	${WRKSRC}/build/workspaces/gcc
 MAKE_ARGS=	config=release verbose=1
 CPPFLAGS+=	-DU_USING_ICU_NAMESPACE=1
@@ -57,25 +56,29 @@ PORTDATA=	*
 
 .include <bsd.port.pre.mk>
 
+post-extract:
+	@(cd ${WRKSRC}/libraries/source/nvtt && ${TAR} xf nvtt-28209.tar.xz)
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
 			-e 's|%%CC%%|${CC}|' \
-		${WRKSRC}/build/premake/premake5.lua ${WRKSRC}/build/premake/extern_libs5.lua
+		${WRKSRC}/build/premake/extern_libs5.lua
 .if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == gcc
-	@${REINPLACE_CMD} -e '1055,1251s/-rdynamic/-lssp_nonshared &/' \
-			-e '1441s/"execinfo",/& "ssp_nonshared",/' \
+	@${REINPLACE_CMD} -e '1130,1530s/-rdynamic/-lssp_nonshared &/' \
+			-e '1112,1502s/"execinfo",/& "ssp_nonshared",/' \
 		${WRKSRC}/build/premake/premake5.lua
 .endif
 
 pre-build:
-	(cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME})
+	(cd ${WRKSRC}/libraries && ${SETENV} ${MAKE_ENV} ./build-source-libs.sh --with-system-mozjs -j ${_MAKE_JOBS})
+	(cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh --with-system-mozjs --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME})
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/pyrogenesis ${STAGEDIR}${PREFIX}/bin
 	${INSTALL_SCRIPT} ${WRKSRC}/build/resources/0ad.sh ${STAGEDIR}${PREFIX}/bin/0ad
 	${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/ActorEditor ${STAGEDIR}${PREFIX}/bin
 	${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
-	(cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libmozjs78-ps-release.so libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME})
+	(cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME})
 	${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.desktop ${STAGEDIR}${PREFIX}/share/applications
 	${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.png ${STAGEDIR}${PREFIX}/share/pixmaps
 	${MKDIR} ${STAGEDIR}${DATADIR}
diff --git a/games/0ad/distinfo b/games/0ad/distinfo
index c780a130cc5b..ae481ae4d049 100644
--- a/games/0ad/distinfo
+++ b/games/0ad/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1664037479
-SHA256 (0ad-0.0.26-alpha-unix-build.tar.xz) = 2e1c6df7e3312e77c5f82788664cffc3a78d3bf60606c00039275e1d13c0ee4b
-SIZE (0ad-0.0.26-alpha-unix-build.tar.xz) = 75599800
-SHA256 (0ad-0.0.26-alpha-unix-data.tar.xz) = b200e48558f882807910e3c686567b6a396248d9d418044ecfde090b05772d7d
-SIZE (0ad-0.0.26-alpha-unix-data.tar.xz) = 1351511480
+TIMESTAMP = 1738253090
+SHA256 (0ad-0.27.0-unix-build.tar.xz) = aa94857009750d5f61dbf016bc150e3bdcbdb3acdfc8ad20b73ab8b43e9a1ba6
+SIZE (0ad-0.27.0-unix-build.tar.xz) = 152170976
+SHA256 (0ad-0.27.0-unix-data.tar.xz) = 3e48855ab8e1ef81270338462c8270b015213f14f5e054aab92ad74d5ea59dea
+SIZE (0ad-0.27.0-unix-data.tar.xz) = 1367701984
diff --git a/games/0ad/files/patch-binaries_data_config_default.cfg b/games/0ad/files/patch-binaries_data_config_default.cfg
new file mode 100644
index 000000000000..1651fbdc596d
--- /dev/null
+++ b/games/0ad/files/patch-binaries_data_config_default.cfg
@@ -0,0 +1,11 @@
+--- binaries/data/config/default.cfg.orig	2025-01-28 19:44:19 UTC
++++ binaries/data/config/default.cfg
+@@ -154,7 +154,7 @@ textures.maxanisotropy = 2
+ textures.maxanisotropy = 2
+ 
+ ; GPU skinning via compute shaders, requires up-to-date drivers
+-gpuskinning = true
++gpuskinning = false
+ 
+ ; Use smooth LOS interpolation
+ smoothlos = true
diff --git a/games/0ad/files/patch-boost-1.85 b/games/0ad/files/patch-boost-1.85
deleted file mode 100644
index 810873db2c50..000000000000
--- a/games/0ad/files/patch-boost-1.85
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/source/graphics/TextureManager.cpp b/source/graphics/TextureManager.cpp
-index ec68b15989..9cfa615997 100644
---- source/graphics/TextureManager.cpp
-+++ source/graphics/TextureManager.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2023 Wildfire Games.
-+/* Copyright (C) 2024 Wildfire Games.
-  * This file is part of 0 A.D.
-  *
-  * 0 A.D. is free software: you can redistribute it and/or modify
-@@ -806,7 +806,7 @@ public:
- 				files.push_back(f);
- 			p = p / GetWstringFromWpath(*it);
- 		}
--		return m_TextureConverter.ComputeSettings(GetWstringFromWpath(srcPath.leaf()), files);
-+		return m_TextureConverter.ComputeSettings(GetWstringFromWpath(srcPath.filename()), files);
- 	}
- 
- 	/**
-diff --git a/source/lib/file/file_system.cpp b/source/lib/file/file_system.cpp
-index 1db6dc65d3..2b1fdba056 100644
---- source/lib/file/file_system.cpp
-+++ source/lib/file/file_system.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2023 Wildfire Games.
-+/* Copyright (C) 2024 Wildfire Games.
-  *
-  * Permission is hereby granted, free of charge, to any person obtaining
-  * a copy of this software and associated documentation files (the
-@@ -32,6 +32,7 @@
- #include "lib/sysdep/filesystem.h"
- 
- #include <boost/filesystem.hpp>
-+#include <boost/version.hpp>
- #include <memory>
- 
- bool DirectoryExists(const OsPath& path)
-@@ -229,7 +230,11 @@ Status CopyFile(const OsPath& path, const OsPath& newPath, bool override_if_exis
- 	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/0ad/files/patch-build_premake_extern__libs5.lua b/games/0ad/files/patch-build_premake_extern__libs5.lua
index dd3c61e082d5..caa0f1f9d782 100644
--- a/games/0ad/files/patch-build_premake_extern__libs5.lua
+++ b/games/0ad/files/patch-build_premake_extern__libs5.lua
@@ -1,11 +1,14 @@
---- build/premake/extern_libs5.lua.orig	2021-02-06 00:32:37 UTC
+--- build/premake/extern_libs5.lua.orig	2025-01-28 19:57:28 UTC
 +++ build/premake/extern_libs5.lua
-@@ -193,7 +193,7 @@ extern_lib_defs = {
- 			end
+@@ -232,9 +232,9 @@ extern_lib_defs = {
  			-- TODO: This actually applies to most libraries we use on BSDs, make this a global setting.
  			if os.istarget("bsd") then
--				sysincludedirs { "/usr/local/include" }
-+				sysincludedirs { "%%LOCALBASE%%/include" }
+ 				if externalincludedirs then
+-					externalincludedirs { "/usr/local/include" }
++					externalincludedirs { "%%LOCALBASE%%/include" }
+ 				else
+-					sysincludedirs { "/usr/local/include" }
++					sysincludedirs { "%%LOCALBASE%%/include" }
+ 				end
  			end
  		end,
- 		link_settings = function()
diff --git a/games/0ad/files/patch-build_premake_premake5.lua b/games/0ad/files/patch-build_premake_premake5.lua
index 55122f32fc49..d1d79399d441 100644
--- a/games/0ad/files/patch-build_premake_premake5.lua
+++ b/games/0ad/files/patch-build_premake_premake5.lua
@@ -1,6 +1,6 @@
---- build/premake/premake5.lua.orig	2022-09-23 19:16:45 UTC
+--- build/premake/premake5.lua.orig	2025-01-28 19:57:28 UTC
 +++ build/premake/premake5.lua
-@@ -76,14 +76,10 @@ else
+@@ -85,14 +85,10 @@ else
  	end
  else
  	local machine = "x86_64"
@@ -17,14 +17,5 @@
 +	machine = f:read("*line")
 +	f:close()
  	-- Special handling on mac os where xcode needs special flags.
+ 	-- TODO: We should look into "universal" macOS compilation.
  	if os.istarget("macosx") then
- 		if string.find(machine, "arm64") then
-@@ -380,7 +376,7 @@ function project_set_build_flags()
- 
- 		if os.istarget("linux") or os.istarget("bsd") then
- 			if _OPTIONS["prefer-local-libs"] then
--				libdirs { "/usr/local/lib" }
-+				libdirs { "%%LOCALBASE%%/lib" }
- 			end
- 
- 			-- To use our local shared libraries, they need to be found in the
diff --git a/games/0ad/files/patch-build_workspaces_update-workspaces.sh b/games/0ad/files/patch-build_workspaces_update-workspaces.sh
index 311f65a0c84f..7768c92a886a 100644
--- a/games/0ad/files/patch-build_workspaces_update-workspaces.sh
+++ b/games/0ad/files/patch-build_workspaces_update-workspaces.sh
@@ -1,13 +1,13 @@
---- build/workspaces/update-workspaces.sh.orig	2014-09-20 19:02:24 UTC
+--- build/workspaces/update-workspaces.sh.orig	2025-01-28 19:57:28 UTC
 +++ build/workspaces/update-workspaces.sh
 @@ -1,10 +1,5 @@
  #!/bin/sh
  
 -if [ "$(id -u)" = "0" ]; then
--   echo "Running as root will mess up file permissions. Aborting ..." 1>&2
--   exit 1
+-	echo "Running as root will mess up file permissions. Aborting ..." 1>&2
+-	exit 1
 -fi
 -
  die()
  {
-   echo ERROR: $*
+ 	echo ERROR: "$*"
diff --git a/games/0ad/files/patch-libraries_source_nvtt_src_src_nvcore_Debug.cpp b/games/0ad/files/patch-libraries_source_nvtt_nvtt-28209_src_src_nvcore_Debug.cpp
similarity index 61%
rename from games/0ad/files/patch-libraries_source_nvtt_src_src_nvcore_Debug.cpp
rename to games/0ad/files/patch-libraries_source_nvtt_nvtt-28209_src_src_nvcore_Debug.cpp
index dd627b8a3a8f..13b99103cfa1 100644
--- a/games/0ad/files/patch-libraries_source_nvtt_src_src_nvcore_Debug.cpp
+++ b/games/0ad/files/patch-libraries_source_nvtt_nvtt-28209_src_src_nvcore_Debug.cpp
@@ -1,6 +1,6 @@
---- libraries/source/nvtt/src/src/nvcore/Debug.cpp.orig	2021-02-28 23:45:14 UTC
-+++ libraries/source/nvtt/src/src/nvcore/Debug.cpp
-@@ -628,6 +628,9 @@ namespace 
+--- libraries/source/nvtt/nvtt-28209/src/src/nvcore/Debug.cpp.orig	2025-01-30 19:39:40 UTC
++++ libraries/source/nvtt/nvtt-28209/src/src/nvcore/Debug.cpp
+@@ -631,6 +631,9 @@ namespace 
  #  elif NV_CPU_X86
          ucontext_t * ucp = (ucontext_t *)secret;
          return (void *)ucp->uc_mcontext.mc_eip;
diff --git a/games/0ad/files/patch-libraries_source_spidermonkey_FixExclusiveDataClang19.diff b/games/0ad/files/patch-libraries_source_spidermonkey_FixExclusiveDataClang19.diff
deleted file mode 100644
index 1259aec79061..000000000000
--- a/games/0ad/files/patch-libraries_source_spidermonkey_FixExclusiveDataClang19.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- libraries/source/spidermonkey/FixExclusiveDataClang19.diff.orig	2024-10-26 16:30:56 UTC
-+++ libraries/source/spidermonkey/FixExclusiveDataClang19.diff
-@@ -0,0 +1,11 @@
-+--- a/js/src/threading/ExclusiveData.h.orig	2020-11-28 17:33:56.000000000 +0100
-++++ b/js/src/threading/ExclusiveData.h
-+@@ -110,7 +110,7 @@
-+       : lock_(id), value_(std::forward<Args>(args)...) {}
-+ 
-+   ExclusiveData(ExclusiveData&& rhs)
-+-      : lock_(std::move(rhs.lock)), value_(std::move(rhs.value_)) {
-++      : lock_(std::move(rhs.lock())), value_(std::move(rhs.value_)) {
-+     MOZ_ASSERT(&rhs != this, "self-move disallowed!");
-+   }
-+ 
diff --git a/games/0ad/files/patch-libraries_source_spidermonkey_FixFreeBSDClang16.diff b/games/0ad/files/patch-libraries_source_spidermonkey_FixFreeBSDClang16.diff
deleted file mode 100644
index 2a4bc9cc5819..000000000000
--- a/games/0ad/files/patch-libraries_source_spidermonkey_FixFreeBSDClang16.diff
+++ /dev/null
@@ -1,17 +0,0 @@
---- libraries/source/spidermonkey/FixFreeBSDClang16.diff.orig	2023-06-28 15:31:44 UTC
-+++ libraries/source/spidermonkey/FixFreeBSDClang16.diff
-@@ -0,0 +1,14 @@
-+diff -ruN a/build/moz.configure/flags.configure b/build/moz.configure/flags.configure
-+--- a/build/moz.configure/flags.configure	2020-11-28 17:33:01.000000000 +0100
-++++ b/build/moz.configure/flags.configure
-+@@ -56,10 +56,5 @@
-+         # Temporary until https://bugs.llvm.org/show_bug.cgi?id=45835 gets a
-+         # real fix: clang 10 hangs with some ubsan-inserted code constructs.
-+         return None
-+-    if enabled and compiler.version >= '9.0.0':
-+-        if compiler.type == 'clang':
-+-            return ['-fexperimental-new-pass-manager']
-+-        elif compiler.type == 'clang-cl':
-+-            return ['-Xclang', '-fexperimental-new-pass-manager']
-+ 
-+ set_config('MOZ_NEW_PASS_MANAGER_FLAGS', new_pass_manager_flags)
diff --git a/games/0ad/files/patch-libraries_source_spidermonkey_patch.sh b/games/0ad/files/patch-libraries_source_spidermonkey_patch.sh
deleted file mode 100644
index 1483f03d6ab0..000000000000
--- a/games/0ad/files/patch-libraries_source_spidermonkey_patch.sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- libraries/source/spidermonkey/patch.sh.orig	2022-09-23 20:36:41 UTC
-+++ libraries/source/spidermonkey/patch.sh
-@@ -84,4 +84,8 @@ then
-     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
-+    # Remove now unknown compiler option causing problems
-+    patch -p1 < ../FixFreeBSDClang16.diff
-+    # Fix with clang19
-+    patch -p1 < ../FixExclusiveDataClang19.diff
- fi
diff --git a/games/0ad/files/patch-source_lib_allocators_page__aligned.cpp b/games/0ad/files/patch-source_lib_allocators_page__aligned.cpp
index 87d3081a43e7..6690b420d3d1 100644
--- a/games/0ad/files/patch-source_lib_allocators_page__aligned.cpp
+++ b/games/0ad/files/patch-source_lib_allocators_page__aligned.cpp
@@ -1,6 +1,6 @@
---- source/lib/allocators/page_aligned.cpp.orig	2017-07-28 19:57:26 UTC
+--- source/lib/allocators/page_aligned.cpp.orig	2025-01-28 19:58:03 UTC
 +++ source/lib/allocators/page_aligned.cpp
-@@ -49,7 +49,7 @@ static const int mmap_flags = MAP_PRIVATE|MAP_ANONYMOU
+@@ -48,7 +48,7 @@ Status mem_Reserve(size_t size, u8** pp)
  Status mem_Reserve(size_t size, u8** pp)
  {
  	errno = 0;
@@ -9,7 +9,7 @@
  	*pp = (u8*)ret;
  	return StatusFromMap(ret);
  }
-@@ -76,7 +76,7 @@ Status mem_Commit(u8* p, size_t size, int prot)
+@@ -75,7 +75,7 @@ Status mem_Decommit(u8* p, size_t size)
  Status mem_Decommit(u8* p, size_t size)
  {
  	errno = 0;
diff --git a/games/0ad/files/patch-source_network_NetMessage.cpp b/games/0ad/files/patch-source_network_NetMessage.cpp
deleted file mode 100644
index f8722186a922..000000000000
--- a/games/0ad/files/patch-source_network_NetMessage.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
---- source/network/NetMessage.cpp.orig	2023-09-17 08:35:54 UTC
-+++ source/network/NetMessage.cpp
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2017 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
-@@ -216,7 +216,8 @@ CNetMessage* CNetMessageFactory::CreateMessage(const v
- 		break;
- 
- 	default:
--		LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", header.GetType());
-+		LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received",
-+			static_cast<int>(header.GetType()));
- 		break;
- 	}
- 
diff --git a/games/0ad/files/patch-source_network_NetServer.cpp b/games/0ad/files/patch-source_network_NetServer.cpp
deleted file mode 100644
index 6866c8a427f5..000000000000
--- a/games/0ad/files/patch-source_network_NetServer.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
---- source/network/NetServer.cpp.orig	2022-09-23 19:17:14 UTC
-+++ source/network/NetServer.cpp
-@@ -302,7 +302,11 @@ void CNetServerWorker::SetupUPnP()
- 	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 @@ void CNetServerWorker::SetupUPnP()
- 		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:
diff --git a/games/0ad/files/patch-source_simulation2_serialization_BinarySerializer.cpp b/games/0ad/files/patch-source_simulation2_serialization_BinarySerializer.cpp
deleted file mode 100644
index c1c94a1d1e1e..000000000000
--- a/games/0ad/files/patch-source_simulation2_serialization_BinarySerializer.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- source/simulation2/serialization/BinarySerializer.cpp.orig	2022-08-21 12:45:40 UTC
-+++ source/simulation2/serialization/BinarySerializer.cpp
-@@ -52,7 +52,7 @@ static u8 GetArrayType(js::Scalar::Type arrayType)
- 	case js::Scalar::Uint8Clamped:
- 		return SCRIPT_TYPED_ARRAY_UINT8_CLAMPED;
- 	default:
--		LOGERROR("Cannot serialize unrecognized typed array view: %d", arrayType);
-+		LOGERROR("Cannot serialize unrecognized typed array view: %d", static_cast<int>(arrayType));
- 		throw PSERROR_Serialize_InvalidScriptValue();
- 	}
- }
diff --git a/games/0ad/pkg-plist b/games/0ad/pkg-plist
index 7f12466b9eaf..b45a20dc49f3 100644
--- a/games/0ad/pkg-plist
+++ b/games/0ad/pkg-plist
@@ -3,7 +3,6 @@ bin/0ad
 bin/ActorEditor
 lib/0ad/libAtlasUI.so
 lib/0ad/libCollada.so
-lib/0ad/libmozjs78-ps-release.so
 lib/0ad/libnvcore.so
 lib/0ad/libnvimage.so
 lib/0ad/libnvmath.so