commit:     a23c22ab4dc10007242625baab1a678ab714561d
Author:     tastytea <gentoo <AT> tastytea <DOT> de>
AuthorDate: Sat Jun 29 11:39:34 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Jul 26 07:40:31 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a23c22ab

games-simulation/simutrans: add 124.1

Signed-off-by: tastytea <gentoo <AT> tastytea.de>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 games-simulation/simutrans/Manifest                |   3 +
 .../files/simutrans-124.1-fix-miniupnpc-api.patch  |  42 ++++++++
 games-simulation/simutrans/simutrans-124.1.ebuild  | 114 +++++++++++++++++++++
 3 files changed, 159 insertions(+)

diff --git a/games-simulation/simutrans/Manifest 
b/games-simulation/simutrans/Manifest
index da6997234c83..5661707dec8d 100644
--- a/games-simulation/simutrans/Manifest
+++ b/games-simulation/simutrans/Manifest
@@ -1,7 +1,10 @@
 DIST simutrans-src-123-0-1.zip 4771334 BLAKE2B 
c83edba188225c07bea9aa50d8899a251d3b9f50160aada6839d519bc99f52ef57bd95e7cfdf8db5d6c5efffb9fd421b4b8d8283b7998a352fdd7327332244c4
 SHA512 
87bc96c201126bc735693dea83a320e79f4b4a0fa6940aa9a6d2f8ef6025788f941a3c816febe3dc8a23ff786a2f016df2ef8a61492bb5ed4a834c721f8fc0a1
 DIST simutrans-src-124-0.zip 5464505 BLAKE2B 
c50d6dd67dcc8e8166a016e2b7258e8e4aa4c515b08c31b81b239b7bd26013bf23ba9638329e1becf76473a20a1e6280e49a2c2d5af97d16d2f2422317dc9251
 SHA512 
1d4f00c41061240e1b14e61178640f1b914bb819edfe174210f4f04cfde2b0b1dd414a30ba19618a8362d387b1c7ec9bfe9a64275b3ec2409b6b1d44aee62412
+DIST simutrans-src-124-1.zip 5965405 BLAKE2B 
15e9365df40d9e26f50b63d2e2e2d6f4e03bc5111a28ca3fbe454cfd7339ebbbf3fb99f8f060604f7ca6861fb4220aa9aa0bcd275d98abea6825cbb08956e814
 SHA512 
f2c95e67ed90a44044264d81dbd1b8db7999a3f192bbfb09f775404924b7583bbf12e1a5841c1e8968ed9bba1bdaff0ca4c913aee83eba5b247c8860a3801c0e
 DIST simutrans.svg 2677 BLAKE2B 
c60f386b13908cda641f8cb41918f8f0b1c70f9104d14ee368d221bf013970de3aee05b009ad56af07710833218d5e15cd24c51da4dae4e964f1c877a820fce0
 SHA512 
317b9059a1cc863eed778f60d6c3f4569a3cee192fb6f9210aed2cf65f76f098dd5a17020de11d3beb30b9e7a1a49876c0610e7d31e24e141c6ce31747b3809a
 DIST simutrans_language_pack-Base+texts-123.0.1.zip 1228228 BLAKE2B 
cf7bd6dd40f1c5a79bec73a8f3bd993fdeb8abe725b1294cef7e0fa7fe374aa18a563cfd81907d7b3a67a5898594730448b4f9038515415a8b44d99ecc5eb8ea
 SHA512 
4d6b66f810fedaf50734d178e329592e174c48ca36611b15403075b02a3a626581993093e6fd6e6f297c973c5f928a054a557cd135fa487c79df3c2f1f6e0ea0
 DIST simutrans_language_pack-Base+texts-124.0.zip 1234798 BLAKE2B 
a2a3aed3783156fa8738087107898d284d867109ad0f50d0435efb391fca9fe1f3d14e225e21deb199e213148abeece4eb47257f3e1c91d0b82d3680fae34d4f
 SHA512 
3007662f6e3132966a2bff1384bf32fba9cf6a55df5cd4e337b08c67d7397ad13fd924831709415c015b72a7f7ae0bba432fa13e23c87f14709cd7e0dfa7b939
+DIST simutrans_language_pack-Base+texts-124.1.zip 1234798 BLAKE2B 
a2a3aed3783156fa8738087107898d284d867109ad0f50d0435efb391fca9fe1f3d14e225e21deb199e213148abeece4eb47257f3e1c91d0b82d3680fae34d4f
 SHA512 
3007662f6e3132966a2bff1384bf32fba9cf6a55df5cd4e337b08c67d7397ad13fd924831709415c015b72a7f7ae0bba432fa13e23c87f14709cd7e0dfa7b939
 DIST simutrans_simupak64-123-0.zip 5209700 BLAKE2B 
432985b056d2a6ea30a63bb3ce278b6dfa7b02dde390cdbedea68e87538b6fa1626ebe8c2490d1b6e569b53ffa6952c1d72a1e41789a81f05ba3b4705f3b4c7e
 SHA512 
0814bf1b41f8b9d458ffe124a237499f0d9e8105269b983d75c16eb87e164bfa0cd49ff153f603ed56f98e4a04edd483f765230e6e1a182c52fa09eb41c92b71
 DIST simutrans_simupak64-124-0.zip 5084196 BLAKE2B 
a306f71a41fce6c0dc7c2bcd80717ffd4de88e021d145321e98c8bc5cab9c5ce92b5cd1c33e06ae660f7b6810963397733c137636aa64d74e3e22df804e18bf0
 SHA512 
d757e29a311d3a344f9816d4313cadaecf44f196209969be30732bfd51a954e87c9333aab3e4d2eb6ea2bca70e1beb23fa364e51a651316146378b12e4821a3c
+DIST simutrans_simupak64-124-1.zip 5095713 BLAKE2B 
fdb31043917bd9736cacc6f17a06e0b440a79e077491333491d700bb45b0ec4097d8a13ef34b1a94001cb06c4732250e856b59f7b7faf1537c94860367e16a20
 SHA512 
fb434104aaf485f78becd99e075fa11d58e59b5e2ee5dfc592b21aec6906f01951bce20181fcb1dacb44ea1d390b4241f1935b4b978474292409c6cf1b6bc849

diff --git 
a/games-simulation/simutrans/files/simutrans-124.1-fix-miniupnpc-api.patch 
b/games-simulation/simutrans/files/simutrans-124.1-fix-miniupnpc-api.patch
new file mode 100644
index 000000000000..4ea1a7c51298
--- /dev/null
+++ b/games-simulation/simutrans/files/simutrans-124.1-fix-miniupnpc-api.patch
@@ -0,0 +1,42 @@
+# adapted from <https://github.com/simutrans/simutrans/commit/089b83b>
+
+From 089b83b03acfb2c1db9f2d22cc10e94ff8ed63be Mon Sep 17 00:00:00 2001
+From: prissi <prissi@8aca7d54-2c30-db11-9de9-000461428c89>
+Date: Mon, 3 Jun 2024 03:31:47 +0000
+Subject: [PATCH] Back to nightly and fix the API for miniupnpc
+
+git-svn-id: svn://tron.homeunix.org/simutrans/simutrans/trunk@11273 
8aca7d54-2c30-db11-9de9-000461428c89
+---
+
+diff --git a/src/simutrans/network/network.cc 
b/src/simutrans/network/network.cc
+index 5acf10e5c..52669ad9d 100644
+--- a/src/simutrans/network/network.cc
++++ b/src/simutrans/network/network.cc
+@@ -981,7 +981,12 @@ bool prepare_for_server( char *externalIPAddress, char 
*externalAltIPAddress, in
+               struct UPNPUrls urls;
+               struct IGDdatas data;
+ 
++#if MINIUPNPC_API_VERSION <= 17
+               UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, 
sizeof(lanaddr) );
++#else
++              char wanaddr[64] = "uset";
++              UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, 
sizeof(lanaddr), wanaddr, sizeof(lanaddr));
++#endif
+               // we must know our IP address first
+               if(  UPNP_GetExternalIPAddress(urls.controlURL, 
data.first.servicetype, externalIPAddress) ==  UPNPCOMMAND_SUCCESS  ) {
+                       // this is our ID (at least the routes tells us this)
+@@ -1040,7 +1045,13 @@ void remove_port_forwarding( int port )
+               struct UPNPUrls urls;
+               struct IGDdatas data;
+ 
+-              UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, 
sizeof(lanaddr) );
++#if MINIUPNPC_API_VERSION <= 17
++              UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, 
sizeof(lanaddr));
++#else
++              char wanaddr[64] = "uset";
++              UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, 
sizeof(lanaddr), wanaddr, sizeof(lanaddr));
++#endif
++
+               // we must know our IP address first
+               if(  UPNP_GetExternalIPAddress(urls.controlURL, 
data.first.servicetype, externalIPAddress) ==  UPNPCOMMAND_SUCCESS  ) {
+                       // this is our ID (at least the routes tells us this)

diff --git a/games-simulation/simutrans/simutrans-124.1.ebuild 
b/games-simulation/simutrans/simutrans-124.1.ebuild
new file mode 100644
index 000000000000..60803bf4b9a5
--- /dev/null
+++ b/games-simulation/simutrans/simutrans-124.1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop flag-o-matic toolchain-funcs xdg
+
+MY_PV=${PV//./-}
+MY_PAK_64="simupak64-${MY_PV}.zip"
+# Required for network games, published in release announcement on the forums
+MY_SVN_REVISION="11164"
+
+DESCRIPTION="A free Transport Tycoon clone"
+HOMEPAGE="https://www.simutrans.com/";
+SRC_URI="
+       https://downloads.sourceforge.net/simutrans/simutrans-src-${MY_PV}.zip
+       !minimal? ( https://downloads.sourceforge.net/simutrans/${MY_PAK_64} -> 
simutrans_${MY_PAK_64} )
+       
https://tastytea.de/files/gentoo/simutrans_language_pack-Base+texts-${PV}.zip
+"
+S="${WORKDIR}"
+
+# NOTE: get the latest language pack from:
+# 
https://simutrans-germany.com/translator/data/tab/language_pack-Base+texts.zip
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="minimal +midi fontconfig upnp zstd"
+
+DEPEND="
+       app-arch/bzip2
+       media-libs/freetype
+       media-libs/libpng:0=
+       media-libs/libsdl2[sound,video]
+       sys-libs/zlib
+       midi? ( media-sound/fluidsynth:=[sdl] )
+       fontconfig? ( media-libs/fontconfig )
+       upnp? ( net-libs/miniupnpc:= )
+       zstd? ( app-arch/zstd )
+"
+# miniupnpc restriction: bug #935134
+RDEPEND="
+       ${DEPEND}
+       midi? ( media-sound/fluid-soundfont )
+       !<games-simulation/simutrans-paksets-${PV}
+"
+BDEPEND="
+       app-arch/unzip
+       virtual/pkgconfig
+"
+RESTRICT="test" # Opens the program and doesn't close it.
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-124.0-disable-svn-check.patch
+       "${FILESDIR}"/${P}-fix-miniupnpc-api.patch
+)
+
+src_unpack() {
+       unpack "simutrans-src-${MY_PV}.zip"
+       cd simutrans || die "could not cd to ‘simutrans’"
+       use minimal || unpack "simutrans_${MY_PAK_64}"
+
+       # Bundled text files are incomplete, bug #580948
+       cd text || die "could not cd to ‘simutrans/text’"
+       unpack "simutrans_language_pack-Base+texts-${PV}.zip"
+}
+
+src_prepare() {
+       default
+       xdg_environment_reset
+
+       strip-flags # bug #293927
+       append-flags -fno-strict-aliasing # bug #859229
+
+       eautoreconf
+}
+
+src_configure() {
+       default
+
+       # NOTE: some flags need to be 0, some need to be empty to turn them off
+       cat > config.default <<-EOF || die
+               BACKEND=sdl2
+               OSTYPE=linux
+               OPTIMISE=0
+               STATIC=0
+               WITH_REVISION=${MY_SVN_REVISION}
+               MULTI_THREAD=1
+               USE_UPNP=$(usex upnp 1 '')
+               USE_FREETYPE=1
+               USE_ZSTD=$(usex zstd 1 '')
+               USE_FONTCONFIG=$(usex fontconfig 1 '')
+               USE_FLUIDSYNTH_MIDI=$(usex midi 1 '')
+               VERBOSE=1
+
+               HOSTCC = $(tc-getCC)
+               HOSTCXX = $(tc-getCXX)
+       EOF
+}
+
+src_install() {
+       newbin build/default/sim ${PN}
+       insinto usr/share/${PN}
+       doins -r simutrans/*
+       doicon src/simutrans/${PN}.svg
+       domenu src/linux/simutrans.desktop
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       elog "Since 124.0 simutrans allows you to download PakSets to your home 
directory,"
+       elog "therefore games-simulation/simutrans-paksets has been deprecated."
+}

Reply via email to