aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-30 03:42:53 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-31 00:06:25 +0000
commitc470081849a0a971beb5168121d5ef8ea9917be7 (patch)
treed7377e0560cfd0ea49b811ba954da3afd6209cb7
parentbf234f895bde988a7efb0bb801463dc70752bfe2 (diff)
downloadports-c470081849a0a971beb5168121d5ef8ea9917be7.tar.gz
ports-c470081849a0a971beb5168121d5ef8ea9917be7.zip
games/spring: Remove expired port
2023-11-30 games/spring: Fails to build and marked broken for several months
-rw-r--r--MOVED1
-rw-r--r--games/Makefile1
-rw-r--r--games/spring/Makefile94
-rw-r--r--games/spring/distinfo21
-rw-r--r--games/spring/files/patch-doc_CMakeLists.txt11
-rw-r--r--games/spring/files/patch-doc_manpages_make__manpages.sh8
-rw-r--r--games/spring/files/patch-futex61
-rw-r--r--games/spring/files/patch-rts_System_GlobalRNG.h13
-rw-r--r--games/spring/files/patch-rts_System_Platform_Linux_ThreadSupport.cpp19
-rw-r--r--games/spring/files/patch-rts_System_Platform_Misc.cpp21
-rw-r--r--games/spring/files/patch-rts_build_cmake_FindSevenZip.cmake11
-rw-r--r--games/spring/files/patch-rts_build_cmake_UtilVersion.cmake11
-rw-r--r--games/spring/files/patch-shuffle119
-rw-r--r--games/spring/pkg-descr7
-rw-r--r--games/spring/pkg-message17
-rw-r--r--games/spring/pkg-plist15
16 files changed, 1 insertions, 429 deletions
diff --git a/MOVED b/MOVED
index 15b287eb6480..ff19be0951ab 100644
--- a/MOVED
+++ b/MOVED
@@ -8240,3 +8240,4 @@ games/quake3||2023-12-31|Has expired: BROKEN for more than 4 years on all suppor
audio/xmradio||2023-12-31|Has expired: Requires defunct bktr
editors/xi-core||2023-12-31|Has expired: Project is currently discontinued, one depend port broken (editors/xi-term set to deprecation too). Upstream recommends editors/lapce
editors/pdfedit||2023-12-31|Has expired: BROKEN on all supported versions for 2 years after the EOL of 12
+games/spring||2023-12-31|Has expired: Fails to build and marked broken for several months
diff --git a/games/Makefile b/games/Makefile
index 0e0e20fee09f..a31c1abe97f8 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -930,7 +930,6 @@
SUBDIR += spellcast
SUBDIR += spicetrade
SUBDIR += spider
- SUBDIR += spring
SUBDIR += starfighter
SUBDIR += starlanes
SUBDIR += steelstorm
diff --git a/games/spring/Makefile b/games/spring/Makefile
deleted file mode 100644
index 833f32e03650..000000000000
--- a/games/spring/Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-PORTNAME= spring
-PORTVERSION= 106.0.1
-CATEGORIES= games
-
-MAINTAINER= amdmi3@FreeBSD.org
-COMMENT= Project aiming to create a new and versatile RTS Engine
-WWW= https://springrts.com/
-
-LICENSE= GPLv2+ BSD3CLAUSE BSD2CLAUSE
-LICENSE_COMB= multi
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-DEPRECATED= Fails to build and marked broken for several months
-EXPIRATION_DATE=2023-11-30
-
-LIB_DEPENDS= libfreetype.so:print/freetype2 \
- libIL.so:graphics/devil \
- libogg.so:audio/libogg \
- libvorbis.so:audio/libvorbis \
- libminizip.so:archivers/minizip \
- libfontconfig.so:x11-fonts/fontconfig \
- libcurl.so:ftp/curl \
- libunwind.so:devel/libunwind \
- libjsoncpp.so:devel/jsoncpp
-BUILD_DEPENDS= 7zz:archivers/7-zip
-
-BROKEN_FreeBSD_13= ld: error: undefined symbol: streflop_libm::__inline_isnanf(float)
-BROKEN_FreeBSD_14= ld: error: undefined symbol: streflop_libm::__inline_isnanf(float)
-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: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++17-lang desktop-file-utils gl localbase:ldflags \
- openal:al pkgconfig sdl shared-mime-info xorg
-USE_GL= gl glu glew
-USE_SDL= sdl2
-USE_XORG= x11 xcursor
-CMAKE_ARGS= -DDATADIR:STRING="share/${PORTNAME}" \
- -DDOCDIR:STRING="share/doc/${PORTNAME}" \
- -DAI_TYPES:STRING="NATIVE" \
- -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE \
- -Wno-dev
-
-.if defined(WITH_SYNC_DEBUG)
-CFLAGS= # empty
-CXXFLAGS= # empty
-CMAKE_ARGS+= -DTRACE_SYNC=true -DSYNCDEBUG=true -DSYNCCHECK=true
-CMAKE_BUILD_TYPE=DEBUG
-.endif
-
-# The check-target fails right now: https://springrts.com/mantis/view.php?id=4736
-TEST_TARGET= check
-
-PORTDATA= *
-
-OPTIONS_DEFINE= MANPAGES
-OPTIONS_DEFAULT=MANPAGES
-OPTIONS_SUB= yes
-
-MANPAGES_CMAKE_BOOL= ENABLE_MANPAGES
-MANPAGES_BUILD_DEPENDS= asciidoc:textproc/asciidoc \
- xsltproc:textproc/libxslt \
- ${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
-.endif
- @${REINPLACE_CMD} -e 's|/etc/\(spring/datadir\)|${PREFIX}/\1|g' \
- ${WRKSRC}/rts/System/FileSystem/DataDirLocater.cpp
- @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
- ${WRKSRC}/rts/build/cmake/*.cmake
- # XXX: recheck if this is still needed
- @${REINPLACE_CMD} -e 's|x1F3F|x0F3F|g' \
- ${WRKSRC}/rts/System/Sync/FPUCheck.cpp
-
-.include <bsd.port.mk>
diff --git a/games/spring/distinfo b/games/spring/distinfo
deleted file mode 100644
index 3df98bb72c17..000000000000
--- a/games/spring/distinfo
+++ /dev/null
@@ -1,21 +0,0 @@
-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-doc_CMakeLists.txt b/games/spring/files/patch-doc_CMakeLists.txt
deleted file mode 100644
index 0ba4cf802a1b..000000000000
--- a/games/spring/files/patch-doc_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- doc/CMakeLists.txt.orig 2020-12-26 12:45:43 UTC
-+++ doc/CMakeLists.txt
-@@ -1,6 +1,7 @@
-+option(ENABLE_MANPAGES "Enable manpages" FALSE)
-
- ### make and install the man pages
--if (UNIX)
-+if (UNIX AND ENABLE_MANPAGES)
- find_package(SevenZip)
- set(AsciiDoc_FIND_QUIETLY TRUE)
- find_package(AsciiDoc)
diff --git a/games/spring/files/patch-doc_manpages_make__manpages.sh b/games/spring/files/patch-doc_manpages_make__manpages.sh
deleted file mode 100644
index 4798cb83a812..000000000000
--- a/games/spring/files/patch-doc_manpages_make__manpages.sh
+++ /dev/null
@@ -1,8 +0,0 @@
---- doc/manpages/make_manpages.sh.orig 2020-12-26 12:45:43 UTC
-+++ doc/manpages/make_manpages.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
-
- ORIG_DIR=$(pwd)
-
diff --git a/games/spring/files/patch-futex b/games/spring/files/patch-futex
deleted file mode 100644
index 58ebd0d277d7..000000000000
--- a/games/spring/files/patch-futex
+++ /dev/null
@@ -1,61 +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})
---- 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_System_GlobalRNG.h b/games/spring/files/patch-rts_System_GlobalRNG.h
deleted file mode 100644
index 3c04c91f6c80..000000000000
--- a/games/spring/files/patch-rts_System_GlobalRNG.h
+++ /dev/null
@@ -1,13 +0,0 @@
-https://github.com/spring/spring/pull/558
-
---- rts/System/GlobalRNG.h.orig 2021-01-01 16:12:22 UTC
-+++ rts/System/GlobalRNG.h
-@@ -100,6 +100,8 @@ template<typename RNG, bool synced> class CGlobalRNG {
- typedef typename RNG::val_type rng_val_type;
- typedef typename RNG::res_type rng_res_type;
-
-+ using result_type = rng_res_type;
-+
- static_assert(std::numeric_limits<float>::digits == 24, "sign plus mantissa bits should be 24");
-
- void Seed(rng_val_type seed) { SetSeed(seed); }
diff --git a/games/spring/files/patch-rts_System_Platform_Linux_ThreadSupport.cpp b/games/spring/files/patch-rts_System_Platform_Linux_ThreadSupport.cpp
deleted file mode 100644
index c3acda218cc8..000000000000
--- a/games/spring/files/patch-rts_System_Platform_Linux_ThreadSupport.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- rts/System/Platform/Linux/ThreadSupport.cpp.orig 2021-01-01 16:12:22 UTC
-+++ rts/System/Platform/Linux/ThreadSupport.cpp
-@@ -7,6 +7,7 @@
- #include <csignal>
- #include <fstream>
- #include <sys/syscall.h>
-+#include <pthread_np.h>
-
- #include "System/Log/ILog.h"
- #include "System/Platform/Threading.h"
-@@ -42,7 +43,7 @@ enum LinuxThreadState {
- * There is no glibc wrapper for this system call, so you have to write one:
- */
- static int gettid() {
-- return syscall(SYS_gettid);
-+ return pthread_getthreadid_np();
- }
-
- /**
diff --git a/games/spring/files/patch-rts_System_Platform_Misc.cpp b/games/spring/files/patch-rts_System_Platform_Misc.cpp
deleted file mode 100644
index 79e4df8e1c33..000000000000
--- a/games/spring/files/patch-rts_System_Platform_Misc.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
---- rts/System/Platform/Misc.cpp.orig 2021-01-01 16:12:22 UTC
-+++ rts/System/Platform/Misc.cpp
-@@ -29,7 +29,9 @@
- #include <mach-o/dyld.h>
-
- #elif defined( __FreeBSD__)
-+ #include <sys/types.h>
- #include <sys/sysctl.h>
-+ #include <ifaddrs.h>
-
- #else
-
-@@ -714,7 +716,7 @@ namespace Platform
- return (GetMacType(macAddr, 0), macAddr);
- }
-
-- #elif defined(__APPLE__)
-+ #elif defined(__APPLE__) || defined (__FreeBSD__)
-
- std::array<uint8_t, 6> GetRawMacAddr() {
- // TODO: http://lists.freebsd.org/pipermail/freebsd-hackers/2004-June/007415.html
diff --git a/games/spring/files/patch-rts_build_cmake_FindSevenZip.cmake b/games/spring/files/patch-rts_build_cmake_FindSevenZip.cmake
deleted file mode 100644
index e75226c6175a..000000000000
--- a/games/spring/files/patch-rts_build_cmake_FindSevenZip.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- rts/build/cmake/FindSevenZip.cmake.orig 2020-12-26 12:45:43 UTC
-+++ rts/build/cmake/FindSevenZip.cmake
-@@ -23,7 +23,7 @@ ENDIF (SEVENZIP_BIN)
- set(progfilesx86 "ProgramFiles(x86)")
-
- find_program(SEVENZIP_BIN
-- NAMES 7z 7za
-+ NAMES 7zz
- HINTS "${MINGWDIR}" "${MINGWLIBS}/bin" "$ENV{${progfilesx86}}/7-zip" "$ENV{ProgramFiles}/7-zip" "$ENV{ProgramW6432}/7-zip"
- PATH_SUFFIXES bin
- DOC "7zip executable"
diff --git a/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake b/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake
deleted file mode 100644
index 2d3c84fed8c7..000000000000
--- a/games/spring/files/patch-rts_build_cmake_UtilVersion.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- rts/build/cmake/UtilVersion.cmake.orig 2022-01-10 23:00:52 UTC
-+++ rts/build/cmake/UtilVersion.cmake
-@@ -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-shuffle b/games/spring/files/patch-shuffle
deleted file mode 100644
index 5ade3d4fdc8f..000000000000
--- a/games/spring/files/patch-shuffle
+++ /dev/null
@@ -1,119 +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) {
---- ./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/pkg-descr b/games/spring/pkg-descr
deleted file mode 100644
index 2636a55d210b..000000000000
--- a/games/spring/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Spring is a full 3D RTS game engine, designed, in its basis, to
-be able to run the content of the game Total Annihilation and deliver
-a similar, but improved, gaming experience.
-
-Games can be intense and very large scaled, with fight of, literally,
-hundreds of unit and the mods allow very wide arrays of different
-strategies and tactics.
diff --git a/games/spring/pkg-message b/games/spring/pkg-message
deleted file mode 100644
index 3dbd2a7cc4cb..000000000000
--- a/games/spring/pkg-message
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To finalize installation of Spring, you need to get at least one
-map and at least one mod, and place those into your ~/.spring. Also,
-if you wish to play mods based on Total Annihilation, you'll need
-OTA content as well.
-
-For further instructions, see:
-
- http://springrts.com/wiki/Read_Me_First
-
-Alternatively, you can use games/springlobby port which allows you
-to download maps and setup single- and multiplayer games.
-EOM
-}
-]
diff --git a/games/spring/pkg-plist b/games/spring/pkg-plist
deleted file mode 100644
index b868511ae2c5..000000000000
--- a/games/spring/pkg-plist
+++ /dev/null
@@ -1,15 +0,0 @@
-bin/mapcompile
-bin/mapdecompile
-bin/pr-downloader
-bin/spring
-bin/spring-dedicated
-bin/spring-headless
-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-opengl4.6.gz
-%%MANPAGES%%share/man/man6/spring.6.gz
-share/mime/packages/spring.xml
-share/pixmaps/application-x-spring-demo.png
-share/pixmaps/spring.png