From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- games-simulation/openttd/Manifest | 10 ++ .../openttd/files/openttd-1.6.0-cflags.patch | 42 +++++ games-simulation/openttd/files/openttd.initd | 19 +++ games-simulation/openttd/files/openttd.initd-r1 | 13 ++ games-simulation/openttd/metadata.xml | 15 ++ games-simulation/openttd/openttd-1.7.1-r1.ebuild | 170 ++++++++++++++++++++ games-simulation/openttd/openttd-1.7.2.ebuild | 170 ++++++++++++++++++++ games-simulation/openttd/openttd-1.8.0_rc1.ebuild | 175 +++++++++++++++++++++ 8 files changed, 614 insertions(+) create mode 100644 games-simulation/openttd/Manifest create mode 100644 games-simulation/openttd/files/openttd-1.6.0-cflags.patch create mode 100644 games-simulation/openttd/files/openttd.initd create mode 100644 games-simulation/openttd/files/openttd.initd-r1 create mode 100644 games-simulation/openttd/metadata.xml create mode 100644 games-simulation/openttd/openttd-1.7.1-r1.ebuild create mode 100644 games-simulation/openttd/openttd-1.7.2.ebuild create mode 100644 games-simulation/openttd/openttd-1.8.0_rc1.ebuild (limited to 'games-simulation/openttd') diff --git a/games-simulation/openttd/Manifest b/games-simulation/openttd/Manifest new file mode 100644 index 000000000000..832a962b3258 --- /dev/null +++ b/games-simulation/openttd/Manifest @@ -0,0 +1,10 @@ +AUX openttd-1.6.0-cflags.patch 1028 BLAKE2B bc71e2620a834b37f5957d3da885dcd5e692fcca238c7e87949a36e24029677f036da9773d786b44022e4f8d920ea25f881ed782ec107f9c963558e9411b9d98 SHA512 e29ef624562c717b37496ca2e8353c1c065f776548878e3863420df5431743a6dc80f952699c3738f3fa1dbe77c9a6bf457a7c21241c723db5b1f7865afa180f +AUX openttd.initd 412 BLAKE2B 04a18d4a8cd30a600b2e033792714f2a8bee16e0b9207d6609a3c1ef2101a611cf17d028af23c61fcaef3233c7199e45612b90a5c9af14e992a5d7d74b1695f6 SHA512 eb14a32baa8a6601945e5f0cd844e2dc9620661ee4ab841d5085b75a0fb4a1ea8698b9292a489d63792d1163a13c7843795ef843fe0babdeac0a0468313667a3 +AUX openttd.initd-r1 306 BLAKE2B d36e2f405a1b8808c708edd0c66e23d9976c2f5ef0fc2af3430bb8ba287c237dffe3d11cde6428b8ab668886ac4ff5eb4bc4fe5b39f205da4bf3d7773f66f7ef SHA512 bd04f9d812d5d68eebd953e9a667e5138d8e440139eb9c07f8da089495774b7d45e3b23bfb2af38ed053b333d4ead5f4be5c5fa877ad9f9bb0effee5c4a499dc +DIST openttd-1.7.1-source.tar.gz 10090311 BLAKE2B 339171cd2895398ee1fedcfd24d1126fbc060b6d4530b267310b3f220448f8e6469a726e71e9882bea117585ea7b9f7271205f576ee2b26de6dec079f57f1620 SHA512 4a0d2ee424374b50fe0d089b86ff16b5de3159848a38143ca6745e349b6126567f1e4beda9afe2e6bc21ffffce1166acf719d3f5c95703a14c1379f8857e83d3 +DIST openttd-1.7.2-source.tar.gz 10097175 BLAKE2B a027b6ca6d3116dc3e6ad6ae43965682107268e367032418200cf1c1e16c5b5dad39c275ea57d923f17564d80cceb0e9909dc5aaf7ee230242f0ce0f46f06b1a SHA512 44d25061c42cb9c81baa67a40ff31a6681dcbb121c61db74c5179a31f189919471a82b7fd3f79c2cdeef02af5b47ec35fdbdc7feed74ca2360c028869fe772e8 +DIST openttd-1.8.0-RC1-source.tar.xz 6520976 BLAKE2B 17d34378ba3aa7a9def9f3ff764c42b890a646946211184660c3af9e252b9a809d481ccdd31421442efd9c7fac86f5c9c6091987070d53d1c913d3ef680f413c SHA512 aff6833934ce875320bdba3410be15a53fc8c233e7efe60628158636eed3b179fea5c8e9f8af2181c16bc173c409eab93477f2165d448100d048959bf63ba3d2 +EBUILD openttd-1.7.1-r1.ebuild 4811 BLAKE2B 0a362bab76f8ffd48b5f565111aeee4517dc0e3b5c6b93e823189dd314ca83649827173611fca36ca529375c60ceebd654c4f5959dc0c959d0c38a5ba684cf40 SHA512 e54396fa54e8e065be21964fea386b1b734c72395e156b343eec1e2789393bf381093e7212e8ff673dfb849d9d36afc4c11bfc70620543dda7462bda9ccc8787 +EBUILD openttd-1.7.2.ebuild 4811 BLAKE2B 1ff782a7493162f1c76b93c45bbe5509c2d5f090d518e41428b0d04adeb3205ca9ced894b85011c92bc65ce67fe6c581b5685da9c7233d03e0e5f291d1d979ad SHA512 586fcfd067dc19abf56d3064fd7478ea2c7cb4cc38a870bee7d79fc615056b8183b420908897d3739686dcd4f5d5054b3e836d8410ca85a8d0cce92228dc86ee +EBUILD openttd-1.8.0_rc1.ebuild 4886 BLAKE2B 128e9209ab520a6716f8e35b875214186223ee407058d2ddd9033b37719e11dd1da3bb31038e61efa05fd2018b4cec6b0714800023241455327bd54a535f4050 SHA512 337500f620abda29fbdd51cfbe31589cd5f1b73e7ac0f756c0f63c8a282696c0ae2f1228ea952cf56f048cb0fad5ceb5b3967780c785c3939233e5dcacb49369 +MISC metadata.xml 752 BLAKE2B 85476f4dbf68d94a5d95e35cff935edfe35caee4bd2a253c7bad747b0915b80f0f7009bf78e419417a05345210bed17dff8f82ce603480c96781323d7d5a89fd SHA512 ddb1fbbe98d5e0bc1e23385b38502603819b89bd1d9285b0193a55efe2263b8ab6e045c7befdc908303eea27de8c9148dbcc8e7b6c035b267f5c8ff0f16b4b56 diff --git a/games-simulation/openttd/files/openttd-1.6.0-cflags.patch b/games-simulation/openttd/files/openttd-1.6.0-cflags.patch new file mode 100644 index 000000000000..bb7f768b3798 --- /dev/null +++ b/games-simulation/openttd/files/openttd-1.6.0-cflags.patch @@ -0,0 +1,42 @@ +--- openttd-1.4.4/config.lib ++++ openttd-1.4.4/config.lib +@@ -1450,12 +1450,6 @@ + CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS" + LDFLAGS="$LDFLAGS -noixemul" + fi +- +- if [ "$enable_profiling" = "0" ]; then +- # -fomit-frame-pointer and -pg do not go well together (gcc errors they are incompatible) +- CFLAGS="-fomit-frame-pointer $CFLAGS" +- fi +- CFLAGS="-O2 $CFLAGS" + else + OBJS_SUBDIR="debug" + +@@ -1466,14 +1460,6 @@ + CFLAGS="$CFLAGS -G0" + fi + fi +- if [ $enable_debug -ge 2 ]; then +- CFLAGS="$CFLAGS -fno-inline" +- fi +- if [ $enable_debug -ge 3 ]; then +- CFLAGS="$CFLAGS -O0" +- else +- CFLAGS="$CFLAGS -O2" +- fi + fi + + if [ $enable_debug -le 2 ]; then +@@ -1498,11 +1484,6 @@ + CFLAGS="$CFLAGS -fno-expensive-optimizations" + fi + +- if [ "$enable_profiling" != "0" ]; then +- CFLAGS="$CFLAGS -pg" +- LDFLAGS="$LDFLAGS -pg" +- fi +- + if [ "$with_threads" = "0" ]; then + CFLAGS="$CFLAGS -DNO_THREADS" + fi diff --git a/games-simulation/openttd/files/openttd.initd b/games-simulation/openttd/files/openttd.initd new file mode 100644 index 000000000000..7a719587c7d6 --- /dev/null +++ b/games-simulation/openttd/files/openttd.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + need net +} + +start() { + ebegin "Starting OpenTTD dedicated server" + start-stop-daemon --start -q --exec /usr/games/bin/openttd -- -D -f > /dev/null + eend $? +} + +stop() { + ebegin "Stopping OpenTTD dedicated server" + start-stop-daemon --stop -q -n openttd + eend $? +} diff --git a/games-simulation/openttd/files/openttd.initd-r1 b/games-simulation/openttd/files/openttd.initd-r1 new file mode 100644 index 000000000000..0bfeefddf6d6 --- /dev/null +++ b/games-simulation/openttd/files/openttd.initd-r1 @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +description="OpenTTD dedicated game server" +pidfile="/run/${SVCNAME}.pid" +command="/usr/bin/openttd" +command_args="-D" +command_background="true" + +depend() { + need net +} diff --git a/games-simulation/openttd/metadata.xml b/games-simulation/openttd/metadata.xml new file mode 100644 index 000000000000..a5465cd55c4a --- /dev/null +++ b/games-simulation/openttd/metadata.xml @@ -0,0 +1,15 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + Enables midi music in game, using aplaymidi as an external player + + Enables the free open media sets: OpenGFX, OpenSFX, OpenMSX, removing the requirement for proprietary TTD assets to play OpenTTD. + Enables LZO compression for savegames. This is only needed to load extremely old savegames. (versions before 0.2) + Build only the openttd server, and not the client. + + diff --git a/games-simulation/openttd/openttd-1.7.1-r1.ebuild b/games-simulation/openttd/openttd-1.7.1-r1.ebuild new file mode 100644 index 000000000000..f24302009a47 --- /dev/null +++ b/games-simulation/openttd/openttd-1.7.1-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils gnome2-utils + +DESCRIPTION="OpenTTD is a clone of Transport Tycoon Deluxe" +HOMEPAGE="http://www.openttd.org/" +SRC_URI="http://binaries.openttd.org/releases/${PV}/${P}-source.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="aplaymidi debug dedicated iconv icu lzo +openmedia +png cpu_flags_x86_sse +timidity +truetype zlib" +RESTRICT="test" # needs a graphics set in order to test + +RDEPEND="!dedicated? ( + media-libs/libsdl[sound,X,video] + icu? ( + dev-libs/icu-layoutex + dev-libs/icu-le-hb + >=dev-libs/icu-58.1:= + ) + truetype? ( + media-libs/fontconfig + media-libs/freetype:2 + sys-libs/zlib + ) + ) + lzo? ( dev-libs/lzo:2 ) + iconv? ( virtual/libiconv ) + png? ( media-libs/libpng:0 ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND=" + !dedicated? ( + openmedia? ( + games-misc/openmsx + games-misc/opensfx + ) + aplaymidi? ( media-sound/alsa-utils ) + !aplaymidi? ( timidity? ( media-sound/timidity++ ) ) + ) + openmedia? ( >=games-misc/opengfx-0.4.7 )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.0-cflags.patch +) + +src_configure() { + local myopts=() + # there is an allegro interface available as well as sdl, but + # the configure for it looks broken so the sdl interface is + # always built instead. + local myopts+=( --without-allegro ) + + # libtimidity not needed except for some embedded platform + # nevertheless, it will be automagically linked if it is + # installed. Hence, we disable it. + myopts+=( --without-libtimidity ) + + use debug && myopts+=( --enable-debug=3 ) + + if use dedicated ; then + myopts+=( --enable-dedicated ) + else + use aplaymidi && myopts+=( --with-midi='/usr/bin/aplaymidi' ) + myopts+=( + $(use_with truetype freetype) + $(use_with icu) + --with-sdl + ) + fi + if use png || { use !dedicated && use truetype; } || use zlib ; then + myopts+=( --with-zlib ) + else + myopts+=( --without-zlib ) + fi + + # configure is a hand-written bash-script, so econf will not work. + # It's all built as C++, upstream uses CFLAGS internally. + CFLAGS="" ./configure \ + --disable-strip \ + --prefix-dir="${EPREFIX%/}/usr" \ + --binary-dir="bin" \ + --install-dir="${D}" \ + --menu-group="Game;Simulation;" \ + ${myopts[@]} \ + $(use_with iconv) \ + $(use_with png) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_with lzo liblzo2) \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + default + if use dedicated ; then + newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN} + rm -rf "${ED}"/usr/share/{applications,icons,pixmaps} + fi + rm -f "${ED}"/usr/share/doc/${PF}/COPYING +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + + if ! use lzo ; then + elog "OpenTTD was built without 'lzo' in USE. While 'lzo' is not" + elog "required, disabling it does mean that loading old savegames" + elog "or scenarios from ancient versions (~0.2) will fail." + elog + fi + + if use dedicated ; then + ewarn "Warning: The init script will kill all running openttd" + ewarn "processes when triggered, including any running client sessions!" + else + if use aplaymidi ; then + elog "You have emerged with 'aplaymidi' for playing MIDI." + elog "This option is for those with a hardware midi device," + elog "or who have set up ALSA to handle midi ports." + elog "You must set the environment variable ALSA_OUTPUT_PORTS." + elog "Available ports can be listed by using 'aplaymidi -l'." + else + if ! use timidity ; then + elog "OpenTTD was built with neither 'aplaymidi' nor 'timidity'" + elog "in USE. Music may or may not work in-game. If you happen" + elog "to have timidity++ installed, music will work so long" + elog "as it remains installed, but OpenTTD will not depend on it." + fi + fi + if ! use openmedia ; then + elog + elog "OpenTTD was compiled without the 'openmedia' USE flag." + elog + elog "In order to play, you must at least install:" + elog "games-misc/opengfx, and games-misc/opensfx, or copy the " + elog "following 6 files from a version of Transport Tycoon Deluxe" + elog "(windows or DOS) to ~/.openttd/data/ or" + elog "${GAMES_DATADIR}/${PN}/data/." + elog + elog "From the WINDOWS version you need: " + elog "sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf" + elog "OR from the DOS version you need: " + elog "SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF" + elog + elog "File names are case sensitive, but should work either with" + elog "all upper or all lower case names" + elog + elog "In addition, in-game music will be unavailable: for music," + elog "install games-misc/openmsx, or use the in-game download" + elog "functionality to get a music set" + elog + fi + fi +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/games-simulation/openttd/openttd-1.7.2.ebuild b/games-simulation/openttd/openttd-1.7.2.ebuild new file mode 100644 index 000000000000..f6e90e926ac5 --- /dev/null +++ b/games-simulation/openttd/openttd-1.7.2.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils gnome2-utils + +DESCRIPTION="OpenTTD is a clone of Transport Tycoon Deluxe" +HOMEPAGE="http://www.openttd.org/" +SRC_URI="http://binaries.openttd.org/releases/${PV}/${P}-source.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="aplaymidi debug dedicated iconv icu lzo +openmedia +png cpu_flags_x86_sse +timidity +truetype zlib" +RESTRICT="test" # needs a graphics set in order to test + +RDEPEND="!dedicated? ( + media-libs/libsdl[sound,X,video] + icu? ( + dev-libs/icu-layoutex + dev-libs/icu-le-hb + >=dev-libs/icu-58.1:= + ) + truetype? ( + media-libs/fontconfig + media-libs/freetype:2 + sys-libs/zlib + ) + ) + lzo? ( dev-libs/lzo:2 ) + iconv? ( virtual/libiconv ) + png? ( media-libs/libpng:0 ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND=" + !dedicated? ( + openmedia? ( + games-misc/openmsx + games-misc/opensfx + ) + aplaymidi? ( media-sound/alsa-utils ) + !aplaymidi? ( timidity? ( media-sound/timidity++ ) ) + ) + openmedia? ( >=games-misc/opengfx-0.4.7 )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.0-cflags.patch +) + +src_configure() { + local myopts=() + # there is an allegro interface available as well as sdl, but + # the configure for it looks broken so the sdl interface is + # always built instead. + local myopts+=( --without-allegro ) + + # libtimidity not needed except for some embedded platform + # nevertheless, it will be automagically linked if it is + # installed. Hence, we disable it. + myopts+=( --without-libtimidity ) + + use debug && myopts+=( --enable-debug=3 ) + + if use dedicated ; then + myopts+=( --enable-dedicated ) + else + use aplaymidi && myopts+=( --with-midi='/usr/bin/aplaymidi' ) + myopts+=( + $(use_with truetype freetype) + $(use_with icu) + --with-sdl + ) + fi + if use png || { use !dedicated && use truetype; } || use zlib ; then + myopts+=( --with-zlib ) + else + myopts+=( --without-zlib ) + fi + + # configure is a hand-written bash-script, so econf will not work. + # It's all built as C++, upstream uses CFLAGS internally. + CFLAGS="" ./configure \ + --disable-strip \ + --prefix-dir="${EPREFIX%/}/usr" \ + --binary-dir="bin" \ + --install-dir="${D}" \ + --menu-group="Game;Simulation;" \ + ${myopts[@]} \ + $(use_with iconv) \ + $(use_with png) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_with lzo liblzo2) \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + default + if use dedicated ; then + newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN} + rm -rf "${ED}"/usr/share/{applications,icons,pixmaps} + fi + rm -f "${ED}"/usr/share/doc/${PF}/COPYING +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + + if ! use lzo ; then + elog "OpenTTD was built without 'lzo' in USE. While 'lzo' is not" + elog "required, disabling it does mean that loading old savegames" + elog "or scenarios from ancient versions (~0.2) will fail." + elog + fi + + if use dedicated ; then + ewarn "Warning: The init script will kill all running openttd" + ewarn "processes when triggered, including any running client sessions!" + else + if use aplaymidi ; then + elog "You have emerged with 'aplaymidi' for playing MIDI." + elog "This option is for those with a hardware midi device," + elog "or who have set up ALSA to handle midi ports." + elog "You must set the environment variable ALSA_OUTPUT_PORTS." + elog "Available ports can be listed by using 'aplaymidi -l'." + else + if ! use timidity ; then + elog "OpenTTD was built with neither 'aplaymidi' nor 'timidity'" + elog "in USE. Music may or may not work in-game. If you happen" + elog "to have timidity++ installed, music will work so long" + elog "as it remains installed, but OpenTTD will not depend on it." + fi + fi + if ! use openmedia ; then + elog + elog "OpenTTD was compiled without the 'openmedia' USE flag." + elog + elog "In order to play, you must at least install:" + elog "games-misc/opengfx, and games-misc/opensfx, or copy the " + elog "following 6 files from a version of Transport Tycoon Deluxe" + elog "(windows or DOS) to ~/.openttd/data/ or" + elog "${GAMES_DATADIR}/${PN}/data/." + elog + elog "From the WINDOWS version you need: " + elog "sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf" + elog "OR from the DOS version you need: " + elog "SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF" + elog + elog "File names are case sensitive, but should work either with" + elog "all upper or all lower case names" + elog + elog "In addition, in-game music will be unavailable: for music," + elog "install games-misc/openmsx, or use the in-game download" + elog "functionality to get a music set" + elog + fi + fi +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/games-simulation/openttd/openttd-1.8.0_rc1.ebuild b/games-simulation/openttd/openttd-1.8.0_rc1.ebuild new file mode 100644 index 000000000000..6eca8d5fbef6 --- /dev/null +++ b/games-simulation/openttd/openttd-1.8.0_rc1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils gnome2-utils + +MY_PV="${PV/_rc/-RC}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="OpenTTD is a clone of Transport Tycoon Deluxe" +HOMEPAGE="http://www.openttd.org/" +SRC_URI="http://binaries.openttd.org/releases/${MY_PV}/${MY_P}-source.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="aplaymidi debug dedicated iconv icu lzo +openmedia +png cpu_flags_x86_sse +timidity +truetype zlib" +RESTRICT="test" # needs a graphics set in order to test + +RDEPEND="!dedicated? ( + media-libs/libsdl[sound,X,video] + icu? ( + dev-libs/icu-layoutex + dev-libs/icu-le-hb + >=dev-libs/icu-58.1:= + ) + truetype? ( + media-libs/fontconfig + media-libs/freetype:2 + sys-libs/zlib + ) + ) + lzo? ( dev-libs/lzo:2 ) + iconv? ( virtual/libiconv ) + png? ( media-libs/libpng:0 ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND=" + !dedicated? ( + openmedia? ( + games-misc/openmsx + games-misc/opensfx + ) + aplaymidi? ( media-sound/alsa-utils ) + !aplaymidi? ( timidity? ( media-sound/timidity++ ) ) + ) + openmedia? ( >=games-misc/opengfx-0.4.7 )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.0-cflags.patch +) + +src_configure() { + local myopts=() + # there is an allegro interface available as well as sdl, but + # the configure for it looks broken so the sdl interface is + # always built instead. + local myopts+=( --without-allegro ) + + # libtimidity not needed except for some embedded platform + # nevertheless, it will be automagically linked if it is + # installed. Hence, we disable it. + myopts+=( --without-libtimidity ) + + use debug && myopts+=( --enable-debug=3 ) + + if use dedicated ; then + myopts+=( --enable-dedicated ) + else + use aplaymidi && myopts+=( --with-midi='/usr/bin/aplaymidi' ) + myopts+=( + $(use_with truetype freetype) + $(use_with icu) + --with-sdl + ) + fi + if use png || { use !dedicated && use truetype; } || use zlib ; then + myopts+=( --with-zlib ) + else + myopts+=( --without-zlib ) + fi + + # configure is a hand-written bash-script, so econf will not work. + # It's all built as C++, upstream uses CFLAGS internally. + CFLAGS="" ./configure \ + --disable-strip \ + --prefix-dir="${EPREFIX%/}/usr" \ + --binary-dir="bin" \ + --install-dir="${D}" \ + --menu-group="Game;Simulation;" \ + ${myopts[@]} \ + $(use_with iconv) \ + $(use_with png) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_with lzo liblzo2) \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + default + if use dedicated ; then + newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN} + rm -rf "${ED}"/usr/share/{applications,icons,pixmaps} + fi + rm -f "${ED}"/usr/share/doc/${PF}/COPYING +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + + if ! use lzo ; then + elog "OpenTTD was built without 'lzo' in USE. While 'lzo' is not" + elog "required, disabling it does mean that loading old savegames" + elog "or scenarios from ancient versions (~0.2) will fail." + elog + fi + + if use dedicated ; then + ewarn "Warning: The init script will kill all running openttd" + ewarn "processes when triggered, including any running client sessions!" + else + if use aplaymidi ; then + elog "You have emerged with 'aplaymidi' for playing MIDI." + elog "This option is for those with a hardware midi device," + elog "or who have set up ALSA to handle midi ports." + elog "You must set the environment variable ALSA_OUTPUT_PORTS." + elog "Available ports can be listed by using 'aplaymidi -l'." + else + if ! use timidity ; then + elog "OpenTTD was built with neither 'aplaymidi' nor 'timidity'" + elog "in USE. Music may or may not work in-game. If you happen" + elog "to have timidity++ installed, music will work so long" + elog "as it remains installed, but OpenTTD will not depend on it." + fi + fi + if ! use openmedia ; then + elog + elog "OpenTTD was compiled without the 'openmedia' USE flag." + elog + elog "In order to play, you must at least install:" + elog "games-misc/opengfx, and games-misc/opensfx, or copy the " + elog "following 6 files from a version of Transport Tycoon Deluxe" + elog "(windows or DOS) to ~/.openttd/data/ or" + elog "${GAMES_DATADIR}/${PN}/data/." + elog + elog "From the WINDOWS version you need: " + elog "sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf" + elog "OR from the DOS version you need: " + elog "SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF" + elog + elog "File names are case sensitive, but should work either with" + elog "all upper or all lower case names" + elog + elog "In addition, in-game music will be unavailable: for music," + elog "install games-misc/openmsx, or use the in-game download" + elog "functionality to get a music set" + elog + fi + fi +} + +pkg_postrm() { + gnome2_icon_cache_update +} -- cgit v1.2.3