diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2022-03-17 19:48:20 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2022-03-18 16:01:29 +0000 |
commit | 58bb6e25dabbff3fd1c59c2cc696606d3a3feb20 (patch) | |
tree | b5eaee7de3e8e6360ad8145026bfae7f41137f9b | |
parent | 98f5f7f0f4b04633ecd9b7145303687dd9d3f97b (diff) | |
download | ports-58bb6e25dabbff3fd1c59c2cc696606d3a3feb20.tar.gz ports-58bb6e25dabbff3fd1c59c2cc696606d3a3feb20.zip |
games/spring: update 105.0.1 → 106.0.1
- Remove some patches which were upstreamed after the previous update
- Simplify passing port version to the build system, it now supports
passing through a file
- Consolidate most remaining patches into two larger topic chunks
for easier handling and upstreaming; ramaining patches will be
upstreamed in this go
27 files changed, 228 insertions, 397 deletions
diff --git a/games/spring/Makefile b/games/spring/Makefile index 0e25bcea07d6..b1e846cdaee7 100644 --- a/games/spring/Makefile +++ b/games/spring/Makefile @@ -1,5 +1,5 @@ PORTNAME= spring -PORTVERSION= 105.0.1 +PORTVERSION= 106.0.1 CATEGORIES= games MAINTAINER= amdmi3@FreeBSD.org @@ -25,17 +25,17 @@ ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= relies on x86 floating-point math and amd64 atomic ops USE_GITHUB= yes -GH_TUPLE= spring:Python:3bb6837:Python/AI/Interfaces/Python \ - spring:AAI:a15f45c:AAI/AI/Skirmish/AAI \ - spring:CircuitAI:91fd31e:CircuitAI/AI/Skirmish/CircuitAI \ - spring:HughAI:1a11f5a:HughAI/AI/Skirmish/HughAI \ - spring:KAIK:f6bdd3e:KAIK/AI/Skirmish/KAIK \ - spring:Shard:75339ae:Shard/AI/Skirmish/Shard \ - spring:SpringMapConvNG:76429b4:SprintMapConvNG/tools/mapcompile \ - spring:pr-downloader:67423a3:pr_downloader/tools/pr-downloader \ - spring:pyunitsync:6e1b3fd:pyunitsync/tools/unitsync/python +GH_TUPLE= spring:Python:b69a4ea:Python/AI/Interfaces/Python \ + spring:AAI:fba6d98:AAI/AI/Skirmish/AAI \ + spring:CircuitAI:307daf7:CircuitAI/AI/Skirmish/CircuitAI \ + spring:HughAI:2866476:HughAI/AI/Skirmish/HughAI \ + spring:KAIK:2d9333e:KAIK/AI/Skirmish/KAIK \ + spring:Shard:c551e5e:Shard/AI/Skirmish/Shard \ + spring:SpringMapConvNG:0ddd86e:SprintMapConvNG/tools/mapcompile \ + spring:pr-downloader:68b7dae:pr_downloader/tools/pr-downloader \ + spring:pyunitsync:8dfe0bc:pyunitsync/tools/unitsync/python -USES= cmake compiler:c++11-lib desktop-file-utils gl localbase:ldflags \ +USES= cmake compiler:c++17-lang desktop-file-utils gl localbase:ldflags \ openal:al pkgconfig sdl shared-mime-info xorg USE_GL= gl glu glew USE_SDL= sdl2 @@ -46,8 +46,6 @@ CMAKE_ARGS= -DDATADIR:STRING="share/${PORTNAME}" \ -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE \ -Wno-dev -MAKE_ENV= PORTVERSION="${PORTVERSION:R}" # build system expects 2 digit version - .if defined(WITH_SYNC_DEBUG) CFLAGS= # empty CXXFLAGS= # empty @@ -70,7 +68,12 @@ MANPAGES_BUILD_DEPENDS= asciidoc:textproc/asciidoc \ ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ bash:shells/bash +post-extract: + # build system expects 2 digit version + @${ECHO_CMD} ${PORTVERSION:R} > ${WRKSRC}/VERSION + post-patch: + @${REINPLACE_CMD} -i '' -e 's|LEGACY|OPENGL4|' ${WRKSRC}/doc/manpages/spring.6.txt .if defined(WITH_OPTIONAL_GS4) # allows minimal runtest with older hardware @${REINPLACE_CMD} -e '/GLEW_ARB_geometry_shader4/ s|CHECK_REQ_EXT|CHECK_OPT_EXT|' ${WRKSRC}/rts/Rendering/GlobalRendering.cpp diff --git a/games/spring/distinfo b/games/spring/distinfo index 90c03ccd98ec..3df98bb72c17 100644 --- a/games/spring/distinfo +++ b/games/spring/distinfo @@ -1,21 +1,21 @@ -TIMESTAMP = 1619038665 -SHA256 (spring-spring-105.0.1_GH0.tar.gz) = 975e74540acd6e2f0a1a4965d222ff79b035e152e35edbab982bee4a76a41b22 -SIZE (spring-spring-105.0.1_GH0.tar.gz) = 10625978 -SHA256 (spring-Python-3bb6837_GH0.tar.gz) = 710bb1a7f4835ab4d55a91b95cc7c5f53cfb8a3e2ba528f46d62df4f5a8d632e -SIZE (spring-Python-3bb6837_GH0.tar.gz) = 29519 -SHA256 (spring-AAI-a15f45c_GH0.tar.gz) = 2d3b0922969b28596339f651bd208ce26b9220830cc917f70613368a2a4828ee -SIZE (spring-AAI-a15f45c_GH0.tar.gz) = 137400 -SHA256 (spring-CircuitAI-91fd31e_GH0.tar.gz) = 8d54f79070559cf53bed127421a33ee2d5dc27825364e0ef9008d47e47e91980 -SIZE (spring-CircuitAI-91fd31e_GH0.tar.gz) = 713006 -SHA256 (spring-HughAI-1a11f5a_GH0.tar.gz) = 6caaae79f6435ac74b7f6bd4407f89c5e48f30711932655c9ba64321f8056937 -SIZE (spring-HughAI-1a11f5a_GH0.tar.gz) = 126562 -SHA256 (spring-KAIK-f6bdd3e_GH0.tar.gz) = 20cf1304c94f18f11cc22597e7b88bc57e7125a79541498d9b3b86faa133e63c -SIZE (spring-KAIK-f6bdd3e_GH0.tar.gz) = 97974 -SHA256 (spring-Shard-75339ae_GH0.tar.gz) = 0dc59dc03cc3d92d30abe8f2570a7aa9ec6f80bbe9e8464baedc8810393e7f32 -SIZE (spring-Shard-75339ae_GH0.tar.gz) = 358911 -SHA256 (spring-SpringMapConvNG-76429b4_GH0.tar.gz) = 920a3cc2420feabdd8c8603b407070dfb6b56a65216f0d2e0796e94afa1cb22f -SIZE (spring-SpringMapConvNG-76429b4_GH0.tar.gz) = 21488 -SHA256 (spring-pr-downloader-67423a3_GH0.tar.gz) = f12ff0999bac8b0044eb603975b324e2ca0461c6d4c0bb61e2856300ed6edea1 -SIZE (spring-pr-downloader-67423a3_GH0.tar.gz) = 832323 -SHA256 (spring-pyunitsync-6e1b3fd_GH0.tar.gz) = 3d05a88200337bbac3a8d4a8b92eb4660687fa3948a4aeb87fb07a01b057fa1a -SIZE (spring-pyunitsync-6e1b3fd_GH0.tar.gz) = 131119 +TIMESTAMP = 1647541925 +SHA256 (spring-spring-106.0.1_GH0.tar.gz) = 2097642f8f5d77a5e61ecfea9159e835c4a78085b8ddf4ecaee1891589a98d37 +SIZE (spring-spring-106.0.1_GH0.tar.gz) = 9950280 +SHA256 (spring-Python-b69a4ea_GH0.tar.gz) = e6e0afd2b42c2ec66d0ce1bb5fbfeedc1d5d21646004c4bbf38997f1b64bd7cb +SIZE (spring-Python-b69a4ea_GH0.tar.gz) = 29499 +SHA256 (spring-AAI-fba6d98_GH0.tar.gz) = 091d2d8ff43fb383e0584b74e7b692aec355715e29dd4d9c6e63b4fb237a5c89 +SIZE (spring-AAI-fba6d98_GH0.tar.gz) = 148147 +SHA256 (spring-CircuitAI-307daf7_GH0.tar.gz) = 23189c84cd8966dae042edc9cfcb860bfc23d1250f0d84470dceef9a604a1da8 +SIZE (spring-CircuitAI-307daf7_GH0.tar.gz) = 1455519 +SHA256 (spring-HughAI-2866476_GH0.tar.gz) = d0535163fec89d9db8c4e74a6b0cd1eb78f364130a0a936718bb77ecdb7a754e +SIZE (spring-HughAI-2866476_GH0.tar.gz) = 126578 +SHA256 (spring-KAIK-2d9333e_GH0.tar.gz) = 64a82bd9fedaaf0b7b8802ed71f5b53f833d583f54dddb3ffd539ec767daf7b9 +SIZE (spring-KAIK-2d9333e_GH0.tar.gz) = 97982 +SHA256 (spring-Shard-c551e5e_GH0.tar.gz) = 3c0328a33332c3b8fe9152f2ebf839eee8cebcbd4326fe6745afc327c8114f4d +SIZE (spring-Shard-c551e5e_GH0.tar.gz) = 358900 +SHA256 (spring-SpringMapConvNG-0ddd86e_GH0.tar.gz) = c9840de87cd37cab8bc2e2fc15cad3b177369a0dc8da41c7b8d4513d6355ca31 +SIZE (spring-SpringMapConvNG-0ddd86e_GH0.tar.gz) = 21487 +SHA256 (spring-pr-downloader-68b7dae_GH0.tar.gz) = 4931f0d4d514f7c201f2df85b3696cceb4190309e96edd37891ef6bec14b98b7 +SIZE (spring-pr-downloader-68b7dae_GH0.tar.gz) = 835836 +SHA256 (spring-pyunitsync-8dfe0bc_GH0.tar.gz) = a2fc49738d825016fdbe85b72de3542320f5bf8a640e1651cbb3661a682da281 +SIZE (spring-pyunitsync-8dfe0bc_GH0.tar.gz) = 131086 diff --git a/games/spring/files/patch-AI_Skirmish_CircuitAI_CMakeLists.txt b/games/spring/files/patch-AI_Skirmish_CircuitAI_CMakeLists.txt deleted file mode 100644 index 1c3c40b327d4..000000000000 --- a/games/spring/files/patch-AI_Skirmish_CircuitAI_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- ./AI/Skirmish/CircuitAI/CMakeLists.txt.orig 2021-01-01 16:10:55 UTC -+++ ./AI/Skirmish/CircuitAI/CMakeLists.txt -@@ -9,7 +9,7 @@ if (WIN32) # spring::condition_variable_any requireme - elseif (APPLE) - set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Mac/Signal.cpp) - else () -- set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp) -+ #set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp) - endif () - set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils) - #set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils ${SDL2_LIBRARY}) diff --git a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_module_EconomyManager.h b/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_module_EconomyManager.h deleted file mode 100644 index 38095c6ee024..000000000000 --- a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_module_EconomyManager.h +++ /dev/null @@ -1,13 +0,0 @@ -https://github.com/spring/CircuitAI/pull/17/files - ---- AI/Skirmish/CircuitAI/src/circuit/module/EconomyManager.h.orig 2021-01-01 16:10:55 UTC -+++ AI/Skirmish/CircuitAI/src/circuit/module/EconomyManager.h -@@ -164,7 +164,7 @@ class CEconomyManager: public IModule { (private) - float pull; - int mex; - float fraction; -- inline bool operator< (const SPullMtoS& rhs) { return mex < rhs.mex; } -+ inline bool operator< (const SPullMtoS& rhs) const { return mex < rhs.mex; } - inline bool operator() (const SPullMtoS& lhs, const int rhs) { return lhs.mex < rhs; } - }; - std::vector<SPullMtoS> mspInfos; diff --git a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_setup_SetupManager.cpp b/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_setup_SetupManager.cpp deleted file mode 100644 index 9ecc171de28a..000000000000 --- a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_setup_SetupManager.cpp +++ /dev/null @@ -1,22 +0,0 @@ ---- AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp.orig 2021-01-01 16:10:55 UTC -+++ AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp -@@ -26,6 +26,8 @@ - #include "Info.h" - - #include <regex> -+#include <algorithm> -+#include <random> - - namespace circuit { - -@@ -183,7 +185,9 @@ void CSetupManager::PickStartPos(CCircuitAI* circuit, - c.distDivIncome = center.distance(cl.position) / income; - validClusters.push_back(std::make_pair(kv.first, c)); - } -- std::random_shuffle(validClusters.begin(), validClusters.end()); -+ std::random_device rd; -+ std::minstd_rand g(rd()); -+ std::shuffle(validClusters.begin(), validClusters.end(), g); - - auto cmp = [](const std::pair<int, SCluster>& a, const std::pair<int, SCluster>& b) { - if (a.second.count < b.second.count) { diff --git a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_util_math_EncloseCircle.cpp b/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_util_math_EncloseCircle.cpp deleted file mode 100644 index 0fea91623feb..000000000000 --- a/games/spring/files/patch-AI_Skirmish_CircuitAI_src_circuit_util_math_EncloseCircle.cpp +++ /dev/null @@ -1,21 +0,0 @@ ---- ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp.orig 2021-01-01 16:10:55 UTC -+++ ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp -@@ -9,6 +9,7 @@ - #include "util/utils.h" - - #include <algorithm> -+#include <random> - #include <assert.h> - - namespace circuit { -@@ -48,7 +49,9 @@ void CEncloseCircle::MakeCircle(const std::vector<AIFl - } - // Randomize order - // TODO: Read why shuffle?? -- std::random_shuffle(shuffled.begin(), shuffled.end()); -+ std::random_device rd; -+ std::minstd_rand g(rd()); -+ std::shuffle(shuffled.begin(), shuffled.end(), g); - - // Progressively add points to circle or recompute circle - decltype(shuffled)::iterator it = shuffled.begin(); diff --git a/games/spring/files/patch-futex b/games/spring/files/patch-futex new file mode 100644 index 000000000000..58ebd0d277d7 --- /dev/null +++ b/games/spring/files/patch-futex @@ -0,0 +1,61 @@ +--- ./AI/Skirmish/CircuitAI/CMakeLists.txt.orig 2021-01-01 16:10:55 UTC ++++ ./AI/Skirmish/CircuitAI/CMakeLists.txt +@@ -9,7 +9,7 @@ if (WIN32) # spring::condition_variable_any requireme + elseif (APPLE) + set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Mac/Signal.cpp) + else () +- set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp) ++ #set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp) + endif () + set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils) + #set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils ${SDL2_LIBRARY}) +--- rts/System/CMakeLists.txt.orig 2020-12-26 12:45:43 UTC ++++ rts/System/CMakeLists.txt +@@ -140,7 +140,7 @@ set(sources_engine_System_Threading_Mac + "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp" + ) + set(sources_engine_System_Threading_Linux +- "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/Futex.cpp" ++ "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/ThreadSupport.cpp" + ) + set(sources_engine_System_Threading_Windows +--- rts/System/Platform/Linux/Futex.h.orig 2020-12-26 12:45:43 UTC ++++ rts/System/Platform/Linux/Futex.h +@@ -8,7 +8,7 @@ + #include "System/Misc/SpringTime.h" + + +- ++#ifndef __FreeBSD__ + class spring_futex + { + private: +@@ -32,6 +32,7 @@ class spring_futex (public) + protected: + native_type mtx; + }; ++#endif + + /*FIXME + class recursive_futex +--- rts/System/Threading/SpringThreading.h.orig 2020-12-26 12:45:43 UTC ++++ rts/System/Threading/SpringThreading.h +@@ -13,7 +13,7 @@ + + #if defined(_WIN32) + #include "System/Platform/Win/CriticalSection.h" +-#elif defined(__APPLE__) || !defined(USE_FUTEX) ++#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX) + #include "System/Platform/Mac/Signal.h" + #elif !defined(__APPLE__) && defined(USE_FUTEX) + #include "System/Platform/Linux/Futex.h" +@@ -37,7 +37,7 @@ namespace spring { + typedef CriticalSection recursive_mutex; + typedef win_signal signal; + typedef std::condition_variable_any condition_variable; +-#elif defined(__APPLE__) || !defined(USE_FUTEX) ++#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX) + typedef std::mutex mutex; + typedef std::recursive_mutex recursive_mutex; + typedef mac_signal signal; diff --git a/games/spring/files/patch-rts_Game_CMakeLists.txt b/games/spring/files/patch-rts_Game_CMakeLists.txt deleted file mode 100644 index f4d4b899cd4d..000000000000 --- a/games/spring/files/patch-rts_Game_CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ ---- rts/Game/CMakeLists.txt.orig 2021-01-01 16:12:22 UTC -+++ rts/Game/CMakeLists.txt -@@ -1,3 +1,4 @@ -+set_source_files_properties(GameSetup.cpp PROPERTIES CXX_STANDARD 14) - - # This list was created using this *nix shell command: - # > find . -name "*.cpp" | sort diff --git a/games/spring/files/patch-rts_Game_GameSetup.cpp b/games/spring/files/patch-rts_Game_GameSetup.cpp deleted file mode 100644 index a59f2cbdc615..000000000000 --- a/games/spring/files/patch-rts_Game_GameSetup.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- rts/Game/GameSetup.cpp.orig 2021-01-01 16:12:22 UTC -+++ rts/Game/GameSetup.cpp -@@ -255,7 +255,7 @@ void CGameSetup::LoadStartPositions(bool withoutMap) - // Server syncs these later, so we can use unsynced rng - CGlobalUnsyncedRNG rng; - rng.Seed(HsiehHash(setupText.c_str(), setupText.length(), 1234567)); -- std::random_shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng); -+ std::shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng); - } - - for (size_t i = 0; i < teamStartingData.size(); ++i) diff --git a/games/spring/files/patch-rts_Lua_LuaMaterial.h b/games/spring/files/patch-rts_Lua_LuaMaterial.h deleted file mode 100644 index 1c00a4ce7b0c..000000000000 --- a/games/spring/files/patch-rts_Lua_LuaMaterial.h +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/spring/pull/556 - ---- rts/Lua/LuaMaterial.h.orig 2021-01-01 19:08:25 UTC -+++ rts/Lua/LuaMaterial.h -@@ -6,6 +6,7 @@ - #include <cstring> // strcmp - #include <string> - #include <vector> -+#include <array> - - /* - LuaMaterial diff --git a/games/spring/files/patch-rts_Rendering_Env_Decals_DecalsDrawerGL4.cpp b/games/spring/files/patch-rts_Rendering_Env_Decals_DecalsDrawerGL4.cpp deleted file mode 100644 index a7926c4a645c..000000000000 --- a/games/spring/files/patch-rts_Rendering_Env_Decals_DecalsDrawerGL4.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp.orig 2021-01-01 19:08:25 UTC -+++ rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp -@@ -338,7 +338,7 @@ void CDecalsDrawerGL4::DetectMaxDecals() - decals.resize(maxDecals); - freeIds.resize(maxDecals - 1); // idx = 0 is invalid, so -1 - std::iota(freeIds.begin(), freeIds.end(), 1); // start with 1, 0 is illegal -- std::random_shuffle(freeIds.begin(), freeIds.end(), guRNG); -+ std::shuffle(freeIds.begin(), freeIds.end(), guRNG); - groups.reserve(maxDecalGroups); - } - diff --git a/games/spring/files/patch-rts_Rendering_LineDrawer.h b/games/spring/files/patch-rts_Rendering_LineDrawer.h deleted file mode 100644 index b371fa11960b..000000000000 --- a/games/spring/files/patch-rts_Rendering_LineDrawer.h +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/spring/pull/554 - ---- rts/Rendering/LineDrawer.h.orig 2020-12-26 12:45:43 UTC -+++ rts/Rendering/LineDrawer.h -@@ -4,6 +4,7 @@ - #define _LINE_DRAWER_H - - #include <vector> -+#include <array> - - #include "Game/UI/CursorIcons.h" - #include "Rendering/GL/VertexArrayTypes.h" diff --git a/games/spring/files/patch-rts_Sim_CMakeLists.txt b/games/spring/files/patch-rts_Sim_CMakeLists.txt deleted file mode 100644 index ed43eeb0fa5d..000000000000 --- a/games/spring/files/patch-rts_Sim_CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ ---- rts/Sim/CMakeLists.txt.orig 2021-01-01 16:12:22 UTC -+++ rts/Sim/CMakeLists.txt -@@ -1,3 +1,4 @@ -+set(CMAKE_CXX_STANDARD 14) - - # This list was created using this *nix shell command: - # > find . -name "*.cpp"" | sort diff --git a/games/spring/files/patch-rts_Sim_Misc_SimObjectIDPool.cpp b/games/spring/files/patch-rts_Sim_Misc_SimObjectIDPool.cpp deleted file mode 100644 index 3cd82038751c..000000000000 --- a/games/spring/files/patch-rts_Sim_Misc_SimObjectIDPool.cpp +++ /dev/null @@ -1,13 +0,0 @@ ---- rts/Sim/Misc/SimObjectIDPool.cpp.orig 2020-12-26 12:45:43 UTC -+++ rts/Sim/Misc/SimObjectIDPool.cpp -@@ -25,8 +25,8 @@ void SimObjectIDPool::Expand(unsigned int baseID, unsi - std::generate(newIDs.begin(), newIDs.begin() + numIDs, [&baseID]() { return (baseID++); }); - - // randomize so that Lua widgets can not easily determine counts -- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); -- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); -+ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); -+ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); - - // lambda capture ("[n = baseID]() mutable { return (n++); }") requires std=c++14 - baseID -= numIDs; diff --git a/games/spring/files/patch-rts_Sim_Projectiles_ProjectileHandler.cpp b/games/spring/files/patch-rts_Sim_Projectiles_ProjectileHandler.cpp deleted file mode 100644 index 1bed456ac445..000000000000 --- a/games/spring/files/patch-rts_Sim_Projectiles_ProjectileHandler.cpp +++ /dev/null @@ -1,41 +0,0 @@ ---- rts/Sim/Projectiles/ProjectileHandler.cpp.orig 2020-12-26 12:45:43 UTC -+++ rts/Sim/Projectiles/ProjectileHandler.cpp -@@ -66,6 +66,18 @@ ProjMemPool projMemPool; - CProjectileHandler projectileHandler; - - -+namespace { -+ template<class RandomIt, class RandomFunc> -+ void random_shuffle(RandomIt first, RandomIt last, RandomFunc&& r) -+ { -+ typename std::iterator_traits<RandomIt>::difference_type i, n; -+ n = last - first; -+ for (i = n-1; i > 0; --i) { -+ using std::swap; -+ swap(first[i], first[r(i+1)]); -+ } -+ } -+} - - void CProjectileHandler::Init() - { -@@ -106,8 +118,8 @@ void CProjectileHandler::Init() - freeProjectileIDs[false].push_back(i); - } - -- std::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG); -- std::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG); -+ ::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG); -+ ::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG); - } - - for (int modelType = 0; modelType < MODELTYPE_OTHER; ++modelType) { -@@ -395,7 +407,7 @@ void CProjectileHandler::AddProjectile(CProjectile* p) - - // generate (newSize - oldSize) new id's starting from oldSize - std::for_each(freeIDs.begin(), freeIDs.end(), [k = oldSize](int& id) mutable { id = k++; }); -- std::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc); -+ ::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc); - } - - diff --git a/games/spring/files/patch-rts_System_CMakeLists.txt b/games/spring/files/patch-rts_System_CMakeLists.txt deleted file mode 100644 index 88d381cb27db..000000000000 --- a/games/spring/files/patch-rts_System_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- rts/System/CMakeLists.txt.orig 2020-12-26 12:45:43 UTC -+++ rts/System/CMakeLists.txt -@@ -140,7 +140,7 @@ set(sources_engine_System_Threading_Mac - "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp" - ) - set(sources_engine_System_Threading_Linux -- "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/Futex.cpp" -+ "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/ThreadSupport.cpp" - ) - set(sources_engine_System_Threading_Windows diff --git a/games/spring/files/patch-rts_System_Platform_Linux_Futex.h b/games/spring/files/patch-rts_System_Platform_Linux_Futex.h deleted file mode 100644 index db9fe3a85806..000000000000 --- a/games/spring/files/patch-rts_System_Platform_Linux_Futex.h +++ /dev/null @@ -1,19 +0,0 @@ ---- rts/System/Platform/Linux/Futex.h.orig 2020-12-26 12:45:43 UTC -+++ rts/System/Platform/Linux/Futex.h -@@ -8,7 +8,7 @@ - #include "System/Misc/SpringTime.h" - - -- -+#ifndef __FreeBSD__ - class spring_futex - { - private: -@@ -32,6 +32,7 @@ class spring_futex (public) - protected: - native_type mtx; - }; -+#endif - - /*FIXME - class recursive_futex diff --git a/games/spring/files/patch-rts_System_SpringHashMap.hpp b/games/spring/files/patch-rts_System_SpringHashMap.hpp deleted file mode 100644 index ef2177bd2674..000000000000 --- a/games/spring/files/patch-rts_System_SpringHashMap.hpp +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/spring/pull/555 - ---- rts/System/SpringHashMap.hpp.orig 2021-01-01 16:12:22 UTC -+++ rts/System/SpringHashMap.hpp -@@ -9,6 +9,7 @@ - #include <cstdlib> - #include <iterator> - #include <utility> -+#include <algorithm> - - #define DCHECK_EQ_F(a, b) - #define DCHECK_LT_F(a, b) diff --git a/games/spring/files/patch-rts_System_SpringHashSet.hpp b/games/spring/files/patch-rts_System_SpringHashSet.hpp deleted file mode 100644 index 2b4de466f67b..000000000000 --- a/games/spring/files/patch-rts_System_SpringHashSet.hpp +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/spring/pull/555 - ---- rts/System/SpringHashSet.hpp.orig 2021-01-01 16:12:22 UTC -+++ rts/System/SpringHashSet.hpp -@@ -9,6 +9,7 @@ - #include <cstdlib> // malloc - #include <iterator> - #include <utility> -+#include <algorithm> // fill_n - - #define DCHECK_EQ_F(a, b) - #define DCHECK_LT_F(a, b) diff --git a/games/spring/files/patch-rts_System_Threading_SpringThreading.h b/games/spring/files/patch-rts_System_Threading_SpringThreading.h deleted file mode 100644 index 3444142c45d7..000000000000 --- a/games/spring/files/patch-rts_System_Threading_SpringThreading.h +++ /dev/null @@ -1,20 +0,0 @@ ---- rts/System/Threading/SpringThreading.h.orig 2020-12-26 12:45:43 UTC -+++ rts/System/Threading/SpringThreading.h -@@ -13,7 +13,7 @@ - - #if defined(_WIN32) - #include "System/Platform/Win/CriticalSection.h" --#elif defined(__APPLE__) || !defined(USE_FUTEX) -+#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX) - #include "System/Platform/Mac/Signal.h" - #elif !defined(__APPLE__) && defined(USE_FUTEX) - #include "System/Platform/Linux/Futex.h" -@@ -37,7 +37,7 @@ namespace spring { - typedef CriticalSection recursive_mutex; - typedef win_signal signal; - typedef std::condition_variable_any condition_variable; --#elif defined(__APPLE__) || !defined(USE_FUTEX) -+#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX) - typedef std::mutex mutex; - typedef std::recursive_mutex recursive_mutex; - typedef mac_signal signal; diff --git a/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake b/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake index 248218f7b5e6..2d3c84fed8c7 100644 --- a/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake +++ b/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake @@ -1,60 +1,11 @@ ---- rts/build/cmake/UtilVersion.cmake.orig 2020-12-26 12:45:43 UTC +--- rts/build/cmake/UtilVersion.cmake.orig 2022-01-10 23:00:52 UTC +++ rts/build/cmake/UtilVersion.cmake -@@ -138,56 +138,7 @@ EndMacro (get_version_from_file) - # Sets the following vars: - # - ${prefix}_VERSION - Macro (fetch_spring_version dir prefix) -- # unset the vars -- Set(${prefix}_VERSION) -- Set(${prefix}_VERSION-NOTFOUND) -- -- If (EXISTS "${dir}/.git") -- # Try to fetch version through git -- If (NOT GIT_FOUND) -- Message(FATAL_ERROR "Git repository detected, but git executable not found; failed to fetch ${prefix} version.") -- EndIf (NOT GIT_FOUND) -- -- # Fetch git version info -- git_util_describe(${prefix}_Describe ${dir} "*") -- If (NOT ${prefix}_Describe) -- Message(FATAL_ERROR "Failed to fetch git-describe for ${prefix}.") -- EndIf (NOT ${prefix}_Describe) -- If ("${${prefix}_Describe}" MATCHES "^${VERSION_REGEX_RELEASE}$") -- Set(${prefix}_IsRelease TRUE) -- Else ("${${prefix}_Describe}" MATCHES "^${VERSION_REGEX_RELEASE}$") -- Set(${prefix}_IsRelease FALSE) -- EndIf ("${${prefix}_Describe}" MATCHES "^${VERSION_REGEX_RELEASE}$") -- If (NOT ${prefix}_IsRelease) -- # We always want the long git-describe output on non-releases -- # for example: 83.0.1-0-g1234567 -- git_util_describe(${prefix}_Describe ${dir} "*" --long) -- EndIf (NOT ${prefix}_IsRelease) -- -- Git_Util_Branch(${prefix}_Branch ${dir}) -- If (${prefix}_IsRelease) -- Set(${prefix}_VERSION "${${prefix}_Describe}") -- Else (${prefix}_IsRelease) -- If (NOT ${prefix}_Branch) -- Message(FATAL_ERROR "Failed to fetch the git branch for ${prefix}.") -- EndIf (NOT ${prefix}_Branch) -- Set(${prefix}_VERSION "${${prefix}_Describe} ${${prefix}_Branch}") -- EndIf (${prefix}_IsRelease) -- parse_spring_version(${prefix} "${${prefix}_VERSION}") -- If ("${${prefix}_Branch}" STREQUAL "master") -- If (NOT "${${prefix}_COMMITS}" STREQUAL "" OR NOT "${${prefix}_HASH}" STREQUAL "") -- Message(AUTHOR_WARNING "Commit without a version tag found on branch master for ${prefix}; this indicates a tagging/branching/push error.") -- EndIf (NOT "${${prefix}_COMMITS}" STREQUAL "" OR NOT "${${prefix}_HASH}" STREQUAL "") -- EndIf ("${${prefix}_Branch}" STREQUAL "master") -- Else (EXISTS "${dir}/.git") -- # Try to fetch version through VERSION file -- get_version_from_file(${prefix}_VERSION "${dir}/VERSION") -- If (${${prefix}_VERSION-NOTFOUND}) -- Message(FATAL_ERROR "Failed to fetch ${prefix} version.") -- Else (${${prefix}_VERSION-NOTFOUND}) -- Message(STATUS "${prefix} version fetched from VERSION file: ${${prefix}_VERSION}") -- EndIf (${${prefix}_VERSION-NOTFOUND}) -- EndIf (EXISTS "${dir}/.git") -+ Set(${prefix}_VERSION $ENV{PORTVERSION}) - - if(DEFINED ENV{CI}) - Message(STATUS "Build on travis-ci detected, not checking version (git clone --depth=...)") +@@ -183,7 +183,7 @@ macro (fetch_spring_version dir prefix) + # Try to fetch version through VERSION file + get_version_from_file(${prefix}_VERSION "${dir}/VERSION") + if (${${prefix}_VERSION-NOTFOUND}) +- message (FATAL_ERROR "Failed to fetch ${prefix} version.") ++ message (FATAL_ERROR "Failed to fetch ${prefix} version from ${dir}/VERSION.") + else () + message (STATUS "${prefix} version fetched from VERSION file: ${${prefix}_VERSION}") + endif () diff --git a/games/spring/files/patch-rts_builds_dedicated_main.cpp b/games/spring/files/patch-rts_builds_dedicated_main.cpp deleted file mode 100644 index 2ec9f76a03eb..000000000000 --- a/games/spring/files/patch-rts_builds_dedicated_main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -https://github.com/spring/spring/pull/557 - ---- rts/builds/dedicated/main.cpp.orig 2020-12-26 12:45:43 UTC -+++ rts/builds/dedicated/main.cpp -@@ -4,6 +4,8 @@ - - #ifdef _WIN32 - #include <windows.h> -+#else -+#include <unistd.h> - #endif - - #include "Game/GameSetup.h" diff --git a/games/spring/files/patch-shuffle b/games/spring/files/patch-shuffle new file mode 100644 index 000000000000..5ade3d4fdc8f --- /dev/null +++ b/games/spring/files/patch-shuffle @@ -0,0 +1,119 @@ +--- AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp.orig 2021-01-01 16:10:55 UTC ++++ AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp +@@ -26,6 +26,8 @@ + #include "Info.h" + + #include <regex> ++#include <algorithm> ++#include <random> + + namespace circuit { + +@@ -183,7 +185,9 @@ void CSetupManager::PickStartPos(CCircuitAI* circuit, + c.distDivIncome = center.distance(cl.position) / income; + validClusters.push_back(std::make_pair(kv.first, c)); + } +- std::random_shuffle(validClusters.begin(), validClusters.end()); ++ std::random_device rd; ++ std::minstd_rand g(rd()); ++ std::shuffle(validClusters.begin(), validClusters.end(), g); + + auto cmp = [](const std::pair<int, SCluster>& a, const std::pair<int, SCluster>& b) { + if (a.second.count < b.second.count) { +--- ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp.orig 2021-01-01 16:10:55 UTC ++++ ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp +@@ -9,6 +9,7 @@ + #include "util/utils.h" + + #include <algorithm> ++#include <random> + #include <assert.h> + + namespace circuit { +@@ -48,7 +49,9 @@ void CEncloseCircle::MakeCircle(const std::vector<AIFl + } + // Randomize order + // TODO: Read why shuffle?? +- std::random_shuffle(shuffled.begin(), shuffled.end()); ++ std::random_device rd; ++ std::minstd_rand g(rd()); ++ std::shuffle(shuffled.begin(), shuffled.end(), g); + + // Progressively add points to circle or recompute circle + decltype(shuffled)::iterator it = shuffled.begin(); +--- rts/Game/GameSetup.cpp.orig 2021-01-01 16:12:22 UTC ++++ rts/Game/GameSetup.cpp +@@ -255,7 +255,7 @@ void CGameSetup::LoadStartPositions(bool withoutMap) + // Server syncs these later, so we can use unsynced rng + CGlobalUnsyncedRNG rng; + rng.Seed(HsiehHash(setupText.c_str(), setupText.length(), 1234567)); +- std::random_shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng); ++ std::shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng); + } + + for (size_t i = 0; i < teamStartingData.size(); ++i) +--- rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp.orig 2021-01-01 19:08:25 UTC ++++ rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp +@@ -338,7 +338,7 @@ void CDecalsDrawerGL4::DetectMaxDecals() + decals.resize(maxDecals); + freeIds.resize(maxDecals - 1); // idx = 0 is invalid, so -1 + std::iota(freeIds.begin(), freeIds.end(), 1); // start with 1, 0 is illegal +- std::random_shuffle(freeIds.begin(), freeIds.end(), guRNG); ++ std::shuffle(freeIds.begin(), freeIds.end(), guRNG); + groups.reserve(maxDecalGroups); + } + +--- rts/Sim/Misc/SimObjectIDPool.cpp.orig 2020-12-26 12:45:43 UTC ++++ rts/Sim/Misc/SimObjectIDPool.cpp +@@ -25,8 +25,8 @@ void SimObjectIDPool::Expand(unsigned int baseID, unsi + std::generate(newIDs.begin(), newIDs.begin() + numIDs, [&baseID]() { return (baseID++); }); + + // randomize so that Lua widgets can not easily determine counts +- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); +- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); ++ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); ++ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG); + + // lambda capture ("[n = baseID]() mutable { return (n++); }") requires std=c++14 + baseID -= numIDs; +--- rts/Sim/Projectiles/ProjectileHandler.cpp.orig 2020-12-26 12:45:43 UTC ++++ rts/Sim/Projectiles/ProjectileHandler.cpp +@@ -66,6 +66,18 @@ ProjMemPool projMemPool; + CProjectileHandler projectileHandler; + + ++namespace { ++ template<class RandomIt, class RandomFunc> ++ void random_shuffle(RandomIt first, RandomIt last, RandomFunc&& r) ++ { ++ typename std::iterator_traits<RandomIt>::difference_type i, n; ++ n = last - first; ++ for (i = n-1; i > 0; --i) { ++ using std::swap; ++ swap(first[i], first[r(i+1)]); ++ } ++ } ++} + + void CProjectileHandler::Init() + { +@@ -106,8 +118,8 @@ void CProjectileHandler::Init() + freeProjectileIDs[false].push_back(i); + } + +- std::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG); +- std::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG); ++ ::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG); ++ ::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG); + } + + for (int modelType = 0; modelType < MODELTYPE_OTHER; ++modelType) { +@@ -395,7 +407,7 @@ void CProjectileHandler::AddProjectile(CProjectile* p) + + // generate (newSize - oldSize) new id's starting from oldSize + std::for_each(freeIDs.begin(), freeIDs.end(), [k = oldSize](int& id) mutable { id = k++; }); +- std::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc); ++ ::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc); + } + + diff --git a/games/spring/files/patch-tools_mapcompile_src_mapdecompile.cpp b/games/spring/files/patch-tools_mapcompile_src_mapdecompile.cpp deleted file mode 100644 index 09b8fbba95dc..000000000000 --- a/games/spring/files/patch-tools_mapcompile_src_mapdecompile.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- tools/mapcompile/src/mapdecompile.cpp.orig 2020-12-19 22:58:47 UTC -+++ tools/mapcompile/src/mapdecompile.cpp -@@ -1,7 +1,7 @@ - /* This file is part of SpringMapConvNG (GPL v2 or later), see the LICENSE file */ - - #include "SMFMap.h" --#include <IL/il.h> -+#include <il.h> - #include <iostream> - #include <string.h> - diff --git a/games/spring/files/patch-tools_pr-downloader_src_Downloader_Rapid_Sdp.cpp b/games/spring/files/patch-tools_pr-downloader_src_Downloader_Rapid_Sdp.cpp deleted file mode 100644 index 3a0523ac758e..000000000000 --- a/games/spring/files/patch-tools_pr-downloader_src_Downloader_Rapid_Sdp.cpp +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/pr-downloader/pull/140 - ---- tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp.orig 2020-12-20 17:04:22 UTC -+++ tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp -@@ -5,6 +5,7 @@ - #include <stdio.h> - #include <curl/curl.h> - #include <stdlib.h> -+#include <errno.h> - - #include "Sdp.h" - #include "RapidDownloader.h" diff --git a/games/spring/files/patch-tools_pr-downloader_src_FileSystem_FileSystem.cpp b/games/spring/files/patch-tools_pr-downloader_src_FileSystem_FileSystem.cpp deleted file mode 100644 index d26378522129..000000000000 --- a/games/spring/files/patch-tools_pr-downloader_src_FileSystem_FileSystem.cpp +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/spring/pr-downloader/pull/141 - ---- tools/pr-downloader/src/FileSystem/FileSystem.cpp.orig 2020-12-20 17:04:22 UTC -+++ tools/pr-downloader/src/FileSystem/FileSystem.cpp -@@ -18,6 +18,7 @@ - #include <sys/stat.h> - #include <dirent.h> - #include <stdlib.h> -+#include <unistd.h> - - #ifdef _WIN32 - #include <windows.h> diff --git a/games/spring/pkg-plist b/games/spring/pkg-plist index 6429c9b09a85..b868511ae2c5 100644 --- a/games/spring/pkg-plist +++ b/games/spring/pkg-plist @@ -8,7 +8,7 @@ lib/libunitsync.so share/applications/spring.desktop %%MANPAGES%%share/man/man6/spring-dedicated.6.gz %%MANPAGES%%share/man/man6/spring-headless.6.gz -%%MANPAGES%%share/man/man6/spring-legacy.6.gz +%%MANPAGES%%share/man/man6/spring-opengl4.6.gz %%MANPAGES%%share/man/man6/spring.6.gz share/mime/packages/spring.xml share/pixmaps/application-x-spring-demo.png |