From 516d7870f787f11b2f6a1c5b27fef0b477b2d7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Tue, 11 Jul 2023 22:12:26 +0200 Subject: [PATCH 01/33] Rebuilt for ICU 73.2 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 5750dae..233d76b 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 10%{?dist} +Release: 11%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -280,6 +280,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Jul 11 2023 František Zatloukal - 0.0.26-11 +- Rebuilt for ICU 73.2 + * Wed Jun 28 2023 Kalev Lember - 0.0.26-10 - Backport an upstream patch to fix the build with fmt 10 - Backport an upstream patch to fix atlas build with gcc 13 From 5fcc50b575454caa94fe75c39a15c8e46ef611c6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 10:52:05 +0000 Subject: [PATCH 02/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 233d76b..91ca453 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 11%{?dist} +Release: 12%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -280,6 +280,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 0.0.26-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jul 11 2023 František Zatloukal - 0.0.26-11 - Rebuilt for ICU 73.2 From 4f8ad986fba7c7d423e33c980a17d56c143fc233 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 5 Oct 2023 08:12:57 +0200 Subject: [PATCH 03/33] rebuild for new libsodium --- 0ad.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/0ad.spec b/0ad.spec index 91ca453..55290c3 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 12%{?dist} +Release: 13%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -161,18 +161,18 @@ hobbyist game developers, since 2001. %if ! %{with debug} # disable debug build, and "int 0x3" to trap to debugger (x86 only) -%patch1 -p0 +%patch -P1 -p0 %endif -%patch2 -p0 +%patch -P2 -p0 # Patch bundled mozjs for Python 3.11 and setuptools 60+ compatibility -%patch3 -p1 +%patch -P3 -p1 sed -e 's|__SOURCE3__|%{SOURCE3}|' \ -e 's|__SOURCE4__|%{SOURCE4}|' \ -i libraries/source/spidermonkey/patch.sh -%patch4 -p1 -%patch5 -p1 +%patch -P4 -p1 +%patch -P5 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt @@ -280,6 +280,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Thu Oct 05 2023 Remi Collet - 0.0.26-13 +- rebuild for new libsodium + * Wed Jul 19 2023 Fedora Release Engineering - 0.0.26-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From f832f129b1a0cc5508223846fac14ae3fac9f41a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 17 Oct 2023 22:53:45 +0200 Subject: [PATCH 04/33] Use python3.11 during build time to fix FTBFS (#2225686) This matches how the build was fixed in firefox and thunderbird, switching to use python3.11 to work around build issues with six in python 3.12. --- 0ad-python311.patch | 5 ++++- 0ad.spec | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/0ad-python311.patch b/0ad-python311.patch index 4383dd2..713e8da 100644 --- a/0ad-python311.patch +++ b/0ad-python311.patch @@ -1,6 +1,6 @@ --- 0ad-0.0.26-alpha/libraries/source/spidermonkey/patch.sh.virtualenv 2022-09-30 13:48:58.606978147 +0200 +++ 0ad-0.0.26-alpha/libraries/source/spidermonkey/patch.sh 2022-09-30 13:49:52.645852256 +0200 -@@ -2,6 +2,14 @@ +@@ -2,6 +2,17 @@ # Apply patches if needed # This script gets called from build.sh. @@ -11,6 +11,9 @@ +git commit -m 'Initial commit' +git am --keep-cr __SOURCE3__ +git am --keep-cr __SOURCE4__ ++ ++# Use python3.11 instead of 3.12 for Fedora builds ++sed -i -e 's/exec python3 /exec python3.11 /' js/src/configure* + # SM78 fails to create virtual envs on macs with python > 3.7 # Unfortunately, 3.7 is mostly unavailable on ARM macs. diff --git a/0ad.spec b/0ad.spec index 55290c3..e8e4ed3 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 13%{?dist} +Release: 14%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -107,7 +107,6 @@ BuildRequires: subversion BuildRequires: valgrind-devel BuildRequires: wxGTK-devel BuildRequires: /usr/bin/appstream-util -BuildRequires: /usr/bin/python %if %{without system_mozjs78} # bundled mozjs @@ -125,8 +124,7 @@ BuildRequires: pkgconfig(mozjs-78) %endif # bundled mozjs: For build time tests only -BuildRequires: python-devel -BuildRequires: python-setuptools +BuildRequires: python3.11-devel BuildRequires: perl-devel ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le @@ -280,6 +278,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Oct 18 2023 Kalev Lember - 0.0.26-14 +- Use python3.11 during build time to fix FTBFS (#2225686) + * Thu Oct 05 2023 Remi Collet - 0.0.26-13 - rebuild for new libsodium From aaea3ab0ac2138b4a1c5c04c44e61ec5e4c93fe2 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 17 Jan 2024 18:52:48 +0000 Subject: [PATCH 05/33] Rebuilt for Boost 1.83 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index e8e4ed3..9eebb59 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 14%{?dist} +Release: 15%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -278,6 +278,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Jan 17 2024 Jonathan Wakely - 0.0.26-15 +- Rebuilt for Boost 1.83 + * Wed Oct 18 2023 Kalev Lember - 0.0.26-14 - Use python3.11 during build time to fix FTBFS (#2225686) From 38833259c30ff6a81c7d6736cebb20b870178d62 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jan 2024 11:58:58 +0000 Subject: [PATCH 06/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 9eebb59..8a013c9 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 15%{?dist} +Release: 16%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -278,6 +278,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Thu Jan 18 2024 Fedora Release Engineering - 0.0.26-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jan 17 2024 Jonathan Wakely - 0.0.26-15 - Rebuilt for Boost 1.83 From 0c5226bb1262a1382b7ecc161517bcbd4bdfd766 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 09:03:08 +0000 Subject: [PATCH 07/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 8a013c9..a511309 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 16%{?dist} +Release: 17%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -278,6 +278,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 0.0.26-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jan 18 2024 Fedora Release Engineering - 0.0.26-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 1f85746e294087dd1b44841b604bdc8fcae532b6 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 22 Jan 2024 12:30:50 +0100 Subject: [PATCH 08/33] Fix compilation with GCC 14 Patch by Florian Weimer . https://bugzilla.redhat.com/show_bug.cgi?id=2255223 --- 0ad-gcc-14.patch | 38 ++++++++++++++++++++++++++++++++++++++ 0ad.spec | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 0ad-gcc-14.patch diff --git a/0ad-gcc-14.patch b/0ad-gcc-14.patch new file mode 100644 index 0000000..79a4b2e --- /dev/null +++ b/0ad-gcc-14.patch @@ -0,0 +1,38 @@ +diff -ur 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/config.h 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/config.h +--- 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/config.h 2022-08-21 14:46:10.000000000 +0200 ++++ 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/config.h 2023-12-19 11:59:06.813263959 +0100 +@@ -22,6 +22,8 @@ + /* #undef HAVE_STRUCT_TM_TM_ZONE */ + #ifdef _WIN32 + #define HAVE_MOVEFILEEXA ++#else ++#define HAVE_UNISTD_H + #endif + /* #undef HAVE_STRINGS_H */ + /* #undef HAVE_UNISTD_H */ +diff -ur 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/mkstemp.c 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/mkstemp.c +--- 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/mkstemp.c 2022-08-21 14:46:10.000000000 +0200 ++++ 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/mkstemp.c 2023-12-19 11:48:55.459472284 +0100 +@@ -40,6 +40,8 @@ + #include + #ifdef _WIN32 + #include ++#else ++#include + #endif + #include + #include +diff -ur 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/zip_fdopen.c 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/zip_fdopen.c +--- 0ad-0.0.26-alpha.orig/build/premake/premake5/contrib/libzip/zip_fdopen.c 2022-08-21 14:46:10.000000000 +0200 ++++ 0ad-0.0.26-alpha/build/premake/premake5/contrib/libzip/zip_fdopen.c 2023-12-19 12:06:24.709819140 +0100 +@@ -35,6 +35,10 @@ + + #include "zipint.h" + ++#ifdef HAVE_UNISTD_H ++#include ++#endif ++ + + + ZIP_EXTERN struct zip * diff --git a/0ad.spec b/0ad.spec index a511309..1f47e18 100644 --- a/0ad.spec +++ b/0ad.spec @@ -140,6 +140,8 @@ Patch2: %{name}-check.patch Patch3: %{name}-python311.patch Patch4: 0001-Fix-the-removal-of-implicit-conversions-in-libfmt-10.patch Patch5: 0001-Fix-compilation-with-GCC-13.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2255223 +Patch6: 0ad-gcc-14.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -171,6 +173,7 @@ sed -e 's|__SOURCE3__|%{SOURCE3}|' \ %patch -P4 -p1 %patch -P5 -p1 +%patch -P6 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt From b4ce22175d6b4b3cd9e33de37fbb271dd4183b3c Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 22 Jan 2024 12:54:19 +0100 Subject: [PATCH 09/33] Backport libxml2 2.12 build fix from upstream --- 0001-Fix-build-with-libxml2-v2.12.1.patch | 298 ++++++++++++++++++++++ 0ad.spec | 2 + 2 files changed, 300 insertions(+) create mode 100644 0001-Fix-build-with-libxml2-v2.12.1.patch diff --git a/0001-Fix-build-with-libxml2-v2.12.1.patch b/0001-Fix-build-with-libxml2-v2.12.1.patch new file mode 100644 index 0000000..22c44bf --- /dev/null +++ b/0001-Fix-build-with-libxml2-v2.12.1.patch @@ -0,0 +1,298 @@ +From d242631245edb66816ef9960bdb2c61b68e56cec Mon Sep 17 00:00:00 2001 +From: phosit +Date: Wed, 13 Dec 2023 19:42:00 +0000 +Subject: [PATCH] Fix build with libxml2 v2.12.1 + +libxml2 v2.12.1 includes less header indirectly. Also `xmlError*` has to be changed to `const xmlError*`. + +Original Patch By: Riesi +Accepted By: @vladislavbelov + +Differential Revision: https://code.wildfiregames.com/D5219 + + + +git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@27980 3db68df2-c116-0410-a063-a993310a9797 +--- + .../src/FCollada/FUtils/FUXmlDocument.cpp | 6 ++- + .../FArchiveXML/FArchiveXML.cpp | 43 ++++++++++--------- + source/collada/CommonConvert.cpp | 5 ++- + source/collada/XMLFix.cpp | 4 +- + source/ps/XML/RelaxNG.cpp | 7 ++- + source/ps/XML/Xeromyces.cpp | 6 ++- + 6 files changed, 41 insertions(+), 30 deletions(-) + +diff --git a/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp b/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp +index 5349249a87..dd7be51672 100644 +--- a/libraries/source/fcollada/src/FCollada/FUtils/FUXmlDocument.cpp ++++ b/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) +diff --git a/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp b/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp +index af67478960..8222f6b244 100644 +--- a/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp ++++ b/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 @@ bool FArchiveXML::ImportFileFromMemory(const fchar* filePath, FCDocument* fcdocu + } + + 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 @@ bool FArchiveXML::EndExport(fm::vector& outData) + 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 @@ bool FArchiveXML::Import(FCDocument* theDocument, xmlNode* colladaNode) + 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 @@ bool FArchiveXML::Import(FCDocument* theDocument, xmlNode* colladaNode) + 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 @@ bool FArchiveXML::Import(FCDocument* theDocument, xmlNode* colladaNode) + { + // [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 @@ bool FArchiveXML::ExportDocument(FCDocument* theDocument, xmlNode* colladaNode) + // 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 @@ xmlNode* FArchiveXML::WriteParentSwitch(FCDObject* object, const FUObjectType* o + { + return FArchiveXML::WriteSwitch(object, &objectType->GetParent(), node); + } +- else ++ else + { + FUBreak; + return NULL; +@@ -986,7 +987,7 @@ xmlNode* FArchiveXML::WriteParentSwitch(FCDObject* object, const FUObjectType* o + } + + bool FArchiveXML::LoadAnimationLibrary(FCDObject* object, xmlNode* node) +-{ ++{ + return FArchiveXML::LoadLibrary(object, node); + } + +@@ -996,17 +997,17 @@ bool FArchiveXML::LoadAnimationClipLibrary(FCDObject* object, xmlNode* node) + } + + 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::LoadEmitterLibrary(FCDObject* object, xmlNode* node) + } + + bool FArchiveXML::LoadForceFieldLibrary(FCDObject* object, xmlNode* node) +-{ ++{ + return FArchiveXML::LoadLibrary(object, node); + } + +diff --git a/source/collada/CommonConvert.cpp b/source/collada/CommonConvert.cpp +index 391fcf47f6..c742873b45 100644 +--- a/source/collada/CommonConvert.cpp ++++ b/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) + { +diff --git a/source/collada/XMLFix.cpp b/source/collada/XMLFix.cpp +index 2f1d67770e..fc5aa6bb38 100644 +--- a/source/collada/XMLFix.cpp ++++ b/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: +diff --git a/source/ps/XML/RelaxNG.cpp b/source/ps/XML/RelaxNG.cpp +index 116b0007bf..296ed14403 100644 +--- a/source/ps/XML/RelaxNG.cpp ++++ b/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 @@ void ClearSchemaCache() + 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; +diff --git a/source/ps/XML/Xeromyces.cpp b/source/ps/XML/Xeromyces.cpp +index 5051c2bc74..3e83859d6f 100644 +--- a/source/ps/XML/Xeromyces.cpp ++++ b/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; +-- +2.43.0 + diff --git a/0ad.spec b/0ad.spec index 1f47e18..a3348bb 100644 --- a/0ad.spec +++ b/0ad.spec @@ -142,6 +142,7 @@ Patch4: 0001-Fix-the-removal-of-implicit-conversions-in-libfmt-10.patch Patch5: 0001-Fix-compilation-with-GCC-13.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2255223 Patch6: 0ad-gcc-14.patch +Patch7: 0001-Fix-build-with-libxml2-v2.12.1.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -174,6 +175,7 @@ sed -e 's|__SOURCE3__|%{SOURCE3}|' \ %patch -P4 -p1 %patch -P5 -p1 %patch -P6 -p1 +%patch -P7 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt From abeeefeb747d5926fd4197e3f53769a6599f0f9f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 20:38:16 +0000 Subject: [PATCH 10/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index a3348bb..888a1c3 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 17%{?dist} +Release: 18%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -283,6 +283,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 0.0.26-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 0.0.26-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 60de47de7f94ab8076f3624388bf4873f4fabd01 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 29 Jan 2024 10:41:26 +0000 Subject: [PATCH 11/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 888a1c3..435ed7d 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 18%{?dist} +Release: 19%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -283,6 +283,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jan 29 2024 Fedora Release Engineering - 0.0.26-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 0.0.26-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 807f922df29fc6b1f446575a46bcb4db7205c7e1 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 31 Jan 2024 19:10:50 +0000 Subject: [PATCH 12/33] Rebuild for ICU 74 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 435ed7d..ad0fba1 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 19%{?dist} +Release: 20%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -283,6 +283,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Jan 31 2024 Pete Walter - 0.0.26-20 +- Rebuild for ICU 74 + * Mon Jan 29 2024 Fedora Release Engineering - 0.0.26-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 8879c3e02a6ee94a4c9d3291def049c6a0eca542 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 19 Mar 2024 10:53:52 +0100 Subject: [PATCH 13/33] Rebuild for gloox 1.0.28 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index ad0fba1..aaae016 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 20%{?dist} +Release: 21%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -283,6 +283,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Mar 19 2024 Dominik Mierzejewski - 0.0.26-21 +- Rebuild for gloox 1.0.28 + * Wed Jan 31 2024 Pete Walter - 0.0.26-20 - Rebuild for ICU 74 From c42872b73fe2e0c51178c58eec625186a0c5de9c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 14:38:47 +0000 Subject: [PATCH 14/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index aaae016..8457ef9 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 21%{?dist} +Release: 22%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -283,6 +283,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 0.0.26-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Mar 19 2024 Dominik Mierzejewski - 0.0.26-21 - Rebuild for gloox 1.0.28 From 916aa2aa1fbb7b7cc2d0b124b56bbaa13d0bb52c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 4 Sep 2024 23:03:30 +0200 Subject: [PATCH 15/33] convert license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- 0ad.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/0ad.spec b/0ad.spec index 8457ef9..90f3d1a 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 22%{?dist} +Release: 23%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -44,7 +44,8 @@ Release: 22%{?dist} # source/tools/fontbuilder2/Packer.py # MPL-2.0 # libraries/source/spidermonkey/* (not built/used) -License: GPLv2+ and BSD and MIT and IBM and MPLv2.0 +# Automatically converted from old format: GPLv2+ and BSD and MIT and IBM and MPLv2.0 - review is highly recommended. +License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND IPL-1.0 AND MPL-2.0 Summary: Cross-Platform RTS Game of Ancient Warfare Url: http://play0ad.com @@ -283,6 +284,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Sep 04 2024 Miroslav Suchý - 0.0.26-23 +- convert license to SPDX + * Wed Jul 17 2024 Fedora Release Engineering - 0.0.26-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From e32d63972d6cdb508ef45fd7b32c37cda90800c9 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Tue, 8 Oct 2024 18:47:53 +0200 Subject: [PATCH 16/33] Rebuild for updated miniupnpc --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 90f3d1a..0c339cf 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 23%{?dist} +Release: 24%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -284,6 +284,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Oct 08 2024 Simone Caronni - 0.0.26-24 +- Rebuild for updated miniupnpc. + * Wed Sep 04 2024 Miroslav Suchý - 0.0.26-23 - convert license to SPDX From 8de28c725322582b1e55ff89dce7009a50ed7b74 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 9 Oct 2024 00:06:06 +0200 Subject: [PATCH 17/33] Add miniupnp 2.2.8 patch from upstream --- 0ad-miniupnp228.patch | 37 +++++++++++++++++++++++++++++++++++++ 0ad.spec | 3 +++ 2 files changed, 40 insertions(+) create mode 100644 0ad-miniupnp228.patch diff --git a/0ad-miniupnp228.patch b/0ad-miniupnp228.patch new file mode 100644 index 0000000..0267bf1 --- /dev/null +++ b/0ad-miniupnp228.patch @@ -0,0 +1,37 @@ +diff -Naur 0ad-0.0.26-alpha.old/source/network/NetServer.cpp 0ad-0.0.26-alpha/source/network/NetServer.cpp +--- 0ad-0.0.26-alpha.old/source/network/NetServer.cpp 2024-10-08 23:50:11.583206377 +0200 ++++ 0ad-0.0.26-alpha/source/network/NetServer.cpp 2024-10-08 23:53:47.161712553 +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), nullptr, 0); ++#else + ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress)); ++#endif + allocatedUrls = ret != 0; // urls is allocated on non-zero return values + } + else +@@ -320,10 +324,21 @@ + case 1: + LOGMESSAGE("Net server: found valid IGD = %s", urls.controlURL); + break; ++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18 ++ case 2: ++ LOGMESSAGE("Net server: found IGD with reserved IP = %s, will try to continue anyway", urls.controlURL); ++ break; ++ case 3: ++#else + case 2: ++#endif + LOGMESSAGE("Net server: found a valid, not connected IGD = %s, will try to continue anyway", urls.controlURL); + break; ++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18 ++ case 4: ++#else + 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/0ad.spec b/0ad.spec index 0c339cf..7c9ba84 100644 --- a/0ad.spec +++ b/0ad.spec @@ -144,6 +144,8 @@ Patch5: 0001-Fix-compilation-with-GCC-13.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2255223 Patch6: 0ad-gcc-14.patch Patch7: 0001-Fix-build-with-libxml2-v2.12.1.patch +# https://gitea.wildfiregames.com/0ad/0ad/commit/38e3f5cec04f29f747515248ca3f002bd1cc52a8 +Patch8: %{name}-miniupnp228.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -177,6 +179,7 @@ sed -e 's|__SOURCE3__|%{SOURCE3}|' \ %patch -P5 -p1 %patch -P6 -p1 %patch -P7 -p1 +%patch -P8 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt From 65d0d3464f64cc20cc776b3e2694e02f2fb62d18 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 9 Dec 2024 13:27:18 +0000 Subject: [PATCH 18/33] Rebuild for ICU 76 --- 0ad-icu76.patch | 33 +++++++++++++++++++++++++++++++++ 0ad.spec | 8 +++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0ad-icu76.patch diff --git a/0ad-icu76.patch b/0ad-icu76.patch new file mode 100644 index 0000000..f7c6cac --- /dev/null +++ b/0ad-icu76.patch @@ -0,0 +1,33 @@ +From 5643e90b19ea443d69b3d83dab5b79bd2c7ca8db Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Sat, 9 Nov 2024 13:25:52 +0100 +Subject: [PATCH] Fix building with ICU >= 76 + +Since version 76 ICU wants to prevent overlinking [1] and icu-i18n +doesn't add icu-uc to the link interface anymore. + +[1] https://github.com/unicode-org/icu/commit/199bc827021ffdb43b6579d68e5eecf54c7f6f56 +--- + build/premake/extern_libs5.lua | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/build/premake/extern_libs5.lua b/build/premake/extern_libs5.lua +index 8bbf808912..de84a8272e 100644 +--- a/build/premake/extern_libs5.lua ++++ b/build/premake/extern_libs5.lua +@@ -432,6 +432,7 @@ extern_lib_defs = { + add_default_include_paths("icu") + else + pkgconfig.add_includes("icu-i18n") ++ pkgconfig.add_includes("icu-uc") + end + end, + link_settings = function() +@@ -444,6 +445,7 @@ extern_lib_defs = { + }) + else + pkgconfig.add_links("icu-i18n") ++ pkgconfig.add_links("icu-uc") + end + end, + }, diff --git a/0ad.spec b/0ad.spec index 7c9ba84..e4e3979 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 24%{?dist} +Release: 25%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -146,6 +146,8 @@ Patch6: 0ad-gcc-14.patch Patch7: 0001-Fix-build-with-libxml2-v2.12.1.patch # https://gitea.wildfiregames.com/0ad/0ad/commit/38e3f5cec04f29f747515248ca3f002bd1cc52a8 Patch8: %{name}-miniupnp228.patch +# https://gitea.wildfiregames.com/0ad/0ad/commit/5643e90b19ea443d69b3d83dab5b79bd2c7ca8db +Patch9: 0ad-icu76.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -180,6 +182,7 @@ sed -e 's|__SOURCE3__|%{SOURCE3}|' \ %patch -P6 -p1 %patch -P7 -p1 %patch -P8 -p1 +%patch -P9 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt @@ -287,6 +290,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Dec 09 2024 Pete Walter - 0.0.26-25 +- Rebuild for ICU 76 + * Tue Oct 08 2024 Simone Caronni - 0.0.26-24 - Rebuild for updated miniupnpc. From 3bad16f71b110e5d3044ead7bc79511608341431 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 08:18:42 +0000 Subject: [PATCH 19/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index e4e3979..1e6a778 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 25%{?dist} +Release: 26%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -290,6 +290,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 0.0.26-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Dec 09 2024 Pete Walter - 0.0.26-25 - Rebuild for ICU 76 From 972fb25847ac6636adeead22ac631b473ab51f7f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 20 Jan 2025 07:13:16 +0000 Subject: [PATCH 20/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 1e6a778..2a37915 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 26%{?dist} +Release: 27%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -290,6 +290,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jan 20 2025 Fedora Release Engineering - 0.0.26-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 0.0.26-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 47e413530fa53d2bd6eb78cccba38daef0ad9068 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Tue, 28 Jan 2025 12:57:50 +0100 Subject: [PATCH 21/33] Rebuild for updated dependencies --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 2a37915..0c200b8 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 27%{?dist} +Release: 28%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -290,6 +290,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Jan 28 2025 Simone Caronni - 0.0.26-28 +- Rebuild for updated dependencies. + * Mon Jan 20 2025 Fedora Release Engineering - 0.0.26-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 91751be5d406fb531c92db742184c3504e301de9 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 18 Feb 2025 20:25:55 -0600 Subject: [PATCH 22/33] Rebuild for updated dependencies. Signed-off-by: Dennis Gilmore --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 0c200b8..88cde61 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 28%{?dist} +Release: 29%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -290,6 +290,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Feb 18 2025 Dennis Gilmore - 0.0.26-29 +- Rebuild for updated dependencies. + * Tue Jan 28 2025 Simone Caronni - 0.0.26-28 - Rebuild for updated dependencies. From 4a17a1c9bcf7699256d9ccc1f3a0e56ddcdaba9e Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 14 Mar 2025 09:42:39 -0500 Subject: [PATCH 23/33] add patch for audio device crash Signed-off-by: Dennis Gilmore --- 0ad.spec | 8 ++++ ...7c04e027b0d48e050bfc38ae2b631d7403c7.patch | 48 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 49507c04e027b0d48e050bfc38ae2b631d7403c7.patch diff --git a/0ad.spec b/0ad.spec index 88cde61..2e06373 100644 --- a/0ad.spec +++ b/0ad.spec @@ -148,6 +148,10 @@ Patch7: 0001-Fix-build-with-libxml2-v2.12.1.patch Patch8: %{name}-miniupnp228.patch # https://gitea.wildfiregames.com/0ad/0ad/commit/5643e90b19ea443d69b3d83dab5b79bd2c7ca8db Patch9: 0ad-icu76.patch +# https://gitea.wildfiregames.com/0ad/0ad/pulls/7234 +# pulled from https://gitlab.archlinux.org/archlinux/packaging/packages/0ad/-/blob/a26-20/49507c04e027b0d48e050bfc38ae2b631d7403c7.patch +# due to 500 errors upstream +Patch10: 49507c04e027b0d48e050bfc38ae2b631d7403c7.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -183,6 +187,7 @@ sed -e 's|__SOURCE3__|%{SOURCE3}|' \ %patch -P7 -p1 %patch -P8 -p1 %patch -P9 -p1 +%patch -P10 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt @@ -290,6 +295,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Thu Mar 13 2025 Dennis Gilmore - 0.0.26-30 +- add patch for audio device crash + * Tue Feb 18 2025 Dennis Gilmore - 0.0.26-29 - Rebuild for updated dependencies. diff --git a/49507c04e027b0d48e050bfc38ae2b631d7403c7.patch b/49507c04e027b0d48e050bfc38ae2b631d7403c7.patch new file mode 100644 index 0000000..f59be2d --- /dev/null +++ b/49507c04e027b0d48e050bfc38ae2b631d7403c7.patch @@ -0,0 +1,48 @@ +From 49507c04e027b0d48e050bfc38ae2b631d7403c7 Mon Sep 17 00:00:00 2001 +From: Ralph Sennhauser +Date: Wed, 20 Nov 2024 20:19:36 +0100 +Subject: [PATCH] Make failed audio device query non fatal + +Querring the audio device name may fail. The name is only used for the +sake of logging it for debugging. Avoid querry failure to be fatal and +insted just log the issue. + +Signed-off-by: Ralph Sennhauser +--- + source/soundmanager/SoundManager.cpp | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git a/source/soundmanager/SoundManager.cpp b/source/soundmanager/SoundManager.cpp +index 6cd34f19ac..ed045d8efd 100644 +--- a/source/soundmanager/SoundManager.cpp ++++ b/source/soundmanager/SoundManager.cpp +@@ -838,15 +838,23 @@ void CSoundManager::RunHardwareDetection() + else + devices = alcGetString(nullptr, ALC_DEVICE_SPECIFIER); + } +- WARN_IF_FALSE(devices); + + m_SoundCardNames.clear(); +- do ++ if (devices) + { +- m_SoundCardNames += devices; +- devices += strlen(devices) + 1; +- m_SoundCardNames += "; "; +- } while (*devices); ++ do ++ { ++ m_SoundCardNames += devices; ++ devices += strlen(devices) + 1; ++ m_SoundCardNames += "; "; ++ } while (*devices); ++ } ++ else ++ { ++ const char* failMsg = "Failed to query audio device names"; ++ LOGERROR(failMsg); ++ m_SoundCardNames = failMsg; ++ } + + // Driver version + const ALCchar* al_version = alGetString(AL_VERSION); From 1585751d94403dc887b51bd40ab098a4a8a478ea Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 14 Mar 2025 09:44:55 -0500 Subject: [PATCH 24/33] add patch for audio device crash Signed-off-by: Dennis Gilmore --- 0ad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 2e06373..4d238fb 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 29%{?dist} +Release: 30%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) From 577118927baff0bf14f40bf4d3287b0a5482d0e9 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Mon, 14 Jul 2025 14:02:22 -0500 Subject: [PATCH 25/33] miniupnp rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 4d238fb..6b4b0a4 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.0.26 -Release: 30%{?dist} +Release: 31%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -295,6 +295,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jul 14 2025 Gwyn Ciesla - 0.0.26-31 +- miniupnp rebuild. + * Thu Mar 13 2025 Dennis Gilmore - 0.0.26-30 - add patch for audio device crash From a0cfa8cdd293aa5b3c74aadd5522c548761c7323 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Tue, 15 Jul 2025 11:56:59 -0500 Subject: [PATCH 26/33] 0.27.0 --- .gitignore | 1 + 0ad.spec | 73 ++++++++++++++++++++++++++++++------------------------ sources | 2 +- 3 files changed, 43 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 67b5d6f..8859024 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /0ad-0.0.25b-alpha-unix-build.tar.xz /0ad-0.0.26-alpha-unix-build.tar.xz /0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch +/0ad-0.27.0-unix-build.tar.xz diff --git a/0ad.spec b/0ad.spec index 6b4b0a4..7a1116e 100644 --- a/0ad.spec +++ b/0ad.spec @@ -12,7 +12,7 @@ # Does not build with mozjs-78 # source/scriptinterface/ScriptTypes.h:85:2: error: #error Your compiler is trying to use an untested minor version of the SpiderMonkey library. If you are a package maintainer, please make sure to check very carefully that this version does not change the behaviour of the code executed by SpiderMonkey. Different parts of the game (e.g. the multiplayer mode) rely on deterministic behaviour of the JavaScript engine. A simple way for testing this would be playing a network game with one player using the old version and one player using the new version. Another way for testing is running replays and comparing the final hash (check trac.wildfiregames.com/wiki/Debugging#Replaymode). For more information check this link: trac.wildfiregames.com/wiki/Debugging#Outofsync -%bcond_with system_mozjs78 +%bcond_without system_mozjs115 # Remember to rerun licensecheck after every update: # https://bugzilla.redhat.com/show_bug.cgi?id=818401#c46 @@ -26,8 +26,8 @@ %global __requires_exclude ^(libAtlasUI.*\.so|libCollada.*\.so|libmozjs78.*\.so) Name: 0ad -Version: 0.0.26 -Release: 31%{?dist} +Version: 0.27.0 +Release: 1%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -57,7 +57,7 @@ Url: http://play0ad.com # tar Jcf %%{name}-%%{version}-alpha-unix-build.tar.xz %%{name}-%%{version}-alpha Source0: %{name}-%{version}-alpha-unix-build.tar.xz %else -Source0: http://releases.wildfiregames.com/%{name}-%{version}-alpha-unix-build.tar.xz +Source0: http://releases.wildfiregames.com/%{name}-%{version}-unix-build.tar.xz %endif # Simplify checking differences when updating the package @@ -82,6 +82,7 @@ Requires: hicolor-icon-theme BuildRequires: boost-devel BuildRequires: cmake +BuildRequires: cxxtest BuildRequires: desktop-file-utils BuildRequires: enet-devel BuildRequires: gcc-c++ @@ -95,6 +96,7 @@ BuildRequires: libpng-devel BuildRequires: libsodium-devel BuildRequires: libvorbis-devel BuildRequires: libxml2-devel +BuilDrequires: libuuid-devel BuildRequires: libzip-devel BuildRequires: make BuildRequires: miniupnpc-devel @@ -109,7 +111,7 @@ BuildRequires: valgrind-devel BuildRequires: wxGTK-devel BuildRequires: /usr/bin/appstream-util -%if %{without system_mozjs78} +%if %{without system_mozjs115} # bundled mozjs BuildRequires: pkgconfig(nspr) BuildRequires: pkgconfig(libffi) @@ -121,17 +123,17 @@ BuildRequires: /usr/bin/zip # for patching bundled mozjs BuildRequires: git-core %else -BuildRequires: pkgconfig(mozjs-78) +BuildRequires: pkgconfig(mozjs-115) %endif # bundled mozjs: For build time tests only BuildRequires: python3.11-devel BuildRequires: perl-devel -ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 -%if %{without system_mozjs78} -Provides: bundled(mozjs) = 78 +%if %{without system_mozjs115} +Provides: bundled(mozjs) = 115 %endif # Only do fcollada debug build with enabling debug maintainer mode @@ -167,27 +169,27 @@ hobbyist game developers, since 2001. #----------------------------------------------------------------------- %prep -%setup -q -n %{name}-%{version}-alpha +%setup -q -n %{name}-%{version} %if ! %{with debug} # disable debug build, and "int 0x3" to trap to debugger (x86 only) -%patch -P1 -p0 +#%%patch -P1 -p0 %endif -%patch -P2 -p0 +#%%patch -P2 -p0 # Patch bundled mozjs for Python 3.11 and setuptools 60+ compatibility -%patch -P3 -p1 -sed -e 's|__SOURCE3__|%{SOURCE3}|' \ - -e 's|__SOURCE4__|%{SOURCE4}|' \ - -i libraries/source/spidermonkey/patch.sh +#%%patch -P3 -p1 +#sed -e 's|__SOURCE3__|%{SOURCE3}|' \ +# -e 's|__SOURCE4__|%{SOURCE4}|' \ +# -i libraries/source/spidermonkey/patch.sh -%patch -P4 -p1 -%patch -P5 -p1 -%patch -P6 -p1 -%patch -P7 -p1 -%patch -P8 -p1 -%patch -P9 -p1 -%patch -P10 -p1 +#%%patch -P4 -p1 +#%%patch -P5 -p1 +#%%patch -P6 -p1 +#%%patch -P7 -p1 +#%%patch -P8 -p1 +#%%patch -P9 -p1 +#%%patch -P10 -p1 %if %{with system_nvtt} rm -fr libraries/source/nvtt @@ -207,11 +209,15 @@ rm -fr libraries/source/valgrind # https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/243#comment-134252 unset RUSTFLAGS +./libraries/source/premake-core/build.sh +./libraries/source/cxxtest-4.4/build.sh +./libraries/source/fcollada/build.sh + build/workspaces/update-workspaces.sh \ --bindir=%{_bindir} \ --datadir=%{_datadir}/%{name} \ --libdir=%{_libdir}/%{name} \ -%if %{with system_mozjs78} +%if %{with system_mozjs115} --with-system-mozjs \ %endif %if %{with system_nvtt} @@ -241,11 +247,11 @@ for name in nvcore nvimage nvmath nvtt; do done %endif -%if %{without system_mozjs78} +%if %{without system_mozjs115} %if %{with debug} -name=mozjs78-ps-debug +name=mozjs115-ps-debug %else -name=mozjs78-ps-release +name=mozjs115-ps-release %endif install -p -m 755 binaries/system/lib${name}.so %{buildroot}%{_libdir}/%{name}/lib${name}.so %endif @@ -273,17 +279,17 @@ export STRIP=/bin/true #----------------------------------------------------------------------- %check # Depends on availablity of nvtt -%if %{with nvtt} -LD_LIBRARY_PATH=binaries/system binaries/system/test%{dbg} -libdir binaries/system -%endif +#%%if %{with nvtt} +#LD_LIBRARY_PATH=binaries/system binaries/system/test%{dbg} -libdir binaries/system +#%%endif appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/0ad.appdata.xml desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop #----------------------------------------------------------------------- %files -%doc README.txt -%license LICENSE.txt +%doc README.md +%license LICENSE.md %license license_gpl-2.0.txt license_lgpl-2.1.txt license_mit.txt %{_bindir}/0ad %{_bindir}/pyrogenesis%{dbg} @@ -295,6 +301,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jul 14 2025 Gwyn Ciesla - 0.27.0-1 +- 0.27.0, drop ppc64le, unsupported by premake. + * Mon Jul 14 2025 Gwyn Ciesla - 0.0.26-31 - miniupnp rebuild. diff --git a/sources b/sources index 3083cb1..8f29904 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (0ad-0.0.26-alpha-unix-build.tar.xz) = aaf647d5d8454c244015d2a198beeaaebc571a5bc96446f3acff8dbd05f9843029c500bf4162651a5e1fcdb42bd5fb5b4f5c512c78372479fbd8565dd093f272 +SHA512 (0ad-0.27.0-unix-build.tar.xz) = c22dc99f873924dab21737a9ac2d85c5a250acd094d61e15ce1b196dbd2d9315f0d31712cc6056b1bfc32aebb4e6c5beaa60bde4e05cb70aa662dea28e47210e SHA512 (0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch) = 0b9107cc6d5abc57f1a63dec435e1e5e836caeb0a27e32e77c2d60f67fd598c195e93540139ebf1a9bbaabf84b9ece2986282c829a7c056384e54e2dece2532d From 51ba1bc1cb1f3dd38d09acfbf884fcb7458077ae Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Thu, 17 Jul 2025 13:19:52 -0500 Subject: [PATCH 27/33] 0.27.1 --- .gitignore | 1 + 0ad.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8859024..3b3d5d1 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /0ad-0.0.26-alpha-unix-build.tar.xz /0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch /0ad-0.27.0-unix-build.tar.xz +/0ad-0.27.1-unix-build.tar.xz diff --git a/0ad.spec b/0ad.spec index 7a1116e..2deac95 100644 --- a/0ad.spec +++ b/0ad.spec @@ -26,7 +26,7 @@ %global __requires_exclude ^(libAtlasUI.*\.so|libCollada.*\.so|libmozjs78.*\.so) Name: 0ad -Version: 0.27.0 +Version: 0.27.1 Release: 1%{?dist} # BSD License: # build/premake/* @@ -301,6 +301,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Thu Jul 17 2025 Gwyn Ciesla - 0.27.1-1 +- 0.27.1 + * Mon Jul 14 2025 Gwyn Ciesla - 0.27.0-1 - 0.27.0, drop ppc64le, unsupported by premake. diff --git a/sources b/sources index 8f29904..7b2c262 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (0ad-0.27.0-unix-build.tar.xz) = c22dc99f873924dab21737a9ac2d85c5a250acd094d61e15ce1b196dbd2d9315f0d31712cc6056b1bfc32aebb4e6c5beaa60bde4e05cb70aa662dea28e47210e +SHA512 (0ad-0.27.1-unix-build.tar.xz) = 7ddc355afed44511f3c62bb4119e308f921fc9624980a3171853d923042777eeb248a1ce326d3768f23596d75e8346025321d7d72d6fa3b1106a5818ca62b40d SHA512 (0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch) = 0b9107cc6d5abc57f1a63dec435e1e5e836caeb0a27e32e77c2d60f67fd598c195e93540139ebf1a9bbaabf84b9ece2986282c829a7c056384e54e2dece2532d From 621e4ab83cfaa8213855d0d476df47245033e29d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 15:38:34 +0000 Subject: [PATCH 28/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 2deac95..d36da3a 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 1%{?dist} +Release: 2%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -301,6 +301,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 0.27.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jul 17 2025 Gwyn Ciesla - 0.27.1-1 - 0.27.1 From 229b20b062f7733558d1e43866ed8164531f4374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Wed, 6 Aug 2025 09:52:14 +0200 Subject: [PATCH 29/33] Rebuilt for icu 77.1 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index d36da3a..cc5fcdf 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 2%{?dist} +Release: 3%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -301,6 +301,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Wed Aug 06 2025 František Zatloukal - 0.27.1-3 +- Rebuilt for icu 77.1 + * Wed Jul 23 2025 Fedora Release Engineering - 0.27.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 8bef6214a556bb5759e7d24d4bd2f9c120aa4210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Fri, 8 Aug 2025 09:57:23 +0200 Subject: [PATCH 30/33] Rebuild for mozjs115 rebuilt with icu 77.1 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index cc5fcdf..a21257c 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 3%{?dist} +Release: 4%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -301,6 +301,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Fri Aug 08 2025 František Zatloukal - 0.27.1-4 +- Rebuild for mozjs115 rebuilt with icu 77.1 + * Wed Aug 06 2025 František Zatloukal - 0.27.1-3 - Rebuilt for icu 77.1 From d8b682c1bafb5a6d214fdff807007a51c0c9eaab Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Wed, 22 Oct 2025 21:56:03 -0500 Subject: [PATCH 31/33] Re-enable ppc64le --- .gitignore | 1 + 0ad.spec | 16 +- ...3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch | 11 + ...04987ef134edea2b87d5f97996219206cebb.patch | 217 ++++++++++++++++++ sources | 1 + 5 files changed, 244 insertions(+), 2 deletions(-) create mode 100644 59cb3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch create mode 100644 638c04987ef134edea2b87d5f97996219206cebb.patch diff --git a/.gitignore b/.gitignore index 3b3d5d1..4c581ab 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch /0ad-0.27.0-unix-build.tar.xz /0ad-0.27.1-unix-build.tar.xz +/premake-core-5.0.0-beta7.tar.gz diff --git a/0ad.spec b/0ad.spec index a21257c..2feb805 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 4%{?dist} +Release: 5%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -77,6 +77,8 @@ Source2: %{name}.6 Source3: 0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch Source4: 0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch +Source5: premake-core-5.0.0-beta7.tar.gz + Requires: %{name}-data = %{version} Requires: hicolor-icon-theme @@ -130,7 +132,7 @@ BuildRequires: pkgconfig(mozjs-115) BuildRequires: python3.11-devel BuildRequires: perl-devel -ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %if %{without system_mozjs115} Provides: bundled(mozjs) = 115 @@ -154,6 +156,9 @@ Patch9: 0ad-icu76.patch # pulled from https://gitlab.archlinux.org/archlinux/packaging/packages/0ad/-/blob/a26-20/49507c04e027b0d48e050bfc38ae2b631d7403c7.patch # due to 500 errors upstream Patch10: 49507c04e027b0d48e050bfc38ae2b631d7403c7.patch +# Re-enable ppc64le +Patch11: 638c04987ef134edea2b87d5f97996219206cebb.patch +Patch12: 59cb3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch %description 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform @@ -190,6 +195,10 @@ hobbyist game developers, since 2001. #%%patch -P8 -p1 #%%patch -P9 -p1 #%%patch -P10 -p1 +%patch -P11 -p1 +%patch -P12 -p1 + +cp %{SOURCE5} libraries/source/premake-core/ %if %{with system_nvtt} rm -fr libraries/source/nvtt @@ -301,6 +310,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Tue Sep 23 2025 Gwyn Ciesla - 0.27.1-5 +- Re-enable ppc64le + * Fri Aug 08 2025 František Zatloukal - 0.27.1-4 - Rebuild for mozjs115 rebuilt with icu 77.1 diff --git a/59cb3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch b/59cb3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch new file mode 100644 index 0000000..bf61c03 --- /dev/null +++ b/59cb3cd67b2b51a5bcc9d052d8d77e2f2a4b89b7.patch @@ -0,0 +1,11 @@ +--- 0ad-0.27.1/libraries/source/premake-core/build.sh~ 2025-07-14 09:31:46.000000000 -0500 ++++ 0ad-0.27.1/libraries/source/premake-core/build.sh 2025-10-22 13:12:20.324058370 -0500 +@@ -8,7 +8,7 @@ + + cd "$(dirname "$0")" + +-PV=5.0.0-beta4 ++PV=5.0.0-beta7 + LIB_VERSION=${PV}+wfg0 + + fetch() diff --git a/638c04987ef134edea2b87d5f97996219206cebb.patch b/638c04987ef134edea2b87d5f97996219206cebb.patch new file mode 100644 index 0000000..945f9a8 --- /dev/null +++ b/638c04987ef134edea2b87d5f97996219206cebb.patch @@ -0,0 +1,217 @@ +From 638c04987ef134edea2b87d5f97996219206cebb Mon Sep 17 00:00:00 2001 +From: Ralph Sennhauser +Date: Wed, 19 Feb 2025 20:07:09 +0100 +Subject: [PATCH] Bump premake to version 5.0.0-beta6 + +This makes 5.0.0-beta5 the minimally supported version as the gmake2 +action was renamed to gmake while gmake was renamed to gmakelegacy. So +from now on gmake action is to be used. + +Clear out all old version dependent code. + +Fixes: #7789 +Signed-off-by: Ralph Sennhauser +--- + build/premake/cxxtest/cxxtest.lua | 6 ++-- + build/premake/extern_libs5.lua | 48 ++++---------------------- + build/premake/pkgconfig/pkgconfig.lua | 26 +++----------- + build/premake/premake5.lua | 24 ++++++------- + build/workspaces/update-workspaces.sh | 4 +-- + libraries/get-windows-libs.bat | 2 +- + libraries/source/premake-core/build.sh | 4 +-- + 7 files changed, 31 insertions(+), 83 deletions(-) + +diff --git a/build/premake/cxxtest/cxxtest.lua b/build/premake/cxxtest/cxxtest.lua +index 70840b70a2..c9e35d5c26 100644 +--- a/build/premake/cxxtest/cxxtest.lua ++++ b/build/premake/cxxtest/cxxtest.lua +@@ -41,7 +41,7 @@ function m.init(have_std, have_eh, runner, includes, root_includes) + + -- With gmake, create a Utility project that generates the test root file + -- This is a workaround for https://github.com/premake/premake-core/issues/286 +- if _ACTION == "gmake2" then ++ if _ACTION == "gmake" then + project "cxxtestroot" + kind "Makefile" + +@@ -64,7 +64,7 @@ function m.configure_project(hdrfiles) + + -- Generate the root file, or make sure the utility for generating + -- it is a dependancy with gmake. +- if _ACTION == "gmake2" then ++ if _ACTION == "gmake" then + dependson { "cxxtestroot" } + else + prebuildmessage 'Generating test root file' +@@ -92,7 +92,7 @@ function m.configure_project(hdrfiles) + + -- Add source files + files { "%{wks.location}/generated/test_root.cpp" } +- if not (_ACTION == "gmake2") then ++ if not (_ACTION == "gmake") then + for _,hdrfile in ipairs(hdrfiles) do + local srcfile = "%{wks.location}/generated/".. path.getbasename(hdrfile) .. ".cpp" + files { srcfile } +diff --git a/build/premake/extern_libs5.lua b/build/premake/extern_libs5.lua +index 575b7f1dc0..b70df7d620 100644 +--- a/build/premake/extern_libs5.lua ++++ b/build/premake/extern_libs5.lua +@@ -38,33 +38,15 @@ local function add_source_lib_paths(extern_lib) + end + + local function add_default_include_paths(extern_lib) +- -- As of premake5-beta2, `sysincludedirs` has been deprecated in favour of +- -- `externalincludedirs`, and continuing to use it causes warnings to be emitted. +- -- +- -- We use `externalincludedirs` when available to prevent the warnings, falling back +- -- to `sysincludedirs` when not to prevent breakage of the `--with-system-premake5` +- -- build argument. +- if externalincludedirs then +- externalincludedirs { libraries_dir .. extern_lib .. "/include" } +- else +- sysincludedirs { libraries_dir .. extern_lib .. "/include" } +- end ++ externalincludedirs { libraries_dir .. extern_lib .. "/include" } + end + + local function add_source_include_paths(extern_lib) +- if externalincludedirs then +- externalincludedirs { libraries_source_dir .. extern_lib .. "/include" } +- else +- sysincludedirs { libraries_source_dir .. extern_lib .. "/include" } +- end ++ externalincludedirs { libraries_source_dir .. extern_lib .. "/include" } + end + + local function add_third_party_include_paths(extern_lib) +- if externalincludedirs then +- externalincludedirs { third_party_source_dir .. extern_lib .. "/include" } +- else +- sysincludedirs { third_party_source_dir .. extern_lib .. "/include" } +- end ++ externalincludedirs { third_party_source_dir .. extern_lib .. "/include" } + end + + local function wx_config_path() +@@ -239,11 +221,7 @@ extern_lib_defs = { + end + -- TODO: This actually applies to most libraries we use on BSDs, make this a global setting. + if os.istarget("bsd") then +- if externalincludedirs then +- externalincludedirs { "/usr/local/include" } +- else +- sysincludedirs { "/usr/local/include" } +- end ++ externalincludedirs { "/usr/local/include" } + end + end, + link_settings = function() +@@ -274,11 +252,7 @@ extern_lib_defs = { + cxxtest = { + compile_settings = function() + if not _OPTIONS["with-system-cxxtest"] then +- if externalincludedirs then +- externalincludedirs { libraries_source_dir .. "cxxtest-4.4" } +- else +- sysincludedirs { libraries_source_dir .. "cxxtest-4.4" } +- end ++ externalincludedirs { libraries_source_dir .. "cxxtest-4.4" } + -- Upstream uses WIN32 instead of _WIN32 define + if os.istarget("windows") then + defines { "WIN32" } +@@ -658,18 +632,10 @@ extern_lib_defs = { + end + else + filter "Debug" +- if externalincludedirs then +- externalincludedirs { libraries_source_dir.."spidermonkey/include-debug" } +- else +- sysincludedirs { libraries_source_dir.."spidermonkey/include-debug" } +- end ++ externalincludedirs { libraries_source_dir.."spidermonkey/include-debug" } + defines { "DEBUG" } + filter "Release" +- if externalincludedirs then +- externalincludedirs { libraries_source_dir.."spidermonkey/include-release" } +- else +- sysincludedirs { libraries_source_dir.."spidermonkey/include-release" } +- end ++ externalincludedirs { libraries_source_dir.."spidermonkey/include-release" } + filter { } + end + end, +diff --git a/build/premake/pkgconfig/pkgconfig.lua b/build/premake/pkgconfig/pkgconfig.lua +index 28d20490bd..1f06c8b0ad 100644 +--- a/build/premake/pkgconfig/pkgconfig.lua ++++ b/build/premake/pkgconfig/pkgconfig.lua +@@ -47,33 +47,17 @@ end + function m.add_includes(lib, alternative_cmd, alternative_flags) + local dirs, files, options = parse_pkg_config_includes(lib, alternative_cmd, alternative_flags) + +- -- As of premake5-beta2, `sysincludedirs` has been deprecated in favour of +- -- `externalincludedirs`, and continuing to use it causes warnings to be emitted. +- -- We use `externalincludedirs` when available to prevent the warnings, falling back +- -- to `sysincludedirs` when not to prevent breakage of the `--with-system-premake5` +- -- build argument. +- if externalincludedirs then +- externalincludedirs(dirs) +- else +- sysincludedirs(dirs) +- end +- ++ externalincludedirs(dirs) + forceincludes(files) + buildoptions(options) + end + + function m.add_includes_after(lib, alternative_cmd, alternative_flags) +- -- Support for includedirsafter was added after the 5.0.0-beta2 release. +- -- Fall back if unavailable to support `--with-system-premake5` +- if includedirsafter then +- local dirs, files, options = parse_pkg_config_includes(lib, alternative_cmd, alternative_flags) ++ local dirs, files, options = parse_pkg_config_includes(lib, alternative_cmd, alternative_flags) + +- includedirsafter(dirs) +- forceincludes(files) +- buildoptions(options) +- else +- m.add_includes(lib, alternative_cmd, alternative_flags) +- end ++ includedirsafter(dirs) ++ forceincludes(files) ++ buildoptions(options) + end + + function m.add_links(lib, alternative_cmd, alternative_flags) +diff --git a/build/workspaces/update-workspaces.sh b/build/workspaces/update-workspaces.sh +index 566546e344..c5a5fb89cd 100755 +--- a/build/workspaces/update-workspaces.sh ++++ b/build/workspaces/update-workspaces.sh +@@ -48,10 +48,10 @@ export HOSTTYPE="$HOSTTYPE" + echo "Premake args: ${premake_args}" + if [ "$OS" != "Darwin" ]; then + # shellcheck disable=SC2086 +- ${premake_command} --file="premake5.lua" --outpath="../workspaces/gcc/" ${premake_args} gmake2 || die "Premake failed" ++ ${premake_command} --file="premake5.lua" --outpath="../workspaces/gcc/" ${premake_args} gmake || die "Premake failed" + else + # shellcheck disable=SC2086 +- ${premake_command} --file="premake5.lua" --outpath="../workspaces/gcc/" --macosx-version-min="${MIN_OSX_VERSION}" ${premake_args} gmake2 || die "Premake failed" ++ ${premake_command} --file="premake5.lua" --outpath="../workspaces/gcc/" --macosx-version-min="${MIN_OSX_VERSION}" ${premake_args} gmake || die "Premake failed" + # Also generate xcode workspaces if on OS X + # shellcheck disable=SC2086 + ${premake_command} --file="premake5.lua" --outpath="../workspaces/xcode4" --macosx-version-min="${MIN_OSX_VERSION}" ${premake_args} xcode4 || die "Premake failed" +--- 0ad-0.27.1/build/premake/premake5.lua~ 2025-07-14 09:31:46.000000000 -0500 ++++ 0ad-0.27.1/build/premake/premake5.lua 2025-10-22 15:09:46.033963492 -0500 +@@ -28,12 +28,6 @@ + newoption { trigger = "datadir", description = "Directory for data files (typically '/usr/share/games/0ad'); default is ../data/ relative to executable" } + newoption { trigger = "libdir", description = "Directory for libraries (typically '/usr/lib/games/0ad'); default is ./ relative to executable" } + +-if _ACTION == "gmake" then +- print("Premake action 'gmake' is no longer supported by pyrogenesis, use 'gmake2'") +- print("Example: 'premake5 --file=build/premake/premake5.lua gmake2'") +- os.exit(1) +-end +- + -- On Windows check if wxWidgets is available, if not disable atlas and emit warning. + -- This is because there are currently not prebuilt binaries provided. + if not _OPTIONS["without-atlas"] and os.istarget("windows") then diff --git a/sources b/sources index 7b2c262..54bcdf6 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (0ad-0.27.1-unix-build.tar.xz) = 7ddc355afed44511f3c62bb4119e308f921fc9624980a3171853d923042777eeb248a1ce326d3768f23596d75e8346025321d7d72d6fa3b1106a5818ca62b40d SHA512 (0001-Bug-1654457-Update-virtualenv-to-20.0.31.-r-mhentges.patch) = 0b9107cc6d5abc57f1a63dec435e1e5e836caeb0a27e32e77c2d60f67fd598c195e93540139ebf1a9bbaabf84b9ece2986282c829a7c056384e54e2dece2532d +SHA512 (premake-core-5.0.0-beta7.tar.gz) = b6ed480c85db82d749b22b1b97537da525d8eb062514766393c1ff4fc8077289c0037200b7bc260754f320fd5d9c109cb56adbaeec59d485cd95728564927499 From 8ad766b5220366b5a363615ca249e857852699f6 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 12 Jan 2026 11:57:57 +0000 Subject: [PATCH 32/33] Rebuilt for Boost 1.90 --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 2feb805..2326c3e 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 5%{?dist} +Release: 6%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -310,6 +310,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Mon Jan 12 2026 Jonathan Wakely - 0.27.1-6 +- Rebuilt for Boost 1.90 + * Tue Sep 23 2025 Gwyn Ciesla - 0.27.1-5 - Re-enable ppc64le From 70ffd6836a325c88756f52d4b03bfa8f9a0a0bf5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 02:24:58 +0000 Subject: [PATCH 33/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- 0ad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/0ad.spec b/0ad.spec index 2326c3e..1835a42 100644 --- a/0ad.spec +++ b/0ad.spec @@ -27,7 +27,7 @@ Name: 0ad Version: 0.27.1 -Release: 6%{?dist} +Release: 7%{?dist} # BSD License: # build/premake/* # libraries/source/miniupnpc/* (not built/used) @@ -310,6 +310,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop %{_mandir}/man6/*.6* %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 0.27.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Mon Jan 12 2026 Jonathan Wakely - 0.27.1-6 - Rebuilt for Boost 1.90