diff options
Diffstat (limited to 'games/0ad')
-rw-r--r-- | games/0ad/0ad-fcollada.patch | 41 | ||||
-rw-r--r-- | games/0ad/0ad.SlackBuild | 23 | ||||
-rw-r--r-- | games/0ad/icu68.patch | 17 |
3 files changed, 76 insertions, 5 deletions
diff --git a/games/0ad/0ad-fcollada.patch b/games/0ad/0ad-fcollada.patch new file mode 100644 index 0000000000..1a5ba23837 --- /dev/null +++ b/games/0ad/0ad-fcollada.patch @@ -0,0 +1,41 @@ +diff -up 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h.orig 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h +--- 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h.orig 2020-03-30 16:28:20.011982827 -0300 ++++ 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h 2020-03-31 11:43:27.669098382 -0300 +@@ -553,7 +553,16 @@ public: +
+ static void WritePhysicsRigidBodyParameters(FCDPhysicsRigidBodyParameters* physicsRigidBodyParameters, xmlNode* techniqueNode);
+ template <class TYPE, int QUAL>
+- static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value);
++ static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value) { ++ xmlNode* paramNode = AddChild(parentNode, name); ++ AddContent(paramNode, FUStringConversion::ToString((TYPE&) value)); ++ if (value.IsAnimated()) ++ { ++ const FCDAnimated* animated = value.GetAnimated(); ++ FArchiveXML::WriteAnimatedValue(animated, paramNode, name); ++ } ++ return paramNode; ++ } +
+
+ //
+diff -up 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp.orig 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp +--- 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp.orig 2008-09-07 19:13:25.000000000 -0300 ++++ 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp 2020-03-31 11:43:24.577115067 -0300 +@@ -329,16 +329,3 @@ void FArchiveXML::WritePhysicsRigidBodyP + FArchiveXML::LetWriteObject(physicsRigidBodyParameters->GetPhysicsShape(i), techniqueNode);
+ }
+ }
+-
+-template <class TYPE, int QUAL>
+-xmlNode* FArchiveXML::AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value)
+-{
+- xmlNode* paramNode = AddChild(parentNode, name);
+- AddContent(paramNode, FUStringConversion::ToString((TYPE&) value));
+- if (value.IsAnimated())
+- {
+- const FCDAnimated* animated = value.GetAnimated();
+- FArchiveXML::WriteAnimatedValue(animated, paramNode, name);
+- }
+- return paramNode;
+-}
diff --git a/games/0ad/0ad.SlackBuild b/games/0ad/0ad.SlackBuild index 514f61c116..0b6bfa6588 100644 --- a/games/0ad/0ad.SlackBuild +++ b/games/0ad/0ad.SlackBuild @@ -72,14 +72,20 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +unset CPPFLAGS + export CFLAGS="$SLKCFLAGS" -export CXXFLAGS="$SLKCFLAGS -fpermissive" -# and yes, it's really necessary to set CPPFLAGS like this :( -export CPPFLAGS="$SLKCFLAGS -fpermissive" +export CXXFLAGS="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1" export LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" +export SDL2_CONFIG="/usr/bin/sdl2-config" -# Fix boost names -sed -i 's/-mt//g' build/premake/extern_libs4.lua +# Fix boost names, include paths and remove isystem +sed -i 's|-mt||g' build/premake/extern_libs5.lua +sed -i 's|/usr/local/include|/usr/include|' build/premake/{extern_libs5.lua,premake5.lua} +sed -i 's|-isystem |-I|' build/premake/premake5/{src/tools/gcc.lua,tests/tools/test_gcc.lua} + +sed -i '/third_party/a #include <deque>' source/ps/CLogger.h +sed -i '/ps\/Profiler2/a #include <stack>' source/ps/Profiler2GPU.cpp #allow for ATLAS to be yes. [ "x$ATLAS" = "xyes" ]&& ATLAS="enable" @@ -90,12 +96,19 @@ patch -p1 < $CWD/disable-root-check.patch #sourced from https://code.wildfiregames.com/file/data/nryu3qhun4v6uroyiqoc/PHID-FILE-osgvknec7zmfuja5xqq4/D1852.diff patch -p2 < $CWD/D1852.diff +# Patch for gcc >= 10.x and icu4c >= 68.x +patch -p1 < $CWD/0ad-fcollada.patch +patch -p0 < $CWD/icu68.patch + build/workspaces/update-workspaces.sh \ + --without-pch \ --bindir=/usr/games \ --datadir=/usr/share/games/0ad \ --libdir=/usr/lib${LIBDIRSUFFIX}/0ad \ --${ATLAS:-disable}-atlas +sed -i 's|-isystem |-I|g' build/workspaces/gcc/*.make + make CONFIG=Release -C build/workspaces/gcc mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/0ad diff --git a/games/0ad/icu68.patch b/games/0ad/icu68.patch new file mode 100644 index 0000000000..5e9199d895 --- /dev/null +++ b/games/0ad/icu68.patch @@ -0,0 +1,17 @@ +Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844 + +../../../source/i18n/L10n.cpp:208:82: error: use of undeclared identifier 'TRUE' + currentLocaleIsOriginalGameLocale = (currentLocale == icu::Locale::getUS()) == TRUE; + ^ + +--- source/i18n/L10n.cpp.orig 2018-04-10 18:13:32 UTC ++++ source/i18n/L10n.cpp +@@ -205,7 +205,7 @@ void L10n::ReevaluateCurrentLocaleAndReload() + else + { + GetDictionaryLocale(locale, currentLocale); +- currentLocaleIsOriginalGameLocale = (currentLocale == icu::Locale::getUS()) == TRUE; ++ currentLocaleIsOriginalGameLocale = (currentLocale == icu::Locale::getUS()) == true; + useLongStrings = false; + } + LoadDictionaryForCurrentLocale(); |