summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortastytea <gentoo@tastytea.de>2023-09-08 22:26:28 +0200
committerViorel Munteanu <ceamac@gentoo.org>2023-10-11 14:02:03 +0300
commit5d4c53037902a82343636ebca2c00a37152f1e6e (patch)
tree0867de91c3339bd1404886947164f7263a5e1423 /games-simulation
parentmedia-libs/liblscp: dropped obsolete 0.9.10 (diff)
downloadgentoo-5d4c53037902a82343636ebca2c00a37152f1e6e.tar.gz
gentoo-5d4c53037902a82343636ebca2c00a37152f1e6e.tar.bz2
gentoo-5d4c53037902a82343636ebca2c00a37152f1e6e.zip
games-simulation/simutrans: make midi support optional
Closes: https://bugs.gentoo.org/913715 Signed-off-by: tastytea <gentoo@tastytea.de> Closes: https://github.com/gentoo/gentoo/pull/32693 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
Diffstat (limited to 'games-simulation')
-rw-r--r--games-simulation/simutrans/metadata.xml1
-rw-r--r--games-simulation/simutrans/simutrans-123.0.1-r2.ebuild109
2 files changed, 110 insertions, 0 deletions
diff --git a/games-simulation/simutrans/metadata.xml b/games-simulation/simutrans/metadata.xml
index bdfc12b3f89d..e4089ed1e978 100644
--- a/games-simulation/simutrans/metadata.xml
+++ b/games-simulation/simutrans/metadata.xml
@@ -15,5 +15,6 @@
</upstream>
<use>
<flag name="minimal">Don't install any PakSets (scenario data)</flag>
+ <flag name="midi">support for background MIDI music via <pkg>media-sound/fluidsynth</pkg></flag>
</use>
</pkgmetadata>
diff --git a/games-simulation/simutrans/simutrans-123.0.1-r2.ebuild b/games-simulation/simutrans/simutrans-123.0.1-r2.ebuild
new file mode 100644
index 000000000000..0fafadd3255d
--- /dev/null
+++ b/games-simulation/simutrans/simutrans-123.0.1-r2.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop flag-o-matic optfeature toolchain-funcs xdg
+
+MY_PV=${PV//./-}
+MY_PAK_64="simupak64-123-0.zip"
+# Required for network games, published in release announcement.
+MY_SVN_REVISION="10421"
+
+DESCRIPTION="A free Transport Tycoon clone"
+HOMEPAGE="https://www.simutrans.com/"
+SRC_URI="
+ mirror://sourceforge/simutrans/simutrans-src-${MY_PV}.zip
+ !minimal? ( mirror://sourceforge/simutrans/${MY_PAK_64} -> simutrans_${MY_PAK_64} )
+ https://tastytea.de/files/simutrans_language_pack-Base+texts-${PV}.zip
+ https://github.com/aburch/simutrans/raw/9c84822/simutrans.svg
+"
+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 truetype upnp zstd"
+
+DEPEND="
+ app-arch/bzip2
+ media-libs/libpng:0=
+ media-libs/libsdl2[sound,video]
+ sys-libs/zlib
+ midi? ( media-sound/fluidsynth:=[sdl] )
+ truetype? ( media-libs/freetype )
+ upnp? ( net-libs/miniupnpc:= )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND="
+ ${DEPEND}
+ midi? ( media-sound/fluid-soundfont )
+"
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+RESTRICT="test" # Opens the program and doesn't close it.
+
+PATCHES=( "${FILESDIR}"/${PN}-123.0.1-silence-svn-and-git-errors.patch )
+
+src_unpack() {
+ unpack "simutrans-src-${MY_PV}.zip"
+ use minimal || unpack "simutrans_${MY_PAK_64}"
+
+ # Bundled text files are incomplete, bug #580948
+ cd "${S}/simutrans/text" || die
+ 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
+
+ # Make it look for the data in the right directory.
+ sed -i -e "s:argv\[0\]:\"/usr/share/${PN}/\":" simmain.cc || die
+}
+
+src_configure() {
+ default
+
+ cat > config.default <<-EOF || die
+ BACKEND=sdl2
+ OSTYPE=linux
+ OPTIMISE=0
+ STATIC=0
+ MULTI_THREAD=1
+ USE_UPNP=$(usex upnp 1 0)
+ USE_FREETYPE=$(usex truetype 1 0)
+ USE_ZSTD=$(usex zstd 1 0)
+ USE_FLUIDSYNTH_MIDI=$(usex midi 1 0)
+ VERBOSE=1
+ FLAGS := -DREVISION="${MY_SVN_REVISION}"
+
+ HOSTCC = $(tc-getCC)
+ HOSTCXX = $(tc-getCXX)
+ EOF
+}
+
+src_install() {
+ newbin build/default/sim ${PN}
+ insinto usr/share/${PN}
+ doins -r simutrans/*
+ doicon "${DISTDIR}"/${PN}.svg
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Since 123.0 this ebuild only installs the Pak64 PakSet. You can install"
+ optfeature "other PakSets" games-simulation/simutrans-paksets
+}