diff options
author | tastytea <gentoo@tastytea.de> | 2023-09-08 22:26:28 +0200 |
---|---|---|
committer | Viorel Munteanu <ceamac@gentoo.org> | 2023-10-11 14:02:03 +0300 |
commit | 5d4c53037902a82343636ebca2c00a37152f1e6e (patch) | |
tree | 0867de91c3339bd1404886947164f7263a5e1423 /games-simulation | |
parent | media-libs/liblscp: dropped obsolete 0.9.10 (diff) | |
download | gentoo-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.xml | 1 | ||||
-rw-r--r-- | games-simulation/simutrans/simutrans-123.0.1-r2.ebuild | 109 |
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 +} |