summaryrefslogtreecommitdiff
path: root/games-strategy/s25rttr
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /games-strategy/s25rttr
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'games-strategy/s25rttr')
-rw-r--r--games-strategy/s25rttr/Manifest12
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-cmake-3.patch23
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-cmake.patch160
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-format.patch11
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-fpic.patch38
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-gcc6.patch84
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch36
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.8.1-soundconverter.patch17
-rw-r--r--games-strategy/s25rttr/files/s25rttr-loosen-libs.patch13
-rw-r--r--games-strategy/s25rttr/metadata.xml12
-rw-r--r--games-strategy/s25rttr/s25rttr-0.8.1-r3.ebuild101
-rw-r--r--games-strategy/s25rttr/s25rttr-0.9.0_pre20200418.ebuild129
12 files changed, 636 insertions, 0 deletions
diff --git a/games-strategy/s25rttr/Manifest b/games-strategy/s25rttr/Manifest
new file mode 100644
index 000000000000..acca2d024730
--- /dev/null
+++ b/games-strategy/s25rttr/Manifest
@@ -0,0 +1,12 @@
+DIST s25client-784eb58fc1eb42751042d82f16cc92617fc6c2ae.tar.gz 20212703 BLAKE2B e7e73dda1f95d92578f17c68015ef71f58f4c3f96a45f0fc199a93852aa7a3efcd22d4d09ee3a2a9fcf054f2cda1f237f153ad5b1aa4f5d19b894a4f5d73e549 SHA512 f6634ad3b38530c537cd79e79a759228ff25cfad4552b07d9957a04dc29819e501c606dc9a9366da52102addf6c66e9eeaa92e8ebedbb0c8bea2fb6627068f86
+DIST s25rttr-0.8.1.tar.xz 39644940 BLAKE2B 80268ac6ee20da983b4c3a90d8a9ebd5903734547fb48036963f435498a3395964afba990498a306a89009da50d023982a1dbd502e1ed618734c6a8d44ba2368 SHA512 31a7d640e1ecd5488ef02d0ed3adcaeb9b5ae5f6af5e006deb4100fde3eb8ec567e34519e9c2b82f38c9972d62790a6f6978d5da6c6dfca7f1c153fa65f22df2
+DIST s25rttr-kaguya-38ca7e1d894c138e454bbe5c89048bdd5091545a.tar.gz 156126 BLAKE2B 05eeccc890549b8dd3fa004c61b73be65f1fcf20867b7f4a46d0963f80b4a76fca611915ea72a401bdc49a81997d3d4500c5f5378a7cd55cbbfab6bcf647261a SHA512 470414d41cb6bad4e428858114f3c91139abfb1bf3ae02bb322d51bfabba8c0aad6796e183ccbb57624ed3484fea3f463636561ac8a359b6be7b90cfd5c0696a
+DIST s25rttr-languages-b1978170473bbf39a24254814e1b1f967a51ef4c.tar.gz 663317 BLAKE2B 71bb99b3ab6b4ce4bfbb97a7a5ceaf4fb9d1de561f62b42a14e0755d564b1fc7fff0ae66e25414f70fa92bb321e35c6088cd0366ecbef484f3eb598ba8357eb2 SHA512 ec21edcbd35ac3aa5935a19a1735b7af84230f0551850f15f16d40ea5d3409ef9f14a55fc665e203b267886290e2f158ae807bb51f87492004c4a81b22ee6bfe
+DIST s25rttr-libendian-dd2c11498f679247530b6b7cf7bd5964f539ddfd.tar.gz 17008 BLAKE2B 98486acff6e56581b5dd06bba9892da739bf1947151f036ade31354c340b6dd79e1b77cd42475bc38225515392062c4e5dbf9ab28349356368db0ca90a81ee65 SHA512 1827edf6470f20a4b6a1b991a31af411e2cc5ceae36a65d54dbd6927dcf46949c4ad729ac982242da9a8ec9d141531d6c99792af761370b2252872bdbb7da8f0
+DIST s25rttr-liblobby-7d85ec40f03af619a6734f20edb28d991b3d61f2.tar.gz 23394 BLAKE2B d3ed80917665165d839a5b607d8793b238335b1b6afabe9eaa403188797ba821b949699b58126d50619820f694104b005f92b948ce09e18d6629b9b6dff85baa SHA512 c2cc34c78acf04f0e0eee7a9a9a11564cb49d98cdaaa0bf36f3adda980beefa1831ec70dd1b0b0cf10841325f3ac0fc7e9a0564255156c76b8c98b1ffded34ae
+DIST s25rttr-libsiedler2-800d58ea072c35d3cf9832d2f6a5cdae92fc0445.tar.gz 490533 BLAKE2B f71a5d19b9aa2ae268c3b658d96c1efc4784c223cfa050962df4b9fc75b96d939769e72391f9d2354887e3aba106043be3f365b2d695ffd66df2d2877ada01c5 SHA512 38629c532332b257f1c09e8a592c937d795ae39c16696614d50ec2cfd212d35db0110a8d1d561f0f17c875228e4de4e6f2b83cd2c8c00fc7c9320c75f88e13b3
+DIST s25rttr-libutil-c91488e4d2f0079a864c4be80eaba24a871e9772.tar.gz 112761 BLAKE2B 47d563877960f234a5d5547d08b426f9c97f234d09a5def11b67c578f734afeeb0309e40b1b5d2d9a11080dd2f10ad9d73d41481bf0f1489db9d785a02513966 SHA512 1b2480d84cd00a40c7f6df0162505c123859b350d8c241631046e5a91bde6d668667af64803e015234ae13a69e7f0e97aff5c08858396c0d298a2bd033262d35
+DIST s25rttr-mygettext-7e46bbb3e24891348f5629887efb0173690e83b8.tar.gz 18869 BLAKE2B 63cf0ab2f62ab17b9078aaa7ab9f6f56326cf21b4292de5086de053f1e6ba62e23931eb63bb4494855a61a5e8d971b067a42819c12d4363a5c0ad624f9dabfaa SHA512 f049f9a4500f00b0e1159f1110ddfde752055de09d62a0d07a466cdfe5cfd0e564b89f2b9dd8f2a9adc30e619690008e8dda9fe1cd4f7ec1d541018f9fe680b4
+DIST s25rttr-s25edit-04b5e725036a0568e8da15447167c240563dbaba.tar.gz 198454 BLAKE2B 9fb488a03ddd3ca5b476cc48b8629935f41c41b1b0bd2674adc048e674c1102d5e74dc8232df01956fb6db6451697e1d9bc5a4da4825dd9ce2c83608c366fd39 SHA512 ca5d79bdaeac08334aa47a08f8a550f09a8cc6507f86a05e0e90d49b6c181247e9d6cc880d5c05a926da82562e946d7fbd3abc339e178cab32891474e42bef60
+DIST s25rttr-s25maps-11a5f3e95405b7cf8088641efb4939eba9639cbc.tar.gz 8014338 BLAKE2B 793bbcf0f068c41585376990b9fe13137010f43fe3e91d82beda8c7fd8939f987d778a74de6695e4ebe86893234e419382e1e48d1737a144116de9cc63a212aa SHA512 099fd10ceabaf5284fdb686f1d281d8c3eb07351215bff9785323370b1c40101a9350c81f06f6c6592e63e5e680566777aa52559d8fe6087501c1eaafec43d8f
+DIST s25rttr-turtle-5f8421b1d270665347280d4cab1caf159d6858de.tar.gz 98238 BLAKE2B 854f765aee17328e818b806b69b529376f6f5a89a55b9d84dd7f41adc57314cbbd1844f3125ea750e7ac9ebcfeaa4c08d7c95fc8802bb4cc657ddd738a2370e8 SHA512 0b74b37ef28b1a2acf433491749d498e4de43567bc526faddb677953b5aa5e7ca74fab659d81a2cf4a29e440463150e7b5ac15d0e87f2ecad47523c44f629d25
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake-3.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake-3.patch
new file mode 100644
index 000000000000..b7e9e424eb08
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake-3.patch
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fcbfb02..ae1c5f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,12 +2,12 @@
+ ### $Id: CMakeLists.txt 8341 2012-09-30 12:09:04Z FloSoft $
+ ################################################################################
+
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
+-CMAKE_POLICY(SET CMP0003 OLD)
+-
+-IF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 7 AND ${CMAKE_PATCH_VERSION} GREATER 0)
+- CMAKE_POLICY(SET CMP0015 OLD)
+-ENDIF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 7 AND ${CMAKE_PATCH_VERSION} GREATER 0)
++CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
++CMAKE_POLICY(SET CMP0003 NEW)
++CMAKE_POLICY(SET CMP0015 NEW)
++IF(NOT CMAKE_VERSION VERSION_LESS 3.1)
++ CMAKE_POLICY(SET CMP0053 NEW)
++ENDIF()
+
+ SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
+
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake.patch
new file mode 100644
index 000000000000..14f2edb52df5
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-cmake.patch
@@ -0,0 +1,160 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Fri Oct 5 13:33:05 UTC 2012
+
+make build system gentoo-compatible
+provide options for SDL and GLFW video drivers
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,12 +19,19 @@
+
+ ################################################################################
+
+-INCLUDE(cmake/crosscompile.cmake)
+-
+ PROJECT(s25client)
+
+ ################################################################################
+
++# options
++OPTION(BUILD_GLFW_DRIVER "Build the GLFW video driver" 0)
++OPTION(BUILD_SDL_DRIVER "Build the sdl video driver" 1)
++IF (UNIX)
++ IF (NOT BUILD_SDL_DRIVER AND NOT BUILD_GLFW_DRIVER)
++ MESSAGE(FATAL_ERROR "No video driver selected! Either use SDL or GLFW.")
++ ENDIF (NOT BUILD_SDL_DRIVER AND NOT BUILD_GLFW_DRIVER)
++ENDIF (UNIX)
++
+ SET(PREFIX ${PREFIX} CACHE STRING "Path prefix")
+ SET(BINDIR ${BINDIR} CACHE STRING "Directory for the binaries")
+ SET(DATADIR ${DATADIR} CACHE STRING "Data directory")
+@@ -106,38 +113,6 @@
+ build_paths.h)
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/build_version.h.cmake"
+ build_version.h)
+-CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/build/preinstall.sh.cmake"
+- preinstall.sh @ONLY)
+-CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/build/postinstall.sh.cmake"
+- postinstall.sh @ONLY)
+-
+-################################################################################
+-
+-ADD_SUBDIRECTORY(version)
+-
+-ADD_CUSTOM_TARGET(updateversion ALL
+- COMMAND "${CMAKE_BINARY_DIR}/version/src/version" "${CMAKE_SOURCE_DIR}"
+- DEPENDS version
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+-)
+-
+-ADD_CUSTOM_TARGET(mrproper
+- COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/build/cleanup.sh"
+- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+-)
+-
+-ADD_CUSTOM_TARGET(create_nightly
+- COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/release/create_release.sh" "nightly" "${CMAKE_SOURCE_DIR}"
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+-)
+-
+-ADD_CUSTOM_TARGET(create_stable
+- COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/release/create_release.sh" "stable" "${CMAKE_SOURCE_DIR}"
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+-)
+-
+-# preinstall script
+-INSTALL(SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/cmake/preinstall.cmake")
+
+ ################################################################################
+
+@@ -148,7 +123,6 @@
+ ADD_SUBDIRECTORY(libutil)
+ ADD_SUBDIRECTORY(liblobby)
+ ADD_SUBDIRECTORY(s-c)
+-ADD_SUBDIRECTORY(s25update)
+ ADD_SUBDIRECTORY(src)
+
+ ################################################################################
+@@ -157,7 +131,6 @@
+ INSTALL(CODE "INCLUDE(driver/cmake_install.cmake)")
+ INSTALL(CODE "INCLUDE(libsiedler2/cmake_install.cmake)")
+ INSTALL(CODE "INCLUDE(s-c/cmake_install.cmake)")
+-INSTALL(CODE "INCLUDE(s25update/cmake_install.cmake)")
+ INSTALL(CODE "INCLUDE(src/cmake_install.cmake)")
+
+ # and then dont let him install anything
+--- a/driver/video/CMakeLists.txt
++++ b/driver/video/CMakeLists.txt
+@@ -3,7 +3,11 @@
+ #################################################################################
+
+ ADD_SUBDIRECTORY( WinAPI )
+-ADD_SUBDIRECTORY( GLFW )
+-ADD_SUBDIRECTORY( SDL )
++IF(BUILD_GLFW_DRIVER)
++ ADD_SUBDIRECTORY( GLFW )
++ENDIF(BUILD_GLFW_DRIVER)
++IF(BUILD_SDL_DRIVER)
++ ADD_SUBDIRECTORY( SDL )
++ENDIF(BUILD_SDL_DRIVER)
+
+ #################################################################################
+--- a/driver/video/SDL/src/CMakeLists.txt
++++ b/driver/video/SDL/src/CMakeLists.txt
+@@ -30,9 +30,9 @@
+ ADD_CUSTOM_COMMAND(TARGET videoSDL POST_BUILD COMMAND ln -fvs SDL/src/${SL_PREFIX}videoSDL${CMAKE_SHARED_LIBRARY_SUFFIX} ../../videoSDL${CMAKE_SHARED_LIBRARY_SUFFIX})
+
+ INSTALL(TARGETS videoSDL
+- RUNTIME DESTINATION ${LIBDIR}/driver/video
+- LIBRARY DESTINATION ${LIBDIR}/driver/video
+- ARCHIVE DESTINATION ${LIBDIR}/driver/video
++ RUNTIME DESTINATION ${LIBDIR}
++ LIBRARY DESTINATION ${LIBDIR}
++ ARCHIVE DESTINATION ${LIBDIR}
+ )
+ ELSE (SDL_FOUND)
+ MESSAGE(WARNING ": SDL library not found: Not building SDL videodriver")
+--- a/driver/video/GLFW/src/CMakeLists.txt
++++ b/driver/video/GLFW/src/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ ### $Id$
+ #################################################################################
+
+-IF ("${COMPILEFOR}/${COMPILEARCH}" STREQUAL "linux/i386" )
++IF ("${COMPILEFOR}" STREQUAL "linux" )
+ FIND_LIBRARY(GLFW_LIBRARY glfw)
+
+ IF (GLFW_LIBRARY)
+@@ -21,6 +21,6 @@
+ ELSE (GLFW_LIBRARY)
+ MESSAGE(WARNING ": GLFW library not found: Not building GLFW videodriver")
+ ENDIF (GLFW_LIBRARY)
+-ENDIF ("${COMPILEFOR}/${COMPILEARCH}" STREQUAL "linux/i386" )
++ENDIF ("${COMPILEFOR}" STREQUAL "linux" )
+
+ #################################################################################
+--- a/driver/audio/SDL/src/CMakeLists.txt
++++ b/driver/audio/SDL/src/CMakeLists.txt
+@@ -34,9 +34,9 @@
+ ADD_CUSTOM_COMMAND(TARGET audioSDL POST_BUILD COMMAND ln -fvs SDL/src/${SL_PREFIX}audioSDL${CMAKE_SHARED_LIBRARY_SUFFIX} ../../audioSDL${CMAKE_SHARED_LIBRARY_SUFFIX})
+
+ INSTALL(TARGETS audioSDL
+- RUNTIME DESTINATION ${LIBDIR}/driver/audio
+- LIBRARY DESTINATION ${LIBDIR}/driver/audio
+- ARCHIVE DESTINATION ${LIBDIR}/driver/audio
++ RUNTIME DESTINATION ${LIBDIR}
++ LIBRARY DESTINATION ${LIBDIR}
++ ARCHIVE DESTINATION ${LIBDIR}
+ )
+ ELSE (SDLMIXER_FOUND)
+ MESSAGE(WARNING ": SDL_mixer library not found: Not building SDL audiodriver")
+--- a/build_paths.h.cmake
++++ b/build_paths.h.cmake
+@@ -41,6 +41,7 @@
+
+ // set game directory (normal $(datadir)/s25rttr/S2)
+ //#define GAMEDIR DATADIR"/S2"
++#cmakedefine GAMEDIR "${GAMEDIR}"
+
+ // set driver directory (normal $(libdir)/driver)
+ //#define DRIVERDIR LIBDIR"/driver"
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-format.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-format.patch
new file mode 100644
index 000000000000..3d50543b9c0e
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-format.patch
@@ -0,0 +1,11 @@
+--- a/src/dskGameInterface.cpp.old 2016-02-15 21:11:58.308899794 +0100
++++ b/src/dskGameInterface.cpp 2016-02-15 21:12:24.564433584 +0100
+@@ -1349,7 +1349,7 @@
+ snprintf(text, sizeof(text), _("Team victory! '%s' and '%s' and '%s' and '%s' are the winners!"), GameClient::inst().GetPlayer(winners[0])->name.c_str(),GameClient::inst().GetPlayer(winners[1])->name.c_str(),GameClient::inst().GetPlayer(winners[2])->name.c_str(),GameClient::inst().GetPlayer(winners[3])->name.c_str());
+ break;
+ default:
+- snprintf(text, sizeof(text), _("Team victory!"));
++ snprintf(text, sizeof(text), "%s", _("Team victory!"));
+ break;
+ }
+ messenger.AddMessage("", 0, CD_SYSTEM, text, COLOR_ORANGE);
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-fpic.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-fpic.patch
new file mode 100644
index 000000000000..4a1d11ef1704
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-fpic.patch
@@ -0,0 +1,38 @@
+From 2b4f956263864cebb1b9c5ce120c7cd30f512bdb Mon Sep 17 00:00:00 2001
+From: nE0sIghT <ykonotopov@gmail.com>
+Date: Sat, 18 Jul 2015 19:03:05 +0300
+Subject: [PATCH] Fixed build of sdl drivers
+
+---
+ driver/audio/SDL/src/CMakeLists.txt | 1 +
+ driver/video/SDL/src/CMakeLists.txt | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/driver/audio/SDL/src/CMakeLists.txt b/driver/audio/SDL/src/CMakeLists.txt
+index 5ad3f02..5a91cd5 100644
+--- a/driver/audio/SDL/src/CMakeLists.txt
++++ b/driver/audio/SDL/src/CMakeLists.txt
+@@ -20,6 +20,7 @@ IF (SDL_FOUND)
+
+ ADD_LIBRARY(audioSDL SHARED SDL.cpp SDL.h main.h SoundSDL_Music.cpp SoundSDL_Music.h SoundSDL_Effect.cpp SoundSDL_Effect.h ${PROJECT_SOURCE_DIR}/build_version.cpp ../../../src/DriverInterface.cpp ../../../src/tempname.cpp ../../../src/tempname.h)
+
++ ADD_DEFINITIONS(-fPIC)
+ ADD_FLAGS(CMAKE_C_FLAGS -I${SDL_INCLUDE_DIR} -I${SDLMIXER_INCLUDE_DIR})
+ ADD_FLAGS(CMAKE_CXX_FLAGS -I${SDL_INCLUDE_DIR} -I${SDLMIXER_INCLUDE_DIR})
+
+diff --git a/driver/video/SDL/src/CMakeLists.txt b/driver/video/SDL/src/CMakeLists.txt
+index 83d10cf..ca67573 100644
+--- a/driver/video/SDL/src/CMakeLists.txt
++++ b/driver/video/SDL/src/CMakeLists.txt
+@@ -16,6 +16,7 @@ IF (SDL_FOUND)
+
+ ADD_LIBRARY(videoSDL SHARED SDL.cpp SDL.h main.h ../../../../build_version.cpp ../../../src/DriverInterface.cpp)
+
++ ADD_DEFINITIONS(-fPIC)
+ ADD_FLAGS(CMAKE_C_FLAGS -I${SDL_INCLUDE_DIR})
+ ADD_FLAGS(CMAKE_CXX_FLAGS -I${SDL_INCLUDE_DIR})
+
+--
+2.3.6
+
+
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-gcc6.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-gcc6.patch
new file mode 100644
index 000000000000..957ecf4ddf50
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-gcc6.patch
@@ -0,0 +1,84 @@
+Bug: https://bugs.gentoo.org/610972
+Commit: https://github.com/Return-To-The-Roots/mygettext/commit/3b902a46322b7e88e9d2cdf85ee0912c6565f9a2
+
+--- a/driver/audio/SDL/src/SDL.cpp
++++ b/driver/audio/SDL/src/SDL.cpp
+@@ -175,23 +175,23 @@
+
+ char file[512];
+ if(!tempname(file, 512))
+- return false;
++ return NULL;
+
+ strncat(file, ".wav", 512);
+
+ FILE *dat = fopen(file, "wb");
+ if(!dat)
+- return false;
++ return NULL;
+
+ if(fwrite(data, 1, size, dat) != size)
+- return false;
++ return NULL;
+
+ fclose(dat);
+
+ switch(data_type)
+ {
+ default:
+- return false;
++ return NULL;
+
+ case AudioDriver::AD_WAVE:
+ {
+@@ -233,12 +233,12 @@
+
+ char file[512];
+ if(!tempname(file, 512))
+- return false;
++ return NULL;
+
+ switch(data_type)
+ {
+ default:
+- return false;
++ return NULL;
+
+ case AudioDriver::AD_MIDI:
+ {
+@@ -266,10 +266,10 @@
+
+ FILE *dat = fopen(file, "wb");
+ if(!dat)
+- return false;
++ return NULL;
+
+ if(fwrite(data, 1, size, dat) != size)
+- return false;
++ return NULL;
+
+ fclose(dat);
+
+--- a/src/VideoDriverWrapper.cpp
++++ b/src/VideoDriverWrapper.cpp
+@@ -481,7 +481,7 @@
+ if(videodriver == NULL)
+ {
+ fatal_error("Kein Videotreiber ausgewaehlt!\n");
+- return false;
++ return NULL;
+ }
+
+ return videodriver->GetFunction(extension);
+--- a/mygettext/src/mygettext.h
++++ b/mygettext/src/mygettext.h
+@@ -21,6 +21,9 @@
+
+ #pragma once
+
++// necessarily here
++#include <locale>
++
+ const char *mysetlocale(int category, const char *locale);
+
+ #undef gettext
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch
new file mode 100644
index 000000000000..d2ff0ee1fe39
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch
@@ -0,0 +1,36 @@
+From 3b08b907235c09ab84e3bb23d1e05fe5a1d1c00e Mon Sep 17 00:00:00 2001
+From: Manuel Zeise <mail@manuel-zeise.de>
+Date: Sun, 3 Jan 2016 16:54:05 +0100
+Subject: [PATCH] Switch for miniUPnPc API version 14 and above
+
+API version 14 of miniUPnPc has introduced a new TTL argument to
+upnpDiscover() with a recommended default value of 2. A new preprocessor
+statement evaluates the API version and selects the correct version of
+upnpDiscover() based on the API version.
+
+--- s25rttr-0.8.1/libutil/src/UPnP.cpp
++++ s25rttr-0.8.1/libutil/src/UPnP.cpp
+@@ -210,7 +210,11 @@
+ UPNPDev* devicelist = NULL;
+ #ifdef UPNPDISCOVER_SUCCESS
+ int upnperror = 0;
++#if (MINIUPNPC_API_VERSION >= 14) /* miniUPnPc API version 14 adds TTL parameter */
++ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, 2, &upnperror);
++#else
+ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, &upnperror);
++#endif
+ #else
+ devicelist = upnpDiscover(2000, NULL, NULL, 0);
+ #endif
+@@ -276,7 +280,11 @@
+ UPNPDev* devicelist = NULL;
+ #ifdef UPNPDISCOVER_SUCCESS
+ int upnperror = 0;
++#if (MINIUPNPC_API_VERSION >= 14) /* miniUPnPc API version 14 adds TTL parameter */
++ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, 2, &upnperror);
++#else
+ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, &upnperror);
++#endif
+ #else
+ devicelist = upnpDiscover(2000, NULL, NULL, 0);
+ #endif
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-soundconverter.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-soundconverter.patch
new file mode 100644
index 000000000000..1cc7686b850d
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-soundconverter.patch
@@ -0,0 +1,17 @@
+From: hasufell <julian.ospald@googlemail.com>
+Date: Mon Apr 30 20:42:28 UTC 2012
+
+relocate executables sound-convert and s-c_resample which get installed
+into datadir by default
+
+--- a/libutil/src/files.h
++++ b/libutil/src/files.h
+@@ -140,7 +140,7 @@
+ /* 54 */RTTRDIR "", // unbenutzt
+ /* 55 */SETTINGSDIR "/LSTS/SOUND.LST", // Die konvertierte sound.lst
+ /* 56 */RTTRDIR "/sound.scs", // Das konvertier-script
+- /* 57 */RTTRDIR "", // Basispfad fürn Soundconverter
++ /* 57 */DRIVERDIR "", // Basispfad fürn Soundconverter
+ /* 58 */GAMEDIR "/DATA/MIS0BOBS.LST",
+ /* 59 */GAMEDIR "/DATA/MIS1BOBS.LST",
+ /* 60 */GAMEDIR "/DATA/MIS2BOBS.LST",
diff --git a/games-strategy/s25rttr/files/s25rttr-loosen-libs.patch b/games-strategy/s25rttr/files/s25rttr-loosen-libs.patch
new file mode 100644
index 000000000000..421cde2cd74f
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-loosen-libs.patch
@@ -0,0 +1,13 @@
+diff --git a/libs/libGamedata/CMakeLists.txt b/libs/libGamedata/CMakeLists.txt
+index b09569530..3d908226c 100644
+--- a/libs/libGamedata/CMakeLists.txt
++++ b/libs/libGamedata/CMakeLists.txt
+@@ -12,7 +12,7 @@ FILE(GLOB SOURCES_OTHER *.cpp *.h)
+ SOURCE_GROUP(other FILES ${SOURCES_OTHER})
+
+ # CMake < 3.2 treats version 5.2.x as not equal to 5.2 but we want to allow all 5.2 versions
+-find_package(Lua 5.2 EXACT REQUIRED)
++find_package(Lua 5.1 REQUIRED)
+
+ include(GatherDll)
+ gather_dll(Lua)
diff --git a/games-strategy/s25rttr/metadata.xml b/games-strategy/s25rttr/metadata.xml
new file mode 100644
index 000000000000..b43b5eb5605d
--- /dev/null
+++ b/games-strategy/s25rttr/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Return-To-The-Roots/s25client</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/games-strategy/s25rttr/s25rttr-0.8.1-r3.ebuild b/games-strategy/s25rttr/s25rttr-0.8.1-r3.ebuild
new file mode 100644
index 000000000000..01cef6dff65e
--- /dev/null
+++ b/games-strategy/s25rttr/s25rttr-0.8.1-r3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils desktop gnome2-utils readme.gentoo-r1
+
+DESCRIPTION="Open Source remake of The Settlers II game (needs original game files)"
+HOMEPAGE="https://www.siedler25.org/"
+# no upstream source tarball yet
+# https://bugs.launchpad.net/s25rttr/+bug/1069546
+SRC_URI="https://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+ app-arch/bzip2
+ media-libs/libsamplerate
+ media-libs/libsdl[X,sound,opengl,video]
+ media-libs/libsndfile
+ media-libs/sdl-mixer[vorbis]
+ net-libs/miniupnpc
+ virtual/libiconv
+ virtual/opengl
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+"
+
+DOCS=( RTTR/texte/{keyboardlayout.txt,readme.txt} )
+
+DOC_CONTENTS="Copy your Settlers2 game files into ~/.${PN}/S2"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake.patch
+ "${FILESDIR}"/${P}-soundconverter.patch
+ "${FILESDIR}"/${P}-fpic.patch
+ "${FILESDIR}"/${P}-format.patch
+ "${FILESDIR}"/${P}-miniupnpc-api-14.patch
+ "${FILESDIR}"/${P}-cmake-3.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCOMPILEFOR="linux"
+ -DCMAKE_SKIP_RPATH=YES
+ -DPREFIX="/usr/"
+ -DBINDIR="/usr/bin"
+ -DDATADIR="/usr/share"
+ -DLIBDIR="/usr/$(get_libdir)/${PN}"
+ -DDRIVERDIR="/usr/$(get_libdir)/${PN}"
+ -DGAMEDIR="~/.${PN}/S2"
+ -DBUILD_GLFW_DRIVER=OFF
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ # work around some relative paths (CMAKE_IN_SOURCE_BUILD not supported)
+ ln -s "${CMAKE_USE_DIR}"/RTTR "${CMAKE_BUILD_DIR}"/RTTR || die
+
+ cmake-utils_src_compile
+
+ mv "${CMAKE_USE_DIR}"/RTTR/{sound-convert,s-c_resample} "${T}"/ || die
+}
+
+src_install() {
+ cd "${CMAKE_BUILD_DIR}" || die
+
+ exeinto /usr/"$(get_libdir)"/${PN}
+ doexe "${T}"/{sound-convert,s-c_resample}
+ exeinto /usr/"$(get_libdir)"/${PN}/video
+ doexe driver/video/SDL/src/libvideoSDL.so
+ exeinto /usr/"$(get_libdir)"/${PN}/audio
+ doexe driver/audio/SDL/src/libaudioSDL.so
+
+ insinto /usr/share
+ doins -r "${CMAKE_USE_DIR}"/RTTR
+ dosym ./LSTS/splash.bmp /usr/share/RTTR/splash.bmp
+
+ doicon -s 64 "${CMAKE_USE_DIR}"/debian/${PN}.png
+ dobin src/s25client
+ make_desktop_entry "s25client" "Settlers RTTR" "${PN}"
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-strategy/s25rttr/s25rttr-0.9.0_pre20200418.ebuild b/games-strategy/s25rttr/s25rttr-0.9.0_pre20200418.ebuild
new file mode 100644
index 000000000000..01daa6e3ffc6
--- /dev/null
+++ b/games-strategy/s25rttr/s25rttr-0.9.0_pre20200418.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop flag-o-matic toolchain-funcs xdg cmake
+
+DESCRIPTION="Open source remake of The Settlers II: Gold Edition (needs original data files)"
+HOMEPAGE="https://www.siedler25.org/"
+
+# To generate from git repo:
+# echo -e "COMMIT=\"$(git rev-parse HEAD)\"\nSRC_URI=\"\n\thttps://github.com/Return-To-The-Roots/s25client/archive/\${COMMIT}.tar.gz -> s25client-\${COMMIT}.tar.gz" && git submodule --quiet foreach --recursive 'url=$(git remote get-url origin); gh=${url#*github.com[:/]}; gh=${gh%.git}; echo -e "\thttps://github.com/${gh}/archive/${sha1}.tar.gz -> \${PN}-${gh##*/}-${sha1}.tar.gz"' | egrep -v "/(dev-tools|libsamplerate|s25update)/" | sort && echo '"'
+COMMIT="784eb58fc1eb42751042d82f16cc92617fc6c2ae"
+SRC_URI="
+ https://github.com/Return-To-The-Roots/s25client/archive/${COMMIT}.tar.gz -> s25client-${COMMIT}.tar.gz
+ https://github.com/mat007/turtle/archive/5f8421b1d270665347280d4cab1caf159d6858de.tar.gz -> ${PN}-turtle-5f8421b1d270665347280d4cab1caf159d6858de.tar.gz
+ https://github.com/Return-To-The-Roots/languages/archive/b1978170473bbf39a24254814e1b1f967a51ef4c.tar.gz -> ${PN}-languages-b1978170473bbf39a24254814e1b1f967a51ef4c.tar.gz
+ https://github.com/Return-To-The-Roots/libendian/archive/dd2c11498f679247530b6b7cf7bd5964f539ddfd.tar.gz -> ${PN}-libendian-dd2c11498f679247530b6b7cf7bd5964f539ddfd.tar.gz
+ https://github.com/Return-To-The-Roots/liblobby/archive/7d85ec40f03af619a6734f20edb28d991b3d61f2.tar.gz -> ${PN}-liblobby-7d85ec40f03af619a6734f20edb28d991b3d61f2.tar.gz
+ https://github.com/Return-To-The-Roots/libsiedler2/archive/800d58ea072c35d3cf9832d2f6a5cdae92fc0445.tar.gz -> ${PN}-libsiedler2-800d58ea072c35d3cf9832d2f6a5cdae92fc0445.tar.gz
+ https://github.com/Return-To-The-Roots/libutil/archive/c91488e4d2f0079a864c4be80eaba24a871e9772.tar.gz -> ${PN}-libutil-c91488e4d2f0079a864c4be80eaba24a871e9772.tar.gz
+ https://github.com/Return-To-The-Roots/mygettext/archive/7e46bbb3e24891348f5629887efb0173690e83b8.tar.gz -> ${PN}-mygettext-7e46bbb3e24891348f5629887efb0173690e83b8.tar.gz
+ https://github.com/Return-To-The-Roots/s25edit/archive/04b5e725036a0568e8da15447167c240563dbaba.tar.gz -> ${PN}-s25edit-04b5e725036a0568e8da15447167c240563dbaba.tar.gz
+ https://github.com/Return-To-The-Roots/s25maps/archive/11a5f3e95405b7cf8088641efb4939eba9639cbc.tar.gz -> ${PN}-s25maps-11a5f3e95405b7cf8088641efb4939eba9639cbc.tar.gz
+ https://github.com/satoren/kaguya/archive/38ca7e1d894c138e454bbe5c89048bdd5091545a.tar.gz -> ${PN}-kaguya-38ca7e1d894c138e454bbe5c89048bdd5091545a.tar.gz
+"
+
+LICENSE="GPL-2+ GPL-3 Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2
+ >=dev-lang/lua-5.1:=
+ >=dev-libs/boost-1.64:0=[nls]
+ >=media-libs/libsamplerate-0.1.9
+ >=media-libs/libsdl2-2.0.10-r2[opengl,sound,video]
+ media-libs/libsndfile
+ media-libs/sdl2-mixer[vorbis,wav]
+ net-libs/miniupnpc
+ virtual/opengl
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( >=sys-devel/clang-5 )
+"
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/s25client-${COMMIT}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-loosen-libs.patch
+)
+
+# Build type is checked but blank is valid.
+CMAKE_BUILD_TYPE=
+
+src_unpack() {
+ default
+
+ local SRC DST
+ for SRC in */; do
+ case "${SRC}" in
+ s25client-*)
+ continue ;;
+ s25maps-*)
+ DST=data/RTTR/MAPS ;;
+ *)
+ DST=${SRC%-*}
+ DST=external/${DST,,} ;;
+ esac
+
+ rmdir "${S}/${DST}" || die
+ mv "${SRC}" "${S}/${DST}" || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DCCACHE_PROGRAM=OFF
+ -DCMAKE_SKIP_RPATH=ON
+ -DRTTR_BUILD_UPDATER=OFF
+ -DRTTR_ENABLE_OPTIMIZATIONS=OFF
+ -DRTTR_ENABLE_SANITIZERS=$(usex test)
+ -DRTTR_INCLUDE_DEVTOOLS=OFF
+ -DRTTR_LIBDIR="$(get_libdir)/${PN}"
+ -DRTTR_REVISION="${COMMIT}"
+ -DRTTR_USE_SYSTEM_SAMPLERATE=ON
+ -DRTTR_VERSION="${PV}"
+ )
+
+ if use test && tc-is-gcc; then
+ # Work around libasan and libsandbox both wanting to be first.
+ append-ldflags -static-libasan
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ SDL_AUDIODRIVER=dummy \
+ SDL_VIDEODRIVER=dummy \
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ doicon -s 64 tools/release/debian/s25rttr.png
+ make_desktop_entry s25client "Return to the Roots"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! has_version -r games-strategy/settlers-2-gold-data; then
+ elog "Install games-strategy/settlers-2-gold-data or manually copy the DATA"
+ elog "and GFX directories from original data files into"
+ elog "${EPREFIX}/usr/share/${PN}/S2."
+ fi
+}