summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortastytea <gentoo@tastytea.de>2024-06-29 13:39:34 +0200
committerJoonas Niilola <juippis@gentoo.org>2024-07-26 10:40:31 +0300
commita23c22ab4dc10007242625baab1a678ab714561d (patch)
tree8001c4faf761f7985ce4e4a00c4fa1933ed51286 /games-simulation
parentgui-libs/aquamarine: Add missing dependency (diff)
downloadgentoo-a23c22ab4dc10007242625baab1a678ab714561d.tar.gz
gentoo-a23c22ab4dc10007242625baab1a678ab714561d.tar.bz2
gentoo-a23c22ab4dc10007242625baab1a678ab714561d.zip
games-simulation/simutrans: add 124.1
Signed-off-by: tastytea <gentoo@tastytea.de> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'games-simulation')
-rw-r--r--games-simulation/simutrans/Manifest3
-rw-r--r--games-simulation/simutrans/files/simutrans-124.1-fix-miniupnpc-api.patch42
-rw-r--r--games-simulation/simutrans/simutrans-124.1.ebuild114
3 files changed, 159 insertions, 0 deletions
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."
+}