Skip to content

Commit

Permalink
games-simulation/simutrans: add 124.1
Browse files Browse the repository at this point in the history
Signed-off-by: tastytea <[email protected]>
Signed-off-by: Joonas Niilola <[email protected]>
  • Loading branch information
tastytea authored and juippis committed Jul 26, 2024
1 parent 1a7f2b5 commit a23c22a
Show file tree
Hide file tree
Showing 3 changed files with 159 additions and 0 deletions.
3 changes: 3 additions & 0 deletions games-simulation/simutrans/Manifest
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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)
114 changes: 114 additions & 0 deletions games-simulation/simutrans/simutrans-124.1.ebuild
Original file line number Diff line number Diff line change
@@ -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."
}

0 comments on commit a23c22a

Please sign in to comment.