summaryrefslogtreecommitdiff
path: root/games-strategy/s25rttr
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/s25rttr')
-rw-r--r--games-strategy/s25rttr/Manifest19
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.9.0_pre20200723-gcc11-include.patch12
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.9.1-cxx-std.patch30
-rw-r--r--games-strategy/s25rttr/files/s25rttr-0.9.1-libsamplerate.patch37
-rw-r--r--games-strategy/s25rttr/metadata.xml2
-rw-r--r--games-strategy/s25rttr/s25rttr-0.9.0_pre20200723-r100.ebuild141
-rw-r--r--games-strategy/s25rttr/s25rttr-0.9.1.ebuild115
7 files changed, 188 insertions, 168 deletions
diff --git a/games-strategy/s25rttr/Manifest b/games-strategy/s25rttr/Manifest
index 40a5ecded797..ab92bb15a4cc 100644
--- a/games-strategy/s25rttr/Manifest
+++ b/games-strategy/s25rttr/Manifest
@@ -1,16 +1,7 @@
AUX s25rttr-0.9.0_pre20200723-boost-1.77-missing-include.patch 548 BLAKE2B 0cd4b3cf3fb5b016c3ca01e21ff245042237efb47aa08e8f57fb0b861c7c325b97d0c699de39f2218343f7de3bb7cfc9eee4610a9d4c1d5c8430c77d35a7c649 SHA512 220642d300abd18efb2f69c7b41825341d0985f6d493f03311b557f0e5a81db5284bf4c0868ad8bb09edfa84100cb59309bea1baba94e0abf6b0d4b553336215
AUX s25rttr-0.9.0_pre20200723-cmake_lua_version.patch 296 BLAKE2B cabdc87d6184e59f0896762f3d3434a137fed4fd1c2dae84d30dbee5d4903e68ba01c30b92d0d5290dec9b371807c317b462213a421cadd172b78b08407f66aa SHA512 074ac3e70fec0da6bd4a9602052989a8b6c26b5cfef669d6330d9177547bbeeeef2a4e6b9d83a9e9cbdf4ec33df7dcce50a862e3c9e533049ad8452df6073816
-AUX s25rttr-0.9.0_pre20200723-gcc11-include.patch 389 BLAKE2B d2e4dac3a4a1e291b9777bce8b2dbe6d0f984b952db1255b7cce783bfa118b9450a0249ac86f7d55c53562a7f7c913a93a426457fb63ccae60f19c1de48979f9 SHA512 47fe3ee7f8ab947fca612403b0daecfb2ab0aacf53bde10b2da51ffe6f49e198d325a4925d7776de08b2dabe45103625edec7f9c0860b02e6c9d3ebb885f4f3f
-DIST s25client-f0b97b120140c96bbeacae9c22633f899931db69.tar.gz 20184306 BLAKE2B 4204a62e0a57a614c5ae1a947741f8f92fd7cd75b203467716483baa6f68a7c608033f403337e66b00bc8c2851b03f04c25bf84cda124548cfe09a110478fc54 SHA512 c4f0b59a68a0d5ece57f06f51e7a977be0b41ae85ff57821b317c2bb822a2533a192e1dfaa1a738c6738e65505a70ec34b3e7b22a8bd6effc95a4279d5eb19da
-DIST s25rttr-kaguya-38ca7e1d894c138e454bbe5c89048bdd5091545a.tar.gz 156126 BLAKE2B 05eeccc890549b8dd3fa004c61b73be65f1fcf20867b7f4a46d0963f80b4a76fca611915ea72a401bdc49a81997d3d4500c5f5378a7cd55cbbfab6bcf647261a SHA512 470414d41cb6bad4e428858114f3c91139abfb1bf3ae02bb322d51bfabba8c0aad6796e183ccbb57624ed3484fea3f463636561ac8a359b6be7b90cfd5c0696a
-DIST s25rttr-languages-6906b7ce9cb64242ba406eda34a404fa8eb1e33d.tar.gz 698512 BLAKE2B 82bc98077ed18622083894a63044194f599375c93aa745e330ad8ba390e14d9829ebb7c8e62141758f41dff2b72d3afbe2a5b6ebb584c3293c244e6f0c88ff89 SHA512 47de2791a4d4707fa17344de8fff8a15dd4436dd6e8c75adbd95273739cf5022e39a1024edee228eb27294e4f1f0b2a91110a1249b3d4fe64641cace051e4544
-DIST s25rttr-libendian-dd2c11498f679247530b6b7cf7bd5964f539ddfd.tar.gz 17008 BLAKE2B 98486acff6e56581b5dd06bba9892da739bf1947151f036ade31354c340b6dd79e1b77cd42475bc38225515392062c4e5dbf9ab28349356368db0ca90a81ee65 SHA512 1827edf6470f20a4b6a1b991a31af411e2cc5ceae36a65d54dbd6927dcf46949c4ad729ac982242da9a8ec9d141531d6c99792af761370b2252872bdbb7da8f0
-DIST s25rttr-liblobby-9275cbfa2303cc8235e96f275829be0d84efd3a4.tar.gz 24127 BLAKE2B 841ddec14b88cb057978bad87a710bafe9a358bd31614f0c855343f148ff52485894771c5fde85e4f31a769e679307e5608db71e2365e5205de2b72ea5429ffd SHA512 5334e84ff0f7aecd666b4f3832131c9d82767304d705fd51ac1a1d90beb68e65f7d9b16d89c8af682960f6639aa5c3e61403278685dc7f240c5c94c6148a8100
-DIST s25rttr-libsiedler2-5cb9993a32504337c63fd894266991445e0dcd65.tar.gz 495357 BLAKE2B ef421becde207866e3d88a3978e56e2ba289dbe86d83b682051dd8776f865eb7ce57a4fc7af42ef581fddd1d816be0d087e282ea1ec27eca9f5d1be429c6adc6 SHA512 9c4fa600d89d859a8336b672f56b697538a6ca6f6fa411236e53b6d0d2972487feba5c0ba024242dc8be2e65464290f95926224d74fa3b75e1531e798561ebf4
-DIST s25rttr-libutil-6c2ee0fa897541ea766533e03ebd53344908cf16.tar.gz 92326 BLAKE2B 3245cd7d6e5828b6b69dc99b920d8682d1e33a5d32b0ff21ae9f20fa31f2f6019245f7919ba4c9d1da30b166c56c903e8aafca77da4216338c612b5b812fc252 SHA512 afdda736dcf4f848df171b806a9cc4f667187f5ce525894471791ab6bebe004a589865654c973df71788019c0a2ac4621bf47d7202b772e895e51df628f494d6
-DIST s25rttr-mygettext-b2fc5db651542a7fcc069223904f7debc27ec235.tar.gz 19270 BLAKE2B 76cacab478205f45897a75a868114211d4cfcc08cbfa9fa694ac0011dc9e6272d9d0e63b34d60264e6923038f830c06dd32279233f9d0ca42732b3963152f6e3 SHA512 22ce4169feb5fa7e5567c66a245e71d98a02dd6eee9214b2387b70ff5a592cca8445fc4e95b5403b33215fe418ed3cfeee9fe6a7d96ecddc7661556cb718cc35
-DIST s25rttr-s25edit-677e4b39eaa7f6ecb701e7b50637a0f05fc691db.tar.gz 198489 BLAKE2B 47ffced26f1cceb78c0137e31114e463f0f5ad15fdb47e6a2809080a7874ce484918a0527e97b33db98c4a0daa338712c1b1a8b4992ac47d96f4e3b7056ee5e8 SHA512 0f5b4a4eeb72a906c86dac74c1bb41f5d4756c58240f59403932e388e523bed7d841ffa1d18dfd87454ab8c60b33e74cef27aec93995e37539868148bbee9900
-DIST s25rttr-s25maps-5efbd103b19335828cab6e757224e87456c4a1e4.tar.gz 8013451 BLAKE2B 042ab804f4ec9babf7c975629fa3bd6856fb1fa4de0c4715420bca7e0f2dd72cc0909134750ba70c69344985bdd7a3a74576536cee80d6dfaf688c8cf82da8c0 SHA512 3339ced1fcca0fc9a37382d23c3c43f46c5e51d4c14b2657a79cd15dbd79ba8025bf8133dbbe45eb125b5c88370c90422faf21b65d95f471af3bb43de54a3210
-DIST s25rttr-turtle-9dcdcf9061b929a03f188531ea5cbd530b6234ab.tar.gz 98611 BLAKE2B 6187ab3109f1c9c20524752920e7b9f0e1de2c882bb09ce8c4d2d29899fbaf8a0e2627afc475f6c1527428d77e9a7a7c7332136ba5a79e33cad9c570fbc19042 SHA512 ba85c03cb3e857c501fcec0223ccb7dfccb99a961dd6594820640e133523f14275e764e196197ead05b739f490003b412e16ca2d0fcae8263ef4c256d252570a
-EBUILD s25rttr-0.9.0_pre20200723-r100.ebuild 4947 BLAKE2B 2ac85ebb3c9bec4eb024da734d99bc4cf22be6a955af964b7ecc7f39f0e3a28d15aecc8168b20583aecfd8b7fc7cfd892e0b5c509867f59f136851ca00bbb1ef SHA512 32e295fc34d4a6f58244eacb85b597488d32a1c2816ea71be5462ed76f48e5eda3607fd9858a7ca109117ce606df6b3514e6979fd51dd4c9fdbd529e1e2ba854
-MISC metadata.xml 347 BLAKE2B ca0f64b6265a6a9297cd7fb42b007f8d822298f52630bcc6b25bbcdf3854514ea865d3f8407f0754b66a720028b5059962af993c889707fdda4419d445e8d4f1 SHA512 d2602cf6ae2637800c4b1d6448cf557998311ee0e24ac621c221d99fd21ae3bbd4a08963d8185d2afa6c1a63c2cf94f95bd893b7fbe01e9c777266850747ee62
+AUX s25rttr-0.9.1-cxx-std.patch 1059 BLAKE2B 84e43db33095f8d043c76c381d7477988ababf24959acfe34032c327b1bbd51661e461fc9a5be04aa933d3c40667819eed507326ae8a903069c1903f0366acd0 SHA512 4bdd87fdbcd37c5ee96e3878fd5c690e7186697f947bff8101f36049f6ae1622f2d82944475101c280d3a983150880dcc606d91803d628d8a94e6d8a3e748918
+AUX s25rttr-0.9.1-libsamplerate.patch 1536 BLAKE2B 55fbc0c0b439d98635ca74384033dfe44649605436fec2d61bb0e24e71173572aeeff11de0eb6592e27569f6ff0840867b627cbf6362c418286be39e4e538416 SHA512 9825546d5182a0b57c352fa46b786c8725f828b94ff5504506b79a22d8bce78edc0cf3c4fa7b0c5987a6875d912e27f81be5e5282cad987ac3a730e125db1846
+DIST s25client_src_v0.9.1.tar.gz 31042856 BLAKE2B 296e61467f5ba64f2a833e3f6627844db3757604d9b239d18f3a2b42afc7f46df09ff3b9e8d8a26865e5220f8996b6e78fd4d5fe6252510bbdf8fc238de40bfc SHA512 b7478f76e0246c52a219d9ef5293d56fe682dc87bcd1269d1647417d86c5174632bf05f1fe09e91a9bf9d6738f58e1cac51abdc54df47c00d228687767e19510
+EBUILD s25rttr-0.9.1.ebuild 2796 BLAKE2B e4a57a16fecf7afc6e7e9b95813525e7a3f6c7ab9b8802a82a75bc91c25d848341d61c0fa40930a0c8e1af73ad4d7ab518c1b547055b271f60891ab89ee352bf SHA512 afb89fcca9ecb5bc89750df151caf5965be0f4d717bb36991a6c21b258d6db182fab9e311f8480cdfb5230e693e23de4058692f24e89d69d16a9c55d3386f104
+MISC metadata.xml 348 BLAKE2B bc23c51bcd3458b4f39a6b42dd73f35060319cdae4563a4288ef2ae9dc9e2a85e8bc4b357dff37d70f20abf5d79a4a5c20fb1a8c2ab4c994dd3290ea18d49c34 SHA512 c145a48fb294eb11195885f0cd97095c7258d3286bf1cd926b5d40682aea1767c52a5a163283345fe12416659a9c7500de58993379b0ba3c743f18e172696c6f
diff --git a/games-strategy/s25rttr/files/s25rttr-0.9.0_pre20200723-gcc11-include.patch b/games-strategy/s25rttr/files/s25rttr-0.9.0_pre20200723-gcc11-include.patch
deleted file mode 100644
index 31cca620a3fc..000000000000
--- a/games-strategy/s25rttr/files/s25rttr-0.9.0_pre20200723-gcc11-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://github.com/Return-To-The-Roots/libsiedler2/commit/cb2994d5bb6407d4b12f681268e6b123d9b366f5.patch
-https://bugs.gentoo.org/787299
---- a/external/libsiedler2/include/libsiedler2/XMIDI_TrackConverter.h
-+++ b/external/libsiedler2/include/libsiedler2/XMIDI_TrackConverter.h
-@@ -18,6 +18,7 @@
- #pragma once
-
- #include <array>
-+#include <cstddef>
- #include <cstdint>
- #include <vector>
-
diff --git a/games-strategy/s25rttr/files/s25rttr-0.9.1-cxx-std.patch b/games-strategy/s25rttr/files/s25rttr-0.9.1-cxx-std.patch
new file mode 100644
index 000000000000..cb5ecdf28220
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.9.1-cxx-std.patch
@@ -0,0 +1,30 @@
+From 5db419d044149ab3760c1588b44536febab5d657 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 11 Sep 2021 08:41:57 +0100
+Subject: [PATCH] Set C++ standard (to C++14) using CMake
+
+Not adding the -std flag broke builds with GCC 11 until the code was
+fixed up recently. This should prevent this sort of thing from
+happening in future. It also ensures that the compiler is actually new
+enough.
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8ab991c97..b55c545a2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,6 +22,9 @@ if(DEFINED CMAKE_TOOLCHAIN_FILE)
+ message(STATUS "Used Toolchain definition file '${CMAKE_TOOLCHAIN_FILE}'")
+ endif()
+
++set(CMAKE_CXX_STANDARD 14)
++set(CXX_STANDARD_REQUIRED ON)
++
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" "${CMAKE_SOURCE_DIR}/external/libutil/cmake")
+ if(CMAKE_VERSION VERSION_LESS 3.14)
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/external/libutil/cmake/cmake_3.14")
+--
+2.32.0
+
diff --git a/games-strategy/s25rttr/files/s25rttr-0.9.1-libsamplerate.patch b/games-strategy/s25rttr/files/s25rttr-0.9.1-libsamplerate.patch
new file mode 100644
index 000000000000..41d6d90e5fd8
--- /dev/null
+++ b/games-strategy/s25rttr/files/s25rttr-0.9.1-libsamplerate.patch
@@ -0,0 +1,37 @@
+From 16cb06c99f78a21b1be2bc681c1f1d85a6caddca Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 10 Sep 2021 22:59:51 +0100
+Subject: [PATCH] Fix bad channel count handling with libsamplerate 0.2.0
+
+Since libsndfile/libsamplerate@26d92c369394bcd0b0cea488890edce1a0d757d5,
+initialising libsamplerate with 0 channels or less causes a SIGABRT. We
+therefore need to handle this in the C++ wrapper classes.
+---
+ libs/libsamplerate/include/samplerate.hpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libs/libsamplerate/include/samplerate.hpp b/libs/libsamplerate/include/samplerate.hpp
+index d0af34317..23e243d91 100644
+--- a/libs/libsamplerate/include/samplerate.hpp
++++ b/libs/libsamplerate/include/samplerate.hpp
+@@ -152,6 +152,8 @@ class State : public detail::StateBase
+ {
+ static SRC_STATE* createOrThrow(Converter converter, int channels)
+ {
++ if (channels <= 0)
++ throw std::runtime_error("Channel count must be >= 1.");
+ int error;
+ auto* state = src_new(static_cast<int>(converter), channels, &error);
+ if(!state)
+@@ -174,6 +176,8 @@ class StateCallback : public detail::StateBase
+ {
+ static SRC_STATE* createOrThrow(Converter converter, int channels, src_callback_t func, void* data)
+ {
++ if (channels <= 0)
++ throw std::runtime_error("Channel count must be >= 1.");
+ int error;
+ auto* state = src_callback_new(func, static_cast<int>(converter), channels, &error, data);
+ if(!state)
+--
+2.32.0
+
diff --git a/games-strategy/s25rttr/metadata.xml b/games-strategy/s25rttr/metadata.xml
index f33c5b74bd90..a3d42a1f44fe 100644
--- a/games-strategy/s25rttr/metadata.xml
+++ b/games-strategy/s25rttr/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/games-strategy/s25rttr/s25rttr-0.9.0_pre20200723-r100.ebuild b/games-strategy/s25rttr/s25rttr-0.9.0_pre20200723-r100.ebuild
deleted file mode 100644
index f15c62bc0c1d..000000000000
--- a/games-strategy/s25rttr/s25rttr-0.9.0_pre20200723-r100.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..3} )
-
-inherit desktop flag-o-matic lua-single 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="f0b97b120140c96bbeacae9c22633f899931db69"
-SRC_URI="
- https://github.com/Return-To-The-Roots/s25client/archive/${COMMIT}.tar.gz -> s25client-${COMMIT}.tar.gz
- https://github.com/mat007/turtle/archive/9dcdcf9061b929a03f188531ea5cbd530b6234ab.tar.gz -> ${PN}-turtle-9dcdcf9061b929a03f188531ea5cbd530b6234ab.tar.gz
- https://github.com/Return-To-The-Roots/languages/archive/6906b7ce9cb64242ba406eda34a404fa8eb1e33d.tar.gz -> ${PN}-languages-6906b7ce9cb64242ba406eda34a404fa8eb1e33d.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/9275cbfa2303cc8235e96f275829be0d84efd3a4.tar.gz -> ${PN}-liblobby-9275cbfa2303cc8235e96f275829be0d84efd3a4.tar.gz
- https://github.com/Return-To-The-Roots/libsiedler2/archive/5cb9993a32504337c63fd894266991445e0dcd65.tar.gz -> ${PN}-libsiedler2-5cb9993a32504337c63fd894266991445e0dcd65.tar.gz
- https://github.com/Return-To-The-Roots/libutil/archive/6c2ee0fa897541ea766533e03ebd53344908cf16.tar.gz -> ${PN}-libutil-6c2ee0fa897541ea766533e03ebd53344908cf16.tar.gz
- https://github.com/Return-To-The-Roots/mygettext/archive/b2fc5db651542a7fcc069223904f7debc27ec235.tar.gz -> ${PN}-mygettext-b2fc5db651542a7fcc069223904f7debc27ec235.tar.gz
- https://github.com/Return-To-The-Roots/s25edit/archive/677e4b39eaa7f6ecb701e7b50637a0f05fc691db.tar.gz -> ${PN}-s25edit-677e4b39eaa7f6ecb701e7b50637a0f05fc691db.tar.gz
- https://github.com/Return-To-The-Roots/s25maps/archive/5efbd103b19335828cab6e757224e87456c4a1e4.tar.gz -> ${PN}-s25maps-5efbd103b19335828cab6e757224e87456c4a1e4.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 ~arm64 ~x86"
-IUSE="test"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="${LUA_DEPS}
- app-arch/bzip2
- >=dev-libs/boost-1.73: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
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.9.0_pre20200723-cmake_lua_version.patch
- "${FILESDIR}"/${P}-gcc11-include.patch
- "${FILESDIR}"/${P}-boost-1.77-missing-include.patch
-)
-
-S="${WORKDIR}/s25client-${COMMIT}"
-
-# 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_LIBS=ON
- # Just to be ultra explicit.
- -DRTTR_USE_SYSTEM_LIBSAMPLERATE=ON
- -DRTTR_VERSION="${PV##*_pre}" # Tests expect a date.
- -DLUA_VERSION=$(lua_get_version)
- )
-
- # bug #787299
- append-cxxflags -std=gnu++14
-
- 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
-}
diff --git a/games-strategy/s25rttr/s25rttr-0.9.1.ebuild b/games-strategy/s25rttr/s25rttr-0.9.1.ebuild
new file mode 100644
index 000000000000..1cf08d68bd4e
--- /dev/null
+++ b/games-strategy/s25rttr/s25rttr-0.9.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-3 )
+
+inherit desktop flag-o-matic lua-single toolchain-funcs xdg cmake
+
+MY_PN="s25client"
+DESCRIPTION="Open source remake of The Settlers II: Gold Edition (needs original data files)"
+HOMEPAGE="https://www.siedler25.org/"
+SRC_URI="https://github.com/Return-To-The-Roots/${MY_PN}/releases/download/v${PV}/${MY_PN}_src_v${PV}.tar.gz"
+LICENSE="GPL-2+ GPL-3 Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="${LUA_DEPS}
+ app-arch/bzip2
+ >=dev-libs/boost-1.73: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
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.0_pre20200723-boost-1.77-missing-include.patch
+ "${FILESDIR}"/${PN}-0.9.0_pre20200723-cmake_lua_version.patch
+ "${FILESDIR}"/${PN}-0.9.1-libsamplerate.patch
+ "${FILESDIR}"/${PN}-0.9.1-cxx-std.patch
+)
+
+S="${WORKDIR}/${MY_PN}_v${PV}"
+
+# Build type is checked but blank is valid.
+CMAKE_BUILD_TYPE=
+
+src_prepare() {
+ cmake_src_prepare
+ rm -v external/{kaguya,libutil}/cmake/FindLua.cmake || die
+}
+
+src_configure() {
+ if [[ -f revision.txt ]]; then
+ local RTTR_REVISION="$(< revision.txt)"
+ elif [[ -n ${COMMIT} ]]; then
+ local RTTR_REVISION="${COMMIT}"
+ else
+ die "Could not determine RTTR_REVISION."
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DCCACHE_PROGRAM=OFF
+ -DCMAKE_DISABLE_FIND_PACKAGE_ClangFormat=ON
+ -DCMAKE_SKIP_RPATH=ON
+ -DLUA_VERSION=$(lua_get_version)
+ -DRTTR_BUILD_UPDATER=OFF
+ -DRTTR_ENABLE_OPTIMIZATIONS=OFF
+ -DRTTR_ENABLE_SANITIZERS=$(usex test)
+ -DRTTR_ENABLE_WERROR=OFF
+ -DRTTR_INCLUDE_DEVTOOLS=OFF
+ -DRTTR_LIBDIR="$(get_libdir)"
+ -DRTTR_REVISION="${RTTR_REVISION}"
+ -DRTTR_USE_SYSTEM_LIBS=ON
+ -DRTTR_VERSION="${PV##*_pre}" # Tests expect a date for snapshots.
+ )
+
+ 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 \
+ USER=$(whoami) \
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ doicon -s 64 tools/release/debian/s25rttr.png
+ make_desktop_entry "${MY_PN}" "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
+}